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