描述

OnPreRender 在摄像机开始渲染场景前调用。

仅当该脚本附加到摄像机并且启用时,才调用该函数。

注意,如果您在此处更改摄像机的视图参数(例如 Camera.fieldOfView), 它们将仅在下一帧中生效。请改为在 OnPreCull 中进行。 OnPreRender 可以作为协同程序使用 - 在函数中使用 yield 语句即可。

另请注意,当调用 OnPreRender 时,摄像机的渲染目标尚未设置,深度纹理 也尚未渲染。如果您想稍后(例如设置好渲染目标后)执行某些操作, 请尝试使用 CommandBuffer

另请参阅:OnPostRender

// This script lets you enable/disable fog per camera.
// by enabling or disabling the script in the title of the inspector
// you can turn fog on or off per camera.

using UnityEngine; using System.Collections;

public class ExampleClass : MonoBehaviour { private bool revertFogState = false;

void OnPreRender() { revertFogState = RenderSettings.fog; RenderSettings.fog = enabled; }

void OnPostRender() { RenderSettings.fog = revertFogState; } }