I came up with some cube rotating, but I could not make it smooth and easy to use because as the cube turned - the keys that handle the turning changed their purpose. Link to demo. The demo rotation is done by increasing euler angles and using
Quaternion.Euler() to get a quaternion for
The ideal rotating would be like below: the keys stay the same, no matter how the cube is rotated. A/D turn the cube from "left/right". W/S turn the cube "up/down". Q/E turns the cube's current face.
But I have no idea where to start when making the above. How could the above be achieved?
EDIT Rioki's answer solved this question. I was previously using local rotation but changing it to world rotation fixed this. Link to demo.