VR、AR与MR项目开发实战
上QQ阅读APP看书,第一时间看更新

1.3 Unity编辑器

1.3.1 项目工程

启动Unity后,会让用户选择打开已有的项目工程还是创建一个新的项目工程,如图1-21所示。默认界面为让用户选择一个已经存在的工程文件,这里会列出创建的所有项目工程文件。如果列表中没有,可以单击界面右上方的“OPEN”按钮,选择需要打开的工程文件夹路径。

图1-21 选择项目工程

当然,也可以新建一个空的项目工程,单击图1-21中的“NEW”按钮,跳转到新建工程界面,如图1-22所示,在该界面输入项目的名称及项目工程文件的路径。需要注意的是,项目工程最好存放到非中文路径中。单击“Create project”按钮即可创建一个项目工程文件。

图1-22 创建新项目工程

当项目工程文件创建完成之后,Unity会自动打开这个工程。可以看到,Unity编辑器分为五大面板,分别为Hierarchy层级面板、Scene场景面板、Inspector检视面板、Project项目面板和Game游戏面板,如图1-23所示。

图1-23 Unity界面布局

1.3.2 Hierarchy面板

Hierarchy面板包含当前场景中的所有物体,比如模型、摄像机、界面、灯光、粒子等。这些将构成我们的项目场景,可以在层级面板中创建一些基本的模型,比如立方体、球体、胶囊体、地形等,也可以创建灯光、声音、界面等。

下面学习如何创建一个立方体。单击层级面板右上方的“Create”按钮或在层次面板内右击,从弹出的快捷菜单中选择“3D Object”,再选择子菜单中的“Cube”命令即可完成创建,如图 1-24所示。

图1-24 创建立方体

还可以在层级面板中改变物体的父子层级,例如选中A物体,将其拖曳到B物体上,此时A物体就变成了B物体的子物体,如图1-25所示,而图1-26中的两个物体就不是父子关系。

图1-25 父子关系

图1-26 平级关系

1.3.3 Scene面板

Scene场景视图用于显示项目中的场景信息,在这个面板中可以对项目场景中的组件进行调整,如图1-27所示。我们将使用场景视图来选择和定位环境、玩家、相机、敌人以及其他游戏对象。在场景视图操作对象是最重要的功能之一,所以需要能够迅速操作它们。为此,Unity提供了常用的按键操作。

  • 按住鼠标右键进入飞行模式,并按WASD键(Q和E键为上下)进入第一人称预览导航。
  • 选择任意游戏对象后按F键,这会让选择的对象最大化显示在场景视图中心。
  • 按Alt键并单击鼠标左键拖曳,围绕当前轴心点动态观察。
  • 按Alt键并单击鼠标中键拖曳来平移观察场景视图。
  • 按Alt键并点鼠标右键拖曳来缩放场景视图,和鼠标滚轮滚动作用相同。

图1-27 Scene视图

提示

当单击图1-27右上方的锁时,将不能进行旋转操作,直至再次单击。

以上是对Scene面板的操作,那么在Scene面板中如何完成对模型的移动、旋转、缩放等操作呢?这就用到了变换工具栏,如图1-28所示,分别为平移视角、对象移动、对象旋转、对象缩放、对UI界面的操作。

  • 平移视角按钮,在Scene视图中平移视角,不对模型等产生影响。
  • 对象移动按钮,对选中的对象进行移动。
  • 对象旋转按钮,对选中的对象进行旋转。
  • 对象缩放按钮,对选中的对象进行缩放。
  • 对UI界面操作的按钮,仅针对UI界面进行移动、旋转、缩放操作。

图1-28 变换工具栏

1.3.4 Inspector面板

我们已经知道了当前场景中的所有对象都在Hierarchy面板中罗列,那么这些对象的详细信息在什么地方查看和修改呢?就是在Inspector检视面板中。在检视面板中显示当前选中的对象,包括所有的附加组件和属性的详细信息。显示在检视面板的任何属性都可以直接修改,即使脚本变量也可以修改,而无须修改脚本本身。

