目录
2. Transform.rotation 或 Transform.localRotation 属性与四元数
小案例 :目标旋转角度计算:targetRotation(Quaternion类型)
3. Quaternion.LookAt 或 Transform.LookAt 方法
5. 插值方法(如 Quaternion.Lerp 和 Quaternion.Slerp)
1. Transform.Rotate 方法
使用
描述:Rotate 方法直接对物体的本地坐标系应用旋转。它接受一个Vector3参数,表示沿X、Y、Z轴的旋转角度(以度为单位)。也可以接受一个额外的参数来指定旋转是在世界坐标系还是本地坐标系中进行。
特点:
- 直观易用,适用于简单的旋转需求。
- 由于是直接对角度进行累加,长期旋转可能导致数值不稳定或漂移。
2. Transform.rotation 或 Transform.localRotation 属性与四元数
使用方式:
小案例 :目标旋转角度计算:targetRotation(Quaternion类型)
玩家发现敌人位置,玩家转向敌人的实现




描述:
rotation 和 localRotation 属性分别表示物体在世界坐标系和本地坐标系中的旋转,它们都是Quaternion类型。可以使用四元数运算来平滑地插值或组合旋转。
特点:
- 四元数运算可以提供更稳定和平滑的旋转。
Lerp、Slerp等插值方法可以用于实现平滑过渡。- 需要对四元数有一定的理解才能正确使用。
3. Quaternion.LookAt 或 Transform.LookAt 方法
使用方式:
描述:
这些方法使物体朝向指定的位置或目标。Quaternion.LookAt返回一个四元数,表示从当前位置朝向目标位置的旋转;Transform.LookAt则直接应用这个旋转到物体的rotation属性上。
特点:
- 适用于让物体朝向特定目标的情况。
Transform.LookAt更简洁,但不如使用四元数灵活。
4. Quaternion.Euler 方法
使用方式:
描述:
Quaternion.Euler 方法根据欧拉角(以度为单位)创建一个四元数。欧拉角是表示三维旋转的一种方式,由绕X、Y、Z轴的三个角度组成。
特点:
- 可以将欧拉角转换为四元数,方便进行旋转操作。
- 需要注意欧拉角的旋转顺序,不同的顺序可能导致不同的结果。
5. 插值方法(如 Quaternion.Lerp 和 Quaternion.Slerp)
使用方式:
描述:
Lerp(线性插值)和Slerp(球面线性插值)用于在两个四元数之间平滑过渡。它们接受起始四元数、结束四元数和一个插值因子t(范围在0到1之间),并返回一个新的四元数。
特点:
- 可以实现平滑的旋转过渡效果。
Slerp通常比Lerp更适合用于旋转插值,因为它考虑了旋转的最短路径。
6.以上旋转区别与总结
Transform.Rotate方法简单直观,但长期旋转可能导致数值不稳定。- 使用四元数和插值方法(如
Slerp)可以实现更稳定和平滑的旋转效果,但需要一定的数学基础。 Transform.LookAt和Quaternion.LookAt适用于让物体朝向特定目标。Quaternion.Euler可以将欧拉角转换为四元数进行旋转。
案例
玩家通过输入来实现移动和转头













