首页/ 第 15 章 · 寻路与导航/ 第 264 课
LESSON 264 · 寻路与导航

物理优化

物理优化完成。下一课学脚本与 GC 优化。

⏱ 约 13 分钟📊 难度:入门🗂 第 15 章 · 寻路与导航📍 第 264 / 300 课
课程进度
264 / 300

🎯本节学习目标

  • 减少物理对象
  • 掌握层过滤
  • 掌握物理设置

🚀课程导读

“成百上千刚体”是物理卡顿元凶。本课把物理开销压下来。

减少物理计算

少算碰撞。

  1. 【刚体数量】刚体/碰撞体越多物理越慢:能用触发器的别用刚体碰撞。
  2. 【静态物】静止的物体用 Static(不带 Rigidbody,碰撞体即可)。
  3. 【合并碰撞】相邻静态物用复合碰撞体(Composite Collider)合并。
  4. 【远距离】远处物体停物理(Sleep)或 Cull。
  5. 【碰撞检测】低速物用 Discrete、高速才 Continuous(省计算)。
  6. 【休眠】静态刚体自然休眠(不再算);别每帧唤醒。
  7. 【触发器】触发器数量控制(同时活跃的触发器多了也贵)。
  8. 【对象池】高频物理物用对象池(第 198 课)。
  9. 【测试】场景放 1000 个刚体与 100 个对比帧率。
  10. 【完成】物理“轻”了!
💡
物理瘦身:少刚体、合并碰撞、静态不带刚体、触发器适量。四条。

层过滤与固定步长

不该撞的别算。

  1. 【层过滤】Edit → Project Settings → Physics → Layer Collision Matrix:
  2. 勾选“哪些层互相碰撞”:子弹不撞子弹、敌人不撞敌人。
  3. 【好处】物理系统跳过不碰撞的层对,省大量计算。
  4. 【固定步长】Fixed Timestep:物理更新间隔(默认 0.02=50Hz)。
  5. 调大(0.03)降物理精度省性能;调小更精确更耗。
  6. 【物理脚本】FixedUpdate 里逻辑别太重(每物理帧跑)。
  7. 【力】AddForce 用 Impulse(一次性)比持续 Force 省。
  8. 【Rigidbody2D/3D】2D 物理与 3D 物理互相独立、各自开销。
  9. 【测试】设层矩阵后对比帧率。
  10. 【注意】层矩阵改错会导致“穿模”(记得测试)。
  11. 【完成】物理“精准省电”。
  12. 【推荐】项目一开始就配好层矩阵。
  13. 【进阶】物理查询(Raycast)也按层过滤。
物理优化两招:层矩阵(跳过无关碰撞)+ 固定步长(控精度换性能)。

常见错误与排查

错误:物体穿模了?
原因:层矩阵误关或 Fixed Timestep 太大
解决:检查层矩阵是否禁用了必要碰撞;恢复 Fixed Timestep 0.02。

动手练习

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

  • 配层碰撞矩阵
  • 合并静态碰撞体
  • 调 Fixed Timestep 对比

本节小结

物理优化完成。下一课学脚本与 GC 优化。

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

← 上一课渲染优化(合批与光影)