Rotate SCNNode relative local coordinates

2019-02-24 08:53发布

问题:

I'm trying to rotate a node by SCNAction, but it rotates relative to parent’s coordinate space. Is it possible to rotate a node relative local's coordinate system?

回答1:

Sure. You can obtain parent's space coordinates for rotation axis with convertVector method.

For example, this action will do 180 degrees rotation around local x-axis:

SCNAction.rotate(by: .pi, around: node.convertVector(SCNVector3(1, 0, 0), to: node.parent), duration: TimeInterval(5))


回答2:

Have you tried:

[node runAction:[SCNAction rotateByX:0 y:1 z:0 duration:5.0]]; //Rotates the node along the y axis for 5 seconds.