Moving character hand to a specific location

Hello,



Starting from the TestRagdollCharacter example and using the Oto model, I’m trying to move the character’s hand to a specific location. The idea is to have the character grab an object in its reach, so I’m starting with having the hand move to near the target object.



After setting up the scene as in the example and creating a KinematicRagdollControl to control the model in kinematic mode (ragdollControl.setKinematicMode()), my simpleUpdate method does the following:



[java]Skeleton skeleton = animControl.getSkeleton();

Bone hand = skeleton.getBone(“hand.left”);



hand.setUserControl(true);

hand.setUserTransforms(new Vector3f(i++ / 1000.0f, 0, 0), Quaternion.IDENTITY, Vector3f.UNIT_XYZ);

hand.updateWorldVectors();

skeleton.updateWorldVectors();[/java]



What happens is that the hand moves to the correct position, but it is decoupled from the arm and the rest of the body is static, i.e. the arm is not moving along with the hand. Any suggestions?

What you expect to get “just like that” is called “inverse kinematics” or IK. You will have to implement that yourself.

Ok, thanks for the info. Do you know of any work available on IK that I can use, or do I need to start from scratch?

:google: