本站所有信息来源于互联网,用于学习参考使用,版权归原作者所有!
版权声明:本文为博主原创文章,未经博主允许不得转载。 /qq_/article/details/
从本篇起,我们将进入实战环节,编写一个简单的第一人称射击游戏。在开始制作游戏之前,我们需要一份游戏策划。
1. 游戏介绍:游戏场景中,会有若干个敌人的出生点,定时生成一些敌人。敌人会寻找并攻击主角。游戏的目的就是生存并消灭更多的敌人。
2. UI界面:包括生命值、弹药数量、得分和准星。游戏失败后提供一个按钮重新开始游戏。
3. 主角:由于是第一人称射击游戏,主角本身不会出现在视野范围内。屏幕上能够看到的是一把端在胸前的M16机关***。按键盘的W、S、A、D来控制主角前后左右移动,移动鼠标旋转视角,点击鼠标左键射击。
4. 敌人:敌人只有一种,具有智能寻路功能,可以躲避障碍物并攻击主角。
4. 选中level游戏体,在Inspector窗口中勾选Static选项将level游戏体设置成静态物体,以便进行灯光烘焙。(一定要勾选!没有设置成Static的物体不会参与灯光烘焙)
Padding属性用于设置烘焙精度和烘焙像素间隔,值越大精度越高,需要的烘焙像素越多,需要的烘焙图数量可能也会增加。Compressed属性指示是否对最终生成的Lightmap进行压缩,可以大幅降低其大小,对于性能相对较差的硬件平台(比如手机)此项非常有用。Lighting窗口下方会显示出预计产生的Lightmaps的大小。点击Build开始烘焙灯光,等待烘焙完成。
6. 保持选中level游戏体,选择【Add Component】→【Rendering】→【Light Probe Group】为level添加一个Light Probe Group(灯光探测器组),使用【Add Probe】命令创建灯光探测器,修改其位置。在我们的游戏场景中,光影效果较为简单,因而可以采取均匀分布的方法。在复杂的游戏场景中,大量创建Light Probe会对性能造成较大影响,此时可以采取的方法是在光影变化较为丰富的地方较为密集地布置Light Probes,在其他地方较为稀疏地布置少量Light Probes。更多有关Light Probes的布置方法,可以参考。布置完的效果如下图所示。
Collider】为它们添加多边形碰撞体。为了得到最精确的碰撞检测,可以直接使用模型本身进行碰撞检测,但因为在实际项目中,模型通常相对比较复杂,模型的外形多边形数量较大,这样做对性能会产生很大影响。比较常用的一种方法是使用一个与模型形状近似的碰撞模型,但尽可能简单,专门用来检测碰撞。这里我们就使用了这个技术。
游戏场景到此就基本建立完毕了。从下一篇起我们将为这个第一人称射击游戏添加主角和敌人,并编写相应的脚本代码。所有的脚本均使用C#编写,关于C#语言,推荐一本Karli Watson等的著作《Beginning C#》(C# 入门经典),由浅入深,讲得很细致也很全面。
一款比较老的单机第一人称射击游戏,开始进洞然后会发现地上有个死人和武器弹药,之后走到一个全部是桥的水上道,杀掉一个丧尸后打开门进去又有几个,系统会提示你如何运用手雷,之后还会和电脑
一款比较老的单机第一人称射击游戏,开始进洞然后会发现地上有个死人和武器弹药,之后走到一个全部是桥的水上道,杀掉一个丧尸后打开门进去又有几个,系统会提示你如何运用手雷,之后还会和电脑控制的士兵守卫战斗,再后来会有更多的武器。。。差不多就记得这么多了,游戏画质还是可以的。 希望知道的