而且副產(chǎn)物是一整套迷你角色。
分鏡篇(上)
分鏡篇(下)
建模篇(上)
建模篇(下)
譯/依光流
緊接著前幾期的分享,本文將分享《賽馬娘》如何有效利用有限的開發(fā)周期,實現(xiàn)高品質的對話場景制作。
對話劇情的制作涉及多個部門,本次我們將聚焦到動作組、劇本組,來分享3DCG模型的構造、動作的制作、對話場景的制作等內容。先介紹一下動作組,動作組為3DCG部門的其中一個小組。
動作組的主要工作,是制作對話動作、育成演出動作、 圍場動作、門口動作、賽跑動作、技能動作、勝利演出動作、演唱會動作、大廳動作、迷你角色動作等,在賽馬娘內登場的所有3D角色動作。
此外,劇本組主要負責將事先做好的劇本、角色動作、音樂、場景等要素組合起來,制作成最終的對話場景。
目前,動作組和劇本組正合力制作對話場景,而包括我們在內,所有參與創(chuàng)作賽馬娘的制作者們,最重視的就是兩個核心:
1,對賽馬的尊重。
2,呈現(xiàn)賽馬娘的真實存在感。
基于此,制作對話場景的要務,就濃縮成了兩方面,其一,在動作方面,必須提高以真實賽馬為原型的賽馬娘的真實存在感,制作出能讓訓練師們驚訝和感動的內容品質。我們希望,通過自由組合,能做出「讓人感到賽馬娘是鮮活的、充滿生命力的」動作。其二,在對話場景方面,則需要通過真實存在感的塑造,讓訓練師形成對賽馬娘的喜愛。
為了實現(xiàn)這兩個目標,我們來看以下三個部分的制作。
01 3DCG模型的構造設計
要量產(chǎn)對話場景,勢必需要讓制作好的動作,與大量的賽馬娘進行適配。因此,所有的賽馬娘的3DCG模型構造,都需要進行統(tǒng)一化處理。然而與此同時,我們又不得不表現(xiàn)出賽馬娘不同的個性,因此身高、體型、臉部構造都會存在差異。此外,作為賽馬娘的特色要素,耳朵和尾巴也需要負責呈現(xiàn)情感。
更重要的是,這60多名賽馬娘,都有著各不相同的決勝服裝,要導入共通的模型并不簡單。為了攻克這個難題,我們在以下5個方面進行了對策處理。
1.骨骼接點構造。
在量產(chǎn)賽馬娘動作的時候,勢必需要設計適用于所有賽馬娘的泛用動作。制作時首先進行的處理,就是接點構造的統(tǒng)一化。所有賽馬娘的接點構造,從各個接點的位置、四肢長度,到整體比例,都是共通的。
身高差的設定,可以通過基于身高的縮放來實現(xiàn)。比如西野花、特別周、菱曙這三名角色,身高設定分別為135cm、158cm、180cm??梢钥吹剿齻冊谕砀咴O定下的狀態(tài),以及適用了縮放以后的效果。
由于接點構造是相同的,即便身高不同,也能適用相同的動作。值得一提的是,實際的賽馬菱曙是一匹壯馬,在圍場里總是顯得特別占位置,衍生出不少相關話題。因此角色的大小,也是賽馬娘非常重視的細節(jié)要素。
此外,每個賽馬娘都應用了不同的體型、身高、三圍,而頭部和身體為了切換服裝和體型設計了獨立的模型數(shù)據(jù)。基于節(jié)點構造的共通化,通過切換各個參照數(shù)據(jù),就可以讓模型切換成其他角色。不同賽馬娘的不同體型數(shù)據(jù),都依靠CSV來管理,可以很方便地一鍵切換。
做好這些步驟后,大量動作的共通化使用的準備就完成了。
2.表情制作。
為了控制賽馬娘表情的變化,游戲中采用基于骨骼接點的移動、旋轉、縮放等機制。
表情制作的一個難點是,由于各個賽馬娘的眼睛、眉毛形狀都不同,接點位置也不同,所以無法使用相同的動畫。要改變表情,就需要放置多個接點,要把這些全做成動畫,數(shù)據(jù)量就太龐大了。
因此,我們使用Maya工具的驅動鍵來解決。它能將選定的多個信息整合起來進行控制,基于這一點,我們實現(xiàn)了直接調用出事先做好的喜怒哀樂等表情的機制。
角色模型組會事先錄入被稱作表情目標(Facial target)的表情集,其中包含了用來表現(xiàn)喜怒哀樂的眉毛、眼睛的形狀;還有表現(xiàn)驚訝等表情時瞳孔變小的各種形態(tài);嘴唇部位也包含了發(fā)聲的口型、舌頭的形狀、大小等變量的目標;以及讓嘴唇上下左右調節(jié)的變量目標等。
這些表情會以驅動鍵的形式,分別錄入左右眼、左右眉、嘴唇等部位?;谶@一點,不論哪一名賽馬娘,都可以依靠調用相同的驅動鍵,在保留眼睛、眉毛的形狀和位置差等角色特性的情況下,呈現(xiàn)出相同含義的表情。
以下是角色特別周在G2勝利動作內的表情動畫,通過調用Maya里錄入的驅動鍵,在動畫軸里進行調整表情強弱、呈現(xiàn)時機等細節(jié),就可以像這樣呈現(xiàn)出豐富且自然的表情效果。通過這類手法,不僅能明確呈現(xiàn)喜怒哀樂等表情,還可以呈現(xiàn)出更細膩的表情。
3.耳朵。
實際的賽馬的耳朵,也被用來呈現(xiàn)賽馬的情緒。比如放松時,耳朵會隨意亂動,注意到什么的時候,耳朵會往相應的方向豎直。賽馬娘也十分重視賽馬的細節(jié)表現(xiàn),因此將耳朵定在「無意之間呈現(xiàn)角色情感」的位置。
由于每位賽馬娘的耳朵形狀不同,所以我們沒有使用旋轉控制,而是采用類似表情目標的耳朵目標(Ear target)來制作耳朵的形狀,耳朵也同樣采用驅動鍵來控制動畫。如此,就能實現(xiàn)用耳朵控制情感表現(xiàn)。
此外,除了用驅動鍵制作的動畫外,我們還使用了模擬來呈現(xiàn)搖擺的耳朵動作。比如角色成田大進的耳朵形狀改變后,也會基于這個形狀產(chǎn)生搖動動作。通過上述的手法,不論在哪個場景,都可以基于耳朵呈現(xiàn)出角色的情感。
4.尾巴。
尾巴的動作,除了用來呈現(xiàn)情感,還可以塑造出角色的可愛性質。因此,我們一邊留意實際賽馬的動作,一邊進行相關制作。為了讓尾巴能自然地應對不同狀態(tài)呈現(xiàn)動作,我們選擇僅在尾巴根部進行動畫控制,其他部分基本交給模擬動作來實現(xiàn)。如圖,僅依靠根部的動畫,就能呈現(xiàn)出自然的動作。
不過當動畫呈現(xiàn)效果更好的情況出現(xiàn),我們也會舍去模擬動作而用動畫來呈現(xiàn)。比如呈現(xiàn)角色驚訝情緒的時候,尾巴的動作就沒用模擬,而是使用動畫來呈現(xiàn)的。賽跑時呈現(xiàn)奔跑狀態(tài)的尾巴動作,也是使用動畫來控制的。通過以上手法,就能實現(xiàn)尾巴的豐富情感表現(xiàn)。
5.保持基本構造的手法。
對于前面講到的結構共通化手法,我們實際上遇到了如下的問題:部分姿勢下角色的手會與胸、腰等部位,會基于三圍差異、體型差異、服裝差異而產(chǎn)生穿模、浮空等問題。解決手法,同樣是使用IK碰撞功能。
在本作里,首先會在角色身穿緊身衣的情況擺出姿勢,然后再配合其他不同的衣服、體型判斷碰撞體,來回避穿模問題。具體來說,就是依據(jù)裙擺、腰間的寬度、胸圍大小來設定碰撞體,再通過IK設定碰撞效果,進而避開穿模。
如圖,對身穿學校泳衣和決勝服的大和赤驥應用相同的動作流,會看到?jīng)Q勝服腰間與手產(chǎn)生穿模,但打開IK碰撞以后,就不再穿模。
又如,相同身高的成田大進和美麗周日胸圍不同,美麗周日如果采用與成田大進相同的動作,手便會和胸穿模,打開碰撞效果后,這個問題就解決了。
進一步來看,身穿學校泳衣和決勝服的好歌劇,抱起雙手的時候,在決勝服狀態(tài)下,她的雙手會穿進衣服里。與這種動作類似,當手腕位置、手肘位置都需要調節(jié)的情況下,僅依靠一個IK碰撞體會很難避免穿模問題。
解決手法,就是在常規(guī)動作的基礎上,制作分支動作,跟角色ID進行綁定,依靠自動調用分支動作的方法應用,以此極力避免產(chǎn)生穿模的問題。實際來看,打開分支動作功能時,穿模的問題得到了解決。
通過上述IK碰撞和分支動作的手法,就可以一邊維持相同動作的基本構造,一邊消化體型差異的問題。
總體來看,通過活用節(jié)點構造的統(tǒng)一、驅動鍵、IK碰撞等手法,我們實現(xiàn)了讓所有賽馬娘適配相同模型構造的目標。然后在耳朵尾巴等部位,平時使用模擬實現(xiàn)搖動和情感呈現(xiàn),必要的時候隨時可以設定動畫效果。最后通過IK碰撞和分支動作,在保留服裝、體型特征時,呈現(xiàn)出了毫無破綻的動作。整體上,提高了賽馬娘的真實感、存在感。
02 如何高效量產(chǎn)動作
說到為什么要量產(chǎn)動作,原因是要配合劇本、配音,去呈現(xiàn)角色最自然的、宛如天生的動作,進而讓演技的真實感大幅加強。為此,我們必須制作大約1200個動作,而且不單單是做到這個數(shù)量級,更重要的是,我們還必須搭建一套能極其自然地、高效地銜接不同泛用動作的機制。
結合當時一些失敗案例,我們來具體看對應的制作手法。
制作動作,一般用到的都是手K和動捕兩種手法。賽馬娘里,奔跑的動作是完全手K出來的。作為游戲基底的奔跑動作,需要呈現(xiàn)出每小時70Km的奔跑感和真實性,因此這種正常人無法持續(xù)進行的奔跑動作,有必要完全以手K的形式制作。
所以相比一般的動作制作,這種理想化高精度的制作手法,缺點就是花的時間非常多。
此外,由于動捕方便高效,因此在賽馬娘里除了奔跑以外的幾乎所有動作,全都交給動捕來制作。
要注意的是,包括動畫感濃烈的技能特效動作,以及其他非現(xiàn)實的動作,我們都會通過動捕來錄制,但并非錄制好了就用,而是會進行相當程度的處理后,再來使用。
由于動捕只做速度快,所以能夠快速實現(xiàn)劇作和文案的需求,如下圖摔東西、揮扇子跳舞、舉打分牌子的動作,都可以輕松地應對?;谶@一點,我們才能快速做出約1200種動作。
接下來,我們繼續(xù)分享如何讓這1200種動作更自然地呈現(xiàn)出來,具體分為五個部分:
1.鏡像動作。
鏡像動作/左右反轉動作,會在動作制作的過程中自動生成,也就是我們制作一種動作,就會自動生成兩種動作。這樣一來,就可以通過翻轉來避免賽馬娘動作對身邊角色的影響,制作的時候也增加了動作選擇空間。
要注意的是,鏡像動作并不包含在剛才提到的1200種動作里。
2.姿勢動作。
角色獨特的站立姿勢,換言之也是能用在各種各樣的場景中的待機動作,比起通常的循環(huán)動作來說,我們會把它的動作幅度做得更大一些。
在角色對話的時候,由于幅度大,可能看起來顯眼且別扭,所以我們會讓循環(huán)動作先輸出最初的一幀,然后讓它與循環(huán)動作進行疊加運算,小幅度控制循環(huán)。由于不需要分別制作強弱的分支動作,所以也能節(jié)省制作時間和數(shù)據(jù)容量。
3.手的覆蓋。
這一功能可以指定手部拿住小道具的位置,并將指定位置的模型和動作數(shù)據(jù)進行覆蓋。這樣一來,就可以讓在角色拿著水瓶的情況下,覆蓋現(xiàn)有動作,同時就生成了角色自然地拿著水瓶,并進行動作演出。
4.疊加動作。
主要指的是,把頭部的角度變化、點頭搖頭等動畫,疊加到現(xiàn)有的動作上。不僅是頭部,也能實現(xiàn)身體的傾斜等自然的疊加效果。不過要注意,泛用動作本身不會改變手腳的IK設定,因此手的位置不會變化。
5.對話動作的構成。
游戲中,所有賽馬娘都會制作一個獨有的待機動作/站姿。從待機動作開始,要遷移到配合對話和角色情感的對話動作,通常都需要制作銜接動作,這樣一來,就需要基于所有角色獨立動作的銜接動作。相當于需要角色數(shù)乘以銜接數(shù)這一龐大的動作數(shù)量,放在實際情況下,勢必會占用能制作的動作總數(shù)。
如果用混合處理,由于它的數(shù)據(jù)儲存是線性的,所以會導致動作銜接變得非常機械。比如下面的動圖里,就產(chǎn)生了手插在身體里這類正常人不可能出現(xiàn)的破綻。
于是,我們把所有的對話動作,都設計成由開始、循環(huán)、結束三個部分組成的結構。開始部分,包含了銜接其他動作所需要的類似預啟動的動作。循環(huán)部分,則是最初與最后都是相同姿勢的連續(xù)動作,即在特定動作做完之后僅剩下呼吸動作、走路動作等反復持續(xù)動作的狀態(tài)。結束部分,則是徹底停止循環(huán)內的動作后,重新以動作匹配到開始部分,以確保其他動作能夠順利銜接。
把相同的姿勢設置在動作的開始和結束,通過混合開始和結束兩個二部分,就不會出現(xiàn)穿模,也能夠大幅度減少動作銜接的不自然感,順利銜接到其他所有動作上。
接下來具體看一個泛用動作的實用案例。
隨著賽馬娘的開發(fā),制作組在閑聊的時候偶然提到「想試試3D的變形」,然后逐漸發(fā)展出「對角色各個地方使用縮放」的情形,最后就誕生了賽馬娘的迷你角色。迷你角色會在游戲中匹配畫面、社團畫面中出現(xiàn)。
這些角色,一般都是刪除了不需要的骨骼節(jié)點構造,維持剩下的各個部位時,對各個骨骼的比例進行縮小以后制作出來的。只不過,直接使用這么做出來的迷你角色,會出現(xiàn)臉和手穿模的問題。
于是我們在Maya上給骨骼埋好IK碰撞體、打開對應功能,就做出了一套能直接沿用動作的系統(tǒng)。修改起來相當輕松。
沿用之后,再配合迷你角色的特征,將動作調快、調得更戲劇化,就完成了整個迷你角色的制作。
以下這首迷你角色代表曲的制作,也全靠現(xiàn)有動作的沿用系統(tǒng),只用很少的工序就制作完成了。最終,我們徹底實現(xiàn)了可愛又自然的迷你角色。
總體來說,我們首先以動捕為基礎量產(chǎn)了大量的泛用動作;然后運用鏡像、疊加、覆蓋等形式,增加了動作的變種;最后利用銜接動作,實現(xiàn)了動作之間的自然過渡。此外,這套工作流還讓我們在低成本、短周期的前提下,制作了迷你角色。
03 對話場景的制作實例
賽馬娘發(fā)售之初,便受到很多玩家的好評,其中不僅充滿魄力的賽跑場景、演唱會演出效果深受喜愛,基于高品質3D角色制作的對話場景,也成了游戲的一大魅力。下面就來分享一下,這些對話場景是怎么做出來的。
賽馬娘的對話場景分為縱畫面和橫畫面兩類。
其中,縱畫面包括主線劇情場景、養(yǎng)成場景、輔助卡劇情等。由于縱畫面對話場景會出現(xiàn)在賽馬娘養(yǎng)成過程中,所以更重視畫面的熱鬧感,也就是主要設計成強調賽馬娘動態(tài)印象的邏輯,基本上,每一句文本,相對應的角色表情和動作都會變化一次。
此外,由于養(yǎng)成中播放的腳本量非常多,所以這部分里,語音用到的是對應情感和場景的聲部,賽馬娘的演出,用到的是事先準備好的表情動作組。這種手法的烘托下,養(yǎng)成的進展便能給人很強的節(jié)奏感。
橫畫面對話場景,則包含了賽馬娘故事、除了一部分比賽場景的主線劇情,以及活動劇情。橫畫面的對話場景,相比縱畫面,幾乎不存在演出手法上的限制條件,語音采用全語音模式,賽馬娘的演出也配合腳本進行了單獨設計。此外,主線劇情里還用到了運鏡,呈現(xiàn)出TV動畫的完成度。
如前文所說,劇本組的任務,就是把各種要素組合起來,制作出對話場景。而對話場景的制作量不僅特別大,還要想辦法讓所有的對話場景,都能給玩家產(chǎn)生對賽馬娘的喜愛,都要做出真實感。
盡管現(xiàn)在我們已經(jīng)建立好能實現(xiàn)這些目標的制作環(huán)境,但在開發(fā)早期還不夠完善。開發(fā)早期我們采用了常規(guī)的文本制作流程,但是要制作基于3D的對話場景,文本形式的制作有很多缺點。首先是測試的時候要在Unity上導入一遍文本,而且如果要仔細檢查,每次都要花20分鐘左右的時間。此外,在實際測試確認之前,需要靠想象來設定表情和動作,越是不擅長想象,試錯成本越高。
在制作大量文本的時候,這些問題更加嚴峻。為了解決這些問題,劇本組、動作組、技術美術組綜合了各方意見,向程序提出需求,制作了自主工具「對話場景編輯器」。這套工具可以實現(xiàn)包括動作、表情、背景和靜止畫、BGM和SE、鏡頭特效等,制作對話場景時要用到的所有演出設定。
下面大致分為兩塊來說明一下這套工具的特征。
第一點,也是最大的特點,是可以依靠直覺來操作和編輯。對話場景編輯器,可以在Timeline上實時編輯和顯示各種設定。這樣一來,測試運行的時間成本為0,還可以隨時確認整體光感來進行操作。
除了常規(guī)的播放外,還可以在任意時間點確認運行情況,所以也能利用它檢查動作和表情的銜接細節(jié)。此外,各種快捷鍵一應俱全,所以替換、調整等編輯操作也非常簡單。
第二點,是可以實現(xiàn)極其自然的動作銜接。如下是動作編輯畫面,對話場景編輯器由于采用Timeline形式,所以也可以對時間軸進行可視化的管理。比如動作的混合區(qū)域等于兩條動作軸的重合區(qū)間,這樣一來,伴隨可視化管理,動作銜接的調整也更方便。
如下圖,文本形式的編輯下,必定會用到相同的動作數(shù)據(jù),比如銜接到相同的站姿時,就會出現(xiàn)圖片左側手腕不自然抬起的現(xiàn)象。使用自主編輯器后,完全可以做到不調用結束動作和開始動作的表情,就像圖片右側一樣,能做到完全自然的動作銜接。
這里我們只展示了銜接到站姿的案例,但實際上不僅限于此,伴隨動作的組合,制作者可以打磨出任意的銜接方式。這些就是自主編輯器的特征。
最后,我們通過三個案例,來看一看實際上用了這套工具以后,我們開發(fā)的對話場景產(chǎn)生了多大的變化。
第一例是川上公主的個人劇情。為了表現(xiàn)她的活潑感,我們用到了單手叉腰、舉起拳頭等各種動作的連續(xù)組合。用了這么多動作仍然顯得自然,也是多虧了對話場景編輯器「不用夾帶特定動作也能銜接多個動作」的功能。
第二例是愛麗數(shù)碼的個人劇情。她是一個表情非常豐富的角色,因此我們最大限度使用工具,呈現(xiàn)出了最符合她性格的原創(chuàng)表情,不僅如此,由于我們還針對語音和場景對她的表情進行了細微的逐一調整,使得她的表情不論切下哪一段,都能和其他所有表情不相雷同。
最后一例是一段活動劇情。尤其是在活動劇情中,由于基本會有各種各樣的賽馬娘登場,所以在一名角色說話的時候,也需要特別注意加入其他聽眾的演出細節(jié),這樣才能保證不丟失賽馬娘的真實感、存在感。
總體來說,為了實現(xiàn)惹人喜愛的賽馬娘對話場景,我們使用了自主研發(fā)的對話場景編輯器,編輯器能實時確認編輯內容,并加入了很多能憑直覺操作的系統(tǒng)和功能?;谶@一點,哪怕是沒有3D動作制作經(jīng)驗的員工,也能用過工具制作出如上完成度的對話場景。
本次分享內容就到此為止了。為了讓賽馬娘表現(xiàn)得更有魅力,可以說我們在各個方面都傾盡了全力,而且我們在今后也會持續(xù)創(chuàng)造出大家未曾見過的、充滿魅力的賽馬娘?!敢磺卸紴榱瞬粩啾寂芟蚯暗馁愸R娘!」
文章來源:
https://www.youtube.com/user/CygamesChannel/videos
賽馬娘干貨 | 二次元機會 | 盲人MMO
再談原神 | 中小團隊難得要死 | 文明與征服
二次元用戶分層|專訪莉莉絲 | 別倒著做產(chǎn)品
好了,這篇文章的內容發(fā)貨聯(lián)盟就和大家分享到這里,如果大家網(wǎng)絡推廣引流創(chuàng)業(yè)感興趣,可以添加微信:80709525 備注:發(fā)貨聯(lián)盟引流學習; 我拉你進直播課程學習群,每周135晚上都是有實戰(zhàn)干貨的推廣引流技術課程免費分享!