Version: 2023.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(); } } }

另请参阅:Camera.TryGetCullingParametersScriptableRenderContext.CullCullingResults、ScriptableRenderContext.DrawRenderers。

静态变量

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

变量

accurateOcclusionThreshold此参数可确定遮挡剔除的查询距离。
cameraProperties用于剔除的摄像机属性。
conservativeEnclosingSphereThis property enables a conservative method for calculating the size and position of the minimal enclosing sphere around the frustum cascade corner points for shadow culling.
cullingMask剔除操作的遮罩。
cullingMatrix剔除操作的矩阵。
cullingOptions用于在可编程渲染管线中配置剔除操作的标志。
cullingPlaneCount要使用的剔除平面数量。
isOrthographic剔除正视图。
lodParameters用于剔除的 LODParameter。
maximumPortalCullingJobs此参数控制有多少活动作业参与遮挡剔除。
maximumVisibleLights此参数控制允许多少光线可见。
numIterationsEnclosingSphere
origin剔除原点的位置。
reflectionProbeSortingCriteria剔除的反射探针排序选项。
shadowDistance用于剔除的阴影距离。
shadowNearPlaneOffsetOffset to apply to the near camera plane when performing shadow map rendering.
stereoProjectionMatrix为单通道立体剔除生成的投影矩阵。
stereoSeparationDistance虚拟眼睛之间的距离。
stereoViewMatrix为单通道立体剔除生成的视图矩阵。

公共函数

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