把遊戲角色做到引擎裡,總共分幾步?

櫻花兔發表於2021-01-21
通常來說,一個角色模型的實現流程應該是以下幾個步驟:

三檢視原畫 → 原型模型 → 高精度模型 → 拓撲低模 → UV拆分 → 烘焙貼圖 → 繪製貼圖 → 繫結蒙皮 → 骨骼動畫頂點動畫 →引擎中的shader → 引擎中的渲染 → 引擎中的實時物理 → 動畫套用以及動畫機 → 角色控制器或者AI實現→ 特效,語音,音效等等。

數了數,差不多應該是這麼15個流程,過程可能繁瑣,但是對於一個遊戲中的角色,她最終展示的地方,就是在你的遊戲引擎裡面。所以,前期的一系列的繁瑣的操作都是為了最終的產品實現效果。

但是,整個環節持續的時間會比較長,同時又因為都是串聯的操作,所以上面所說的每一個必經步驟都很重要,如果其中一個步驟錯了,或者某個步驟的品質下降了,那都會返工和直觀的影響到最終產品呈現。

把遊戲角色做到引擎裡,總共分幾步?

這次我主要說一下前期美術的部分,所以根據剛才的那十來個步驟,感覺其實可以統一劃分一下,精簡許多:

原畫 → 模型 → 動畫 → 渲染

把遊戲角色做到引擎裡,總共分幾步?

通過自己的實踐,得出了一些心得。首先,在開始製作前,先制定一些約定,有一些常規的約定就不說啦,比如模型的頂點數,貼圖的尺寸,數量,骨骼的數量啊這些的,我想說的可能是這些:

這個遊戲的角色,我是希望能夠滿足人形骨骼的,因為這個關係到後續AI實現上,因為人形骨骼有個很大的好處,就是可以利用動捕裝置或者區間動畫庫,很快速地就能製作出一套品質很不錯的動畫用在控制器或者AI上。

在角色的一些材質效果製作上,也是需要提前想好的,因為實現這些效果,肯定是需要這個模型的UV,佈線,貼圖等一些前期工序一起配合的,如果等模型和動畫都做完了,再去思考一些效果的話,那肯定會造成返工的,為了避免這些事情發生,最好把這些效果都提前想清楚哦~

在角色的一些物理效果上,有些部件需要做物理解算的,都需要單獨的分開,這些都需要先思考清楚哦。

所以有了這些約定後,接下來的步驟就需要根據這些約定開始實現。

原畫

為了保證整個流程的暢通,原畫作為邁出的第一步非常重要,肯定不能瞎畫,我說的瞎畫,是指對於後續流程會產生一些影響的結構或者效果,比如在畫的時候需要考慮到後續流程上的點:

模型方面:需要為接下來模型製作思考,比如我畫的哪些結構,建模實現起來非常的困難?拓撲低模的時候這個結構很難佈線?

動畫方面:同樣的,也需要為接下來動畫實現思考,哪些位置動畫在繫結起來會很麻煩?哪些結構會破壞人形骨骼結構?

Shader方面:然後,需要為接下來的shader實現思考,我畫的這個材質效果,shader實現的代價大不大?效能如何?材質的分類?有木有特殊效果?一個pass能不能實現還是需要多個pass?

物理方面:需要思考哪些結構需要模擬運算?如何運動?

帶著這些問題再來畫的話,那後續的工作環節就會順利很多。

小技巧:在畫人體的時候,可以藉助三維軟體的輔助繪畫哦,這樣能夠更加效率,同時保證結構,透視關係的正確性。

把遊戲角色做到引擎裡,總共分幾步?

模型

接下來,在製作模型的工序上,同樣也是需要思考後續的流程,模型也不能亂建,UV、佈線、材質分類都需要想好。模型是最關鍵的一環,因為模型到渲染中間隔著一個動畫,渲染出現問題,那都會造成模型和動畫的返工。

貼圖方面:在製作模型的時候同樣的,也需要為接下繪製貼圖考慮,哪些結構能夠共用UV?貼圖的畫素能夠最大化的利用?哪些部件是需要帶Alpha?

動畫方面:需要考慮面部製作blendshape,模型需要如何的分UV?還有身體的哪些結構需要製作動畫,如何給佈線會讓模型的繫結更加的自然?

