# Create Quaternion Rotation from Vector3 Rotation

Quaternion: You can’t get there from here?

I know you can create a Vector3 rotation with the '*" operator (Quat * Vect3 overload). How do you get back to Quaternion? All I see is from Euler which is a nuisance. Surely there is a built in function?

You can use:

``````Vector3 vectorRotation = new Vector3(90,0,0);
Quaternion fromVector = Quaternion.Euler(vectorRotation);
``````

Yeah but eulerAngles are kind of annoying if you are just trying to work with a Vector3 rotation. …unless I missed your point.

Actually I think I found it, lol. Appears you can use FromToRotation to make your very own Quaternions from Vector3 rotations! woot =)

I’m probably just missing what you mean by a Vector3 rotation - the only way to express a rotation with three axes that I know of are Euler angles. If you mean from something like rotating from one Vector3 to a second Vector3 then yea - FromToRotation is probably exactly what you want.

a Vector3 rotation does represent a rotation, they are super handy for everything if you don’t speak Quaternion, which I certainly don’t.

0, 1, 0 is up
0, -1, 0 is down
1, 0, 0, is right
-1, 0, 0 is left

and so on. Anything in between is a mix of those cardinal directions to produce a complete rotation. And you can scale them, the engine doesn’t care what the magnitude is so you can actually use it to represent a physics vector (Direction and Speed from one variable) - this is the system .Velocity uses.

You’ve almost assuredly used them even if you weren’t aware of what it was doing.

Yup, definitely made heavy use of that concept: thanks for clarifying the term for me!