我有一个 SCNNode,我继续旋转平移手势 90 度增量。前几个旋转按预期工作,通过节点轴在相反方向上旋转的情况,旋转以错误的方向执行。如何在每次旋转后确定轴的方向?
场景(为简单起见使用多维数据集):
-
我沿 Y 轴旋转立方体 90deg。 Y 点仍然向上,X 现指向相机,Z 指向右
-
我沿着 Y 再次旋转立方体 90 度.X 现在指向左边,Z 指向相机
-
问题 - 我现在尝试沿 X 轴旋转 90 度。因为 X 旋转 180 度,旋转现在反转。
如何理解何时旋转(-1,0,0)和何时(1,0,0)?
我对 3D 数学世界很陌生,我希望我正确地解释了我的问题。
1 回答
进一步研究后,我意识到我选择了完全错误的方法实现我想要的方法是使用 rootNode 的轴旋转节点 - 这样我就不必担心节点的局部轴。
编辑:根据 Xartec 的建议更新代码