我正在Unity中为Samsung Gear VR开发一个VR应用程序,我正在尝试实现指针,以便用户可以与场景中的对象进行交互 . 当您查看远处的物体时,它看起来很好,但是当您专注于近距离物体(应用机制非常需要)时,指针似乎是重复的,因此您需要将所需物体置于点的中间:P
What I've tried
-
使用GoogleVR软件包附带的GvrReticlePointer作为纸板
-
通过向主摄像机添加画布并在中心添加图像来创建自己的指针
-
改变一些相机设置,如视野,立体声分离等 .
-
通过二维码配置我的手机http://imgur.com/fVrNrQk
Steps to reproduce (With canvas added to camera)
1.-在Unity中创建一个包含几个对象的简单场景
2.-设置android的构建设置
3.-配置播放器设置以启用“支持Virtiual Reality”
4.-将Oculus添加为虚拟现实SDK
5.-设置包名称和最低API级别
6.-在相机上添加画布
7.-在画布上添加图像,十字架将完成工作
Observations 我'm using Unity 5.6.0b10 since google cardboard'网站建议将此版本用于GoogleVR软件包 . 我正在使用Samsung Gear VR和三星Galaxy S6边缘手机 .
1 回答
Solved
显然,这是一个记录良好的问题,称为自愿的Diplopia,它是's a human bug not a software one (read here, Unity'的文档,部分The Reticle Interaction in VR) .
问题是试图将标线放在用户界面的固定点,就像传统的3D游戏一样 . 当在VR中查看更近的物体时,这将导致这种双重问题 .
解决方案是将掩模版定位在用户正在观看的3D空间中的点处 . 如果他看得更近,则将光罩拉近 . 当然,现在您还必须相应地缩放十字线,因此无论用户在哪里,用户都可以看到相同的尺寸 .
Unity还提供了一些关于此的示例脚本,您可以在资产商店中找到它们,称为VR Samples .
现在我遇到了性能问题(我正在移动平台上工作):有时,当你快速转过头时,你可以看到之前绘制的十字线 . 但看起来比双标线版更好 .