ScriptableCullingParameters
структура в UnityEngine.Rendering
Выполнено в:UnityEngine.CoreModule
Описание
Параметры, которые настраивают операцию удаления в Scriptable Render Pipeline.
Получите структуру ScriptableCullingParameters, вызвав Camera.TryGetCullingParameters.
Учтите, что структуру ScriptableCullingParameters можно получить и просмотреть у камеры и во встроенном конвейере рендеринга, однако изменение её значений там ни на что не влияет.
Следующий код Scriptable Render Pipeline показывает, как получить структуру ScriptableCullingParameters у камеры с помощью Camera.TryGetCullingParameters, настройте структуру, а затем передайте её в ScriptableRenderContext.Cull для получения CullingResults структура. После этого можно использовать CullingResults структуру в вызове ScriptableRenderContext.DrawRenderers.
using UnityEngine; using UnityEngine; using UnityEngine.Rendering;
public class ExampleRenderPipelineInstance : RenderPipeline { public ExampleRenderPipelineInstance() { }
protected override void Render(ScriptableRenderContext context, Camera[] cameras) { // Get the culling parameters from the desired Camera if (cameras[0].TryGetCullingParameters(out var cullingParameters)) { // Change culling parameters to configure the culling operation cullingParameters.cullingOptions &= ~CullingOptions.OcclusionCull; cullingParameters.isOrthographic = false;
// Schedule the cull operation CullingResults cullingResults = context.Cull(ref cullingParameters);
// Place code that schedules drawing operations using the CullingResults struct here // See ScriptableRenderContext.DrawRenderers for details and examples // …
// Execute all of the scheduled operations, in order context.Submit(); } } }
Дополнительные ресурсы: Camera.TryGetCullingParameters, ScriptableRenderContext.Cull, CullingResults, ScriptableRenderContext.DrawRenderers.
Статические свойства
| Свойство | Описание |
|---|---|
| cullingJobsLowerLimit | Нижний предел до значения ScriptableCullingParameters.maximumPortalCullingJobs. |
| cullingJobsUpperLimit | Верхний предел значения ScriptableCullingParameters.maximumPortalCullingJobs. |
| layerCount | Количество доступных слоев. |
| maximumCullingPlaneCount | Максимальное число планов отсечения, которое может быть указано. |
Свойства
| Свойство | Описание |
|---|---|
| accurateOcclusionThreshold | Этот параметр определяет расстояние запроса для выделения окклюзии. |
| cameraProperties | Camera Свойства, используемые для утилизации. |
| conservativeEnclosingSphere | Это свойство позволяет использовать консервативный метод для расчета размера и положения минимальной сферы окружения вокруг угловых точек каскада фрустума для теневого отсеивания. |
| cullingMask | Маска для операции по уничтожению. |
| cullingMatrix | матрица для операции по уничтожению. |
| cullingOptions | Флаги для настройки операции удаления в Scriptable Render Pipeline. |
| cullingPlaneCount | Число используемых планов убоя. |
| isOrthographic | Является ли убой орфографическим. |
| lodParameters | LODParameters для уборки. |
| maximumPortalCullingJobs | Этот параметр определяет количество активных заданий, участвующих в вычеркивании окклюзии. |
| maximumVisibleLights | Этот параметр определяет допустимое число видимых огней. |
| numIterationsEnclosingSphere | |
| origin | Место происхождения убоя. |
| reflectionProbeSortingCriteria | Опции сортировки для отбора. |
| shadowDistance | Расстояние тени, используемое для отсеивания. |
| shadowNearPlaneOffset | Смещение, применяемое к плоскости близкой камеры при выполнении рендеринга карты теней. |
| stereoProjectionMatrix | Проекционная матрица, генерируемая для однопроходного стереоудаления. |
| stereoSeparationDistance | Расстояние между виртуальными глазами. |
| stereoViewMatrix | Матрица представления, генерируемая для однопроходного стероидного выделения. |
Открытые методы
| Метод | Описание |
|---|---|
| GetCullingPlane | Получить плоскость выселения на заданном индексе. |
| GetLayerCullingDistance | Получить расстояние для выселения конкретного слоя. |
| SetCullingPlane | Установить плоскость отсеивания на заданном индексе. |
| SetLayerCullingDistance | Установить расстояние, на котором должен быть удален определенный слой. |