Home Technical Talk

@#$%@*#$ bone hierarchy

polycounter lvl 18
Offline / Send Message
apocalypse polycounter lvl 18
Hey guys,

I was wondering if anyone knows of any Max tricks to sort out a problem that keeps haunting me. I can't explain why I keep doing this but:

I rigged and animated my mesh, then realised that I haven't attached the bones to a root bone. Which the engine requires) When I assign the bones to the root bone after it has been animated, it screws up the animation. I'm assuming that the bones take on the root bone's rotation/position values.

I think I'm going to have to reanimate or adjust each bone's XYZ values manually. Is there some cool trick to assign the bones to the root without screwing my animation?


Thanks in advance

Replies

  • Mark Dygert
    Options
    Offline / Send Message
    3dsmax isn't a big fan of multi branching bone trees or re-linking bones after they've been animated. Mix the two and you're pretty much guaranteed a distaster. BUT dummies are pretty good at straining out those weird bone linking issues.

    In general any time you have a multi-branching tree you want to link the chains to dummies and link the dummies to the root node, that is if your exporter and engine can handle the dummies correctly.

    If you can use them try 1-2 if not cross your fingers and try 3.

    1) Easiest approach best shot at working:
    - Replace your root bone with a dummy.

    2) If you must have a root bone try:
    - Create a dummy, snap it to the root of the bone chain (shift-a, click bone).
    - Link the existing bone chain to the dummy.
    - Link the dummy to the root.

    If you have more then one chain of bones that need to be linked, you can try just one dummy and link all the bone chains to it, but you'll probably want one dummy for each chain.

    There's no predicting how the engine or the exporter will interpret the dummies, probably as extra bones, so if that's an issue your stuck re rigging and animating, I think... unless... this works...

    3) If dummies are not an option:
    - Select all your bones, save your your animation, File > Save Animation.
    - Delete all the keys, re-link your bones to the root.
    - Test your rig, see if the bones rotate oddly. (3ds isn't fond of multi branching bones
    - Load the animation, cross your fingers and hope it works.

    3a) Try FBX. Why not everything else failed:
    - Try exporting to FBX, it has the capacity to export animation and mesh data.
    - Re-import it and it should rebuild the rig using bones when it does.
    I THINK it will turn the dummies into bones and preserve all the animation. Then you can export that new, funky looking, all bone rig and see how it preforms.
  • apocalypse
    Options
    Offline / Send Message
    apocalypse polycounter lvl 18
    Thanks for the advice, Vig. I actually rigged my mesh using dummies. I know I said bones before, sorry I just call them that. Anything I add to the skin modifier becomes a bone to me :).

    After speaking to the animators here, and taking on your advice. The engine had a problem with the rig one way or another. I needed an optimised rig so extra bones wasn't an option.
    In the end, I just bit the bullet and reanimated it.

    Prevention is better than a cure, they say. So I just have to check the hierarchy and also, Reset Xforms before animating.

    It would be nice if one day Max were more versatile when it came to additional bones and/or changing the hierarchy.

    Cheers mate!
  • Mark Dygert
    Options
    Offline / Send Message
    I totally agree. Vigorous rig testing before animating helps a lot, but it would be infinitely more awesome if 3dsmax handled such things in a not so linear way.
    Looking at you skin modifier...
  • Jason Young
    Options
    Offline / Send Message
    Jason Young polycounter lvl 14
    You could have tried linking/constraining your new skeleton to the old one and baking as well.
Sign In or Register to comment.