MinieLibrary/src/main/java/com/jme3/bullet/animation/PhysicsLink.java
/**
     * Update this link in blended Kinematic mode.
     *
     * @param tpf the time interval between frames (in seconds, &ge;0)
     */
Update this link in blended Kinematic mode.
@param tpf the time interval between frames (in seconds, ≥0)
Update this link in blended Kinematic mode . @param tpf the time interval between frames ( in seconds ≥0 )
protected void kinematicUpdate(float tpf) {
        assert tpf >= 0f : tpf;
        assert rigidBody.isKinematic();
        /*
         * If blending, increase the kinematic weight.
         */
        if (blendInterval == 0f) {
            setKinematicWeight(1f); 
        } else {
            setKinematicWeight(kinematicWeight + tpf / blendInterval);
        }
        /*
         * If we didn't need kpVelocity, we could defer this
         * calculation until the preTick().
         */
        Vector3f previousLocation = kpTransform.getTranslation(null);
        updateKPTransform();
        if (tpf > 0f) {
            kpTransform.getTranslation().subtract(previousLocation, kpVelocity);
            kpVelocity.divideLocal(tpf);
        }
    }
protected void kinematicUpdate ( float tpf ) { assert tpf >= 0f : tpf ; assert rigidBody . isKinematic ( ) ; /*
         * If blending, increase the kinematic weight.
         */ if ( blendInterval == 0f ) { setKinematicWeight ( 1f ) ; } else { setKinematicWeight ( kinematicWeight + tpf / blendInterval ) ; } /*
         * If we didn't need kpVelocity, we could defer this
         * calculation until the preTick().
         */ Vector3f previousLocation = kpTransform . getTranslation ( null ) ; updateKPTransform ( ) ; if ( tpf > 0f ) { kpTransform . getTranslation ( ) . subtract ( previousLocation , kpVelocity ) ; kpVelocity . divideLocal ( tpf ) ; } }
Update this link in blended Kinematic mode.
Update this link in blended Kinematic mode .
// done blending