Oculus推出审查工具VRC Validator 开发者可自检应用是否达标
发布时间:2018-01-26 10:21 来源: 映维网
当你准备好向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需要以管理权限运行的命令提示符窗口。使用以下命令将打开工具,你同时可以立即访问自己希望运行的任何测试:
输入:cd “C:\ Program Files \ Oculus \ Support \ oculus-diagnostics \”
运行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时,请注意满足以下环境变量,因为只有这样工具才能正确运行:
在运行测试之前,必须先连接并配置头显,否则测试将无法运行。
你必须登录至Oculus Home才能成功运行任何测试,而且受测试应用程序必须拥有权限。
每个测试都需要10到30秒才能完成。如果任何特定的测试时长超过这个范围,请重新开始测试;如果三次尝试后仍然失败,请联系开发者支持。
请确保你安装了最近的图形驱动程序。如果可以,请安装最新版本。
有关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应用程序,但系统没有足够迅速关闭的结果。建议重新运行测试。
推荐阅读