Skip to main content

游戏对象编辑

什么是游戏对象?

yoo what?像这种的?

image.png

我们在这里提到的所谓“游戏对象”指的是 Unity 中的 GameObject。游戏对象可以指代任何一个能够存在于场景(Scene)中的事物,是 Unity 的基础对象,表示角色、道具和景物。

这并非很难理解的概念,我们可以将游戏对象理解成为一个篮子,里面可以装有各式各样的东西,装着菜就叫菜篮子,装着水果就叫水果篮子,装着蛋就叫。。。

我们可以从此发现,游戏对象实际的用途取决于它所装着的东西——也就是组件(Components),而游戏对象本身作为组件的容器,在组件的帮助下得以和项目中的其他事物产生交互。

游戏对象之间的关系(父子级)

父子级 的概念十分通俗易懂,一个父亲能有许多个孩子,但一个孩子只能拥有一个爹。

画板 235.png

您可以简单将 游戏对象 认作一个文件夹,一个对象可以包含继承其属性的其他游戏对象。可以将游戏对象链接在一起以帮助移动、缩放或变换游戏对象的集 合。移动顶层对象或父游戏对象时,也会移动所有子游戏对象。

您可以在 Hierarchy 里直观的看到场景内游戏对象之间的父子级关系,举个例子,这是一组场景内的椅子,我创建了一个名为 bar-chairs 的游戏对象,并把每一个 Chairs_Bar_Chairs_1 (?) 全部塞进了新创建的游戏对象中,现在我可以通过拖动 父级-bar-chairs 来 统一拖动其余的 子集- Chairs_Bar_Chairs_1 (?)

画板 236.png

什么是组件?

游戏对象是组件的载体。而组件又定义了该游戏对象的行为。

这么说可能有点模糊,简单点来说,组件决定了一个游戏对象的功能,改变这一游戏对象的组件属性便改变了这一游戏对象的功能和实际表现。

举个例子,让我们创建一个 方块 来看看它的组件都有些什么:

image.png

形变(Transform) 组件:此组件定义游戏对象在场景中的 位置(Position)旋转(Rotation) 缩放(Scale),Unity 中的每个游戏对象都有 。

网格渲染(Mesh Renderer)组件:将物体渲染出来的组件,简单来说是 让物体可以被看见

方块碰撞(Box Collider)组件:为物体赋予方块形状的碰撞体积的组件,简单来说是 让物体可以被碰见

材质(Material)组件:配合网格渲染组件,让物体展示出某种特定的材质和质感。

让我们再创建一个 直射灯光,来看看它有着什么样的组件。

d8d1e7c148e0058fbabb592aa46940c0.png

形变(Transform) 组件:此组件定义游戏对象在场景中的 位置(Position)旋转(Rotation) 缩放(Scale),Unity 中的每个游戏对象都有 。

灯光(Light)组件:此组件定义该游戏对象在场景内的灯光属性,您可以利用这些属性改变光的大小,强度等元素。