3.完成角色设置

在这里,我们将在角色蓝图中实现脚本以响应输入映射,以便角色运动。

Windows
MacOS
Linux

在本节中,我们将通过实现基于玩家输入控制角色的脚本来完成角色的设置。

  1. 打开 我的角色 蓝图。

  2. 在图中,右键单击 并添加 输入轴前移输入轴右移 事件。

  3. 按住 Control 并拖入 禁用移动 变量中,并将其连接到每个事件的 分支 上的 条件

  4. 如下所示,设置节点网络的其余部分。

    单击图像显示完整视图。

    在这里,我们只在 禁用移动False 时才允许角色运动。我们这样做是为了防止角色在没有动画的情况下运动,例如,我们有Prone Idle动画,但我们没有Prone Crawl动画。为了防止玩家在俯卧时在地面上滑动,我们将禁用运动。

  5. 右键单击 并添加 InputAxis TurnInputAxis LookUp 事件。

  6. 将Turn事件添加到 Add Controller Yaw Input 节点,并将LookUp事件添加到 Add Controller Pitch Input 节点。

    Character_MouseInput.png

  7. 在图中 单击右键 并添加 InputAction Jog 事件。

  8. 我的蓝图(MyBlueprint) 窗口中,单击 显示继承的变量(Show inherited variables) 复选框,按住 Control 并将 角色移动 拖入图中。

    Character_JogA.png

  9. 按住 Alt 并拖入 Jog Pressed 变量中,然后按住 Control 并拖入 Crouch Pressed 变量中。

  10. 设置节点网络,确保在适当的 设置(Set) 节点中勾选“Jog Pressed”,如下图所示:

    单击图像显示完整视图。

    在这里,我们要将 Jog Pressed 设置为True,当Jog为Pressed时,则关闭 角色移动 组件,我们要将角色的 最大行走速度 设置为 375(您可以调整此值来提高/降低Jog速度)。

    当Jog为Released时, 我们要检查我们是否处于蹲伏状态,如果处于蹲伏状态,我们要将行走速度设置为 160(我们的蹲伏行走速度)。如果我们不处于蹲伏状态,我们要将行走速度设置为 200(我们的默认行走速度)。这允许我们从蹲伏或行走状态开始Jog,然后适当地恢复到这一状态。

  11. 在图中 单击右键 并添加 InputAction Crouch 事件。

  12. 按住 Alt 并拖入 Crouch Pressed 变量中,然后按住 Control 并拖入 Jog PressedProne Pressed 变量中。

  13. 设置节点网络,确保在适当的 设置(Set) 节点中勾选“Crouch Pressed”,如下图所示:

    单击图像显示完整视图。

    对于蹲伏脚本,我们首先要检查我们目前是否处于Prone状态,如果处于此状态,我们将不允许您蹲伏(我们这样做的唯一原因是,我们没有从Prone到蹲伏的动画,反之亦然,如果您有这些动画,您可能想允许玩家从蹲伏进入Prone状态)。

    我们使用 FlipFlop 节点作为蹲伏的切换,无需持续按住蹲伏按钮(此项为可选,取决于您倾向的方法)。第一次按下后,我们将 Crouch Pressed 设置为 True,并将 最大行走速度 设置为 160。第二次按下以关闭蹲伏后,我们检查我们是否要从蹲伏进入Jog(如果要,我们将行走速度设置为 375),如果不要,我们将行走速度设回为 200

  14. 在图中 单击右键 并添加 InputAction Prone 事件。

  15. 按住 Alt 并拖入 Prone Pressed禁用移动 变量中。

  16. 按住 Control 并拖入 Crouch Pressed 变量中。

  17. 设置节点网络,确保在适当的 设置(Set) 节点中勾选“Prone Pressed”,如下图所示:

    单击图像显示完整视图。

    对于Prone脚本,我们首先要检查我们目前是否处于蹲伏状态,如果处于此状态,则不允许您进入Prone状态(如前所述,因为我们没有过渡动画)。然后,我们再次使用 FlipFlop 节点以在 Prone状态之间切换。

    第一次按下时,我们要将 Prone Pressed禁用移动 都设置为 True,以允许我们进入俯卧状态并禁用角色的移动。第二次按下后,我们要将 Prone Pressed 设置为 false 以退出俯卧状态,然后添加些许延迟(设置为 1.4),再重新启用运动(以防止玩家在动画播放回到站立状态时四处移动)。

  18. 在图中 单击右键,添加 InputAction Jump 事件,并从 我的蓝图(MyBlueprint) 窗口拖入 角色移动 中。

  19. 按住 Alt 并拖入 Jump Pressed 变量中,然后按住 Control 并拖入 禁用移动CrouchPressed 变量中。

  20. 设置节点网络,确保在适当的 设置(Set) 节点中勾选“Jump Pressed”,如下图所示:

    单击图像显示完整视图。

    对于跳跃脚本,我们首先要检查我们是处于Prone还是蹲伏(Crouched)状态。如果两者都不为 true, 那么我们要使用 角色移动 分量来确定当前的速度,如果速度大于0,意味着我们在移动中。

    然后,我们通过将 JumpZVelocity 设置为 365(对于正在移动的角色)或 340(当我们静止时),根据角色是否在移动来设置角色可以跳多高。在这两种情况下我们都将 Jump Pressed 设置为 True,当跳跃(Jump)已被释放时,则将 Jump Pressed 设置为 False

欢迎来到全新虚幻引擎4文档站!

我们正在努力开发新功能,包括反馈系统,以便您能对我们的工作作出评价。但它目前还未正式上线。如果您对此页面有任何意见与在使用中遭遇任何问题,请前往文档反馈论坛告知我们。

新系统上线运行后,我们会及时通知您的。

发表反馈意见