Oculus分享:在Quest头显中调试Unity App开发

查看引用/信息源请点击:映维网

调试基于UnityQuest应用

映维网 2021年08月13日)对于VR应用而言,调试是一个非常重要的步骤。日前,Oculus分享了一份关于直接在头显中调试Unity应用的博文。下面是映维网的具体整理:

对于本文,我们将介绍调试基于Unity的Quest应用所需的工具,包括一个目前尚未充分利用的方式:将调试器直接接到头显。

目前,Unity是Oculus Quest平台最常用的引擎之一。对于Unity开发者,最常见的开发工作流如下所示:

  1. 通过Link将Quest接到PC,并在头显中启用Oculus Link。

  2. 使用Unity play in editor迭代应用。所述编辑器在开发PC执行计算和渲染,并通过Oculus Link将输出帧发送到Quest。

  3. 偶尔在Unity中生成Android版本,禁用Oculus Link,并将Android版本侧载到Quest。这时,Quest将本地执行计算和渲染。

尽管侧载Android版本能够表示用户开玩应用时的体验,但通过Oculus Link进行原型设计可以缩短迭代时间,在处理性能优化之前利用更强大的硬件,并为Unity提供完善、简单的调试管道。

当然,你可能会遇到仅在头显中出现的问题,并且无法通过play in editor进行复刻。或者,你可能正在实现只有在Quest本地运行时才可用的功能,例如手部追踪或电源管理。

当你在跟踪问题或实施仅在Android版本中出现的功能时,你可以尝试下面经过社区洗礼的工具供:

  1. 可以使用RenderDoc for Oculus分析GPU问题

  2. 可以使用Unity Profiler分析CPU性能问题

  3. 可以使用Perfetto对应用程序进行测试,以获取系统范围的性能数据

有时候,你只想在代码中放置一个breakpoint,并在Quest头显触发应用时检查其状态。以下信息概述了启用所述过程的必要步骤。

1. 准备

  1. 面向Quest的Unity开发环境设置,包括Android SDK和NDK

  2. 开发者模式下的Quest头显,Link数据线和ADB驱动程序

  3. Visual Studio 2019(免费的Community版本即可)+“Game Development for Unity”包(如果已经安装了Visual Studio 2019,则可以启动“Visual Studio Installer”,并单击Modify改”,以确保安装“Game Development for Unity”包)。

  1. 为Unity应用生成的Visual Studio.sln和.csproj文件(如果Visual Studio是默认的外部脚本编辑器,则将自动创建所述脚本;如果它不是默认的外部脚本编辑器,则可以通过“编辑>首选项>外部工具”,然后单击“重新生成项目文件”按钮)。

2. 步骤

  1. 在Unity中,选中“Development Build”和“Script Debugging”复选框,为应用生成Android版本。

  1. 通过ADB或Oculus Developer Hub将生成的版本安装到头显中,然后启动。

  2. 在Visual Studio 2019中打开应用的Unity generated.sln,并根据需要放置breakpoints。

  3. 在Visual Studio 2019中,选择Debug > Attach Unity Debugger。

  1. 在显示的菜单中,你应该看到“Oculus Quest”(或“Oculus Quest 2”)的条目。选择它并单击“OK”

  1. 等待Visual Studio成功连接。当VisualStudio底部的状态栏变成橙色,breakpoints标记变成红色时即为成功。

  2. 在头显中执行操作以选择breakpoints,然后进行调试。

  3. 通过使用这个管道,头显调试体验将与r in-editor调试体验更加接近。

3. 问答

为什么在VisualStudio的“Select Unity Instance”窗口中没有显示我的头显?

要显示你的头显,以下两项都必须为true:

  1. 你的头显必须出现在adb devices输出的命令提示符中。

  2. 当前正在头显中运行应用,并选中“Development Build”和“Script Debugging”复选框。除非这两个都是true,否则侦听Visual Studio调试连接的进程将不会在头显运行。

如果我需要调试在第1帧上发生的事情,该怎么办?

遗憾的是,我们目前不支持Unity builds for Quest中的“Wait for Managed Debugger”切换。相反,我们建议在启动应用程序的其余部分之前,使用等待预定信号的启动场景修改应用程序。

我可以通过Wi-Fi使用ADB over Wi-Fi来调试我的应用吗?

对只要在adb device输出中看到192.168.x.y:z,管道就完全相同。

如果你有任何问题,请访问Oculus开发者论坛

本文链接https://news.nweon.com/88431
转载须知:转载摘编需注明来源映维网并保留本文链接
入行必读:AR/VR——计算机历史第二次大浪潮

更多阅读推荐......

资讯