Author Topic: Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?  (Read 2248 times)

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #45 on: January 18, 2012, 08:49:52 pm »


               @OldMansBeard & Lord Sullivan - Thank you both for the good ideas!  Sorry for the lack of response to your suggestions but I don't have one yet.  If I do it this way, I have this problem.  If I do it that way I have that problem.  I'm starting to think I've clevered myself into a corner.  I will likely turn the tables and start doing full-body NPC conversions and then work from there to see what customizability I can eek out from there.  It doesn't address all the issues but maybe someone will make progress using monster nodes for player customizability.  That would at least help.  Again, thank you both for the suggestions- esp. about the neck skinning, OMB.

@Sylrae -Two things: Modifying the animations to get them to work with my modeling (in this case, anyway) is one of the "red lines" I didn't want to cross from the beginning.  The other thing is that I don't know if an issue like that could be addressed with creative animrooting.  I don't have the skills and experience in that yet to know if I can do it right.  I'll eventually wind up trying something like that (the animrooting) again in the future, I'm sure.
               
               

               


                     Modifié par OldTimeRadio, 18 janvier 2012 - 08:57 .
                     
                  


            

Legacy_Sylrae

  • Jr. Member
  • **
  • Posts: 62
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #46 on: January 23, 2012, 03:49:47 pm »


               "is one of the "red lines" I didn't want to cross from the beginning."

I gathered that. I was wondering why you were drawing that line at all; as opposed to making a new skin mesh and either editing the animation or making a new animation to suit your purposes.

Creative animrooting might solve your problem, but changing the animation sounds a lot more straightforward.

I guess I dont understand why you're imposing what seem to be arbitrary limits on yourself to force yourself into doing it in what seems to be a more complex, convoluted way.
               
               

               


                     Modifié par Sylrae, 23 janvier 2012 - 03:51 .
                     
                  


            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #47 on: January 23, 2012, 08:34:12 pm »


               

I was wondering why you were drawing that line at all; as opposed to making a new skin mesh...

It might come to that.  I thought I would do some experiments doing full body conversions but I haven't gotten around to it yet, still seeing if I can conjure up a solution for multipart models that works well.

...and either editing the animation or making a new animation to suit your purposes.

The animations we're talking about here are a_ba, a_ba_non_combat, a_ba_med_weap, etc. Those are the player animations.  Megabytes of them.  A lot of models supermodel into them.  The time it would take aside, modifying that supermodel chain would impact all the other models which use them, so that's out.  Duplicating the supermodel animation chain and modifying it would still burden users with all those megabytes of new animations..an entire duplication of the supermodel chain...just for tiny changes.

I just think there's a better solution out there.  And hey, maybe there isn't.  Sort of in the vein of OldMansBeard's idea, I'm trying to structure my sample pmh0_neck001.mdl into something like how a cloak is done, where a skin and proxy bones are supermodeled into (something) and the proxy bones take on the animation that they're supermodeled into.  It actually works...sort of.  More of a party mask + flying fez combo at the moment.

I guess I dont understand why you're imposing what seem to be arbitrary limits on yourself to force yourself into doing it in what seems to be a more complex, convoluted way.

Just seems like a waste of resources.  I'd rather change what I'm doing than change big chunks of NWN to get it to work.  Plus it would be a heck of a lot more work just to move forward on one point in an already complex process:
'Posted
I have 3 skin meshes: Body, Face & Hair.  Give me some explicit instructions about exactly how those could be implemented and still retain their PLT's and I guarantee I'll listen.  The problem is most of the "easy" answers I've come across aren't so easy when you actually implement them, causing a problem that has to be worked around.
               
               

               


                     Modifié par OldTimeRadio, 23 janvier 2012 - 08:34 .
                     
                  


            

Legacy_Sylrae

  • Jr. Member
  • **
  • Posts: 62
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #48 on: January 23, 2012, 10:15:30 pm »


               Hmm. Alright.

I would think if you're going to change how "humanoid" graphics work, you'd be changing all of them, not just some of them, so the fact that other models would be affected by your animation changes would be okay.

I guess if you want to do a small change as opposed to having an overhaul of all the players and NPCs that use the same animations as the players, you have different design goals.

I'd suggest making the hair a separate mesh, so that would cover that PLT.

I suppose the tricky part would be having different faces.

The customizable Kobolds I mentioned might provide ideas.
               
               

               
            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #49 on: January 23, 2012, 11:06:04 pm »


               

Sylrae wrote...
I would think if you're going to change how "humanoid" graphics work, you'd be changing all of them, not just some of them, so the fact that other models would be affected by your animation changes would be okay.

