​TGDC | 探索人臉藝術背後的技術

遊資網發表於2020-12-22
2020年12月9日,由騰訊遊戲學院舉辦的第四屆騰訊遊戲開發者大會(Tencent Game Developers Conference,簡稱TGDC)於線上舉行。來自騰訊互動娛樂研發效能部的高階技術美術師劉凱,發表了“探索人臉藝術背後的技術”的主題演講。以下是分享視訊和文字實錄:


大家好,我是劉凱,很榮幸地參與本次TGDC的分享,首先我先正式地介紹一下,我目前就職在研發效能部的引擎中心,在負責角色表現、動畫技術、自動化工具等研發工作。今天讓我們聊一聊,關於角色面部的美術技術。

一個優秀的美術效果,對於任意的一款遊戲而言都是非常重要的。人臉的表現則是能夠拉出差距,體現實力的關鍵一環。

第一部分先探討一下人臉的藝術,首先請看一段視訊:


這個視訊的片名叫做《lie to me》, 不要對我說謊, 是個很有名的美劇。劇中的行為學家Ekman博士,可以不用測謊儀,不用確鑿的證據,甚至無需聲音,只需憑藉細微的表情變化,便可以看穿一個人的內心,進而判斷對方有沒有在撒謊,聽起來是不是有一點難以置信呢?

如果想要成為像Ekman一樣的讀心術專家,就需要先學習臉部動作編碼來分析微表情,微表情行為指的就是FACS,它的全稱是面部行為編碼系統,能夠有效地形容肌肉運動是表情運動的一個權威標準。

微信圖片_20201222163615.JPG

AU則指的是FACS根據區域劃分的運動單元,EMFACS是情緒編碼系統,定義著每種情緒,通常的AU組合FACS除了應用在心理學,也應用在電影動畫行業,在海外的發展非常好。除了視效電影,有很多遊戲大廠也基於它開發了表情動畫系統應用到了電子遊戲中。

在動畫領域中,FACS可以作為不同方向技術人才,比如說模型師、繫結師、動畫師、技術美術、程式設計師等。

統一的面部標準和通用的語言,FACS完全可以作為我們在藝術開發時的一個參考與標準。在實際的專案開發中確認與follow一套美術標準是非常重要的。以前大部分遊戲的表情製作都缺少衡量的一個標準,基本憑藉美術師的經驗與理解造成最後的質量參差不齊。比如說動畫師很難解釋清楚肌肉該如何變化是合理的,表情要到達什麼樣的程度是合適的科學的。

微信圖片_20201222165215.jpg

我們可以看一下左邊的這張圖片,可以用FACS解讀一下,上半部分臉跟下半部分臉部肌肉,在視覺上的走向跟強度,其實主要是由AU6臉頰的提升和AU12嘴角的上揚組成的,通過引入FACS測量體系,最終能夠幫助我們達到像遊戲《地平線》中角色細膩的表情呈現。

在公司內部我們也基於微表情,自研開發了一套表情動畫系統。可以通過骨骼模擬肌肉的視覺變化,請看這個視訊演示:


視訊中我們運用了基於攝像機的動捕技術,可以把我的表情複製到一個虛擬的角色上,是不是很有意思?所以說表情是能夠有效表達人臉藝術的一個關鍵資訊,除了表情動畫,那麼還有哪些能夠直觀地表達面部視覺效果呢?

微信圖片_20201222165216.JPG

我把它總結和歸納成了三個維度,另外兩個是五官和口型。那麼有了這些資訊是不是意味著可以完美地複製一個我呢?答案是肯定的。

微信圖片_20201222165217.JPG

可想要完美地複製一張虛擬化的面孔,這三個維度實際都面臨了美術與技術上共同的挑戰與要求,要美、要像、要快速、要簡單、要逼真。美和像屬於藝術層面的感受這個對於美術的同學,其實是較好理解和打磨的。但是如果想要把複雜的工序弄簡單,做到快速並且更加逼真,則同時需要技術緯度的演進,接著讓我們探討一下藝術背後的技術。

當前工具化已經是業務部門最普遍的需求了,有很多的海外大廠內部都有in-house工具去支援業務,幫助美術高質量的量產。騰訊在研的專案其實對質量的要求也越來越高了,市面上又缺少成熟的工具,因此我們就開發了一款名為Superman的面部動畫管線工具。初衷是希望能夠賦予像超人一樣強大的能力。

這個美術元件擁有內容製作與引擎兩塊技術,提供了從上游資料製作到引擎實現一站式的面部解決方案,具體包含的能力我們可以參考下這張圖表。

微信圖片_20201222165218.JPG

上述的這些特性,其實單獨實現起來都有一些技術壁壘。下面我會具體地介紹一下。

微信圖片_20201222165220.JPG

簡單概括一下superman工具的優勢有功能全面、通用性強、操作簡單,效率上的提升非常巨大,能夠有十倍以上。已經在我們公司的多個專案上使用,能夠幫助美術師在虛擬角色的五官刻畫、情緒、口型這三個維度上充分地表達與標準化。

