So I have been playing around with head and body meshes of late. Modified heads of various sorts seem to work well, my lack of ability in rigging notwithstanding. However, I am having some issues with body meshes.
I thought I'd try to fix some of the UV maps on certain bodies, and along the way try and eliminate the broken mesh smoothing along UV island boundaries. I thought the best way to achieve this would be to merge the multi-mesh vanilla bodies into a single mesh, and then unwrap them in such a way as to minimise (visible) seams. I started with the TSL Twi'lek female body, as it has a lot of bare skin and noticeable seams. Here's the new unwrap, with one of the assassin textures remapped to it for testing purposes:
So with that done, I loaded the original into NWMax, added in the new mesh, skinned it, deleted the original meshes, exported, and compiled with MDLOps using the reference Super Model. Same process as for heads, but without the hex patching. That all went as expected, yet when I loaded up the game to test it, I got this:
The body mesh was wildly distorted. I don't have a pic of it, but when testing in the Onderon cantina, bits of mesh from the dancers reached out into the next room. After that I did a bunch of re-exporting/recompiling to make sure I hadn't made any mistakes, but the result was always the same. I also tried some other models, like Kreia's robes, and again got the same result. To make sure it wasn't an issue with the actual process itself, I tested freshly decompiling the original Twi'lek body, bringing it into NWMax, exporting it with the meshes untouched, then recompiling, and that worked fine when loaded in the game (even though a hex comparison showed marked differences between the newly compiled and original MDLs).
Following that I tried an experiment. I took the single body mesh and sliced it back up into multiple arms/legs/torso meshes before exporting. This still resulted in distortion, but interestingly somewhat different/less extreme. I call this The Attack of the Killer Preying Mantid Women:
So, has anyone got any ideas what is going on here? The skin weighting seems fine. The new mesh was Skin Wrapped from the original meshes, so the vertex weights should be identical seeing as the vert positions in the new mesh are identical aside from merging those along former seam lines. It's just the original meshes joined into a single mesh and given a new UV map. The mesh animates perfectly in Max when bringing in animation from the Super Model, with no wild distortion or mesh explosion. Is there some trick or secret of the export/compiling process I am missing?
EDIT: I did another test, this time with HK-47. I did a quick and dirty low res mockup of his various parts. HK is kind of an odd customer though, as his AuroraTrimeshes, i.e. what pass for bones in the Aurora/Odyssey engine, are set to render, so what you see in-game is actually his rig. I created one mesh per AuroraTrimesh, skinned each at a weighting of 1.0 per vert for whichever Trimesh they were assigned to, and turned off the render option for the Trimeshes. Exported, compiled, and it works just fine in the game:
So I figured maybe that is an anomaly because of the whole 1 mesh per bone thing. I then tried another experiment, merging all the meshes into a single mesh, importing that in, Skin Wrapping to the old set of multi-meshes, deleting those, re-exporting, recompiling. Loaded up the game and, to my surprise, HK was standing there, seemingly fine. Took him for a run outside and I noticed an issue with his left toe. Figured I must have left it out of the Skin Wrap so I re-exported it, but the issue persisted, seemingly a lesser version of the Twi'lek distortion:
So it seems to be the same problem with single meshes that the Twi'lek body experienced, albeit in a relatively less dramatic way in this instance. In some ways though the variability in severity of the symptoms makes it worse. Doesn't make a whole lot of sense to me.