Game Development Community

Multiple dts sharing skeleton?

by Thak · in Artist Corner · 06/21/2006 (1:45 pm) · 21 replies

Hey All,

I've been looking and cant find an answer to my query. I am no programmer but I would still welcome any coding info in this thread if applicable.

So heres the predicament:

I would want to have a Human Model with interchangable heads.
I would not want to use mountnodes. Neither do I want to create a dts with hidden meshes that can be turned on and off.

What I would like to have is :
1 skeleton with the animations.
1 Body Mesh (1dts) that is animated by the skeleton
and a couple of head meshes(each a separate dts) that also share the same skeleton and animations.

Is this possible? Or rather how if not in the out-of-the-box-TGE?

Thanks and regards

Mark
Page «Previous 1 2
#1
06/21/2006 (1:57 pm)
Why would you not want to use mount nodes? That seems like the easiest way of having different heads, besides just changing the skins.
#2
06/21/2006 (2:10 pm)
Heya Scott,

Ah yes... I would run out of mountnodes fast....
I just thought I use the head as the example. I want to have arms, legs, feet, hands exchangable too. Then Weapons in the hands and shoulderpads, maybe scabbards for weapons on each hip.... So I ran out of nodes concepting this. 8 mountnodes max I believe. Unless the coders can pass that by, tho I have heard that too many mount nodes generate too much overhead. Then again, exchangable meshes might as well.

So lets reformulate a bit...
What would be the best solution if you want to have exceptional customizabilty of your characters. Lets assume about 16-20 parts make up the final model.
#3
06/22/2006 (5:59 am)
How different are these parts physically? Are their shapes so different that it warrants them being modeled seperately or could a simple texture change suffice?

For instance, in the project I'm working on we have everything from Army soldiers to firemen to cops to civilians. I treat each of them as their own category and so there's a base model for each of them. Then I change textures for any part of the body needed to vary them, as well as mount accessories such as hats, holsters, backpacks, etc.

You can increase the number of mount points in code, as for if it generates more overhead I haven't noticed. I upped mine to 32 as we have a lot of accessory possibilities.

This resource allows you to use mutiple skins on a single dts, its extremely useful for this sort of thing.
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=7154

This resource allows you to increase the mask bits.
www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=6723

If you went the route of mounting all your different pieces to the skeleton to create the model you would probably have to break the pieces up quite a bit. Since you can't mount to multiple points you'd have to break it down to lfoot, rfoot, lcalf, rcalf, lthigh, rthigh, pelvis, torso, lhand, rhand, lforearm, rforearm, lbicep, rbicep, shoulders maybe, neck maybe, and head. That brings you to at least 15 pieces without accessories.
#4
06/22/2006 (7:52 am)
Are you guys sure you can use mountNodes for all this? Remember, for a arm or torso, you need to be able to bend it (like you do with bones) and that's not possible with mounts.
#5
06/22/2006 (8:05 am)
@Mark - i'm also interested in exactly this method: combining multiple .dts files into a single player object on the fly. Please post if you discover anything; i'll do the same.

However,
for 16-20 parts, i think the multiple-meshes-with-only-one-visible-at-a-time method will probably work fine.

Our current female model uses this technique with about 58 different meshes spread over about 6 categories (torso, legs, hair, etc), and it's been working great.

It's sort of a pain for the artists, but they're living with it.
#6
06/22/2006 (8:15 am)
That's why I suggested you'd have break the pieces up more. The pieces should stay with the bone if mounted correctly, if not the mount points could always be animated as well. I'm not sure how it would look though. There'd be no way to take advantage of deformations and skin weights this way and probably would end up not looking very organic.

That's why I suggested the other way first.
#7
06/22/2006 (9:10 am)
@Orion Elenzil

you using the hide mesh resorce? Im having a hard time figuring out how to treat skirts and shirts.

I think i will be going with a combo of Nodes, and Hide mesh.
#8
06/22/2006 (9:13 am)
@Scott - Thanks for the Links. Looking good I am sure we will implement some of this. Especially skin overlays as that increases the customizability even more.

Yes quite a few armors, clothes (robes esp.) cannot be done via texturing. So I am looking for a solution that is aestethic and not too processor intensive.

@Orion - Aye 16-20 are just the parts that make up 1 model. If we want 10 diffrent versions thats 160 meshes. *grins* 10 arms , 10 heads, etc. Nice Looking stuff on that link btw. thx.

