RenderQueue
перечисление
Описание
Порядок, в котором Unity отображает объекты.
Это перечисление задаёт начало каждого диапазона значений очереди рендеринга. отображение значения очереди материала - целое число в диапазоне [0;5000], которое определяет порядок, в котором Unity отображает объект. Unity отображает материалы с более низкими значениями очереди отображения раньше, чем материалы с более высокими значениями.
Весь диапазон значений очереди рендеринга разделён на секции, и каждая секция представлена элементом этого перечисления. Используйте ту секцию очереди рендеринга, которая соответствует типу объекта. Например, непрозрачная геометрия должна попадать в Geometry очереди, в то время как прозрачная геометрия должна находиться в Transparent Это гарантирует, что Unity отображает прозрачные объекты после непрозрачных объектов.
Объекты, использующие значение очереди рендеринга в диапазоне [0; 2500], сортируются во время рендеринга на основе Camera.opaqueSortMode (обычно в порядке от верхнего к нижнему), в то время как объекты, использующие значение очереди рендеринга в диапазоне [2501; 5000], сортируются по Camera.transparencySortMode Это поведение обеспечивает, что Unity отображает непрозрачные объекты эффективно и отображает прозрачные объекты без артефактов сортировки.
Дополнительные ресурсы: Material.renderQueue, Shader.renderQueue.
// To use this script, attach it to a GameObject with a mesh renderer.
using UnityEngine; using UnityEngine.Rendering;
// This example sets the render queue value of an object based on settings selected in the Inspector. // The queue setting selects the base render queue and queueOffset adds a small offset to it.
[RequireComponent(typeof(MeshRenderer))] public class RenderQueueAssigner : MonoBehaviour { public RenderQueue queue = RenderQueue.Geometry; // Base queue [Range(-20, 20)] public int queueOffset = 0; // Small offset to control order of objects on the same queue
private Material material;
private void Start() { material = GetComponent<Renderer>().material; }
void Update() { material.renderQueue = (int)queue + queueOffset; } }
Свойства
| Свойство | Описание |
|---|---|
| Background | Эта очередь рендеринга отображается перед всеми остальными. Это значение соответствует очереди рендеринга 1000. |
| Geometry | Геометрия — это предопределенная очередь отображения, которую Unity использует для непрозрачной геометрии. |
| AlphaTest | Геометрия, прошедшая альфа-тестирование, использует эту очередь. Это значение соответствует очереди рендеринга 2450. |
| GeometryLast | Последняя очередь отображения, которая рассматривается как непрозрачная. Это значение соответствует очереди отображения 2500. |
| Transparent | Эта очередь рендеринга отображается после Geometry и AlphaTest, в порядке от верхнего к нижнему. Это значение соответствует очереди рендеринга 3000. |
| Overlay | Эта очередь рендеринга предназначена для эффектов наложения и рендируется последней. Это значение соответствует очереди рендеринга 4000. |