使用虚幻引擎5开发3D动作游戏
May 2, 2025About 3 min
使用虚幻引擎5开发3D动作游戏
这是一篇视频记录文档,视频地址[UFSH2024]使用虚幻引擎5开发3D动作游戏 | 槐宏文 凉屋上海工作室负责人,《楼兰》制作人。
他讲了一些开发时使用的技术栈,挺有启发意义的。
动画相关
- Animation逻辑层:State Machine,Notify等
- Animation表现层:Blending,Feathering,Morphing等
- Procedural Animation:IK,Ragdool,Gameplay控制和修改等
- Synced Aniamtion
UE相关
- Animation Sequence,Montages,Blend Spaces等
- Animation Notify/Notify State
- Animation Blueprint,Animation State Machine,Animation Nodes
- Animation Warping
- Procedural Animation
Synced Animation
- 对齐两个或者多个角色,一起播放动画,处决交互等

- 使用一个
Reference Joint
位置对准两个角色 - 动画长度一般需要一样长
- 需要处理Blending问题
- 需要处理如何Align主从
使用到工具:
- 使用
Curve
定义Motion和Blending - 用
Control Rig
修改骨骼的位移和旋转 - 用
Animation Nodes
修改骨骼,模拟简单的IK和丰富敌人行为Variations Motion Warping
:重用敌人的攻击动画,修改玩家 Traversal/Interaction动画等。
战斗相关
- Melee Combat基础架构:冷兵器,拳脚等
- Ranged Combat基础框架:Projectiles,Cocussions,Beams等
- Collision Detection基础层:Query和Events
- 伤害计算
UE相关
Collision Tests,Queries和Events
在UE World Query上面建立一层自定义的Collision Query层
复制的Combat Shapes
角色的Capsule和Physical Asset的设置
系统计算相关,GAS的应用,比如GE伤害计算,GA技能管理
战场管理
- 角色Positioning
- 角色Aggression
- 入站,出站检测等

Enemy Aggression
Aggression Score系统
- 计算Aggression Score:Priority + Distance,Current Player Target? On/Off Screen,Camera Angle 等
Token Pool系统
- 每个敌人需要若干Token,从一个Pool里面取出,取完了剩下的敌人就不能Aggro
UE的EQS(打分) + GE(管理Token)实现
Enemy Positioning
AI应该去哪里
- 在Player Space产生若干Positions,然后给每个计算分数
UE EQS支持 Generate + Evaluate Positions
Zone-Based
Gradient Descent
算法- 可以支持多种区域
- 指定可以去,不能去的区域
- 把Nav Mesh考虑进来
- 可以加更多的限制,容易扩展
- 容易调试且直观
角色移动相关
- Locomotion:走跑跳,加速减速,转身等
- 基础Motion和Movement
- Traversal:攀爬,Gap Jump等
- 碰撞检测:推挤
Player相关
- Character,Camera,Control
- Player Input:Input Buffer等
- Player Combat:Targeting,Combat Assist等
- Player Traversal:攀爬,钩索等
- Player Interaction:开门,开箱子等
Player Targeting
选择Target,谁应该是我的target?玩家的意图是什么?
Scoring系统,综合各种影响因素,计算一个综合最高分
以摇杆举例子,左摇杆方向,敌人和玩家的距离,角度,敌人On/Off Screen,敌人是否Aggro,Camera Facing角度等。
UE的EQS + GE(Gameplay Tags)等很方便实现
战斗辅助
- Auto Rotation
- Auto Translation
- Auto Targeting
- 让玩家无敌
敌人相关
- AI主要框架:State Machine,Behavior,脚本等
- Navigation相关:Nav Mesh,Nav Link等
UE相关
- BT + SM + BP混合
- 使用Behavior Tree提供主要 Execution Flow
- 使用State Machine管理AI大框架和结构
- 使用自定义的AI Combo系统
- 使用EQS做AI主要查询手段
其他
- Companions
- Vehicles
- Bosses
- 特殊玩法:游泳,飞行等
迭代
快速原型测试想法,可以Hack
使用低精度内容制作底层系统,不要Hack
低精度制作,高准确度设计,确定核心玩法
Play TEST
Animating Dauntless: Slaying AAA Animation on the Indie Scale
Gameplay程序关键
- 底层系统需要扎实,清晰
- 对于未确定的想法,快速Hack测试,快速放弃
- 对于确定的功能,用迭代的思路去制作,保证底层系统和框架正确性
- 最重要的是好玩,感觉好
- 物理的真实并不一定是最好的,基础的物理往往效果好而且简单
- 复杂的计算并不一定是最好的