- Unity应用开发实战案例
- 程明智 陈春铁编著
- 3057字
- 2025-02-17 22:00:12
1.3 实现过程
1.3.1 Unity引擎安装说明
登录Unity3D官网(www.unity3d.com),单击屏幕右上角“Get Unity”,选择免费试用版本,勾选选择框,并单击下方“Download Installer for Windows”进行下载。下载过程持续时间较长,请耐心等待。安装过程如图1-1所示。

图1-1 安装过程

图1-1 安装过程(续)
1.3.2 创建工程文件
打开 Unity,单击“New”创建新的工程文件。创建工程文件页面如图1-2所示。

图1-2 创建工程文件页面
1.3.3 新建场景
新建场景并命名为changjing(注意,Unity文件名称中不能出现中文),选择工程文件存储的路径,单击“Creat project”按钮完成创建。新建场景页面如图1-3所示。

图1-3 新建场景页面
1.3.4 创建地形
在Hierarchy面板(层次视图)中依次选择“Create”→“3D Object”→“Terrain”选项创建地形(Terrain),如图1-4所示。

图1-4 创建地形
1.3.5 地形大小设置
创建地形后,可对地形进行大小设置。单击 Inspector 面板(属性视图)中Terrain选项下的第7个地形工具按钮,将其长、宽、高分别设置为500、500、600。地形属性页面如图1-5所示。

图1-5 地形属性页面
1.3.6 创建山和湖
在设置完地形大小后,应进行地形的高度设置。Terrain选项下的第2个地形工具按钮是绘制高度工具,可确定湖的深度。单击这个按钮后,设置其Height(地形与最低处相差的高度)值为200,单击“Flatten”按钮,如图1-6所示设置地形高度。之后,选择Brushes选项下的第1个地形工具建湖,按下键盘“Shift”键,同时在地形上单击鼠标左键,就可以使地形下陷。创建好地形,即可进行地形样式预览,如图1-7所示。

图1-6 设置地形高度

图1-7 地形样式预览
1.3.7 添加底层贴图
使用Terrain选项下的第4个地形工具进行贴图,可以添加草地、山峰和小路。在Project面板(工程视图)下,导入资源包中的Environment文件,单击“Import”按钮完成资源导入。环境资源包路径如图1-8所示,环境资源包导入如图1-9所示。

图1-8 环境资源包路径

图1-9 环境资源包导入
1.3.8 添加草地、山峰及小路的贴图
选中Terrain选项下第4个地形工具添加草地、山峰及小路的贴图。依次选择“Edit Textures…”→“Add Terrain Texture”→“Select”,如图1-10所示创建地形贴图。

图1-10 创建地形贴图
地形贴图文件如图1-11所示,从中选择3个贴图添加到 Texture 中。单击“Add”按钮添加地形贴图,如图1-12所示。

图1-11 地形贴图文件

图1-12 添加地形贴图
1.3.9 添加树木
选中Terrain选项下的第5个地形工具,依次选择“Edit Trees…”→“Add Tree”。创建树木如图1-13所示,寻找树木模型如图1-14所示,树木模型如图1-15所示。

图1-13 创建树木

图1-14 寻找树木模型

图1-15 树木模型
选定树木模型后,还可设置一些具体的参数,包括树木种类选择、弯曲度设置、树木地形大小设置和密度设置(注意,若相机距离太远或者树木密度太小,可能会导致树的效果不明显)。地形效果图如图1-16所示。

图1-16 地形效果图
1.3.10 添加草丛
选择Terrain选项下的第6个地形工具,依次选择“Edit Details”→“Add Grass Texture”选项添加草丛,如图1-17所示。寻找草丛文件如图1-18所示,草丛贴图如图1-19所示。

图1-17 添加草丛

图1-18 寻找草丛文件

图1-19 草丛贴图
添加草丛后,还可设置一些具体参数,包括草种类的选择,草的大小设置、密度设置(注意,如果相机距离太远或者草的密度太小,可能会导致草的效果不明显)。草的效果图如图1-20所示。

图1-20 草的效果图
1.3.11 添加湖水
依次选择Project面板下“Water”→“Water4”→“Prefabs”→“Water4Simple”选项添加湖水。Water4Simple位置如图1-21所示。

图1-21 Water4Simple位置
将Water4Simple选项(水面对象)拖曳至场景视图中,利用缩放工具将其调整到合适的大小,如图1-22所示添加湖水并修改大小。

图1-22 添加湖水并修改大小
1.3.12 添加天空盒
用鼠标右键单击“Assets”,依次选择“Import Package”→“Custom Package…”选项,选择 Skybox 文件夹中的 Skyboxes_18文件,导入所需的资源文件。如图1-23所示添加自定义资源包(Custom Package),如图1-24所示导入资源文件。

图1-23 添加自定义资源包(Custom Package)

图1-24 导入资源文件
为主相机添加天空盒(Skybox)效果,在Inspector面板下搜索“Skybox”并单击“Add Component”按钮,如图1-25所示添加天空盒效果。

图1-25 添加天空盒效果
将资源包中的Skybox3拖曳至场景相机(Camera)下的Custom Skybox参数框中,如图1-26所示置入天空盒贴图。

