购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.4 Unity3D界面基础

Unity3D拥有强大的编辑界面,开发者在创建项目过程中可以通过可视化的编辑界面创建项目。Unity3D的基本界面非常简单,几个窗口就可以实现几乎全部的编辑功能,主要包括菜单栏、工具栏及五大视图,可供开发者在较短时间内掌握相应的基础操作方法。

2.4.1 Unity3D界面布局

Unity主界面如图2.32所示,Unity的基本界面布局包括工具栏、菜单栏以及五个主要的视图操作窗口,分别为Hierarchy(层次视图)、Project(项目视图)、Inspector(检视视图)、Scene(场景视图)和Game(游戏视图)。

图2.32 Unity界面视图

在Unity中有几种类型的视图,每种视图都有指定的用途。右上角Layouts按钮用于改变视图模式,单击Layouts选项,可以在下拉框中看到有很多种视图,其中有2 by 3、4 Split、Default、Tall、Wide等,如图2.33所示。其中,2 by 3布局是一个经典的布局,很多开发人员都使用这样的布局。4 Spilt窗口布局可以呈现4个Scene场景视图,通过控制4个场景可以更清楚地进行场景的搭建。Wide窗口布局将Inspector视图放置在最右侧,将Hierarchy视图与Project视图放置在一列。Tall窗口布局将Hierarchy视图与Project视图放置在Scene视图的下方。当自定义好窗口布局时单击Windows→Layouts→Save Layout,然后在弹出来的小窗口中输入自定义窗口的名称,单击Save按钮,可以看到窗口布局的名称是“自定义”。

图2.33 Unity中五种界面布局方式

2.4.2 Unity3D界面介绍

1. Scene面板

Unity中Scene(场景)视图用于构建游戏场景,开发者可以在该视图中通过可视化方式进行项目开发,并根据个人的喜好调整Scene视图的位置,创建游戏时所用的模型、灯光、相机、材质、音频等内容都将显示在该窗口中,如图2.34所示。

图2.34 Scene(场景)视图

Scene(场景)视图上端的视图控制栏,此选项用于改变相机查看场景的方式。从左到右依次是Shaded、2D、灯光、声音、特效、Gizmos等按钮。其中,Shaded按钮主要用来切换绘图模式;2D按钮用来切换2D与3D视图;灯光按钮用来控制场景中灯光的打开与关闭;声音按钮用来控制场景中声音的打开与关闭;图片按钮用来控制场景中天空球、雾效、光晕等组件的显示与隐藏;Gizmos按钮用来控制场景中光源、声音、相机等对象的显示与隐藏;Gizmos按钮右侧视图板块用来查找物体。

2. Game面板

Unity中Game(游戏)视图用于显示最后发布后的项目运行画面,开发者可以通过此视图进行项目测试,单击“播放”按钮后,开发者可以在Game(游戏)视图中进行游戏的预览,并且可以随时中断或停止测试,如图2.35所示。

图2.35 Game(游戏)视图

Game(游戏)视图的顶部是用于控制Game(游戏)视图中显示属性的控制条,从左到右依次是Display1、Free Aspect、Scale、Maximize on Play、Mute audio、Stats、Gizmos。其中,Display1表示当前测试窗口名称;Free Aspect用于调整屏幕显示比例,默认为自由比例;Scale用于测试窗口的缩放大小;Maximize on Play用于切换游戏运行时最大化显示场景;Mute audio用于静音测试;Stats用于显示运行场景的渲染速度、帧率、内存参数等内容;Gizmos用于显示隐藏场景中的灯光、声音、相机等游戏对象图标。

3. Hierarchy面板

Unity中Hierarchy(层次)视图,用于显示当前场景的所有游戏对象(Game Object),同时,在Hierarchy(层次)视图中,开发者可以通过对游戏对象建立父子级别的方式对大量对象的移动和编辑进行更加精确和方便的操作,如图2.36所示。

在Hierarchy(层次)视图中,单击Create按钮,可以开启与Game Object菜单下相同的命令功能;单击右侧的倒三角可以保存场景及加载场景;单击搜索区域,则游戏开发者可以快速查找到场景中的某个对象。

图2.36 Hierarchy面板

4. Project面板

