【Unity】3.3 用3ds Max 2015製做模型並將其導入到Unity

分類:Unity、C#、VS2015 模塊化

建立日期:2016-04-05 動畫

1、經常使用三維軟件簡介

因爲遊戲引擎自己的建模功能相對較弱,不管是專業性仍是自由度都沒法同專業的三維軟件相比,因此大多數遊戲中的模型、動畫等資源都是經過專業的三維軟件來製做的,製做完成後再將其導入到Unity中使用就好了。 操作系統

Unity支持幾乎全部主流的三維文件格式,例如.FBX、.dae、3Ds、.dxf、.obj等。其中,最經常使用的三維建模軟件有:3Ds Max、Blender、Maya、……等。 插件

用戶在3Ds Max、Blender或Maya中導出文件到Unity工程的資源文件夾下之後,Unity會自動更新這些資源,而後就能夠在工程中使用了。 設計

一、3ds Max 3d

Autodesk3D studio Max(簡稱3ds Max或MAX)是Autodesk公司開發的基於PC系統的三維動畫渲染和製做軟件。3ds Max被普遍應用於廣告、影視、工業沒計、建築設計、三維動畫、多媒體制做、遊戲、輔助教學及工裎可視化等領域。 視頻

3ds Max 2015(16.9商業版)的文件擴展名爲「.max」,可利用該軟件提供的fbx導出插件直接導出.fbx格式的文件(安裝時已經自動包含該插件)。 對象

經過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。 blog

二、Maya 遊戲

Autodesk Maya是美國Autodesk公司出品的三維軟件,應用領域是專業的影視廣告、角色動畫、電影特技等。Maya可以提供良好的3D建模、動畫、特效及渲染功能,是電影級別的高端三維製做軟件。Maya可在Windows、Mac os等操做系統上運行。

經過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。

三、Blender

Blender是—個開源的、跨平臺的全能三維軟件,提供從建模、動畫、材質、渲染到音頻處理、視頻剪輯等一系列動畫短片製做的解決方案。Blender以Python爲內建腳本,支持Yafaray渲染器,同時還內置遊戲引擎,擁有極豐富的功能。

經過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。

四、Cinema 4D

Cinema 4D是—套由德國Maxon Computer公司開發的三維軟件,以極高的運算速度和強大的渲染插件而著稱。Cinema 4D應用普遍,在廣告、電影、工業設計等方面都有出色的表現。它正成爲許多—流藝術家和電影公司的首選。

經過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。

五、LightWave

LightWave是由美國NewTek公司開發的一款高性價比的三維動畫製做軟件,在生物建模和角色動畫方面功能異常強大。基於光線跟蹤、光能傳遞等技術的渲染模塊,令它的渲染品質幾盡完美。LightWave的11.5版(或更高)已經成爲一款功能很是強大的三維動畫軟件,並支持大多數操做系統,並且在各個操做系統上都有一致的操做界面。

經過此軟件導出的.fbx文件導入到Unity後,網格(Meshes)、紋理(Textures)、動畫(Animations)、骨骼(Bones)都支持。

2、導入模型到Unity工程中的方式

導入用其餘軟件製做的三維模型時,Unity會將其表示爲許多不一樣對象,包括遊戲對象 (GameObject)、網格(能夠根據導入選項蒙皮)、動畫片斷 (AnimationClip) 等。在Project下的文件夾中,主導入對象爲模型預設 (Model Prefab)。

對於網格(Mesh)來講,必須使用網格過濾器 (Mesh Filter) 組件將導入的網格附加到遊戲對象 (GameObject) 上。另外,要使網格可見,遊戲對象 (GameObject) 還必須附加網格渲染器(Mesh Renderer) 或其餘渲染組件。有了這些組件,網格就能夠在遊戲對象 (GameObject) 位置處可見,其確切外觀取決於渲染器使用的材質。

網格篩選器 (Mesh Filter) 與網格渲染器 (Mesh Renderer) 相結合使模型出如今屏幕上。

Unity的網格導入程序提供了許多選項,用於控制網格生成並將其與其紋理和材質相關聯。

一、將模型導出爲.fbx或者.obj格式

這種方式先用某種三維軟件導出三維文件,好比導出爲.FBX文件或者.OBJ文件,而後再將導出的三維文件導入到Unity中。

這是建議的方式。

優點:

  • 僅導出所需數據
  • 使用可驗證的數據(在 Unity 從新導入至三維資源包)
  • 文件一般更小
  • 鼓勵使用模塊化方法 - 例如,根據碰撞類型或交互性選擇不一樣的組件。
  • 支持其餘三維包(不直接支持其專有格式的三維包)。

