Unreal Engine 5 RPG Tutorial Series - #5: Player Stats - Health, Stamina and XP

Gorka Games
25 Feb 202333:48

Summary

TLDR在这个Unreal Engine 5的教程视频中,我们继续深入角色扮演游戏(RPG)系列的制作。今天,我们将从玩家状态开始,包括生命值、耐力、经验值和等级等。我们会创建一个新的蓝图类,作为组件添加到第三人称角色中,以保持组织的整洁。我们将设置当前生命值、最大生命值、当前耐力、最大耐力、经验值、最大经验值和等级等变量,并将它们分类以便于管理。接下来,我们会创建一些功能,如减少生命值和增加生命值,以及检查生命值是否降至零以下时玩家的死亡状态。此外,我们还会设置默认值,如初始的生命值和耐力为100,经验值为0,以及所需的经验值来提升等级。最后,我们将开始在用户界面(UI)中实现这些状态,创建一个新的小部件蓝图,并添加一个画布面板来放置进度条,以可视化玩家的生命值和耐力。

Takeaways

  • 🚀 开始制作RPG系列教程,将创建玩家状态系统,包括健康、耐力、经验值和等级等。
  • 📚 通过创建一个新的蓝图类(actor component),来组织玩家状态,使其与第三人称角色分离,以保持代码的整洁。
  • 🔢 设置了玩家状态的基本变量,包括当前健康值、最大健康值、当前耐力、最大耐力、经验值、最大经验值和等级。
  • 📉 创建了减少健康值的函数,包括根据受到的伤害来更新当前健康值,并在健康值为零或以下时触发玩家死亡。
  • 📈 制作了增加健康值的函数,用于在玩家升级时增加最大健康值,并允许当前健康值逐渐恢复。
  • 💪 设计了管理耐力的函数,包括减少耐力和增加最大耐力,以及在耐力耗尽时限制玩家的某些动作。
  • 🎮 通过在第三人称角色蓝图中添加组件和调试键,可以在运行时测试和调整玩家状态。
  • 🖥️ 为UI界面创建了一个主HUD(头部显示器)小部件蓝图,并在画布面板上布局了健康和耐力的进度条。
  • 🔴 调整了健康进度条的颜色和位置,以匹配参考游戏《刺客信条:起源》的UI设计。
  • 🔵 同样为耐力进度条设置了颜色和尺寸,并确保其在UI中的布局与健康进度条协调。
  • ✅ 通过将玩家状态与UI元素绑定,实现了在游戏运行时动态更新健康和耐力进度条的百分比。
  • 📈 在玩家状态蓝图中实现了文本显示,用于实时显示当前的健康和耐力值。

Q & A

  • 在Unreal Engine 5的RPG系列教程中,玩家状态系统包括哪些基本属性?

    -玩家状态系统包括生命值(Health)、耐力(Stamina)、经验值(XP)和等级(Level)等基本属性。

  • 为了在Unreal Engine 5中创建玩家状态,需要创建哪种类型的蓝图?

    -需要创建一个Actor Component类型的蓝图,这样可以通过组件的形式将其添加到第三人称角色中。

  • 在设置玩家状态的变量时,生命值和耐力的变量类型是什么?

    -生命值和耐力的变量类型是浮点数(float),这样可以支持小数点,使得数值更精确。

  • 如何在游戏中实现玩家生命值的减少?

    -通过创建一个名为'Decrease Health'的函数,并将其与一个输入值(代表受到的伤害)相连接,通过这个函数可以减少玩家的当前生命值。

  • 当玩家生命值降至零或以下时,游戏中会发生什么?

    -当玩家生命值降至零或以下时,玩家角色将会死亡,这通常会触发角色的死亡动画(Ragdoll)和一些特定的效果。

  • 如何在游戏中实现玩家生命值的增加?

    -通过创建一个名为'Increase Health'的函数,该函数会接收一个输入值,并将其添加到最大生命值(Max Health)中,从而实现生命值的增加。

  • 在创建UI界面时,如何将玩家的状态信息展示给玩家?

    -通过创建一个Widget Blueprint,并在其中使用Canvas Panel、ProgressBar和Text等UI元素来展示玩家的当前生命值、耐力和其他状态信息。

  • 在UI界面中,如何根据玩家的当前生命值更新生命条的百分比?

    -通过将当前生命值除以最大生命值,得到一个从0到1的数值,然后将这个数值作为ProgressBar的百分比参数来更新生命条的显示。

  • 在教程中,如何确保UI界面在游戏开始时显示?

    -在第三人称角色的蓝图中,在Begin Play事件中创建并添加HUD Widget到视口(Viewport),从而确保UI界面在游戏开始时显示。

  • 在教程中,如何实现玩家状态的实时更新?

    -通过在玩家状态变更的函数中调用UI界面的更新函数,如更新生命条的百分比和文本显示,确保玩家状态的实时更新。

  • 在Unreal Engine 5中,如何为玩家状态系统添加调试功能?

    -可以通过在第三人称角色蓝图中添加Debug Key功能,通过按键触发特定的玩家状态变更,如增加或减少生命值,以便于调试和测试。

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
Unreal Engine 5RPG系列玩家状态游戏开发UI设计教程角色系统健康条耐力条经验值
Do you need a summary in English?