[Sidefx-houdini-list] Forward Kinematics in Houdini

Edward Lam edward at sidefx.com
Mon May 3 11:26:03 EDT 2010


Pablo Giménez wrote:
> Another point related with bones is orientation. In Maya, joints has
> a kind of local transformation, so you can change the joint
> orientation without changing the rest of the chain, I think is called
> Joint orientation. How can I achieve the same effect with Houdini
> bones.

You have to be very careful here because intrinsically, joints and bones
are different. In Houdini, the bones are just regular objects with some
added parameters and geometry for working with the character tools. Also 
note that bone objects have a fixed transform and rotation order.

In Maya, capture weighting is done relative to the joints themselves and
there was no notion of capture regions. They've since added capture
regions so I don't know how it actually works these days. The "bones"
that you see in Maya are in effect these line segments that just
connects the joints, ignoring their orientation.

In short, there's no easy answer because there are fundamental
differences between them. The closest thing is to use Null objects to
represent joints and then attach bone objects as their children which
will always point to the next "joint". Of course, this means that it
will be hard to get this type of setup to work with the character tools
because they were designed for a different setup.

> Lets say I have a leg bones chain, and I want to orient the first
> bone so the positive X rotation will move it forward, but after
> drawing the whole chain my "forward" rotation is using -X. If I then
> rotate the bone in the Z axis 180 degrees then I got the proper
> rotation for the first bone but it affect the rest of the chain
> reversing all the children bones. So what is the best way to change
> bones rotation locally, not affecting the rest of the chain so I can
> choose what axis is going to drive the rotation i need for every bone
> movement?

The best way is to just create the bone chain with the desired 
orientation in the first place. Draw the bone chain using the 
appropriate viewing plane (ie. one of the ortho planes). Barring that, 
you will need to use the "Keep Position When Moving Parent" toggle in 
Main Preferences > Objects and Geometry.

Regards,
-Edward








More information about the Sidefx-houdini-list mailing list