Version: 2022.3
LanguageEnglish
  • C#

Renderer.OnBecameInvisible()

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

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 BecomeVisible : MonoBehaviour { // Disable this script when the GameObject moves out of the camera's view void OnBecameInvisible() { enabled = false; }

// Enable this script when the GameObject moves into the camera's view void OnBecameVisible() { enabled = true; }

void Update() { Debug.Log("Script is enabled"); } }

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.

Additional resources: OnBecameVisible, isVisible.

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961