在 Unity 中使用 Google Cardboard 移动
Getting Movement with Google Cardboard in Unity
我想使用 Google Cardboard 将 Unity 中的场景放入虚拟现实中。
我以前只能将 CardboardMain 预制件拖到场景中,删除主摄像头,使用 CardboardMain 作为摄像头位置,并使用 CardboardHead 跟踪用户的视线。
看完release notes新的更新后,我想我可以将GVREditorEmulator和GVRControllerMain拖到场景中,并保持正常的相机。
不幸的是,我不知道如何使用这个新设置让相机跟随我的角色。 (在本例中,是一个滚动的球。)
如果我改变普通相机的位置,它看起来在 Unity 中工作正常,但一旦我将它上传到我的 phone,用户就会停留在同一个地方,而球滚开。 (用户仍然可以控制球的运动,但是camera/user根本不跟随球。)
我原以为 chase cam demo 会有用,但那只适用于 Daydream,而我正在使用 Cardboard。
This trick 似乎对某些人有用。我尝试了以前版本的 Unity 和以前版本的 SDK,但似乎没有用。我可能只需要在这个新版本上尝试一下,但我担心进入已发布的代码并对其进行编辑,所以我更喜欢不需要这个的答案。
当我将 iPhone 上传到我的 iPhone 时,有什么方法可以让用户在 Unity 中移动 Google Cardboard 场景?
更新:
看起来好像我的主要相机对象没有移动,让我觉得每次都有什么东西将它重置回中心,让之前的 "trick" 更加可信。我现在将尝试 "the trick" 看看它是否有效。
更新:"trick" 中列出的行似乎不再存在,新程序中类似的行似乎也不存在 运行。仍在尝试弄清楚是什么继续重置主摄像头的位置。
更新:刚刚在 GitHub 上收到 Google 的回复(或者至少有人在 SDK 上工作)说 "You just need to make the node that follows the player a parent of the camera, not the same game object as the camera."
我不太确定那是什么意思,所以如果有人可以解释,那很可能会解决我的问题。如果我自己想出来,我会 post 回到这里。
更新:Zarko Ristic post编辑了一个解释这是什么的答案,但不幸的是跟踪仍然关闭。我发现了如何让 Google Cardboard 与旧的 SDK 一起工作,并 posted 了一个答案。仍在寻找让新 SDK 正确跟随角色的方法。
你不能在纸板应用程序中更改相机的位置,MainCamera 的位置必须始终为 0,0,0。但是您可以简单地创建空的 GameObject 并将其设为 MainCamera 的父对象。实际上,在 Cardboard 游戏中,您可以直接移动相机的父级而不是 MainCamera。
将用于跟踪球的脚本添加到 MainCamera 父级 (GameObject)。
这并没有回答我的问题,而是解决问题的方法。
- 不要使用最新版本的SDK。使用版本 0.6
- 在 Unity 中构建应用时,请勿select在构建设置下启用 VR。 (应用程序中仍会启用 VR。)(图片来源:Zarko Ristic)
- 将应用程序安装到您的 phone 时,如果 XCode 提示您更改任何设置,您可以忽略它。
- 此外,禁用"Build Settings -> Enable Bitcode -> No"下的bitcode(目前,这不会让你把你的应用程序放到应用程序商店。如果有人知道如何把它放到应用程序商店,我将不胜感激运行 没有这样做。)
现在您的应用程序应该 运行 在您的 phone 上正确。
我想使用 Google Cardboard 将 Unity 中的场景放入虚拟现实中。
我以前只能将 CardboardMain 预制件拖到场景中,删除主摄像头,使用 CardboardMain 作为摄像头位置,并使用 CardboardHead 跟踪用户的视线。
看完release notes新的更新后,我想我可以将GVREditorEmulator和GVRControllerMain拖到场景中,并保持正常的相机。
不幸的是,我不知道如何使用这个新设置让相机跟随我的角色。 (在本例中,是一个滚动的球。)
如果我改变普通相机的位置,它看起来在 Unity 中工作正常,但一旦我将它上传到我的 phone,用户就会停留在同一个地方,而球滚开。 (用户仍然可以控制球的运动,但是camera/user根本不跟随球。)
我原以为 chase cam demo 会有用,但那只适用于 Daydream,而我正在使用 Cardboard。
This trick 似乎对某些人有用。我尝试了以前版本的 Unity 和以前版本的 SDK,但似乎没有用。我可能只需要在这个新版本上尝试一下,但我担心进入已发布的代码并对其进行编辑,所以我更喜欢不需要这个的答案。
当我将 iPhone 上传到我的 iPhone 时,有什么方法可以让用户在 Unity 中移动 Google Cardboard 场景?
更新: 看起来好像我的主要相机对象没有移动,让我觉得每次都有什么东西将它重置回中心,让之前的 "trick" 更加可信。我现在将尝试 "the trick" 看看它是否有效。
更新:"trick" 中列出的行似乎不再存在,新程序中类似的行似乎也不存在 运行。仍在尝试弄清楚是什么继续重置主摄像头的位置。
更新:刚刚在 GitHub 上收到 Google 的回复(或者至少有人在 SDK 上工作)说 "You just need to make the node that follows the player a parent of the camera, not the same game object as the camera."
我不太确定那是什么意思,所以如果有人可以解释,那很可能会解决我的问题。如果我自己想出来,我会 post 回到这里。
更新:Zarko Ristic post编辑了一个解释这是什么的答案,但不幸的是跟踪仍然关闭。我发现了如何让 Google Cardboard 与旧的 SDK 一起工作,并 posted 了一个答案。仍在寻找让新 SDK 正确跟随角色的方法。
你不能在纸板应用程序中更改相机的位置,MainCamera 的位置必须始终为 0,0,0。但是您可以简单地创建空的 GameObject 并将其设为 MainCamera 的父对象。实际上,在 Cardboard 游戏中,您可以直接移动相机的父级而不是 MainCamera。 将用于跟踪球的脚本添加到 MainCamera 父级 (GameObject)。
这并没有回答我的问题,而是解决问题的方法。
- 不要使用最新版本的SDK。使用版本 0.6
- 在 Unity 中构建应用时,请勿select在构建设置下启用 VR。 (应用程序中仍会启用 VR。)(图片来源:Zarko Ristic)
- 将应用程序安装到您的 phone 时,如果 XCode 提示您更改任何设置,您可以忽略它。
- 此外,禁用"Build Settings -> Enable Bitcode -> No"下的bitcode(目前,这不会让你把你的应用程序放到应用程序商店。如果有人知道如何把它放到应用程序商店,我将不胜感激运行 没有这样做。)
现在您的应用程序应该 运行 在您的 phone 上正确。