Oh!  Just to be abundantly clear, none of this would affect current models, content or anything like that at all.  I only keep referring to pmh0.mdl , pmh0_neck001.mdl, etc. because I'm too lazy in my experiments to use a different phenotype.  When I talk about compatibility, I'm merely talking about this system taking advantage of existing systems, not overwriting them.

If this comes to fruition it would wind up as one or more new phenotypes.
               
               

               


                     Modifié par OldTimeRadio, 23 janvier 2012 - 11:07 .
                     
                  


            

Legacy_Sylrae

  • Jr. Member
  • **
  • Posts: 62
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #50 on: January 24, 2012, 03:17:02 am »


               Ah! that very much explains what seemed to be a weird design goal. I thought you were intending to replace the way things work now with a new way.

For the record, I think that changing the default models+animations is a good idea.
               
               

               


                     Modifié par Sylrae, 24 janvier 2012 - 03:17 .
                     
                  


            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #51 on: February 10, 2012, 09:23:13 pm »


               Well, not looking so good to use tails and possibly wings for anything which is expected to properly play supermodeled player animations.  I'm at a bit of a loss here because I speciously assumed that robes/wings/tails/cloaks were basically the same thing.  Since my last post I had added faces as a wing, using the same skeletal setup that my tails used and which would be familiar to anyone who's ever looked at a robe model in Max.

The problem was, once I started testing these guys I noticed while the bulk of animations worked there seemed to be some big issues with how the supermodeled animations played- or didn't play, which was the problem.

I tried and tried to fix what I thought was a modeling/skeletal issue on my end but a very careful re-reading of the old "facelifting nwn" threads in the Omnibus indicated that I'd fallen into the same pit that Corporate Dog had when trying to animate his player mouths.  Which can be summarized as: While you'd expect that robes/wings/tails/cloaks all work the same when it comes to playing back supermodeled animations, they don't  Wings and tails don't play all supermodeled player animations back properly.   AFAIK robes are the gold standard, probably cloaks too, playing back all the player animations properly.  However, when a tail is supermodeled into the a_ba supermodel chain, here are some of the problems you're going to run into:

* Torches, weapon-draw or other non-base animrooted (presumably) animations don't play back properly

* Head look does not work

* Many emotes do not work

* After performing a nod or some other animations, it's possible for both tail and player models to go out of sync with each other which...is very bad, to say the least.  If you set up a simple test with, say, Maugrim (tail 189, supermodeled into a_ba) in these tests as the player's arm swinging forward during a pause animation while the tail's arm swings backward.

And wings seem to have the same issues as tails, including going out of sync with the tail model's animations.

I also tested these situations while being mounted on the horse models and I didn't see anything which made me believe the issue had been conquered in some way.  Since the horse isn't meant to mimic the rider's movements like a skin mesh skeleton supermodeled into a_ba, about the best I could do was confirm there seemed to be no independent animations of the horse (outside of the pause* animations) when I tested the bullet-pointed situations above.

So there appears to be something fundamentally different with the nature of how wings and tails are done versus how cloaks and robes are, when it comes to supermodeled animations.  How to get around this?  Well, baking animations onto tails and wings might address the issue but there's obviously something sketchy about them when some model events are playing through wings/tails to their supermodels and some aren't.

The cruddy part of all of this, LOL, is that both cloaks and robes, which appear to be the only viable target for a project like this are Kinda Nice The Way They Areâ„¢ and I don't particularly want to go chopping at them, even if the work wouldn't affect other existing phenotypes.

Another one of those "My god, this idea is awesome!...Why hasn't anyone done this- this is a freaking slam dunk!" ideas.  Oh well, time to fall back to something a little less amibtious.  Being able to see the same problematic issues using a default tail (Maugrim) supermodeled into a_ba helped immensely.

So where to next?  I don't know.  Despite being a little ticked off that wings and tails didn't come through for me on this, I'm maybe more in love with the concept than when I started.  I didn't realize it, but there's already a prototype using robes that LeAdderNoir uploaded to the Vault, though I don't know how much of what's in the screenshot below is in the package.
'Image

And here's some artwork from Ashtefere giving some basic idea of the variety that model parts (in red) would give, overlaying a base skin mesh.

'Image

It is hard to look at those two images and think "Naaaah!  Not worth it!"  I am getting a little burnt, though, so I'm not sure exactly what or how much I'm going to pursue it in the near future.  I loaded a full body skin mesh from another game into Max and made it a regular creature appearance.  When I changed to that appearance, of course, everything worked perfectly including head look.  But, LOL, no dynamic armor and (to a lesser extent) no PLT.  What a tease.

Back to the drawing board...
               
               

               
            

Legacy_OldMansBeard

  • Full Member
  • ***
  • Posts: 245
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #52 on: February 11, 2012, 09:59:55 am »


               *OMB nods*

