《生死轮回》战斗系统与随机地图系统详解
在“Unreal Open Day虚幻引擎技术开放日”(12月2日-3日)大会上,eBrain Studio负责人李伟围绕《生死轮回》的战斗系统和随机地图系统进行了分享。
一、战斗系统核心设计
作为一款动作游戏,“战斗系统”是品质关键。本文主要探讨近战武器和受击者反馈两个核心版块的技术实现。
- 近战武器设计
游戏中设计了超过30种特性迥异的近战武器,包括武士刀、大锤、长棍等。
- 通过C++实现高效算法,蓝图提供可视化配置。
- 创建SkeletalMeshComponent组件以实现线性检测等功能。
- 设置插槽定义检测范围。
近战武器检测逻辑
- 线性检测:利用虚幻引擎4的API进行射线检测。
- 角色驱动检测:动画执行期间控制检测开关。
- 受击者队列:避免多次伤害,对同一目标排重。
击中反馈实现
- 精确获取击中位置播放粒子效果和声音。
- 物理材质返回不同反馈效果,如血迹或火花。
- 摄像机震动增强打击感。
- 击打顿感:通过调整时间播放速率模拟停顿。
二、随机地图系统
随机地图系统的设计理念与实现方法将在后续内容中详细解析。
近战武器击中目标的反馈设计
一、武器特性设置
当武器击中目标时,通过设定不同武器的停滞时间参数,让每种武器具有独特的击中感受。例如武士刀和大锤,由于其特性差异,击中敌人时的停顿速率及持续时长各不相同[1]。
在代码实现方面,武器线性检测到击中敌人瞬间,系统会短暂放慢速率,之后恢复正常。不同武器如利器和钝器的放慢速率与停滞时长可分别调整[2]。
二、受击者反馈
1. 推力效果
为了呈现近战武器击中目标的真实感,我们从推力、受击动画和溅血三方面进行设计。其中推力是增强玩家输出力量反馈的重要元素,如下图所示,《空洞骑士》中的敌人被攻击后产生明显位移。

实现方法上,我们基于ABaseCharacter类创建了一个角色获取受击推力的系统,允许角色在一段时间内沿指定方向以一定速度移动。
2. 受击动画
我们将受击动画划分为轻受击、重受击和被击飞三种类型。具体执行时,根据DamageType决定对应的动画逻辑。
3. 击飞效果
为确保击飞过程流畅自然,我们构建了状态机管理起飞、飞行(循环)、落地及爬起四个阶段。
4. 溅血细节
为了增加战斗细节,我们设计了敌人受伤时身体伤痕加重以及血液溅射的效果。此功能通过调用材质实例参数动态调整血迹浓度实现。
三、角色死亡特性分析
1. 布娃娃效果
为了让敌人死亡更加生动有趣,我们采用了布娃娃物理模拟技术。通过激活SkeletalMeshComponent物理属性,并赋予适当冲力,使得死亡效果更具冲击力。
2. 断肢系统
断肢系统的引入丰富了战斗表现形式,具体实现包括隐藏断掉的肢体、生成带有物理效果的新物件以及优化断裂飞行动态反馈。
总结而言,以上设计不仅提升了游戏的视觉体验,还增强了玩家沉浸感。
近战系统与无缝Roguelite地图解析
在我们的游戏中,玩家和敌人都使用相同的武器,而针对两者,系统配置上会进行区分。以下是关于无缝随机地图的实现方案:
无缝Roguelite地图技术分析
随机地图概述:《生死轮回》共有7个大关卡,每次进入均不同,但游戏体验连贯如线性游戏。
实现方案参考1:Procedural动态生成
通过分类大批随机房间(战斗、补给、走廊等),按算法连接生成关卡,同时避免重叠。

死亡细胞拓扑结构

死亡细胞
优点:+ 无缝连续,浑然一体。
+ 高随机度,增强可玩性。
缺点:- 边界处理复杂。
- 房间制作规范严格。
- 叙事控制弱。
- Debug难度高。
实现方案参考2:房间过渡式动态生成
采用黑屏加载下一个房间的方式实现,如《哈迪斯》、《以撒的结合》。
优点:+ 技术难度低。
+ 性能要求低。
+ 管理简单。
缺点:- 缺乏无缝体验。
- 加载繁琐。
随机地图设计:方案探索与实践
为实现无缝流畅的游戏体验,《生死轮回》未直接采用上述两种方法,而是:
1. 开发完整关卡后按区域划分,便于美术和逻辑迭代。
2. 将“关卡体验”分为“关卡美术”和“关卡逻辑”。

生化危机4 的普通近战敌人

生化危机4 的弩枪敌人
借助虚幻引擎4的关卡管理器拆分区域并创建子关卡。例如,A区域有3个美术关卡和对应的3个逻辑关卡,共呈现9种体验。
随机区域实现
1. 随机加载管理器:实现BRoomArrow管理器,C++中基础逻辑,BP子类配置。

RoomArrow C++截图

RoomArrow BP截图
2. 地图加载过程:每个RoomArrow按区域ID加载美术和逻辑子关卡,完成序列化加载。
3. 加载卸载功能:每个管理器负责检测玩家是否进入区域,并设置可见性或加载/卸载状态。
总结与心得
最终实现方法包括:
1. 关卡按区域划分。
2. 分离美术与逻辑。
3. 预置随机内容并由管理器加载。
4. 使用体积控制性能。
- 设计与技术相互推动产生独特乐趣。
- 注重规模和细节比盲目追求大小更有价值。
- 高品质的第一印象决定玩家兴趣。
- 系统整合需要团队全面能力支持。
分享完毕,感谢阅读。


