在今日凌晨的蘋果發(fā)布會(huì)上,蘋果官方展示了一款由 Unity 引擎打造的高品質(zhì)手游《鬼泣-巔峰之戰(zhàn)》,精彩現(xiàn)場(chǎng)奉上。文末有彩蛋哦~
對(duì)動(dòng)作游戲有所了解的朋友一定都知道《鬼泣》系列,該游戲是國(guó)內(nèi)不少玩家的動(dòng)作游戲啟蒙之作。而這款由 CAPCOM 授權(quán)、云暢游戲研發(fā)的動(dòng)作手游《鬼泣-巔峰之戰(zhàn)》,也因此收獲了來(lái)自世界各地的關(guān)注。
上個(gè)月末,《鬼泣-巔峰之戰(zhàn)》啟動(dòng)了終級(jí)測(cè)試,不日將進(jìn)行公測(cè)。目前,該游戲在 TapTap 上預(yù)約人數(shù)破百萬(wàn),其中不少玩家都是《鬼泣》系列的老粉。游戲中的場(chǎng)景建模、技能特效、角色動(dòng)作,全都采用了高規(guī)格的技術(shù)呈現(xiàn),強(qiáng)大的畫質(zhì)和流暢的幀數(shù)讓玩家對(duì)這款動(dòng)作手游充滿期待。此外,《鬼泣-巔峰之戰(zhàn)》手游還融入了更貼合移動(dòng)端特性的設(shè)計(jì),高度還原了原作的玩法內(nèi)容和動(dòng)作框架。
為了將戰(zhàn)斗的操作感做到極致、展示原作畫面的張力、復(fù)刻原作劇情體驗(yàn),Unity 官方駐場(chǎng)工程師協(xié)助《鬼泣-巔峰之戰(zhàn)》的開發(fā)團(tuán)隊(duì),在動(dòng)作設(shè)計(jì)、人物模型、智能 AI、關(guān)卡設(shè)計(jì)、音效、性能優(yōu)化等等,逐一進(jìn)行打磨。
今天我們邀請(qǐng)到了《鬼泣-巔峰之戰(zhàn)》的主創(chuàng)團(tuán)隊(duì)成員,讓他們?yōu)榇蠹医視赃@款硬核動(dòng)作手游,是如何在 Unity 引擎中打造而成的。
首先請(qǐng)介紹一下團(tuán)隊(duì)吧?
云暢游戲:我們來(lái)自于云暢游戲,主創(chuàng)團(tuán)隊(duì)核心成員都有 10 年以上的開發(fā)經(jīng)驗(yàn)。云暢游戲是一家以自主研發(fā)為核心,集研、運(yùn)、營(yíng)為一體,專注動(dòng)作領(lǐng)域的新興游戲公司。 目前已經(jīng)在北京、西安、成都、日本等多地設(shè)有分支機(jī)構(gòu)。旗下有《鬼泣-巔峰之戰(zhàn)》、《不良人3》、《航海王:燃燒意志》、《蝙蝠俠》、《洛克人》等多款精品。
《鬼泣-巔峰之戰(zhàn)》是由 CAPCOM 正版授權(quán)的 3D 動(dòng)作手游,非常榮幸能夠在蘋果發(fā)布會(huì)上得到關(guān)注,也非常感謝 Unity 官方在過去 2 年時(shí)間內(nèi)對(duì)項(xiàng)目技術(shù)上持續(xù)的支持,也感謝 Unity 本次的專訪。
能和我們?cè)敿?xì)介紹下《鬼泣-巔峰之戰(zhàn)》開發(fā)過程中的經(jīng)驗(yàn)與心得嗎?
云暢游戲:作為全球主流的游戲引擎之一,《鬼泣-巔峰之戰(zhàn)》借助 Unity 的強(qiáng)大性能與 Unity 靈活的定制服務(wù),將游戲的 3D 動(dòng)作戰(zhàn)斗做到了極致,具體表現(xiàn)于核心的動(dòng)作設(shè)計(jì)、人物模型、智能 AI、關(guān)卡的設(shè)計(jì)以及音樂和動(dòng)畫的制作等等方面。下面我將就以上幾點(diǎn)作為核心說(shuō)明點(diǎn),具體闡述 Unity 引擎的表現(xiàn)能力在《鬼泣-巔峰之戰(zhàn)》研發(fā)中的運(yùn)用。
角色制作
我們?cè)凇豆砥?巔峰之戰(zhàn)》中不斷優(yōu)化渲染和建模的目的之一便是要實(shí)現(xiàn)主機(jī)端的畫面質(zhì)感,因此,在保證高幀率的前提下,我們協(xié)同 Unity 駐場(chǎng)工程師進(jìn)行了大量深度的效果制作。首先,手游的角色按照標(biāo)準(zhǔn) PBR 流程進(jìn)行制作,并針對(duì)頭發(fā)、皮膚等部位使用了特殊材質(zhì)。在頭發(fā)部位,為了表現(xiàn)更柔順的頭發(fā)效果,我們使用了2 個(gè) pass 來(lái)渲染,所以需要控制頭發(fā)的三角面數(shù)。對(duì)此,我們將頭發(fā)分成內(nèi)層,外層,修飾層 3 層來(lái)制作模型。頭發(fā)內(nèi)層是防止穿模的層,貼圖幾乎是不透明的;頭發(fā)外層是基礎(chǔ)外形,需要基本還原角色設(shè)計(jì),因而表現(xiàn)發(fā)量的貼圖較豐富;頭發(fā)修飾層用以修飾外形,增加細(xì)節(jié),為使頭發(fā)更加生動(dòng),因而貼圖的發(fā)量很少,這些也非常感謝 Unity 官方技術(shù)團(tuán)隊(duì)的支持與協(xié)助。
在皮膚方面,角色皮膚使用了預(yù)積分皮膚次表面散射 lut 圖的 SSS 效果。在色澤表達(dá)上也盡量偏寫實(shí)硬朗的風(fēng)格,以希望可以在網(wǎng)紅臉的模潮流中不落窠臼。
除此之外,為了能夠使角色融進(jìn)場(chǎng)景且更加立體生動(dòng),我們?cè)趫?chǎng)景中預(yù)置了可供微調(diào) GI 的面板,方便我們的美術(shù)調(diào)整角色進(jìn)入到不同場(chǎng)景以后的效果表現(xiàn)。
表情制作
角色表情是對(duì)人物情緒的直接表達(dá),同時(shí)對(duì)環(huán)境氛圍的營(yíng)造有著十分明顯的作用,因此,我們?cè)凇豆砥?巔峰之戰(zhàn)》中著重強(qiáng)調(diào)了人物表情的制作,以期望可以表現(xiàn)出更豐富立體的角色形象。
首先,我們以蘋果的 ARKit 為基礎(chǔ),研發(fā)了一套基于表情捕捉的完整表情制作工作流,這使得我們角色所表現(xiàn)的人物表情更豐富立體,更有“人情味”。其次,我們根據(jù)蘋果提供的表情范例,制作了一套表情模板。但實(shí)際運(yùn)用的過程中,我們發(fā)現(xiàn)這些表情模板因缺乏生動(dòng)性而不能達(dá)到理想的狀態(tài)。于是,經(jīng)過分析與調(diào)試,我們?cè)谔O果原有的 52 個(gè) Blendshape 的基礎(chǔ)上又新增了 36 個(gè)。這樣通過表情捕捉,游戲里的角色就可以活靈活現(xiàn)地被塑造出來(lái)了。
但問題并不止于此,倘若每個(gè)角色都以制作 Blendshape 的方式來(lái)完善表情的話,不僅會(huì)給我們帶來(lái)非常大的工作量,同時(shí)也不能拉齊角色的動(dòng)畫表現(xiàn)標(biāo)準(zhǔn)。于是,基于這樣的情況,我們研發(fā)了 Blendshape 生成工具。
該工具綜合考慮模型的拓?fù)浣Y(jié)構(gòu)以及人類面部的肌肉組成,并利用人工智能技術(shù)在二者之間關(guān)系上進(jìn)行了映射與匹配。在此之前我們令一個(gè)角色具備表情表現(xiàn)力需要 2 周以上的時(shí)間,現(xiàn)在通過這個(gè)工具,我們僅用 2 個(gè)小時(shí)就可以讓角色生動(dòng)起來(lái),并且能達(dá)到符合 CG 制作標(biāo)準(zhǔn)的程度。這不僅保證了角色面部表情的質(zhì)量,也大大縮短了我們美術(shù)組的制作工期。
動(dòng)作制作
01 流暢舒適的動(dòng)作感受
眾所周知,《鬼泣》系列作為動(dòng)作游戲的標(biāo)桿產(chǎn)品,對(duì)于人物動(dòng)作的展現(xiàn)效果有著極高的標(biāo)準(zhǔn)。這些感受不僅體現(xiàn)在華麗的技能動(dòng)作設(shè)計(jì)與打擊感的完美結(jié)合,也體現(xiàn)在最基本的走、跑、跳這些角色基礎(chǔ)動(dòng)作上。對(duì)于動(dòng)作的展現(xiàn),我們的原則一是必須流暢,二是必須合理。
以我們的主角維吉爾為例,它的基礎(chǔ)動(dòng)作從靜止的待機(jī),到慢速移動(dòng)的走,再到跑,再到加速跑。數(shù)值上表現(xiàn)在有不同的速度,而相對(duì)應(yīng)的動(dòng)作也是不同的。為了達(dá)到流暢的移動(dòng)效果,我們將它的速度變化設(shè)定為漸變,同時(shí)再配合以 BlendTree 的設(shè)置,使得本動(dòng)作組最終實(shí)現(xiàn)流暢變化。下圖為某個(gè) BlendTree 的實(shí)際應(yīng)用配置。
輔以其他合理的機(jī)制,比如在加速跑到待機(jī)的過程加入對(duì)應(yīng)的急停動(dòng)作,使得《鬼泣-巔峰之戰(zhàn)》的動(dòng)作感受達(dá)到整體的舒適和統(tǒng)一。
02 動(dòng)作分層對(duì)復(fù)雜行為動(dòng)作的處理
第二方面,《鬼泣》作為動(dòng)作游戲之巔,一向以炫酷無(wú)二的復(fù)雜動(dòng)作在玩家群體間被津津樂道。因此,為了使玩家在《鬼泣-巔峰之戰(zhàn)》中有同樣順暢的動(dòng)作感受,我們加入了動(dòng)作分層的處理方式。下圖為某個(gè)分層處理。
以我們的主角但丁為例,它的雙槍普通攻擊技能是在有開槍行為展現(xiàn)的同時(shí),也會(huì)接收玩家的移動(dòng)操作進(jìn)行指定方向的走動(dòng)。因此,對(duì)于這種復(fù)雜的動(dòng)作我們就需要采用動(dòng)作分層的相關(guān)技術(shù)。將上半身抬手射擊的區(qū)域與下半身雙腿移動(dòng)的區(qū)域進(jìn)行分層與融合,并對(duì)玩家的輸入進(jìn)行反饋,最終實(shí)現(xiàn)了一套完整復(fù)雜動(dòng)作行為的處理。
通過分層方式對(duì)復(fù)雜動(dòng)作的解構(gòu)處理,不僅可以使的我們角色的行動(dòng)更加符合人的正常習(xí)慣,更具有“人情味”,也使得玩家可以在游戲中真正體驗(yàn)到所謂的“巔峰的動(dòng)作表現(xiàn)”。
03 流暢的動(dòng)作切換過程
第三方面,動(dòng)作的切換是玩家可以直觀判斷游戲動(dòng)作是否“僵硬”的標(biāo)準(zhǔn)之一。因此,在動(dòng)作的切換方面,我們對(duì)效果的表現(xiàn)有著極高的要求,包括動(dòng)作資源的制作標(biāo)準(zhǔn)、切換過程的配置等多方面配合。我們把不同的動(dòng)作按行為劃分,可以劃分為基礎(chǔ)動(dòng)作和行為動(dòng)作。其中,基礎(chǔ)動(dòng)作,主要指人物的待機(jī),移動(dòng),轉(zhuǎn)向等;而行為動(dòng)作主要指人物的行為,如釋放技能,受擊,與場(chǎng)景交互等等。
由于這二者并不同一,所以這里我們分開來(lái)講。對(duì)于基礎(chǔ)動(dòng)作來(lái)說(shuō),任何動(dòng)作的起點(diǎn)、終點(diǎn)都應(yīng)該是待機(jī)行為。這就對(duì)待機(jī)行為有一個(gè)標(biāo)準(zhǔn)的要求:不能有特別明顯的大動(dòng)作。除此之外,移動(dòng)一定要有一個(gè)對(duì)應(yīng)速度,且為了 BlendTree 能夠生效,它們的整體規(guī)格務(wù)必一致,比如人物是先邁左腳還是右腳的問題就需納入考慮之內(nèi)。
而對(duì)于行為動(dòng)作,我們又可以進(jìn)行二次細(xì)分,分為主動(dòng)行為動(dòng)作與被動(dòng)行為動(dòng)作。顧名思意,主動(dòng)行為就是由于單位自身上主觀意愿進(jìn)行的動(dòng)作行為,比如釋放技能,被動(dòng)行為就是由其他單位導(dǎo)致自身進(jìn)行的動(dòng)作行為,比如受擊。下圖為某個(gè)切換過程的融合配置:
但是角色的行為表現(xiàn)不論是主動(dòng)還是被動(dòng)都有一個(gè)客觀的需求,就是反饋及時(shí)。所以在進(jìn)行切換配置時(shí),我們考慮到動(dòng)作的流暢性而縮短了行為融合時(shí)間。這樣不僅使得角色攻擊和受擊更加真實(shí),也使得其反饋更加及時(shí)。
關(guān)卡制作
現(xiàn)在市面上大部分 MMO 或者 ARPG 都是平面推怪,場(chǎng)景設(shè)計(jì)比較簡(jiǎn)單,對(duì)應(yīng)的工作流也相對(duì)簡(jiǎn)單——策劃出策劃案平面圖,美術(shù)出設(shè)計(jì)做模型拼場(chǎng)景。但是對(duì)于《鬼泣-巔峰之戰(zhàn)》來(lái)說(shuō),這樣簡(jiǎn)單的關(guān)卡設(shè)計(jì)是全然無(wú)法達(dá)到標(biāo)準(zhǔn)的。
鬼泣系列的關(guān)卡一直都是基于三維尺度的富含多種玩法的復(fù)合空間場(chǎng)景。我們?cè)谑謾C(jī)端也希望去延續(xù)這個(gè)特點(diǎn),因此對(duì)于機(jī)關(guān)、路線、刷怪點(diǎn)、寶箱點(diǎn)等有一個(gè)基于 3D 空間尺度的設(shè)計(jì)。由于需要美術(shù)和策劃配合驗(yàn)證的東西很多,經(jīng)過逐步摸索后,我們創(chuàng)造出了符合需求的工作流程。
首先,策劃基于功能玩法需求,進(jìn)行簡(jiǎn)單白膜的搭建并設(shè)計(jì)主要路線和區(qū)域,在其中用一些簡(jiǎn)單的表現(xiàn)手法表達(dá)局部的玩法。
然后,美術(shù)基于反饋的簡(jiǎn)單白膜進(jìn)行搭建,在其中展現(xiàn)美術(shù)組的設(shè)計(jì)想法和概念。制作后的白膜場(chǎng)景較為精細(xì),并輔以燈光大氣等環(huán)境,方便我們的策劃在其中驗(yàn)證之前的功能設(shè)計(jì)是否有偏差。
在策劃確認(rèn)后,原畫師便基于精細(xì)白膜和前期概念進(jìn)行局部的細(xì)節(jié)設(shè)計(jì),模型師同樣會(huì)在此基礎(chǔ)上快速制作粗貼模型,并將這些只有大體顏色和造型的模型再放入場(chǎng)景中進(jìn)行設(shè)計(jì)的驗(yàn)證。然后由關(guān)卡設(shè)計(jì)師進(jìn)一步進(jìn)行場(chǎng)景深入的操作。
最后,在確認(rèn)了設(shè)計(jì)和制作的具體方向都沒有問題后,模型會(huì)進(jìn)入最終的資產(chǎn)制作。完成后,模型會(huì)整合到最終場(chǎng)景中。因?yàn)樽罱K資產(chǎn)往往是花費(fèi)成本最高的部分,通過以上的流程,就可以減少因?yàn)樵O(shè)計(jì)不合適或者制作不合理導(dǎo)致的最終結(jié)果反復(fù)修改的問題。并且因?yàn)槟P驮趫?chǎng)景中的位置是確定的,近中遠(yuǎn)不同位置的模型對(duì)應(yīng)了不同的精度,也就實(shí)現(xiàn)了對(duì)資源量的可控,進(jìn)而實(shí)現(xiàn)成本的削減。
同時(shí),為了實(shí)現(xiàn)設(shè)計(jì)意圖,我們的關(guān)卡編輯器中也支持了上百種觸發(fā)器和行為,《鬼泣-巔峰之戰(zhàn)》的策劃可以根據(jù)關(guān)卡預(yù)設(shè)計(jì)而隨意排列組合出上千種組合,來(lái)實(shí)現(xiàn)關(guān)卡流程。其次,關(guān)卡中包含小怪、多種機(jī)關(guān)、陷阱、空氣墻、可破壞物、漂浮物、寶箱等多種關(guān)卡元素,通過使用這些元素,策劃可以設(shè)計(jì)出復(fù)雜的關(guān)卡流程和解謎元素,讓整個(gè)關(guān)卡內(nèi)容不再是枯燥的一波波打怪,而是把戰(zhàn)斗,解謎,定制玩法穿插起來(lái),最后配合上精致的美術(shù)表現(xiàn),使得我們的關(guān)卡更加生動(dòng),沉浸感十足。
場(chǎng)景材質(zhì)效果
那么,已經(jīng)實(shí)現(xiàn)基本關(guān)卡的設(shè)計(jì)后,場(chǎng)景的設(shè)計(jì)也必須隨之而上。這一部分 Unity 駐場(chǎng)工程師會(huì)參與游戲新場(chǎng)景的技術(shù)指標(biāo)制定中,舉例來(lái)說(shuō):眾所周知,《鬼泣》作為經(jīng)典的魔幻類動(dòng)作游戲,其場(chǎng)景有著不輸于動(dòng)作的獨(dú)特魅力。所以,在《鬼泣-巔峰之戰(zhàn)》中我們也必須盡力實(shí)現(xiàn)這樣的場(chǎng)景表現(xiàn)。但在移動(dòng)端上,為了實(shí)現(xiàn)游戲的高幀率,相對(duì)角色來(lái)說(shuō)留給場(chǎng)景的資源空間并不是那么多,但是依然需要滿足畫面表現(xiàn)的需求。為此,我們專門定制了一些場(chǎng)景材質(zhì)。
01 PBR 材質(zhì)在室內(nèi)的效果
《鬼泣-巔峰之戰(zhàn)》有大量的室內(nèi)場(chǎng)景。眾所周知,PBR 在沒有燈光的時(shí)候只能通過 AO 來(lái)表現(xiàn)法線效果以增加體積感。但在暗部環(huán)境下沒有法線高光效果,因此,我們通過頂點(diǎn)法線的反方向當(dāng)作環(huán)境光方向,來(lái)彌補(bǔ)手游不能使用多光源而導(dǎo)致 PBR 材質(zhì)在暗部表現(xiàn)不佳的缺陷。
02 高性能冰材質(zhì)
《鬼泣-巔峰之戰(zhàn)》手游中有表現(xiàn)雪原的場(chǎng)景,冰材質(zhì)必不可少??紤]到移動(dòng)端的性能,我們選擇通過 IBL 貼圖獲取當(dāng)前環(huán)境,模擬反射折射效果,使冰的效果更加真實(shí)通透。
通過這些材質(zhì)的運(yùn)用,不僅使得場(chǎng)景的表現(xiàn)區(qū)別于一般 MMO 粗制爛造的場(chǎng)景而臻于完美,更使得游戲的運(yùn)行幀數(shù)能夠保證穩(wěn)定,帶給玩家流暢的游戲體驗(yàn)。
AI的設(shè)計(jì)與實(shí)現(xiàn)
除了以上外在表現(xiàn)的設(shè)計(jì),能夠合理地指令動(dòng)作模組,形成人物與怪物行為概念的基礎(chǔ) AI 也是必不可少的。目前在游戲的 AI 設(shè)計(jì)上,我們采用了行為樹(Behaviour Tree)方案。這里先講解驅(qū)動(dòng)人物行為的基本流程:某個(gè)單位,通過某種方式進(jìn)行決策,決策的結(jié)果生成指令后進(jìn)入隊(duì)列,然后依次執(zhí)行。對(duì)于玩家操作的單位來(lái)說(shuō),決策者是玩家的輸入信息,比如拉搖桿是移動(dòng),按攻擊鍵是釋放技能;而對(duì)于怪來(lái)說(shuō),就是它的行為樹進(jìn)行決策生成指令。
在項(xiàng)目開發(fā)中,首先要有的就是 AI 編輯器和 AI 追蹤器。編輯器用來(lái)對(duì)具體 AI 行為進(jìn)行編輯,而追蹤器用來(lái)驗(yàn)證。下圖為某個(gè) AI 的編輯器的截圖。
在開發(fā)過程中,我們對(duì) AI 的感受體驗(yàn)進(jìn)行了多版本的調(diào)整,以此來(lái)達(dá)到最優(yōu)的 AI 解:既不因過于智能而造成玩家通關(guān)難度過高,也可以適當(dāng)?shù)匕胃咄婕覍?duì)怪物的挑戰(zhàn)熱情。
智能相機(jī)
《鬼泣-巔峰之戰(zhàn)》的相機(jī)系統(tǒng),可為關(guān)卡設(shè)計(jì)提供一種可快速創(chuàng)建復(fù)雜行為的方法。這套相機(jī)系統(tǒng)包含定點(diǎn)、導(dǎo)覽、跟隨、索敵等許多模塊,將其組合在一起后便能實(shí)現(xiàn)游戲機(jī)內(nèi)攝像頭系統(tǒng)的所有內(nèi)容。
借助“智能”相機(jī)系統(tǒng),我們可以輕松地設(shè)置對(duì)象與相機(jī)之間的關(guān)系,并像導(dǎo)演一樣通過觀察鏡頭,構(gòu)圖并跟隨動(dòng)作進(jìn)行操作。即使情況發(fā)生變化,相機(jī)也將按照設(shè)計(jì)的軌跡進(jìn)行拍攝。
智能相機(jī)可以輕松地呈現(xiàn)《鬼泣-巔峰之戰(zhàn)》的豐富多變游戲內(nèi)容。玩家不再需要隨時(shí)控制相機(jī)的位置和朝向,因?yàn)橄鄼C(jī)可以根據(jù)游戲內(nèi)容及玩家的操作動(dòng)態(tài)自動(dòng)調(diào)整姿態(tài),同時(shí)計(jì)算并尋找出最佳觀察方位。當(dāng)需要介紹關(guān)卡的路線時(shí),導(dǎo)覽相機(jī)可以幫助玩家熟悉整個(gè)地圖;當(dāng)需要提示關(guān)卡的線索信息時(shí),定點(diǎn)相機(jī)可以對(duì)目標(biāo)進(jìn)行特寫;當(dāng)主角在關(guān)卡中移動(dòng)時(shí),跟隨相機(jī)時(shí)刻展現(xiàn)周圍的環(huán)境;當(dāng)進(jìn)入戰(zhàn)斗時(shí),索敵相機(jī)用最佳位置告訴主角和敵人之間的位置關(guān)系。
相機(jī)系統(tǒng)保證了《鬼泣-巔峰之戰(zhàn)》高水平的視覺質(zhì)量,并通過實(shí)時(shí)工作流程簡(jiǎn)化了項(xiàng)目開發(fā)的周期。
音效制作
眾所周知,一款游戲的制作基本無(wú)法離開劇情、程序、音樂、美術(shù)等四大門類,而對(duì)于《鬼泣》系列來(lái)說(shuō),配合動(dòng)作打擊的音樂制作便尤為重要。因此我們使用了第三方音頻中間件來(lái)進(jìn)行音頻內(nèi)容的配置,并且由專門的音頻團(tuán)隊(duì)來(lái)進(jìn)行設(shè)計(jì)與制作。
在音效上,無(wú)論是玩家操控角色帥氣爽快的連招、大型怪物撲面而來(lái)的壓迫感、亦或是彈殼掉落的小小細(xì)節(jié),我們?nèi)慷荚谝纛l給與了最合適的表現(xiàn)。
在音樂上我們采用了大量互動(dòng)元素來(lái)進(jìn)行創(chuàng)作:根據(jù)玩家的評(píng)分等級(jí)、關(guān)卡難度的不同,我們的音樂都會(huì)實(shí)時(shí)做出變化,從而帶給玩家最好的沉浸體驗(yàn)。
劇情動(dòng)畫制作
一款內(nèi)容豐富的好游戲無(wú)法離開劇情動(dòng)畫對(duì)玩家的指引,因此,能否將劇情動(dòng)畫合理且完美地表現(xiàn)于游戲中,事關(guān)一款游戲的整體品質(zhì)。《鬼泣》作為經(jīng)典的主機(jī)游戲系列,我們認(rèn)為其沉浸感的重要組成部分就是劇情表現(xiàn)。為了達(dá)到寫實(shí)動(dòng)畫的細(xì)節(jié)程度,我們通過多版迭代,從傳統(tǒng)全手 K 動(dòng)畫的制作方式升級(jí)到包含動(dòng)捕+基于蘋果 ARKit 的表情捕捉+局部輔以語(yǔ)音識(shí)別口型(簡(jiǎn)單對(duì)話表現(xiàn))這樣一整套完整的制作流程,極大的提升了我們劇情動(dòng)畫的表現(xiàn)力。
劇情基于時(shí)間軸制作,能夠匹配所有游戲內(nèi)實(shí)現(xiàn)的效果,甚至可以實(shí)現(xiàn)一些基于性能考慮在游戲中不能使用,但是固定鏡頭可以使用的光照和后處理效果,方便制作人員做出高品質(zhì)的劇情動(dòng)畫。
后處理效果
最后,作為成品產(chǎn)出的《鬼泣-巔峰之戰(zhàn)》務(wù)必進(jìn)行最后的后處理優(yōu)化,以達(dá)到所能觸及的最高表現(xiàn)水平,因此,后處理在我們的游戲畫面中承擔(dān)了很重要的作用。在后處理效果的選用和延展上,我們也是秉承著“尋找高幀率和高畫質(zhì)的平衡”這種理念,盡量用消耗較少的方案去實(shí)現(xiàn)相對(duì)接近主機(jī)的畫質(zhì)。
除了常規(guī)的畫面后期調(diào)校以外,采用后處理增強(qiáng)畫面的打擊感,對(duì)于我們這類硬核動(dòng)作游戲是必不可少的。為此我們基于 Unity Postporcess v2 延展了很多后處理效果,在適當(dāng)?shù)臅r(shí)候播放如徑向模糊、色彩分離、屏幕撕裂等后處理效果,與聲效、特效和按鍵反饋配合,提高戰(zhàn)斗的整體表現(xiàn)力和打擊感。
雖然這些方案原理都并不復(fù)雜,且對(duì)性能消耗比較小,但是結(jié)合使用就能呈現(xiàn)一加一大于二的非常不錯(cuò)的效果。
此外,后處理還為場(chǎng)景定制了一些特殊效果。比如天氣系統(tǒng)。為了減少帶寬,屏幕的雨滴流動(dòng)效果沒有使用采樣貼圖,而是通過 uv 取余后,將屏幕切割成很多塊,通過流動(dòng)這些塊實(shí)現(xiàn)的雨滴流動(dòng)效果。再在屏幕四周加上白色效果,模擬玻璃上霧氣效果,綜合起來(lái)就能非常真實(shí)的表現(xiàn)出雨天的氛圍。
再比如,用上帝光(Godray)配合深度霧、高度霧與主光源結(jié)合,模擬了大氣霧效果。這些都是為了在保持移動(dòng)端高幀率的前提下,高效的實(shí)現(xiàn)高級(jí)畫質(zhì)的表現(xiàn)。
總之,我們?cè)谥谱鬟^程中的整體思路是尋找到畫面效果和技術(shù)追求以及運(yùn)行效率的三方平衡點(diǎn),相信也只有這樣,才能在手機(jī)上呈現(xiàn)出“鬼泣”這一個(gè)純粹的主機(jī)動(dòng)作游戲 IP 的畫面品質(zhì)和游戲精髓。
性能優(yōu)化
除了常規(guī)的優(yōu)化,我們還針對(duì) Metal 進(jìn)行了深度優(yōu)化。比如使用蘋果 GPU TBDR 架構(gòu)里的 TileMemory 來(lái)降低在渲染中的帶寬開銷;利用 Metal 的多線程 DrawCall 提交來(lái)提升渲染效率;對(duì) RT 使用 Memoryless 模式,減少了內(nèi)存占用且避免帶寬開銷;對(duì) depthbuffer,stencilbuffer 做了存儲(chǔ)優(yōu)化;使用 Metal 的 MSAA,增強(qiáng)了抗鋸齒效果;Unity 駐場(chǎng)工程師在為項(xiàng)目做性能優(yōu)化的過程中,發(fā)現(xiàn)項(xiàng)目中存在的 CPU、GPU 內(nèi)存等方面的問題,持續(xù)進(jìn)行優(yōu)化。在這些深度的官方支持下,最終《鬼泣-巔峰之戰(zhàn)》可以在 iPad Pro 上完美達(dá)到 120 幀的效果。
以上,便是 Unity 的功能在《鬼泣-巔峰之戰(zhàn)》具體研發(fā)內(nèi)容上的運(yùn)用。正是由于 Unity 引擎所帶來(lái)的極大的創(chuàng)作空間及 Unity 官方駐場(chǎng)工程師持續(xù)的支持,才使得游戲表現(xiàn)出來(lái)的最終效果更加完美,更加符合《鬼泣-巔峰之戰(zhàn)》的規(guī)劃預(yù)期,希望最后能帶給玩家實(shí)現(xiàn)極致的體驗(yàn)。