首页/ 第 7 章 · 物理系统/ 第 109 课
LESSON 109 · 物理系统

刚体插值 Interpolation 与抖动消除

刚体插值已掌握。下一课综合练习:打砖块物理小游戏。

⏱ 约 11 分钟📊 难度:入门🗂 第 7 章 · 物理系统📍 第 109 / 300 课
课程进度
109 / 300

🎯本节学习目标

  • 理解抖动的成因
  • 掌握 Interpolation 设置
  • 解决相机/物理抖动

🚀课程导读

刚体明明匀速移动,画面却一顿一顿?这是物理帧率与渲染帧率不同步导致的。本课用 Interpolation 解决。

为什么会抖

物理与渲染的“时差”。

  1. 物理在 FixedUpdate(固定步长)里计算,比如每秒 50 次。
  2. 渲染在 Update/渲染帧里进行,可能每秒 60 次或更高。
  3. 当两者频率不一致时,物理物体的渲染位置可能“跳变”,看起来抖动/卡顿。
  4. 【内插 Interpolate】在两次物理计算之间“补”出平滑的渲染位置:物理 50 次 → 渲染 60 帧,用插值补齐中间位置。
  5. 【外插 Extrapolate】根据当前速度“外推”下一帧位置(帧率低于物理时用)。
  6. 【设置位置】刚体组件 → Interpolate 下拉:None(默认)、Interpolate(内插)、Extrapolate(外插)。
💡
绝大多数情况把刚体 Interpolate 设为 Interpolate 即可,肉眼可见地更顺滑。

实战设置与验证

设置并观察对比。

  1. 做一个匀速移动的刚体球(velocity 恒定)。
  2. 播放观察移动:可能看到轻微抖动(尤其帧率不稳定时)。
  3. 暂停,选中球,把 Rigidbody 的 Interpolate 改为 Interpolate。
  4. 再次播放对比:移动明显更顺滑。
  5. 【相机场景】如果相机跟随刚体物体(第 107 课)仍有抖动,把被跟随刚体的 Interpolate 打开。
  6. 【镜头抖动】还可用 Cinemachine 或相机 LateUpdate 平滑(第 247 课)。
  7. 【注意】Extrapolate 通常不如 Interpolate 稳定,除非特殊需求。
  8. 【配合】Fixed Timestep 越密物理越稳但越耗;Interpolate 是“免费”的平滑。
看到刚体抖动先想到 Interpolate,90% 的抖动问题一秒解决。

常见错误与排查

错误:设置了 Interpolate 还是抖?
原因:可能是相机跟随本身抖,或 Fixed Timestep 太大
解决:相机用 LateUpdate + 平滑;把 Fixed Timestep 调小(如 0.01);检查是否直接改 transform 绕过物理。

动手练习

课后小任务(做出来才算真的学会)

  • 做一个匀速刚体球对比 Interpolate 前后效果
  • 把相机的跟随也放到 LateUpdate
  • 总结抖动的主要原因与解法

本节小结

刚体插值已掌握。下一课综合练习:打砖块物理小游戏。

完成打卡后,主站会实时更新你的学习进度 🎯

← 上一课摩擦与弹性的实际应用