Game Development Community

IK systems? has anyone attempted to implement this?

by James Brad Barnette · in Torque 3D Professional · 09/23/2009 (4:07 pm) · 1 replies

Has anyone tried implementing character IK systems. Perhaps something like HumanIK




Was wondering if something like this would require a total re-work of the animation system?

Also if someone could recommend other options that would be great as HumanIK is pretty expensive.

#1
09/23/2009 (4:24 pm)
It isn't hard to integrate a IK to the animation system. There are two ways to do it:

1) There is a node animation state called MaskNodeCallback, which allows you to specify a TSCallback-derived object. The object you specify will receive a callback right after that node is animated, with a pointer to the TSShapeInstance, the index of the node and a reference to its local matrix post-animation. You can then manipulate the local transform as you see fit.

2) After you call animate() on a TSShapeInstance, the object-space transforms for each node will be stored in the TSShapeInstance's mNodeTransforms vector. You can then change them as you want.

I implemented a simply 2-joint IK (using Maya's 2 bone solver code as a basis) using method #2, and didn't have too many problems.