SceneKit节点是否轮流累积

时间:2016-12-09 15:42:30

标签: scenekit

如果我以这种方式对scenekit节点对象进行轮换,会发生什么:

node.rotation = SCNVector4Make(1, 0, 0, M_PI_2)

是否将PI / 2添加到现有旋转或是否将对象角度设置为PI / 2?

换句话说,如果我拨打两次这一行会发生什么:

node.rotation = SCNVector4Make(1, 0, 0, M_PI_2)

是否转为PI / 2或PI?

我对node.eulerAngles属性有同样的问题

由于

2 个答案:

答案 0 :(得分:1)

关于转换的SCNNode属性中没有一个是"累积",就像transform的{​​{1}}一样。要组合变换,您需要使用诸如SCNMatrix4Rotate之类的工具。

答案 1 :(得分:0)

虽然我从来没有与使用mnuages在SceneKit中的内容争论(我认为他在Apple上工作),但我认为他太过于字面地提出了你的问题。

如果您正在寻找累积旋转,如果您知道需要多少旋转,则可在SceneKit中使用。您可以使用两个rotateBy SCNActions。

他们是:

rotateBy(x:y:z:duration:)

rotate(by:around:duration:)

这两种方法(反复应用)将累积地添加到对象的旋转中。