我想使用 Google Cardboard 将 Unity 中的场景放入虚拟现实中。
我过去只需将 CardboardMain 预制件拖到场景中,删除主摄像头,使用 CardboardMain 作为摄像头位置,并使用 CardboardHead 来跟踪用户正在查看的位置。
阅读 release notes 后对于新的更新,我想我可以将 GVREditorEmulator 和 GVRControllerMain 拖到场景中,并保留普通相机。
不幸的是,我不知道如何让相机通过这个新设置来跟随我的角色。 (在本例中,是一个滚动的球。)
如果我改变普通相机的位置,看起来在 Unity 中工作得很好,但是一旦我将其上传到我的手机,用户就会停留在同一个位置,而球会滚走。 (用户仍然可以控制球的运动,但相机/用户根本不跟随球。)
我原以为 chase cam demo会有用,但这仅适用于 Daydream,而且我使用的是 Cardboard。
This trick似乎对某些人有用。我尝试了以前版本的 Unity 和以前版本的 SDK,但似乎不起作用。我可能只需要在这个新版本上尝试一下,但我担心进入已发布的代码并对其进行编辑,所以我更喜欢不需要这个的答案。
当我将其上传到 iPhone 时,有什么方法可以让用户在 Unity 中的 Google Cardboard 场景中移动吗?
更新: 看起来好像我的主相机对象没有移动,让我觉得每次都有什么东西将其重置回中心,从而为之前的“技巧”提供了更多可信度。我现在将尝试“技巧”,看看它是否有效。
更新:看起来“技巧”中列出的行不再存在,并且新程序中类似的行似乎甚至没有运行。仍在尝试找出继续重置主摄像头位置的原因。
更新:刚刚在 GitHub 上收到 Google(或者至少是开发 SDK 的人)的回复,其中表示 “您只需将跟随玩家的节点设为相机的父节点,而不是相同的节点游戏对象作为相机。”
我不太确定这意味着什么,所以如果有人可以解释这一点,那很可能会解决我的问题。如果我自己弄清楚,我会在这里发帖。
更新:Zarko Ristic 发布了一个答案,解释了这是什么,但不幸的是跟踪仍然关闭。我找到了如何让 Google Cardboard 使用旧的 SDK 并发布了一个答案。仍在寻找让新 SDK 正确跟随角色的方法。
最佳答案
您无法更改 Cardboard 应用程序中相机的位置,MainCamera 的位置始终必须为 0,0,0。但您可以简单地创建空 GameObject 并将其设为 MainCamera 的父级。实际上,在 Cardboard 游戏中,您可以直接移动相机的父级而不是 MainCamera。 将跟踪球脚本添加到 MainCamera 父级 (GameObject)。
关于c# - 在 Unity 中使用 Google Cardboard 进行运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46229059/