UE4-根据移动方向改变移动速度

问题描述 投票:0回答:2

我有第三人称角色。我使用控制器所需的旋转来使用鼠标旋转角色,如 PUBG 等。当我前进时,如何更改最大行走速度?例如,当我向前走时,我的速度必须是 500,但是当我向右或向后走时,我的速度必须是 250。如何检测到这一点?我当然可以在输入轴事件上添加 if-s,但我的游戏是多人游戏,如果我每次检查并更改速度,这都会降低性能。如何正确解决?

c++ unreal-engine4 unreal-blueprint
2个回答
1
投票

我可以为蓝图提供解决方案,尽管我不能确定它是否适合您的情况。

关键是将运动输入添加到玩家角色的前进向量中。请参阅下面的屏幕截图。

向前按时,MoveForward 输入事件的 AxisValue 输出为 +1,向后按时为 -1。

如果您的步行速度为 500,则上方的 AddMovementInput 会在玩家面对的方向上添加 500 次移动,乘以 1。

下面的增加了 500 移动,乘以 -1 乘以 0.5,这将使你以半速向后移动(从技术上讲,是负值向前移动)。

您可以将相同的逻辑应用于 MoveRight 输入。

PS 如果您使用模拟控制器,我假设 AxisValue 将在 -1 到 1 的范围内,但这不会改变上面的逻辑。


0
投票

我应该把它放在“第三人称角色蓝图”的哪里???没有名为“InputAxis MoveForward”的节点,它从哪里来?我怎样才能得到它?

© www.soinside.com 2019 - 2024. All rights reserved.