I think you're right - only some of the animations link through to wings and tails so even if you define animations in the model itself they still don't fire. I suppose they are assumed to just go on flapping and swishing while the body does its own thing.

I think head-turning works if you re-parent wings to head_g so you could maybe still use wings for faces that way but it would be nice to be able to animate expressions. Do custom animations link through to wings? I haven't tried that.

Plodding on with my robes, I'm worrying about kilt bones currently.

OMB
               
               

               
            

Legacy_Sylrae

  • Jr. Member
  • **
  • Posts: 62
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #53 on: February 17, 2012, 05:21:20 am »


               Interesting stuff.

I maintain my stance that a replacement graphic that uses its own animations is a valid approach, though it would mean ditching the models that already exist, and potentially modified or totally custom animations.
               
               

               
            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #54 on: February 26, 2012, 04:40:35 am »


               Oh, now that's interesting....

IMPORTANT NOTE:

There is an issue with the NWN1 animation system that can cause animations to disappear or be played back incorrectly for certain nodes. This can make the cloaks either freeze like a stiff board or use the wrong animations. This issue is engine-level and cannot be fixed without Bioware intervention. However, there IS a workaround. You MUST make sure that your "cloak_g" node is defined BEFORE the "wing" and "impact" nodes. In fact, all animated nodes should be the first 4 children of the "torso_g" node. These will be "neck_g", "lbicep_g", "rbicep_g" and "cloak_g". You can use the "Order Children" tool in NWMax to adjust the order the child nodes are defined. NWMax will use this to determine exactly how the .mdl file will be written upon export.


               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #55 on: February 26, 2012, 07:17:00 pm »


               <connecting a couple dots...>

OldTimeRadio wrote...

Oh, now that's interesting....

IMPORTANT NOTE:
...
You MUST make sure that your "cloak_g" node is defined BEFORE the "wing" and "impact" nodes. In fact, all animated nodes should be the first 4 children of the "torso_g" node. These will be "neck_g", "lbicep_g", "rbicep_g" and "cloak_g". You can use the "Order Children" tool in NWMax to adjust the order the child nodes are defined. NWMax will use this to determine exactly how the .mdl file will be written upon export.

Like the skinmesh being before the bones and animations on tiles being linked to an animation dummy and...

Rob Bartel on Tileset Construction...
Emitters and Tiles
Also, I have added an emitter to tile TTE01_A04_01. This emitter box is linked directly to the AuraBase, and is therefore counted as a static object. This does not mean that the emitter will not work; it only means that any animation keys will not play. In order to make the emitter part of the dynamic geometry, link it to the animation
node (as above) and then keys will be recognized according to the animations played

I wonder if our problems with tails animating correctly (and I've been following this discussion *closely*) can be... massaged a little by moving things around?

<...in his spotty little mind>
               
               

               


                     Modifié par Rolo Kipp, 26 février 2012 - 07:18 .
                     
                  


            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #56 on: March 04, 2012, 10:58:26 pm »


               Well a week ago that was my hope, heh heh!

Tried a few tests since then.  I couldn't achieve any difference in behavior by moving the hierarchy around, either in sensible or nonsensical ways.  I then changed approaches, using one of the Lizardfolk appearances (which comes with tail nodes) and seeing if there might be a difference between player models and creature models on that point.  Doesn't appear to be.  After that I turned back to player models, using c_antoine, which is nice because he's got a greeting animation built in.  I applied c_antoine as a wing, tail and a VFX (applied to any of the nodes he can be), he does not play his greet animation when I do.  Fiddled around with "OrientToGround" column, "just in case".  Nothing.

So looking at both situations, my player with Maugrim or Antoine as a tail, wing, VFX (Antoine at least has player-named anims) and the lizardfolk with lizardfolk tail, I'm not seeing a way to get those specific animations to play through a tail/wing/VFX.

As a sort of twisted bonus test, I modified capart.2da and pointed the right hand to spawn at the "root", same as the robe entry in that 2da.  Right hand went missing and I couldn't figure out where it went- should have been between the feet if my guess was right.  So I couldn't get far on that one but it's still possibly something to look into.

There's always the possibility that I performed or set up a test incorrectly, etc.  I also didn't adjust the animroot of those animations to the base and I mention that because it's likely that if some finagling gets the animations to play, that would probably be it.

I likely won't pursue that course, though.  One big example is the torch holding animation.  Changing the animrooting on that would seem like a really quick way of borking things.

I suppose if one wasn't constrained by the way the current player animations are set up these things would not have as big an impact.

From what I've read (not tested yet), there might be a lot more available models per phenotype than I originally thought. (Omnibus: "Good news regarding")  So I've shifted around a bit and am working (slowly) on a setup where I've restructured the a_ba series in such a way that body parts referenced in caparts.2da are no longer the animating joints, but are instead attached to (renamed) animating joints, vicariously.  So on a_ba, for instance, torso_g becomes torso_m and torso_g is a dummy node attached to it.  That sort of thing.

This is the "fallback", where I look at impregnating phenotypes with models using TGA/DDS textures- can't use PLT in that setup AFAIK- and then use the body nodes purely for armor/decoration while the "nude" underbody (generic chainmail or leather armor, something like that) has the armor pieces overlaid to make something that hopefully makes sense in a visual way.  Because it straddles the fence of how dynamic and non-dynamic models appear, you could also get things like current non-dynamic monster appearances being able to wear dynamic armor, though some of their internal node names may have to be changed- I haven't played much with it yet.

Anyway, if someone has contrary observations on the point of supermodeled wings/tails/VFX into player nodes, I'd love to hear/see it.
               
               

               


                     Modifié par OldTimeRadio, 06 mars 2012 - 05:05 .
                     
                  


            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #57 on: July 12, 2012, 03:59:28 pm »


                <getting his...>

I'd really like to pursue this again. 
Our goal of ingame customization of players is really crippled by not being able to 1) target specific nodes other than the head and impact and 2) not being able to layer customization. 
 
