一.實驗目的:
掌握第三方軟件生成的3D模型資源的導出方法(通常是fbx格式),了解Unity對導入的3D模型的特殊要求
作業內容:
(1)在網絡上收集閱讀與Unity 3D 模型導入相關的文檔,看看主要存在幾種問題及解決方案
(2)選擇一種可能存在的問題,在3Ds Max或Maya中模擬生成的文獻描述的模型并導入Unity,測試是否會出現類似的問題,嘗試相應的解決方案
二.導入流程:
經查閱資料,可以得知向unity中導入文件的流程如下:
方法1:
1.unity并非支持所有外部模型的所有屬性,例如maya的.mb文件就可以在unity中使用網絡/材質/動畫/骨骼的功能,但是3D Studio格式中的.3ds格式在unity中卻僅支持網絡一種屬性。所以需要先查閱支持格式,并確定要使用的文件類型和制作軟件。
2.確定制作軟件后,在軟件內創建一個英文路徑(例如Vehicle),點擊File------New Project---Create---將文件命名
3.在軟件內對該對象進行創建,若創建后模型分為幾部分,選擇一個主體作為導入后的母模型。創建完成后將該文件保存在文件夾內準備導入(例如maya2016創建的是.mbf文件)
4.打開unity,創建一個場景,并將創建的模型.mbf文件拖入Assets框內,成功后會留下模型文件和材質貼圖文件
5.將模型文件拖入場景內,并按照場景的需要進行旋轉/縮放,注意模型的Scale Factor面板內有物體的屬性默認值。
方法2:前2步同上;
3.創建完成后,點擊File----Export,將所選擇模型文件進行導出,格式選擇FBX模式,并將導出文件直接保存到unity場景的Assets文件夾內。此時保存的模型若不需要骨骼/材質等特性,就可以暫時將這些選框從FBX EXPORT面板內勾選掉。
4.在Unity中打開Project----文件欄找到剛導入的FBX模型,選中后用方法1中修改大小的方法修改FBX模型的尺寸,并將它放置在合適的位置上。
二.導入結果:
如下圖:
其中汽車是大二上學期的期中作業,藍色炮臺是最近用MAYA做出來的,遠處的懸浮球是該unity中添加的3D Object。三個物體均可以在unity中顯示,但是導入的時候遇到了以下問題:
1.物體的大小發生了巨大的變化,由于UNITY和Maya使用的標尺不同,因此導入進去的模型一開始都非常小,例如汽車由于使用了外部圖片作為標尺,因此長寬高只有不到2000x1000x500像素,導入到unity中之后幾乎長度和球的半徑差不多。
經過網上查閱資料得知,3DMAX和Maya中使用的單位均是inch,而unity中的最小單位是米。因此換算后,模型在導入Unity時被縮小了100倍,應該在導入后從SCALE FACTOR中將XYZ的值分別擴大100倍。
2.炮臺也是如此,但是由于設計的時候使用了厘米制單位,因此導入到unity中后大小和原來在maya中的視覺大小差距不大。因此解決方法是在制作XBF文件時就將物體大小轉換為UNITY可識別的單位,并將大小換算至unity中合適的大小。
3.其他未出現但是查閱資料獲得的問題:
3Dsmax中導出的模型會遇到軸向旋轉問題,部分模型導入后軸心發生90度的旋轉,解決方式是在3DMAX中勾選調節僅影響軸選項即可。
導入后部分材質的性質遭到破壞-----需要按照順序將模型物體的材質存放在material文件夾中,將貼圖存放在texture文件夾中,將模型存放在object文件夾內。
光暈導入后無法識別---Camera的Far Clip plane數值過小-----光暈在unity的設置下太遠/太高導致看不到-----解決方式是將光暈位置貼近或者將Far Clip plane數值增大。
部分過于復雜的模型無法顯示------模型的多邊形poly數量過多----unity的內置限制是單個物體面數不能超過65000個三角形-----需要在原建模軟件中合理分配物體的多邊形數量(多邊形數量可以在物體屬性/Properties中查看Faces屬性。)