PDA

View Full Version : Bone Repositioning--HELP!



nickej
05-20-2005, 10:47 AM
As some of you may know, I've been working on a complex, multi-legged creature model with a pretty hairy IK and otherwise setup. I had to go back in to the base model and do a little surgery and repositioning of the model and skelegons. Unfortunately, when the setup scene loads now, the bones are in the same positions as they were formerly (ie, now they aren't in the geometry). Is there any way to reposition the bones so that they lie within the geometry without having to redo the whole scene? I've tried deactivating IK, deactivating all bones, moving them, then reactivating, but unfortunately, all that does is have the geometry snap to the same relative distance as it was to start out--I need to reset the basic starting positions of the bones and the geometry.

kjl
05-20-2005, 07:07 PM
Yeah, I was just doing this the other day, and while I found a solution, I don't know if it's the best, but maybe it will help you out. I didn't have IK hooked up so I don't know what extra finagling you'll have to do to make sure that works.

The bones are in the same place because the bones aren't defined in the model - you converted them from skelegons, and the skelegons are the things you moved. So you have to select your object or skelegon layer again and do convert skelegons again. This will unfortunately double up all your bones (instead of replacing BodyBone it will make BodyBone(2) and rename the other one to BodyBone(1), etc.).

What I did then was simply expand both copies of the bone heirarchies and, for the bones I had changed, replace the (1) copy with the (2) copy. e.g. if all I did was change the left arm bones I'd drag LUpperArm(2) under LShoulder(1) (right next to LUpperArm(1)), and then LHand(1) under LLowerArm(2). Then I'd delete all the extra bone copies (Body(2) and all descendants, LUpperArm(1) and all descendants, and LHand(2) and all descendants).

I'm sure somebody out there has a better solution, but in case nobody else responds, this way is a pain, but works at least ;) The easy way to tell if you've taken care of everything OK is to scan for any bones ending in (1) or (2) - if you see one it means you have a duplicate. And if you've done any bone-weighting changes in Layout (e.g. changing "use weight map only" or "multiply by rest length" or whatever) you have to redo those.

Dodgy
05-20-2005, 07:47 PM
You need UpdateBones, which I wrote for this very purpose....

http://vbulletin.newtek.com/showpost.php?p=234653&postcount=30

This takes your moved skelegons and applies their position/rotation/scale to your old bones (as well as adding in any new bones and deleting any old bones which aren't in the new skelegon structure if you so desire)

I always found working with skelegons easier than faffin with the bone tools, so i wrote this to give me this power.

nickej
05-20-2005, 10:05 PM
Thanks for the suggestions, folks! Unfortunately, the laborious, time-wasting one seems to be the only way out for me. The bones are nested in 11 separate objects and achieve all their motion from a cyclist routine and various expressions applied to them. I think the way to do it is to open the setup scene, load the new geometry, activate the skelegons to bones and manually cut and paste all the graphs and expressions. Luckily, if I don't move anything, the null setups can be left alone and will "automatically" apply themselves to the new geometry. What a pain.

kjl
05-20-2005, 11:30 PM
You need UpdateBones, which I wrote for this very purpose....

Wow, rockin - I would have been much happier if I'd had this last night.

I hope I never have to use this plugin, but I'll let you know if I do ;)

nickej
05-20-2005, 11:51 PM
I just realized that I neglected to post thanks for the wonderful plugin, as well. It's really cool and I can already picture a few dozen uses for it.