/** * Internal use only. */ @Override protected void controlUpdate(float tpf) { if (skeleton != null) { skeleton.reset(); // reset skeleton to bind pose } TempVars vars = TempVars.get(); for (int i = 0; i < channels.size(); i++) { channels.get(i).update(tpf, vars); } vars.release(); if (skeleton != null) { skeleton.updateWorldVectors(); } }
@Override public void simpleUpdate(float tpf){ // Rotate around X axis Quaternion rotate = new Quaternion(); rotate.fromAngleAxis(tpf, Vector3f.UNIT_X); // Combine rotation with previous rotation.multLocal(rotate); // Set new rotation into bone bone.setUserTransforms(Vector3f.ZERO, rotation, Vector3f.UNIT_XYZ); // After changing skeleton transforms, must update world data skeleton.updateWorldVectors(); }
float time = ((BoneTrack) track).getTimes()[frame]; track.setTime(time, 1, animControl, animChannel, vars); skeleton.updateWorldVectors();
boolean isArmature = blenderContext.getMarkerValue(ObjectHelper.ARMATURE_NODE_MARKER, feature) != null; if (isArmature) { blenderContext.getSkeleton(oma).updateWorldVectors(); BoneContext targetBoneContext = blenderContext.getBoneByName(oma, subtargetName); Bone bone = targetBoneContext.getBone();
skeleton.updateWorldVectors(); } else { switch (space) {
/** * Internal use only. */ @Override protected void controlUpdate(float tpf) { if (skeleton != null) { skeleton.reset(); // reset skeleton to bind pose } TempVars vars = TempVars.get(); for (int i = 0; i < channels.size(); i++) { channels.get(i).update(tpf, vars); } vars.release(); if (skeleton != null) { skeleton.updateWorldVectors(); } }
/** * Internal use only. */ @Override protected void controlUpdate(float tpf) { if (skeleton != null) { skeleton.reset(); // reset skeleton to bind pose } TempVars vars = TempVars.get(); for (int i = 0; i < channels.size(); i++) { channels.get(i).update(tpf, vars); } vars.release(); if (skeleton != null) { skeleton.updateWorldVectors(); } }
applyPose(joints.get(i).getAsInt()); skeleton.updateWorldVectors();
/** * Creates a debugger with no length data. The wires will be a connection * between the bones' heads only. The points will show the bones' heads only * and no dotted line of inter bones connection will be visible. * * @param name the name of the debugger's node * @param skeleton the skeleton that will be shown */ public SkeletonDebugger(String name, Skeleton skeleton, boolean guessBonesOrientation) { super(name); this.skeleton = skeleton; skeleton.reset(); skeleton.updateWorldVectors(); Map<Integer, Float> boneLengths = new HashMap<Integer, Float>(); for (Bone bone : skeleton.getRoots()) { computeLength(bone, boneLengths, skeleton); } bones = new SkeletonBone(skeleton, boneLengths, guessBonesOrientation); this.attachChild(bones); interBoneWires = new SkeletonInterBoneWire(skeleton, boneLengths, guessBonesOrientation); Geometry g = new Geometry(name + "_interwires", interBoneWires); g.setBatchHint(BatchHint.Never); this.attachChild(g); }
this.skeleton = skeleton; this.skeleton.reset(); this.skeleton.updateWorldVectors(); this.guessBonesOrientation = guessBonesOrientation;
public void addPMDNode(PMDNode pmdNode) { Skeleton skeleton = pmdNode.getSkeleton(); skeleton.updateWorldVectors(); PMDModel pmdModel = pmdNode.getPmdModel(); PMDRigidBody[] rigidBodyArray = new PMDRigidBody[pmdModel.getRigidBodyList().getRigidBodyArray().length];
newPMDNode.skeleton.updateWorldVectors(); newPMDNode.offsetMatrixbuffer = null; newPMDNode.calcOffsetMatrices();
pmdNode.getSkeleton().updateWorldVectors(); physicsControl.getWorld().resetRigidBodyPos(); physicsControl.getWorld().resetRigidBodyPos();
skeleton.updateWorldVectors(); skeleton.resetAndUpdate(); skeleton.computeSkinningMatrices();
pmdNode.getSkeleton().updateWorldVectors(); ikControl.updateIKBoneRotation(); for (int i = 0; i < pmdNode.getPmdModel().getBoneList().getBoneCount(); i++) {