Fw: [心得] 最後2 NPC名字系統 (技術解說)

作者: cjcat2266 (CJ Cat)   2020-06-20 20:52:13
※ [本文轉錄自 PlayStation 看板 #1UxW8c9Y ]
作者: cjcat2266 (CJ Cat) 看板: PlayStation
標題: Re: [心得] 最後2 NPC名字系統 (技術解說)
時間: Sat Jun 20 20:33:38 2020
NPC有名字,的確不是什麼新概念
是否會產生共感也見仁見智
至於沉浸感,我自己玩起來的感覺是有點助益的
評論會特別提到,可能是之前哪次發表的時候有人提起吧
但這不是本文重點
這邊我只專注於技術方面分享一些見解,有興趣的人可以參考看看
要達到NPC有名稱的效果,換取增加些微的沉浸感
總組合量與可整合的台詞片段數量呈相乘成長關係
整合起來可是 天、殺、的 費工哪
先來看看前一陣子掀起討論的Fallout 4有被配音的玩家名稱
https://fallout.fandom.com/wiki/Codsworth/recognized_names
這些名稱都有被配音
若玩家取的名稱與其中之一相同
Codsworth便會在對話開頭或結尾的時候加上
"Mister/Misses + 名稱" 的語音
可能的做法有兩種
方法1: Mister和Misses兩種版本的語音
兩個稱號和每個名字的組合各錄一次,錄音量是名字數量x2
方法2: Mister和Misses兩個字分開錄
然後每個名字只錄一次,然後即時將稱號和名字串起來播放
實際使用的應該是方法2
錄音量等於名字數量,工程量為方法1的一半
但每個名稱錄音片段就必須 *確保裁切妥當*
Mister/Miss稱呼與名稱之間的留白時間,稍有差錯聽起來就會怪怪的
從名單的大小看來,前置留白裁切應該是自動化,否則靠人力會吃力又不靠譜
"Mister/Misses + 名稱" 都是以獨立完整肯定句呈現,前面後面銜接完整句子
所以每個組合總共需要一種語調變體
印象中之前媒體和玩家整合出來的名字有上千個
素材規劃與整理肯定需要消耗一定量的資源
接著看The Division
我自己是沒有玩,不過初步研究的結果
是NPC死亡的時候其他人會叫"They got XX!"
作法應該是跟上述方法2一樣
"They got" 和名稱分開錄製
確保每個名稱的前置留白正常,即時將兩個語音傳在一起播放
然後這也是獨立完整肯定句,所以語調變體也是一種
然後是The Last of Us 2
會使用到名稱的台詞,不是只有一種語調
名稱在句中定位,又有不同軸向的分類
語調:肯定、疑問、驚嘆、命令、相互確認
能量:遠距喊話、近距對話、自言自語
位置:獨立、句首、句尾
每個組合需要一種語調和留白,好與句子和前後文串起來且聽起來自然
以下是一些範例
"XX. You Alright?"
"XX? You there?"
"XX..."
"XX is dead!"
"They got XX!"
"Go get them, XX!"
素材的錄製和管理量大,需要專人負責
所有句子使用的名稱語調軸向組合必須一一手動確認,否則聽起來就會不自然
然後在整個不斷疊代的開發過程中,QA需要不斷確保各種句子的組合沒有壞掉
背後所需的人力不容小覷
換來的只是多了那麼一點點的沉浸感,值不值得? 我認為非常不值得
但對龜毛的人來說,這是開發工程的浪漫
小團隊或沒錢燒的團隊,千萬、千萬不要跳到這個坑裡面
這麼費工的事情,我認為未來朝用機械學習輔助的方向前進是無可避免的
可以將留白裁切、語調協調自動化 (但QA的環節應該還是得靠人力)
像是角色移動推進動作生成的motion matching (MM)技術
現世代的作法是從動作池中選出適合片段混和
未來有可能會演變成用機械學習的方式生出動作
Bungie在十多年前僱用初始MM論文作者
想要在Halo Reach中使用MM技術,結果因為硬體效能不足而作罷
後來Ubisoft的研發團隊開發出自己的一套MM系統
在For Hornor中使用,是遊戲首例,在GDC上分享之後在開發者間廣為流傳
同個團隊已發表使用機械學習搭配MM的變體,就我所知還沒用在實戰中
未來可能可以在遊戲中看到
優點是自動化的流程能夠節省人力和時間
缺點是當下動態生成的動作,很難得知是如何訓練出來的,除錯上有一定的阻礙
題外話
一個跟NPC名字不太相關,但是跟語音有關的環節是 "對主詞狀態的了解程度"
若不是摸到相關的AI組件,我壓根不會去注意到聲效團隊有默默地在做這件事
情境上來說,NPC還沒有看過玩家之前,不會知道主詞的性別或單複數
這個時候的台詞會偏向於使用中性主詞
"Did you see anything?"
"I think someone's over there."
初次看到玩家和伙伴NPC之後,台詞會整組換掉,變成已確認主詞性別和單複數
"He went over there!"
"Has anyone seen her?"
"They're here!"
然後每場遭遇的開場狀態不同
有時候NPC一開始完全不知道主角狀態
有時NPC以為主角只有孤身一個
又有時NPC已知某人存在而不知道主角的存在
所以每場遭遇的開場狀態都需要一一手工標記
這是一個容易忽略的小地方,但我覺得值得提出來褒獎一下聲校團隊
題外話2
調查(investigation)對話也頗費工
這是指NPC觀察到有異樣時,去調查的演出,是有匿蹤要素的遊戲中很重要的環節
同樣有不同軸向的要素,不同組合的對話類型也就不同
異樣種類:視覺、聽覺
異樣主體:玩家、物件、屍體、夥伴失蹤
調查種類:孤身調查、命令調查(叫人去調查)、掩護調查(叫人掩護自己去調查)
可疑程度:初次異樣、二次異樣、多次異樣
根據不同的異樣種類和主體,開場句就有很多種變化了
"I think I saw something."
"Did you hear something?"
"Hey. Are you okay?"
"Hey. Where are you?"
疊加上調查種類會有更多變化
"XX. Go check it out."
"I'll take a look. Cover me."
然後根據可疑程度,最後有可能會演變成直接進入搜尋模式
"What was that?"
"Again?"
"Someone's messing with us. Start a sweep!"
因為我負責調查演出AI,所以很喜歡去注意其他遊戲做到什麼程度
A Plague Tale真的是匹黑馬,演出和龜毛程度都不是蓋的,是我很喜歡的遊戲之一
裡面就有做出不同可疑程度的調查演出
作者: patrickleeee (派脆)   2020-06-20 21:05:00
辛苦了
作者: wulouise (在線上!=在電腦前)   2020-06-20 21:34:00
關係設定也是很麻煩,ML讀腳本標定關係或是做二次驗証不知道有沒有人這樣做
作者: dklassic (DK)   2020-06-20 21:34:00
辛苦了 XD我覺得理想上未來應該是直接合成語音然後可以直接調情緒表現,就不需要大量標註資料,也可以確定一定接得起來個別錄音更有效的可能是建立自己的語音庫,可以非重要 NPC 都完全合成,也方便改台詞
作者: ilohoo (ilohoo)   2020-06-20 22:59:00
辛苦了工程師
作者: coolrobin (泳圈)   2020-06-20 23:54:00
推推推
作者: xdorz87 (87)   2020-06-21 10:07:00
我本身做遊戲配音相關工作五年了,要用合成語音去做情緒這件事到目前為止還是完全不可能的,情緒這種東西是很細微的東西,多一點氣聲或斷句改變,整句感受會完全不一樣
作者: dklassic (DK)   2020-06-21 10:26:00
Ubisoft 的看門狗新作好像就在實驗類似的系統,為了配合任何路人都可以招募的機制不過確實還是用二十組樣本聲音去處理,而不是更泛用的做法
作者: jackyT (Ubuntu5566)   2020-06-21 20:01:00
合成的還是會比較不自然 然後這種都是特別想雕的功能應該寧願麻煩也想做到最好
作者: rickkcir (多果汁)   2020-06-23 17:43:00
長知識了,這遊戲的npc躲藏系統我覺得也很有趣
作者: Pony5566 (Luna Akbar)   2020-06-24 06:28:00
難怪會需要血汗加班來搞好這些
作者: cjcat2266 (CJ Cat)   2020-06-24 06:58:00
躲藏系統是說stalker的行為?
作者: LayerZ (無法如願)   2020-06-24 15:31:00
其實AI應該能做到?未來的話啦
作者: LuMya   2020-06-25 14:46:00
好猛
作者: jimmylily (jimmylily)   2020-06-29 03:07:00
辛苦cj貓大了,自從遊戲發行後一直很期待上站分享,可惜這次因為劇情吵的沸沸揚揚,反而沒特別讚揚這次厲害的遊戲物理和系統
作者: cp11225637a (= =)   2020-07-02 19:03:00
推,雖然有些看不懂(可能是我太菜了
作者: seedamen (Amen)   2020-07-07 17:50:00
推分享,謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com