OnRenderObjectはカメラがシーンをレンダリングした後に呼び出されます。
これはGraphics.DrawMeshNowまたは他の関数を使用して自身のオブジェクトをレンダリングする際に使用することが出来ます。 この関数はカメラがアタッチされていなくても 関数のあるスクリプトを持つ任意のオブジェクトから呼び出すことが出来る以外は OnPostRender と似ています。
var mainMesh: Mesh; var miniMapMesh: Mesh; function 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); } }
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public Mesh mainMesh; public Mesh miniMapMesh; void OnRenderObject() { if (Camera.current.name == "MiniMapcam") Graphics.DrawMeshNow(miniMapMesh, transform.position, transform.rotation); else Graphics.DrawMeshNow(mainMesh, transform.position, transform.rotation); } }
import UnityEngine import System.Collections public class ExampleClass(MonoBehaviour): public mainMesh as Mesh public miniMapMesh as Mesh def OnRenderObject() as void: if Camera.current.name == 'MiniMapcam': Graphics.DrawMeshNow(miniMapMesh, transform.position, transform.rotation) else: Graphics.DrawMeshNow(mainMesh, transform.position, transform.rotation)