Unity3D動態載入FBX檔案

沐Mu發表於2020-10-13

Unity3D動態載入FBX檔案並非指使用Unity內部指令Resources、AssetsBundle等,而是在已釋出的程式執行時,動態載入FBX資原始檔。

Max匯出模型格式有二進位制和ASCII兩種。本文針對ASCII予以說明。通過System.IO將檔案讀取為文字檔案,初學者可先使用立方體進行匯入實驗。根據文字屬性:Vertices、PolyonyVertexIndex、Normals、UV、UV Index來獲取模型資訊。以立方體為例:

Vertices:頂點座標資訊。此值為24,換算為三維座標是8。

PolygonVertexIndex:幾何頂點索引值。此值個數為36。如果是三角面,每隔三個為負數【取反減1即可】,如果是四邊面,每隔四個為負數。

Nromals:法線。此值個數為108,換算為三維座標是36。

UV:紋理座標。此值為48,換算二位座標是24。

UV Index:紋理座標索引。此值為24。

注:

1、模型匯出建議使用三角面,三角面解析後PolyonyVertexIndex和UV Index的個數能和Unity中對應上,如果使用四邊形匯出,此二值的個數會減少,需要手動換算成三角面個數。

2、如果匯出模型修改了軸向以及軸位置,還需要注意Geometric屬性,需要將頂點進行換算後使用。

3、Unity中三角面為逆時針渲染,如果出現模型只能反面顯示的話,調節頂點索引的順序即可。

4、UV出現錯誤時,應當從模型的網格入手,切記直接修改UV座標和索引【個人愚見】。

相關文章