I am quite confused by the "rotation" and "orientation" for a SCNNode. In Apple's doc, they are defined quite similarly:
orientation: The node’s orientation, expressed as a quaternion. Animatable.
rotation: The node’s orientation, expressed as a rotation angle about an axis. Animatable.
And apple doc says: The rotation, eulerAngles, and orientation properties all affect the rotational aspect of the node’s transform property. Any change to one of these properties is reflected in the others.
So they kind of control the same thing but are using different format? That is my current understanding. But how? They are both SCNVector4 type. I understand the rotation but I am not sure how to set the orientation and how it is different.
(EDIT)
I just tried to make a default node by SCNNode() and print out its rotation and orientation:
Rotation: SCNVector4(x: 0.0, y: 0.0, z: 0.0, w: 0.0)
Orientation: SCNVector4(x: 0.0, y: 0.0, z: 0.0, w: 1.0)
I am still not sure why there is 1.0. E.comm has mentioned that it keeps the definition of quaternion but that w means a rotation degree in SCNVector4 for rotation. So I am not sure why it is there since I did not rotate node in my code.