局部坐标 Local coordinates
常规来说,Unity 是所谓的 Y-up 坐标系,即 Y 轴正向为 向上。
1 | Vector3 upDir = Vector3.up; |
而这所谓的 Y-up 坐标,指的是全局坐标 Global coordinates。
对于一个特定的游戏对象,默认情况下(即 x、y 和 z 轴的旋转值设为 0 时),其坐标系也是符合上述描述的。
但当其发生旋转之后,该游戏对象 自己的坐标系 就会与 全局坐标系 产生差异。

按上图,对于蓝色小球来说:
- 其
Transform.forward即蓝色箭头所指方向; - 其
Transform.up即绿色箭头所指方向; - 其
Transform.right即红色箭头所指方向;
所以有些时候,为了确保游戏对象按全局坐标系的方向进行移动,我们会锁定游戏对象的旋转。如下:

在实际编写代码的时候,也许注意此点。