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

为什么Unity导出WebGL版本后游戏内物体移动速度异常变快?

故障排查及修复方案
  • 核心问题:Rigidbody2D相关的物理位移操作错误放在了Update()函数中执行
    • Update()的执行频率和设备帧率完全绑定,WebGL端运行帧率和Unity编辑器帧率存在较大差异,即便乘以Time.deltaTime,也会因为物理更新和帧更新步长不匹配出现速度异常
    • FixedUpdate()以固定时间步长(默认0.02s)执行,完全不受帧率波动影响,是Unity官方规定的物理相关逻辑的执行位置
  • 修复步骤:
  1. 将代码中原来的Update()方法重命名为FixedUpdate()
  2. 将位移逻辑中的Time.deltaTime替换为Time.fixedDeltaTime
    修复后的代码片段如下:
void FixedUpdate()
{
    rigidbody.MovePosition(transform.position + new Vector3 (0, -1, 0) * speed * Time.fixedDeltaTime);
}
  • 额外可选排查项:
    • 打开项目设置Time面板,确认Fixed Timestep数值保持默认0.02未被修改
    • 检查WebGL构建设置中的目标帧率配置,不要设置超过60的固定帧率
    • 全局排查是否存在修改Time.timeScale的逻辑,确保游戏运行时该值恒为1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:36:02