Unity - 变换和对象父子关系

刚开始时,我们讨论了游戏对象的变换可以说是其最重要的组件。让我们在本章中详细讨论该组件。此外,我们还将了解对象父子关系的概念。

变换有三个可见属性,即位置旋转缩放。每个属性都有三个轴的值。2D 游戏在定位时通常不关注 Z 轴。 Z 轴在 2D 游戏中最常见的用途是创建视差

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

对象的比例定义其与原始或原生大小相比有多。例如,让我们取一个尺寸为 2x2 的正方形。如果此正方形相对于 X 轴缩放 3 倍,相对于 Y 轴缩放 2 倍,我们将得到一个尺寸为 6x4 的正方形。

Dimensions

在后续部分中,我们将讨论什么是对象父子关系

什么是对象父子关系?

在 Unity 中,对象遵循层次结构系统。使用该系统,游戏对象可以成为其他游戏对象的"父对象"。

当游戏对象有父对象时,它将根据另一个游戏对象而不是游戏世界执行所有变换更改。

例如,放置在 (10, 0, 0) 处且没有父对象的对象将距离游戏世界的中心 10 个单位。

对象父对象

但是,放置在 (10, 0, 0) 处的 游戏对象 将把 父对象的 当前位置视为中心。

游戏对象

只需将游戏对象拖放到所需的父对象上即可为其设置父对象。"子对象"对象在对象列表中以小缩进以及父对象旁边的箭头表示。

子对象

将游戏对象设为父对象有许多用途。例如,坦克的所有不同部分可以是单独的游戏对象,由名为"坦克"的单个游戏对象作为父对象。这样,当这个"坦克"父游戏对象移动时,所有部分都会随之移动,因为它们的位置会根据其父对象不断更新。

坦克部件

在后续课程中,我们将讨论内部资产。我们还将学习如何在项目中创建和管理资产。