图1-26 置入天空盒贴图
1.3.13 添加外围海水
将Water4下的Water4Advanced拖曳入Scene窗口(场景视图)中相应的位置,利用“缩放”按钮将其缩放至合适大小,如图1-27所示添加外围海水。之后,可通过地形工具,修饰海岸线,如图1-28所示。

图1-27 添加外围海水

图1-28 修饰海岸线
1.3.14 添加第一人称视角
添加第一人称视角,首先需要导入Characters资源包,如图1-29所示。

图1-29 导入Characters资源包
选择Assets路径下“FirstPersonCharacter”→“Prefabs”→“RigidBodyFPSController”文件,将其拖曳到场景视图中,如图1-30所示添加第一人称视角。

图1-30 添加第一人称视角
因一个场景中只能存在一个相机,RigidBodyFPSController上面带有一个相机(Main Camera),原本的场景中也存在名为Main Camera的相机,所以将原本场景中的相机(Main Camera)关闭,只使用RigidBodyFPSController带有的相机。由于更换了相机,所以需要给RigidBodyFPSController带有的相机添加Skybox组件,具体添加方式如前面添加天空盒步骤所示。
1.3.15 添加不可见阻隔物
为了避免游戏人物掉入湖中或海中,则需创建阻隔物Cube,并将其放在湖的周围及岛屿的周围。如图1-31所示添加Cube,如图1-32所示修改Cube位置及大小。

图1-31 添加Cube

图1-32 修改Cube位置及大小
为了使墙面透明,取消勾选Cube的Inspector面板下的“Mesh Renderer”选项,即关闭Mesh Renderer,如图1-33所示。

图1-33 关闭Mesh Renderer
1.3.16 添加平行光的阴影
添加光晕效果,在 Project 面板中单击鼠标右键选择“Import Package”→“Effects”导入资源包;操作完成后在Assets目录下依次选择“Assets”→“Standard Assets”→“Effects”→“Light Flares”。
选择“Directional Light”对象,在Inspector面板中,将光晕文件50mmZoom拖曳至Flare参数框中;同时将阴影种类Shadow Type的参数选择为Soft Shadows,调节阴影的角度(按照时间来看,下午的阴影倾斜角度应该比较大)并设置其他参数。修改光晕颜色及亮度(Cookie是通过贴图来做阴影的,这里用的是实时阴影),如图1-34所示添加阴影。

图1-34 添加阴影
1.3.17 添加特效
添加特效的资源包需要从 AssetStore 中下载。在浏览器中输入网址https://www.assetstore.unity3d.com/#!/content/83913,选择“添加到我的资源”选项,选择“Open in Unity”选项,在 Scene 窗口旁会出现“Asset Store”,单击“Download”按钮,下载完成后,单击“Import”导入资源包。下载特效资源包如图1-35所示。

图1-35 下载特效资源包
在 RigidBodyFPSController 带有的相机(MainCamera)上添加泛光特效(BloomAndFlares):调节相机对应的Inspector面板中Bloom参数,使画面色彩更逼真。
增加景深(Depth of Field):调节相机对应的Inspector面板中Depth of Field 下的参数,使其近处清晰,远处模糊,主要调整Focal Distance下的参数。
增加体积光(Sun Shafts):在3DMax中,体积光只能通过贴图实现,在Unity中可自行通过脚本实现,如图1-36所示添加特效。

图1-36 添加特效
1.3.18 添加雾效
依次选择菜单“Window”→“Lighting”→“Other Settings”(雾效参数设置:开始距离和结束距离分别为100和300,选择雾的颜色,将雾效模式改变为线性模式),如图1-37所示添加雾效。

图1-37 添加雾效
在Scene窗口下的Effect下拉菜单中选择“Skybox”“Fog”选项,若不选,则Scene窗口中就没有天空盒或雾效,不便于编辑(图中未显示)。
1.3.19 添加风向
依次从Hierarchy面板中选择“Create”→“3D Object”→“Wind Zone”选项添加风向(草的默认状态为动态,树的默认状态为静态,添加风向后,树才变成动态的),如图1-38所示。

图1-38 添加风向
1.3.20 地形等高贴图的导出
选择地形对象,在 Inspector 面板中,单击画笔列的第7个按钮,再单击“Export Raw…”按钮,出现“Export Height Map”窗口,选择16bit和Windows后,可以导出格式为RAW的等高贴图,如图1-39所示导出等高地形图。

图1-39 导出等高地形图
1.3.21 地形等高贴图的导入
新建一个场景,创建地形,选中该地形后,在Inspector面板中,单击画笔列的第7个按钮,再单击“Import Raw”按钮,就可以把导出的贴图贴到新建的地形上(注意:完成此操作步骤后,树木、花草、岩石等贴图都不见了,只有灰度地形图出现)。
1.3.22 作品发布
依次单击“File”→“Build Settings…”,如图1-40所示发布作品。

图1-40 发布作品
设置运行提示框是否显示,选择运行提示框中 Default Icon 后面的图片,此处设置的Icon指软件图标(注意:路径名中不能含有中文,文件名也不能是中文名称),如图1-41所示选择作品图标。

图1-41 选择作品图标
在Build Settings界面中,选择要发布的平台;单击“Add Open Scenes”按钮,添加发布场景,单击“Build”按钮完成场景漫游作品的发布。