如果对象可见且不是 UI 元素,则会为每个摄像机调用 OnWillRenderObject。
如果 MonoBehaviour 被禁用,则不会调用此函数。
此函数在剔除过程期间调用,紧接在渲染每个剔除对象之前。
请注意,Camera.current 将设置为将渲染对象的摄像机。
注意: 从 UI 元素调用此函数不会有任何效果。
using UnityEngine; using System.Collections;
public class ExampleScript : MonoBehaviour { public Renderer rend;
private float timePass = 0.0f;
void Start() { rend = GetComponent<Renderer>(); }
void OnWillRenderObject() { timePass += Time.deltaTime;
if (timePass > 1.0f) { timePass = 0.0f; print(gameObject.name + " is being rendered by " + Camera.current.name + " at " + Time.time); } } }
每帧都会调用此函数多次。