簡體   English   中英

創建沒有三角形的網格

[英]Creating a mesh without triangles

我只是編寫了一個腳本,以通過代碼創建網格。 所以我現在的問題是我只知道如何用三角形創建網格,但是應該有一種使用正方形而不是三角形的方法。 上一次我進行此操作時,得到了一個預制件,該預制件是用3DSMAX制成的,並且沒有三角形,就像我對其建模一樣。 因此,如果有人對此有所了解,我將非常感激。

這是我的代碼:

//MESH-SETUP
MeshFilter vertMeshFilter = vertics.GetComponents<MeshFilter>()[0];
Mesh vertMesh = new Mesh();
vertMeshFilter.mesh = vertMesh;

//VERTS
Vector3[] vertices = new Vector3[4]
{
    new Vector3(0f, 0.0f, 0.0f),
    new Vector3(width, 0.0f, 0.0f),
    new Vector3(0.0f, height, 0.0f),
    new Vector3(width, height, 0.0f)
};

//TRIANGLES
int[] tri = new int[6];

tri[0] = 0;
tri[1] = 2;
tri[2] = 1;

tri[3] = 2;
tri[4] = 3;
tri[5] = 1;

//NORMALS
Vector3[] normals = new Vector3[4];

normals[0] = Vector3.forward;
normals[1] = Vector3.forward;
normals[2] = Vector3.forward;
normals[3] = Vector3.forward;

//UV
Vector2[] uvs = new Vector2[4];

uvs[0] = new Vector2(0, 0);
uvs[1] = new Vector2(1, 0);
uvs[2] = new Vector2(0, 1);
uvs[3] = new Vector2(1, 1);


//ASSIGN
vertMesh.vertices = vertices;
vertMesh.triangles = tri;
vertMesh.normals = normals;
vertMesh.uv = uvs;

解決方案是將原始正方形(您擁有的正方形)分成兩個三角形,並使用這些三角形構造網格。 可能需要引起注意,以使兩個最終三角形“面”與起始正方形相同的方式保持頂點順序。

在此處輸入圖片說明

在上圖中,原始正方形為v0,v1,v2,v3,生成的三角形將為: v0,v1,v2v2,v3,v0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM