Author Topic: Robe Skinning Problem: Forearm Distortion  (Read 357 times)

Legacy_Eurgiga

  • Newbie
  • *
  • Posts: 40
  • Karma: +0/-0
Robe Skinning Problem: Forearm Distortion
« on: April 17, 2015, 11:01:45 pm »


               

I'm creating a few new robe appearances and am running into a peculiar problem: On all races aside from humans, the mesh over the forearm lengthens considerably when the arm is holding a staff or otherwise in that position. This distortion does not occur when the arm is in any other position, including holding torches. This makes for fairly severe clipping problems when a character holds a staff.


 


Here's an image of how bad this is on a dwarf. I've deliberately undersized the forearm mesh here so you can easily see just how much the mesh stretches.


lPEClwV.png


 


The forearm is exclusively skinned to the forearm bone, so I have no idea where this stretching is coming from or why it only happens on non-humans. Any help would be appreciated.



               
               

               
            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Robe Skinning Problem: Forearm Distortion
« Reply #1 on: April 18, 2015, 05:16:29 pm »


               

Some general ideas:


 


First, my off the cuff guess is...(a brief look of panic and dismay crosses OldTimeRadio's face)...an animroot issue.


 


Second, are you using envelopes for the bone weights or are you setting the vertices by hand using, for instance, the Weight Master tool in NWMax+?  Most if not all people learned to do skin mesh weighting via envelopes but this method can sometimes be inaccurate.


 


Third, and probably least-likely, the character animations were created by Bioware using a part-based paradigm and not necessarily with skin mesh in mind.  What this means is that in some animations, some bones have position keys instead of just rotation keys.  When this happens, a skin mesh will try to compensate for the new bone position and stretching will occur.  IIRC, this happens with the sit on ground animation with one of the thighs or calves.  If animroot or bone weights aren't causing this that might be what's happening.


 


If you check out all of the above and none of them pan out, zip up the minimum amount of models to reproduce this and a little text blurb about how to reliably reproduce it and shoot the mediafire link (or whatever) to my PM and I'll be happy to take a look at it.  And if you don't get a response within 48 hours, PM me again.



               
               

               
            

Legacy_kuronue bloodlust

  • Full Member
  • ***
  • Posts: 217
  • Karma: +0/-0
Robe Skinning Problem: Forearm Distortion
« Reply #2 on: April 18, 2015, 09:31:04 pm »


               

Its a framework issue, the skelital structure for NWN is a little wonkey at best. Old time radio is shareing quite the good advice here.


 


as a side not I rather like the deissgn and hope the advice you recived hellps you fix the issue.



               
               

               
            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Robe Skinning Problem: Forearm Distortion
« Reply #3 on: April 19, 2015, 11:01:48 pm »


               

I got your files and took a look.


 


Well, your weights look fine for the pieces we're discussing.


 


I reproduced what I thought you were seeing and, IMO, when we go from this to this...


KH9rJC4.pngtJIRjP8.png


 


...it's related to the animroot- I'm guessing the plpause1 animation.  Scroll down to the green text for what my best suggestion is to solve it.  From Ragnarok_MR4, on the DLA forum archive, hosted at TBOTR.net (thank you MDA!):

 



There is only ONE alternate pause animation for a character - plpause1.  This anim is hooked when the character has a melee weapon equipped that is one size category larger that the character's current size (which is defined in appearance.2da).  For medium-sized characters like humans and halforcs this would be a large melee weapon (polearm, greataxe, etc...).  For a small character such as a halfling or a gnome, this would be a medium weapon (longsword, scimitar and the like).


 


--snip--


 


Another caveat with plpause1 is that it uses a different animroot setting than most animations.  Plpause1 uses "rbicep_g" as its animroot instead of the more common "rootdummy" or modelbase object name.  This means that the animation is only applied to the rbicep_g node and all its child objects.  If you set the animroot of plpause1 to "rootdummy", it would make the animation apply to the entire model.  However, once you equip an appropriate weapon and the character goes into the plpause1 pose, IT WILL FREEZE IN PLACE!  Even walking, running or emotes will not break it out of the plpause1 pose.  AFAIK only combat, spellcasting and death will properly show in that case.



 


The above establishes what I'm talking about but doesn't solve your problem.  I can't say for certain what will solve your problem but you mentioned that the DLA robes did not suffer from this behavior so let's focus on that as an alleged "known good" case.  While your mesh is chopped and the DLA Elven robes aren't, I think a more important difference is the fact that the pivot point for your gauntlets (those are the only thing I focused on) is at 0,0 while the DLA Elven robes are...elsewhere.


 


Also from Ragnarok_MR4, this time from the Omnibus:

 



If you are working on a dynamic robe, then moving pivots may put your robe out of sync with the placement of the non-robe elements of your dynamic characters. Moreover, that sync/placement problem may get magnified when the robe is used with other races/genders due to the animscale property that NWN uses.


If your robe is for an NPC or is not meant to be used as a dynamic robe by characters other than the one you are designing it for (i.e. elven females ONLY), then you could theoretically get away with adjusting the pivot points to some degree.

Finally, if you are planning to animate the pivot point of limbs or whatnot (save for the rootdummy) in the core animation supermodels (a_ba series) then that will nearly always cause limb separation issues.



 


You should check out that thread in the Omnibus because the context in which the answer was originally given is slightly different than what we're talking about.  So, I guess the best I can suggest is if the inconsistency can be fixed, adjusting the pivot of one or more of your skin meshes will fix it.  See the DLA Elven chain robes' pivot placement.  Again, this is based on your report that the behavior did not occur with them.


 


That's all I got for addressing your actual problem.


 


As an aside, you are also working with a highish poly skin mesh robe which covers everything but belt, neck, head and hands and, in my experience, the higher poly the mesh, especially when it hides (of all ludicrous things) rfoot_g, may be more prone to out-of-sync issues than other robes.  See this thread and this thread which was spawned in the middle of it and in which Pstemarie appears to confirm the hidden rfoot_g issue as a previously-known problem.



               
               

               
            

Legacy_Eurgiga

  • Newbie
  • *
  • Posts: 40
  • Karma: +0/-0
Robe Skinning Problem: Forearm Distortion
« Reply #4 on: April 21, 2015, 07:25:45 am »


               

Turns out it was a scaling problem, the bones didn't match up to the idle animation. Redid the racial conversion with DLA's scaling numbers and everything seems much less stretchy.