Unity3D 教學.CG數位學習網

CG 數位學習網 > Unity 教學



Unity 雖可建立基本的幾何物件,但是製作遊戲角色或場景主要還是使用 3ds Max、Maya、Blender、C4D 等軟體,經過建模、材質貼圖與編輯動畫的步驟,再匯入 Unity 編輯器使用。Unity 支援的 3D 格式包括 *.3ds、*.dxf、*.dae ( Collada )、*.obj、*.fbx 等。此外,若您的電腦安裝 3ds Max 與 Maya 軟體,也可以支援 3ds Max ( *.max ) 格式與 Maya ( *.mb ) 格式,不過 FBX 檔案是建議使用的格式。

 

3ds Max > Unity

使用 3ds Max 製作的模型,可直接將 .max 儲存於 Unity 專案資料夾,並選擇匯出 Autodesk .FBX 格式到 Unity 程式使用。

若出現 3ds Max couldn't conver the max file to an fbx file 訊息,請檢查是否已安裝 3ds Max 且軟體的授權是否失效。

在 3ds Max 匯出 FBX 檔案,執行 [ File > Export ] 或 [ File > Export Selected ] 開啟匯出設定對話框。

已設定材質貼圖的模型,務必勾選「Embed Media」,預設的情況此選項並不是啟用的。

 

回到 Unity 編輯器 FBX 檔案將會自動匯入,請將檔案從 Project 專案視窗拖曳到 Scene 視窗或 Hierarchy 視窗。

Unity 會將匯入的 3D 模型轉換成三角面多邊形。若匯入的模型放到場景後尺寸很小,是因為縮放比例的關係,請將數值改為 1.0 然後按下 Apply 按鈕套用。此外使用 3D 軟體建立的燈光與攝影機,匯入 Unity 時並沒有照明與攝影的功能,必須分別套用燈光元件與攝影機元件。

 

 

Maya > Unity

若您使用 Maya 製作 3D 物件,選擇匯出 FBX 格式到 Unity 程式使用。

使用 Maya 匯出檔案時若無法選擇 FBX 格式,請開啟 Plug-in Manager 並勾選 fbxmaya.mll 再重新匯出。

 

Blender > Unity

執行 [ 檔案 > 匯出 > FBX ( .fbx ) ] 匯出檔案。

 

FBX Importer 設定

Meshes 網格設定

Generate Colliders 勾選時 Unity 會自動在整個模型加網格碰撞器,若是整個物件皆需進行碰撞偵測,即可使用此功能。

Calculate Normals 計算法線,開啟此功能即讓 Unity 處理所有的模型表面,使該物件在遊戲中能夠正確的呈現。

Smoothing Angle 當開啟前一項計算法線的功能後,此參數允許您指定平滑的角度,設定值以下的角度將產生硬邊 ( Hard edge ) 的效果。

Animation 動畫設定

Generation 設定產生動畫的方式

  • Don't Import 不匯入動畫。
  • Store in Original Roots 儲存於根物件 ( Root object ),可能與 Unity 的根物件不同。
  • Store in Nodes 儲存於節點,若需要進行複雜的設定或使用腳本控制,請使用此選項。
  • Store in Root 動畫儲存於場景中的變形根物件 ( Transform root object )。

Animation Wrap Mode 動畫模式

  • Default 預設
  • Once 動畫僅播放一次
  • Loop 動畫循環播放
  • Ping Pong 動畫來回播放
  • Clamp Forever

設定後請用滑鼠點一下 Scene 場景檢視面板,出現 Unapplied import settings 訊息對話框時,按下 Apply 按鈕套用設定。

Bake Animations 使用 IK ( Inverse Kinematics ) 骨架動畫。

Reduce Keyframes 從匯入的檔案移除用不到的動畫關鍵影格,若沒有特殊的考量,此選項應該保持開啟以提升執行效能。

 

 

關於 Unity 的動畫設定

若您需要將 3D 模型動畫,匯出 FBX 檔時若是忘了勾選 「Animation 」,匯入 Unity 時就無法存取動畫,並且在 Inspector 屬性編輯器會出現 No animation data available in this model. 的訊息,說明此模型未包含動畫資料。

而匯入模型後發現動畫無法正常播放,請將 Inspector 屬性編輯器切換到 Rig 標籤,將 Animation Type 動畫類型從預設的 Generic 改為 Legacy,按下播放測試,動畫可以設定播放一次或是循環播放。

 

Unity Ragdoll 系統

Ragdoll 是 Unity 內建的布偶系統,我們從 Asset Store 資源商店下載遊戲角色進行 Ragdoll 的功能說明。

 

執行 [ GameObject > 3D Object > Ragdoll ] 開啟 Create Ragdoll 對話框。

注意!舊版 Unity 是在功能表 [ GameObject > Create Other > Ragdoll ] 開啟對話框。

Root。

Left Hips 左臀部。

Left Knee 左膝。

Left Foot 左腳。

Right Hips 右臀部。

Right Knee 右膝。

Right Foot 右腳。

Left Arm 左手臂。

Left Elbow 左手肘。

Right Arm 右手臂。

Right Elbow 右手肘。

Middle Spine 脊椎。

Head 頭部。

Total Mass 總質量(維持預設值即可)。

Strength 強度(維持預設值即可)。

Flip Forward 正向反轉(維持預設值即可)。

您只需要拖曳不同的 limbs 到布偶精靈 ( Ragdoll Wizard ) 視窗,按下 Create 按鈕後 Unity 將會自動產生所有的碰撞器與 Joints
將 Hierarchy 階層視窗的 soldier > Hips 拖曳到布偶精靈 ( Ragdoll Wizard ) 視窗的 Root 欄位。

 

Left Hips 欄位 < LeftUpLeg
Left Knee 欄位 < LeftLeg
Left Foot 欄位 < LeftFoot
Right Hips 欄位 < RightUpLeg
Right Knee 欄位 < RightLeg
Right Foot 欄位 < RightFoot
Left Arm 欄位 < LeftArm
Left Elbow 欄位 < LeftForeArm
Right Arm 欄位 < RightArm
Right Elbow 欄位 < RightForeArm
Middle Spine 欄位 < Spine
Head 欄位 < Head
Total Mass 維持預設值
Strength 維持預設值
Flip Forward 維持預設值

當 Ragdoll 布偶的所有項目都設定完成後,按下 Create 按鈕。按下 Play 鍵進行測試,您可以看到遊戲角色像是失去意識般的倒下,您可以嘗試在播放模式移動角色,觀察此人物角色的物理效果與真實世界的布偶幾乎相同。

最後將設定完成的布偶儲存為預製物件,執行 [ Assets > Create > Prefab ] ,您將會看到一個新的預製物件出現在 Project 專案視窗,別忘了幫您的預製物件命名!