LV. 15
GP 30

【心得】Blender輸出模型至Unity微心得(11/16被GP叫來更新

樓主 空空雨落 kennussu
GP41 BP-
雖然不知道有多少人跟我一樣為了遊戲的美腿美感去自學Blender,但我還是分享一下Blender出模型到Unity的些許心得,讓初學如當初的我的朋友可以少走一些彎路。也希望如果有大神撥冗看完,能幫忙指出更好的東西啦~

本文按照做模型的順序,模型(Modeling)材質(Texture)骨架(Rigging)動畫(Animation)進行。

(版本Unity 5.6.5(為了32bit) / Blender 2.79)


一、模型(Modeling)

tip 1. 在Unity使用Shape Key
ShapeKey可以在 SkinnedMeshRenderer 的 BlendShapes 裡面調整,Code 用
SetBlendShapeWeight 可以設定。
當我知道之前,我還把shapekey綁Armature上透過骨頭用動畫分層疊加控制變形,
後來一看到這個版面真是驚為天人。
(使用說明詳4樓)
================== 11/16 微幅更新 =========================
(1) Blender Shape Key 使用限制 (不符合 BlendShape 不會出現)
要能夠出現上面的List,物體在輸出時不能還掛有任何「會影響頂點」的Modifier
如SubdivisionSurface、Solidfy,不然無法使用該物體的 ShapeKey
想想也有道理,畢竟是 Blender 的 Modifier 不是Unity的,
要解決必須把上述那些 Modifier 都 Apply,同時會因為卡到 Shape Key 而告訴你無法 Apply
所以就必須...大概只能,把 Shape Key 砍掉,把 Modifier Apply 後重做Shape Key... 崩╰(〒皿〒)╯潰
要不就放棄那些 Modifier 的效果直接砍掉 Modifier,不過不管哪個都hen不便...QQ

(2) Animator Lock v.s. Script
後來需要用script保持某些值,同時用animator執行部分值的動畫,就衝突了
只要Animator任何一層任何一個動畫調整了眾多blendshape中的任何一個,整個物體全部的blendshape都會被鎖死,無法透過Script調整,Google一下發現這是積年陳疾,放進Animator的所有Property都會被鎖死無法透過外部修改(BlendShape只是眾多被鎖的受害者之一)
看了一下要不用LaterUpdate()覆寫,要不在用不到時Animator.enabled = false,或是取消Write default,總之限制很多,好像也不太好使...還要再研究研究

tip 2. 慎用SubdivisionSurface
慎用SubdivisionSurface,Unity單一物體節點數有上限65,000,切太細import後會被強制分割
(聽說更高版本好像沒這限制了)。
不過大概只有我這種新手才會傻傻的跟著教學切到3層以上...按下Apply就回不去惹...
總之我是重做了哈哈。記得遊戲Mesh越簡單越好呦^.<

tip 3. 手先舉著! (09/06更新
模型建議以T Pose,也就是雙手平舉(雙腳不併攏自然站立)的姿勢製作,
像上圖跟著教學做了手垂下了的,
到時候綁完骨架手一抬,腋下密密麻麻黏成一片,整個悲劇

tip 4. 不做細模
Mesh盡量簡化,把細節給Texture貼圖處理,像是衣服簍空、花邊、平面上的綁帶等等,
大概可以節省效能(不過花邊Shader要能透明)。

二、材質(Texture)

tip 1. 紅潤變化
不用畫/Bake陰影,頂多做膚色紅潤變化而已。

tip 2. 大腿內側比較看不到(應該?
切UV別切太碎,線越少越好,當初傻傻亂切,一要畫衣服就重切了XD
另外可以把邊留在大腿內側,UV圖接縫有色差也看不太到哈哈
(膝蓋佈線不良示範請勿模仿

tip 3. 對稱做UV,省工又省時
善用MirrorModifier,UV圖可以少畫一半哈哈...嗚嗚,每次畫衣物都被左右接點搞半天...

tip 4. 不玩Blender的光影啦,帶不進Unity啊
Blender可以把模型渲染得像立繪等級,但在Blender光影渲染得很漂亮也沒用,放到Unity通通不見,還不如去研究Shader(以Unity為導向的話啦)。

三、骨架(Rigging)

Q 1.
「Mesh Deform」很好用,貼身衣物都不用怕跟身體重疊了,但...Blender沒輸出這個Unity也不能用,找了半天,還是乖乖做一堆骨頭去綁長裙布條之類的...大概是可以放棄它了

tip 1. 用骨頭做動畫
綁骨架這邊很簡單,Unity認Armature,做動畫雖然方式很多,但以Armature製作不怎麼會出問題。

tip 2. 骨架早點定
但如果要做換裝系統的話,骨架的設定就非常重要,因為換裝(其實最簡單的就是生成Mesh再set bones)基本認定同一個骨架,多一根或某根長度不同都不行(應該)
就像某聊天群裡「一顆金丹定大道」、「金丹無悔」,先確定好模型需求,再來大量作配件。

tip 3. 連IK骨別縮放 (09/14:原本以為骨架很簡單,後來發現簡單的是我
與「帶有IK的骨頭」相連的骨頭別縮放,不然「帶有IK的骨頭」會各種角度扭給你看
舉例來說,她小腿有IK,又被我Scale Z大腿拉了個大長腿 (大概4醬:

結果一轉到腿就各種扭(下兩張腳骨Blender看都沒動,一放Unity...

經過整整一周的試誤比對交叉分析,試過Apply Scale(Ctrl + A) 骨架、試過原始Scale輸出
再於Unity Additive縮放動畫,總是有大大小小的問題,最後總結,要Scale徹底歸零
把Scale都Apply(Object Mode),再Apply Pose as Rest Pose(Pose Mode)才能解決問題。
(調整長腿位置的動畫用了快1週,結果被上面的問題忙了1週,Apply後跑掉又要調整動畫位置....
時間怎過這麼快勒......

PS. 後來套骨架套不了Humanoid才發現,大概4因為腳掌設計了比較複雜的IK結果Transform不在小腿底下,才造成小腿跟腳掌亂飛的問題><

四、動畫(Animation)

tip 1. 動畫0幀別空白
動畫千萬要從 frame 0 開始做,當初跟著別的教學從 frame 1 開始,結果在Unity 動畫 Clips裡通通看不到,找答案就花了一天...

tip 2. 動畫拉出去存,分類管理
當我把一堆動畫(近30個)作在一個檔,import進Unity後一apply就crash,後來分成幾個只有基本骨架的檔,import再複製動畫出去,存動畫的FBX就可以刪了。

Q 2.
話說我RootMotion怎麼做出來一直看不懂那些英文的長篇大論,不知道有沒有此道高手能教一下。

tip 3. 7.4 binary讚
輸出就用 FBX 7.4 binary,相性最好,直接丟blander檔也行,不過shape key就會失效(如果存有影響節點的Modifier的話)。

tip 4. Unity Additive 看 delta (09/14)
最近嘗試用Additive Layer做換裝平底鞋、高跟鞋(墊腳)的姿勢,發現動畫不能直接放墊腳姿勢,
要從沒墊到有墊,Additive Layer才會把過程表現出來。
(後來因為能互相套用,我就把頭髮、尾巴、翅膀的動畫都獨立拉出來放Additive了,
求高人指點是否合適)

小結一下這個做重大決定的順序:

T Pose起手 → 低網格製模(細節、平面配件不做) →  確定模型不再增減Vertex,存檔備份,Apply必要Modifier,再做Shpae Key(需要Shape key 再 Apply)
確定骨架不變 → 再製作可替換裝備

以上幾點,算是下班空閒摸blender的半路自學者,給不知道存不存在的同樣半路自學Blender的參考,有問題或指教歡迎提出,感謝閱讀。

41
-
未登入的勇者,要加入討論嗎?
板務人員:

209 筆精華,10/02 更新
一個月內新增 2
歡迎加入共同維護。


face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】