52.初识PhysicsDebug窗口

52.性能优化-CPU-物理-初识PhysicsDebugger窗口


52.1 知识点

Physics Debugger 是什么

Physics Debugger 是 Unity 提供的物理系统可视化调试工具。它不会改变场景中的物理行为,而是通过图形化方式把以下信息直观显示在 Scene 视图里,帮助定位物理相关问题:

  1. 碰撞体(Collider)
  2. 刚体(Rigidbody)
  3. 触发器(Trigger)
  4. 关节(Joint)
  5. 接触点(Contact)
  6. 射线检测(Raycast)
  7. 范围检测(Overlap)

它严格来说不是性能检测工具,更偏向定位物理碰撞表现问题,例如:

  1. 为什么碰撞没有触发
  2. 为什么子弹打不中敌人
  3. 关节为什么拉扯异常

初识 Physics Debug 窗口

打开 Analysis -> Physics Debug,打开窗口后 Scene 窗口也会出现 Physics Debug 的小窗口。

物理调试窗口的 5 个区域

  1. Info(信息)
    显示被选中物理对象(通常是 Rigidbody)的运行时物理属性。
    用途:检查某个物体在运行时的物理状态是否正常,例如刚体不动、抖动等问题。
  2. Filtering(过滤)
    控制哪些物理对象会在 Scene 视图中显示。
    用途:当场景物体过多时,只显示与调试相关的碰撞体/刚体,避免视图杂乱。
  3. Rendering(渲染)
    调整物理调试可视化的显示方式。
    用途:让调试显示更清晰,例如为不同对象分配不同颜色。
  4. Contacts(接触)
    显示物体之间的物理接触信息。
    用途:调试碰撞不触发、穿模、弹力异常等问题,查看碰撞点与法线方向。
  5. Queries(查询)
    可视化物理查询操作。
    用途:调试射线、范围检测逻辑是否正常,例如 Raycast 未命中或方向错误。

Scene 中的 Physics Debug 小窗口

Scene 窗口里 Physics Debugger 的浮动工具栏提供了快捷开关,用于控制物理调试可视化的显示内容:

  1. Collision Geometry(碰撞几何体)
    作用:是否在 Scene 视图中绘制 Collider 的可视化。
    勾选后会显示各种碰撞器的线框与轮廓,用于检查物理碰撞体与视觉模型是否对齐,排查“看起来碰到了但物理没碰到”的问题。
  2. Mouse Select(鼠标选择)
    作用:鼠标点击物体时在 Scene 视图中高亮显示。
    便于通过鼠标选择更直观地观察对象。

场景准备

搭建一个新场景,其中放置一些物理对象,便于在 Physics Debugger 中观察与调试。


52.2 知识点代码

Lesson52_性能优化_CPU_物理_初识PhysicsDebugger窗口.cs

public class Lesson52_性能优化_CPU_物理_初识PhysicsDebugger窗口
{
    #region 知识点一 Physics Debugger是什么

    //Physics Debugger 是 Unity 提供的一个 物理系统可视化调试工具
    //它不会改变场景中的物理行为
    //而是通过图形化的方式把
    //碰撞体(Collider)
    //刚体(Rigidbody)
    //触发器(Trigger)
    //关节(Joint)
    //接触点(Contact)
    //射线检测(Raycast)
    //范围检测(Overlap)
    //等信息直观显示在 Scene 视图里
    //帮助开发者快速定位物理相关的问题
    //它严格来说并不是性能检测工具
    //而是用于定位物理碰撞表现问题的
    //比如:
    //定位为什么碰撞没有触发
    //为什么子弹打不中敌人
    //关节为什么拉扯异常
    //等等 问题的

    #endregion

    #region 知识点二 初识Physics Debug窗口

    //打开 Analysis->Physics Debug
    
    //物理调试窗口中
    //主要由五部分组成
    //1.Info(信息)
    //  显示被选中物理对象(通常是 Rigidbody)的运行时物理属性
    //  用途:
    //  检查某个物体在运行时的物理状态是否正常,比如为什么这个刚体不动、为什么它抖动等等
    //2.Filtering(过滤)
    //  控制哪些物理对象会在 Scene 视图中显示
    //  用途:
    //  当场景里物体太多时,只显示与调试相关的碰撞体/刚体,避免视图杂乱
    //3.Rendering(渲染)
    //  调整物理调试可视化的显示方式
    //  用途:
    //  让调试显示更清晰。例如在复杂场景中,给不同对象分配不同颜色
    //4.Contacts(联系方式)
    //  显示物体之间的物理接触信息
    //  用途:
    //  调试 碰撞为什么没有触发、为什么会穿模、为什么弹力怪异
    //  能看到碰撞点在哪里、法线指向哪里
    //5.Queries(查询)
    //  可视化物理查询操作
    //  用途:
    //  调试射线、范围检测逻辑是否正常
    //  比如子弹打不中敌人,是因为 Raycast 没命中还是方向错了的问题

    //Scene中的Physics Debug小窗口
    //Scene 窗口里 Physics Debugger 的浮动工具栏
    //它提供了几个快速开关,主要用于控制物理调试可视化的显示内容
    //1.Collision Geometry(碰撞几何体)
    //  作用:
    //  是否在 Scene 视图中绘制 碰撞几何体(Collider) 的可视化
    //  勾选时会显示 各种碰撞器 的线框和形状轮廓
    //  主要用于检查物体的 物理碰撞体和视觉模型是否对齐,排查看起来模型碰到了,但物理没碰到的问题
    //2.Mouse Select(鼠标选择)
    //  作用:
    //  勾选后,你用鼠标点击某个物体时,会在 Scene 视图里给出 颜色高亮
    //  方便我们通过鼠标选择更直观的观察对象

    #endregion

    #region 知识点三 场景准备

    //搭建一个新场景
    //其中放置一些物理对象

    #endregion
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