three.js中是否有向函数过渡

时间:2018-07-02 13:07:30

标签: javascript three.js

我是three.js的新手。我想知道是否有一个功能,例如从统一走向统一?我们可以使用该函数将对象从当前位置移动到某些Vector3。 谢谢。

1 个答案:

答案 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。