Gawr Gura 3D建模過程

前言

斷斷續續弄了頗長的一段時間,終於在八月一日的時候公開模型了。原本以為躲過長耳朵大軍的鐵蹄,應該能坐個Nico立體的榜首一兩天,就算沒榜首,也能賴在榜上個三、四天吧……然後Cover就相隔數年的大更新公開的模型,直接被拍死在地上。

當初挑Gura來做是因為他衣服結構相對簡單、配件偏少,沒有麻煩的荷葉邊或絨毛。

以前都只有學、做點不完整的小東西驗證真的會了、能實際應用出來,累積了很多技能但從來沒有完工過;很多東西確信自己能做出來,但沒有成品取信他人,這次就乾脆做一個完整的出來(不過還是有很多瑣碎的地方偷懶啦,反正畫面中也難以察覺)

比例

一開始先做顆頭出來,隨便撇幾筆前髮、側髮。






不用堅持完全照描,畫師不是照相機,繪畫出來的東西一定不是「物理正確」的,另外在正交投影視圖中去描一張有透視壓縮、物體深度變化不為0的圖,「當你100%描對時,得到的東西一定是錯誤的」,這邊錯誤指非完全還原,但在以作品的角度來說,極有可能是很好的結果;總結以上,反正都是錯的,不要糾結對不上設定圖,出來的東西感覺對了就好。順帶一提我是在透視圖中找個合適的距離、聚焦在臉上描的,透視描透視,更容易還原原圖。

角色很重要的頭身,很直接的左右了風格,尤其是多角色同時出現的作品,若沒有注意會造成畫面不協調(有人頭超大之類)

以下公式:身高 = 頭身 * 頭高

自由度為2的式子,同時只能指定兩個參數,若想要比例稍微接近現實,那麼頭高又會被進一步限制(22~24cm),變成比例、身高二選一了。通常是建議「忽略身高設定」,比起那個不太能瞬間目測出、不太有實際價值的數值,比例才是左右觀眾第一眼看到的感覺;而頭高的限制是為了同一畫面下的複數角色間不要出現違和感,預先依照作品風格決定出個範圍。這樣一來,身高的數值便自然產生了,反正只是個數字,設定間出衝突時可以優先捨棄。(比如諾貝塔就是大頭,注意遊戲中的欄杆,是用購買的現成素材非統一風格,就會發現身高設定真的沒啥用)

圖中的方塊和十字空體就是在調整頭身比測量用的。


甘城なつき的畫風來說,就是頭身偏少(大頭),考量到Gura的模型有要與其他角色同框,做了些調整:頭高取23多cm,頭身比比原畫多些,盡量讓身高接近原始設定的141cm;做了一番取捨考量,最終為:130cm(超矮)5.5頭身(設定為5頭身,141cm,另外寫這篇才發現我之前發布的模型忘了做最終的三軸縮放,只有120cm)確定好比例後,就能開始做衣服啦。(身體是很久以前從球雕出來的,我的作品都是基於自製的幾個素體,3D的好處,資源回收)

服飾與頭髮

衣服,一樣雕刻後拓樸,Blender現在的雕刻功能相當完整了,且能和傳統拉點法來回切換,真的好用。


側髮,微調頭髮的外輪廓,頭髮這東西失之毫釐差之千里,有時候只是拉個零點零零幾單位(Blender中,1單位:1m)整體感覺完全不同,多試個幾次截圖挑。

側髮、後髮梢的分布也有個雛型了,後半部頭頂則還沒處理。

做到這發現,前髮有點失衡感,體積的分布不夠均勻,而且髮根處也不好相連,推倒重來。

這次改以從整體分支而非分支結合、先對稱後非對稱細部處理的方式、並且把對稱區和非對稱區分開。

看起來效果不錯,前髮告一段落。

衣服開洞,一樣先對稱後細部處理,分離對稱區。


肚肚~

牙齒、封上

口袋,一樣先雕後拓樸。


更多服裝細節


鞋子,鞋帶用曲線拉成;淺藍區塊原本想用法線貼圖,後來還是決定做出實際的段差。

尾巴粗胚




 骨骼綁定

進入骨骼綁定了,說真的這也是我第一次進綁定流程,以前都只有概念釐清、以及單一或少數功能測試。

首先,為了裙子這種「單純且規律重複」的東西,弄了點程式……沒錯,為了喝杯牛奶,我養了頭牛,但意外發現牛功用真多索性開了牧場。

用程式生成的裙子骨骼,可以自由決定行、列數,以及命名,不但位置連骨骼的區域軸向都幫你設定好了,想想手工一個個排要多久(還不準),如果要改行、列數量之前的都做白工。(有在玩MMD改模的就會知道這能取代大量的程序,生成後手工對齊之類的部分)

不過後面兩張是補截的,調整時不小心選錯東西,有一側的軸向錯了,懶得重弄。