Unity中Project(项目)视图,用于显示资源目录下所有可用的资源列表,相当于一个资源仓库,用户可以使用它访问和管理整个项目资源。对于显示的资源,可以从其图标看出它的类型,如脚本、材质、子文件夹等。可以使用面板底部的滑块调节图标的显示尺寸,当滑块移动到最左边时,资源就会以层次列的形式显示出来。当进行搜索时,滑块左边的空间就会显示资源的一个完整路径,如图2.37所示。

图2.37 Project面板

在Project(项目)视图中,在项目视窗最顶部的是一个浏览器工具条。在最左边的是一个Create菜单,单击Create按钮,则会开启与Assets菜单下Create命令相同的功能,开发者可以通过其创建脚本、阴影、材质、动画、UI等资源。

在Project(项目)视图中,单击搜索区域,开发者可以快速查找到指定的某个资源文件的内容。其中包括三个按钮,第一个按钮允许通过使用菜单更进一步过滤资源;第二个按钮会根据资源的“标签”过滤资源,如图2.38所示。

图2.38 Project面板下的搜索功能

在Project(项目)视图中,在左侧面板的顶部是一个名称为Favorites(收藏)的小面板,把要经常或频繁访问的资源保存在此处,这样可以更方便地访问它们。使用时,可以从项目文件夹层次中拖动文件夹到此处,或通过保存搜索结果的方式进行保存,如图2.39所示。

在Project(项目)视图中,在右侧面板的顶部是一个“选择项轨迹条”,它显示了项目视图中当前选中的文件夹的具体文件路径,如图2.40所示。

图2.39 Project面板下的收藏功能

图2.40 Project面板下的选择轨迹条

5. Inspector面板

Unity中Inspector(检视)面板用于显示当前游戏场景中选中对象所拥有的所有组件,开发者可以在Inspector(检视)面板中修改摄像机对象的各项参数及属性设置,如图2.41所示。

图2.41 Inspector面板

在Unity的Inspector(检视)面板中通常会出现Transform组件,用于调节所选对象的Position(位置)、Rotation(旋转)、Scale(缩放)属性值。除此以外,还会出现Collider碰撞体的相关参数,Mesh Render用于设置网格渲染器的相关参数等。

6. 顶部菜单栏

Unity中菜单栏是操作界面的重要组成部分之一,其主要用于集合分散的功能与板块,并且友好的设计能够使游戏开发者以较快的速度查找到相应的功能内容。Unity3D菜单栏中包含File(文件)、Edit(编辑)、Assets(资源)、GameObject(游戏对象)、Component(组件)、Window(窗口)和Help(帮助)7组菜单,如图2.42所示。

图2.42 Unity菜单栏

1)File(文件)菜单

File菜单主要用于打开和保存场景项目,同时也可以创建场景。其中,New Scene(Ctrl+N)用于创建一个新的场景;Open Scene(Ctrl+O)用于打开一个已经创建的场景;Save Scene(Ctrl+S)用于保存当前场景;Save Scene as(Ctrl+Shift+S)用于另存当前场景;New Project(新建工程)用于新建一个新的项目工程;Open Project(打开工程)用于打开一个已经创建的工程;Save Project(保存工程)用于保存当前项目;Build Settings(Ctrl+Shift+B)用于工程发布的相关设置;Build&Run(Ctrl+B)用于工程发布并运行项目;Exit(退出)用于退出Unity3D。

2)Edit(编辑)菜单

Edit(编辑)菜单用于场景对象的基本操作(如撤销、重做、复制、粘贴)以及项目的相关设置。其中,Undo(Ctrl+Z)用于撤销上一步操作;Redo(Ctrl+Y)用于重复上一步动作;Cut(Ctrl+X)用于将对象剪切到剪贴板;Copy(Ctrl+C)用于复制对象;Paste(Ctrl+V)用于将剪贴板中的当前对象粘贴上;Play(Ctrl+P)用于执行游戏场景;Pause(Ctrl+Shift+P)用于暂停游戏;Step(Ctrl+Alt+P)用于单步执行程序;Sign in(登录)用于登录Unity账户;Sign out(退出)用于退出Unity账户;Duplicate(Ctrl+D)用于复制并粘贴上对象;Selection(选择)用于载入和保存已有选项;Delete(Shift+Del)用于删除对象;Frame Selected(F)用于平移缩放窗口至选择的对象;Look View to Selected(Shift+F)用于聚焦到所选对象;Find(Ctrl+F)用于切换到搜索框,通过对象名称搜索对象;Select All(Ctrl+A)用于选中所有对象;Preferences(偏好设置)用于设定Unity编辑器偏好设置功能相关参数;Modules(模块)用于选择加载Unity编辑器模块;Project Settings(工程设置)用于设置项目相关参数;Graphics Emulation(图形仿真)用于选择图形仿真方式配合一些图形加速器的处理;Snap Settings(吸附设置)用于设置吸附功能相关参数。

