用于配置可编程渲染管线中的剔除操作的参数。
通过调用 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.TryGetCullingParameters、ScriptableRenderContext.Cull、CullingResults、ScriptableRenderContext.DrawRenderers。
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 | 设置特定层的剔除的距离。 |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.