OnRenderObject 在相机渲染完场景后被调用。
这可以用于使用 Graphics.RenderMesh 或其他函数渲染您自己的对象。此函数类似于 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); } } }