From 5145dd09cab55a896d510482f2e22f74b4d4b76f Mon Sep 17 00:00:00 2001 From: chai <chaifix@163.com> Date: Sat, 5 Jun 2021 19:51:03 +0800 Subject: *misc --- .../Assets/Utilities/MathUtils/QuaternionHelper.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 UnityCollection/Assets/Utilities/MathUtils/QuaternionHelper.cs (limited to 'UnityCollection/Assets/Utilities/MathUtils/QuaternionHelper.cs') diff --git a/UnityCollection/Assets/Utilities/MathUtils/QuaternionHelper.cs b/UnityCollection/Assets/Utilities/MathUtils/QuaternionHelper.cs new file mode 100644 index 0000000..2358613 --- /dev/null +++ b/UnityCollection/Assets/Utilities/MathUtils/QuaternionHelper.cs @@ -0,0 +1,19 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public static class QuaternionHelper +{ + static QuaternionHelper() + { + } + + // 限制旋转的自由度,只有Axis方向的自由度,即提取旋转中绕axis的部分 + public static Quaternion Limit1DOF(Quaternion rotation, Vector3 axis) + { + // Quaternion.FromToRotation得到的是最短路径,不包含绕axis的旋转 + Quaternion res = Quaternion.FromToRotation(rotation * axis, axis) * rotation; + return res; + } + +} \ No newline at end of file -- cgit v1.1-26-g67d0