3.调整 Actor 的物理与碰撞
现在,我们将在 细节(Details) 面板内调整 Actor 的 物理模拟 以及 碰撞 属性。 通过调整这些设置,我们可以定义一个 Actor 如何对游戏环境中的其他 Actor 作出反应。 我们可以将 Actor 设置为模拟物理,这将允许我们在环境中撞击和推动该 Actor,以及定义它与其他 Actor 发生碰撞时如何作出反应。
步骤
选中 Shape_Sphere,然后在 细节(Details) 面板中的 碰撞(Collision) 下,选中 模拟生成碰撞事件(Simulation Generates Hit Events) 复选框。
选中此选项后,我们可以确定这个球体是否会与某些物体碰撞。
并且,在 碰撞(Collision) 部分中,请单击 碰撞预置值(Collision Presets)下拉菜单并选择 物理 Actor(Physics Actor)。
因为我们要模拟物理,此设置将处理物理反应。
在 物理(Physics) 部分中,选中 模拟物理(Simulate Physics) 复选框。
您还可以在此处设置其他选项,例如 阻尼或惯性 ,此选项可影响模拟 Actor 物理的方式,但是,在本教程中,我们仅模拟物理,以使该 Actor 在游戏期间可以受物理影响。
如果您现在是在编辑器中游戏,您将看到球体滚下楼梯;由于这个球体是物理 Actor,您可以走近并推动它。为了测试碰撞事件,我们将使用 蓝图 - 可视化脚本 在球体撞上玩家时将其杀死。
在关卡中选中球体后,请单击 主工具栏 中的 蓝图(Blueprints) 按钮,然后选择 打开关卡蓝图(Open Level Blueprint)。
在图形窗口中 单击鼠标右键,然后在 为球体形状添加事件(Add Event for Shape Sphere) 和 碰撞(Collision) 下方,选择 添加 Actor 碰撞(Add On Actor Hit) 事件。
现在,当球体撞上物体时,将触发事件。
从 OnActorHit 节点,拖出 其他 Actor(Other Actor) 引脚并搜索 投射到 ThirdPersonCharacter(Cast To ThirdPersonCharacter),然后在窗口中将其选中。
此时,我们将检查所碰撞的另一个 Actor 是否为 ThirdPersonCharacter(或者与此模板配合使用的玩家)。
从 转换(Cast) 节点拖出 作为第三人物角色(As Third Person Character) 引脚并进行搜索,然后添加 销毁 Actor(Destroy Actor) 节点。
如果 ThirdPersonCharacter 就是所碰撞的 另一个 Actor,那么将销毁 ThirdPersonCharacter(杀死玩家角色)。
单击窗口左上角的 编译(Compile) 按钮以完成蓝图,然后关闭窗口。
在 主工具栏 中,单击 游戏(Play) 按钮以在编辑器中游戏。
最终结果
现在,在编辑器中游戏时,您可以使用 WASD 来移动角色,并使用 鼠标 来操纵摄像机。您应该会看到球体现在滚下楼梯,如果您走近它,它应该会杀死角色,从而使角色消失(您被“杀死”后,可按 Esc 键退出游戏会话)。
通过上述过程,您已初步了解如何通过主关卡编辑器的 细节(Details) 面板编辑 Actor 的属性。有关更多信息,请参阅以下相关主题。