mesh | 描画する Mesh |
position | メッシュの位置 |
rotation | メッシュの角度 |
matrix | メッシュの変換行列 (位置、回転やその他の変換を組み合わせます) 。 |
material | 使用する Material |
layer | 使用する Layer |
camera | 特定のカメラで描画する場合のみ、設定します。デフォルトは null で、すべてのカメラで描画されます |
submeshIndex | 描画するメッシュのサブセット。これはいくつかのマテリアルで構成されるメッシュにのみ適用されます。 |
properties | このメッシュを描画する前にマテリアルに適用するマテリアルプロパティーを追加します。 MaterialPropertyBlock を参照してください。 |
castShadows | メッシュはシャドウをキャストする必要があるか。 |
receiveShadows | メッシュはシャドウをレシーブする必要があるか。 |
メッシュを描画する
DrawMesh はひとつのフレームのメッシュを描画します。メッシュはライトに影響され、シャドウをキャストとレシーブでき、
ゲームオブジェクトの一部のようにプロジェクターの影響を受けます。それはすべてのカメラかいくつかの特定のカメラのために描画できます。
大量のメッシュを描画したいがゲームオブジェクトの作成と管理でオーバーヘッドを望まない状況で
DrawMesh を使用します。DrawMesh はすぐにメッシュを描画しないことに注意してください。レンダリングのために "submits" するだけです。
通常のレンダリング処理の一部としてメッシュはレンダリングされます。すぐにメッシュを描画したい場合は Graphics.DrawMeshNow を使用します。
DrawMesh はメッシュをすぐに描画しないため、この関数を呼び出す間にマテリアルのプロパティーを変更しても
メッシュはそれらを反映することはありません。わずかに異なるプロパティー
(例えば各メッシュの色の変更) で、同じマテリアルでメッシュのシリーズを描画する場合、 MaterialPropertyBlock パラメーターを使用します。
See Also: MaterialPropertyBlock.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Mesh mesh; public Material material; public void Update() { // will make the mesh appear in the scene at origin position Graphics.DrawMesh(mesh, Vector3.zero, Quaternion.identity, material, 0); } }