You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UE4角色移动速度即便乘以delta time仍随帧率变化问题

UE4不同运行模式下角色移动速度异常问题

我在Unreal Engine 4视口中运行游戏时,帧率约为100到120fps,角色移动速度符合预期。但当我选择「Standalone game(独立游戏)」模式运行时,帧率升至380到450fps左右,角色移动速度却比预期慢很多。我已经通过delta time对移动做了缩放,原本预期速度不会受帧率影响,不清楚哪里出了问题。

我设置的轴映射如下图所示:
Axis Mappings

我的角色移动计算公式如下:

World Direction * ((Movement Speed * Axis Input Scale) * Delta Seconds)

// 100FPS场景下示例
1 * ((100 * 1) * (1 / 100)) = 1cm per frame * 100 fps = 100cm per second

// 400FPS场景下示例
1 * ((100 * 1) * (1 / 400)) = 0.25cm per frame * 400 fps = 100cm per second

实现上述计算逻辑的角色移动蓝图位于我的角色控制器蓝图中,如下图所示:
Character Movement BluePrint

其中UpdateCharacterMovement事件在Event Tick中被调用:
Event Tick

我添加了打印字符串节点来统计每秒移动距离,结果显示100fps和400fps场景下都输出Travelled 100.x in 1.x seconds,但实际移动速度差异十分明显:400fps下我无法跳过100fps下可以轻松越过的缺口。
Print distance travelled in one second

解决方案

正如评论区George指出的,我之前没有意识到使用Add Movement Input函数时,角色移动组件会自动处理移动速度、delta time等相关计算。我简化了自定义事件后问题解决,最终蓝图如下:
Solution


内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 11:15:07