【英雄聯盟】開發部落格:創造夢魘 ─ 當程式美術設計師遇上「萬聖小惡摩」

法蘭克貓 2017年02月06日 15:44:00

程式美術設計師製作《萬聖小惡摩》臉部表情過程。

近期Riot的開發部落格發布了一篇關於程式美術設計師們是如何製造出《萬聖小惡摩》提摩造型的相關文章,《萬聖小惡摩》造型最讓玩家津津樂道的就是那張恐怖的第二張臉,「究竟程式美術設計師(Tech Artists)們的工作是什麼?他們又是如何讓英雄聯盟中最邪惡的約德爾人變得更加讓人毛骨悚然呢?」讓我們一起來看看!

 

《萬聖小惡摩》造型美術圖。

 

「嗨!大家好,我們是程式美術設計師Moonyoung"ANDMoonY"Oh和Jeremy"JesterCapp"Putnam,身為Riot的程式美術設計師,我們的要任務是為英雄的模組準備動畫效果,為了讓大家更容易理解我們的工作,我們要和大家分享一下我們是如何幫忙創造出這位這位潛伏在峽谷四處的《萬聖小惡摩》。

 

建立角色骨架的大小事!(Rigging 101)

 

在早期的英雄開發中,這些男性/女性的英雄模組就像個娃娃似的,完全是一種了無生氣的樣子。程式美術設計師們將這些娃娃們變成了一個有關節、骨頭並且可供操控的木偶,這讓動畫師們能夠藉此創造出各式各樣的動畫效果,這個過程我們稱之為角色骨架架設(rigging)。

 

Riot的程式美術設計師使用Maya來創造新的英雄骨架和造型。

 

這些骨架由很多的組件組成,像是某些含有程式碼的藍圖,能夠用來控制某些節點並且讓大部分的角色能夠出現不同的動作與特色。這些組件也是組成身體基本構造的一部份,像是手臂、大腿、脊柱、長劍、披風等等,程式美術設計師會使用這些存在的組件去創建出一個新的英雄或是新造型。基本上,我們會告訴程式在哪邊我們需要裝上兩隻手臂,哪邊要裝上頭部、脊柱等等物件,然後程式會使用一套腳本去將各項物件組裝起來,並且創造出一組獨特的角色骨架,必要時,我們也會去創建嶄新的組件,舉例來說像是萬聖小惡摩造型中的尾巴。

 

因為很多的角色骨架是由同樣的組件所組成,他們也會使用相同的程式碼,這也表示如果我們想要改變「彎曲手臂組件」的藍圖,那麼每個使用到這項組件的英雄都會受到影響。不過我們依舊可以改變單一英雄的個體組件,不過這種藍圖系統的最大好處是當我們需要改變大量角色骨架的時候,這系統能夠幫助我們節省大量的人力 ─ 我們只需要在一個地方改變程式碼,然後就能夠自動對所有使用這項組件的骨架進行改動。

 

如果我們創造出了新的組件,像是「會彎曲的尾巴」,我們就可以輕鬆的將這項組件更新到所有能夠使用這項技術的英雄骨架當中(例如奈德麗和雷珂煞)。

 

近期創造的英雄骨架和那些英雄聯盟早期中創造出來的有所不同,因為我們無論在知識、製造過程還是品質要求上都有所提升。舉例來說,我們改變了組件的命名方式,在過去這有時會讓我們在使用動畫工具時發生問題,例如有項工具的用途是拿來移動英雄的手臂,我們將其程式碼用來定位手肘的節點並且取名叫做"L_Elbow(左手肘)"但是左手肘的節點實際上卻是使用"L_Arm"的時候,這個指令就不會產生作用。

 

早期《萬聖小惡摩》的概念圖。

 

再舉個例子,有些過時的角色骨架和新的技術無法相容,像是近期添加了一套讓動畫師可以透過移動游標來讓角色的拳頭開合。某些舊的角色骨架上的設計元素相當少,還可能會讓很多的控制元素使用同一個控制名稱,這樣在我們添加新的動畫元素時這些舊的英雄骨架可能就會出現問題。

 

因為這些原因,我們在創造新的造型和英雄骨架時所面臨的第一個問題就是:「使用舊的英雄骨架沒有問題嗎?還是說我們應該要做一個新的設計圖?」如果我們決定要重製一個骨架,大概需要花費的功夫就像是製作一名新英雄一樣,但是如果我們能夠讓那些基礎骨架都經得起時間的考驗,我們就能夠對現存的所有元素自由的進行改造,或是添加任何的新組件進去。

 

提摩現存的英雄骨架就已經準備就緒了,但是《萬聖小惡摩》造型中的一些惡魔化外觀需要使用全新的組件。

 

惡魔尾巴的傳說(Tale of the Tail)

 

為這位小惡魔創造一條小尾巴可不是件小事,要為這種長度的尾巴(和吶兒、悟空、野區的狼尾巴長度類似)創造出一個組件需要六塊骨頭和節點,為了要讓尾巴的擺動看起來夠自然,每個節點都必須要有獨立的動畫,這樣才能夠完美配合提摩的每一次移動,要創造出這種等級的動畫需要花費動畫師相當大量的時間 ─ 以一個造型中相對微小的元素來看真的是花了過多的時間。

 

