I'm trying to implement something along the lines of Overgrowth's techniques: http://www.gamasutra.com/view/news/216973/Video_An_indie_approach_to_procedural_animation.php
Blending between only two keyframes at a specific time, producing a realtime animation. Also, does anyone know any IK examples for three.js?
/ping @tschw
AFAIK there is currently no IK code in Three.js, but I guess there may be _something_ out there _somewhere_.
With IK in place you trade direct interpolation for calculation: E.g. given the position of a character's hand, the possible positions that make sense for the elbow are constrained. Exploiting these constraints means that editing becomes simpler and you get more flexibility at application runtime; e.g. the hand of our character can be moved to a specific position, without having a predefined animation sequence for that.
Our animation system lets you interpolate arbitrary object properties based on keyframe values over time, so to animate an IK model it'd be
animationMixer.update( dt ); // interpolated keys -> properties
ikModel.update(); // interpolated properties -> skeleton state
renderer.render();
. The following example code shows how to freestyle with the animation system in case you want to build something that uses it:
https://github.com/mrdoob/three.js/blob/dev/examples/js/AnimationClipCreator.js
https://github.com/mrdoob/three.js/blob/dev/examples/misc_animation_authoring.html
https://github.com/mrdoob/three.js/blob/dev/examples/js/TimelinerController.js
There is now this IK snippet but I haven't spent the time to understand it:
https://github.com/mrdoob/three.js/blob/dev/examples/js/animation/CCDIKSolver.js
Not sure what it does.
@bhouston , any update on this? Looking everywhere for sensible IK and this is the most recent lead I could find...
Maybe useful: #7585
Looking everywhere for sensible IK and this is the most recent lead I could find...
For all other people stumbling across this topic: https://github.com/jsantell/THREE.IK
Most helpful comment
For all other people stumbling across this topic: https://github.com/jsantell/THREE.IK