Shader方面:需要為接下來的shader實現思考如何擺放UV來實現一些特殊效果?還有給模型材質劃分的時候,哪些材質需要單獨分開?

物理方面:同樣的,需要思考好合理的佈線,讓模擬的效果更加自然。

在製作模型的時候,如果能夠提前考慮到後面的一些工序的話,並把這些都鋪好,那肯定會最大程度的避免返工。

小技巧:在ZB或者別的軟體中繪製高模的時候,像一些細小的Detail紋理是不需要在高模上體現的,因為把這些小結構直接烘焙成貼圖時,受解析度限制下,效果是很差的,這些效果最好是在shader中用Mask ID做劃分,靠Detail Map疊加就好了,不要出現在主貼圖中。

把遊戲角色做到引擎裡,總共分幾步?

直接在shader裡疊Detail的話,這樣是最明智的選擇。

把遊戲角色做到引擎裡,總共分幾步?

動畫

這個時候模型在繫結的時候,最好是先直接將檔案一個一個的匯出成obj格式的檔案,再一個一個的匯入到動畫軟體中,這樣能最大程度的確保模型的純淨度,然後再檢查一遍模型,包括模型的法線朝向,檔案的層,還有材質球的分配,看看有沒有什麼問題,如果這些都沒有問題了,那再開始對模型繫結。

在繫結的時候,骨骼的位置非常關鍵,每個的位置都代表了每個關節在運動的時候是否自然,非常關鍵。我又重複了一遍,舉個例子,如果在蒙皮權重已經OK的情況下,發現骨骼位置有問題,那將是一件非常麻煩的事情。

小技巧:像Hip骨骼的點位,就在屁股的中心,想要運動起來自然,骨骼點位必須精準哦,不然使用動捕或者套用別的動畫的時候,動畫會變形的哦…

把遊戲角色做到引擎裡,總共分幾步?

到了這一步了,那就離成品更加近了,但是同樣的,也不能夠掉以輕心。同樣的,在製作的時候也需要帶著幾個問題:

模型方面:需要再次檢查一下,確保模型的法線方向都正常,軟硬邊都正常,模型的部件和材質都分類正確了,需要做blendshape的部件已經combine好了,材質和命名都已OK。

動畫方面:需要思考我接下來的這個骨骼搭建是否符合引擎裡的humanoid要求。

Shader方面:再次確認一下想要做效果的結構是否已經拆好了?

物理方面:需要思考哪些部分的模擬是用骨骼,哪些部分是想用頂點。

OK,到這裡就完成了引擎前的所有工作,接下來就將整套模型貼圖,匯入到引擎中了,將所有的前期準備都組合起來。

小技巧:在刷蒙皮權重的時候,是可以在蒙皮軟體和引擎裡面來回測試效果的,當整個角色套上動畫後,是很容易就發現問題的,比如下面這圖,運動起來我就發現肩胛骨在達到一定角度後,頂點權重不夠平滑,形成了毛刺。

把遊戲角色做到引擎裡,總共分幾步?

渲染

因為之前已經制定好了這些約定,接下來的話,實現就很輕鬆,shader這一塊的話,因為之前在製作模型的時候,已經將材質都按組分割好了,只需要為分割好的部件單獨設定材質或者製作材質就好,動畫適配這塊,因為已經制定好了人形骨骼標準,可以直接適配Unity的humanoid,這樣的話就省去了很多動畫上的製作時間,同時嘞,也可以適配動作捕捉的,大大的減少了工作量,如果製作的blendshape也滿足ARKit命名的話,那也可以直接面部捕捉,直接輸出面部BS動畫。

小技巧:如果你是使用Advanced Skeleton進行繫結的話,匯入Unity大概率Scapula和Shoulder節點會識別錯位,這個在humanoid介面手動調整一下就好。

把遊戲角色做到引擎裡,總共分幾步?

我總結一下,剛才說到的角色流程,原畫到模型再到動畫最終到渲染的實現最好是以結果為導向的製作方式,反推回來,思考一下達到這個結果,我需要在這個環節如何做,那就按照這個來製作。同時,最好是能夠了解整個製作的流程,這樣就能在這一環節的製作中,思考一下下個步驟的工作內容,有哪些需要我這一環節注意的。
把遊戲角色做到引擎裡,總共分幾步?


作者:櫻花兔
來源:Unity官方平臺


相關文章