Version: 2021.1

ScriptableCullingParameters

struct in UnityEngine.Rendering

切换到手册

描述

用于配置可编程渲染管线中的剔除操作的参数。

通过调用 Camera.TryGetCullingParameters 来获取 ScriptableCullingParameters 结构。

请注意,可以在内置渲染管线中从摄像机获取和查看 ScriptableCullingParameters 结构;但是,更改值没有效果。

以下可编程渲染管线代码说明如何使用 Camera.TryGetCullingParameters 从摄像机获取 ScriptableCullingParameters 结构,配置该结构,然后将该结构传递给 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(); } } }

静态变量

cullingJobsLowerLimit值 ScriptableCullingParameters.maximumPortalCullingJobs 的下限。
cullingJobsUpperLimit值 ScriptableCullingParameters.maximumPortalCullingJobs 的上限。
layerCount可用层的数量。
maximumCullingPlaneCount可以指定的剔除平面的最大数量。

变量

accurateOcclusionThreshold此参数可确定遮挡剔除的查询距离。
cameraProperties用于剔除的摄像机属性。
cullingMask剔除操作的遮罩。
cullingMatrix剔除操作的矩阵。
cullingOptions用于在可编程渲染管线中配置剔除操作的标志。
cullingPlaneCount要使用的剔除平面数量。
isOrthographic剔除正视图。
lodParameters用于剔除的 LODParameter。
maximumPortalCullingJobs此参数控制有多少活动作业参与遮挡剔除。
maximumVisibleLights此参数控制允许多少光线可见。
origin剔除原点的位置。
reflectionProbeSortingCriteria剔除的反射探针排序选项。
shadowDistance用于剔除的阴影距离。
stereoProjectionMatrix为单通道立体剔除生成的投影矩阵。
stereoSeparationDistance虚拟眼睛之间的距离。
stereoViewMatrix为单通道立体剔除生成的视图矩阵。

公共函数

GetCullingPlane在指定索引处获取剔除平面。
GetLayerCullingDistance获取特定层的剔除的距离。
SetCullingPlane在指定索引处设置剔除平面。
SetLayerCullingDistance设置特定层的剔除的距离。