I have an action graph that rotates an object to look at the camera. I use Rotate to Orientation fed from Get Look At Rotation. As I move around the objects, they turn back towards the camera, but occasionally do a full rotation first. Watching some of the rotation values, they flip from values like180 to -180 for slight movements. It happens multiple times as I move around the target object.
Ok I asked the experts and they knew what it was straight away. We have seen this before. It is where the object gets very very close to “0 degrees” or on a “pure” axis. This is a problem with programming angles in XYZ Euler and not quaternion.
Thank you for chasing it up. Could you pass a feature request to the core team - add quaternion input support for Rotate To Orientation.
Note: Normally “orientation” is a quaternion (e.g., xformOp:orient is a quaternion, Get Look At Rotation output has Rotate XYZ vector3 and “Orientation” quatd4 – except Rotate to Orientation has an input of Target Orientation that is a vector3).
Zero angles I think will be somewhat common as looking from a flat angle will mean the Z rotation is normally zero (or ±180). E.g., walking around a target and use it to target the camera will frequently be at eye level I think.
Workaround: Set the rotation speed to something much higher than the frame rate - then you don’t notice! ;-)
That would be convenient, but unfortunately does not seem to be the case. The docs says its vectord[3] Rotate To Orientation — Omniverse Extensions latest documentation , Action Graph window hover says vectord[3] (screenshot below), and I tried both quaternion and matrix4 - the Action Graph window would not let me connect them. (I tried using nodes like Make Transformation Matrix from TRS to generate a matrixd[4] transform. They won’t connect via the Action Graph window.)