问题描述
我在一个大学班级,我们在 Unity for VR 上进行开发。如果学生没有任务,就会给他们一个任务——我自己有一个 Vive(基站跟踪)。结果,我不知道如何为任务开发,当时我只有一个用于测试的 Vive。我们有小组项目,所以当他们加载构建时,我的贡献必须为 Quest 工作。我不相信我的合作伙伴想要使用 oculus link 来运行 steamVR。
是否可以开发一种方法来根据用户区分 vive/quest?还是我们需要开发不同的构建?我的希望是用任务资产生成角色,或者如果硬件存在,则用 SteamVR 资产生成角色。
由于 Quest 是 android,我担心这可能是不可能的。你怎么认为?如果我可以用我的 Vive 模拟这个任务,那也是可以接受的。我们不需要提供 Vive 支持 - 我只需要一些进行测试。
解决方法
您应该为 Vive 使用 SteamVR
SDK,然后阅读 How to port a SteamVR to Oculus Quest。
该页面解释了有关创建支持两者的应用程序的许多详细信息。
例如特别是为了检测您在哪个平台上,您可以通过 Platform dependent compilation
使用#if
pre-processor tags
#if UNITY_ANDROID && !UNITY_EDITOR
//Oculus Quest code
#else
//SteamVR code
#endif
当然,最后您仍然需要进行两次构建,但这样您就可以同时在 Vive 和 Oculus 的最终构建中实现和测试。
当然,无论哪种方式,您都应该看到您至少可以测试一次或两次 Oculus 部分的基本功能......不要等到演示日;)