OTR, if you're feeling froggy, what do you think about setting up a player model with monster nodes located (well, only the first 3 for starters :-P):

monster0 = head
monster1 = r hand
monster2 = l hand
monster3 = r foot
monster4 = l foot
monster5 = torso
monster6 = pelvis
monster7 = belt
monster8 = r shoulder
monster9 = l shoulder

If we can bind a durable spell effect to the monster node (*and* align it, somehow :-/ ) then we could make multiple, layered accessories on your skinmesh-robe body. Example: Hands with different grips, gloves for the hands, wolverine claws for the gloves... etc.

The first blatant challenge I see is attaching a durable spell rather than a fire and forget to the monster node. The second is aligning it to the monster node orientation.

@ Virusman: Have you come across any functions relating to the monster nodes? Perhaps something we can experiment with?

<...monster on>
               
               

               
            

Legacy_OldTimeRadio

  • Hero Member
  • *****
  • Posts: 2307
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #58 on: July 12, 2012, 06:53:01 pm »


               Um, crap.  It's easy enough work but I'm going to beg off because I'm working with these files right now and I don't want to eff  with anything in my override folder at the moment.  I'm taking another crack at this for the CCC on the sly, as robes.  It's really easy to do though: Just load a PMH0 from HotU, create the dummy monster nodes you want and then align them by pivot to x, y & z to the joints you're talking about and then attach them to that joint.  Joint=body part.  I think at that point you're done.  You could just test without a modified model and then create something more complex when a method was actually found that works, too. 

Linked (or possibly ****) ProjType seems the most promising for what you're thinking of, IMO.

I'm pursuing this whole thing from the standpoint of using full robes (from the neck down) and then turning the body parts themselves into the accessories I want by setting the robes 2da so that it doesn't hide them.  Plus the obligatory head/wing hair thing, and Ippensheir-style VFX, blah blah blah.  There's an ACBONUS value attached to body parts, though, so, I mean, yeah, that could get a little weird.  I'm always down for a little weird, tho.

'<img'>

Doubt I'm going to pull off what I want to do with the robes, though.  I'm drawing elements from 4 different body meshes (Kotor, Sims 2, Sims 3 & Titan Quest) and whatever I come up with has to be UV mapped to Sims 2 textures and decent (non fists-of-doom) hands.  That's the plan, anyway.  Turning the actual NWN model into its own skin mesh is attractive technically, but it's so godawful.  I mean, maybe tesselate or something but....yeah.
               
               

               
            

Legacy_Rolo Kipp

  • Hero Member
  • *****
  • Posts: 4349
  • Karma: +0/-0
Looking for the "best" way of implementing a skin mesh on a PC. Thoughts?
« Reply #59 on: July 12, 2012, 07:01:39 pm »


               <watching the old man squirm...>

Ok, back on the back burner for now. That *is* where I want to go, pretty soon.

Glad you're doing something tricky for the CCC, though ;-)

But *I* am also doing something CCC-related... working on the TaVFX templates to make backpack, scabbards & quivers easier to build <and amulets, gorgets, mutant limbs, familiars on shoulders...>
*hangs head* Yeah, I know. Promised you TAD's raven-on-the-shoulder a *long* time ago... I'll get to it. <*raven glare*>
So it'll have to wait :-P

<...and enjoying it>
               
               

               


                     Modifié par Rolo Kipp, 12 juillet 2012 - 06:02 .