Version: 2022.1

Renderer.OnBecameInvisible()

切换到手册

描述

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"); } }

注意,当需要在场景中渲染某个对象时,则认为该对象可见。例如, 有的对象实际上可能不会被任何摄像机看到, 但由于阴影原因仍需要渲染。此外,在 Editor 中运行时,Scene 视图摄像机也会导致 调用该函数。

另请参阅:OnBecameVisibleisVisible