变换和对象父子关系

17 Mar 2025 | 阅读 2 分钟

在Unity中,Transform 组件有三个可见的属性 - 位置,旋转和缩放。 这些属性中的每一个都有三个值对应于三个轴。 意味着,Transform用于确定场景中每个对象的位置,旋转和缩放。 每个GameObject都有一个Transform。

Transforms and Object Parenting

性质

位置: 这是变换在 X,Y 和 Z 坐标中的位置。 在定位时,2D 游戏通常不关注 Z 轴。 Z 轴在 2D 游戏中最常见的用途是在创建视差效果。

旋转: 此属性定义对象相对于游戏世界或父对象绕该轴旋转的量(以度为单位)。

缩放: 对象的缩放定义了与原始尺寸相比它的大小。 例如,让我们取一个 2x2 尺寸的正方形。 如果正方形沿 X 轴缩放 3 倍,沿 Y 轴缩放 2 倍,我们将得到一个 6x4 大小的正方形。

这些属性是相对于变换的父对象来测量的。 如果变换没有父对象,则这些属性在世界空间中计算。

对象父子关系

在 Unity 中,GameObject 遵循层级系统。 使用此层级系统,GameObject 可以成为其他 GameObject 的父对象。 当 GameObject 有父对象时,它将相对于另一个 GameObject 而不是游戏世界执行所有变换更改。

父对象导致所有子对象以与父对象相同的方式移动和旋转,但移动子对象对父对象没有任何影响。 子对象本身也可以是父对象; 例如,你的手是你的手臂的孩子,手指是你的手的孩子。

父子GameObject 有许多用途。 例如,坦克的所有不同部件都可以是单独的 GameObject,以名为“tank”的单个 GameObject 为父对象。 因此,当这个“tank”父 GameObject 移动时,所有部件都会随之移动,因为它们的位置会根据它们的父对象不断更新。

Transforms and Object Parenting
下一个主题内部资源