如果对象可见并且不是 UI 元素,则为每个摄像机调用 OnWillRenderObject。
如果禁用了 MonoBehaviour,则不会调用该函数。
该函数在剔除处理期间(即将渲染每个剔除的对象时)调用。
如需了解在适当上下文中的用法,请参阅 Assets > Import Package > Effects 中的脚本 /Water.cs/。
注意,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); } } }
每帧将调用多次。