Jump to content


Photo

TSL | Missing animations in head models...

head animation TSL

  • Please log in to reply
11 replies to this topic

#1 Piscencius

Piscencius

    Jedi Initiate

  • Registered
  • Pip
  • 5 posts

Posted 21 July 2017 - 12:42 AM

Hi everyone ! :D

I'm new to the TSL modding party and I just joined this forum. :P
Actually, I  tried my hand at modding on KotOR last year with a simple head retexture followed by a much tougher seamlessly implemented custom lightsaber mod (that I thought I could maybe share online). I struggled a lot with this one and Deadly Stream forums, amongst others, were of a priceless help and I 'd like to thank you all for that. This time around is no different but despite all the infos I could find on the matter, I still could not solve my problem.

 

So, right after beating KotOR for the second time last month, I decided to play through TSL too once again. So I dived head first into the creation of a main player head mod. I picked one that I liked in the TSL roster (i.e. PMHA05), extracted the model with Kotor Tool, imported it into 3ds Max, modified its geometry and corrected the skin weights to match those of the unmodified model. After that, I exported the model to test it in game, only to find out that, in the character selection screen, the modded head did not feature any facial animation. I then launched a new game to further test it, and there was indeed no facial animation playing at all.
I came back to the max file, and saw that the aurorabase modifier wasn't featuring any animations in the animations list... And I discovered that in fact none of the head models contained animations.

 

So I began my searches and came across numerous interesting threads on Deadly Streams:

 

JCarter426's one called " Ripping heads from a full body model " (http://deadlystream....ull-body-model/) in particular gave me some great insights about this problem and had me hope for a providential solution in a piece of software he calls " Head Fixer " in the thread that I've unfortunately been unable to find anywhere. This program would allow me to recover the animation back to the modded file.

I also found a thread mentioning  " Taira's Replacer " as a mean to get the animations back to the modded file. The only caveat to this method being that this utility doesn't allow for any vertex count change, however I have already been adding vertice to add resolution to the mesh and get a nicer silhouette, and I'd like to keep those modifications if possible.

Being unsuccessfully experimenting and fiddling with the NWmax plugin, MDL Ops and even hex editing, I find myself out of ideas now...
That's why I decided to go seek help directly here. So, do you guys have any thought on this ? Do you know of any way to recover the animations ? I'd be really grateful to JCarter426 or any of you guys if you could maybe give me a link to this " Head Fixer " program... 

In any case, thanks a lot for your attention ! :D



#2 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 21 July 2017 - 03:45 AM

Most non-unique models have no inherent animations of their own. They derive animations from what are known as "supermodels". The supermodel is specified in the AuroraBase. If that info is missing then the model will have no animations in-game.

Regarding your other points, Head Fixer is for correcting an inherent issue with MDLOps when compiling head models, where it doesn't correctly link to the neck bone, causing the head to float or otherwise be offset when used in-game. That's a separate issue an unrelated to animations. Tania's Replacer is effectively a GUI-based hex patcher. It's a way to side-step compiling new models by simply patching an existing model with changes to vertex position and UV co-ords. It would not be applicable in your case, as it can only work with minor alterations to an original model, not any changes that delete or add vertices/UVs. Both of these will soon be obsolete with the upcoming release of new model compiling tools.

#3 JCarter426

JCarter426

    Jedi Knight

  • M478_Staff
  • 289 posts

Posted 21 July 2017 - 01:40 PM

Head Fixer was made by VarsityPuppet. I don't know where it's hosted anymore, so you'll have to ask him if he's around. Here's the original thread on LucasForums via Archive.org, but the download no longer works.



#4 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 21 July 2017 - 01:51 PM

I don't know where it's hosted anymore


http://deadlystream....rtsl-headfixer/

#5 JCarter426

JCarter426

    Jedi Knight

  • M478_Staff
  • 289 posts

Posted 21 July 2017 - 02:06 PM

Well, you see, when you search for "Head Fixer" instead of "HeadFixer" that doesn't come up and that's why you always listen to DarthParametric instead of me.


  • bead-v , LDR and Fair Strides like this

