Unityにて三角形ポリゴンで曲面を描きたく,MeshTopology.Triangleを用いて描こうとしているのですが,なかなかうまくいきません.
実装コードは以下のような感じになります.
C#
1#define NUM xxx //三角形の頂点の数 2 3int main() 4{ 5 var mesh = new Mesh(); 6 Vector3[] verts = new Vector3[NUM]; 7 int[] indices = new int[NUM]; 8 9 verts[0].x = 1; 10 verts[0].y = 2; 11 verts[0].z = 1; 12 13 verts[1].x = 3; 14 verts[1].y = 3; 15 verts[1].z = 4; 16 17 ...... 18 //頂点を代入 19 20 for(int i = 0; i<NUM; i++){ 21 indices[i] = i; 22 } 23 24 mesh.vertices = verts; 25 mesh.subMeshCount = 1; 26 mesh.SetIndices(indices, MeshTopology.Triangles, 0); 27 28 GetComponent<MeshFilter>().mesh = mesh; 29 30 return 0; 31} 32
mesh.SetIndices(indices, MeshTopology.Triangles, 0);
を
mesh.SetIndices(indices, MeshTopology.Lines, 0);
とすると,線で三角形がいくつも表示されるため,基本的には合っていると思うのですが,Trianglesにするとうまくいきません.
mesh.SetIndicesの第一引数が,LinesとTrianglesでは違うものにしなければならないのでしょうか?
色々なサイトを参考に書いたもので,いまいちコードの意味を理解していない部分もありますが,ご教授よろしくお願いします.
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/25 08:17