劣勢:

  • 原型和迭代的管道會致使運行速度更慢。
  • 容易丟失源工做文件和遊戲數據(如導出的 FBX)之間的版本信息記錄。
  • 直接導入專業三維軟件的工程文件

這種方式直接導入三維應用文件到Unity中,好比直接導入用3DS Max製做的.max文件,或者直接導入用Blender製做的.Blend文件。

通常不採用這種方式。

優點:

  • 快速的迭代過程(節省源文件和 Unity 從新導入的時間)
  • 簡化的初始階段。

劣勢:

  • 使用 Unity 工程的全部機器都必須安裝有許可證的軟件副本。
  • 無用數據會大大增長文件的容量。
  • 文件太大會下降 Unity 更新的速度。
  • 增長了故障排除的難度。

三、縮放因子(Scale Factor)和文件縮放比例(File Scale)

Unity的默認度量單位爲「米」,將其餘專業三維軟件製做的模型導入到Unity 5.3.4中時,若是但願模型和原來的大小相同,須要設置縮放因子,其默認的比例關係以下:

導入3ds Max時,縮放因子應設置爲0.01

導入Lightwave時,縮放因子應設置爲0.01

導入Maya時,縮放因子應設置爲100

導入Cinema4D時,縮放因子應設置爲100

若是是導入的文件,Unit會再提供一個文件縮放比例,這個比例實際上就是縮放係數。

下面經過例子說明具體步驟。

3、示例—將用3ds Max 2015建立的.fbx模型導入到Unity

下面以3ds Max 2015(16.9商業版)爲例,說明用專業三維軟件建立模型的基本辦法,以及將建立的模型導入到Unity中的基本操做步驟。

一、先解決3ds Max 2015顯示驅動程序的問題

不知道什麼緣由,3ds Max 2015推薦的顯示驅動程序(Direct3D 11.0)在本人的計算機上沒法正常顯示模型,只能顯示線框。爲了解決這個問題,須要先更改一下顯示驅動程序。具體辦法爲:運行3ds Max 2015,選擇主菜單的【自定義】->【首選項】,在彈出的窗口中,將【顯示驅動程序】改成「Direct3D 9.0」,以下圖所示:

image

修改之後,從新啓動3ds Max 2015,就能夠正常顯示模型或線框了(F3切換)。

二、設置度量單位

因爲3ds Max 2015導出的.fbx模型導入到Unity中時默認的縮放因子爲0.01,爲了讓建立的模型導入到Unity後看到的大小一致,可將3ds Max 2015的【系統單位】和【顯示單位】都設置爲「釐米」。下面是具體操做辦法。

啓動3ds Max 2015,【自定義】->【單位設置】,以下面的左側圖所示。在下面右側的彈出界面中,將【顯示單位比例】設置爲「釐米」:

image   image

單擊上圖右側的【系統單位設置】按鈕,在下面的彈出界面中,將【系統單位比例】也設置爲「釐米」:

image

依次單擊【肯定】按鈕,完成單位設置。

三、建立立方體

建立—個長寬高都爲100cm的立方體,並將其位置移動到座標原點。以下圖所示:

image

四、將模型導出爲.fbx格式

選中建立的立方體,而後選擇【導出】->【導出選定對象】,將該模型導出到文件名爲Box001.fbx的文件中。以下圖所示。

image

記住導出的文件位置,以備下一步使用。

還有一種更簡便的辦法,就是直接將模型導入到Unity工程的某個文件夾下,這樣就能夠在Unity工程中直接雙擊該模型打開3ds Max 2015並編輯該模型,編輯後Unity會自動更新,不須要再複製了。

爲了演示如何導入現有的模型,本節的例子並無將模型直接保存到Unity工程下(下一節的例子再介紹這種辦法)。

五、導入模型到Unity

運行Unity,打開ch03Demos工程,而後將從3ds Max 2015導出的Box001.fbx文件(若是有其餘文件和文件夾,要一塊導入)拖放到工程視圖Assets文件夾下的Models文件夾下:

image

觀察檢視器,可看到該模型的【File Scale】爲0.01,而【Scale Factor】爲1:

image

六、使用導入的模型

將Box001.fbx拖放到層次視圖中,並調整其位置,以下圖所示:

image

七、貼圖

將Texture文件夾下的磚塊紋理拖放到層次視圖的Box001上,就能在場景中看到該模型貼圖後的效果了:

image

經過這個例子,咱們就理解了從用3ds Max 2015建立模型到在Unity中導入並使用這些模型的基本操做步驟,之後既能夠本身去建立模型,也能夠直接導入別人建立好的各類複雜模型了。

相關文章
相關標籤/搜索