我是three.js的新手。我想知道是否有一个功能,例如从统一走向统一?我们可以使用该函数将对象从当前位置移动到某些Vector3。 谢谢。
答案 0 :(得分:0)
我实际上设法解决了这个问题。
这里是给其他任何坚持的人
但是您必须确保该对象是THREE.Group的子对象,并且您要移动THREE.Group而不是对象,因为如果更改对象的旋转角度,该功能将无法正常工作。
var targetPosition = new THREE.Vector3(x,y,z);
var objectToMove;
var group = new THREE.Group();
group.add(objectToMove);
var targetNormalizedVector = new THREE.Vector3(0,0,0);
targetNormalizedVector.x = targetPosition.x - group.position.x;
targetNormalizedVector.y = targetPosition.y - group.position.y;
targetNormalizedVector.z = targetPosition.z - group.position.z;
targetNormalizedVector.normalize()
然后,您可以在任何地方使用此行来将对象移到目标位置。
group.translateOnAxis(targetNormalizedVector,speed);
这将与Vector3.MoveTowards函数的工作方式相似。只需确保将THREE.Group的旋转始终在x,y和z上设置为0。