UE4 第一人称射击游戏16-重新装弹

Posted Zhichao_97

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UE4 第一人称射击游戏16-重新装弹相关的知识,希望对你有一定的参考价值。

上一篇:

【UE4 第一人称射击游戏】15-修复蹲伏和冲刺同时执行的bug

本章效果:

步骤:

1.打开“Weapon_Base”,添加两个整数类型变量,分别命名为“MaxAmmo”和“ClipSize”,表示最大载弹量和每次重新装弹的弹药量

“MaxAmmo”的默认值设为120

“ClipSize”默认值设为30

添加一个函数,命名为“Reload”

 

 首先判断当前的弹药量是否是满的

 如果不是满的就判断剩余的弹容量够不够装满一个弹匣

 如果不够装满一个弹匣就将剩下的子弹全部装到弹匣中,然后设置剩余子弹为0

 如果剩下的子弹够装满一个弹匣的话就将当前的子弹数设置为弹匣容量的大小,剩下的子弹数为先前剩下的子弹减去一个弹匣容量大小的子弹数量

 2.打开“FPSHUD”,添加一个文本块控件用来显示剩下的子弹数

 创建绑定

绑定的函数逻辑如下:

 3.在项目设置中设置重新换弹匣的操作映射如下

 4.打开“ThirdPersonCharacter”,在事件图表中完成换弹匣的相关逻辑

此时运行游戏效果如文章开头所示。 

关于Unity中FPS第一人称射击类游戏制作(专题十)

当前Unity最新版本5.6.3f1,我使用的是5.5.1f1

 

FPS第一人称射击类游戏实例

场景搭建

1.创建Unity项目工程和文件目录,保存场景

2.导入人物模型和子弹碎片的资源包charactor.unitypackage(第74)

3.创建一个平面plane,X和Z拉长10倍,把主角模型Assets\Prefabs\person拉近Hierarchy视图中

4.把走路的声音Step.mp3,射击的声音Shot.mp3,平面贴图Ground.jpg,瞄准的准心贴图Crosshairs.png(第74)导入Resources文件夹

5.把Crosshairs.png直接拖进Scene视图的平面plane上,自动帮我们生成了平面的材质并关联

6.创建一个cube,放大4倍,放在主角模型的正前方,Z设置为20

7.配置一个十字瞄准器,UI和摄像机是成比例对应的,所以摄像机对准的中心就是等下Crosshairs瞄准的中心,屏幕中心,右键---->UI---->Image,命名为Crosshairs,再把Crosshairs.png的Texture Type设置为Sprite(2D and UI)

8.把Crosshairs.png拖进Crosshairs节点的Image组件的Source Image属性中,调整Crosshairs的position为(0,0,0),屏幕正中央,Set Native Size

9.配置一个第一人称的摄像机,做人的眼睛。就是把Main Camera拖到person下作为子节点重命名为eye,这样可以跟随主角移动。然后把摄像机的position设置为(0,1.5,0),正好在人物头部

 

 

开枪射击

10.创建一个脚本open_fire,挂载在person节点下,里面实现开枪的逻辑。Edit---->Project Settings---->Input配置三个虚拟按键Fire1---->mouse 0

 FPS游戏通常不会有真的子弹在天空中飞来飞去的,一般是用射线实现,有真的子弹也没关系。

 打开open_fire.cs

 

以上是关于UE4 第一人称射击游戏16-重新装弹的主要内容,如果未能解决你的问题,请参考以下文章

[UE4]第一人称与第三人称

UE4编程之C++创建一个FPS工程创建模式&角色&处理输入

[UE4]创建游戏加入游戏

UE4 第三人称Game制作

UE4 appBitsCpy函数作用详解

第一人称射击游戏总结概览