我來介紹一下工具的表情能力。

微信圖片_20201222165221.JPG

首先我們實現了繫結過程的自動化,想要讓一個虛擬角色動起來,就需要先研發繫結這個是賦予角色生命力,很關鍵的一個技術環節,傳統的手工繫結是需要一個繫結師一週左右的時間。這裡我們只通過4個步驟,就可以在任意的3D角色上快速完成繫結資料的儲存、傳遞、重建的過程,而且我們的骨骼系統是支援定製化的友好地對接遊戲引擎,在效率上的表現也是提升巨大,整個過程快的話只需要1個小時。如果不算權重處理的時間,那麼我們只需要5秒鐘就可以快速地得到相關的資產檔案。

微信圖片_20201222165222.JPG

在肌肉表情系統的搭建上我們參考了電影行業的經驗,引入了FACS體系,開發了表情編輯器把肌肉引數化,做成了可以通用的表情資料模板可以多個角色複用、匯入、匯出,量產的效率非常快。當前行業表情製作的技術門檻較高,一個角色的表情開發成本將近是在一週以上,那麼精度高的話可能會達到一至兩個月。通過我們的製作方式,效率可以從1.5周提升到兩天。無論是配置到端遊還是手遊,效果與傳統的表情對比都會有極大的提升。

如果想持續的精進表情的效果,需要美術更加深入地學習微表情和解剖學了。

微信圖片_20201222165223.JPG

同時我們也設計了全面的Control Rig控制器系統,操控簡單、自由,可以任意的融合表情和口型,不會讓我們的肌肉過於“情緒化”,就能進一步提升動畫的製作體驗。

圖片我們分為了4個模組,主控制器可以快速得到我們想要的AU組合,對不滿意的細節我們可以通過操控次級控制元件快速地進行微調。口型控制模組則是對下巴、嘴脣做了拆分,可以影響每一個口型,使我們的聲音口型具備風格感知的能力。情緒元件則可以幫助動畫師快速的製作情緒關鍵幀。

微信圖片_20201222165224.JPG

還研發了皺紋動畫技術,在表情發生動畫時會產生一個皺紋細節的變化,可以讓表情像好萊塢電影中,虛擬角色一樣真實和逼真並且效能消耗也設計在了一個可控範圍內。

我們同時是在maya與ue4中都開發了外掛,骨骼系統可以自動地計算對皺紋的一個影響值,美術可以在3D軟體中確認皺紋的動畫效果後,將引數因子貼上到ue4管線裡實現效果的同步。

第二點是五官定製技術,這裡可以理解為遊戲中的捏臉技術。

微信圖片_20201222165226.JPG

我們在流程上也定義了一個全新的捏臉系統:分為maya與ue4兩部分的pipeline。美術師基於工具盒製作資料,然後在引擎端讀取並且控制我們定製好的資料即可,另外也不需要額外的引擎中介軟體開發和人力維護,簡單快速。專案的接入成本幾乎為0。

微信圖片_20201222165227.JPG

之前有很多遊戲是基於引擎開發的捏臉中介軟體,而我們是直接在DCC中開發的角色編輯器,不會受到引擎等外在的技術限制,同時流程也會對美術師更加友好,方便資料做迭代。工具初始內建了通用的捏臉引數模板,角色間是可以進行復用的,而且也可以方便生成自己的資料庫檔案,對效率的提升是很有幫助。

比如說我們要開始一個專案,那麼第一個角色可能基於初始的資料模板,開發了三天的時間。第二個角色就可以複用角色一的資料模板,此時調整的時間可能會更快,甚至半天的時間可能就可以了。綜合下來,常規一週以上的捏臉製作可以縮短到兩天。

在引擎端的功能構建上,我們研發了內部開源與通用化的ue4 avatar基礎框架。因為大部分的遊戲,其實都需要角色的展示功能。那麼如果說每個專案組都開發一套元件的話,這個開發成本還是很高的。如果有一套可以通用並且能夠方便複用的框架,就可以幫助我們節約開發成本,避免重複造輪子。

微信圖片_20201222165228.JPG

具體這套系統包含的細節有捏臉、體型定製、動態換裝、妝容模組,然後資料也可以進行儲存、匯入匯出,男女角色之間可以進行互換。

在2018年的時候AI的技術是非常火的,那時候我們就在思考能不能與AI能力結合起來,所以在2019年初,我們藉助了優圖實驗室的AI技術,實現了領先的照片自動捏臉效果, 現在看來,照片捏臉這也是AI在遊戲中最好落地的場景之一。

第三點我來介紹一下工具的口型技術能力。

微信圖片_20201222165229.JPG

首先講一下我們發音系統的設計是口型動畫技術的一個核心。大家都應該清楚我們英語是由20個母音和28個子音組成的,漢語則是由63個聲母和韻母的方式組成。那麼如果說是要在3D裡面開發兩套發音系統的話,可能我們開發就真的崩潰了。

