我正在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 +手机。
答案 0 :(得分:2)
<强>解决强>
显然这是一个记录良好的问题,名为自愿Diplopia ,它是一个人类的错误而不是软件错误(在这里阅读,Unity的文档,部分 The Reticle Interaction in VR)。
问题是试图将标线放在用户界面的固定点,就像传统的3D游戏一样。当在VR中查看更近的物体时,这将导致这种双重问题。
解决方案是将光罩定位在用户正在观看的3D空间中的点处。如果他看得更近,则将光罩拉近。当然,现在您还必须相应地缩放光罩,因此无论用户在哪里观看,用户都可以看到相同的尺寸。
Unity还提供了一些关于此的示例脚本,您可以在资产商店中找到它们,称为VR示例。
现在我遇到了性能问题(我在移动平台上工作):有时,当你快速转过头时,你可以看到之前绘制的十字线。但看起来比双标线版更好。