失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > unity实践————第一人称射击游戏

unity实践————第一人称射击游戏

时间:2020-07-12 17:35:19

相关推荐

unity实践————第一人称射击游戏

一. 环境

地图资源,包含了全地图以及灯光、天空盒子。

扩展部分。

不可穿透的部分需要在bake时设置为static

二. 设置

1. 相机

1> 主相机

挂载控制视角的c#组件。

tag为maincamera,culling mask不渲染武器和UI。

2> 武器相机。

武器相机只渲染武器和UI。改变相应的layer和culling mask(没有需要自行添加)。

武器相机渲染,添加GUI组件。

挂载十字准星c#组件。

3> 渐隐渐显

添加渐隐渐显物体,挂载渐隐渐显c#组件,添加GUI组件

2. 动画

1> 敌人动画

创建动画融合树。

添加所有动画。

base layer中,any state连接dying(死亡)动画。表示在任何状态下敌人都会死亡。

shooting layer中,连接敌人举枪、射击、放下枪的动画。

gun layer中,连接敌人握枪动画。

parameter中创建六个变量。

2> 武器动画

武器挂载特效c#组件。

通过在主角身上挂载的控制c#组件来切换不同的动画。

添加canvas,添加子物体BulletCount,BulletCount添加text组件来在游戏过程中显示当前子弹数量。(所有属性可调节,见下图,显示在右下角)

三. 人物

1. 主角

因为为第一人称,所以只需要手臂及枪的模型。在transform组件中设置显示位置。

挂载键盘输入、控制、生命值c#组件。

2. 敌人

使用AI,设置完成后必须bake。挂载状态切换、视野、射击、生命值、动画c#组件。

默认动画为站立状态。

控制点

由两个旗子来控制敌人固定巡逻的路线,设定起点与终点。

四. 代码实现

public类型变量可以在unity组件中修改。

所有代码均需在Start和Update函数中进行调用和初始化。

1. 相机及特效设置

1> 渐隐渐显特效c#脚本

GUITexture的Lerp函数必须在update函数中调用才有用

2> 主相机视野c#脚本

3> 武器相机十字准星c#脚本

4> 武器特效c#脚本

2. 主角

1> 存储变量c#脚本

2> 定义参数c#脚本

3> 玩家控制c#脚本

其余移动方法可自定义。

4> 主角生命值c#脚本

3. 敌人

1> 切换敌人状态c#脚本

2> 敌人视野c#脚本

3> 敌人射击c#脚本

4> 敌人生命值c#脚本

5> 敌人动画切换c#脚本

4. GameController

1> 用户自定义物体及输入c#脚本

如果觉得《unity实践————第一人称射击游戏》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。