版本: Unity 6 (6000.0)
语言英语
  • C#

Camera.onPreCull

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册
public static Camera.CameraCallback onPreCull;

描述

您可以使用此委托在 Camera 剔除场景之前执行自定义代码。

在内置渲染管线中,Unity 会在执行确定 Camera 可以看到的内容的剔除操作之前调用 onPreCull。要在此处执行自定义代码,请创建与 CameraCallback 签名匹配的回调,并将它们添加到此委托中。例如,您可以更改 Camera 的设置以影响 Camera 可以看到的内容。

对于仅适用于单个 Camera 且需要您的脚本位于同一 GameObject 上的类似功能,请参阅 MonoBehaviour.OnPreCull

如果您使用的是可脚本化的渲染管线,例如通用渲染管线,请改用 RenderPipelineManager

using UnityEngine;

public class CameraCallbackExample : MonoBehaviour { // Add your callback to the delegate's invocation list void Start() { Camera.onPreCull += OnPreCullCallback; }

// Unity calls the methods in this delegate's invocation list before rendering any camera void OnPreCullCallback(Camera cam) { Debug.Log("Camera callback: Camera name is " + cam.name);

// Unity calls this for every active Camera. // If you're only interested in a particular Camera, // check whether the Camera is the one you're interested in if (cam == Camera.main) { // Put your custom code here } }

// Remove your callback from the delegate's invocation list void OnDestroy() { Camera.onPreCull -= OnPreCullCallback; } }