Not just a pretty game— 遊戲中,最美的風景是人?
3D 遊戲角色的生成與他們畫龍點睛的小細節
在寫這系列文章的時候,我稍微對身邊朋友做了一些田野調查,發現遊戲角色這個主題呼聲意外地高。雖然我本身對於這一環相對薄弱,但畢竟我給這系列文章的定位是偏向科普及引導興趣路線,所以應該還招架得住。
今天就來談談要創造出一個精緻的 3D 角色,開發者要下多少功夫吧!
這次說明要用的例子,就是巫師三 The Witcher 3 這個遊戲裡的葉妮芙 Yennefer 。我在 youtube 搜尋 “ best looking game character ” 時,出來的第一個影片的第一名就是她!不認識也沒有關係,你只要知道她是擄獲許多肥宅的心的虛擬人物就可以 ( 我也是覺得美,肥宅 +1 )。
以下介紹的 3D 角色創造流程大致分成五個階段:概念圖,建模,上色,綁定骨骼,及動畫製作。
- Concept Art 概念圖
每個非雜魚角色,在進入3D建模之前,都會先有concept art ( 我自己會成翻概念圖,網路上又翻 “概念藝術” )。這一階段,是每個大製作的遊戲必經的。不只在角色身上,地貌及建築這種環境或場景也會需要 concept art。在所有的內容都還在發想階段的時候, concept artist 依照發想團隊的討論,努力把大家想像中的場景給圖像化出來,這樣之後建模師還有負責模型上色的繪圖師才有足夠精確的目標。概念圖並不需要非常精細,甚至常常概念圖中都還看得見筆觸,但是意象跟氣氛的傳達卻非常到位
2. Modeling 建模
有了想像中的樣子,就可以給建模師來拉 3D 模型了!建模的軟體百百種,而且有各自的擁護者,我今天就用屬一屬二常見的組合當例子。 自從離開學校我已經多年沒有拉模型,當年學校使用的 Autodesk Maya 到現在在遊戲業界仍然炙手可熱。它是功能廣泛,且各方面表現都滿好的 3D 軟體。
Maya 建模的方式是將物體表面用一片一片多邊形 ( polygon ) 連接起來,就像你在上圖中右邊看到的那樣。這種方式會被遊戲業青睞是因為,一個知道自己在幹嘛的 artist ,用它建出來的成品一定是相較複雜度低的模型 ( 不代表精緻度低,雕塑型的軟體建出來的模型會複雜精細很多,下段會再多做說明 ) 。這樣的模型在遊戲中使用起來才有效率,不佔用太多資源。 我記得當時在學校,大家都還菜到不行的時候,就有發生過模型複雜到不僅遊戲跑不起來,有時候連拖進遊戲引擎裡都會有當機的情形發生。
但是要如何做到精緻卻不複雜呢?其實在 Maya 建立簡易版模型時,比較講究的開發者會使用雕塑型 (sculpting) 的建模軟體 Zbrush 來互相配合。
在 Zbrush 裡面創作,就好像在現實生活中雕塑黏土一樣。不僅跟現實生活經驗貼近,也不需要用電腦的角度來思考這些構成形狀的 點(vertex) / 線(edge) / 面(polygon)。然而你不用受苦,是因為有人替你受了苦。電腦實際上默默的在背後幫你建構了數以千萬計,甚至更多的點來幫你紀錄模型的形狀。
在 Zbrush 完成的模型上所有的細節,會從 Zbrush 匯出並在 Maya 中投射到簡易版模型上。事實上簡易版模型也可以由 Zbrush 的雕塑模型生成,但也有像上面範例影片中這樣,貼合著雕塑模型在 Maya 中創造簡易模型的做法。不管兩者是如何互相配合,一個可以在遊戲中使用的模型就是這樣完成的!(累。)
3. Texturing 紋理與上色
光有模型沒有上色,Yennefer 離女神還差了一大步。是的,接下來又要將模型交給另一位專門上色的 texture artist 了。這一個步驟非常的直白,大家可以想像噴漆,以及幫公仔塗色的過程。在這個過程中,artist通常是在 Maya 中看著 3D 模型完成的。(或其他專門的軟體,如 Substance )
但是在儲存時,電腦是以 2D 圖片的方式儲存。至於要怎麼在 2D / 3D 不同的格式間轉換,這其中其實我略過了一個重要的步驟沒有說明,就是 UV unwrapping,考慮到篇幅,有機會我再回來細說。到這一步,我們的 2D 的 Yennefer 會長得像這樣:
應該沒有嚇哭吧?沒有的話就繼續下一個步驟囉!
4. Rigging 綁定骨骼
上好色的模型如果不會動,就像一個芭比娃娃一樣,不過是皮囊。如果要讓模型動起來,一個非常重要的前置作業就是賦予角色骨架。負責這一步驟的 Rigger 會定義一支一支不可伸縮或變形的骨頭,以可活動旋轉的關節將骨頭連接在一起,並且讓皮膚 ( 模型表面,可以是衣服的部分 ) 跟著這些關節移動或旋轉。這樣已經足夠構成一個最基本的 “ rig ”。
然而想讓模型跟著關節一起移動並沒有想像中這麼單純美好,如果沒有使用特殊套件輔助,通常都會需要調整各部位跟鄰近骨頭的權重,稱作 Skin weight painting。調整前常見的狀況有:與鄰近的表面沾黏,關節彎曲較多時造成模型體積壓縮等等,所以 rigger 也會需要把這些一併清理掉才行。
其實不管是人類還是動物,甚至只是一扇可以開的門,都需要有 rig。Rig的好壞會直接影響之後動畫的品質,還有動畫製作所需要的時間長短。上面的兩個範例中,都可以看到箭頭,或是漂浮在角色周圍的圓盤及曲線,這都是 Rigger 已經在關節上做好各種設定之後的產物。
5. Animating 上動畫
最後一步,也是畫龍點睛的一步,就是讓角色動起來!不知道大家有沒有看過一些 CG 角色,明明靜止的時候看起來還滿和藹可親,但是一動起來,臉部表情就僵硬到讓你心裡有一股毛毛的感覺?
你是否有聽過 恐怖谷理論 (Uncanny Valley) 呢?這個理論描述:世上萬物中,通常人對於接近人類的東西,會越有好感,並容易產生情感上的連結。但是當其已經逼近真人,卻還是差了最後一點的時候,我們反而會產生厭惡及害怕的反應。當我們把這個現象畫成曲線圖 ( 橫軸是與人類的相似度,縱軸是好感度 ) ,就可以看到突然急劇下墜的山谷區。
我選的恐怖谷範例圖片已經是客氣了。
原先美麗的角色,如果動畫做得不夠精細,也很可能會讓人感到不舒服,所以臉部的骨架 (facial rig) 是整個人物最耗工的地方。要有夠多的控制點,動畫師才能把需要每一條牽動的肌肉都模擬出來。事實上,當初建模時,建模師也會參考人臉肌肉的連接方式建模喔!
但是人臉的構造實在太過複雜,很多時候都是先用叫做 “ 動態捕捉 ” (motion capture, 簡稱 mo-cap) 的技術來完成。如果應劇情需要,有要追加誇大的地方,再由動畫師後製調整。
當然,動畫是涵蓋全身的,人物的移動及翻滾,說話時的手勢肢體,也都要靠動畫師的努力。
完成動畫這一步驟,一個遊戲角色的大致創建流程就結束,準備在遊戲各個場景中大放異彩了!
最後再讓我提到一個你可能從來沒有意識到的細節,但是卻大大提升整體畫面的說服力。那就是 secondary animation 附屬動畫 (暫譯)。所謂的secondary animation 就是除人物本身的動作之外,身上連接的物品因為主人物移動或是空氣阻力而產生的擺動或形變。例如長袍的衣襬,頭髮,身上的金屬佩飾,甚至是女性角色的胸部晃動等等 (遊戲界真的很愛強調這點,不就你們愛? lol )。
現在你再回頭看看本篇文章的第一張圖。畫面右下,Yennefer 肩膀上的羽毛飄動,是不是讓你更能感受到女神服裝的質感呢?如果把服裝與頭髮的飄動,做得更誇張一點,會讓人有一種夢幻的不真實感,這也是手遊熱愛使用的動畫技巧。
遊戲角色的製作就大致介紹到這,大家應該有感受到有多繁複。讓我們雙手合十,一起靜默三秒感謝辛苦的 artist 們 🙏。我也計畫補充本文因篇幅無法提到,或是只輕描淡寫帶過的相關技術,歡迎留言告訴我你還有哪些想知道事情!
…你說你也想看胸部的 secondary animation 範例?