【问题标题】:SceneKit rotate node twice only performs last rotation?SceneKit旋转节点两次只执行最后一次旋转?
【发布时间】:2015-03-05 08:28:07
【问题描述】:

我试图告诉一个节点像这样旋转:

    node.rotation = SCNVector4Make(0, 1, 0, -Float(M_PI))
    node.rotation.rotation = SCNVector4Make(1, 0, 0, -Float(M_PI_2 / 2.9))

我不明白为什么唯一有效的轮换是最后一个。看起来第一次旋转没有任何作用。

如何将节点在 Y 轴上旋转某个角度,然后在 x 轴上旋转另一个角度?我在这里错过了什么?

谢谢

【问题讨论】:

    标签: ios scenekit


    【解决方案1】:

    您没有添加到轮换中,您正在分配一个新值来替换以前的值。

    我认为更适合您的属性是eulerAngles。它是表示为roll, yaw, and pitch 角度的方向。请注意,分配新向量仍会替换先前的值。另请注意,尽管向量的分量称为 x、y、z,但顺序是滚动、偏航和俯仰。这意味着node.eulerAngles.x 改变了节点围绕其z-轴的旋转。

    【讨论】:

    • 有道理。我会试试这个并报告。
    • 抱歉,将其标记为正确需要很长时间。我想在比我想象的要花更长的时间的项目中对其进行测试。谢谢!
    猜你喜欢
    • 2015-02-14
    • 2018-12-17
    • 2015-07-10
    • 2022-01-14
    • 1970-01-01
    • 2013-09-02
    • 2018-11-01
    • 1970-01-01
    • 2017-06-21
    相关资源
    最近更新 更多