2017-09-14 59 views
0

我想用Google Cardboard将Unity中的场景融入虚拟现实中。在Unity中与Google Cardboard一起移动

我以前只能将CardboardMain预制件拖入场景中,删除主摄像头,使用CardboardMain作为摄像头位置,CardboardHead可以跟踪用户的位置。

在阅读release notes的新更新后,我想我可以将GVREditorEmulator和GVRControllerMain拖入场景中,并保留普通相机。

不幸的是,我无法弄清楚如何让相机跟随我的角色这个新的设置。 (在这种情况下,一个滚动球)。

如果我改变普通摄像头的位置,它看起来在Unity中可以正常工作,但只要我将它上传到手机,用户就会保持不变地方,而球滚开。 (用户仍然可以控制球的运动,但相机/用户根本不会跟着球。)

我曾经认为chase cam demo会很有用,但那仅仅适用于Daydream,而且我正在使用纸板。

This trick似乎适用于某些人。我尝试了Unity的先前版本和SDK的以前版本,但似乎没有奏效。我可能只需要在这个新版本上尝试一下,但我担心要进入发布的代码并对其进行编辑,所以我更喜欢不需要这个的答案。

当我将其上传到iPhone时,有什么方法可以让用户在Unity中的Google Cardboard场景中移动?

更新: 它看起来好像我的主要相机对象没有移动,让我觉得每次都会重置它回到中心,从而为之前的“技巧”增加了一些可信度。我现在会尝试“诀窍”,看看它是否有效。

更新:它看起来不像“诡计”中列出的行已经存在了,而且新程序中类似的那些行似乎没有运行。仍试图找出继续重置主摄像头位置的方法。

更新:刚刚从GitHub(或至少有人在使用SDK)上得到了Google的回复,说"You just need to make the node that follows the player a parent of the camera, not the same game object as the camera."我不完全确定这意味着什么,所以如果有人能解释这一点,那很可能会解决我的问题。如果我自己想出来,我会回到这里。

更新:Zarko Ristic发布了一个解释这是什么的答案,但不幸的是,跟踪仍然关闭。我发现了如何让Google Cardboard与旧SDK一起工作并发布了一个答案。仍在寻找方法让新的SDK正确地遵循一个角色。

回答

1

您不能更改相纸在纸板应用中的位置,MainCamera的位置总是必须是0,0,0。但是你可以简单地将空GameObject作为MainCamera的父对象。在纸板游戏中,您可以直接移动摄像头的父母代替MainCamera。 添加用于跟踪球到MainCamera父级(GameObject)的脚本。

+0

更具体地说,创建一个空白的游戏对象,拖动空的游戏对象下的主摄像头,删除相机的运动脚本,并将其放在空的游戏对象上。然后玩家应该移动。 (另外,非常感谢你 - 在其他地方找到我需要很长的时间。) –

+0

不客气。注意:如果你想直接移动摄像机,你可以使用GVR SDK 0.6,你也不需要在播放器设置中检查VR suported box,这给你提供了更多的选择。我认为这是Cardboard应用程序的最佳SDK(不适用于Daydream或其他)。 –

+0

我可以试试这个,因为我的脚本仍然不能正常工作。相机正在移动,但没有移到我预期的位置。 –

0

https://youtu.be/_qAX0omASVg

选中此录像带。已经在视频中解释了如何将相机与球的位置一起移动。

我希望这对你有用。

+0

我真的希望它做到了。不幸的是,他在该游戏中根本没有使用Google Cardboard。 [这一个](https://www.youtube.com/watch?v=AnEKZsFwQCs)更接近,但同样,相机并没有改变这个游戏的位置,所以它没有任何帮助。 –

0

这并不回答我的问题,但是解决了这个问题。

  1. 请勿使用最新版本的SDK。使用版本0.6
  2. 在Unity中构建应用程序时,请勿选择在构建设置下启用VR。 (VR会在应用程序中启用。)(信用:Zarko Ristic)
  3. 将应用程序放到手机上时,如果XCode提示您更改任何设置,则可以忽略它。
  4. 另外,在“Build Settings - > Enable Bitcode - > No”下禁用bitcode(目前,这不会允许你将你的应用程序放到应用程序商店中,如果有人有关于如何获得信息,我将不胜感激。它在没有这样做的情况下运行。)

现在,您的应用程序应该可以在您的手机上正常运行。

相关问题