Unity焦点VR标线指针在聚焦于近处物体时显示双倍

时间:2017-03-15 19:43:34

标签: unity3d google-cardboard virtual-reality google-vr gear-vr

我正在Unity为三星Gear VR开发VR应用程序,我试图实现指针,以便用户可以与场景中的对象进行交互。当您查看远处的物体时,它看起来很好,但是当您专注于近距离物体(应用机制非常需要)时,指针似乎是重复的,因此您需要将所需物体置于点的中间:P

我尝试了什么

- 使用GoogleVR软件包附带的GvrReticlePointer

通过向主摄像机添加画布并在中心添加图像来创建自己的指针

- 改变一些相机设置,如视野,立体声分离等

- 通过QR码http://imgur.com/fVrNrQk

配置我的手机

重现步骤(将画布添加到相机中)

1.-创建一个简单的场景,其中包含一些可在Unity中查看的对象

2.-设置android的构建设置

3.-配置播放器设置以启用" Virtiual Reality Supported"

4.-将Oculus添加为虚拟现实SDK

5.-设置包名称和最低API级别

6.-将画布添加到相机

7.-在画布上添加图像,十字架将完成工作

观察 我使用的是Unity 5.6.0b10,因为google cardboard的网站建议将此版本用于GoogleVR软件包。我使用Samsung Gear VR和三星Galaxy S6 edge +手机。

1 个答案:

答案 0 :(得分:2)

<强>解决

显然这是一个记录良好的问题,名为自愿Diplopia ,它是一个人类的错误而不是软件错误(在这里阅读,Unity的文档,部分 The Reticle Interaction in VR)。

问题是试图将标线放在用户界面的固定点,就像传统的3D游戏一样。当在VR中查看更近的物体时,这将导致这种双重问题。

解决方案是将光罩定位在用户正在观看的3D空间中的点处。如果他看得更近,则将光罩拉近。当然,现在您还必须相应地缩放光罩,因此无论用户在哪里观看,用户都可以看到相同的尺寸。

Unity还提供了一些关于此的示例脚本,您可以在资产商店中找到它们,称为VR示例。

现在我遇到了性能问题(我在移动平台上工作):有时,当你快速转过头时,你可以看到之前绘制的十字线。但看起来比双标线版更好。