Given:

DestinationVector3 = RotationQuaternion * SourceVector3

What would be:

RotationQuaternion = DestinationVector3 ??? SourceVector3

Given:

DestinationVector3 = RotationQuaternion * SourceVector3

What would be:

RotationQuaternion = DestinationVector3 ??? SourceVector3

Technically, there is no opposite, since Q*V loses information about the “up” position.

For example, if Q rotates 45 degrees right and also spins you on Z, then Q*forwards is just a vector pointing 45 degrees right (0.7,0,0.7). There’s no Z-spin in those numbers. If you FromTo that, you get back a quat that just points 45 degrees right. No spin.

The script reference is your friend.

Quaternion.SetFromToRotation

function SetFromToRotation (fromDirection : Vector3, toDirection : Vector3) : void

Description

Creates a rotation which rotates from fromDirection to toDirection.

It’s Quaternion.FromToRotation:

```
var rot: Quaternion = Quaternion.FromToRotation(SourceVector, DestVector);
```

There are infinite possible rotations that rotate SourceVector to DestVector - this method returns the shortest one.