SceneKit节点旋转是否累积
Is SceneKit node rotation cumulative
如果我以这种方式在 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 有同样的问题 属性
谢谢
none 关于转换的 SCNNode
属性是 "cumulative",就像 CALayer
的 transform
一样。要组合转换,您需要使用 SCNMatrix4Rotate.
等实用程序
虽然我永远不会用 mnuages 与 SceneKit 中的内容争论(我认为他在 Apple 工作),但我会争辩说他把你的问题看得太字面意思了。
如果你正在寻找累积旋转,它在 SceneKit 中可用,如果你知道你想要多少旋转。您可以使用两个 rotateBy
SCNAction。
他们是:
和:
重复应用这两项,将累积添加到对象的旋转中。
如果我以这种方式在 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 有同样的问题 属性
谢谢
none 关于转换的 SCNNode
属性是 "cumulative",就像 CALayer
的 transform
一样。要组合转换,您需要使用 SCNMatrix4Rotate.
虽然我永远不会用 mnuages 与 SceneKit 中的内容争论(我认为他在 Apple 工作),但我会争辩说他把你的问题看得太字面意思了。
如果你正在寻找累积旋转,它在 SceneKit 中可用,如果你知道你想要多少旋转。您可以使用两个 rotateBy
SCNAction。
他们是:
和:
重复应用这两项,将累积添加到对象的旋转中。