一、实验目的
使用 Unity 创建一个你心目中的古迹探险游戏! 注意:1、请在作业中附上每一个步骤的截图。
2、请将做好的游戏项目打包压缩一起发送;生成 exe 文件一起发送基本要求:实现最后两次实验课所学习的全部功能。
二、古迹探险的地图总貌
三、实验步骤
- 古迹探险的地形设计
(1) 首先新建一个地形,在Hierarchy面板空白处右键后依次选择3Dobject-> Terrain 添加一个地形,然后会在Project中自动创建一个New Terrain的文件,该文件保存了具体的地形数据
(2) 然后使用Raise or Lower Terrain工具用于创建山脉,其中 BrushSize 用于调节范围大小,Opacity 用于调节幅度。
(3) 使用PaintTexture用来绘制贴图,选择EditTerrainLayers->CreateLayer,给Terrain选择基本贴图
(4) 使用paint tree工具添加一些树或者植被
效果图如下
-
在场景中添加人物和其他物体
(1)在Meshes文件夹下有一个dwarf_hero,添加到Scene中并调整合适的大小(2)添加一些物体,更加贴近古墓的主题
(3)在Meshes文件夹下有一个Rock_Large,添加多个到Scene中并调整大小和方向
-
给场景添加光源和火堆
(1)调节直射光(即太阳光)使整体亮度暗(2)添加点光源,设置合理的颜色
(3) 创建火堆,首先创建一个Lantern_01,然后给火堆创建光源。创建一个PointLight作为火堆的光并放入Lantern
(4) 光照贴图,如果不使用光照贴图的话,光在游戏运行时对场景的影响是需要实时计算的, 耗费性能,如果使用lightmapping的话,会提前将光照计算好,烘培成贴图,将贴图贴在环境模型上,实际运行时就不需要实时进行计算了,能够很大提高性能
(5) 添加粒子系统
鼠标右键依次选择Effects-> Particle System给火堆添加一个粒子系统,并将粒子系统放在火堆中间
将粒子的外貌改为火焰的样子。我们使用导入资源FX-> Fire中flame 4x4(一个4x4帧的动画)创建一个Material:在Fire上鼠标右键依次选择Create-> Material
给点光源加上动画
效果图如下
- 添加导航系统
导航网格烘培
如下图蓝色区域为可行走范围
给主角添加一个nav mesh agent
添加人物移动脚本
- 设置相机跟随主角的视角
这个是教程给的相机跟随的脚本,实际运行会发现存在问题,比如人物会消失一段时间, 或者视角不太合理,下面给出改进后的相机跟随脚本
改进的相机跟随脚本
- 给人物添加动画效果
状态的切换看的是人物的速度,当速度超过设定值时,人物由站立切换到行走,并且进一步切换到跑的状态
如下图是人物站立时的动画效果