【问题标题】:UE4-Changing movement speed depending on the direction of movementUE4-根据移动方向改变移动速度
【发布时间】:2020-12-12 19:09:44
【问题描述】:

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

【问题讨论】:

    标签: c++ unreal-engine4 unreal-blueprint


    【解决方案1】:

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

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

    MoveForward 输入事件的 AxisValue 输出在您按前进时为 +1,在您按后退时为 -1。

    如果你的步行速度是 500,那么上面的 AddMovementInput 会在玩家面向的方向上增加 500 的移动,乘以 1。

    较低的增加 500 移动,乘以 -1 乘以 0.5,这将使您以一半的速度后退(技术上,以负值前进)。

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

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

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多