我在设置新鼠标位置时遇到问题。我有一个在空间中移动和旋转的对象,并跟随指针锁定光标的位置。 Targetposition是位于对象后面的Vector3。现在我想创建一个动画,通过平滑旋转对象来反向移动对象。所以我禁用了我的mouseListener并使用给定的Three.js函数旋转对象。但在我启用我的监听器之后,targetPosition会回到鼠标位置并使移动无效。所以现在我想在动画后为我的新Targetposition计算鼠标位置。我怎样才能做到这一点 ?
3D鼠标坐标的功能如下所示:
enter code here
mouseY = Math.max(-85, Math.min(70, -mouseY));
phi = THREE.Math.degToRad(90 + mouseY);
theta = THREE.Math.degToRad(mouseX);
targetPosition.x = object.position.x + 100 * Math.sin(phi) * Math.cos(theta);
targetPosition.y = object.position.y + 100 * Math.cos(phi);
targetPosition.z = object.position.z + 100 * Math.sin(phi) * Math.sin(theta);
object.lookAt(targetPosition);