Three.js: Keyframe interpolation and IK examples?

Created on 1 Nov 2015  路  6Comments  路  Source: mrdoob/three.js

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?

Question

Most helpful comment

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

All 6 comments

/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

Was this page helpful?
0 / 5 - 0 ratings