第4章 游戏实现 保存第一个场景,放在Scene中,命名为demo,此时场景中为空,在GameObject中Create Other一个地形Terrain,如图4-2所示。
图4-2 创建地形
在旁边的组建面板就可看到如下工具,如图4-3所示。
图4-3 组建面板
通过组建面板的Terrain组建,可以用地面升降,地面模糊,地图画笔等等工具对地图进行编辑。进行一系列的修饰后,原本空白的地图上就会有塔防游戏的基本地图样式,如图4-4所示。
10
第4章 游戏实现
图4-4 地图
4.3 光照和场景元素
在创建好地图之后会发现地图灰暗,当点击运行时候,会显示地图区域为黑色,这是因为场景中没有光源,此时我在场景中按添加地形的方式添加一个平行光源,如图4-5所示。
图4-5 平行光源
同样可通过调整光源组建面板中的Intensity来调整光的强弱,可从图4-5中看出,添加光源过后明显使得地图光亮了。
接下来添加场景中的元素,例如树,终点,装饰等等,通过Assets中的Import Package选项来导入我需要的素材所有的素材我将它们放在预置Prefabs文件夹中,这样可以方便重复使用,既节约了硬件资源又大量降低了我的重复劳动,如图4-6所示。在元素等放
11
第4章 游戏实现 置完毕后,地图就做好了。
图4-6 预置元素
4.4 怪物通道
塔防游戏需要怪物沿着固定的路线前进,路线中不允许放置防御塔,路线之外可以放置,这就需要用脚本对地图进行编辑。
首先,创建脚本GridNode.cs,代码如下图4-7所示。
图4-7 脚本GridNode.cs
这个脚本把地图上的方格会设置两种属性,一种是可以放置防御塔GuardPosition另一种就是不允许放置防御塔CanNotStand。
12
第4章 游戏实现 接下来将地图设置方格,创建GridMap.cs脚本,它会生成一个范围可控的网格,将地图盖住,当BuildMap被执行时,网格将在地图上显示出来,此时,如果网格上有物体挂载了GridNode.cs脚本,并设定为CanNotStand时,物体覆盖的网格将变为红色,同时运行时不可在此区域建造防御塔。
在场景中创建空物体,并挂载GridNode.cs同时设置为CanNotStand,摆放在地图中通道上,这样就可以使通道无法建造防御塔了。如图4-8所示。
图4-8 设置方格属性
4.5 摄像机
因为游戏的场景会比较大,我们需要移动摄像机才能观察到场景的各个部分。接下来需要为摄像机添加脚本,在移动鼠标的时候可以移动摄像机。
在为摄像机创建脚本前我们需要先创建一个空游戏体作为摄像机观察的目标点,并为其创建脚本CameraPoint.cs,它只有很少的代码。如图4-9所示。
图4-9 脚本CameraPoint.cs
接下来创建脚本GameCamera.cs,并将其指定给场景中的摄像机。
13
第4章 游戏实现
图4-10 脚本GameCamera.cs
在这个脚本的Start 函数中, 我们首先获得了前面创建的CameraPoint,它将作为摄
14
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Unity3D塔防游戏论文(3)在线全文阅读。
相关推荐: