Unity網格介紹

2021-07-31 04:07:50 字數 1461 閱讀 9691

本片文章是對處理人臉識別時對已有網格資訊重建時學習總結的一點對網格的認識,比較基礎,o(∩_∩)o哈哈哈~

網格(meshes)包括頂點和多個三角形陣列。

三角形陣列僅僅是頂點的索引陣列,每個三角形包含三個索引。

每個頂點可以有一條法線,兩個紋理座標,及顏色和切線。雖然這些是可選的,但是也可以去掉。所有的頂點資訊是被儲存在單獨的同等規格的陣列中,所以如果你的網格(mesh)有10個頂點,你同樣應該有大小為10的陣列來儲存法線和其它屬性。

應該總是按照這個順序來做:

為頂點陣列賦值

為三角形陣列賦值

每幀修改定點屬性

獲取頂點陣列

修改它們

把它們放回網格

此類可以訪問網格過濾器所屬的網格物件。

使用這個作為乙個程式的網格介面。

繪製乙個簡單的三角形網格:

如下所示:

網格渲染器從網格過濾器獲得幾何形狀,並且根據物體的transform元件的定義位置進行渲染。

清空所有頂點資料和所有三角形索引

你應該在重新建立三角形陣列前使用這個函式。

網格的基礎紋理座標

在網格裡,乙個包含所有三角形的陣列。

這個陣列是包含頂點陣列索引的三角形列表。三角形陣列的大小是3的倍數。頂點可以通過簡單的索引同一頂點來共享。如果網格包含多個子網格(材質),三角形列表將包含所有子網格的所有三角形。當你賦值三角形陣列,submeshcount設定為1。如果你想要有多個子網格,使用submeshcount and set********s。

建議先賦值頂點陣列之後再賦值三角形陣列,為了避免越界的錯誤。

返回乙個頂點位置的陣列值,或者為一組新的頂點位置陣列賦值。

網格中頂點數量是通過賦予乙個不同數量的頂點陣列來改變。注意,如果你調整了頂點陣列的大小,那麼所有其他頂點的屬性(法線,顏色,切線,紋理座標)將自動地調節大小。在為頂點賦值時,如果這個網格的頂點有沒有被賦值的那麼recalculatebounds將自動被呼叫。

顯示優化的網格。

這個指令也許會需要一段時間,但是會使幾何體現實的更快。例如:它從三角形中形成三角形帶。如果你從頭建立乙個網格並想在執行的時候取得更好的執行時效能面而不是較高的載入時間,你應該使用它。它三角帶化你的模型並為每個頂點快取位置優化三角形。對於匯入的模型你不應該呼叫這個函式,因為匯入已經做過了。

返回網格中頂點的數量(唯讀的)

unity 網格細分

簡單描述 獲取資料 得到mesh的頂點資料,得到mesh切線資料,根據切線計算出三角面的個數。切線數 3。三角面計算 遍歷三角面個數次 有多少個三角面遍歷多少次 計算出乙個三角面的三個頂點。通過三條邊的中心點切割,將乙個三角面分割成6個頂點三個面 從頂點重新計算網格的邊界體積。mesh.recalc...

unity 網格切割演算法講解

演算法主要的方法為 public static list getendcuttingpolygonverticles listoriginpoints,vector3 startpos,vector3 endpos list陣列存的是網格的頂點,第二個引數和第三個引數表示切割線段的起始節點和線段的末...

Unity換裝之合併網格

為了提高遊戲效能,需要對人物進行換裝後,講人物各個部分再進行組合,形成乙個整體的網格,所以需要合併網格,骨骼,材質等。下面是從resources中載入人物各個部分,然後再組裝。首先載入的骨骼,再載入其他部分。void loadresource void addpart string partname...