其實我們的漢語拼音和音標之間是可以進行相互轉化的,比如說普通話這三個音節,英語可以分析成八個音素,拼音則可以分析成六個音素,它們之間是有一套轉化的演算法也可以通過程式完成。那麼我們只需要做出一套資料標準即可。

特別說明一下聯合發音是什麼意思。比如我們在說sure這個單詞的時候,首先會發出一個S音,接著會發出一個U音位的嘟嘴,而在說see這個單詞的時候,則不會出現嘟嘴。

瞭解了這些關係後,我們要把必要的音素在3D裡抽象化,3D中製作的每一個口型我們都稱之為視素,對應著每一個音素,並且有很多的發音口型是非常相似的。通過我們的梳理跟分類共設計了20組視素,對應著16組音標集合與4個協同發音。

包含兩個閉合音和兩個持續音,閉合音指的是嘴脣在垂直方向的一個狀態,閉合音M代表的是嘴脣上下嘴脣向內收的一個狀態,閉合音F則指的是下嘴脣向上頂,持續音則指的是嘴脣在水平方向的一個狀態,持續音WA代表的是嘴脣的一個隆起,那麼持續音JY則代表的是一個拉伸的狀態,大家可以動動嘴巴感受一下吧。

這樣與其他的16個視素配合,就可以簡單有效地形容發音系統了。

微信圖片_20201222165230.JPG

以前口型資產的做法基本都是由專案組美術外包的,那麼一個角色可能需要做數十個口型資產,開發的週期也基本是在1至2周,並且效果不可控。當然了一個遊戲會有不少NPC,那麼這個製作成本是非常巨大的,因此我們參考了EMFACS的標準,能夠幫助我們科學地分析情緒的變化,然後設計了FACS到口型與情緒的智慧轉化鏈路,最後節點化、指令碼化。

微信圖片_20201222165232.JPG

Superman的這種生成方式取代了傳統的手動製作方式,製作效率也可以從1.5周提升到0秒。精度也能夠得到標準化的提升,幫助美術直接做量產,語音動畫這個自動化技術。在未來的業務開發中會非常實用,在最新的海外遊戲大作中也成功地運用與驗證是非常有價值的。像《刺客信條:奧德賽》《巫師3》 《FF7:Remake》都研發運用了這個技術。

相信會有很多同學會有疑問,真的只需要語音就能夠快速地生成劇情動畫嗎?聽起來感覺很神奇很方便,其實想要達成這樣的能力不是不可以,但需要我們研發一套完整的流程管線工具做支援之後開發人員,僅通過輸入規則格式的檔案,就能自動在maya或者ue4中生成口型動畫片段,這個低成本的方式也主要是用於NPC批量化的劇情生成。

由北極光、魔方和我共4位同學,利用業餘的時間研發的語音動畫方案,目前我們已經跑通了整個技術的資料鏈路,在下個階段我們會嘗試構建更加完整的語音procedural動畫流水線。

關於聲音驅動的技術,我們目前行業裡有3個主流的方案,請看這張表格:

微信圖片_20201222165233.JPG

FaceFX是海外3A遊戲比較主流的一個技術,Lipsync則是比較輕量級的方案,Jali是一個比較全新的方案並且結合了AI的能力,與我們自研的方案對比,我們的產品模式是內部公開的,技術應用場景是在手遊和PC主機,也吸取了它們的一些優點,擁有美術工具、語音工具、引擎生成等全套的管線,具備良好的中文英文支援能力,效果基本能夠滿足預期,還提供了技術方面的支援,這點的話在我們內部是非常重要的。

說到這裡呢相信有很多一線研發同學都深有感觸吧,技術改變未來這件事情已經滲透在遊戲的美術研發中。

微信圖片_20201222165234.JPG

再回憶下之前的內容,第一部分介紹了通過對五官、情緒、口型做管理能夠幫助我們挖掘一張生動的人臉。

第二部分則分享了,我們在自動化技術上的做的一些探索和沉澱,通過藉助工具的能力,能夠讓美術拋開技術的限制,聚焦在藝術表現上。

大家可以看到,我們目前演示的demo人臉並不漂亮,也沒有什麼修飾。其實這裡我們不妨的腦補一下,如果有一層漂亮的皮會是怎樣呢?

微信圖片_20201222165236.JPG

比如說我們想要複製一張卡通臉,可以是QQ飛車裡面可愛的小橘子;可以是《功夫熊貓》裡憨厚的阿寶;也可以是《猩球崛起》裡智慧的凱撒;再或者是結合掃描技術複製siren裡逼真的數字人,達到姘美電影級的效果,這裡的想象空間還有很大。

像剛剛介紹的語音動畫AI技術等都是業界前沿的技術形態,未來還有很多的技術值得我們繼續地探索,上述就是我的分享。

來源:騰訊遊戲學院
原文:https://mp.weixin.qq.com/s/olG1gViEqZv1VXTiAvOgYg

相關文章