Choose your operating system:
Windows
macOS
Linux
在大部分游戏中,玩家人物有时会被杀死,而您想使其在世界中重生。此"操作指南"将向您介绍如何为单人游戏设置简单的重生系统。
实现指南
你将在此了解如何在蓝图中重生单人游戏中的玩家人物。
步骤
以下详述了单人游戏中玩家被杀死时重生所需执行的步骤。
以下步骤基于使用 第三人称模板里的蓝图 项目,但是,你可随意使用任何项目。
在你的项目中,打开 Game Mode 蓝图(我们使用的是 ThirdPersonGameMode 蓝图)。
在图表中 Right-click 并添加 Event Begin Play 节点,然后再次 Right-click 并添加 Get Player Character 节点。
拖出 Get Player Character 节点的 Return Value 并添加 Cast To ThirdPersonCharacter 节点,然后连接这些节点。
你要转换到你的玩家人物蓝图,此示例中即 ThirdPersonCharacter。此操作将允许我们访问它并决定玩家人物何时因使用 On Destroyed 事件而被杀死,而此时我们可以生成新的玩家人物。
拖出 As ThirdPersonCharacter C 针并添加 Assign On Destroyed 节点。
从 OnDestroyed_Event 节点连出来,添加 Delay 节点并将其设置为你想延迟重生的任意时间(可选)。
这里,我们将事件绑定到其他蓝图中的另一事件。此操作允许该蓝图中的事件在另一蓝图中的事件发生时启动(即 ThirdPersonCharacter 中的 OnDestroy 事件)。这称为 Event Dispatcher,而且也可用于和 Level Blueprint 通讯以告知世界一个事件已发生。
请参阅 事件分发器 文档以了解更多信息。
从 Delay 节点连出来(若已添加),添加 SpawnActorFromClass 节点并从下拉菜单中将 Class 设置为 ThirdPersonCharacter。
创建新的 Transform 变量并命名为 Spawn Transform,然后将其连接到 Spawn Actor 节点的 Spawn Transform。
在图表中 Right-click 并添加 Possess 节点。
你可能需要取消勾选 Context Sensitive 才能使此节点出现在菜单中。
将 Spawn Actor 的 Return Value 连接到 Possess 节点的 In Pawn,然后连接执行线。
拖出 Possess 节点的 Target 针并添加 Get Player Controller 节点。
在 Event Begin Play 节点旁,在图表中 Right-click,然后添加 Custom Event 并命名为 Respawn。
你可能需要重新选中 Context Sensitive 才能使此节点出现在菜单中。
将自定义事件连接到 Cast To ThirdPersonCharacter 节点。
拖出 Possess 节点并调用 Respawn 事件,你的完整图表应如下所示。
单击图像可查看全图。
Compile 并 Save,然后关闭蓝图。
打开 ThirdPersonCharacter 蓝图,在图表中 Right-click 并添加 Event Begin Play 节点。
再次 Right-click 并添加 Get Game Mode 节点,然后拖出该节点并 Cast To MyGame(或你的游戏模式)。
拖出 As My Game C 针并添加 Set Spawn Transform 节点。
在图表中 Right-click 并添加 Get Actor Transform 节点,然后将其连接到 Set Spawn Transform 节点。
此操作旨在获取玩家开始游戏时的位置,并将其设置为重生位置。
在图表中 Right-click 并添加 F 按键事件,然后从 Pressed 针连出来接 Destroy Actor 节点。
此操作用于测试用途并将在按下 F 键时杀死(摧毁 Actor)。当玩家失去足够生命值或通常可能杀死你的玩家的某个其他事件时,你很可能会调用 Destroy Actor 节点。
如果你 Compile 并在编辑器中玩游戏,当你按下 F 键时,你会瞬间消失,然后在起点重生。