是否可以在虚拟现实中使用新的 UI 构建器和 World Space UI 工具包?
我已经看到了使用渲染纹理来做到这一点的方法,但它不仅看起来与世界空间 Canvas 不一样(我确实期望它,但它甚至不接近),而且我也没有找到使用 VR Raycast 方法进行交互的方式?
最佳答案
这尚未得到官方支持,但对于那些愿意自己实现的人来说当然是可能的。
正如 OP 提到的,渲染 UI 非常简单,主要思想是设置 panelSettings.targetTexture到一些RenderTexture
,您可以像任何其他纹理一样将其应用于四边形。
请注意,如果您有多个 UI,则需要 PanelSettings
的多个实例。
对于光线转换,有一个方法 panelSettings.SetScreenToPanelSpaceFunction它可用于将 2d 坐标转换为面板坐标,这里是 Official Unity Sample演示如何在相机空间中实现它。该方法在每次更新时都会被调用,因此它可以被劫持以使用来自 Controller 的光线转换而不是屏幕坐标,尽管我使用这种方法得到了混合的结果。
查看this repo对于 XR 中的示例实现,它是一个更复杂的解决方案,可以扩展输入系统的使用。
关于unity-game-engine - 新的 UI 构建器/工具包和 VR 世界空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70372205/