Type: concept
Confidence: 0.90
Created: 2026-04-16
Updated: 2026-04-16
Tags: 游戏工具与框架游戏开发

Delta-time运动模式

概述

Delta-time(dt)运动模式:以帧间时间差乘以速度计算位移,使物体移动速度与帧率无关,保证跨帧率一致性。

关键内容

  1. 核心公式position += speed * dt,其中 dt 为相邻两帧之间经过的秒数。
  2. 60fps 时 dt ≈ 0.016 秒,每帧移动 speed * 0.016 像素
  3. 30fps 时 dt ≈ 0.033 秒,每帧移动 speed * 0.033 像素
  4. 每秒总位移 ≈ speed 像素,与帧率无关

  5. 为什么需要 dt:不同设备帧率不同(30/60/120fps),若直接 position += speed,高帧率设备物体移动更快,低帧率设备移动更慢,导致游戏体验不一致。

  6. Love2D 中的实现love.update(dt) 回调自动传入帧间时间差,直接用于计算lua function love.update(dt) if love.keyboard.isDown("right") then x = x + speed * dt end end

  7. 单位换算speed 的单位为"像素/秒",而非"像素/帧"。声明 speed = 200 表示每秒移动 200 像素。

  8. 适用范围:所有基于 update 循环的实时游戏均应使用 dt 模式,包括角色移动、粒子系统、动画插值、物理模拟等。

来源

相关