Unity XR Single Pass 实例化渲染和 UI
Posted
技术标签:
【中文标题】Unity XR Single Pass 实例化渲染和 UI【英文标题】:Unity XR Single Pass Instanced rendering and UI 【发布时间】:2021-12-28 09:54:17 【问题描述】:我想知道是否有人对使用基于 Unity Canvas 的 UI 系统 (UGUI) 以及用于 XR 应用程序的 Single Pass Instanced 渲染模式提出建议 (?)
我担心的是 UI 元素是否会呈现为单通道实例化,或者它们是否实际上只呈现了两次 - 可能会导致性能问题。
据我在默认 UI 着色器(Unity 2019.4.21 内置着色器用于内置渲染管道)上所见,它似乎不支持 GPU 实例化(如果我错了,请纠正我)。我当然可以根据the guidelines here 创建我自己的支持 GPU 实例化的着色器,但我不知道 UI 渲染系统是否真的会尊重这一点(?)认为可能有一个原因为什么没有在默认 UI 着色器...
如果 UI 渲染确实不支持 GPU Instancing,那么它是否有其他优化的渲染方式来弥补 GPU Instancing 的不足?
对于这些略显模糊的问题,我深表歉意。我只是想弄清楚我的项目要走哪条路——是否采用 UI (UGUI) 方式。
最好的问候,雅各布
【问题讨论】:
【参考方案1】:我尝试在 Unity2021 和 Single Pass Instanced 上迁移一个大型 VR 项目。
我对 UGUI 没有任何问题。我对我们的一些着色器和第三方着色器有一些问题,在这种情况下,问题是渲染只在一只眼睛上可见,或者两只眼睛之间的渲染有所不同。
它没有特别检查 UGUI 上的绘图调用,但对我来说,如果它在两只眼睛上都相同,它会渲染一次。
我有屏幕空间和文字空间 GUI。
亚历克斯
【讨论】:
以上是关于Unity XR Single Pass 实例化渲染和 UI的主要内容,如果未能解决你的问题,请参考以下文章
Pico Neo 3丨从 PicoVR Unity SDK 迁移至 Unity XR SDK
Unity 使用OpenXR和XR Interaction Toolkit 开发 HTCVive(Vive Cosmos)