每个物体或者每类物体在检视面板中显示的内容都不尽相同,下面以一个Cube为例来学习检视面板,图1-29中的内容从上到下依次为:

  • 当前选中物体(Cube)的名称。
  • 当前选中物体(Cube)的标签和所在层级。
  • Transform:用以修改模型的位置、角度、比例信息。
  • Cube(Mesh Filter):模型的网格信息。
  • Box Collider:模型的碰撞体。
  • Mesh Renderer:模型网格渲染器,可以控制物体是否接受或者产生阴影、指定模型材质球等功能。
  • Materials:模型所使用的材质球。

在每一个组件右上方均有一个问号图标,单击这个问号可以链接到官方网站的用户手册中,其中详细地介绍了该组件。问号右边有一个齿轮状的图标,单击这个图标之后弹出一个菜单,可以对这个组件进行操作。以“Transform”组件为例进行介绍,如图1-30所示。

图1-29 检视面板

图1-30 对“Transform”组件进行操作

  • Reset:重置这个组件。
  • Move to Front:将这个组件在检视面板中上移,以提高执行顺序。
  • Move to Back:将这个组件在检视面板中下移。
  • Copy Component:复制这个组件。
  • Paste Component As New:粘贴复制的组件。
  • Paste Component Values:粘贴复制的组件中的值,只对同一类组件有效。
  • Reset Position:重置物体的位置。
  • Reset Rotation:重置物体的旋转角度。
  • Reset Scale:重置物体的缩放比例。

1.3.5 Project面板

在Project项目面板的左侧显示作为层级列表的项目文件夹结构。通过单击从列表中选择一个文件夹,其内容会显示在面板右侧。各个资源以标示它们类型的图标显示(脚本、材质、子文件夹等),图标可以使用面板底部的滑动条来调节大小,如果滑块移动到最左边,将重置为层级列表显示。滑动条左侧的面板显示当前选择的项,如果是正在执行的搜索,将显示选择项的完整路径,如图1-31所示。

图1-31 Project项目面板

项目面板中常见的资源有模型、材质球、贴图、脚本、动画、字体等。在项目面板的左上角单击“Create”按钮,会出现一个下拉菜单,可以创建项目的相关资源,如图1-32所示。下面介绍其中一些比较常用的命令。

  • Folder:创建一个文件夹,用于资源分类。
  • C# Script:创建C#的脚本。
  • Javascript:创建Javascript的脚本。
  • Shader:创建一个着色器,专门用来渲染3D图形的一种技术。通过Shader可以自己编写显卡渲染画面的算法,使画面更漂亮、更逼真。
  • Scene:游戏场景。
  • Prefab:预制体,场景中对象的克隆体。
  • Audio Mixer:声音混合器。
  • Material:材质球。
  • Lens Flare:镜头光晕效果。
  • Render Texture:渲染贴图。
  • Lightmap Parameters:灯光贴图参数设置。
  • Sprites:用于UI的精灵图。
  • Animator Controller:动作控制器。

图1-32 “Create”下拉菜单

在项目面板的右侧右击,会弹出如图1-33所示的快捷菜单。下面介绍其中一些比较常用的命令。

图1-33 对项目面板进行操作的命令

  • Create:创建资源。
  • Show in Explorer:打开当前资源的文件夹。
  • Open:打开当前选择的文件。
  • Delete:删除当前选择的文件。
  • Import New Asset...:导入新的资源,资源格式不限。
  • Import Package:导入一个Unity包,格式为“.unitypackage”。
  • Export Package...:导出选择的Unity包。
  • Select Dependencies:选择与当前文件有依赖的内容。
  • Refresh:刷新面板。

1.3.6 Game面板

游戏视图面板是从相机渲染的,表示最终的、发布的项目,必须使用一个或多个相机来控制,当玩家玩游戏时,实际看到的是如图1-34所示的效果。可以在Scene面板中选中相机进行移动、旋转或者控制视角来修改游戏面板中显示的内容,也可以选中相机在其Inspector中修改Transform属性来修改显示的内容。

图1-34 游戏视图面板

在Game视图面板上方有3个控制按钮,分别为开始程序、暂停程序和逐帧运行游戏按钮,如图1-35所示。

  • 开始程序按钮:用以开始当前程序。
  • 暂停程序按钮:用以暂停已开始的程序。
  • 逐帧运行游戏按钮:每单击一下播放一帧。

图1-35 控制按钮