3)Assets(资源)菜单

Assets(资源)菜单主要用于资源的创建、导入、导出以及同步相关所有功能。其中,Create(创建)用于创建功能(脚本、动画、材质、字体、贴图、物理材质、GUI皮肤等);Show in Explorer(文件夹显示)用于打开资源所在的目录位置;Open(开启)用于开启对象;Delete(删除)用于删除所选对象;Rename(重命名)用于将所选对象重命名;Copy Path(复制路径)用于复制路径;Open Scene Addictive(添加场景)用于打开添加的场景;Import New Asset(导入新资源)用于导入新的资源;Import Package(导入资源包)用于导入资源包;Export Package(导出资源包)用于导出资源包;Find References in Scene(在场景中找出资源)用于在场景中找出相关资源;Select Dependencies(选择相关)用于选择相关资源;Refresh(刷新)用于刷新资源;Reimport(重新导入)用于将所选对象重新导入;Reimport All(重新导入所有)用于将所有对象重新导入;Run API Updater(运行API更新器)用于启动API更新器;Open C#Project(与MonoDevelop工程同步)用于开启MonoDevelop并与工程同步。

4)GameObject(游戏对象)菜单

GameObject(游戏对象)菜单主要用于创建、显示游戏对象。其中,Create Empty(Ctrl+Shift+N)用于创建一个空的游戏对象;Create Empty Child(Alt+Shift+N)用于创建其他组件,如摄像机、接口文字与几何物体等;3D Object(3D物体)用于创建三维对象;2D Object(2D物体)用于创建二维对象;Effects(特效)用于创建特效;Light(灯光)用于创建灯光对象;Audio(声音)用于创建声音对象;Video(视频)用于创建视频对象;UI(界面)用于创建UI对象;Vuforia(高通)用于创建Vuforia对象;Camera(摄像机)用于创建摄像机对象;Center on Children(聚焦子对象)用于将父对象的中心移动到子对象上;Make Parent(构成父对象)用于选中多个对象后创建父子对象集的对应关系;Clear Parent(清除父对象)用于取消父子对象的对应关系;Apply Changes To Prefab(应用变换)用于更新对象的修改属性到对应的预制体上;Break Prefab Instance(取消预制实例)用于取消实例对象与预制体直接的属性关联关系;Set as first sibling(Ctrl+=)用于设置选定子对象为所在父对象下面的第一个子对象;Set as last sibling(Ctrl+-)用于设置选定子对象为所在父对象下面的最后一个子对象;Move To View(Ctrl+Alt+F)用于改变对象的Position的坐标值将所选对象移动到Scene视窗中;Align With View(Ctrl+Shift+F)用于改变对象的Position的坐标值将所选对象移动到Scene视窗的中心点;Align View To Selected(视图选择)用于将编辑视角移动到选中物体的中心位置;Toggle Active State(Alt+Shift+A)用于设置选定的对象为激活或不激活状态。

5)Component(组件)菜单

Component(组件)菜单主要用于在项目制作过程中为游戏物体添加组件或属性。其中,Mesh(网格)用于添加网格属性;Effects(特效)用于添加特效组件;Physics(物理效果)用于物理系统,可以使物体带有对应的物理属性;Physics 2D(2D物理特效)用于添加2D物理组件;Navigation(导航)用于添加导航组件;Audio(音效)用于添加音频组件,可以创建声音的听者;Video(视频)用于添加视频组件;Rendering(渲染)用于添加渲染组件;Tilemap(图类)用于添加图类组件;Layout(布局)用于添加布局组件;Playables(播放)用于添加播放组件;AR(增强现实)用于添加增强现实组件;Miscellaneous(其他)用于添加杂项组件;UI(界面)用于添加界面组件;Scripts(脚本)用于添加Unity脚本组件;Analysis(分析)用于添加分析组件;Event(事件)用于添加事件组件;Network(网格)用于添加网格组件;XR(AR、VR、MR)用于AR、VR、MR开发;Add(新增)用于新增组件。

