Unreal Engine 5 RPG Tutorial Series - #9: Combat

Gorka Games
4 Mar 202337:12

Summary

TLDR本教程是关于如何在Unreal Engine 5中创建一个RPG系列的战斗系统。视频首先解决了之前视频中用户反馈的一个问题,即角色在进行情感传送或下落时仍然会消耗耐力。为了解决这个问题,视频展示了如何在第三人称角色蓝图中修改耐力消耗事件,以确保在这些情况下不会减少耐力。接下来,视频引导观众创建一个新的剑攻击文件夹,并导入了从Epic Games RPG模板导出并修改的动画。随后,视频详细介绍了如何在角色RPG动画蓝图中导入和设置动画,包括设置正确的骨架和启用Root Motion。视频还介绍了如何创建和设置攻击输入动作,以及如何通过布尔变量控制攻击的开始和结束。此外,还展示了如何创建自定义事件来组织和调用剑攻击,并使用动画蒙太奇和动画通知来实现连续攻击和组合攻击。最后,视频还涵盖了如何将剑模型添加到玩家角色中,并在动画中正确绑定剑模型,以及如何调整动画过渡和角色移动以提高战斗系统的真实感和流畅性。整个教程旨在为观众提供一个易于跟随的战斗系统实现指南。

Takeaways

  • 🔧 修复了在翻滚或下落时仍然会消耗体力的问题,通过在第三人称角色蓝图中修改体力消耗事件的条件来实现。
  • 🗃️ 创建了一个新的剑攻击动画文件夹,并从Epic Games RPG模板中导入并修改了一些动画,以便更好地适应教程需求。
  • 🔄 导入动画时,选择正确的骨架(SK_mannequin)以确保动画与角色匹配。
  • ⚙️ 通过创建一个新的Actor Component(BPC_AttackSystem)来组织和开始构建战斗系统。
  • 🎮 创建了一个新的输入动作(EA_Attack)来允许玩家通过点击鼠标左键进行攻击。
  • 💡 引入了多个自定义事件和变量(如can_attack, is_attacking, safe_attack, attack_index)来控制攻击逻辑和组合。
  • 🔄 使用了一个整数开关来根据不同的攻击索引值播放不同的动画。
  • 📹 利用动画蒙太奇(Animation Montages)和动画通知(Animation Notifies)来控制动画的播放和组合的过渡。
  • 🛠️ 调整了动画蒙太奇中的混合时间和通知,以改善攻击组合的流畅性。
  • 🗜️ 通过在动画编辑器中添加关键帧,为攻击2动画添加了角色移动效果,以提高视觉效果。
  • 🗡️ 将剑模型导入到Unreal Engine中,并创建了一个材质来应用纹理,然后将剑模型绑定到角色的手上。
  • 🎨 对剑模型进行了一些调整,包括位置、旋转和缩放,以确保它在游戏中看起来正确。

Q & A

  • 在Unreal Engine 5的RPG系列教程中,为什么需要修复角色在情感传送或下落时仍然消耗体力的问题?

    -在RPG游戏中,玩家在进行情感传送或下落时体力的消耗可能并不合理,因为这通常不是玩家主动的战斗或移动行为,所以修复这个问题可以提升游戏的逻辑性和玩家体验。

  • 如何导入并设置动画到Unreal Engine 5中?

    -首先,将动画文件拖拽到内容浏览器中的指定文件夹。接着,在导入选项中设置默认值,并为动画选择正确的骨架,如SK_mannequin。最后,点击导入所有,等待动画被导入并支持。

  • 在教程中创建的'BPC_AttackSystem'蓝图类是做什么用的?

    -BPC_AttackSystem是一个自定义的Actor Component,用于组织和管理角色的攻击系统,包括攻击的逻辑、动画播放和组合攻击的逻辑。

  • 如何为角色添加攻击输入并将其关联到鼠标左键点击事件?

    -通过在第三人称输入的'Actions'文件夹中创建一个新的输入动作(如命名为'EA_Attack'),然后在输入映射中添加一个新的映射,将其与键盘的鼠标左键点击事件关联。

  • 在实现攻击系统时,'can_attack'布尔变量的作用是什么?

    -'can_attack'布尔变量用于判断角色是否处于可以执行攻击的状态。在未来的功能中,这个变量可以结合体力系统或其他条件来限制角色的攻击行为。

  • 如何为攻击系统添加组合攻击的逻辑?

    -通过创建一个名为'sword_attack_combo'的自定义事件,并在动画蒙太奇(Animation Montage)中设置动画播放完毕后调用该事件。此外,还需要添加一个'safe_attack'布尔变量来控制是否允许在当前攻击动画播放时过渡到下一个攻击动画。

  • 在动画蒙太奇中,如何设置动画播放的顺序和组合攻击的过渡点?

    -在动画蒙太奇的'Notifies Track'中添加'AnimaNotify'来标记组合攻击的过渡点和结束点。通过设置不同的'AnimaNotify',可以控制攻击动画的顺序和在何时结束当前的组合攻击。

  • 如何调整动画蒙太奇的过渡时间以改进角色攻击的流畅性?

    -通过调整动画蒙太奇中的'Blend In'和'Blend Out'时间,可以改变动画之间的过渡速度,从而改进角色攻击的流畅性。

  • 在教程中,如何将剑模型添加到角色手中?

    -首先,在角色的骨架中找到并选择正确的手部插座(如'hand_r'),然后添加一个剑的静态网格体,并将其绑定到该插座上。接着,在蓝图中添加剑的静态网格体组件,并将其设置为非碰撞对象。

  • 为什么需要将剑模型设置为无碰撞(No Collision)?

    -将剑模型设置为无碰撞是为了避免在游戏运行时剑与环境或其他对象发生不必要的物理交互,这样可以确保剑只用于视觉效果和可能的射线检测(ray casting)来计算伤害。

  • 在Unreal Engine 5中,如何为剑添加材质和纹理?

    -通过创建一个新的材质(Material),并将剑的纹理文件(如金属度、法线、粗糙度等)拖拽到材质编辑器中相应的通道上,然后应用并保存材质。

Outlines

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级

Mindmap

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级

Keywords

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级

Highlights

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级

Transcripts

plate

此内容仅限付费用户访问。 请升级后访问。

立即升级
Rate This

5.0 / 5 (0 votes)

相关标签
Unreal Engine 5RPG战斗系统动画导入蓝图编程攻击组合游戏开发教程角色动画动画连击游戏设计