如何將MagicaVoxel模型導入UE4中(2)

  • 2020 年 4 月 10 日
  • 筆記

前言

當可以把MagicaVoxel的靜態模型導入到UE4後,我又開始不滿足了。默認第三人稱藍圖的「汽車碰撞人偶(霧)」與場景中的體素畫風格格不入,於是,我便想着用自己建造的體素畫風人物創建一個第三人稱藍圖,於是我又再次進行了嘗試(誰叫UE4的MarketPlace裏面沒有像Unity那樣友好的插件呢)。

在開始之前,先說明一下我使用的工具:MagicaVoxel,Maya2018(其實我也不想用,但是某些骨骼處理上還是Maya具有很強的優勢。Blender應該也可以,不過我並沒有找到相關解決方法,如果各位園友願意提供相關方法的話,歡迎在評論區留言),Mixamo,UnrealEditor 4.20.3(其中的某些設置選項,以及藍圖節點的接口可能與高版本的UnrealEditor略有不同,具體變動以官方更新文檔為準)

正文

Mixamo是「一個逗比」(Adobe)旗下的免費在線骨骼綁定與骨骼動畫製作平台,是我們這次建立模型骨骼動畫的主要工具,網址為www.mixamo.com,在使用Mixamo之前,請先註冊一個Adobe賬號,登錄Mixamo之後便可以使用。

1.模型建立

建立人物模型時,請將人物模型保持雙臂展開的T型,如下圖所示:(無意冒犯,只是隨手一做,看着像是加了精神感應骨架和報喪女妖天線的初期型吉姆(狗頭))

(很醜,請無視)
Mixamo的骨骼綁定只適合初始姿態為T型的人物模型,所以,請務必這樣建模。
在建模完成後,請將模型導出為obj格式的模型,以便我們接下來的修改與上傳。在導出完成後我們可以在相應路徑下看到這樣三個文件:

接下來請打開Maya,此時在「窗口」(Window)選項卡點選「設置/首選項」(settings/preference),再次選擇「首選項」(preference),點擊「設置」(settings),如下請將上方向軸點選為z:

由於UE4的上方向軸為z軸,而Maya默認為y,請將兩者同步。
然後新建一個場景,將MagicaVoxel導出的obj文件拖入場景內,在MagicaVoxel中,建模原點並沒有位於模型內部,並且導入到Maya後會出現這種情況:

此時請選擇「修改」(modify)選項卡中的「居中樞軸」(前提條件:請先選中模型),這樣有利於接下來的操作,然後進行旋轉,平移,放大操作,放大操作極為重要,因為MagicaVoxel生成的模型放在任何3d環境中都是極其小的(即使UE4中也一樣),如果不進行放大,綁定骨骼後的所有骨骼節點幾乎會重合在一起,不利於之後的操作,請務必進行放大(給一個放大倍數參考值:23~25之間即可),處理好後,將其導出為obj格式,注意不要和原先的obj文件搞混,建議分開存放。
這時請將由Maya導出的三個文件打包成zip格式的壓縮包,以方便我們上傳到Mixamo。

2.Mixamo骨骼綁定與人物動畫製作

首先,請打開給出的Mixamo鏈接,接下來的上傳步驟我不再詳述,只要稍微會點英文就不愁看不懂如何操作(笑),在上傳中可能會發現上傳的模型一片黑色,不用擔心這個問題,我們只要按照正常步驟進行即可,在綁定步驟完畢後,請先不要着急點選旁邊窗口的動畫效果,請先下載綁定好骨骼的T型模型:

這姿勢真糟糕,但是我們可以看到骨骼綁定很成功:

下載的format請選擇fbx格式,姿勢就選擇T-Pose,下載即可,接下來再選擇你喜歡的idle,running動畫各一個進行下載(請在動畫權重頁勾選InPlace選項),注意下載時skin選擇without skin(即不包含模型)選項,並且記住每一個動畫的總幀數,建議將幀數寫在文件名里,後面的操作要用。

