5

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

钻石旋转失败

我错过了什么吗?对象局部坐标系是否以某种方式旋转,现在围绕 2 个轴旋转失败?

diamond.position = brilliantPositions[i][0];
diamond.rotation = brilliantPositions[i][1];
this.frames.arrangementMesh.add(diamond);

在此先感谢您的提示亲切的问候罗曼和帕特里克

4

2 回答 2

8

欧拉顺序确实为我们解决了这个问题。在我们的案例中,我们必须执行以下操作

diamond.eulerOrder = 'ZYX';

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

这是有关欧拉顺序的更多信息

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

于 2013-05-23T08:29:53.813 回答
0

我建议使用lookAt() 函数,然后围绕其中一个轴应用旋转。对于几乎任何类型的太空旋转来说,这应该足够好了。

于 2013-05-22T10:24:38.157 回答