Renderer.isVisible
public bool isVisible;
Description
Is this renderer visible in any camera? (Read Only)
Note that the object is considered visible when it needs to be rendered in the Scene. For example, it might not actually be visible by any camera but still need to be rendered for shadows. When running in the editor, the Scene view cameras will also cause this value to be true.
//Attach this script to a GameObject with a Renderer component attached
//If the GameObject is visible to the camera, the message is output to the console
using UnityEngine;
public class IsVisible : MonoBehaviour
{
Renderer m_Renderer;
// Use this for initialization
void Start()
{
m_Renderer = GetComponent<Renderer>();
}
// Update is called once per frame
void Update()
{
if (m_Renderer.isVisible)
{
Debug.Log("Object is visible");
}
else Debug.Log("Object is no longer visible");
}
}
Renderer.OnBecameVisible()
Description
OnBecameVisible is called when the object became visible by any camera.
This message is sent to all scripts attached to the renderer. OnBecameVisible and OnBecameInvisible are useful to avoid computations that are only necessary when the object is visible.
public class Example : MonoBehaviour
{
// Disable the behaviour when it becomes invisible...
void OnBecameInvisible()
{
enabled = false;
}
// ...and enable it again when it becomes visible.
void OnBecameVisible()
{
enabled = true;
}
}
Note that object is considered visible when it needs to be rendered in the Scene. It might not be actually visible by any camera, but still need to be rendered for shadows for example. Also, when running in the editor, the Scene view cameras will also cause this function to be called.
Renderer.OnBecameInvisible()
Description
OnBecameInvisible is called when the object is no longer visible by any camera.
This message is sent to all scripts attached to the renderer. OnBecameVisible and OnBecameInvisible are useful to avoid computations that are only necessary when the object is visible.
using UnityEngine;
public class Example : MonoBehaviour
{
// Disable the behaviour when it becomes invisible...
void OnBecameInvisible()
{
enabled = false;
}
// ...and enable it again when it becomes visible.
void OnBecameVisible()
{
enabled = true;
}
}
Note that object is considered visible when it needs to be rendered in the Scene. It might not be actually visible by any camera, but still need to be rendered for shadows for example. Also, when running in the editor, the Scene view cameras will also cause this function to be called.