![Unity 3D脚本编程:使用C#语言开发跨平台游戏](https://wfqqreader-1252317822.image.myqcloud.com/cover/192/46418192/b_46418192.jpg)
1.2 Unity 3D编辑器初印象
打开Unity 3D游戏引擎的编辑器,给我们的第一印象就是它由很多子窗口组成。默认情况下的Unity 3D编辑器,如图1-3所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_19_1.jpg?sign=1739241910-jXiYoE9aNUszjwU5qgeLfIxKItDrqRg8-0-6adf369a084fd96e784302df9debea55)
图1-3 Unity 3D编辑器界面
最常见的几种视图是:Project视图(项目浏览器视图)、Inspector视图(检视面板)、Game视图、Scene视图、Hierarchy视图(层级面板视图)以及工具栏。
1.2.1 Project视图
Project视图,或者也可以叫项目浏览器视图窗口,包含了所有被导入到当前Unity 3D项目中的素材。如图1-4所示,左侧的面板展现了项目的文件夹层级结构,其中左侧面板的上半部分是素材收藏夹,主要为了方便开发者能够轻松地访问经常需要使用的素材。而在右侧面板的正上方,在查看状态下会标识出当前被查看的文件夹路径,如图1-5所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_20_1.jpg?sign=1739241910-jb7UhkcbDz4U6eG22GGnbXazKg1so1HJ-0-ca8b457c9eee78e8c19769dfbc7a19cc)
图1-4 Project视图窗口
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_20_2.jpg?sign=1739241910-i7tqR6de41nBQvI5jyMzmeSZZ0ikQ9uj-0-c3647293f2695496565eebf993e7693f)
图1-5 当前被查看的文件夹路径
而在素材搜索状态下,该区域将变成搜索区,会标识出根目录、当前目录以及资源商店的素材统计,如图1-6所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_20_3.jpg?sign=1739241910-hJx96jgywbRNMAJqcNjAaj8Fa4MDc0uk-0-a1d4f6b4b2276365063ae456ba723ad6)
图1-6 搜索区
在项目浏览器视图窗口的最上方,则是一个工具栏,为开发者提供了添加、创建新素材,以及检索项目中素材的功能,如图1-7所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_20_4.jpg?sign=1739241910-7vWgnH3kT2GHstMqkoC9CXp6M8z6CPik-0-c2a37eca39a77bb221485453bfb50351)
图1-7 Project视图面板的工具栏
单击“Create”按钮,弹出相应菜单,可以很方便地创建新素材,如图1-8所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_21_1.jpg?sign=1739241910-gXvpK6zxODffSeA5GLq7QyXkLpe75W0x-0-d39da07459efa8c33162d6123a290565)
图1-8 创建新素材
而素材的搜索功能同样十分方便和强大,在搜索栏的右侧有3个按钮,可以用来进一步对搜索结果进行过滤,提高搜索的效率,如图1-9所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_21_2.jpg?sign=1739241910-KG5o5ouwYZlSn8F68cgWEzu5ZP0exnIw-0-008533547f0c88a5b6dfff8627d7710a)
图1-9 根据类型过滤搜索结果
单击第一个(从左往右)按钮,弹出相应菜单,可以根据目标类型过滤搜索结果,如图1-10所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_21_3.jpg?sign=1739241910-F40XIzhT4PLl7XJQ6kV5NEehyk0xTPun-0-c4a877ad47feec12c81601858678e41d)
图1-10 根据目标类型过滤搜索结果
单击第二个(从左往右)按钮,弹出相应菜单,则提供了根据素材标签来过滤搜索结果的功能,开发者可以自定义这些标签。
单击第三个(从左往右)按钮,弹出相应菜单,则提供了将搜索结果添加到前面提到的素材收藏夹中的功能。
作为项目的开发者,可以很方便地检索和管理导入到项目中的素材。
1.2.2 Inspector视图
Inspector视图窗口,如图1-11所示。它展示了当前被选中的Game Object的详细信息,以及该Game Object绑定的所有组件信息。比如自定义的脚本、物理部件、碰撞器等。在这里,开发者可以看到脚本中暴露出的各个变量,同时无论游戏运行与否,开发者都可以手动调整具体变量的数值。而在对应的组件后方会有一个齿轮样的图标,游戏开发者可以对该组件进行操作,如图1-12所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_22_1.jpg?sign=1739241910-qPAjFoqDTTYm5eU9ykXlyHGkpWfmW0eQ-0-eced24d5aa39362a510c2355d7d57d0f)
图1-11 Inspector视图窗口
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_22_2.jpg?sign=1739241910-MJSjTbcIGs7LvmDvwRC6AE6kzcCB2mp6-0-145031c8226e7b257e8805912e41129e)
图1-12 对组件进行操作
在检视面板的最下方,则可以为该资源添加标签。这个标签可以作为项目浏览器视图中搜索素材的过滤条件,如图1-13所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_23_1.jpg?sign=1739241910-41d80Qw3nDFxJOkErWcBlldycsf63PyC-0-b79376a9e1ad05e404a9c7a5f92f6f00)
图1-13 为资源添加标签
1.2.3 Hierarchy视图
Hierarchy视图窗口包括了当前场景中所有的对象,如图1-14所示。当有新的对象加入当前场景或有旧的对象从当前场景消失时,Hierarchy视图会同时更新。在这个窗口中,开发者可以通过拖曳的方式为当前场景中的对象指定父子关系。而其中的子对象将继承父对象的旋转以及移动。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_23_2.jpg?sign=1739241910-IuwfuKvVaKrAYC0N2ifAGyGElSJfy3Yr-0-da227e71bd8f44eab506b8c54d674fc3)
图1-14 Hierarchy视图窗口
1.2.4 Game视图
Game视图窗口如图1-15所示。Game视图为开发者提供了一种“所见即所得”的功能。这个窗口展示的就是游戏发布后的运行画面,作为开发者,可以使用一个或多个摄像机来控制玩家在实际游戏中看到的画面。同时也可以立刻反映出在Scene视图中做出的调整。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_24_1.jpg?sign=1739241910-nd4lp6YfS2Q065seGFNo6H26WS0PAXc1-0-77b12304a78ecb87da1243aeb1e49e28)
图1-15 Game视图窗口
和项目浏览器视图类似,在该面板的正上方同样是一个控制栏——游戏视图控制栏。其中最左边的是游戏视图宽高比下拉菜单,在这里你可以选择Unity 3D提供的宽高比,也可以自己定义所需要的宽高比,如图1-16所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_24_2.jpg?sign=1739241910-2l82nQ1gxYV8vqZr3d6RzkoyLJmb7Eci-0-dc18181434a7b25080c66c3344d3ff16)
图1-16 设置游戏视图宽高比
游戏视图控制栏除了游戏视图宽高比下拉菜单,从左往右依次是Maximize on Play开关、Stats按钮以及Gizmos开关。
其中Maximize on Play开关用来控制游戏视图是否是100%全屏模式开启。若选中,则游戏视图会进入全屏模式。Stats按钮则会显示当前的渲染状态统计,可以用来监测性能,如图1-17所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_25_1.jpg?sign=1739241910-SCeEpRCcC887m31lWQigzAoOb8zuYM0j-0-d5496de3dd86417b1c3d10f5d214b8ee)
图1-17 渲染状态统计窗口
若单击Gizmos开关,则开启Gizmos窗口,如图1-18所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_25_2.jpg?sign=1739241910-N0vg3dZqtwOlK3bxq4Sw66ELK95IHp8A-0-4dde16b2e511423630faa7ffb6bcafd0)
图1-18 Gizmos窗口
1.2.5 Scene视图
Scene视图即场景视图,如图1-19所示,是直接创建游戏的视图窗口。开发者需要在场景视图中选择和设置环境、玩家、相机、敌人以及其他游戏对象。作为游戏开发者,可以直接从项目浏览器视图中拖曳素材到场景视图中,也可以通过代码在游戏运行的过程中动态创建游戏对象。这些都会体现在场景视图中。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_26_1.jpg?sign=1739241910-sj2aLlXmmPNS8AQ2TtqPLEp40yJlz1A7-0-ee06e1740288b1c5a14c8b0e430cf7b4)
图1-19 场景视图窗口
而为了准确而快速地操作场景视图中的游戏对象,Unity 3D游戏引擎为我们提供了游戏对象的定位和操作工具,如图1-20所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_26_2.jpg?sign=1739241910-aUTVmAJxGrRdWybtTL4RB6zvLZUIvCyt-0-34ca2741f323083e0d9b3958e1990827)
图1-20 游戏对象的定位和操作工具
在编辑器的左上角有4种工具,分别是拖曳平移场景视图工具、游戏对象平移工具、游戏对象旋转工具、游戏对象缩放工具。
拖曳平移场景视图工具,顾名思义,可以用来平移场景视图(快捷键为Q)。
游戏对象平移工具,操作目标是游戏对象,可以调整游戏对象的位置。当对选中的游戏对象使用该工具时,被选中的游戏对象出现平移工具对应的Gizmo(即可视化操作辅助工具),如图1-2所示。此时可以通过拖动鼠标调整Gizmo的方式来调整游戏对象的位置,也可以在监视面板中直接修改Transform组件中的对应字段来调整游戏对象的位置(快捷键为W)。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_27_1.jpg?sign=1739241910-sxfzU7RJiFkwmPoG6MrM26GKbSPCaNnK-0-5fa640fdad7ba93a7f83a7ead2779771)
图1-21 调整游戏对象的位置
游戏对象旋转工具和游戏对象缩放工具的操作目标同样是游戏对象,分别调整被选定的游戏对象的角度(快捷键E)和大小(快捷键R),它们也分别有其对应的Gizmo,如图1-22和图1-23所示。此时同样可以通过拖动鼠标来调整Gizmo各轴的大小来对游戏对象进行旋转和缩放,也可以在监视面板中直接修改Transform组件中的对应字段来调整游戏对象的角度和大小。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_27_2.jpg?sign=1739241910-2ygFFTNlPc4ri2qEJr3uUVOj7NK76v9d-0-1c3e3d095e0b03c9fdc89e10d3a7c447)
图1-22 调整游戏对象的角度
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_28_1.jpg?sign=1739241910-ue7JYjU2w89VCrCHrSpmKuEjLxvyIN36-0-8e6d4f2c76fb77fe320c50b7faa081da)
图1-23 调整游戏对象的大小
在场景视图窗口的正上方是场景视图控制条,如图1-24所示。在场景视图控制条中可以查看和设置场景中的各种选项,以及决定灯光和音频是否启用。需要注意的是,场景视图控制条上的修改仅仅影响开发中的场景视图,而不会对最终发布的游戏造成影响。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_28_2.jpg?sign=1739241910-Pp7zWyQezF8psmYxnaeWMlYxf9UpsmWl-0-c1e8b5850c09616d570afc6496704cbd)
图1-24 场景视图控制条
场景视图控制条(从左往右)分别可以控制场景视图的绘图模式、场景视图的渲染模式、2D/3D视角切换、场景视图照明切换、音频试听模式切换,以及Effects菜单和Gizmos菜单。
1.2.6 绘图模式
单击“Textured”按钮,弹出绘图模式下拉菜单,如图1-25所示。此时弹出的下拉菜单中,有5种方案供我们选择,如表1-1所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_28_3.jpg?sign=1739241910-evdInv2vqfngDq98WgApx4oM3xdZYrs0-0-838647e23957368aec1cfcb73bdfe1a3)
图1-25 绘图模式下拉菜单
表1-1 绘图模式种类
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_1.jpg?sign=1739241910-KnQAcVIlyMoHQRqw8YKROr70An7HZbgx-0-e4827faef81dcf6fec475a3e978d73b2)
选择不同的绘图模式,Unity 3D就会用相应的模式来描绘场景。Textured模式场景视图绘制效果,如图1-26所示;Wireframe模式场景视图绘制效果,如图1-27所示;Textured Wire模式场景视图绘制效果,如图1-28所示;Render Paths模式场景视图绘制效果,如图1-29所示;Lightmap Resolution模式场景视图绘制效果,如图1-30所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_2.jpg?sign=1739241910-XXqR4xnQvElJRylrvWQK9AHbwwUR5CTb-0-8ad6f93957ecc9c24142bae11240f584)
图1-26 Textured模式场景视图绘制效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_3.jpg?sign=1739241910-ouydVLHXZMGFHLdBUeXiiaRmzTkqVI7t-0-c28340c3d6ee38d9a99e18791d0323b1)
图1-27 Wireframe模式场景视图绘制效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_4.jpg?sign=1739241910-73XETDBhiBKXT0O7NvKWgnf4qycm5Zp3-0-bca080809968950ed0673e13095cfd5c)
图1-28 Textured Wire模式场景视图绘制效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_5.jpg?sign=1739241910-VZnCDcLE3jH9KOGZSXqCu89ake7jr9zB-0-0da38c579765444822c7472bcca69c4c)
图1-29 Render Paths模式场景视图绘制效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_6.jpg?sign=1739241910-rEW8Ni3EZYgPMdtSepTQFQTdFwSFE7T4-0-87dee9c9f77b5a175adf7d4f426bb8f1)
图1-30 Lightmap Resolution模式场景视图绘制效果
1.2.7 渲染模式
单击“RGB”按钮,弹出渲染模式下拉菜单,如图1-31所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_30_1.jpg?sign=1739241910-2CylFkfy72kOMPrbJTTyOmjYhC4BfIrU-0-bf870db3c4780eefeeaa7a699eeaaa8e)
图1-31 渲染模式下拉菜单
通过选择不同种类的渲染模式,场景视图将通过不同的模式渲染场景。Unity 3D游戏引擎提供了4种不同的渲染模式。
表1-2 渲染模式种类
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_30_2.jpg?sign=1739241910-A8EH5JYn11KAW7yyU0XJJCpMhYNEq3Md-0-7ac662e22de3bd1b12f2515465b7c83b)
选择不同的渲染模式时,场景视图就会显示相应的渲染效果。RGB模式场景视图渲染效果,如图1-32所示;Alpha模式场景视图渲染效果,如图1-33所示;Overdraw模式场景视图渲染效果,如图1-34所示;Mipmaps模式场景视图渲染效果,如图1-35所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_1.jpg?sign=1739241910-tEzAyD6lWQceV5QqBosbU9ED61cUmyjM-0-3d005b30019b12fe3c2234c02d5fdb12)
图1-32 RGB模式场景视图渲染效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_2.jpg?sign=1739241910-1scm4xI2QyRXBh1VwyexpzwAeGh4M5DP-0-b657de2df3ff45dfc66fcfb388965c0c)
1-33 Alpha模式场景视图渲染效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_3.jpg?sign=1739241910-NhQ6MB9lmaJBP93XSOqZfLorWmRwYz4j-0-0e8bbe0521af451182aa3e367fa945c3)
图1-34 Overdraw模式场景视图渲染效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_4.jpg?sign=1739241910-Jof9VGU49NCTCvnZY1OG8ncWUqUVzW6V-0-236c0b36ffdba1868ae9243ea7134abb)
图1-35 Mipmaps模式场景视图渲染效果
1.2.8 场景视图控制
场景视图控制开关,即 2D/3D视角切换开关、场景视图照明切换开关、音频试听模式切换开关,如图1-36所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_5.jpg?sign=1739241910-7jgSRe5eSULPzqQbpciJ8GqE0yWv5H5I-0-dfd5b0a76da69c1cf83d7f26a30c7e12)
图1-36 场景视图控制开关
表1-3 场景视图控制开关的作用
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_32_1.jpg?sign=1739241910-c92LG09ZP5mebyZhlYgVSAHAiilGCN0P-0-e8cbad6f93de0da5bbbfbcc43bcf63bd)
1.2.9 Effects菜单和Gizmos菜单
Effects菜单用来设置场景视图的渲染特效,而其本身又是所有特效是否开启的总开关。Unity 3D提供了4种场景视图的渲染特效供开发者使用,分别是Skybox、Fog、Flares和Animated Materials,如图1-37所示。Gizmos菜单主要用来控制那些为了方便开发者而在场景视图中渲染的图形。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_32_2.jpg?sign=1739241910-qzfK10jZEHv4k9gXbqvl33zptmTew8gT-0-24eaa0c75242515549dd9bb38f888afe)
图1-37 Effects菜单