From 1171c279a10fb92f2a644467d0c1cc2bbe9814ad Mon Sep 17 00:00:00 2001 From: Abdiel Lopez <48071553+PaperPrototype@users.noreply.github.com> Date: Tue, 12 Nov 2024 02:38:27 -0500 Subject: [PATCH 1/2] Vector3.cs - Calculate Perpendicular vector --- Prowl.Runtime/Math/Vector3.cs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Prowl.Runtime/Math/Vector3.cs b/Prowl.Runtime/Math/Vector3.cs index 02bfeddb7..b26ee555b 100644 --- a/Prowl.Runtime/Math/Vector3.cs +++ b/Prowl.Runtime/Math/Vector3.cs @@ -468,6 +468,14 @@ public static Vector3 ProjectOnPlane(Vector3 vector, Vector3 planeNormal) return projectedVector; } + public Vector3 Perpendicular(Vector3 vector) + { + vector = vector.normalized; // line from a to b + if (Mathf.Approximately(Mathf.Abs(Vector3.Dot(vector, Vector3.up)), 1f)) + return Vector3.Cross(vector, Vector3.right).normalized; + else + return Vector3.Cross(vector, Vector3.up).normalized; + } #endregion Public Static Methods #region Public Static Operators From 28bea2c6df643c223d84cecd7a48e71db701b50c Mon Sep 17 00:00:00 2001 From: Abdiel Lopez <48071553+PaperPrototype@users.noreply.github.com> Date: Tue, 12 Nov 2024 02:39:46 -0500 Subject: [PATCH 2/2] changed to be static --- Prowl.Runtime/Math/Vector3.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Prowl.Runtime/Math/Vector3.cs b/Prowl.Runtime/Math/Vector3.cs index b26ee555b..4ab53150c 100644 --- a/Prowl.Runtime/Math/Vector3.cs +++ b/Prowl.Runtime/Math/Vector3.cs @@ -468,7 +468,7 @@ public static Vector3 ProjectOnPlane(Vector3 vector, Vector3 planeNormal) return projectedVector; } - public Vector3 Perpendicular(Vector3 vector) + public static Vector3 Perpendicular(Vector3 vector) { vector = vector.normalized; // line from a to b if (Mathf.Approximately(Mathf.Abs(Vector3.Dot(vector, Vector3.up)), 1f))