![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=1739206696-TUprKuUCSKutJ97Drd2hEREf1Y3HpDlU-0-3975adeeceeb1ce22dad0d49720522c6)
图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=1739206696-SFp0lwdy9jAr2aBa4GcpmEYWjk5wNjY5-0-acfbc3f778ff0cd6c5f3369c2cb4504a)
图1-4 Project视图窗口
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_20_2.jpg?sign=1739206696-upelgCHxYOB5JhFlQdeIlwZ8uZBsQTnM-0-e99405ba09a079363094f1c16a7bdcfd)
图1-5 当前被查看的文件夹路径
而在素材搜索状态下,该区域将变成搜索区,会标识出根目录、当前目录以及资源商店的素材统计,如图1-6所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_20_3.jpg?sign=1739206696-4mxmhV0HKDy3y99dG1UcyiwFLHq8m7xs-0-1fd98bad6933cf268eb55df7319358cc)
图1-6 搜索区
在项目浏览器视图窗口的最上方,则是一个工具栏,为开发者提供了添加、创建新素材,以及检索项目中素材的功能,如图1-7所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_20_4.jpg?sign=1739206696-psk0mpuGcrql750slrueQm3dCkKlaWkW-0-d6764f1b9f0482d9bb3baf661820ac4a)
图1-7 Project视图面板的工具栏
单击“Create”按钮,弹出相应菜单,可以很方便地创建新素材,如图1-8所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_21_1.jpg?sign=1739206696-ObGHhdL7IzR5cKC2y9f5dSMJ4eHx1lE0-0-61439cda26ed900d1a66affa2fd47622)
图1-8 创建新素材
而素材的搜索功能同样十分方便和强大,在搜索栏的右侧有3个按钮,可以用来进一步对搜索结果进行过滤,提高搜索的效率,如图1-9所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_21_2.jpg?sign=1739206696-09uluPtEreVisjyu7BTsltU8YLgQsFvW-0-a8bb30f84446a63e0545abe2ce04c5af)
图1-9 根据类型过滤搜索结果
单击第一个(从左往右)按钮,弹出相应菜单,可以根据目标类型过滤搜索结果,如图1-10所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_21_3.jpg?sign=1739206696-nqpsyCIRz2eGcQTNnJ6Ww6Iwdp6CuiCl-0-4d4cdc601589f0dc531f77a1bc48f386)
图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=1739206696-xCnAhWrBszThQH3Q3oh7T52eSTSslVda-0-031c6931740f0ae087fd208edfca6363)
图1-11 Inspector视图窗口
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_22_2.jpg?sign=1739206696-FD1gwmGaeWvjzggYSTGPQrCP0TEPYh9O-0-b43a9f411271f062624c4445afdae721)
图1-12 对组件进行操作
在检视面板的最下方,则可以为该资源添加标签。这个标签可以作为项目浏览器视图中搜索素材的过滤条件,如图1-13所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_23_1.jpg?sign=1739206696-JpGD99sUroGgrvZvfkuQXGrrlpqFU3Hs-0-381ef1e7913e35d21ef8f8545ed248a3)
图1-13 为资源添加标签
1.2.3 Hierarchy视图
Hierarchy视图窗口包括了当前场景中所有的对象,如图1-14所示。当有新的对象加入当前场景或有旧的对象从当前场景消失时,Hierarchy视图会同时更新。在这个窗口中,开发者可以通过拖曳的方式为当前场景中的对象指定父子关系。而其中的子对象将继承父对象的旋转以及移动。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_23_2.jpg?sign=1739206696-hoYgDbfVCyR4LxJMf1jZPVIODha59Lkt-0-3701b21d8d52121cb612d52fbcc420f6)
图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=1739206696-o1IVtUnVyu5LO9JrSQoUykZHB9wxUJiR-0-b7281e53945c23b627a262dbc89f6a61)
图1-15 Game视图窗口
和项目浏览器视图类似,在该面板的正上方同样是一个控制栏——游戏视图控制栏。其中最左边的是游戏视图宽高比下拉菜单,在这里你可以选择Unity 3D提供的宽高比,也可以自己定义所需要的宽高比,如图1-16所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_24_2.jpg?sign=1739206696-0AjBnMMqdRdqTeDA4a6dxaciXhWchYlR-0-0d17a290eecf1fe144b1be28a7fe8934)
图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=1739206696-YTxD4Kf3keObUs8Y8NQlFYs1hW78UEcJ-0-8be061badd75258a5964547ef28f7777)
图1-17 渲染状态统计窗口
若单击Gizmos开关,则开启Gizmos窗口,如图1-18所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_25_2.jpg?sign=1739206696-NLpHMf9x4esRua52CHG8zNhDrqzCcyOp-0-e26694ac0bbe19a47904a62f96bf187e)
图1-18 Gizmos窗口
1.2.5 Scene视图
Scene视图即场景视图,如图1-19所示,是直接创建游戏的视图窗口。开发者需要在场景视图中选择和设置环境、玩家、相机、敌人以及其他游戏对象。作为游戏开发者,可以直接从项目浏览器视图中拖曳素材到场景视图中,也可以通过代码在游戏运行的过程中动态创建游戏对象。这些都会体现在场景视图中。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_26_1.jpg?sign=1739206696-2vOQrBR72vLavirD2EpFbyuJlclgBL42-0-fc8202e59661a03eb1ae6c068bb70bb9)
图1-19 场景视图窗口
而为了准确而快速地操作场景视图中的游戏对象,Unity 3D游戏引擎为我们提供了游戏对象的定位和操作工具,如图1-20所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_26_2.jpg?sign=1739206696-NTnGvsuk9IRP0zD23XUbFPZYnSCqhoZd-0-0d6452f9e9c094f5438b52076d2354f9)
图1-20 游戏对象的定位和操作工具
在编辑器的左上角有4种工具,分别是拖曳平移场景视图工具、游戏对象平移工具、游戏对象旋转工具、游戏对象缩放工具。
拖曳平移场景视图工具,顾名思义,可以用来平移场景视图(快捷键为Q)。
游戏对象平移工具,操作目标是游戏对象,可以调整游戏对象的位置。当对选中的游戏对象使用该工具时,被选中的游戏对象出现平移工具对应的Gizmo(即可视化操作辅助工具),如图1-2所示。此时可以通过拖动鼠标调整Gizmo的方式来调整游戏对象的位置,也可以在监视面板中直接修改Transform组件中的对应字段来调整游戏对象的位置(快捷键为W)。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_27_1.jpg?sign=1739206696-A2JWP0942TE6vRnuMBGfW6UXzyeUwsO8-0-8d2d0322714d063987d0fa76c7f13034)
图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=1739206696-6USa8HRIIqc6D1lwQI5EbRQ69kGc3uw1-0-bde8b28257fa56d1e29d128781328c98)
图1-22 调整游戏对象的角度
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_28_1.jpg?sign=1739206696-RmmIkdemUb2V52liCxZBbBfTt1aObFHj-0-180cccedfc225b2a2908b1b5a009bd43)
图1-23 调整游戏对象的大小
在场景视图窗口的正上方是场景视图控制条,如图1-24所示。在场景视图控制条中可以查看和设置场景中的各种选项,以及决定灯光和音频是否启用。需要注意的是,场景视图控制条上的修改仅仅影响开发中的场景视图,而不会对最终发布的游戏造成影响。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_28_2.jpg?sign=1739206696-evVHykNk6nPom7skZCKZzPck5PSHpJVl-0-3b0417b5890d2b3aff9ca6c6c7c52eda)
图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=1739206696-VEph4pGcm7CabCFhoueFYRCMDZPv5rk2-0-89e52a51e1186b079eeabbac1eb3100b)
图1-25 绘图模式下拉菜单
表1-1 绘图模式种类
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_1.jpg?sign=1739206696-r1gul9KxgzmSovjxffZBZcWwrAAxaTTH-0-c078ee732677892332bd8f3f10a383fe)
选择不同的绘图模式,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=1739206696-RrdRG0sF5gvSD6kvQsiO7C9KtDoC653J-0-590d35ae6518b05f73bdff65fdff4ec3)
图1-26 Textured模式场景视图绘制效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_3.jpg?sign=1739206696-Qbwnd3WnCPk0899kMoSIi2ZVSRMJ9Wzb-0-4e16a11b2c54a3359c44c1407ad789b5)
图1-27 Wireframe模式场景视图绘制效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_4.jpg?sign=1739206696-xBxv493mrtfW2BPVyu4M4YJ7skuv4O3d-0-c7f80a396d4ab537f9c0428a7422dd6f)
图1-28 Textured Wire模式场景视图绘制效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_5.jpg?sign=1739206696-HHn2SR4tIOyEkr66swiYlYEOvdMXJLBn-0-15450c029cee575cce5de1099d94b5ff)
图1-29 Render Paths模式场景视图绘制效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_29_6.jpg?sign=1739206696-lfZ25hsr1tJ8Y1kgACGQhAHZXX3TdvwH-0-1f556ef8bd8cf23836ce32e03f6a6aea)
图1-30 Lightmap Resolution模式场景视图绘制效果
1.2.7 渲染模式
单击“RGB”按钮,弹出渲染模式下拉菜单,如图1-31所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_30_1.jpg?sign=1739206696-EkNcyWtGacW48Lm8rRRamGGOGG8824fX-0-9b5f7c3e3e0700bf6e546924d3d2a42b)
图1-31 渲染模式下拉菜单
通过选择不同种类的渲染模式,场景视图将通过不同的模式渲染场景。Unity 3D游戏引擎提供了4种不同的渲染模式。
表1-2 渲染模式种类
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_30_2.jpg?sign=1739206696-s54CvszgFwK7SI7quJ3HcP8Z5qFfzhm3-0-c54f2fac5a02cca60cb253ca91e45f96)
选择不同的渲染模式时,场景视图就会显示相应的渲染效果。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=1739206696-tRLERrAEkpbSGaPNTNWUpZ7zKh66IYgd-0-145c4043a60bdcf16da3cc765a9cfddf)
图1-32 RGB模式场景视图渲染效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_2.jpg?sign=1739206696-RRTIpjTwuWZYqptlFy7letMJ209FgW52-0-baa1bcef4c19edb53727926d1846e4c4)
1-33 Alpha模式场景视图渲染效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_3.jpg?sign=1739206696-1N11vdEX8FqzKJpp8qhjGgN1BahbLjoU-0-384e56b0dd01efbe9c55358c3cb17351)
图1-34 Overdraw模式场景视图渲染效果
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_4.jpg?sign=1739206696-ucwiV6MLzOPNK8nHyDdnVGsTj6wjmcwN-0-7a62b9b7e5e52d67742bb91e8385c03e)
图1-35 Mipmaps模式场景视图渲染效果
1.2.8 场景视图控制
场景视图控制开关,即 2D/3D视角切换开关、场景视图照明切换开关、音频试听模式切换开关,如图1-36所示。
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_31_5.jpg?sign=1739206696-WGbkN9uuY3uEI3plV5qrA6lc6T8RmxxN-0-e0f570d6c76127e1f91fb254ba8e1f6b)
图1-36 场景视图控制开关
表1-3 场景视图控制开关的作用
![](https://epubservercos.yuewen.com/E38954/25638808101563306/epubprivate/OEBPS/Images/29718_32_1.jpg?sign=1739206696-FcCJNTos9yUCuD0ysoSSRKGDoG5TIVyv-0-1d758e0cafac56ec77caae31ffeb3c67)
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=1739206696-hJct6uobhpwA3ylgVD4y7lHpmjgdZizQ-0-d89c88f66c5cecc6e46ada4073277ea3)
图1-37 Effects菜单