x和z的threejs旋转单独工作但一起失败

Doi*_*del 3 webgl three.js

我需要围绕x和z轴旋转钻石(见附件).当单独旋转时(意味着我只设置rotation.x或rotation.z),旋转看起来很好并且可以正常工作.但是当我设置两个旋转(x和z)时,旋转看起来像这样:

钻石旋转失败

我错过了什么吗?某种程度上是对象局部坐标系旋转,现在围绕2轴旋转失败?

diamond.position = brilliantPositions[i][0];
diamond.rotation = brilliantPositions[i][1];
this.frames.arrangementMesh.add(diamond);
Run Code Online (Sandbox Code Playgroud)

提前感谢您的提示亲切的问候罗马和帕特里克

Doi*_*del 5

欧拉订单确实为我们解决了问题.在我们的例子中,我们不得不做下面的事情

diamond.eulerOrder = 'ZYX';
Run Code Online (Sandbox Code Playgroud)

为了让计算采取正确的方式.非常感谢!

这里有关于欧拉订单的更多信息

PS:我不能接受评论作为答案WestLangley因此我只是提升它并在这里重新发布解决方案

  • 不过这些天它改名了。我认为 rotation.order 是新属性 (2认同)