summaryrefslogtreecommitdiff
path: root/UnityCollection/Assets/Utilities/MathUtils/QuaternionHelper.cs
blob: 23586132ceb6387f2ed187c91c81227aaee78a1a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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;
    }

}