I'm trying to control and rotate a player character based on the joystick input like e.g. Torchlight and Magicka.
If you hold the joystick up-left, I want the player character to immediately rotate and face that direction and walk to that position, while having the character always being angled at e.g. a 30 degree angle.
If you hold the joystick down-right, the player character should rotate and face that direction and walk there.
The problem I'm having is keeping the player character at the 30 degree angle while rotating him towards the joystick angle. Here's an image trying to explain what I currently have (the "Wrong" one), and what I hope to achieve (the "Right" one):
Here's the code I currently use, which works for everything BUT does not keep the player at the right 30 degree angle:
Basically, I want what the line below does, as it rotates it correctly at the angle it's currently on, but instead rotate it to the joystick's direction:
GoPlayer.transform.Rotate(Vector3.up * (Time.deltaTime * 100.0f));