Skip to main content

游戏对象编辑

yoo what?像这种的?

image.png

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

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

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

让我们先从提到编辑游戏对象就绕不开的两大模块窗口开始说起:层级窗口(Hierarchy)与场景窗口(Scene)。

层级窗口(Hierarchy)

image.png

层级窗口是一个显示场景中所有游戏对象(如模型、摄像机或预制件)的窗口,展示对象之间的父子级关系,类似于一个列表清单。

您可以使用层级窗口对场景中使用的游戏对象进行排序和分组,在场景视图中添加或移除游戏对象时,对应的层级窗口也会同样添加或移除相同游戏对象。

(给出演示gif)

场景窗口(Scene)

image.png

场景窗口是您在 Unity 能够最直观地摆放和设置对象的窗口,您可以在场景窗口中观察整个场景,做到设计,快捷拖拽,变形,搭建物体。

编辑工具

您可以在 Unity 左上角发现一列的图标,这些是用于处理场景窗口内游戏对象的快捷工具,不同的快捷图标代表着不同的操作功能。

image.png

  • 第一个小手允许您拖拽视角窗口,快速改变视角(摄像头)所在位置。
  • 第二个移动头允许您快捷拖拽选中的物体(不同轴的移动),改变它的位置
  • 第三个旋转头允许您快捷旋转选中的物体(不同轴的旋转),改变它的角度。
  • 第四个缩放头允许您快捷缩放选中的物体(不同轴的缩放),改变它的比例和大小。
  • 第五个拖拽点允许您快捷改变物体(以方块为例,12个边)每个边的相对位置以做到更快的移动和缩放物体。
  • 第六个综合头结合了第二/三/四个箭头的功能。
  • 第七个工具允许您修改游戏对象的特定性质(例如仅改变物体的碰撞箱)。

在场景窗口的上方条栏左右角分别有不同的按钮和功能,让我们从左至右介绍。

image.png

  • 第一个框表示场景窗口的视图模式,不同的选项代表不同的渲染模式(大概就是看到的画面的效果不同),不了解选项的具体含义没什么问题,如果您在观察视图时遇见了一些没法好好分析画面的情况,只需要在众多选项中一个一个选,选到自己如意的直接使用即可。
  • 第二个2D按钮能够切换视图窗口的摄像机模式,当2D按钮亮起时画面无透视点,整体内容按照某一轴平铺(降维打击),当2D按钮熄灭时为3D模式,画面有透视点并且画面内容遵循透视效果。
  • 第三个按钮是灯光按钮,这按钮的功能并不类似于一次性开关场景内的灯光,而是切换灯光的映射方式。当灯光按钮亮起时,场景照明使用的是默认的场景灯光,当灯光按钮熄灭时,场景照明依赖于从摄像头方向发射的光源(类似于眼睛在发光)。
  • 第四个按钮是音频按钮,点亮音频按钮可以听见场景内的音频声效,熄灭时则为静音。
  • 第五个按钮是层级列表,点击层级列表图标左侧的倒三角展开,您就可以看见不同的效果层级,单击一下点掉左侧的对勾即可屏蔽相关效果层级,十分的爽滑。(如果不知道这些是什么,随便点一点玩一玩就大概知道每个模式的用处了。)

特性-父子级

父子级如同我们平时经常接触到的电脑文件夹(文件夹本身便是一个父子关系),一个文件夹内可以包含 无数个子文件夹和文件(对子文件夹也同理,因为文件夹本身并不会因为子父级关系改变而改变它的任何功能), 当主文件夹位置变动时文件夹内部的所有资源都将会一同改变位置(但是主文件夹与内容物的相对位置不变)。

只不过Unity的父子级更加的有趣。

在Unity中起到文件夹作用的是游戏对象(Game Object)。

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

检查窗口(Inspector)

检查窗口可以查看和编辑 Unity 中几乎所有内容(包括游戏对象、Unity 组件、资源、材质)的属性和设置,让我们先了解以下何为组件。

组件

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

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

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

image.png

形变(Transform) 组件:Unity 中的每个游戏对象都有 ,此组件定义游戏对象在游戏世界和 Scene 视图 中的位置(Position)、旋转(Rotation)和缩放(Scale)。无法删除此组件。

网格渲染(Mesh Renderer)组件:将物体渲染出来的组件,暂不做详细介绍。

方块碰撞(Box Collider)组件:为物体赋予方块形状的碰撞体积的组件,暂不作详细介绍。