Skip to main content

世界调试视图

VRChat 提供调试视图,可帮助您解决世界中的问题。有时这些视图可能包含 VRChat 内部开发目的的信息。Canny 上的用户支持或工作人员可能会要求您提供这些视图的截图。但总的来说,您不应与其他用户分享这些视图。

你可以通过快速菜单设置页面底部的按钮访问调试菜单:

快速菜单设置页面上的"Toggle Debug UI"按钮。

快捷键​

某些调试视图页面有直接打开的快捷键:Right Shift + ~ + < 数字 >,其中"数字"在下方标题旁边的括号中提供。

如果你的键盘布局中 ~ 键不在 1 键的正左侧,请尝试使用 1 键正左侧的任意键,因为系统优先考虑键的位置而不是键的字符。

显示要使用哪个键的键盘示意图

受限视图​

某些调试视图和叠加层是受限的。默认情况下,只有世界创作者可以访问调试视图 6(网络对象)、音频源页面和世界叠加层。但是,你可以通过在世界网站设置中启用"World Debugging"来允许其他人查看。别忘了点击"Save Changes"!启用后,其他用户需要重新加入世界才能访问此调试视图。

网站上的&quot;World Debugging&quot;设置

调试菜单页面​

这些调试视图在主调试菜单中作为选项卡可用,也可以通过快捷键直接访问。

AssetBundle 和内存视图 (1)​

AssetBundle 和内存页面

AssetBundle 和内存页面显示 VRChat 当前加载到内存中的化身、世界、物品和其他资源的信息。

此视图主要用于排查 VRChat 问题,在世界开发过程中很少有用。

warning

"Force GC"和"Force GC (full)"按钮会触发内部垃圾回收。这可能会显示内存使用量减少,但_不推荐_在不完全了解其作用的情况下使用。

它不会提高性能或实际帮助 RAM 使用! 相反,如果重复使用,可能会导致性能问题或不稳定。

版本和信息 (2)​

版本和信息页面

版本和信息页面显示有关调试视图系统、你正在运行的 VRChat 当前版本以及快捷键信息(红色文字)的帮助信息。 这些按钮让你可以在不同的调试世界叠加层之间切换。

注意,使用快捷键(Right Shift + ~ + 2)切换此视图时,首先会切换到仅显示基本信息的简约 HUD 变体。再次按下快捷键会打开完整的调试视图。

日志查看器 (3)​

日志查看器页面

日志查看器页面显示你的输出日志。它可以显示重要信息,例如 Udon Behaviour 崩溃、通过 Debug.Log 函数记录的任何信息,以及由 Unity 或 VRChat 生成的世界中的任何其他潜在错误。

顶部的按钮可以启用或禁用某些日志类型,并可用作过滤器。

"Background"选项即使在调试选项关闭时也会收集日志。它会在重启之间保持,但如果激活,会在启动时警告你一次。

warning

在后台收集日志可能会对性能产生明显影响。

玩家 (4)​

�玩家页面

调试视图 4 显示有关其他玩家的各种统计信息。

  • M:玩家是否为实例主控者
  • L:玩家是否为本地玩家
  • VR:玩家是否在 VR 中
  • Group:玩家当前所在的组。此处的分组是一个内部网络系统,用于按距离将多个对象组合在一起,以便它们的数据可以一起发送。
  • Intrvl:玩家发送自身同步数据的时间间隔。
  • Fnl D:内部系统目标期望的延迟。实际延迟会频繁调整,以在延迟和平滑度之间找到良好的平衡。

顶部包含当前实时网络状态的一些常规信息。例如,"Suffering"字段显示世界的 Udon behaviour 是否发送了太多数据。Udon 可以使用网络统计 API检查其中大部分值。

底部的按钮将一些统计信息转储到 JSON 文件中。此文件将保存到与日志相同的文件夹中。这主要用于内部测试目的,不应用于世界开发工作。

网络对象 (6)​

网络对象视图

