在摄像机渲染场景后,将调用 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); } } }