Version: 2021.3

MonoBehaviour.OnRenderObject()

切换到手册

描述

在摄像机渲染场景后,将调用 OnRenderObject。

这可以用于通过 Graphics.DrawMeshNow 或其他函数渲染自己的对象。 此函数类似于 OnPostRender,但 OnRenderObject 是在具有包含该函数的脚本 的任何对象上调用(无论是否附加到摄像机)。 只应使用此函数绘制(而不能更改)任何高级渲染状态。

请注意,此函数可能会影响性能,因为它会对具有使用此回调的脚本的每个 GameObject 运行。

using System.Collections;
using UnityEngine;

public class ExampleClass : MonoBehaviour { public Mesh mainMesh; public Mesh miniMapMesh;

void OnRenderObject() { // Render different meshes for the object depending on whether // the main camera or minimap camera is viewing. if (Camera.current.name == "MiniMapcam") { Graphics.DrawMeshNow(miniMapMesh, transform.position, transform.rotation); } else { Graphics.DrawMeshNow(mainMesh, transform.position, transform.rotation); } } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961