SUBSCRIBE The SideFX mailing list is a great place to make contact with Houdini users. To subscribe, send us an email with no subject and the word subscribe in the body.
[Sidefx-houdini-list] Forward Kinematics in Houdini
Friday, 30 April 2010 Fri, 30 Apr '10
Pablo Gim?nez wrote:
What is the reason because FK is implemented as individuals IK per bone???? No kinematics in Houdini is like FK in Maya, why this different implementation, pros and cons??? The only reason I can think about is to enable to animate FK using translations of effectors or goal nulls rather than directly rotate the bone itself. What are the benefits of this point?I think it's mainly just a terminology difference due to historical reasons. I'm up for better terminology suggestions. :) In robotics, "Forward Kinematics" (FK) is the calculation of the chain goal position given the joint rotation angles. And "Inverse Kinematics" (IK), is the calculation of the joint angles given the chain goal position. "Houdini FK" on the other hand is the calculation of the bone angles given the joint positions. From this sense, it's sort of a simpler form of IK. On the other hand, there is no real calculation of the goal position and so it's more like FK. Maybe it should be called "Per Bone IK". As for pros, I think that "Houdini FK" is more suited to trying to fit bone animation to joint animation (eg. given from mocap system). For traditional animation rigging, I don't see strong use for it. From an keyframe animation viewpoint, one usually wants to set keys in FK so that natural arc motion can be achieved with minimal effort. However, if the bone chain needs to be animated with the goal position constrained to something (eg. feet/ground contacts, hands opening doors), then IK becomes much easier to use. So in practice what often happens is that legs are IK and everything else is FK. Then when it becomes more convenient to use the other kinematics type, one transitions over. Since the InverseKin CHOP naturally supports both types with blending between them, if you ever think you need to switch, then it is better to create it as an IK chain initially and change the Blend parameter to 0 by default and remember to expose this parameter to the animated in the HDA. :) Regards, -Edward