1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| 以下是 `Vector3` 类中提到的函数的总结:
1. Vector3.Angle(Vector3 from, Vector3 to) - 传入 :两个 `Vector3` 对象 `from` 和 `to`。 - 返回值 :一个 `float` 值,表示两个向量之间的夹角(以度为单位)。
2. Vector3.ClampMagnitude(Vector3 vector, float maxLength) - 传入 :一个 `Vector3` 对象 `vector` 和一个 `float` 值 `maxLength`。 - 返回值 :一个新的 `Vector3` 对象,其大小被限制为 `maxLength`。
3. Vector3.Cross(Vector3 a, Vector3 b) - 传入 :两个 `Vector3` 对象 `a` 和 `b`。 - 返回值 :一个新的 `Vector3` 对象,表示 `a` 和 `b` 的叉积结果。
4. Vector3.Distance(Vector3 a, Vector3 b) - 传入 :两个 `Vector3` 对象 `a` 和 `b`。 - 返回值 :一个 `float` 值,表示 `a` 和 `b` 之间的距离。
5. Vector3.Dot(Vector3 a, Vector3 b) - 传入 :两个 `Vector3` 对象 `a` 和 `b`。 - 返回值 :一个 `float` 值,表示 `a` 和 `b` 的点积结果。
6. Vector3.Lerp(Vector3 a, Vector3 b, float t) - 传入 :两个 `Vector3` 对象 `a` 和 `b`,以及一个插值参数 `t`(在0到1之间)。 - 返回值 :一个新的 `Vector3` 对象,表示 `a` 和 `b` 之间的线性插值结果。
7. Vector3.LerpUnclamped(Vector3 a, Vector3 b, float t) - 传入 :两个 `Vector3` 对象 `a` 和 `b`,以及一个插值参数 `t`(不受0到1限制)。 - 返回值 :一个新的 `Vector3` 对象,表示 `a` 和 `b` 之间的线性插值结果。
8. Vector3.Max(Vector3 a, Vector3 b) - 传入 :两个 `Vector3` 对象 `a` 和 `b`。 - 返回值 :一个新的 `Vector3` 对象,其每个分量是 `a` 和 `b` 对应分量的最大值。
9. Vector3.Min(Vector3 a, Vector3 b) - 传入 :两个 `Vector3` 对象 `a` 和 `b`。 - 返回值 :一个新的 `Vector3` 对象,其每个分量是 `a` 和 `b` 对应分量的最小值。
10. Vector3.MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta) - 传入 :一个 `Vector3` 对象 `current`,一个 `Vector3` 对象 `target`,以及一个 `float` 值 `maxDistanceDelta`。 - 返回值 :一个新的 `Vector3` 对象,表示从 `current` 向 `target` 移动,但不超过 `maxDistanceDelta` 指定的距离。
11. Vector3.Normalize(Vector3 value) - 传入 :一个 `Vector3` 对象 `value`。 - 返回值 :一个新的 `Vector3` 对象,表示 `value` 方向上的单位向量。
12. Vector3.OrthoNormalize(Vector3 normal, Vector3 tangent) - 传入 :两个 `Vector3` 对象 `normal` 和 `tangent`。 - 返回值 :两个单位向量,`normal` 被标准化,`tangent` 被标准化并正交于 `normal`。
13. Vector3.Project(Vector3 a, Vector3 b) - 传入 :两个 `Vector3` 对象 `a` 和 `b`。 - 返回值 :一个新的 `Vector3` 对象,表示 `a` 在 `b` 上的投影。
14. Vector3.ProjectOnPlane(Vector3 vector, Vector3 planeNormal) - 传入 :一个 `Vector3` 对象 `vector` 和一个 `Vector3` 对象 `planeNormal`。 - 返回值 :一个新的 `Vector3` 对象,表示 `vector` 在由 `planeNormal` 定义的平面上的投影。
15. Vector3.Reflect(Vector3 inDirection, Vector3 inNormal) - 传入 :一个 `Vector3` 对象 `inDirection` 和一个 `Vector3` 对象 `inNormal`。 - 返回值 :一个新的 `Vector3` 对象,表示 `inDirection` 从由 `inNormal` 定义的平面反射的结果。
16. Vector3.RotateTowards(Vector3 current, Vector3 target, float maxRadiansDelta, float maxMagnitudeDelta) - 传入 :一个 `Vector3` 对象 `current`,一个 `Vector3` 对象 `target`,以及两个 `float` 值 `maxRadiansDelta` 和 `maxMagnitudeDelta`。 - 返回值 :一个新的 `Vector3` 对象,表示 `current` 向 `target` 旋转,但不超过 `maxRadiansDelta` 和 `maxMagnitudeDelta` 指定的角度和大小变化。
17. Vector3.Scale(Vector3 a, Vector3 b) - 传入 :两个 `Vector3` 对象 `a` 和 `b`。 - 返回值 :一个新的 `Vector3` 对象,其每个分量是 `a` 和 `b` 对应分量的乘积。
18. Vector3.SignedAngle(Vector3 from, Vector3 to, Vector3 axis) - 传入 :三个 `Vector3` 对象 `from`、`to` 和 `axis`。 - 返回值 :一个 `float` 值,表示 `from` 和 `to` 相对于 `axis` 的有符号夹角(以弧度为单位)。
19. Vector3.Slerp(Vector3 a, Vector3 b, float t) - 传入 :两个 `Vector3` 对象 `a` 和 `b`,以及一个插值参数 `t`(在0到1之间)。 - 返回值 :一个新的 `Vector3` 对象,表示 `a` 和 `b` 之间的球形插值结果。
20. Vector3.SlerpUnclamped(Vector3 a, Vector3 b, float t) - 传入 :两个 `Vector3` 对象 `a` 和 `b`,以及一个插值参数 `t`(不受0到1限制)。 - 返回值 :一个新的 `Vector3` 对象,表示 `a` 和 `b` 之间的球形插值结果。
21. Vector3.SmoothDamp(Vector3 current, Vector3 target, ref Vector3 currentVelocity, float smoothTime, float maxSpeed, float deltaTime) - 传入 :一个 `Vector3` 对象 `current`,一个 `Vector3` 对象 `target`,一个 `Vector3` 引用 `currentVelocity`,一个 `float` 值 `smoothTime`,一个 `float` 值 `maxSpeed`,和一个 `float` 值 `deltaTime`。 - 返回值 :一个新的 `Vector3` 对象,表示 `current` 随时间平滑过渡到 `target` 的结果。
这些函数在Unity中用于处理向量运算,包括角度计算、大小限制、插值、投影等,广泛应用于物理计算、动画制作和游戏开发中。
|