我正在做一个虚拟现实项目,就像我做过的其他虚拟现实项目一样,UI是一个问题。我从来没有找到一个很好的UI交互解决方案。我想出的最好的办法就是在UI元素上放置3D碰撞器,然后拍摄一个物理光线投射。显然不是很理想。
因此,当我了解到XR交互工具包包含解决此问题的系统时,我非常兴奋。但是XR Ray Interaction & XR Interactor Line Visual Component的可定义性不足以满足我的需求(公平起见,它毕竟是一个预览包)。
因此,我想制作我自己的UI交互组件,它的工作方式与XR Ray交互组件相同(从某种意义上说,它与UI无缝地工作,就像鼠标光标一样)。
有人知道我是怎么做到的吗?
发布于 2021-04-17 18:29:40
我发现在360全景风格的UI中用(pitch, yaw)坐标表示UI元素的定位逻辑很有用(当元素位于查看器周围的球体上时)。这对我来说很舒服,因为它允许从相机空间中多余的Z轴中抽象出来。如果对象的所有顶点都保持其(俯仰、偏航)角位置,则无论对象离摄影机及其比例有多远,对象的形状都是相同的。同样,点击拾取一个对象也很容易用这种方法计算(你不需要任何光线投射,只需在2DUI中检查(y,x)时检查(间距,偏航),只需记住绕过360度)。

https://stackoverflow.com/questions/67106460
复制相似问题