UE5 游戏模板 —— FirstShootGame

UE5 游戏模板 ------ FirstShootGame


前言

有了前两个俯视角游戏的基础让我们来看看相对复杂点的第一人称射击模板。

模板主要演示的功能:拾取武器装备到角色身上、射击发射子弹

一、GameMode

已经是我们的老朋友了,指定了默认的Pawn,也就是操作的玩家。

二、组件

1.ShooterPickUpComponent

初始化了球形碰撞体的半径

绑定开始碰撞事件

在绑定的碰撞事件中判断碰撞的Actor类型,然后广播OnPickUp(绑定的蓝图事件)

移除碰撞绑定,避免再次进入碰撞函数

这里讲一下UE的广播

经常使用的有 单播 多播 动态单播 动态多播

单播

先来说一下单播 既1对1 绑定 触发一个相应一个

典型的定义方式如下,分别是无参无返回、有N个参数无返回、有N个参数有返回

绑定的方式有很多,其实可以很简单的理解,我们当前定义的委托要用在什么场景,就用哪种方式进行绑定

那什么是动态单播呢?其实也很好理解,如果是动态的就可以暴露给蓝图进行实现

cpp 复制代码
DECLARE_DYNAMIC_DELEGATE_OneParam(FTestDelegate04,int,Value);

FTestDelegate04 TestDele04;


多播

多播就是一对多,且动态多播可以更直接的暴漏给蓝图使用

回到我们的第一人称模板

BlueprintAssignable 这个属性标签就是把多播暴漏给蓝图使用的

可以看到在蓝图中绑定了一些函数,接下来我们再回到代码中绑定一个函数,这样就是一对二也就是一对多的动态多播了



2.ShooterWeaponComponent

附着武器

当我们碰撞到球形碰撞体后,调用到了动态多播,动态多播是由蓝图实现的,又调用到了我们的下一个组件ShooterWeaponComponent 去附加武器到角色身上

将自身附加到目标角色的骨骼上,绑定添加开火的输入

开火

绑定按键后,我们按下鼠标左键需要发射子弹

计算生成子弹的位置并生成子弹

播放射击音效

播放动画蒙太奇

3.小结

你可能感觉这样的组件式设计十分难以理解甚至是荣誉,其实这样的做法大有妙处,我们可以很快的衍生出各种武器的拾取射击,甚至连武器的输入方式不同可以轻松处理,ShooterPickUpComponent 组件只负责拾取,所有需要拾取的武器只需要挂载此组件便可以拾取,ShooterWeaponComponent 处理附加到骨骼以及射击的功能,每种武器的模型不同动画不同声音不同,甚至是操作不同,但是通过这个组件就能巧妙的动态配置了。

4.ShooterProjectile

子弹组件,UE自带的UProjectileMovementComponent 组件就是用来处理这种发射物的,里面的功能非常强大。

初始化

只要对我们的子弹Actor挂载UProjectileMovementComponent 组件我们就可以实现子弹效果,设置参数如下

碰撞受击检测

给碰撞到的物体添加一个子弹速度方向的力并销毁自身

三、Character

我们的输入可以在PlayerController中去管理,也可以在角色中管理,具体如何管理和游戏模式有关,PlayerController更像是全局的一个控制,比如英雄联盟中的视角移动我们可以做到PlayerController中,而每个英雄的具体移动可以放到角色中去。

初始化

输入移动



总结

可以看出虽然是入门级别的模板其中的细节非常多,并不是堆砌代码而是有条理的完成一个小Demo

相关推荐
咕噜企业分发小米14 小时前
腾讯云游戏音视频方案如何助力初创公司提升用户粘性?
游戏·音视频·腾讯云
da_vinci_x14 小时前
PS 消失点:贴图透视总画歪?无需建模,2D 也能“空间绘图”
游戏·aigc·设计师·贴图·技术美术·游戏美术·关卡设计
gis分享者14 小时前
学习threejs,生成复杂3D迷宫游戏
学习·游戏·3d·threejs·cannon·迷宫·cannon-es
会思考的猴子14 小时前
UE5 接口 使用
ue5
zore_c14 小时前
【C语言】EasyX图形库——实现游戏音效(详解)(要游戏音效的看过来!!!)
c语言·开发语言·经验分享·笔记·游戏
平行云1 天前
实时云渲染支持在网页上运行UE5开发的3A大作Lyra项目
unity·云原生·ue5·webgl·虚拟现实·实时云渲染·像素流送
AA陈超1 天前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-18.生成火球术
c++·游戏·ue5·游戏引擎·虚幻
_大学牲1 天前
Flutter 勇闯2D像素游戏之路(三):人物与地图元素的交互
flutter·游戏·游戏开发
游戏技术分享1 天前
【鸿蒙游戏技术分享 第71期】资质证明文件是否通过
游戏·华为·harmonyos
reddingtons1 天前
PS 参考图像:线稿上色太慢?AI 3秒“喂”出精细厚涂
前端·人工智能·游戏·ui·aigc·游戏策划·游戏美术