Skip to main content

RenderQueue(渲染队列)

RenderQueue(渲染队列)

RenderQueue(渲染队列)是材质组件(Material)上的一个属性,用于控制材质的渲染顺序。它直接对应 Unity 的 RenderQueue 值,因此继承了其行为和特性。

RenderQueue 的默认值为 -1,这意味着引擎将根据材质的混合模式(BlendMode)自动分配一个合适的队列,例如不透明(Opaque)为 2000,镂空(Cutout)为 2450,透明(Transparent)为 3000。

RenderQueue 值小于或等于 2500 的材质被视为不透明材质,因此采用从前到后的渲染方式以避免过度绘制(由于启用了深度写入(ZWrite),已经渲染区域的几何体将被跳过);而大于 2500 的材质被视为透明材质,因此采用从后到前的渲染方式以确保正确的叠加顺序。

Unity 假设所有 RenderQueue 值都在 0 到 5000(含)之间。虽然可以设置其他值(在短整型(Short)的范围内),但行为未定义,且可能在 Resonite 脱离 Unity 渲染器后发生变化。[1]

参考 (References)

  1. 如何看待滥用渲染奇技淫巧? - Resonite, YouTube