[DebugMember] 或检查器组件 DebugInspector,可以定制调试工具。


[DebugMember] 属性添加到您的任何属性、字段或操作函数中,并通过该属性的参数对它们进行自定义。Meta.XR.ImmersiveDebugger.Interface 添加程序集依赖。DebugInspector 组件添加至任何游戏对象,然后配置调试选项。

DebugInspector 添加的一些属性可能在头戴设备内窗口中无法正确显示,这是因为在 Unity 运行时剥离了它认为未使用的属性/功能。为了避免这种情况,请使用 [DebugMember] 脚本属性来访问它们,这样可保证保留成员。




DebugMember 属性或检查器窗口中进行指定。某些预配置的 Meta XR 调试项目也可立即使用,您可以在设置中将其关闭。请参阅 Meta 功能预构建调试,了解更多信息。
| 功能 | 支持状态 |
|---|---|
观看 | 支持一切支持 ToString() 的内容。矢量有特殊的用户界面来展示单独的字段。另外,呈现的预览支持 Texture 数据类型 |
操作 | 只支持无参函数。 |
功能模块 | 支持可在 GizmoTypesRegistry 类中检查的多种 DebugGizmoTypes 类型。所有功能模块(除了轴)均可在 [DebugMember] 中通过额外的 Color 参数来使用该颜色进行绘制。 |
调整 | 支持使用滑块用户界面通过 [DebugMember(Tweakable = true, Min = xxx, Max = xx)] 调整浮点数/整数。支持使用用户界面开关调整布尔值,也支持使用下拉用户界面调整枚举。 |
Assets/Resource/ImmersiveDebuggerSettings.asset 的一个可脚本化对象,对项目中的调试成员类进行预烘焙。using Meta.XR.ImmersiveDebugger;
public class ExampleClass : MonoBehaviour
{
// gizmo drawing, specifying a category
[DebugMember(GizmoType = DebugGizmoType.Axis, Category = "MyDebugCategory")]
private Pose _gameObjectPos;
[DebugMember(GizmoType = DebugGizmoType.Line, Color = DebugColor.Red)]
private Tuple<Vector3,Vector3> _direction;
// just watch, note Tweakable is by default true for all supported types
[DebugMember(Tweakable = false)]
private bool _gameState;
// tweak the value within a range
[DebugMember(Min = 0.0, Max = 1.0)]
private float _param;
// action / call function, static members are also supproted
[DebugMember]
private void SpawnObject() {/* some code here */}
private void Update()
{
// Update and consume all the debug options, e.g.:
_gameObjectPos = new Pose(transform.position, transform.rotation);
}
}
IMMERSIVE_DEBUGGER_ALLOW_USE_IN_PROD 添加为脚本编写预处理器定义,以便在生产版本而非开发版本中使用该工具。这样该工具就可以在非开发版中使用了。CustomIntegrationConfigBase(请查看 ExampleCustomIntegrationConfig),然后在启用使用自定义集成配置后,在设置部分填写 Mono 脚本。如要查找此设置,请在项目设置页面中点击 Meta XR > 沉浸式调试工具 > 高级 > 集成 > 使用自定义集成配置。
RuntimeAPIs 类提供了运行时方法,可用于向沉浸式调试工具添加组件检查器窗口。这样,您就可以在运行时调试组件,而无需使用 DebugMember 属性。这对于调试动态创建的组件或为您无法访问源代码的组件添加检查器非常有用。IPanelRegistrar 接口向沉浸式调试工具添加自定义窗口。您可以使用该接口创建自定义窗口,这些窗口会在运行时通过沉浸式调试工具注册。| 问题 | 说明 |
|---|---|
OVRManager 依赖项 (OVROverlay) | 沉浸式调试工具利用 OVROverlay 合成器图层来增加文本清晰度,但您的项目需要使用 OVRManager。 |
对 HDR(相机和设备图形设置中)尚不支持 | 沉浸式调试工具窗口在使用 HDR 期间可能会出现某些视觉故障。 |