我在cannon.js中有一个四元数旋转的物体。我想沿着一个向量相对于它的局部旋转移动100个单位。
例如
let body = new CANNON.Body({ mass: 0 });
body.quaternion.setFromAxisAngle(new CANNON.Vec3(0,0,1),(2*Math.PI)/6);
body.position.set(0,0,100); //this is wrong
使用body.position.set(x, y, z);
相对于世界移动身体而不是局部旋转。我认为我需要在将四元数应用到它之后添加一个向量,但cannon.js的文档并不是特别有用,所以我还没有弄清楚如何去做。
答案 0 :(得分:1)
使用Quaternion#vmult方法旋转矢量,使用Vec3#add将结果添加到位置。
<ul id="names-list">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>