网络对象页面显示世界中所有网络化对象及其各种统计信息。

  • Owner:对象所有者的玩家 ID。
  • Group:此对象当前所在的组。此处的分组是一个内部网络系统,用于按距离将多个对象组合在一起,以便它们的数据可以一起发送。
  • Sleeping:对象是否处于休眠状态。只有具有 VRCObjectSync 的对象才能休眠。休眠会使对象停止传输数据。
  • Delay:此对象当前在拥有者和观察者之间的延迟。
  • Size:此对象每次序列化的字节数。每次需要同步时,它将发送这么多字节。
  • Bps:此对象每秒使用的大致字节数。
  • Since Last:自上次此对象发送数据以来经过的计数器。
  • Interval:此对象每秒尝试同步的大致次数。

注意,如果对象很多,打开此页面可能会导致一些性能下降。

音频源​

音频源调试页面

音频源页面显示世界中所有当前活动的 AudioSource 组件的信息。其中一些显示的信息仅用于内部调试。

  • Name:GameObject 名称。
  • Clip:分配的 AudioClip 名称。不包括 PlayOneShot。如果未设置则为 <null>。
  • Type:源存在于世界中、化身上还是内部。对于普通用户,只有 World 源是可见的。
  • Vol:在 Unity 中设置的源音量。不包括 VRC_SpatialAudioSource 的 Gain。
  • 3D:spatialBlend 值。
  • Act/Prog:源当前是否正在播放,以及相对于分配的 Clip 的当前进度。如果未分配剪辑则为 -1.0%。
  • VRC/SAS:源是否有 VRC_SpatialAudioSource,以及是否已转换为 Steam Audio。
  • Dist:到音频源的距离(物理单位)以及括号中用于近场计算的虚拟距离(受化身缩放影响)。
  • lG/rG dB:近场模拟的左右耳音量偏移(以分贝为单位,偏移量,不是 dbFS)。
  • d:用于计算 lG/rG 的方向因子。
  • PPC°:视角校正偏移。该值以度为单位估计源相对于音频监听器的物理位置与经过桌面或摄像机视角校正后显示位置之间的角度。

源可以按场景(加载顺序)或按与监听器的距离排序。使用顶部的按钮切换排序方式。

你可以切换一个额外的叠加层,显示附近 AudioSource 的基本射线和位置信息。这主要用于内部用途。

此页面需要世界调试权限。

调试世界叠加层​

叠加层不是调试菜单中的页面,而是直接在世界上显示数据。

你可以通过快捷键或在"版本和信息 (2)"页面中启用它们。

所有这些都需要启用"World Debugging",或者你需要是自己上传当前世界的人。World Debugging 的状态显示在调试菜单的左下角。

PhysBone 和接触叠加层 (7)​

PhysBone 和接触叠加层

调试视图 7 突出显示世界中所有附近的 PhysBones 和 Contacts。当这些组件的行为不符合预期时,这对于调试很有用。

网络对象信息叠加层 (8)​

网络对象信息叠加层

网络对象信息叠加层在世界中每个同步对象上方显示一个面板。每个面板显示该特定对象的各种统计信息:

  • P:拥有者的 Ping 值
  • Q:数据质量(100% 表示没有丢包)
  • O:对象拥有者的 PlayerID
  • G:此对象当前所在的组。此处的分组是一个内部网络系统,用于按距离将多个对象组合在一起,以便它们的数据可以一起发送。
  • Held:此对象是否被持有(如果是拾取物)
  • Status:显示此对象正在做什么的各种信息,例如 Should Sleep、Player、Held 或 Discontinuity

玩家信息叠加层 (9)​

与"网络对象信息叠加层 (8)"类似,它在每个玩家的脚部面板上显示调试统计信息。

VRC_UiShape 调试叠加层 (0)​

VRC_UiShape 叠加层示例

VRC_UiShape 调试叠加层显示世界中每个 VRC_UiShape 的轮廓。此外,它还在屏幕上(桌面模式)或手上(VR 模式)显示文本叠加层,指示你当前指向的内容。用于诊断世界中的 UI 交互问题。