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的主要内容,如果未能解决你的问题,请参考以下文章

Unity 和 iPhone XR 的重磅漏洞(特别是)

[Pico]Unity XR Platform SDK

Unity XR新版动作编辑器的使用

Pico Neo 3丨从 PicoVR Unity SDK 迁移至 Unity XR SDK

Unity ARKit XR 插件 – 人脸追踪

Unity 使用OpenXR和XR Interaction Toolkit 开发 HTCVive(Vive Cosmos)