code: public void setWorldMatrix(int boneindex, Matrix4f mtx)
      {
          Bone	  bone = mBones[boneindex];
  
          bone.WorldMatrix.set(mtx);
          if (mSkeleton.getParentBoneIndex(boneindex) >= 0)
          {
              calcLocal(bone, mSkeleton.getParentBoneIndex(boneindex));
          }
          else
          {
              bone.LocalMatrix.set(mtx);
          }
          mNeedSync = true;
          bone.Changed = Bone.WORLD_POS | Bone.WORLD_ROT;
          if (sDebug)
          {
              Log.d("BONE", "setWorldMatrix: %s %s", mSkeleton.getBoneName(boneindex), bone.toString());
          }
      }
docs: Set the world matrix for this bone (relative to skeleton root).
  <p>
  Sets the world matrix for the designated bone.
  All bones in the skeleton start out at the origin oriented along the bone axis (usually 0,0,1).
  The pose orients and positions each bone in the skeleton with respect to this initial state.
  The world bone matrix expresses the orientation and position of the bone relative
  to the root of the skeleton.
  @param boneindex	zero based index of bone to set matrix for.
  @param mtx		new bone matrix.
  @see #getWorldRotation
  @see #setLocalRotation
  @see #getWorldMatrix
  @see #getWorldPositions
  @see GVRSkeleton#setBoneAxis