Unity - 变换和对象父子关系
刚开始时,我们讨论了游戏对象的变换可以说是其最重要的组件。让我们在本章中详细讨论该组件。此外,我们还将了解对象父子关系的概念。
变换有三个可见属性,即位置、旋转和缩放。每个属性都有三个轴的值。2D 游戏在定位时通常不关注 Z 轴。 Z 轴在 2D 游戏中最常见的用途是创建视差。
旋转属性定义对象相对于游戏世界或父对象绕该轴旋转的旋转量(以度为单位)。
对象的比例定义其与原始或原生大小相比有多大。例如,让我们取一个尺寸为 2x2 的正方形。如果此正方形相对于 X 轴缩放 3 倍,相对于 Y 轴缩放 2 倍,我们将得到一个尺寸为 6x4 的正方形。
在后续部分中,我们将讨论什么是对象父子关系。
什么是对象父子关系?
在 Unity 中,对象遵循层次结构系统。使用该系统,游戏对象可以成为其他游戏对象的"父对象"。
当游戏对象有父对象时,它将根据另一个游戏对象而不是游戏世界执行所有变换更改。
例如,放置在 (10, 0, 0) 处且没有父对象的对象将距离游戏世界的中心 10 个单位。
但是,放置在 (10, 0, 0) 处的 游戏对象 将把 父对象的 当前位置视为中心。
只需将游戏对象拖放到所需的父对象上即可为其设置父对象。"子对象"对象在对象列表中以小缩进以及父对象旁边的箭头表示。
将游戏对象设为父对象有许多用途。例如,坦克的所有不同部分可以是单独的游戏对象,由名为"坦克"的单个游戏对象作为父对象。这样,当这个"坦克"父游戏对象移动时,所有部分都会随之移动,因为它们的位置会根据其父对象不断更新。
在后续课程中,我们将讨论内部资产。我们还将学习如何在项目中创建和管理资产。