Idea:
One thing I dont feel comfortable with by using all nodes is that, as you mentioned Scott and Stefan, there are no bendable joints. :( I made quick sketch. Fig 1 is all nodes on bones and then upperarm, lower arm, hand mounted on the node. This seems to be the easiest route to take but its not fully satisfactory. The models will look "segmented"which is not the most appealing.
www.spellcraft.biz/por/arm01.jpgNow Fig 2 is upper and lower arm as one mesh on the bones and the hand as a separate mesh on the bonestructure (so two dts). Fig 3 is the combination. Using a node for additional details. I could then exchange the Hand-mesh for a Glovemesh, or the arm-mesh for an armoured-mesh which will inherit the bends of the skeleton. And then on top I could mount a bracer for instance. This would be the sweetest solution.

Some more thoughts:
If I would do one full bodymesh and then on top place the armors on the diffrent nodes, I would basically double the facecount I think. The Body's faces dont get culled by the armors over them, you'd need a rendering code to do the culling, and again I heard thats a tuff cracker codingwise.

Again thanks for the input guys and keep it coming I hope to get some more ideas and angles on things in this thread.

Also about the original question: Can I have multiple dts on one bonestructure? I assume the Answer is a "no"? Or is it just awfully complicated?

Regards

Mark
#9
06/22/2006 (9:17 am)
@Allyn - That seems also a good solution especially if the dts merging is impossible. Then we could have bends and nodes. Tho the customizability will be reduced a bit.
#10
06/22/2006 (9:24 am)
Nodes are great for any shape that:

* Has one mount point or point of atachment
* Does not need to be deformed but the underlying shape( the mounted object CAN have its own animations mind you)
* You need to mount other objects to the mounted objects.

What its not good for:

* things that need to match or be apart of the underlying object (AKA a skiry, or long sleave shirt)
* anything that needs to bend lol... really thats about it.

You can animate the noeds.

What i want to do is, or what i am thinking of doing is, Using nodes for things like, bags, hats, tails (they have there own "ambient" animation) shoes .

What i will use the hide mesh for is : Skirts, shirts , Hair, most things that require a Deform of some sort that needs to match.

Pros of the mountings in the long run: Its easey to update, and add to, just make sure the nodes line up.

Cons of the hide mesh, A nightmare to update or add to as every object you wish to have attached in this way (for reasions above) must be animated with everything in place. (Im still playing with that pipeline.

So, may be complcated, but hay.... it will work.

I just realy wish that nodes would allow the mounted shap the ability to share wightmaps and bones, im not even shure why it dosnt.
#11
06/22/2006 (9:24 am)
@Allyn - yes, i am.

@Mark - i agree with you, you want your character's joints to be skinned. segmented character bodies look bad.

I actually talked with some GG folks several months ago about merging mutliple DTSs into a single player object during runtime, and the consensus seemed to be that it'd be a pretty thorny task.

Regarding culling, if you do manage to get a hiding-meshes or combining-DTSs approach working, what we did is for meshes like the one on the far right in your drawing (nice drawing, btw), the polygons for the arm under the bracers (that's a bracer, right?) are simply deleted by the artist.

I think Allyn's combo idea is probably your best bet.

Somewhere there's a resource for dynamically scaling bones during runtime, which i don't know if it's totally applicable to your situation but might be another option for simplifying the number of combinations you need to create.
#12
06/22/2006 (9:27 am)
Can I have multiple dts on one bonestructure?

Yes, the ammount one node can have attached to it is..unlimmited.

you cant have the same object twice however.

Keep in mind, you can only ever have 8 objects attached to one object, (objects or Images).

BUT! you can mount an object, and mount another to that object (8 and another 8)
#13
06/22/2006 (9:37 am)
@Orion - Yep simple bracer, armguard whatever. *nods*
If I use a full body mesh with bones and mount a bracer on the node, I cant delete the polys under it in the bodymesh tho.

@Allyn - the bonestructure I mean th skeleton not the nodes, I think theres the one problem. As Orion stated, a "pretty thorny task"
But I am intrigued by your other statements. Are you saying I could atach an object to a node. Lets say Bracer again. Then the bracer has his own mountnodes and I could attach Spikes to the bracer? Or to spin it further could I attach a hand to the node, a glove to the hand, a spike to the glove and so on. Well like stacking things as each element gives me another possible 8 nodes?
#14
06/22/2006 (9:38 am)
In theroy, yes.
#15
06/22/2006 (9:39 am)
Quote:If I use a full body mesh with bones and mount a bracer on the node, I cant delete the polys under it in the bodymesh tho.
roger that. - i'm still urging the mesh-hiding method. ;)
#16
06/22/2006 (9:40 am)
Oh and yep Orion we have that scaling option implemented. And its just another extra to altering appearance. We are aiming for exceptionally high customizability. Textures, Layers, Meshes and scaling. But its bloody tough.
#17
06/22/2006 (9:45 am)
*nods* Duly noted. Combo Hidingmesh and nodes, textures, layers and scaling sounds already pretty spicy.

Further input welcome.

Oh does anyone have hard facts how much processor power is generated by each method. Lets say I have a model with 100 meshes, for hiding unhiding. Thats about 10k polygons. They are not all rendered at the same time but they are still "there" kinda... whats the impact on slowing things down.
Picture 30 Player characters onscreen at the same time with those models.
#18
06/22/2006 (9:54 am)
Meshes which are not visible seem to have no performance hit. w00t !
#19
06/22/2006 (10:08 am)
Really? Cool. But do they not go into memory somewhere, since well they're part of one dts. So the whole bytesize of the dts goes into Ram or something or other? Ummm... I'm no techie tho
#20
06/22/2006 (10:16 am)
Well yes, they use memory, of course. But that's going to happen with any method you use.
Page «Previous 1 2