OnWillRenderObject is called for each camera if the object is visible and not a UI element.
The function is not called if the MonoBehaviour is disabled.
The function is called during the culling process just before rendering each culled object.
For usage in a proper context, see the script Water.cs
in Assets->Import Package->Effects
Note that Camera.current will be set to the camera that will render the object.
Note: This has no effect when called from a UI element.
#pragma strict public class ExampleScript extends MonoBehaviour { public var rend: Renderer; private var timePass: float = 0.0f; function Start() { rend = GetComponent.<Renderer>(); } function OnWillRenderObject() { timePass += Time.deltaTime; if (timePass > 1.0f) { timePass = 0.0f; print(gameObject.name + " is being rendered by " + Camera.current.name + " at " + Time.time); } } }
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); } } }
This is called multiple times per frame.