本科毫不相關的情況我去硬嗑了Blender PythonAPI,發現真的好用就一發不可收拾搞了一堆小工具,所有工具都是在從零開始一兩天內達成,真的建議用Blender當工具的人可以多少學一下。

骨架用自定義的一組標準骨架,方便自己的作品都能互通資料(公開的動作數據之類);其骨骼層次參考了很多現成的骨架定義要求(HIKUE4Unity……),確保未來方便使用。

但這次要發布PMXMMD用,自然得去研究MMD那各種奇葩的限制與定義(關於MMD的各種坑我能再碎唸一篇,UV點頂點只能一對一對應是怎樣)MMD骨架我參考了sour的模型稍做調整,做了個符合自己要求的。

先前的Python這邊就很有用了,我先以自定義的骨架做好權重,再用一個小Script,直接轉換成MMD的,含權重轉換一鍵完成。


旁邊散亂的是MMD骨,完整的是自定義骨架。

測試一下,完全沒問題。


MMD物理設定

MMD是用基於Bullet的模擬,以剛體串的運動去帶動骨骼,在Blender中用此addon:完成設定,關於這個介紹能去看我之前的文。

裙子骨骼串間的剛體約束區域軸向,用自製的Script自動設定。


選取所有想修改的軸,執行。

感謝M.Liang為我講解MMD的各種標準,省去了很多資料收集的時間,畢竟我沒有玩過MMD,很多坑和細節完全不知。

裙子能軟點,頭髮把握個要點:會晃就好,頭髮為辨識角色的一大重點,所以不要有太大的變形、點到為止,綁定時也請用一兩個關節就好。


多虧厲害的MMD Tools能簡單設置據說不好做的片狀剛體;片狀比起用球體,會有方向問題,但因為生成時早已處理好軸向,所以這邊不用特別處理也會是正確的排列。

第一次匯出PMX,進MMD套動作無問題;頭髮在稍後的測試也非常好。


UV與貼圖繪製

UV沒啥好說的,想辦法藏縫;衣服照著真實衣物的縫線切,各島塊不拉伸、重要區域面積大點、有些區域展成矩形方便貼圖繪製,對稱部分看需求選擇要疊還是對稱展開。不用說一定要排的多緊密,反正MMD那種材質分法在Draw Call上根本已經放棄治療,有些部分能考量到角色間素材的重複使用,可以單獨給一顆材質(如眼睛)

部分UV


開始畫貼圖啦,我沒有電繪板所以從頭到尾都是滑鼠完成(模型雕刻也是),痛苦。

後髮Base Color


還好我想要的是盡量符合PBR的規範,「貼圖僅記錄表面性質,不加入光照結果」,這前提下上色就要簡單乾淨;另外關於PBR到底是什麼有空我再開一篇,很多人誤會有法線貼圖=PBR,這是錯的,法線貼圖比PBR早出生十幾年有(法線貼圖:1996PBR2012)PBR規範與法線貼圖毫無關係。

頭部Base Color展示(眼睛亮點暫時對稱的,畫完再調)

表情

接下來是表情,採用Blend ShapeBlender中叫Shape Key,反正是一樣的東西(基於拓樸與頂點順序的變形)

簡單做幾個基本的

尖牙


ドヤ

成品

最後來幾張圖吧

A


Sen式角度

無光影


後記

雖然看起來好像是順序做下來的,其實個步驟間都有部分是同時進行的;因為、我會膩……對就是這原因。做3D有一個順序,稱為單向流程(破壞性),比如ABC,在C時想改ABC就只能捨棄,部分原因是會有資料的丟失;如果能夠理解抽象後(比如權重)的各東西背後的資料(骨骼物件陣列、相應的歸一化比例分布陣列),就能無視很多限制。畢竟程式的背後就是在算數,人再賦予它意義並以不同的方法處理與呈現。

撇除「沒有模型你要拿啥展UV」這種理所當然的情況,如果能夠處理背後的資料,你就能在各階段間想辦法保留與傳輸正確的資料到對的地方,這樣就能辦到一定程度的無視順序了。

至於把所有步驟、關係都記錄下來的非破壞性流程,能做到ABC中改ABC直接做出相應的變化,有機會再提,想先體驗的人可以去玩BlenderGeometry Node

最後,歡迎來FB點讚和追隨推特

FB:Rayxium.0

推特:@Rayxium_

想要看這模型動起來的可以到Kanauru頻道觀看(我不是動畫作者喔)



想玩日系ACG相關3D的可以私訊我加DC群,不過活躍人數很少,而且大部分時間在閒聊……不算簡單很多人三分鐘熱度就跑了,求人教我與環境光弱相關(比如眼睛)的上色ww,我能教3D

最後貼個教學成果,學生的作品、黑歷史與現在的比較www。

黑歷史(避免傷眼用超連結好了)

現在




留言

這個網誌中的熱門文章

人物建模初學(二) VRoid自動拓樸工具