3.设置角色蓝图
到目前为止,我们已经设置了混合空间并修改了动画蓝图来使用该混合空间,我们的最后一步是为玩家提供一个调整在动画蓝图中驱动混合空间的参数的方法。我们不需要关心 方向,因为它是根据我们的角色面对的方向确定的,但对于 速度,我们需要提供一个方法来驱动该值。
步骤
在 内容浏览器 的 Content/AnimStarterPack 下面,打开 Ue4ASP_Character 蓝图。
在图中找到 下蹲(Crouching)部分,并 右键单击,添加一个 C 键盘事件。
系统构建此动画蓝图时预期应该有一个名为 下蹲(Crouch)的 动作映射(这就是系统显示警告的原因)。既然新建的项目中并不存在下蹲映射,为了消除警告,我们将用 C 键事件替换它,该事件使玩家在按 C 时会下蹲。
如果您没有看到警告,可以使用既有的下蹲映射取代下面设置的 C 键事件。
从 按下(Pressed)引脚拖出,添加一个 反转(FlipFlop)节点,然后按下图所示连接 A 和 B 引脚。
这将允许玩家通过按 C 进入/退出下蹲状态,而不必一直按住 C 来下蹲。
在 我的蓝图(MyBlueprint)中,单击 显示继承的变量(Show Inherited Variables)框,然后按住 Ctrl 将 角色运动(CharacterMovement)拖动到图中。
在图中从 角色运动(CharacterMovement)节点拖出,找到并添加 设置最大行走速度(Set Max Walk Speed)节点,将其设置为 125。
复制 设置最大行走速度(Set Max Walk Speed)节点,将新节点设置为 150,然后按下图所示连接各节点。
在这里我们设计了角色移动速度的上限。角色的运动将定义我们的动画蓝图和混合空间中的 速度(Speed)变量,使角色在行走和慢跑的不同动画之间混合。
在“下蹲”(Crouch)部分下面,在图中 右键单击,添加 左 Shift(Left Shift)键事件。
从 按下(Pressed)引脚拖出,添加一个 分支(Branch)节点,然后再给 松开(Released)引脚添加一个 分支(Branch)节点。
对这两个节点的 条件(Condition)分别 右键单击,寻找并添加 使下蹲按钮保持按下(Get Crouch Button Down)并按图中所示连接。
从“下蹲”(Crouch)部分选择 角色运动(CharacterMovement)和 设置最大行走速度(Set Max Walk Speed)节点并复制。
按下图所示连接每个 分支(Branch)的 False 引脚,并将 最大行走速度(Max Walk Speed)值设置为 270 和 150。
在此示例中,我们只允许玩家在未下蹲的情况下快跑。
在 我的蓝图(My Blueprint)面板中选择 角色运动(Character Movement)。
在 角色运动(Character Movement)的 细节(Details)面板中,将 最大行走速度(Max Walk Speed)设置为 150,将 最大下蹲行走速度(Max Walk Speed Crouched)设置为 125。
在这里我们设置了角色移动行走速度的默认值。
在 组件(Components)面板中单击 网格(Mesh)。
在 细节(Details)中确保将 动画类(AnimClass)设置为 UE4ASP_HeroTPP_AnimBlueprint。
如果已经设置该类则不必修改。如果未设置,一定要设置它,这样角色才会使用我们修改过的动画蓝图。
单击 编译(Compile)和 保存(Save),然后关闭蓝图。
在关卡编辑器视口中,删除关卡中放置的默认角色。
删除此角色将确保在运行游戏时使用您用动画初学者包生成的角色。
单击 播放(Play)按钮在编辑器中运行。
最终结果
在编辑器中运行时,使用 WASD 四处移动,此时角色在默认情况下将会行走,在改变方向时会在不同行走动画之间混合。如果您按 C 下蹲,角色将保持下蹲姿势行走,速度比站立行走时稍慢。在站立时,按住 左 Shift 并使用 WASD 将使角色从行走/瞄准动画混合到低姿/瞄准慢跑动画,从而使角色变为“快跑”。