Archived

This topic is now archived and is closed to further replies.

Detachable body parts

This topic is 5514 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I use skinned mesh with bones system for my character. How do you make your character detach his body part, do you make your own part of his body into a single mesh ? And then render the part when the player detach it (for example when someone slice his hand) instead of the skinned mesh ?? Can somebody give me a good idea where to start ?

Share this post


Link to post
Share on other sites
Usually, you can make places where you can cut your model, like at the wrist, elbow, etc. Model both a whole limb and a stump(after the limb get chopped). Only draw the limb until it gets chopped off, then load the hand as a seprate model, and display the stump and not the hand....

That way you cover not only your model, but also the bloody stump thats left after the arm is cut off...

I think this is how rune does it, but I''m not sure...you cannot quote me on it :-D


Share this post


Link to post
Share on other sites
Good trick for single mesh characters with bones systems:

Make a separate mesh for the body part to be "detached". At the time, create this part mesh at the position and give it whatever physics you want. To make the original mesh go away, set the scale of that root bone to 0,0,0 and that will shrink that part and all the children down to nothing.

Share this post


Link to post
Share on other sites
quote:
Original post by JeffLander
Good trick for single mesh characters with bones systems:

Make a separate mesh for the body part to be "detached". At the time, create this part mesh at the position and give it whatever physics you want. To make the original mesh go away, set the scale of that root bone to 0,0,0 and that will shrink that part and all the children down to nothing.


That's pretty neat, I never thought of that. It could actually be used for more than just detachable parts. However, if you use that trick too often, you'll end up with lots of hidden faces that will still be processed by the renderer, even if not visible (though quickly rejected). Perhaps include some form of geometry culling, for early rejection based on the bone's matrix ?


[edited by - Yann L on November 12, 2002 8:24:16 AM]

Share this post


Link to post
Share on other sites
In my own designs I was thinking about just putting a flag on the joint that tells the renderer whether or not to continue rendering down that joint.

Another value would tell the renderer which joint to START rendering, possibly with a configurable offset for the first joint drawn.

That way, it would cover losing a limb, and the limb falling away (a second mesh told to start rendering at the shoulder)would be represented with an accurate center of rotation.

This wouldn''t cover the implementation of a bloody stump, however.

Share this post


Link to post
Share on other sites
quote:
Original post by Waverider
In my own designs I was thinking about just putting a flag on the joint that tells the renderer whether or not to continue rendering down that joint.


This won''t work on an optimized hardware accelerated implementation. You don''t walk down the hierarchy anymore (well, yes you do, but only concatenating matrices). The whole mesh is rendered independently of the hierarchy, so you can''t simply stop at a specific joint. Typically, the mesh is clustered into subobjects according to the required vertex program state changes (max. number of influencing weights), to optimize rendering performance. If you want to flag parts of your body, then you''d need to include that as additional separation. That''s no major problem, but it might decrease performance, if you have lots of detachable parts on your body.

Share this post


Link to post
Share on other sites