Nikita Ermolenko
Nikita Ermolenko

Reputation: 2259

Rotate SCNNode relative local coordinates

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?

Upvotes: 4

Views: 957

Answers (2)

AlexKorovyansky
AlexKorovyansky

Reputation: 4953

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))

Upvotes: 10

Alan
Alan

Reputation: 1142

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.

Upvotes: 0

Related Questions