提摩的尾巴骨架使用了六塊骨頭和節點。

 

因此我們開發了一套特別的控制系統叫做「擺動骨架(jiggle rig)」,這套系統能夠讓各個節點/控制之間形成父母/小孩的關係,以提摩的尾巴來看,這讓控制器能夠根據上方節點的動作來進行,如果提摩的模組跳起來,那麼第一節尾骨就會在短暫延遲後跟著跳起來,接著是第二節、第三節尾骨....依此類推。

 

基本上就像是跟隨著一個領導者進行動作。

 

動畫師也可以控制每個節點會根據上方的節點運作做出怎樣的回應,透過這種方式動畫師就能調整兩個節點間的動作延遲,並且讓某些效果「抑制」起來,只有遇到劇烈的動作時才會出現。

 

透過這種方式,動畫師成功的讓《萬聖小惡摩》的尾巴出現了應該有的樣子,最終這條惡魔尾巴能夠隨著提摩的身體移動進行自然的擺動,也幫助動畫師們節省了大量的時間。

 

建立提摩尾巴的動畫:建立過程與最終階段

 

面對惡魔(Facing The Devil)

 

隨著尾巴的問題解決了,我們離模組的完成還差臨門一腳,一個能夠將恐怖夢魘散步到峽谷中的重要元素:《萬聖小惡摩》的另一張臉。就像其他的英雄那樣,提摩的「日常臉」看起來很死板,峽谷中的鏡頭離英雄的臉部太遠了,所以你也很難去注意到像是臉部表情變化這種優質的效果。但是當這位英雄的臉特別大的時候,這就成了例外(舉例來說:大部分的約德爾人都是...),或者是這位英雄本身就有秀出顏藝的特殊理由,就這個角度來看,提摩兩者都符合。

 

為了讓提摩友善的臉變得壞心眼又瘋狂,我們為這位小惡魔創造了第二張臉,使用的是另一個完整的臉部骨架,這個骨架可以讓動畫師自由的控制約德爾人的臉部顏藝,尤其是當他們在進行回城或是死亡的時候。

 

《萬聖小惡摩》的臉部骨架

 

現在我們在一個身體上有了兩張臉,現在我們需要告訴模組何時該秀出友善的臉以及何時該釋放臉上的惡魔,為了做到這件事,我們使用了一套能夠使用備用組件的系統(a system of submeshes),以及相關的事件指令。

 

這種備用組件的系統能夠在特定時刻隱藏或是顯示角色的部分模組,這通常會應用在英雄的表情和回城動畫上,像是《靈藥魔女》魔甘娜的魔鍋或是《聖誕壯公公》布朗姆的雪橇,替換系統會告訴這些組件何時該出現或隱藏,舉例來說,動畫師會設定讓《靈藥魔女》魔甘娜的魔鍋在收到回城指令後出現在畫面上7秒,7秒過後,魔鍋會再次的從畫面上消失。

 

《萬聖小惡摩》的死亡動畫

 

提摩的惡魔表情和動畫就是透過這樣的方式來進行的,所以這張臉在遊戲中的大多數時間裡都被隱藏起來,然後動畫師們將《萬聖小惡摩》的回城和死亡動畫設定成一個使用備用組件的事件,這讓系統明白合該使用友善的臉,以及何時該換上恐怖的惡魔臉,一旦提摩進行回城或是死亡動畫結束,備用的惡魔臉就會消失,然後提摩就會再次回復那張假掰的笑臉。

 

哪張才是提摩真正的臉孔?符文大地的居民們永遠不會知道。

 

前往偵查!(SCOUTING AHEAD)

 

身為一名英雄聯盟的程式美術設計師意味著我們需要不斷的尋找細小的進步空間 ─ 我們在這幾年創作了大量的造型,我們依舊在不斷鑽研該如何讓這些造型變得更好,當團隊因為某個想法而感到熱情激昂時,總是會讓我們不斷的激勵自己讓技術更上一層樓,設計出更聰明的組件和工具對我們來說十分重要,因為這讓我們可以更頻繁的做出更加酷炫的造型。

 

除此之外,我們在明白了自己成功的讓提摩表裡如一後,我們也能在晚上睡覺時更加的安心了,提摩再也不能用他那張可愛又毛茸茸的臉來愚弄我們了,我們可是盯上你了,提摩!

 

《萬聖小惡摩》造型將會在明年的萬聖節活動中再次回歸到商店之中!

 

來源:開發部落格

譯者:法蘭克貓

 

法蘭克貓粉絲團(官方紅帖資訊):https://goo.gl/EGv6g9
傳說之痕在na奴役孫文粉絲團(測試服資訊):https://goo.gl/7PZ1Zl

 

 

 

一起加入上報遊戲圈粉絲團來掌握最即時的英雄聯盟資訊吧!
上報遊戲圈粉絲團:https://goo.gl/XVg5SQ

 




如果您喜歡這篇文章,請幫我們按個讚
回頂端