MaT227
1
I use Vector3.Project to project my vector onto another but without loosing any magnitude information. But with project there is a magnitude change.
What else can I use ?
Thanks a lot !
After your projection, just multiply the result Vector’s normalized property with the magnitude of the orignal projected vector. This restores the magnitude to what it was prior to projection. For example, suppose you want to project Vector3(1,1,0) onto the X-axis, but you want to preserve its magnitude (which is Sqrt(2)):
Vector3 projectee = new Vector3(1, 1, 0);
Vector3 projectorBase = Vector3.right;
Vector3 resultWithOriginalMagnitude = Vector3.Project(projectee, projectorBase).normalized * projectee.magnitude;
// Prints "Magnitude: 1.414214"
Debug.Log("Magnitude: " + resultWithOriginalMagnitude.magnitude);
You can just multiply on first vector magnitude.
Vector3 project = new Vector3(1,2,3);
Vector3 projectBase = new Vector3(1,3,2);
Vector3 result = project.magnitude*projectBase.normalized;