3.骨骼動畫處理

好了,接下來將所有的工作交由Maya完成,請新建一個場景,先將下載來的人物T型fbx文件拖入場景內,選擇模型後按H鍵隱藏模型,我們只對骨骼進行操作,然後點擊裝備(官漢版這糟糕的翻譯,英文版對應Rigging)中的新建骨骼節點圖標,在場景平面上隨意點擊一處後生成一個骨骼節點(此時請將鼠標選項改為選擇),請將其名稱設置為Root(三個fbx模型的此節點名必須一致),並將其平移屬性設置為0,0,0(接下來的兩個動畫也是這樣的操作),半徑可以調大一點,以保證操作便捷。
然後請點擊骨骼的Hips節點,同時長按shift鍵再選中我們創建的Root節點,此時,按下p鍵實現綁定,如下圖示:

綁定成功後,請導出成fbx格式,同命覆蓋掉原先的fbx文件。接下來請對已下載的其他兩個動畫fbx文件進行同樣的骨骼綁定操作,同樣導出為fbx格式,不過導出前請將動畫結束時間設置為動畫的幀數(第二步結尾讓各位記住的每個動畫的幀數)。如下:

兩個空都填成動畫的總幀數。在以上所有處理工作都做完後,接下來便是將這三個資源全部導入到UE4中

4.資源導入

請先將T型模型導入UE4中,按如下圖的設置進行導入:

接下來再導入其餘兩個動畫文件即可(導入時請將骨骼選擇為T型模型的骨骼),導入完成後會是如下所示:

其中那個T-Pose.png文件並不是默認導入後生成的文件,那是我後加的,因為在導入模型時,UE4沒有正確導入材質的貼圖文件,模型是「毫無生機」的白色,於是我將原先obj裏面的貼圖導入材質球後便正常了。打開導入成功後的模型,會發現模型的樣子慘不忍睹,像是橡皮糖一樣的感覺(當然如果你喜歡這種Q彈的感覺請無視掉即可(笑)),這時請將材質球里的光澤度以及粗糙度分辨設置為0和1即可。
接下來就是創建動畫藍圖以及第三人稱藍圖了。

5.藍圖創立

請在UE4的內容瀏覽器里新建動畫藍圖,父類選擇AnimInstance(動畫實例),骨架選擇導入模型自動生成的骨架示例。接下來請新建一個「混合空間1D」,選擇同樣的骨架即可,接下來按如下圖在混合空間編輯器中進行操作:

接下來請按如圖的連接方式鏈接動畫藍圖裡事件圖表的節點:

動畫藍圖裡的動畫圖表按如下設置:

接下來就是創建相關的第三人稱藍圖,這部分不做敘述。創建成功的效果如下所示:

結束語

目前來說,MagicaVoxel的模型導入進UE4中難度較大的一個部分:將其創建為一個可操縱人物已經被攻克,後來我又具體觀察了一下模型細節,被Mixamo綁骨魔改後的模型在有些地方已經沒有體素模型的感覺了,比如肩部與胯部最為明顯,在相關的討論區詢問了一些這方面的遊戲開發大佬,他們一般都是將人物模型分成幾個部分,再拼接起來放到Maya或Blender里進行綁骨,看來如果想要達到完美的成果,還是有很長的路要走啊(程序猿在TA的道路上越走越遠(笑))。
如果各位對於以上步驟中(尤其是綁骨的那一部分)還有疑問,可以去翻看一下一個B站的這個視頻:(https://www.bilibili.com/video/BV1Zp411d7E4),up講的很細而且沒有多餘的話,部分東西我也是從他這裏面學的,非常推薦大家觀看。
碼了這麼多字,咱也就不求各位「點贊收藏加推薦」了,只求各位轉載的時候註明出處即可,也希望咱的文章可以幫助到更多的小夥伴們,どうもありがとうございました!(都摸,阿里嘎多靠薩依瑪希大!)