我有一个物体,我想在给定正确的输入时直接朝向相机移动。
我已经看了Object3d.translateOnAxis(axis, distance)
,但我似乎无法将axis
(对象的本地轴)设置为始终面向相机。这可能是因为物体也在旋转。
由于场景中有多个物体,我需要将物体移向相机。
答案 0 :(得分:4)
我想出了如何让它发挥作用。假设我希望object
朝世界坐标中的点(0,0,25)移动。 object.translateOnAxis(object.worldToLocal(new THREE.Vector3(0,0,25)),50);
将使对象从其当前位置朝向点(0,0,25)行进50个单位。
答案 1 :(得分:0)
对我来说,将物体移动5米的工作原理是:
var dir = new THREE.Vector3();
dir.subVectors(camera.position, object.getWorldPosition(dir)).normalize();
object.translateOnAxis(dir, 5);