Unreal Engine 5 RPG Tutorial Series - #3: Vaulting with Motion Warping

Gorka Games
22 Feb 202342:55

Summary

TLDR本教程是关于如何在Unreal Engine 5中创建一个角色的跳跃系统,并利用新特性“Motion Warping”来实现角色在跳跃过程中的平滑过渡。教程首先指导如何启用Motion Warping插件,然后导入并设置跳跃动画,接着创建一个动画蒙太奇并添加Motion Warping效果。之后,通过在第三人称角色蓝图中使用Sphere Trace来检测玩家前方的物体,并确定跳跃的起始点、中间点和落地点。最后,结合所有计算出的点,通过Motion Warping实现角色的跳跃动画,确保角色在跳跃过程中的动作流畅且符合物理规则。视频最后还提供了测试跳跃系统并调整参数的步骤,以确保系统的正确运作。

Takeaways

  • 🚀 教程介绍了在Unreal Engine 5中创建角色越障(Vaulting)系统的方法,使用新特性Motion Warping来实现动作之间的平滑过渡。
  • 🔍 首先需要启用Motion Warping插件,这可以通过编辑->插件来完成,并在重启编辑器后确认插件已启用。
  • 📂 导入越障动画,这里使用的是Epic Games的Echo模板中的动画,它是免费且可用的。
  • 💡 在资产详情中启用Room Motion特性,这允许动画在墙空间中进行变换。
  • 🎬 将导入的动画转换成Animation Montage,这允许在蓝图中调用动画并在需要时添加Motion Warping效果。
  • 🛠️ 在Animation Montage中添加Motion Warping,通过设置不同的状态来控制越障动作的起始、中间和结束阶段。
  • 🔑 创建Third Person Character Blueprint,并在其中添加Motion Warping组件以及一个新的Vault函数。
  • 🔄 使用Sphere Trace by Channel来检测玩家前方的对象,确定越障的起始点、中间点和落地点。
  • 📐 通过计算和Branch节点确保越障的起始点、中间点和落地点都正确无误,以避免角色在越障时发生异常。
  • 🏃‍♂️ 在越障过程中,设置角色的移动模式为飞行(Flying)并禁用碰撞,以避免与障碍物发生冲突。
  • 🔄 应用Motion Warping,确保越障动作的起始、中间和落地点都设置正确,以实现流畅的动画效果。
  • 🎲 最后,通过播放Animation Montage来执行越障动作,并在完成后将角色的移动模式设置回行走(Walking)并重新启用碰撞。

Q & A

  • 在Unreal Engine 5中,如何启用Motion Warping插件?

    -首先,打开Unreal Engine 5的编辑器,进入“编辑”菜单,选择“插件”,然后在搜索框中输入“Motion Warping”来找到并启用该插件。启用后,根据提示重启编辑器以完成插件的启用过程。

  • 为什么在导入Vaulting动画时需要选择正确的Skeleton?

    -选择正确的Skeleton(如SK_Mannequin)是因为Skeleton定义了动画的骨骼结构和层次,确保动画能够正确地应用到角色模型上。错误的Skeleton可能导致动画无法正确播放或者出现变形。

  • 在设置Room Motion时,为什么需要将Reference Pose设置为禁用?

    -在本教程中,禁用Reference Pose是为了避免在动画变换过程中使用一个参考姿态,这样可以确保动画的运动和变换更加流畅,并且能够根据实际的运动轨迹进行精确的调整。

  • 如何将动画转换为Animation Montage?

    -在内容浏览器中选择动画,右键点击并选择“创建动画蒙太奇”(Create Animation Montage)。之后可以为这个蒙太奇命名,并在打开的蒙太奇编辑器中进行编辑和添加效果,如Motion Warping。

  • 在设置Motion Warping时,为什么需要指定不同的状态和时间段?

    -指定不同的状态和时间段是为了控制Motion Warping在动画的不同阶段如何应用。例如,可以设置起始点、中间点和落地点的状态,以便在动画的特定部分应用Motion Warping,创造出更加自然和流畅的动作效果。

  • 在Third Person Character Blueprint中,如何使用Sphere Trace by Channel来检测Vaulting的目标位置?

    -通过创建一个Sphere Trace by Channel,可以从玩家的当前位置发射一个隐形的球体,并在一定的半径内检测碰撞。通过在不同的高度和位置进行Sphere Trace,可以确定Vaulting的起始点、中间点和落地点。

  • 为什么在Vaulting系统的设计中需要考虑落地位置的高度范围?

    -考虑落地位置的高度范围是为了防止角色Vaulting到不合理的高度,比如过高的墙壁或者地下,这可能会导致角色陷入地形或者无法正确执行Vaulting动作。通过设置一个合理的高度范围,可以确保Vaulting动作的自然和合理性。

  • 在Third Person Character Blueprint中,如何确保角色在Vaulting过程中不会发生碰撞?

    -在执行Vaulting动作时,可以通过禁用角色的碰撞(Set Actor Collision Enable Collision)来避免碰撞。这样可以确保角色在Vaulting过程中不会因为碰撞而中断动作。

  • 为什么在应用Motion Warping之前需要检查Can Warp条件?

    -检查Can Warp条件是为了确保所有的Vaulting点(起始点、中间点和落地点)都已经被正确地设置和检测到。如果没有中间点,角色可能会在Vaulting过程中发生异常,比如飞出去或者动作不连贯。

  • 在测试Vaulting系统时,如何确保角色的动作看起来自然流畅?

    -为了确保角色的动作自然流畅,需要在Animation Montage中正确设置Motion Warping的关键点,并且在Third Person Character Blueprint中精确控制角色的运动模式、碰撞状态和Motion Warping的触发时机。

  • 如果在测试中发现Vaulting系统不工作或者动作不自然,应该如何调试?

    -如果Vaulting系统不工作或者动作不自然,应该检查以下几个方面:确保Motion Warping插件已正确启用,检查Skeleton是否正确选择,验证Room Motion和Animation Montage的设置是否正确,检查Third Person Character Blueprint中的Vaulting逻辑和Motion Warping应用是否准确。此外,也可以通过增加调试信息,如在编辑器中显示额外的Trace线或者Sphere,来帮助定位问题。

Outlines

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Mindmap

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Keywords

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Highlights

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード

Transcripts

plate

このセクションは有料ユーザー限定です。 アクセスするには、アップグレードをお願いします。

今すぐアップグレード
Rate This

5.0 / 5 (0 votes)

関連タグ
Unreal Engine 5动作扭曲角色动画游戏开发教程跃过系统动画制作运动插值3D动画游戏教程
英語で要約が必要ですか?