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

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Mindmap

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Keywords

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Highlights

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen

Transcripts

plate

Dieser Bereich ist nur für Premium-Benutzer verfügbar. Bitte führen Sie ein Upgrade durch, um auf diesen Abschnitt zuzugreifen.

Upgrade durchführen
Rate This

5.0 / 5 (0 votes)

Ähnliche Tags
Unreal Engine 5RPG系列玩家状态游戏开发UI设计教程角色系统健康条耐力条经验值
Benötigen Sie eine Zusammenfassung auf Englisch?