6)Window(窗口)菜单

Window(窗口)菜单主要用于在项目制作过程中显示Layout(布局)、Scene(场景)、Game(游戏)和Inspector(检视)窗口。其中,Next Window(Ctrl+Tab)用于显示下一个窗口;Previous Window(Ctrl+Shift+Tab)用于显示前一个窗口;Layouts(布局)用于页面布局方式,可以根据需要自行调整;Vuforia Configuration(AR窗口)用于AR开发;Package Manager(包管理窗口)用于管理打包资源;Text Mesh Pro(文本网格)用于管理文本网格;General(普通窗口)用于管理Unity中常用视图窗口;Rendering(渲染窗口)用于渲染灯光;Animation(动画窗口)用于创建时间动画的面板;Audio(声音窗口)用于控制声音混合;Sequencing(测序窗口)用于控制时间线;Analysis(分析窗口)用于探查分析;Asset Management(资源管理)用于资源管理;2D(2D窗口)用于2D开发;AI(AI窗口)用于导航开发;XR(XR窗口)用于全息仿真;Experimental(测试窗口)用于测试。

7)Help(帮助)菜单

Help(帮助)菜单主要用于帮助用户快速地学习和掌握Unity,提供当前安装Unity的版本号。其中,About Unity(关于Unity)用于提供Unity的按照版本号及相关信息;Unity Manual(Unity教程)用于连接至Unity官方在线教程;Scripting Reference(脚本手册)用于连接至Unity官方在线脚本参考手册;Vuforia(增强现实)用于增强现实开发;Unity Service(Unity在线)用于连接至Unity官方在线服务平台;Unity Forum(Unity论坛)用于连接至Unity官方论坛;Unity Answers(Unity问答)用于连接至Unity官方在线问答平台;Unity Feedback(Unity反馈)用于连接至Unity官方在线反馈平台;Check for Updates(检查更新)用于检查Unity版本更新;Download Beta(下载安装程序)用于下载Unity3D的Beta版本安装程序;Manage License(软件许可管理)用于打开Unity3D软件许可管理工具;Release Notes(发行说明)用于连接至Unity官方在线发行说明;Report a Bug(问题反馈)用于向Unity官方报告相关问题;Reset Packages to defaults(将包重置为默认值)用于重置包为默认值;Troubleshoot issue(疑难问题解答)用于解答疑难问题。

7. Unity3D的工具栏

在工具栏中,一共包含14种基本的控制按钮,如表2.1所示。

表2.1 Unity常用工具

2.4.3 Unity3D基本操作

1. 创建新项目

Unity创建游戏的理念可以被简单地理解为:一款完整的游戏就是一个Project(项目工程),游戏中不同的关卡对应的是项目下的Scene(场景)。一款游戏可以包含若干个关卡(场景),因此一个项目工程下面可以保存多个场景。首先双击Unity图标创建一个项目,如图2.43所示。

图2.43 Unity开始启动界面

在弹出的对话框中,单击页面右上方的New(新建项目),创建一个新的工程,可以设置Project的目录,然后修改文件名称和文件路径,如图2.44所示。

图2.44 新建项目界面

在Project name下(项目名称)中输入项目名称,然后在Location(项目路径)下选择项目保存路径并且选择2D或者3D工程的默认配置,最后单击Add Assets Package按钮选择需要加载的系统资源包,如图2.45所示。设置完成后,单击页面右下角的Create Project按钮完成新建项目。Unity会自动创建一个空项目,其中会自带一个名为Main Camera的相机和一个Directional Light的直线光,如图2.46所示。

图2.45 资源加载

图2.46 创建Unity项目

2. 保存场景及项目

首先单击File(文件)→Save Scene(保存场景)菜单命令或按Ctrl+S快捷键,如图2.47所示。在弹出的“保存场景”对话框中,输入要保存的文件名,如图2.48所示。此时在Project(项目)面板中能够找到刚刚保存的场景。接下来,单击File(文件)→Save Project(保存项目)菜单命令,保存项目,完成整个保存工作。

图2.47 保存场景

3. 创建新场景

