PDA

View Full Version : how to resize animated rig?



vincent1
02-05-2006, 02:18 AM
Greetings,

I decided to start making all my new models to real world sizes.

However, I have old animated rigs that are significantly smaller than the new models. So when I used "Replace with object" command in the scene editor, the new mesh is much bigger. How do I resize just the animated rig to fit the new model? I do not wish to resize the model.

They seem to be linked together and cannot be unparented. So the rig and new mesh just resizes together.

What am I missing?

SplineGod
02-05-2006, 02:59 AM
You dont want to use the scale tool to resize a rig. The same with mixing up rest length with scale...not the same things and can screw up your rig.
The tool you want to use is scale heirarchy tool under the setup tab. You can scale a whole rig or parts of a rig.
For fine tuning you want to use the tip move and joint move tools.

vincent1
02-05-2006, 03:13 AM
Hi Larry, thanks for the pointer. How do I scale it at once across all keyframes? I tried selecting all keyframes in the dope sheet and do the scaling but it only affects at frame 0 and starts to scale down again after frame 0.

SplineGod
02-05-2006, 03:19 AM
Youre using the wrong scale tool. I mentioned SCALE HEIRARCHY which is NOT the same as the normal scale function. Do not use the standard scale tool to resize a rig. Scale Heirarchy is NOT animateable. :)

vincent1
02-05-2006, 03:25 AM
i AM using scale heirachy from the setup menu. At frame 0 it scales just the rig and fits nicely. After frame zero it animates back to previous scale at the next keyframe (frame 12) of this 30 frame animation. Looks animatable to me? Am I missing something?

vincent1
02-05-2006, 03:47 AM
ok. my mistake. from front view it looks like its scaling down. It is not scaling back down. But the rig is like squatting down for some reason, i.e. the root bone at the waist is moving down much more than it should. What's happening?

CB_3D
02-05-2006, 05:00 AM
Parent the whole hirarchy to a null, with "Parent in Place" turned on. Now scale that Masternull.

SplineGod
02-05-2006, 06:35 AM
Not sure whats happening with that Vincent. The Scale Heirarchy commend is not animatable. Check and make sure you havent animated the scale on something else.
Also make sure that you have a root bone of some kind that youre using the tool on.

CB_3D,
That can work sometimes but Ive also had it cause problems sometimes especially if you have IK setup and are using matchgoal. :)

CB_3D
02-05-2006, 11:18 AM
Yeah, Larry, i know. Matchgoal is evil! :agree:

Otherwise ive seen no problems with scaling through a masternull.

Stooch
02-05-2006, 11:38 AM
yeah i was about to say. I dont use LW for char animation (yuck - and thats being nice) but usually you parent everything to a null. I like to put at the origin too, so that your character always stays planted if you want to size him up. I would then assign a custom handle to the null and put the handle above the character, for easy access. i would hide the null at the origin. Lol, aaah gotta love messiah.

vincent1
02-05-2006, 12:36 PM
Nothing i do seems to work, reset bones, record rest position, nothing. Character animation with lw is tough with these kind of issues not resolved.

One would think, change mesh size, scale heirachy, touch up fit and carry on.

Or motion mixer, one is a walk cycle, the other a hand wave, mix them both and character should walk and wave as you wish; but noooo.... walking and waving are mixed half and half, resulting in a half walk and a half wave.

This is not working as advertised... :thumbsdow

other suggestions? Other than starting with fresh rigs everytime you model something else. :D

Stooch
02-05-2006, 12:57 PM
have you tried parenting to null and scaling the null? everything must be setup for parent coordinates, and if the origin is at 0,0 you shouldnt have a problem)

SplineGod
02-05-2006, 02:29 PM
Vincent,
Ive done this many times with no problems. Can you post up just the rig? :)

vincent1
02-06-2006, 02:09 AM
Sorry for late reply, +12 hours time difference.

This is the rig with a walk cycle. The rig is original size and I need to scale up at least 150%.

Whatever I do to rescale, when you press play, the character duck walks as the root bone seems to go down much lower than keyframed, or rather the keyframed position is not scaled up with the heirachy.

Thank you for taking the time to look into this.

The file is here:
http://www.exposurehifi.com/test/
Filename is "resize_rig_feb_06"



Regards,
Vincent.

Dodgy
02-06-2006, 03:30 AM
Done....

All I did was add in a null. Parent everything to it at 0 frames and resize it. Did you do it the other way around? Resize your new master null to 150, then parent the rig to it and then reset the scale at 0 or something?

SplineGod
02-06-2006, 03:42 AM
Hi Vincent,
The problem is that you have keyframed POSITIONAL information on some bones.
What happens is the bones try and returned to their keyframed positions.
Youll need to delete any keyframes in the x, y and z channels.

The same for the IK goals. When you use the scale heirarchy tool you can tell it NOT to scale the goals positions and then use the move path tool to get them into the proper positions.

The fact that you have animation on the rig complicates the process a bit more because the motions dont get scaled too.

Dodgy
02-06-2006, 03:55 AM
Ah, sorry, realised what you want now :)

