SceneKit旋转节点两次只执行最后一次旋转?

时间:2015-01-07 12:28:40

标签: ios scenekit

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

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

我不明白为什么唯一有效的轮换是最后一轮轮换。看起来第一次轮换没有做任何事情。

如何在Y轴上以某个角度旋转节点,然后在x轴上旋转另一个角度?我在这里缺少什么?

谢谢

1 个答案:

答案 0 :(得分:1)

您没有添加旋转,而是指定一个替换先前值的新值。

我认为适合你的财产是eulerAngles。它是以roll, yaw, and pitch角度表示的方向。请注意,分配新矢量仍会替换先前的值。还要注意,尽管向量的分量称为x,y,z,但顺序是滚动,偏航和俯仰。这意味着node.eulerAngles.x更改了节点关于 z -axis的轮换。