分類:Unity、C#、VS2015
創建日期:2016-04-05
由於游戲引擎本身的建模功能相對較弱,無論是專業性還是自由度都無法同專業的三維軟件相比,所以大多數游戲中的模型、動畫等資源都是通過專業的三維軟件來制作的,制作完成後再將其導入到Unity中使用就行了。
Unity支持幾乎所有主流的三維文件格式,例如.FBX、.dae、3Ds、.dxf、.obj等。其中,最常用的三維建模軟件有:3Ds Max、Blender、Maya、……等。
用戶在3Ds Max、Blender或Maya中導出文件到Unity工程的資源文件夾下以後,Unity會自動更新這些資源,然後就可以在工程中使用了。
1、3ds Max
Autodesk3D studio Max(簡稱3ds Max或MAX)是Autodesk公司開發的基於PC系統的三維動畫渲染和制作軟件。3ds Max被廣泛應用於廣告、影視、工業沒計、建築設計、三維動畫、多媒體制作、游戲、輔助教學及工裎可視化等領域。
3ds Max 2015(16.9商業版)的文件擴展名為“.max”,可利用該軟件提供的fbx導出插件直接導出.fbx格式的文件(安裝時已經自動包含該插件)。
通過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。
2、Maya
Autodesk Maya是美國Autodesk公司出品的三維軟件,應用領域是專業的影視廣告、角色動畫、電影特技等。Maya能夠提供良好的3D建模、動畫、特效及渲染功能,是電影級別的高端三維制作軟件。Maya可在Windows、Mac os等操作系統上運行。
通過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。
3、Blender
Blender是—個開源的、跨平台的全能三維軟件,提供從建模、動畫、材質、渲染到音頻處理、視頻剪輯等一系列動畫短片制作的解決方案。Blender以Python為內建腳本,支持Yafaray渲染器,同時還內置游戲引擎,擁有極豐富的功能。
通過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。
4、Cinema 4D
Cinema 4D是—套由德國Maxon Computer公司開發的三維軟件,以極高的運算速度和強大的渲染插件而著稱。Cinema 4D應用廣泛,在廣告、電影、工業設計等方面都有出色的表現。它正成為許多—流藝術家和電影公司的首選。
通過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。
5、LightWave
LightWave是由美國NewTek公司開發的一款高性價比的三維動畫制作軟件,在生物建模和角色動畫方面功能異常強大。基於光線跟蹤、光能傳遞等技術的渲染模塊,令它的渲染品質幾盡完美。LightWave的11.5版(或更高)已經成為一款功能非常強大的三維動畫軟件,並支持大多數操作系統,而且在各個操作系統上都有一致的操作界面。
通過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。
導入用其他軟件制作的三維模型時,Unity會將其表示為許多不同對象,包括游戲對象 (GameObject)、網格(可以根據導入選項蒙皮)、動畫片段 (AnimationClip) 等。在Project下的文件夾中,主導入對象為模型預設 (Model Prefab)。
對於網格(Mesh)來說,必須使用網格過濾器 (Mesh Filter) 組件將導入的網格附加到游戲對象 (GameObject) 上。另外,要使網格可見,游戲對象 (GameObject) 還必須附加網格渲染器(Mesh Renderer) 或其他渲染組件。有了這些組件,網格就可以在游戲對象 (GameObject) 位置處可見,其確切外觀取決於渲染器使用的材質。
網格篩選器 (Mesh Filter) 與網格渲染器 (Mesh Renderer) 相結合使模型出現在屏幕上。
Unity的網格導入程序提供了許多選項,用於控制網格生成並將其與其紋理和材質相關聯。
1、將模型導出為.fbx或者.obj格式
這種方式先用某種三維軟件導出三維文件,比如導出為.FBX文件或者.OBJ文件,然後再將導出的三維文件導入到Unity中。
這是建議的方式。
優勢:
劣勢:
這種方式直接導入三維應用文件到Unity中,比如直接導入用3DS Max制作的.max文件,或者直接導入用Blender制作的.Blend文件。
一般不采用這種方式。
優勢:
劣勢:
3、縮放因子(Scale Factor)和文件縮放比例(File Scale)
Unity的默認度量單位為“米”,將其他專業三維軟件制作的模型導入到Unity 5.3.4中時,如果希望模型和原來的大小相同,需要設置縮放因子,其默認的比例關系如下:
導入3ds Max時,縮放因子應設置為0.01
導入Lightwave時,縮放因子應設置為0.01
導入Maya時,縮放因子應設置為100
導入Cinema4D時,縮放因子應設置為100
如果是導入的文件,Unit會再提供一個文件縮放比例,這個比例實際上就是縮放系數。
下面通過例子說明具體步驟。
下面以3ds Max 2015(16.9商業版)為例,說明用專業三維軟件創建模型的基本辦法,以及將創建的模型導入到Unity中的基本操作步驟。
1、先解決3ds Max 2015顯示驅動程序的問題
不知道什麼原因,3ds Max 2015推薦的顯示驅動程序(Direct3D 11.0)在本人的計算機上無法正常顯示模型,只能顯示線框。為了解決這個問題,需要先更改一下顯示驅動程序。具體辦法為:運行3ds Max 2015,選擇主菜單的【自定義】->【首選項】,在彈出的窗口中,將【顯示驅動程序】改為“Direct3D 9.0”,如下圖所示:
修改以後,重新啟動3ds Max 2015,就可以正常顯示模型或線框了(F3切換)。
2、設置度量單位
由於3ds Max 2015導出的.fbx模型導入到Unity中時默認的縮放因子為0.01,為了讓創建的模型導入到Unity後看到的大小一致,可將3ds Max 2015的【系統單位】和【顯示單位】都設置為“厘米”。下面是具體操作辦法。
啟動3ds Max 2015,【自定義】->【單位設置】,如下面的左側圖所示。在下面右側的彈出界面中,將【顯示單位比例】設置為“厘米”:
單擊上圖右側的【系統單位設置】按鈕,在下面的彈出界面中,將【系統單位比例】也設置為“厘米”:
依次單擊【確定】按鈕,完成單位設置。
3、創建立方體
創建—個長寬高都為100cm的立方體,並將其位置移動到坐標原點。如下圖所示:
4、將模型導出為.fbx格式
選中創建的立方體,然後選擇【導出】->【導出選定對象】,將該模型導出到文件名為Box001.fbx的文件中。如下圖所示。
記住導出的文件位置,以備下一步使用。
還有一種更簡便的辦法,就是直接將模型導入到Unity工程的某個文件夾下,這樣就可以在Unity工程中直接雙擊該模型打開3ds Max 2015並編輯該模型,編輯後Unity會自動更新,不需要再復制了。
為了演示如何導入現有的模型,本節的例子並沒有將模型直接保存到Unity工程下(下一節的例子再介紹這種辦法)。
5、導入模型到Unity
運行Unity,打開ch03Demos工程,然後將從3ds Max 2015導出的Box001.fbx文件(如果有其他文件和文件夾,要一塊導入)拖放到工程視圖Assets文件夾下的Models文件夾下:
觀察檢視器,可看到該模型的【File Scale】為0.01,而【Scale Factor】為1:
6、使用導入的模型
將Box001.fbx拖放到層次視圖中,並調整其位置,如下圖所示:
7、貼圖
將Texture文件夾下的磚塊紋理拖放到層次視圖的Box001上,就能在場景中看到該模型貼圖後的效果了:
通過這個例子,我們就理解了從用3ds Max 2015創建模型到在Unity中導入並使用這些模型的基本操作步驟,以後既可以自己去創建模型,也可以直接導入別人創建好的各種復雜模型了。