似乎当我在我的对象上使用translate[X|Y|Z]
时,它的位置会受到损坏,只包含NaN
个值。
Three.js r70
位置是相对的,绝对是不同的:
我的代码
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吗?
答案 0 :(得分:1)
好吧,似乎我错过了重要的事情。如果对象的旋转为NaN
,则翻译将失败。