MonoBehaviour.OnWillRenderObject()

切换到手册

描述

如果对象可见并且不是 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); } } }

每帧将调用多次。

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