#6 Piscencius

Piscencius

    Jedi Initiate

  • Registered
  • Pip
  • 5 posts

Posted 21 July 2017 - 09:59 PM

Haha! Thank both of you anyway for your quick replies, really appreciate it. :D

 

@ JCarter426 : Yeah, Google tricked me on that one too... I'll download HeadFixer just in case I need it in the future. Thanks a lot man!

 

@ DarthParametric : Thanks a lot for the in-depth explanations. Regarding the AuroraBase, there is indeed a slot specifying a Supermodel which is by default set at S_Female02. I tested as is, or by modifying it to S_Male01 or S_Male02 out of pure curiosity, but that (obviously) didn't work the problem out so far...

If that is the only viable solution at the moment, I could do without these extra vertice... It's not that big of a deal, all things considered. But still, I'm really curious about those new model compiling tools that you talked about. Could you expand a little bit more on those? What more will they bring regarding model compiling ? Is there a way to follow the development progress ? Thanks again.



#7 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 22 July 2017 - 04:04 AM

Regarding the AuroraBase, there is indeed a slot specifying a Supermodel which is by default set at S_Female02. I tested as is, or by modifying it to S_Male01 or S_Male02 out of pure curiosity, but that (obviously) didn't work the problem out so far...


You don't want to do that. The animations are arranged in a hierarchy of models. Pick the wrong one and you'll get the wrong animations, or miss out on certain ones altogether.

Post your ASCII model (and your Max/GMax scene file if you can) and I'll have a look at it.
 

I'm really curious about those new model compiling tools that you talked about. Could you expand a little bit more on those? What more will they bring regarding model compiling ? Is there a way to follow the development progress ?


I'm not one of the developers, so I can't make any informed statement regarding release dates beyond soon™. Regarding what they bring to the table, fixing most of the issues with MDLOps basically. For example, beyond fixing simple bugs and quirks, incorporating the functionality of Head Fixer and completely obviating the need for Replacer. There is nothing public at the moment, beyond the fruits of a few beta tester's labours, but hopefully that won't be the case for much longer.

#8 Piscencius

Piscencius

    Jedi Initiate

  • Registered
  • Pip
  • 5 posts

Posted 22 July 2017 - 12:54 PM

Yes, I figured out  swapping Supermodels was a bad idea from the get go, but I wanted to explore all the possibilities before posting here. I played a little more with the model last night and it turned out that I was actually using MDLOps incorrectly all along.

I would typically use the "Replacer" function and then hit the "Do it!" button without thinking too much about it, instead of simply using the "Read and Write" function. This misuage stemed from the process of making a custom lightsaber hilt.

The problem actually lied there, because the head model indeed recovered its facial animations in-game! Nonetheless,I observed it what slightly offsetted... hence the need for HeadFixer.

After that finding, I got a little carried away and decided to start all over with another head model (because I frankly grew bored of the PMHA05 dull looking face). So I loaded the PMHB06 model into Max, and began to work on it. After geometry editing last night, I spent a big chunk of this morning correcting the skin weights. I then decided to test it in-game and saw a monstruous creature instead of a handsome guy in the character selection screen. The mesh was distorted as if it had been pinched and pulled something like one meter above the head of my character... :c

I opened back Max and immediately saw what was causing the issue.Several bones associated to the hair cards were hovering way up above the actual head. I exported again a "clean" PMHB06 model from KTools just to make sure it was me who screwed up... but alas, in Max, there were the exact same bones at the same location.

This seems like it's a problem of another magnitude as I don't exactly know how to correct such things inside Max or even if I'm allowed to regarding the way TSL handles the head models... I'll see what I can do about it but I may be hlepless one that one. :X

Thanks for your dedication and helpfulness anyway!
 

I'm not one of the developers, so I can't make any informed statement regarding release dates beyond soon™. Regarding what they bring to the table, fixing most of the issues with MDLOps basically. For example, beyond fixing simple bugs and quirks, incorporating the functionality of Head Fixer and completely obviating the need for Replacer. There is nothing public at the moment, beyond the fruits of a few beta tester's labours, but hopefully that won't be the case for much longer.

 

