UE ARPG | 虚幻引擎战斗系统

三种Combat system碰撞检测方法

  1. 玩家射线检测: 适合弹道攻击

  2. 玩家扇形检测: 适合站桩攻击(Stand-Still Attack / Stand-Still DPS)

  3. 武器碰撞体检测: 适合滑步攻击、移动连招等。

玩家射线检测sphere trace for object 可以从玩家射出一个类圆柱体,可以适当调整range和radius,远程和近战通用。

玩家扇形检测:是从玩家位置生成球型碰撞体,并使用dot检测玩家是否面向敌人,只适合站桩攻击,灵活性非常差。

武器碰撞检测:在武器上绑定碰撞体。

按下攻击按键(如LMB)时:

1.设置isSLASHboolean为true攻击动画结束返回false(用于状态机切换条件)

2.启用碰撞体,为了确保在击打动画的持续时间内只造成一次伤害,检测到一次碰撞后立刻禁用碰撞体,直到再次按下LMB

cs 复制代码
// 事件:OnAttackStart(点击左键触发攻击)
OnAttackStart:
    设置 CanDealDamage 为 True           // 允许造成伤害
    启用 碰撞体                          // 启用碰撞体以检测敌人

// 事件:OnAttackEnd(攻击动画完成时调用)
OnAttackEnd:
    设置 CanDealDamage 为 False          // 不再允许造成伤害
    禁用 碰撞体                          // 禁用碰撞体

// 事件:OnComponentBeginOverlap(碰撞检测,敌人进入碰撞体时调用)
OnComponentBeginOverlap(OtherActor):
    如果 CanDealDamage 为 True 且 OtherActor 是敌人 且 EnemyHit 为 空 或 不等于 OtherActor:
        调用 造成伤害(OtherActor)          // 对敌人造成伤害
        设置 CanDealDamage 为 False       // 设置为不可重复伤害
        设置 EnemyHit 为 OtherActor       // 记录当前敌人已被击中

// 函数:造成伤害
造成伤害(Enemy):
    Enemy.调用 受到伤害(伤害数值)          // 对敌人施加一次伤害

角色动画管理:

1. Locomotion(运动)

Locomotion 通常指角色在场景中的移动动画,包括行走、跑步、跳跃、滑行等。它侧重于角色在空间中连续移动的动画过渡和流畅性,常用于角色运动的平滑过渡,比如从站立到行走,再到奔跑等。

  • 主要特点

    • 动画平滑过渡:Locomotion系统通常包含Blend Spaces,用于处理从一个速度或方向切换到另一个的平滑过渡。
    • 实时性:Locomotion系统基于玩家的输入(例如按下移动键)实时响应,能够根据角色的速度或方向自动选择合适的运动动画。
    • 注重运动流畅性:通过Blend Space等技术,使角色的移动动画看起来更加自然,例如在从站立到跑步、再到停止的过程中无缝过渡。
  • 典型使用场景

    • 角色移动动画的过渡处理,比如从走路到跑步。
    • 在不同地形上调整角色的步伐和动作。
    • 角色跳跃、下蹲等运动行为的实现。

2. State Machine(状态机)

State Machine 是一种管理动画状态切换的系统。在状态机中,动画状态(例如站立、行走、跳跃、攻击等)由一系列逻辑条件控制,确保角色在特定状态下执行合适的动画。状态机可以控制从一种状态到另一种状态的切换,并定义各个状态的动画。

  • 主要特点

    • 逻辑控制:状态机通过逻辑条件(例如变量、标志位)来决定动画的切换,例如只有在跳跃键被按下并且角色处于地面时才允许从站立切换到跳跃。
    • 状态间关系明确:定义了各个状态之间的转换条件,避免在不合适的时间触发错误的动画。例如,防止角色在空中进行地面攻击。
    • 多功能性:状态机不仅用于Locomotion,还可以管理更多的复杂动画状态,例如攻击、受伤、死亡等。
  • 典型使用场景

    • 管理角色的战斗动画,比如从普通状态进入攻击状态。
    • 控制复杂的过渡条件,比如从跑步状态切换到跳跃状态时需要先检测是否满足跳跃条件。
    • 动画的切换控制和优先级管理,确保角色只在合适的时间进行合适的动作。

3.Animation Montage长度修改

一三人称蓝图切换

混合动画(如两套上下半身分别混合)

https://www.youtube.com/watch?v=wOIlkertaLA

把武器插到skeleton bone socket上

角色重定向

就是5.4右键动画(绿)一键重定向

https://youtu.be/MxMA1TFfqOA?si=Snxj1By2bMKflGLu

相关推荐
郑寿昌1 天前
UE5与UE6在Lumen和Nanite的差异解析
游戏引擎·图形渲染·着色器
郑寿昌2 天前
UE6 AI加速Lumen光线追踪降噪技术解析
人工智能·游戏引擎
晴夏。2 天前
GAS下的网络同步的全面分析【超级全面】
游戏引擎·ue·gas·网络同步
田鸡_2 天前
Unity新输入系统(Input System)教学篇
unity·游戏引擎·游戏程序
EQ-雪梨蛋花汤2 天前
【Unity笔记】Unity 音游模板与免费资源:高效构建节奏游戏开发全指南
笔记·unity·游戏引擎
微莱羽墨2 天前
零、0基础入门Unity 安装详细教程(2026最新版教程,安装Unity看这一篇就够了!)
unity·游戏引擎·unity安装
nnsix2 天前
Unity 刚体的 默认力、瞬时力 区别
unity·游戏引擎
nnsix2 天前
Unity Sprite的 Generate Physics Shape 参数解释
unity·游戏引擎
魔士于安2 天前
Unity完整小球迷宫项目
前端·unity·游戏引擎·贴图·模型
め.2 天前
Unity协程的原理
unity·游戏引擎