gpt4 book ai didi

javascript - 使用 THREE.JS 滚球

转载 作者:行者123 更新时间:2023-11-28 09:06:46 25 4
gpt4 key购买 nike

我一直在使用 THREE.JS 在 WebGL 中开发这个小台球游戏。

现在,我在将球从一个位置(例如 Vector3(0, 0, 0))滚动到另一个位置 Vector3(10, 50, 200) 时遇到问题。运动不是问题,但我就是无法计算出旋转。这是我的做法,或者尝试:

首先我得到距离:

var movement = new THREE.Vector3();
movement.subVectors(to, from);
var distance = movement.length();

接下来我计算 Angular

var angle = (distance / (radius * 2 * Math.PI));

之后,事情变得有点困惑,我不知道使用什么方法来旋转实际对象 - 我尝试过四元数:

var quaternion = new THREE.Quaternion().setFromAxisAngle(movement.normalize(), angle);
mesh.rotation.setEulerFromQuaternion(quaternion);

有人知道如何实现这种旋转吗?

感谢您的帮助!

最佳答案

mesh.rotation.set(along_x, along_y, along_z);
mesh.rotation.z += 0.1;

您可以在网格上使用applyTransformation,之后您应该让lookAt向量指向to向量,然后应用绕x轴的简单动画旋转(因为lookAt向量=对象的z轴)。

希望这有帮助。

关于javascript - 使用 THREE.JS 滚球,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16949921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com