
実行中にメッシュを生成する方法です。
空オブジェクトを作成して、下記スクリプトを割り当てると
三角形が生成できます。
MeshRendererとMeshFilterコンポーネントが必要です。
void Start() { MeshFilter filter = GetComponent<MeshFilter>(); MeshRenderer r = GetComponent<MeshRenderer>(); // Standardシェーダを割り当てたマテリアルを生成 Material mat = new Material(Shader.Find("Standard")); Mesh mesh = new Mesh(); // 頂点作成 配列数は3の倍数になるように mesh.vertices = new Vector3[] { new Vector3(0f, 0f, 0f), new Vector3(1f, 0f, 0f), new Vector3(0.5f, 1f, 0f) }; // UV設定 mesh.uv = new Vector2[] { new Vector2(0f, 0f), new Vector2(1f, 0f), new Vector2(0.5f, 1f) }; // 頂点の接続順番 mesh.triangles = new int[] { 0, 1, 2 }; // メッシュフィルターにメッシュ設定 filter.sharedMesh = mesh; // 作成したメッシュにマテリアルを割り当てる r.material = mat; }
コメント