Hi Xander here. I kept making mistakes and wasting programming time when it comes to Transform.Rotations. It can be hard to remember what all the inbuilt Unity Vector commands do and when it’s easier to use Quaternion.LookAt() or a different inbuilt command. so I created an example project that included common ways to handle a rotation and a graphical representation of them. I’m putting it up here in the hope that other people find it useful. The code and project files are in GIT here: https://github.com/zuluonezero/UnityRotation and I will give a description of what to do with it below.
All you need to do to get it working is to open a fresh project and remove any existing Camera’s and other items from the default Scene.
Then import the RotationsPrefab from GitHub and place it in the scene.
You will see that there is a cube set up in the middle with the Axis bars shown in green, red, and blue.
Have a look at the Cube object in the Editor and check out the script attached to it called RotationScript.
This is what it looks like:
Have a read through the code (most of which is not my own and comes from the Unity3d Manual examples for the functions called).
The script runs in the Editor but it’s better in Run mode (don’t maximize it or you cannot play with the script while it’s running).
You can use the Move Camera button to shift from 2D to a 3D view (3D is better).
Click Play and start messing round with the tick boxes and sliders of the Rotation script in the Editor. (Most of the tick boxes need to be unchecked after you have used them to move down the execute order of the script).
The first section plays with Vectors to rotate the cube and the seconds uses Quaternions.
There is a summary of what’s happening in the script on the screen but having the code open while you play helps understand what’s going on a little easier.
Here is a little demo of what it looks like when you play around with it.
I hope you get something out of this because even after a couple of years I still get this stuff wrong time and again and have to relearn it again. Hopefully now it will stick!