版本: Unity 6 (6000.0)
语言英语
  • C#

MonoBehaviour.OnWillRenderObject()

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每项建议,并在适用情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请 <a>稍后重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

描述

如果对象可见且不是 UI 元素,则会为每个摄像机调用 OnWillRenderObject。

如果 MonoBehaviour 被禁用,则不会调用此函数。

此函数在剔除过程期间调用,紧接在渲染每个剔除对象之前。

请注意,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); } } }

每帧都会调用此函数多次。