Fortunately, it's quite straightforward what has happened. When you scaled the hierarchy, (using Scale Hierarchy) that worked as advertised. BUT you had keys on the root bone for the Y position. This meant that when it animated, the correct position moved down to the animated position. You'll have to move that (and the goals, since they're animated in their positions) up to the correct position by hand, just select them all, open the graph editor and filter by *.Position.Y and then adjust them by hand to match the first frame.

All in all, the build to the same size and scale the rig with a master null is probably the better option if you have a lot of animation already done.

Dodgy
02-06-2006, 03:55 AM
Doh, Larry beat me to it :)

vincent1
02-06-2006, 08:17 AM
Hi Mike,

Thanks for looking into the file.

Your way of scaling scales the rig, yes, however, when you replace "test_null_master" with the new mesh, the new mesh is scaled too, i.e. the bones still dont fit the mesh, although it is now 150% larger.

Maybe it's clearer this way:

This rig is only about 4.5 feet tall. My new mesh is a six footer. So when I replace "test_null_master" with this six footer mesh, the bones surely doesn/t fit.

So I select the new mesh and do a "scale heirachy", the bones then fit nicely into the six footer mesh. But when you press play, the rig duck walks.

Using your method, the rig scales, but when you replace the "test_null_master" with the six footer, the mesh becomes 7.5 feet and the bones still don't fit.

If I replace YOUR null with the mesh, the bone_deformation wont take place as it's the parent of "test_null_master".

To recreate the duck walk, do this:

Open my feb_06 file.

Open scene editor.
Select "test_null_master"
Select "Setup" then "Scale Heirachy" click yes to the dialog box.

Scale the rig up.

Press play and : Duck Walking :jam:

I'm stuck!

vincent1
02-06-2006, 08:25 AM
Hi Guys,

missed the later posts, just read them.

If this is the case, meaning I have to reposition all the keyframes, I hardly see the logic of scale heirachy as in essence, I'm reanimating the whole sequence. This is a simple walk test, imagine if I have a 10 sec animation done...which took days.

Because coming from Max and Biped, these type of issues were non-existent. You replace the mesh, scale the heirachy and whoopee - do, go home... :)

But I'm not giving up and definitely not flaming LW, but don't you think it's really not working as advertised?

vincent1
02-06-2006, 08:40 AM
So I'm wondering, is there a way to reset JUST the "test_null_master" of its scaled info?

Because the problem now is that when I replace "test_null_master" the six footer gets scaled up too. So theoretically, if I can wipe the "memory" of this null, the six footer should remain six foot and fit the bones perfectly.

What am I missing?

vincent1
02-06-2006, 09:23 AM
Since I'm moving ahead to other areas of work flow, how do I get a second rig into the same scene? (So that they can interact)

I tried to export rig and then import the rig back into the scene but I get an "ERROR: File format is not correct, file may be corrupted. File reading aborted" message.

Dodgy
02-06-2006, 10:11 AM
I would usually use 'Load from Scene' rather than the rig format. Keep a .lws with your lone character and then import each of them into your actual scene using Load From Scene.

SplineGod
02-06-2006, 02:24 PM
I think the setup tools were never completed for LW 8.x which is why the motions and all that dont get scaled too. Hopefully in 9.x...:)

For the meantime I would make all your creatures the same size, swap the characters that the bones are attached to and then scale the whole rig using main character. Just use object replace to get different bodies onto the same set of bones.

You can also apply IKBoost to your rig and extract the motions from the whole rig and save them. You can then apply IKBoost to the same rig thats been scaled up on another character and reapply the motions. IKBoost can then be removed.

There are also other ways to rig a character with bones so that the rig can be reused even if it has motions on it. In 'standard' rigs the rotational bones (ones used to rotate joints) are the same bones that hold or move the mesh. If you rig so that the rotational bones are separated from the hold bones its easier to use the move path tool to reposition the rotational bones to the location of the joints on the new character. Essentially the rotational bones just become pivot points for the hold bones.

The rig format is good for saving and reusing parts of other rigs on a new rig. For just loading in a new character thats rigged, load from scene is fine as Dodgy said. :)

vincent1
02-06-2006, 07:41 PM
Hi guys,

Thank you very much for the pointers, should be enough to keep me busy for a while. One last Q , Larry, Is not my current rig already using pivot bone holders as you described? One at each end of ik chain at shoulders and each end of IK chain at the legs, and the root bone right smack at the waist (these are very small but visible)?

If this rig is already what you mentioned, I'm going to stick with this rig and improve upon it, by rebuilding it to real world scale once more and model all my characters from this rig henceforth, as you suggested.

Thanks for all the help.
_vincent

SplineGod
02-06-2006, 08:24 PM
Basically each pivot bone will have at least two bones parented to it:
another pivot bone for the next joint
a hold bone.

For a new character you would use the move path tool to lines the pivot bones up with the proper joints and then the joint move tool to move the tips of the hold bones so that theyre the proper rest length.

I used to do this with rigs in productions for use with mocap and to make them easily reuseable. This worked fine going back before LW had any bone or setup tools :)

Nemoid
02-07-2006, 12:11 AM
hey guys its great to chime in with some news sometime.

don't forget this cool upcomoing system to rig in layout with great ease

go to

http://www.dolphinstudio.it/

and click software development

cheers! :lwicon: