Объявление
public FilteringSettings(NullableПараметры
renderQueueRange | Структура RenderQueueRange, которая устанавливает значение renderQueueRange. Unity визуализирует объекты, значение Material.renderQueue которых находится в заданном диапазоне. Значение по умолчанию — RenderQueueRange.all . |
layerMask | Битовая маска, задающая значение layerMask. Unity отображает объекты, для которых значение GameObject.layer включено в этой битовой маске. Значение по умолчанию: -1 . |
renderingLayerMask | Битовая маска, задающая значение renderingLayerMask. Unity визуализирует объекты, для которых значение Renderer.renderingLayerMask включено в этой битовой маске. Значение по умолчанию — uint.MaxValue . |
excludeMotionVectorObjects | Целое число, задающее значение excludeMotionVectorObjects. Когда это значение равно 1 , Unity исключает объекты, для которых включен проход движения или которые изменили положение с момента последнего кадра. Значение по умолчанию: 0 . |
Описание
Создает структуру FilteringSettings
для использования с ScriptableRenderContext.DrawRenderers.
Примечание. Если вы вызываете new FilteringSettings()
без каких-либо параметров, Unity создает пустой FilteringSettings
структура. Пустая структура не содержит данных, и все внутренние значения по умолчанию равны 0; например, значение layerMask
равно 0 и т. д. Если вы не перезапишете ее свойства, эта пустая структура указывает Unity исключить все объекты.
Если вы вызываете этот конструктор с одним или несколькими параметрами, Unity устанавливает любые неуказанные значения по умолчанию. Значение по умолчанию для каждого свойства не выполняет фильтрацию. Чтобы создать структуру FilteringSettings
со всеми значениями по умолчанию, используйте FilteringSettings.defaultValue.
В этом примере демонстрируется синтаксис для создания структуры FilteringSettings
с некоторыми значениями, отличными от значений по умолчанию.
using UnityEngine;
using UnityEngine.Rendering;
public class FilteringSettingsExample
{
public FilteringSettings CreateFilteringSettings()
{
// Instantiate a RenderQueueRange struct that represents the RenderQueue values you want to render
// In this example, render materials whose RenderQueue value is in the opaque range
var desiredRenderQueueRange = RenderQueueRange.opaque;
// Create a bit mask that represents the layers you want to render
// In this example, only render objects on layer 0 (the "Default" layer)
int layerIndex = 0;
int layerMask = 1 << layerIndex;
// Instantiate a FilteringSettings struct with the desired values
// Unity sets any unspecified values to the same as FilteringSettings.default
FilteringSettings filteringSettings = new FilteringSettings(desiredRenderQueueRange, layerMask);
return filteringSettings;
}
}
Смотрите так же: ScriptableRenderContext.DrawRenderers, Creating a simple render loop in a custom render pipeline.