@Override public void updateModelTransform(Transform localTransform, Joint parent) { modelTransform.set(localTransform); if (parent != null) { modelTransform.combineWithParent(parent.getModelTransform()); } }
/** * Sets the current localTransform as the Bind transform. */ protected void saveBindPose() { //Note that the whole Armature must be updated before calling this method. getModelTransform().toTransformMatrix(inverseModelBindMatrix); inverseModelBindMatrix.invertLocal(); }
@Override public void applyBindPose(Transform localTransform, Matrix4f inverseModelBindMatrix, Joint parent) { localTransform.fromTransformMatrix(inverseModelBindMatrix.invert()); if (parent != null) { localTransform.combineWithParent(parent.getModelTransform().invert()); } }
System.err.println("Local scale: " + selectedjoint.getLocalScale()); System.err.println("---"); System.err.println("Model translation: " + selectedjoint.getModelTransform().getTranslation()); System.err.println("Model rotation: " + selectedjoint.getModelTransform().getRotation()); System.err.println("Model scale: " + selectedjoint.getModelTransform().getScale()); System.err.println("---"); System.err.println("Bind inverse Transform: ");
if (geoms != null) { Geometry jGeom = geoms[0]; jGeom.setLocalTranslation(joint.getModelTransform().getTranslation()); Geometry bGeom = geoms[1]; if (bGeom != null) { Vector3f start = bGeom.getUserData("start"); Vector3f[] ends = bGeom.getUserData("end"); start.set(joint.getModelTransform().getTranslation()); if (ends != null) { for (int i = 0; i < joint.getChildren().size(); i++) { ends[i].set(joint.getChildren().get(i).getModelTransform().getTranslation());
attachedNode.setLocalTransform(getModelTransform()); Transform combined = getModelTransform().clone();
protected final void createSkeletonGeoms(Joint joint, Node joints, Node wires, Node outlines, List<Joint> deformingJoints) { Vector3f start = joint.getModelTransform().getTranslation().clone(); ends[i] = joint.getChildren().get(i).getModelTransform().getTranslation().clone();