PDA

View Full Version : Driving object with Biped


furystylee
12-23-2008, 04:43 AM
Hi, I'm trying to use a biped (bip01) to drive an object's position/rotation. So after loading an anim, if the biped moves in X, the object moves in X, etc. The only catch is that the object is the parent of the biped. So I can't just use it's inherit transforms.

I've tried several different approaches and I'm not sure what the best direction is:

I've tried using wire parameters but can't seem to find the correct attributes from the biped. For example, how do I drive the X translation? Biped: Horizontal - BipPositionList - Available? Not sure what that is!

I don't believe I can use a link constraint because of a dependency loop.

Perhaps an Expression Controller or Transform Script? I've never used this but I've seen it poking around in the Assign Controller list.

Is there something in max/maxscript I'm missing? I'm coming from maya/mel so this is all a bit new to me! Any ideas would be greatly appreciated!

PEN
12-23-2008, 01:22 PM
Let me get this straight, your bip01 is parented to an object and you want that object to move when its child, bip01 moves? I think that with biped you will run into issues trying to do this. Even with regular objects this could be a problem, I have over come it but in the end it always causes issues. What is it you are trying to achieve? What problem are you wanting to solve?

furystylee
12-23-2008, 02:34 PM
Ahh..I forgot to mention that moving the parent object should not affect the bip. Maybe you ran into double tranforms?

For game engine purposes, the biped must have a node at the top of the hierarchy. This node will give the character's location which can be driven by the mocap or hand keyed.

So picture an object thats following underneath the bip on the ground plane (locked down on the z) and rotating to what ever direction it goes in (only has y rotations).

maT-Star
12-23-2008, 02:42 PM
Hi :)
We had the same issue in our pipeline and we used the Prop1 for this.
If you go into Figure-Mode->Structure, you see the prop1 checkbox. Prop1 is normally parented under Bip01. For this to work, you also need to change the keys to World (by default it is at the Right Hand).
You could try re-parenting the Bip01 to the prop1 maybe this works. :)

furystylee
12-23-2008, 09:38 PM
thanks for the suggestion maT-Star, i will check it out.

as for the parent object not moving the biped:

it looks like if I put a node with no inheritance between the parent object and the biped, I can move the parent object without affecting the biped.

PEN I'm curious to know what technique you used to attempt a solution?

Thanks again.

furystylee
12-24-2008, 03:32 PM
Unfortunately it looks like prop isn't doing the trick.

Perhaps i should be looking into biped subanim controllers vertical/horizontal/turning?

phoelix
12-24-2008, 09:24 PM
hi furystylee,

here where i work, we used to have the same problem using "Root Motion", with mocap and animation (because animators weren't confortable animating that root helper).

What i made to solve it was a macro script that "copies" the bip's horizontal and turning keyframes then deletes them and finally "pastes" them into the root helper's x,y position and z rotation, animators can put that macro in the main toolbar and use it as soon as the animation is finished or when the mocap is imported.

sometimes animators needed to go back to the animated biped version so a macroscript with the inverted function was also useful.

also i had to take care about some issues, like biped-helper offsets and stuff like that.

hope it could help :D

phoelix
12-24-2008, 09:39 PM
well.... thinking it better now, i got a new idea.

Maybe you can instance the bip01 and the root helper controllers, then, to do not get double transforms you have to set the biped's controllers weight to zero.

But to be able to do it, first, you have to assign a List controller to the bip01 available position and rotation tracks, and euler and position xyz respectively, set their weights to zero and then instance them with the helper's ones.

I'm not in my pc now to confirm if this method works but i think this could be a better solution, there's something else to consider and is to tell the biped to use those new controllers instead of the original tcb ones, don't remember well where is that option, i guess inside the keyframing tools rollout...maybe :D.

CGTalk Moderation
12-24-2008, 09:39 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.