three.js object3d.translateZ在所有位置值中导致NaN

时间:2015-05-26 17:53:55

标签: javascript three.js

似乎当我在我的对象上使用translate[X|Y|Z]时,它的位置会受到损坏,只包含NaN个值。

weird

Three.js r70

位置是相对的,绝对是不同的: comparison

我的代码

if (!this.following) return false;

var mesh = this.get(); //One mesh
this.mesh.lookAt(this.mesh.worldToLocal((new THREE.Vector3(0, 0, 0)).setFromMatrixPosition(this.following.whom.matrixWorld))); //this.following.whom is another mesh

var followerPosition = mesh.localToWorld(new THREE.Vector3(0, 0, 0));
var followeePosition = this.following.whom.localToWorld(new THREE.Vector3(0, 0, 0));
var distance = followerPosition.distanceTo(followeePosition);

if (distance > this.following.distance) { //this.following.distance is scalar value
    mesh.translateZ(distance * 0.02);
}

return true;

我做错了什么?处理相对值时我不能使用transformZ吗?

1 个答案:

答案 0 :(得分:1)

好吧,似乎我错过了重要的事情。如果对象的旋转为NaN,则翻译将失败。