成為全球首個鴻蒙游戲引擎后, Cocos這次憋了個3D領(lǐng)域的新大招
印象中,游戲圈一直流傳著這樣一句話:如果研發(fā)游戲的同時還要開發(fā)一款引擎,恐怕超過90%的團(tuán)隊都將倒閉。
篤定判斷的背后,其實是對游戲引擎、以及引擎公司重要性的高度肯定。尤其是在游戲行業(yè)進(jìn)入全球化、精品化時代后,隨著引擎技術(shù)的發(fā)展,專注于內(nèi)容研+發(fā)的游戲CP對引擎的依賴性也愈發(fā)凸顯。
的確,市面上不少人氣游戲都有商業(yè)引擎的身影。例如,全球月流水曾達(dá)10億的《劍與遠(yuǎn)征》、經(jīng)典卡牌系列《少年三國志》,以及《列王的紛爭》和《亂世王者》這類長青SLG,亦或是《保衛(wèi)蘿卜》系列等休閑游戲,背后都不乏國產(chǎn)引擎 Cocos 的支持。
以2D游戲引擎研發(fā)為行業(yè)熟知的 Cocos ,近日發(fā)布了一則由 Cocos 3D游戲引擎制作而成的賽博朋克Demo,以高品質(zhì)的畫面,向行業(yè)展現(xiàn)了一幅光怪陸離的“夜之城”圖景:
隨著鏡頭的切換,清冷躁動的夜色中,一個被絢爛霓虹燈、以及巨幅廣告牌包圍的都市逐漸展現(xiàn)全貌,熱鬧卻罕見地透露出一股落寞。與此同時,天空不斷疾馳而過的飛行器,又為這座城市涂抹上了另一股未來感——破敗與科技共存,可謂是賽博朋克味十足。
不得不說,整體透露的多光源渲染效果令人意外。
老實說,這則高品質(zhì)Demo的出現(xiàn),無疑再次刷新了行業(yè)對 Cocos 的認(rèn)知:過去同行印象中的2D游戲引擎,原來已經(jīng)在3D技術(shù)領(lǐng)域已有頗多建樹。而同樣感到意外和好奇的GameLook,也在第一時間找到了 Cocos ,聊了聊賽博朋克Demo誕生背后的“黑科技”。
也是在這場交流中,GameLook了解到,之前令人驚艷的賽博朋克Demo其實并非源自當(dāng)前內(nèi)部最新版本,反倒是基于今天8月25日發(fā)布的 Cocos Creator 3.3版本制作。
后者不僅提供了豐富的3D能力,同時也進(jìn)一步加強(qiáng)了性能、包括原生平臺和小游戲平臺。其中,小程序啟動性能和運行性能直接翻了一番;而且還使用了面向未來的全新引擎架構(gòu),為引擎帶來高性能、面向數(shù)據(jù)及負(fù)載均衡的渲染器;同時無縫支持 Vulkan & Metal 多后端渲染,未來也將支持移動端 VR/AR 及部分主機(jī)平臺。
基于 Cocos V3.3 ,這支2分鐘Demo藏了多少技術(shù)秘密?
曾幾何時,電影《銀翼殺手》中絢爛迷人的城市夜景震撼了多少觀眾。大量的逆光和大色差鏡頭,營造出了一種只屬于賽博朋克的美,影響了無數(shù)的后續(xù)作品,以至于如今的“電子霓虹燈”,基本被視作賽博朋克作品的標(biāo)志。
無獨有偶,在 Cocos 的賽博朋克Demo中,異彩紛呈的霓虹燈同樣貫穿了建筑群的每一處、占據(jù)受眾的全部視野,很好地演繹了大眾印象中的賽博朋克美學(xué)。
“我們選擇賽博朋克作為這次Demo的主題,也是因為它的光污染風(fēng)格,適合放進(jìn)去大量的光源,體現(xiàn)引擎的渲染能力”,聊到此處, Cocos 高級引擎開發(fā)工程師、本次Demo的制作者youyou也向GameLook介紹,這種獨特光照效果的實現(xiàn),其實是來自 Cocos Creator 3.3版本中延遲渲染管線、Cluster Light Culling、Cluster Reflection Probe等多個特性。
正是依賴于華為貢獻(xiàn)的延遲渲染管線, Cocos Creator 在多光源計算方面得到了很大的效率提升:先把物體繪制到 GBuffer 中,得到渲染到某個像素的最終物體所有信息后;在下一個渲染 pass 里就可以根據(jù) GBuffer 的信息進(jìn)行光照計算、且只需進(jìn)行一次。
同時youyou還透露,基于同華為的合作,新渲染器架構(gòu)可以解決移動端延遲渲染的短板。即使是在手機(jī)上,也能流暢運行這個龐大且復(fù)雜的場景。
不過擁有延遲渲染管線還遠(yuǎn)遠(yuǎn)不夠,Demo場景畢竟擁有成百上千的復(fù)雜光源,每個像素對所有光源都進(jìn)行一次光照計算顯然也吃不消。Cluster Light Culling則能有取舍地剔除掉影響不到像素的光源,按照距離選取最近的光源渲染。
上圖為關(guān)閉光源,下圖為開啟燈光效果
“因為Demo中的光源基本都是靜態(tài)光源、不會移動。”youyou進(jìn)一步向GameLook解釋:“利用這個特點,我們只需要在場景初始化時,將整個世界在3D空間里劃分為16 x 16 x 16 的格子;接著計算每個光源到格子的距離,將能影響到格子并且最近的幾個光源(這個數(shù)量可以控制)的信息放到格子中。然后在光照計算階段時,就可以根據(jù) GBuffer 中世界坐標(biāo)信息計算出當(dāng)前像素所在格子,從中獲取對應(yīng)需要計算的光源信息。”
如果更細(xì)心的話還會發(fā)現(xiàn),Demo中鏡頭俯拍城市時,道路積水也會倒映出對應(yīng)各色霓虹燈的反光效果。而這種飽含真實感的細(xì)節(jié),則是通過IBL (Image Based Lighting ) 實現(xiàn)的。
與傳統(tǒng)做法中,出于移動端性能的考慮,只用一張?zhí)炜蘸凶鳛榄h(huán)境貼圖、或者一整個世界烘焙出一張環(huán)境貼圖的做法相比;為了避免穿幫、追求更高的真實感,Demo里盡可能在不同的區(qū)域中放置反射球,讓每個反射球只烘焙這一個區(qū)域中的環(huán)境信息。
上圖為開啟反射球,下圖為關(guān)閉反射球效果
youyou還提到,不過當(dāng)世界中反射球比較多時,又會出現(xiàn)多光源中碰到的問題,應(yīng)該盡可能只計算影響到當(dāng)前像素的反射球信息。“利用已有的 Cluster Light Culling 邏輯,很容易就可以擴(kuò)展實現(xiàn) Cluster Reflection Probe 的邏輯。”
然而隨著繼續(xù)深入這座“不夜城”,整個Demo隨之給人一種霧氣彌漫卻又通透的感覺,將賽博世界獨有的糜亂、頹敗氛圍表現(xiàn)得淋漓盡致。
GameLook這種直觀感受顯然也在youyou的預(yù)料中,他直言:“做場景設(shè)定時,我們就希望營造一種看上去有霧、但是又感覺視線很通透的感覺。為了實現(xiàn)這種效果,我們選擇指數(shù)高度霧的算法,在場景低處的霧會比較濃厚,越往高處的霧越稀薄。并且天空盒也加入了霧效的算法,這樣高處的建筑的顏色才能跟天空盒的顏色完美銜接上。”
的確,視線上移后幾乎看不見霧氣的出現(xiàn),但取而代之的則是各種飛行物充斥整片天空,再現(xiàn)賽博朋克世界中經(jīng)典的科技元素。
“這里主要使用了我之前寫的一個 spline tool 的插件,這個插件可以讓開發(fā)者在編輯器中自由創(chuàng)建編輯樣條曲線,通過生成的曲線你可以自定義出許多實用的功能。”youyou表示,Demo正是使用了生成的曲線作為飛行器飛行的軌道。只要預(yù)先在編輯器里面編輯多條符合飛行規(guī)律的軌道,運行時定時生成飛行器并隨機(jī)選擇一條軌道放上去即可。
以小觀大,從Demo視頻來看, Cocos Creator 的關(guān)鍵技術(shù)其實已經(jīng)相對成熟。據(jù)了解,最新版本也已經(jīng)統(tǒng)一了 2D 與 3D 的開發(fā)工作流,兼顧輕量與中重度游戲的開發(fā)體驗,融合了幾乎所有 Creator 2.x 與 Creator 3D 1.x 版本的功能。
厚積薄發(fā),3D領(lǐng)域集大成的 Cocos Creator
其實早在2014年左右, Cocos 便已經(jīng)投入3D引擎的研發(fā)工作。只不過沒像2D手游那般一番風(fēng)順,反倒經(jīng)歷了一次罕見地“推到重來”。
“我覺得這只是一個發(fā)展規(guī)律。想要靠一兩年的時間,完全把這個事情做對、做完確實是不太可能的。”在 Cocos CTO 林順看來,第一輪嘗試沒有開花結(jié)果的主要原因,是積累不夠,以及“土壤”問題導(dǎo)致的。
林順向GameLook解釋道,國內(nèi)技術(shù)環(huán)境其實有一個斷代期。手游時代剛興起時,整個行業(yè)的技術(shù)土壤還遠(yuǎn)落后于海外。在這種歷史條件下, Cocos 錯過3D手游時間節(jié)點也許是一個必然,“但現(xiàn)在哪怕是補(bǔ)課,也得一點點把這些東西積累起來,這是一條必不可少的、必經(jīng)的路徑”
必須先積累技術(shù),土壤才會快速成長,不錯過更多的機(jī)會——這是 Cocos 跌倒后學(xué)到的,也是之后繼續(xù)探索3D領(lǐng)域所一直堅信的。
正因如此, Cocos 堅持將每年的利潤全部投入引擎功能研發(fā)、新場景拓展、生態(tài)建設(shè)上。而后也終于守得云開見月明,推出的 Cocos Creator 3.0在延續(xù)2D 品類輕量高效優(yōu)勢的同時,還能為 3D 游戲提供了高質(zhì)量的開發(fā)服務(wù)。
這意味著,基于 Cocos 引擎不光是賽博朋克Demo那樣的復(fù)雜3D內(nèi)容,就連低算力 IoT 設(shè)備的交互 UI也非常適用。而且相較之前, Cocos Creator 適用性更廣、能夠滿足更多需求。既可以開發(fā)出獨立APP,也可以被集成嵌入到其他APP里。
據(jù)林順透露,雖然 Cocos Creator 3.0正式版本問世不過數(shù)月,但已有一些品質(zhì)不錯的原生游戲出現(xiàn)。
例如天美工作室的《一刀大俠》、光子工作室的《魔斗戰(zhàn)境》,曾登頂免費榜的《戰(zhàn)機(jī):代號666》等……與此同時, Cocos 也受到了不少獨立游戲團(tuán)隊的青睞,像是《登場了俠客》、《星空大決戰(zhàn)》、《轉(zhuǎn)一轉(zhuǎn)拼圖》以及海外表現(xiàn)優(yōu)異、月流水達(dá)2億的《口袋奇兵》等頗受玩家喜愛的游戲,也都是基于 Cocos Creator 打造。
跨平臺能力
當(dāng)然作為最重要的游戲引擎之一, Cocos 也注意到時下新熱點——跨平臺游戲。不同的是,相比大廠扎堆在手機(jī)與PC、主機(jī)端的跨平臺, Cocos 更關(guān)注成千上萬中小開發(fā)者的呼聲,聚焦于往一些更輕度、更低算力的平臺——例如小游戲平臺去“跨”。
Cocos 技術(shù)總監(jiān) Panda表示,Cocos Creator 3.3對性能提升做了重點優(yōu)化。特別是在小游戲平臺,版本更新后,游戲的啟動性能、運行性能和物理性能都有了顯著提升。
其中,針對直接影響玩家點擊轉(zhuǎn)化的啟動性能優(yōu)化后,內(nèi)部項目微信云測啟動性能分都能達(dá)到 80 分以上;在此基礎(chǔ)上,也對運行性能做出了優(yōu)化;由于目前微信小游戲全面支持WASM 特性,3.3版本還支持在微信上將 Bullet 以 WASM 的方式運行、大大提升了物理性能,助力開發(fā)者制作更復(fù)雜的物理場景。
同時, Cocos Creator V3.3提升了原生引擎的綁定層級,在渲染管線之上的渲染場景部分完成了原生化,進(jìn)一步優(yōu)化原生平臺的性能,也使得 Web 和小游戲平臺的性能得到肉眼可見的提升。
再加上擁有微信平臺最高的市場占比,可統(tǒng)計到六成以上游戲都是出自 Cocos 引擎。多方優(yōu)勢下,自然也能助力游戲CP實現(xiàn)原生手游、Web 和小游戲之間的跨平臺,更輕松地覆蓋更多領(lǐng)域。
包括前文提到的《口袋奇兵》《戰(zhàn)機(jī):代號666》等游戲,也都是在 Cocos 的幫助下實現(xiàn)原生手游與小游戲的多端發(fā)布。同時Panda還提到,他們也已經(jīng)在為下一代穿戴式移動平臺、比如AR、VR、XR等作準(zhǔn)備,并支持較好的現(xiàn)實融合渲染能力。
而 Cocos 對于扶持CP的這份執(zhí)著,同樣體現(xiàn)在免費開源模式的延續(xù)上。
比起簡單售賣 Pro 版軟件產(chǎn)品, Cocos 更堅定于創(chuàng)始人王哲口中“從競爭博弈思維轉(zhuǎn)向共贏思維”的戰(zhàn)略。選擇與合作伙伴共存、共生、共贏,并依舊維持引擎框架開源、編輯器可擴(kuò)展等傳統(tǒng)。
事實上,也不難理解 Cocos 的初衷,即為行業(yè)帶去更好的平臺和生產(chǎn)工具。恰恰是這份相似的行為邏輯,也成為其首批牽手鴻蒙的契機(jī)。
去年,華為HDC開發(fā)者大會宣布鴻蒙操作系統(tǒng)即將發(fā)布、且支持手機(jī)后, Cocos 預(yù)感到鴻蒙未來必會成為市面上最重要的平臺之一。第一時間與華為團(tuán)隊取得了聯(lián)系,并開始建立合作。
“我們加入,倒不是說為了給生態(tài)帶來多大的效應(yīng),主要還是一種對于國產(chǎn)操作系統(tǒng)的支持。” Panda如是說道。同樣作為國內(nèi)生態(tài)的搭建者, Cocos Creator 也在 HarmonyOS 2.0正式發(fā)布之際,同時推出了新版本,成為全球首家支持 HarmonyOS 的游戲引擎。
結(jié)語
讓游戲開發(fā)更簡單,這是 Cocos 官網(wǎng)的一句話,也是其身體力行踐行的理念。
除了目前探索3D領(lǐng)域所取得的成果外,王哲向GameLook談到, Cocos 未來還將在第三類平臺性能和功耗優(yōu)化方面繼續(xù)努力、適配下一代移動平臺;以及進(jìn)一步降低引擎在費用、技術(shù)方面的門檻等。甚至還計劃在同鴻蒙的未來合作中,探索IoT設(shè)備在游戲行業(yè)的可能性,試圖將娛樂體驗拓展至更多、更豐富的平臺和整個社會。
但GameLook發(fā)現(xiàn),其中被提及最多的,依舊是有關(guān)“生產(chǎn)管線”的重要性,這也是目前國內(nèi)較少團(tuán)隊嘗試的方向。
王哲坦言:“國內(nèi)大多數(shù)團(tuán)隊都希望在渲染表現(xiàn)和運行時能力上做得更好,但其實工具鏈方面,才是我們和國外先進(jìn)引擎的最大差距。”而這將是 Cocos 當(dāng)下、乃至未來的重點發(fā)力方向,即怎樣在生產(chǎn)管線上幫助開發(fā)者更好地使用 Cocos 引擎。
不過王哲也承認(rèn),相比于幾年前,國內(nèi)游戲業(yè)已經(jīng)出現(xiàn)很多不錯的變化,很大程度上得益于騰訊、網(wǎng)易等大廠開始推行的“工業(yè)化體系”。
嚴(yán)格來說,工業(yè)化標(biāo)準(zhǔn)的建立,確實使得整個行業(yè)更加規(guī)范,分工也更加明確、細(xì)化,并將逐步影響到更多游戲團(tuán)隊。在這個過程中, Cocos 也會繼續(xù)堅定地扮演“耕耘者”的角色,助力知識儲備、技術(shù)積累下“土壤”的快速成長,以及整個工業(yè)化體系的完善。
未來隨著 Cocos 技術(shù)的不斷突破,相信還將為玩家和市場帶來更多精品化、跨平臺的游戲,并加速推動行業(yè)大步前進(jìn)。