所以最初我希望我的小“船”有可以跟踪目标的炮塔。这是它的jfiddle。http://jsfiddle.net/czGZF/2/当他们跟踪时,他们表现得很奇怪。我注意到它认为炮塔稍微靠近它(在原点),通过这段代码。
turret_a.position.y = .25;
turret_a.position.z = 2;
但是,我已经这样做了,所以当我调用(如下)将其添加到“基础船”时,它可能是一个相对位置
ship = new THREE.Object3D();
ship.add( ship_base );
ship.add( turret_a ) ;
当我在将 turret_a 添加到船后更改它的位置时,并且在将船添加到场景中后,炮塔主要跟踪我希望它的外观。
我想我的问题是,为什么 lookAt() 函数使用它的旧位置,而不是它当前在其父对象上的位置来确定它需要的旋转角度?