雨果巴拉:行业北极星Vision Pro过度设计不适合市场

研发实战:提交前如何用VRC Validator审查Rift程序

文章相关引用及参考:oculus

在提交应用程序之前自行检查。

映维网 2018年01月25日)当你准备好向Oculus提交你的应用程序时,你第一步需要做的事情是确保应用程序能够通过Oculus的Technical Review Process审查。这个初始步骤能确保你的应用程序符合一定的基本资格。Oculus已经将相关的技术测试打包至最新的VRC Validator,这样开发者就可以在提交应用程序之前自行检查。

这个易于使用的流程工具可以快速识别可能导致你的Rift应用程序不符合虚拟现实审查指南(Virtural Reality Check Guidelines)的问题。

在你接近完成Rift应用程序时,使用VRC Validator是确保你可以满足技术和性能相关要求的好方法。

VRC Validator可以帮助你识别和修复以下问题:

  1. 低帧率
  2. 交互错误日志存储
  3. 权限检查功能
  4. 应用程序设计的最佳实践:应用程序的加载速度是否足够快,是否正确提交框架等等

除了提供基于各种技术测试的结果外,VRC Validator还会向你提供相关文档和最佳实践提供指导,以帮助你解决任何问题。

你可以同时运行所有测试,也可以根据你所关注的特定部分先运行相关测试。每个测试都需要10到30秒才能完成。如果在这个时间范围内没有完成测试,请重新运行测试。

以下是VRC Validator可以在你的应用程序中运行的最常见测试列表:

默认测试(按测试顺序)

  • TestSdkVersion,你的应用程序必须使用正确版本的Oculus PC SDK,Unity,或Unreal Engine
  • TestEntitlementCheck,你的应用程序必须在10秒内完成Oculus Platform的权限检查
  • TestOculusDLLIncludes,你的应用程序不能分发自己的Oculus DLL副本
  • TestLaunchIntoVR,你的应用程序必须在4秒内进入VR,并且显示非内嵌图层
  • TestFrameRate,你的应用程序必须维持在90 FPS
  • TestSubmitFramesWhenVisible,你的应用程序必须在可见时提交帧
  • TestSubmitFramesWhenNotVisible,当Universal Menu(通用菜单)打开时,你的应用程序必须停止提交框架
  • TestResponseToRecenterRequest,你的应用程序必须响应重置视图的请求
  • TestAppShouldQuit,你的应用程序在退出时必须保持温文流畅
  • CheckForExtraneousFiles,你的应用程序不能包含来自其他平台的DLL
  • TestAudioOutput,你的应用程序必须定位Oculus应用程序中指定的音频设备

VRC Validator程序路径,该如何使用?

VRC Validator将自动与Oculus Runtime一起安装。如果你为“运行时系统安装”选择了建议目录和标准安装,则可以在下面显示的路径找到VRC Validator。VRC Validator位于“Oculus \ Support \ oculus-diagnostics”文件夹中。

请确保你在运行测试之前可以在目录中找到工具“OculusVRCValidator.exe”。如果该工具不存在,你应重新安装最新版本的Oculus Runtime,并把工具安装到该位置。

运行VRC Validator需要以管理权限运行的命令提示符窗口。使用以下命令将打开工具,你同时可以立即访问自己希望运行的任何测试:

  1. 输入:cd "C:\ Program Files \ Oculus \ Support \ oculus-diagnostics \"
  2. 运行OculusVRCValidator.exe,并将–path参数设置为Rift应用程序的可执行文件。例如:

    OculusVRCValidator -- path“C:\ Program Files \ Oculus \ Software \ Software \ oculus-first-contact \ TouchNUX.exe

你现在可以使用以下格式运行上面常规测试列表中的任何测试。下面的命令将运行VRC Validator的“TestLaunchIntoVR”测试(该测试主要检查你的应用程序是否能够在4秒内启动并显示非内嵌图层):

OculusVRCValidator> --path "C:\Program Files\Oculus\Software\Software\oculus-first-contact\TouchNUX.exe" --test TestLaunchIntoVR

VRC Validator将如何显示应用程序没通过的测试,以及它又将如何解决的呢?

在下面的示例项目中,我们将使用一个通过Unity 5.6.4p2(当前Oculus支持的基准Unity版本)构建的Rift应用程序说明一次失败的权限检查。

适当的权限检查功能是Oculus Store的重要要求。这个检查能够确保访问应用程序的用户实际上是已购买用户,或者是取得了正当授权的用户。

我们采用一个基于roll-a-ball tutorial/的示例场景,而且我们故意禁用了权限检查。

在根据链接示例项目构建了Rift应用程序之后,下一步就是测试它的权利检查功能。这个测试检查应用是否包含权限检查,以及应用程序的ID是否存在于应用本身的代码之中。

命令提示符应该与下图类似,这样你才能正确设置和测试应用程序(我们在命令末尾使用“-l”,这样工具就能在与工具相同的目录中打印日志文件):

VRC Validator已经运行了“TestEntitlementCheck”测试,并且确认应用不存在权限检查代码,而且Application ID无效或缺失。

我们可以从下面测试生成的日志文件片段中看到,VRC Validator为我们提供了解决这个问题的后续步骤,亦即参阅相关文档:

使用VRC Validator在日志文件中推荐的文档链接,我们可以在Unity示例项目中找到OculusPlatformSettings菜单,在开发者控制面板中输入相应的应用程序ID,并将其输入到下面的字段中:

在编辑器中运行Unity应用程序,我们可以看到现在存在有效的权限检查。

重新运行VRC Validator权限检查测试,这时我们可以看到应用程序通过了测试:

VRC Validator最佳实践和故障排除

当在使用VRC Validator时,请注意满足以下环境变量,因为只有这样工具才能正确运行:

  1. 在运行测试之前,必须先连接并配置头显,否则测试将无法运行。
  2. 你必须登录至Oculus Home才能成功运行任何测试,而且受测试应用程序必须拥有权限。
  3. 每个测试都需要10到30秒才能完成。如果任何特定的测试时长超过这个范围,请重新开始测试;如果三次尝试后仍然失败,请联系开发者支持
  4. 请确保你安装了最近的图形驱动程序。如果可以,请安装最新版本。
  5. 有关VRC Validator正在执行的全部内容,请使用“ - - verbose”选项来获取每个测试进度的详细信息。

更多关于VRC Validator的信息(包括每个测试的详细定义和用于自定义测试的高级参数),请访问Oculus的官方文档(点击前往)

常见的VRC Validator问题及解决方案:

  1. 如果在VRC Validator中运行测试时遇到“ERROR: Transient internal error occurred(错误:发生短暂内部错误)”,这意味着OVR服务已经失去了对事件的跟踪,而且由于在测试过程中遇到带宽限制,工具无法处理信息。如果遇到此错误,建议重新启动测试。
  2. 如果莫遇到“ERROR: Could not quit application gracefully in 20.000000 seconds, force quitting(错误:无法在20.000000秒内正常退出应用程序,强制退出)”,这与上述错误相关,而且是VRC Validator发送系统信号以终止VR应用程序,但系统没有足够迅速关闭的结果。建议重新运行测试。
本文链接https://news.nweon.com/40837
转载须知:转载摘编需注明来源映维网并保留本文链接
素材版权:除额外说明,文章所用图片、视频均来自文章关联个人、企业实体等提供
QQ交流群苹果Vision  |  Meta Quest  |  微软HoloLens  |  AR/VR开发者  |  映维粉丝读者

您可能还喜欢...

资讯