1. 程式人生 > >Unity Mesh、MeshFilter、MeshRenderer到底是個啥玩意

Unity Mesh、MeshFilter、MeshRenderer到底是個啥玩意

1.首先我們建立一個Cube在Unity中,在Hierarchy中點選右鍵3d Object ->Cube。然後檢視右側的Inspector視窗,如果沒有的話,看頂部的Windows選單,裡面有Inspector視窗。如下截圖:

包含了Mesh Filter,Mesh Renderer元件,然後再Mesh Filter中包含了Mesh

The Mesh Filter takes a mesh from your assets and passes it to the Mesh Renderer for rendering on the screen.

大體意思是說,Mesh Filter是用了一個從資源裡取到的mesh資源,然後通過Mesh Render,渲染到螢幕中

那麼這個Mesh中都包含了什麼東東?這個問題的發現原因是由於我發現有些Object裡有Mesh Filter 但是沒有Mesh。所以才想到這個東東可以動過程式碼建立!怎麼建立?首先要知道Mesh裡都包含了什麼玩意!!

在Mesh中儲存著三維模型的資料:vertices(頂點資料陣列Vector3[])、triangles(三角形頂點索引陣列,int[])、normals(法線向量陣列,Vector3[])、uv(紋理座標陣列,Vector2[])。我怎麼知道的?看程式碼哇...

Mesh mesh = new Mesh(); 自己去原始碼裡看

然後這裡需要一些OpenGL相關的知識,如下截圖,這裡知道就好,理解的話需要看OpenGL相關內容