An inverse kinetics wrapper for ogre of BussIK (written by Samuel R. Buss)
BussIK is part of the bullet physics engine and can be found under thieir examples/ThirdPartyLibs,
or from the authors site
http://www.math.ucsd.edu/~sbuss/Researc ... index.html
Setup is hopefully relatively simple.
You add a root e.g. hip bone add some children e.g. knee and ankle or whatever, then create if your skeleton doesn't have it already an effector bone. The effector is where the last bone if the chain will try to reach (somewhat obviously).
For animating typically you'll what reorientateRoot() to rotate the y of the root (IK root) to point at the end effector and call update(), thats it.
Its worth looking at the bullet examples to see the the different methods in action Jacobian transpose method v = J thetadot I think is computing thetadots to hit the effector and so you get an exact but somewhat jumpy IK.
The one I liked best was IK_DLS_SVD (Selectively damped least squares single value decomposition) oh my.
Important to note to get support for joint limits uncomment the if guard in BussIK::Node and it maybe good to do multiple updates per frame I didn't and it worked looks fine, but you can envisage a case where the lower bones don't reach the effector because of clamping on a high bone a few iterations might solve this, hopefully do solve this.
code : https://github.com/wuv-ogre/OgreIK
A place to show off your latest screenshots and for people to comment on them. Only start a new thread here if you have some nice images to show off!
2 posts • Page 1 of 1