Thanks for the info! Perhaps by the time I manage to sort all this out the tools will be out! :D



#9 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 22 July 2017 - 01:32 PM

Yeah the mangled head sounds like good old MDLOps at its best. Observe these Cthulhian horrors:

FU_MDLOps_TH.jpg FU_MDLOps_02_TH.jpg

Twilek_Female_In-Game_Issues_02_TH.jpg Twilek_Female_In-Game_Issues_03_TH.jpg

When that happens, decompile your new binary model, import the ASCII back into Max/GMax, re-export, recompile. Repeat a few times if necessary. Sometimes that will fix it.
  • LDR likes this

#10 Piscencius

Piscencius

    Jedi Initiate

  • Registered
  • Pip
  • 5 posts

Posted 22 July 2017 - 10:35 PM

Hhaa! Nice monster gallery you got here! :D

I tried and did as you said but that didn't solve the issue. I think this problem is tied to this particular head model skeleton. See how it appears in Max, no matter how many times I export-recompile-decompile :

 

1500762872-flyingbone-head-piscencius.pn
 

And here are other head models within Max for comparison purpose. The bones are all collected in the face, whether there are haircards or not :

1500762880-normalheadexemples-piscencius

What are your thoughts on this ?



#11 DarthParametric

DarthParametric

    Dark Lord of the Sith

  • Members
  • PipPipPipPipPip
  • 1,179 posts
  • LocationOz

Posted 23 July 2017 - 05:26 AM

It's not actually a bone, it's some of the hair trimeshes and the head skinned mesh. Their axis/pivot is up around 1.6m in the air. The problem exists in a couple of TSL heads. I'd guess they had those heads mounted on a body, but forgot to reset some of the pivots when they moved the meshes down to world zero. It exists in the vanilla binary model and is not an artefact of MDLOps (for once).

On top of that, if you look at the head's skin modifier, you'll see it has weights assigned to all sorts of ridiculous things like the mask hook and goggle hook, as well as the hair alpha trimeshes. The tongue's weights are split between one of the eye corner bones and the talkdummy. It's why NWMax classifies them as bones, because they have weights assigned. Again, this is part of the vanilla binary model. It's actually worse in the binary model, as it also has a bunch of other stuff in the bone list, like the AuroraBase itself, but I assume they must not have any weights assigned so they don't show up in the ASCII. That's some super sloppy work from Obsidian.

From memory when I was playing with some of these previously I ended up just resetting the pivots, doing a Reset X Form, and creating all new weights by skin wrapping to one of the other heads. You could also try salvaging the existing weights by reassigning them to the proper bones. For that you probably want to expose the hidden/unlisted "Select Vertices By Bone" command, which is crazy useful (and I have no idea why they hide it). Use the Customize User Interface setup to place it as a button on your toolbar (it should be listed under default actions). Then when editing envelopes (with vertices enabled) you can select a bone in the skin modifier and hit the button to select all verts weighted to that bone. But I seem to recall all those heads affected in a similar way are a complete mess, so you're probably better off just nuking it from orbit and starting from scratch.

#12 Piscencius

Piscencius

    Jedi Initiate

  • Registered
  • Pip
  • 5 posts

Posted 23 July 2017 - 07:29 PM

What a cluster! :°
When I was reassigning weights around, I indeed noticed some very weird associations like the ones you mentioned (lower teeth influencing left eyelid and cheek, must be irritating in daily life...) but I naively assumed it was supposed to be that way.  I'm going to try to work my way through this chaos, because I like challenges.  And if he game prove to really not be worth the candle, I'll fall back on the PMHA05 head. By the way, II found the Select Vertices By Bone command and bound it to a hotkey.  I think it's going to save me a precious time. :P

 

I'll get back to you with an update on my progress.  Thanks a ton for the help man!







Also tagged with one or more of these keywords: head, animation, TSL

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users