在 VR 中是否可以使用鼠标点击电脑屏幕上的内容?
我正在使用 Oculus Rift 开发一个 Unity VR 应用程序,该应用程序应该由两个人使用:一个人使用 HMD,另一个人看着电脑屏幕。没有头显的人应该能够突出显示场景中的某些对象,我能想到的最简单的方法之一就是允许这个人单击场景中的对象,它们就会突出显示。
这看起来很简单,因为 Unity 已经将 HMD View 渲染到 2D 计算机屏幕上。然而,the easiest way I found这样做不适用于 OVRCameraRig(是的,我的对象有一个碰撞器,是的,我的相机有一个物理光线转换器)。我也尝试过the raycasting method described here 。
最佳答案
您需要执行类似于使用光线转换进行鼠标拾取的操作:http://antongerdelan.net/opengl/raycasting.html
通常,当您想要从局部空间获取坐标/向量到模型/世界空间时,您可以将坐标/向量乘以模型/世界空间矩阵。如果你想向后(在你的情况下),你乘以逆矩阵。
我过去曾亲自将其用于非 VR 内容,但它可以很容易地进行调整。我还为自己编写了一份快速指南来解释不同的空间:
3D Spaces (Model/World, View/Eye, Projection)
编辑:由于您已经在使用 Unity 的内置光线转换器,因此这是我最近制作的一个使用 UE4 进行基于光线转换的抓取的示例项目。通过这种方法,我还使用了 UE4 光线转换器:http://www.katianie.com/SourceCode/Unreal/VRGrabbing.zip
关于unity-game-engine - 我可以在 VR 应用程序中在计算机屏幕上使用鼠标吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48194527/