保存好Unity工程及场景后,由于每个项目中可能会有多个不同的场景或关卡,所以开发人员往往要新增多个场景。游戏场景包含游戏中的所有对象。可以在场景中创建主菜单、不同的关卡等。每个场景文件都可以看作一个独立的关卡。在每个独立的游戏场景中,都可以放置环境、障碍物、装饰物等。新建场景的方法是:选择Unity3D软件界面上的File(文件)→New Scene(新建场景),如图2.49所示。

图2.48 场景命名

图2.49 新建场景

4. 创建游戏对象

游戏中的每一个对象都是游戏对象GameObject,这就意味着在游戏中所需要考虑的一切都与游戏对象有关。但单纯的游戏对象什么也不能做,必须赋予其特定的属性,这样它才能成为游戏角色、游戏场景,或是某种特殊的游戏效果。单击GameObject(游戏对象)→3D Object(三维物体)→Plane(平面)命令创建一个平面用于放置物体。单击GameObject(游戏对象)→3D Object(三维物体)→Cube(立方体)命令创建一个立方体。最后,使用场景控件调整物体位置,完成游戏物体的基本创建,如图2.50所示。

图2.50 立方体创建效果

5. 添加物体组件

游戏对象也是一种容器,可以向其添加不同的部件,使其成为游戏角色、灯光树木、声音,或任何其他别的东西。所添加的每个部件则被称为组件(Component)。

游戏物体组件可以通过Inspector(属性编辑器)进行显示,其本身也可以附加很多组件,如Rigidbody(刚体)。选中Cube(立方体),执行Component(组件)→Physics(物理)→Rigidbody(刚体)菜单命令,为游戏物体Cube(立方体)添加一个Rigidbody(刚体)组件,如图2.51和图2.52所示。

图2.51 添加Rigidbody

图2.52 刚体组件属性

刚体添加完成后,在Scene视图中使用左键单击Cube(立方体)并将其拖曳到平面上方,然后单击Play按钮进行测试,可以发现Cube会做自由落体运动与地面发生相撞,最后留在地面,如图2.53和图2.54所示。

图2.53 运行测试前

图2.54 运行测试后

2.4.4 Unity3D常用组件

游戏对象往往包含一个或多个组件,组件可以为游戏对象提供不同的功能和特性。Unity中常用的组件类型如下。

(1)Transform:游戏对象的基础组件,可以修改游戏对象在地图中的位置、旋转和缩放值。默认情况下,所有游戏对象都会有一个Transforn组件。

(2)Mesh(网格)类型的组件:与Mesh相关的组件有4种,包括Mesh Filter(网格过滤器)、Text Mesh(文本网格)、Mesh Renderer(网格渲染器)和Skinned Mesh Renderer(蒙皮渲染器)。

(3)Particle System(粒子系统):该组件可以模拟各种各样的特效,例如火焰、云彩、水流等。这是一个非常有用并且较为庞大的系统,涉及非常多的数据设置,在后续章节中将对其进行详细介绍。

(4)Physics(物理组件):为了让创造的场景更具有真实性,需要在虚拟现实世界中让物体遵循现实世界的物理规则。为了实现这一点,Unity内置了NVIDIA PhysX物理引擎,以此模拟真实的物理行为。

(5)Scripts(脚本组件):该组件由开发者自行编写,用于实现较为灵活与定制化的功能。Unity主要支持C#语言。

(6)Audio(音频组件):该组件可以设置音效或背景音乐的各种属性,从而营造更好的游戏氛围。

(7)Video Player(视频播放器):该组件可以轻松地添加Unity内置的视频播放器。

(8)Rendering(渲染):与视觉渲染相关的组件有很多,包括摄像机、天空盒、灯光、遮挡剔除等。

(9)Event(事件):通过使用Event相关的组件,可以在游戏中轻松地设置和响应各事件。

(10)Network(网络):顾名思义,网络相关的组件用于设置游戏对象的网络相关属性。

(11)UI(界面):与UI相关的组件,包括Image、Button、Text、Panel等。

关于组件有很多细节的内容,限于篇幅这里不一一赘述。在初学阶段,最重要的是先从整体上认识这些重要概念。 gLgaU4IXWUL2c+wlBnWX3VP6jsOTqy6ARkYHaxoxJwhyCsAFzbCd0DzwdwYzOQgU

点击中间区域
呼出菜单
上一章
目录
下一章
×