In the 3D model I exported I did not called a node "head".
I also found out that I can manipulate joints via Irrlicht API only if my 3D model has a soft skin. If I choose a rigid skin I will not be able to manipualte joints.
Now I can manipualte joints.
if( parentJoint )
{
// Get the default (animated) Joint's position and rotation
vector3df jointPos = thisJoint->getAbsolutePosition();
vector3df jointRot = thisJoint->getAbsoluteTransformation().getRotationDegrees();
// Get the absolute INVERSE Transformation matrix of the parent
matrix4 iparentTransform = parentJoint->getAbsoluteTransformation();
iparentTransform.makeInverse();
// Set the Absolute Position or Rotation of the Joint without fear!
vector3df newJointPos = jointPos + vector3df( 0, 1+(sin(headPosition)*2), 0 );
vector3df newJointRot = vector3df( 0, headRotation, 0 );
// Transform the Position by the Parent's Inverse matrix before applying it
iparentTransform.transformVect( newJointPos );
I would like to see an animation I imported in Irrlicht through cvxporter in ".X" format.
Do you know how to export a joint animation and play it through "IAnimatedMeshSceneNode::animateJoints"?
I selected the Animation option in cvxporter. I inserted also the start frame and end frame, that is from frame 1 to frame 90. However I cannot see my animation running. I tried with both "SRT" and "Matrix" option.