學習模型合理導入 Unity3D 引擎
相信在遊戲中,模型相當于遊戲必要的元素,例如遊戲的一個人物角色,我們可以稱它為一個模型,今天和小編一起學習一下,導入 Unity 3d 模型,我們應該注意哪些細節!當然我們知道常用的模型都可以通過 Maya/3D Max 等三維動畫軟體制作的。
官方學習文檔:https://docs.unity3d.com/Manual/FBXImporter-Model.html
1、模型自身規範:
1.0 所有的模型在原點建立,沒有具體的特定要求下,需要以物體對象中心為軸心;
1.1 模型面數:移動端( 300-1500 個多邊形達到比較好的效果) PC端( 1500-4000 比較适宜)正常的單個物體最好控制在 1000 面以下,所有的物體面數不超過20000 個三角面;
1.2 模型大小:模型檔案做到最大的優化,對于看不到的面,我們可以采用直接删除,合并斷開的點,移除孤立的點;
1.3 模型命名:命名最好做到規範化,模型在給綁定之前必須做一次重置變換;
1.4 模型複制:如果物體可以複制的話,就盡量複制;例如一個 500 面的物體,烘培好之後複制出去 50 個,那麼他所消耗資源基本和一個物體消耗的資源基本是一樣;
1.5 模型機關:在模組化型之前設定好機關,在 Unity3d 中用到的機關設定必須要一樣,模型和模型之間的比例要正确,和程式導入的機關要一緻,如果到程式中機關需要縮放也盡可能統一調整縮放比例,統一機關為米;
2、模型導入中的規範:
2.0 模型使用的材質,首先在 3d Max 和 Maya 中,不是所有的材質在 Unity3d 中都可以支援使用,隻有 Standard(标準材質)和 Multi/Sub-Object(多元/子物體材質)被 Unity3d 軟體所支援。
2.1 模型貼圖格式和尺寸:常用的圖檔格式是 .tga 和 .png (帶透明通道) 、不帶通道為 .jpg ,貼圖的尺寸最好為 2 的 N 次方,最大的貼圖尺寸不能超過 1024X1024 ,當然特定的要求,尺寸可以根據具體的需求而定。
2.2 模型貼圖其他注意點:
2.2.0 貼圖命名不要有中文字命名,并且不能有重名;
2.2.1 材質命名和物體名稱最好保持一緻,易于整理,材質球的父子層級的命名盡可能一緻;
2.2.2 同種貼圖可以使用同一個材質球;
2.2.3 帶Alpha 通道貼圖圖檔格式最好為 tga 和 png 格式,在命名可以加 _al 加以區分;
2.2.4 模型需要通過通道處理時,在制作通道紋理,最好将透明部分改成模型的主色,這樣渲染可以使有效邊緣部分大顔色正确,通道紋理在程式渲染占用的資源同尺寸大普通紋理要多,通道命名也最好以 _al 結尾;
2.3 Unity資源導入:
對于遊戲中資源導入可以導入圖檔,網格等,Project 面闆右鍵( Import New Asset )。
2.3.0 圖檔設定:
TextureType:貼圖類型。
AlphafromGrayscal :使用灰階建立 Alpha,當需要unity為貼圖建立一條 alpha 通道,使用它轉換得到的灰階值來渲染透明度,可以開啟它。
WrapMode:所謂的包裹模式,決定貼圖會無限次平鋪還是隻繪制一次。Repeat 就是重複平鋪。Clamp 會讓貼圖的邊緣拉升并在改變大小時候填滿任何縫隙。
FilterMode:所謂的圖像過濾模式,在拉伸時候對貼圖過濾,比如 [Point] 點過濾,在很近看貼圖時候,可能感覺不均。Bilinear 它會時近看貼圖顯得模糊。Trilinear 它會在不同 mipmap 層次之間模糊。
AnisoLevel:設定各項異性過濾器的級别,同屬的可以了解為當你從一個比較陡的角度來看,貼圖現實的可以有多細膩,渲染的等級越高,越占記憶體。想要确定貼圖頁面會占用多大記憶體,可以長X寬,再乘以他的位深度 [bpp,每像素位數] ,如果貼圖包含 mipmap ,還需要擴大 1.33 倍。
2.3.1 網格設定:
網格就是那些 Maya ,C4D,3DSMAX,C3D,LW 等軟體導出的檔案。比如導入一個 .fbx 檔案。選中後,在Inspector面闆中,我們能看到下面的屬性:
ScaleFactor:縮放系數,使用這個屬性在導入資源後設定其大小,調整資源在場景現實過大,或者過小的問題。
MeshCompression:網格壓縮的比例( Off,Low,Medium,High )不可否認,壓縮時可以節約記憶體的。
OptimizeMesh:為提高 GPU 性能記錄網格頂點和索引。
GenerateColliders:是否在場景中讓網格對象具有碰狀體表現,通俗的說就是實心的,不可以穿體而過。
SwapUVs:交換 UV ,當你導入一個網格對象時候,着色器可能會使用錯誤的 UV 通道,如果發現資源異常(比如帶光照圖時候),可以選中這個複選框。
Generate Lightmap UVs:為UV2生成光照貼圖。
Normals&Tangents:該項設定計算法線切線
Normals:計算法線,import 表示使用導入的網格法線,Calculate 表示從新計算網格法線。
Tangents:計算切線,import 表示使用導入的網格切線,Calculate 表示從新計算切線。
Smoothing angle:法線平滑角度,告訴引擎在角度值為多少時候把一個邊緣視為硬邊緣。
Split Tangents:是否分離切線,如果模型在場景渲染後現實 UV 縫隙,要開啟它。
Materials:
Import Materials:是否導入材質,預設選中。
Material Naming:材質名字生成模式。
Material Search:材質搜尋方案。
3、模型在制作軟體中具體設定:
3.0 貼圖烘培設定:在進行Completemap 烘培方式,貼圖通道和物體 UV 坐标通道必須為1 通道。
3.1 lightingMap 烘培設定時,和 completemap 設定有些不同,貼圖通道和物體 UV 坐标必須為 3 通道,烘培時燈光的陰影方式為 adv.raytraced 進階光線跟蹤陰影,背景色要改白色,可以避免黑邊的情況,主要物件的貼圖 UV 必須手動展開;
3.2 模型綁定及動畫
3.2.0 骨骼必須為 IK 、CAT、BIP 三類,Unity 不認虛拟動畫,單個物體骨骼數量不超過 60 個;
3.2.1 動畫幀率、幀數的控制,一般情況下每秒 10 幀,一個動畫盡量控制 1 秒内完成;
3.3 模型導出
3.3.0 将烘培材質改為标準材質球,通道為 1 ,自發光 100% ;
3.3.1 合并頂點,删除多餘的材質球(不重要貼圖縮小);
3.3.2 物體名稱、材質球名、貼圖名保持一緻;
3.3.3 按要求導出的 .fbx (檢查是否要按組導出,導出 fbx 後,再重新導入 3D Max/Maya 中動畫是否正确)
.....
上面雖然沒有圖檔的展示,但是屬于實踐中的文字總結,希望能幫助到小夥伴們。
原文連結:
https://connect.unity.com/p/unity3d-shi-yong-ji-qiao-kuai-su-xue-hui-mo-xing-he-li-dao-ru-unity3d-yin-qing?app=trueconnect.unity.com
歡迎大家戳上方原文連結,下載下傳Unity官方技術社群app,更多幹貨