主題

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

Rayxium | 2021-02-23 19:58:20 | 巴幣 108 | 人氣 238

人物建模初學(二)


VRoid自動拓樸工具

2021/02/20

VRoid版本目前已知只支援0.7.0 下個工具版本將會改成支援0.13.1,並加入自定義VRoid標準模型的Input 02/25補充

前言

  接續前一篇,更詳細說下粗略的過程。採用「頭部完全自製、身體使用素材」的方式。這篇先提身體從哪弄來。

另外我做了一個工具,可以幫助新手快速取得良好布線的素體。下載方法在最下面。

VRoid匯出素體

  開啟VRoid後,直接選這個新增一個模型:


  進入後,頭部與模型以外的(貼圖之類)一切調整全部無視,也不要有衣服、頭髮,只調整身體比例相關的部分;但也請不要花太多時間去微調,身高、手腳長度、胸部大小等就差不多了,腰身、臀寬與大腿內側粗細等部分,因為軟體提供的參數不好弄,匯出調吧不要浪費時間,在其他軟體中的編輯才是主要的,這邊主要就是提供一個有骨骼、肌肉凹凸細節的模型。另外,直接輸入數值能夠突破拉桿上限,可以試試。

調整完成,開始匯出。先到「衣裝編輯」這邊如圖順序調整:


  圖中最後一格是選擇著襪的意思,模型上有變化但貼圖仍是皮膚,如前所述:不要管貼圖。記好選了裸足還是著襪,工具中得勾選。

匯出畫面:

  存檔副檔名改成「glb」,VRM檔其實就是GLB改個副檔名而已,是一種頗新的3D檔案格式,目標是希望成為「3D中的JPG」這種地位,有興趣可去看看:https://en.wikipedia.org/wiki/GlTF。

重新布線(重拓樸 Retopology)

  布線在動畫上是很重要的,關係到動畫的變形是否正常,以後再說;編輯上、良好的的布線也能增進效率。

VRoid匯出的模型是三角面化的,難以加工,三角面與四邊面的差異如下:


  這圖是細分模型後的結果,當你要透過細分增加面數時,三角面難以判斷模型的「邊流(loop)」便會產生這種結果,手工調整時,選取邊流也是很重要的,另外邊流如果能順著人體表面的凹凸走,也能減少不良的陰影、省下大量面數。

  主流的3D軟體都有重拓樸的功能,就是「在原始模型表面上建模」;選取一個原始模型,創建的點線面都會吸附在原始模型上,達到「同樣(近似)形狀不同布線」的目的。不過邊流的判斷很注重大量經驗,另外傷神耗時,不建議一開始就花精力搞這個,所以我先幫拓完做了以下工具:

Houdini與自動重拓樸工具

  這個工具是用「Houdini」這款軟體製做的,要使用的話請下載此軟體;他有免費授權可以使用,功能同完整版,除了禁止商業用途等授權差異,輸出圖檔有水印及解析度上限、以及匯出的檔案格式也有限制。

詳細的規定與差異:Compare | SideFX

本文下面會提一下這個軟體的來頭,有興趣的可以稍微看看。

  安裝完取得免費的授權,開啟軟體。左上角Asset>Install Asset library …,找到.hdanc檔(工具),這個檔案Install後不能隨便移動,請放固定位置,兩個下拉選項代表是否僅安裝在此HIP檔(是不是只有這個存檔能使用這工具,免費版為HIPNC檔)。




  游標移到右下按「tab」輸入「geo」按兩下enter放下一個「Geometry」節點(geo1, Geometry node),雙擊進入。


  進入後,一樣方式叫出「GLFT」節點、點一下節點中間(要設定節點參數時都是單擊其節點中間),輸入路徑,其他設定如圖:


  叫出「VRoid_Quad」(工具)、「ROP Geometry Output」節點,如圖連接,並依照圖片順序點擊藍色按鈕、單擊ROP Geometry Output節點中間,設定匯出資訊並匯出;由於免費版本限制,只能匯出OBJ檔。這樣就獲得了一個布線乾淨的四邊面素體,可丟去其他軟體調整身體、製做頭部與衣物了。


其他功能

  使用綁定網格:暫不詳細解釋,簡單說就是對VR匯出的原始模型擺姿勢並接到第三個接口(input2, input0一定要接上無動作T-Pose的模),給出的重拓樸結果會變成input2輸入的動作。

  使用範例拓樸:工具內建一種拓樸供使用,取消的話要提供一組範例模型接在第二個接口(input1);未來想要自製的拓樸可用這個。
範例模型限制:開啟VRoid新增角色後,不調整任何數值,匯出時同上面提過的設定,然後對此模型重新拓樸,換句話說就是要準備和此形狀近似的模型。
這個布線是基於MakeHuman的模型做點極小的修改,其匯出的模型是CC0的。
( 原句:the exported models end up being licensed CC0 (Creative Commons Zero))

  是否著襪:VR中的選項,照設定實填。

  原始網格細分次數:保持1即可。

  方向校正:input0的模型在「Y朝上的右手座標系」中、要求正面與+Z軸同朝向,VR匯出不做任何動作會是正面朝-Z,故預設一個Y軸180度旋轉。

關於Houdini

  Houdini這軟體可說是CG中最難入門與上限最高的軟體,通常用於MG與特效(煙霧、火焰、爆炸、破碎……),特色是節點式的操作邏輯,一切操作都是基於節點連接的,和大多軟體的「命令式」操作不同。

  舉例來說「A物件中心移動到B物件中心」,在命令式軟體中大概就會是選A、選B,下命令,物件移動,結束,命令結束後A、B就無關係了,B移動,A也不會跟著走;
當你想要做到「A物件中心移動到B物件中心X方向+2單位」這事時,這個命令沒有做給你調的地方,這命令就做不到。

  點式中的邏輯會是B連到x節點「取得中心位置」,然後將這個值連到A的位置設定,讓A移動 ;要做到「A物件中心移動到B物件中心X方向+2單位」,只要把取到的B中心值X,+2後傳給A就好:

A位置(x, y, z) = B位置(a+2, b, c)

再繼續拓展就是,你想傳什麼值進去都行,只要你取得到數據,例如顏色:「A物件中心移動到B物件中心,且當B變越紅(係數R),A就沿+X離B越遠」,關係如下:

A位置(x, y, z) = B位置(a + R, b, c)

  還有個重點,這種關係是非破壞性的,關係確定後B移動A也會依照設定跟著做相應改變。另外Houdini以外的軟體也可能會有節點界面能做到這些事,不過通常只有部分模塊,沒有那麼全面。

  Blender數年前就宣布以後會把軟體改造成這種純節點式,2.8後的版本更是漸漸把模塊改造成節點,最近的2.92就提供了變形器的節點化,未來趨勢。

工具下載

  下載採記名制,到以下網址填入暱稱、電子郵件、語言(中文/日本語/English),我看到就會寄給你了,三天沒收到就私訊給我。


※The English version is still being translated. ※日本語バージョンはまだ準備中

最後貼點宣傳,雖然剛開始還沒東西但進去幫我點個讚吧,以後會漸漸貼點東西上去的:Facebook PixivID=6805122

2021/02/20

創作回應

更多創作