一文讀懂遊戲引擎:核心問題、適用場景與下一個十年

胡璇、吳羽發表於2021-07-20
一文讀懂遊戲引擎:核心問題、適用場景與下一個十年

前言:遊戲是科技應用和創新的前沿

1975年,美國國防部向MIT贈送了若干臺單價40萬美元的中型計算機PDP-10,本應用於模擬武器研發的裝置中,更受學生歡迎的卻是一款叫做冒險(adventure)的電子遊戲;2021年,英偉達頂級圖形顯示卡仍然一卡難求,這些原本為遊戲玩家和設計師準備的硬體因超高浮點運算能力等多項效能優勢,被廣泛用於人工智慧和區塊鏈計算;5月26日,虛幻引擎5體驗版釋出,Nanite 虛擬幾何體、Lumen 實時全域性光照和 MetaSounds 等功能,為次世代遊戲、實時視覺化和沉浸式互動體驗在真實感和細節上實現了跨世代的提升。

如果深潛至內容和社交層面的遊戲理解之下,就會看到其更為“硬核”的一面——遊戲不僅是創作和表達的媒介、社會交往的空間,更是科技應用和創新的前沿。遊戲研發技術中的通用技術及工具正在賦能影視、模擬、工業等多個領域,AI雲端計算等新技術將遊戲作為深度應用場景,新硬體與新互動帶來算力和體驗多重突破。未來遊戲將會朝著哪些科技領域突破發展,又將如何助力“超級數字場景”加速虛實融合、創造更多價值?系列文章將從關鍵技術和發展路徑角度,圍繞以下幾個側面嘗試進行解讀。

  • 遊戲引擎
  • 虛擬人
  • 雲遊戲
  • 混合現實裝置
  • AI輔助內容生成
  • ……

超級數字場景:將脫水的網際網路空間再浸泡

科幻作品呈現的未來想象中,賽博空間會越來越場景化,成為集生活、交易、娛樂為一體的“超級數字場景”。比如《黑客帝國》中Matrix世界與現實世界無異,《頭號玩家》VR頭顯背後是多個超現實場景構成的異想世界。

但在當下,當我們點選一個視訊連結時,期待的仍是內容本身,而非想象自己正漫步進一家虛擬的電影院;彈幕增強了臨場感,但仍然很難再現生活中的觀影體驗。從有形的現實場景到網際網路場景,超文字改變了傳統的時空關係,我們在連結間的“傳送門”跳躍。場景在網際網路中成為一個抽象理念,往往不再意味著具體的設施、環境和體驗。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
嗯,這就是我們給網際網路的畫像……

咖啡館、畫廊、美術館、健身房等,並非單純的物理設施,而是承載著公共活動和文化意涵,從而改變人們的態度與行為,影響社會生活,並重新定義了城市場景(Urban Scenes)。這也是社會學著作《場景:空間品質如何塑造社會生活》中的主要觀點之一。

超級數字場景以超大規模、實時可互動的虛擬世界,將被摺疊的網際網路在3D空間中展開,在視覺、聽覺多層面傳達可信、沉浸的豐富資訊。這裡不僅再現日常生活、更實現幻想世界,並提供更多選擇。比如任意兩個地點之間可以瞬時傳送,演唱會在你“坐下”的一刻才會開啟,不斷改變自己的外觀(甚至性別)也並非難事。儘管全功能腦機介面、全感知沉浸技術離我們尚有時日,但《荒野大鏢客2》《賽博朋克2077》等遊戲則切實展示了通向未來的雛形。
一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
可以嗅到風的氣息

遊戲引擎是超級數字場景的“夢工廠”

構建“超級數字場景”的本質是對現實世界的抽象、提煉和再現,需要多種能力:對現實的測量及在數字世界中的重繪,構造外觀和動作逼真的“人”的數字化身,統籌聲音畫面動作等資源,及構建新世界的執行規則。同時,這種能力也須以開放、工具化、易使用的形式提供給各種層級的創作者。當下,最貼近這一能力的是遊戲引擎(game engine)及相關開發工具。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
實現超級數字場景所需的部分技術

遊戲引擎是為了提升遊戲開發效率的一系列工作套件,管理遊戲的畫面表現和互動邏輯。世界知名的遊戲引擎包括EPIC公司的unreal系列,unity系列,CryEngine及部分遊戲公司自研引擎,如EA的寒霜,育碧的Anvil,CDPR的REDENGINE,網易的NeoX、Messiah,騰訊的Quicksilver等。

從工作流程看,遊戲引擎屬於中介軟體。美術資源的建造需要預先在其它軟體中完成,如3DMax、Maya、ZBRUSH製作模型,PS繪製貼圖,Houdini製作場景,動作捕捉獲取動作資訊等,匯入引擎進行整合。音樂音效素材同樣由引擎外的其它工具製作。隨著遊戲引擎應用領域的增加,與工業軟體、模擬應用、影視製作工具的銜接越發緊密。

“創世”並非易事,遊戲引擎儘可能去模擬世界的內外形態,設定基礎物理規則,定義互動方式。遊戲引擎更像一個裝置齊全、工藝先進的巨型影棚,在演員、佈景、燈光、攝像機、導軌依次擺好後,如何讓畫面、運動、互動協調運轉,就是創作者和引擎的工作了。真實世界的資訊量趨近無限,需要做出抽象和簡化。遊戲引擎及相關工具在實時運算、效率優先、追求品質的思路下,解決的三個核心問題是:渲染、物理、動作。

渲染:繪製超逼真的計算機影像

當你在閱讀這行文字時,計算機及一整套協議、軟體正共同施展一個叫做“渲染”(render)的魔法,使得程式碼和資料變成螢幕上可以閱讀的影像。在影視、遊戲中,同樣由計算機將原始資料資訊繪製為一幀幀影像,渲染規模更大、任務更多,最終效果也更為複雜和絢麗。其主要工作一是將3D模型轉化為攝像機前的平面影像,二是儘量準確地還原每個畫素應有的顏色。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年

賽博朋克世界煙雨迷濛,霓虹映照出角色眼中“五彩斑斕的黑”,這背後是計算機圖形學和工程學人數十年孜孜不倦的努力。1974年成立時,ACM  SIGGRAPH(美國計算機學會計算機圖形學特別興趣組)只是由少數學科專家組成的團體,如今已發展為由國際研究人員、藝術家、開發者、電影人和產業人共同組成的國際社群,每年召開SIGGRAPH及SIGGRAPH ASIA頂級學術會議,釋出前瞻性的圖形和互動技術革新。

渲染可能意味著巨大的計算量,效果和效率難以兼顧。當前,渲染被分化為影視常用的離線(off-line)渲染,和遊戲使用的實時(real time)渲染。

影視為了實現纖毫畢現的擬真效果,可以靜靜等待渲染畫面生成,動用的超大計算叢集被形象地稱為“農場”。維塔數碼製作的《戰鬥天使阿麗塔》,主角每根髮絲都是一個需要單獨渲染的“物體”,共超過13萬根。單幀畫面渲染需要100小時,3萬臺電腦不分晝夜工作,排放出的熱氣使惠靈頓氣溫上升。

遊戲則要對玩家的輸入實時反應,射擊類遊戲中,高手決勝往往就在幾幀畫面之間;同時,玩家硬體的計算能力捉襟見肘。因此,效率被擺在首位,視覺上的減法、優化甚至欺騙都很必要。比如將被遮擋的物體剔除掉不做計算;將更精緻、面數更高的模型渲染好,提取光影紋理貼圖放在低面數模型上的漫反射、高光、法線貼圖技術。計算機圖形學和演算法、工程的加持,與作為工具的遊戲引擎一同加入這場“極限挑戰”。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
左:400萬面的高精度模型
中:500面的簡化低面數模型
右:法線貼圖效果-把光影資訊疊加在低面數模型上

實時渲染效果的提升,依賴演算法和算力的共同推進。在3D場景中,如何準確呈現一個多邊形中每一個畫素當下的色彩?這要考慮它的形體、顏色、光線和材質。開啟全域性光照(global illumination,簡稱GI)後,畫面中原本沒有直接光照而漆黑一片的地方,也因漫反射帶來的間接照明變亮,細節和真實度大幅提升。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年

GPU專業圖形硬體發展為渲染特別是光影表現帶來極大提升。比如20世紀70年代末提出的光線追蹤(raytracing,簡稱光追)演算法框架,需要計算視點發出的每一根光線在物體表面反射、折射的情況,來相對準確地還原投影、鏡面、折射的光學效果。但因為計算量巨大,直到2018年英偉達釋出RTX GPU、微軟推出DXR API,硬體層面的實時光線追蹤才成為可能。頂級消費顯示卡2080ti開啟光線追蹤後,遊戲畫面也會迅速下降到30幀甚至更低。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年

物理:錨定新世界的執行規律

數字3D模型至少有兩種構成邏輯:以頂點和多邊形(Polygon)繪製空心的外表面,及用樂高積木一樣的體素(Voxel)由內而外搭建實體。後者更逼近物理世界的構成邏輯,2009年《我的世界(Minecraft)》取得空前成功,非常類似一個高度封裝的體素物理引擎,其建造、組裝、破壞等方式豐富了玩家和數字世界的互動。但巨量的粒子數對實時運算要求過高,材質和細節表現不佳,因此主流遊戲製作仍採用多邊形模式。UE5的Nanite技術,使得畫面中可以同時存在數億個三角形,達到影視級逼真效果。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
體素《我的世界》

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
UE5演示的Nanite技術

現實中,敲碎一塊大石頭會得到幾塊小石頭,兩塊石頭相撞會彈開;在缺乏物理支援的引擎中,分解石頭模型只能得到若干破碎的曲面,兩塊石頭靠在一起則會相互交叉。想要表達物體碰撞、雨水堆積、髮絲飄動、建築破碎,就需要引擎物理特性的支援。世界知名的物理引擎有AMD公司的Bullet、Nvidia的PhysX,還有Microsoft的Havok。物理引擎以概括和簡化的規則,巧妙實現逼真效果。

物理引擎處理的物件主要可以分為剛體(Rigid Bodies)和柔體(Soft Bodies)兩大部分。三位空間裡的球形模型是氣泡還是鉛球,取決於剛體元件的質量、阻力、重力設定;鉛球想要“落在”而非穿過地板,需要設定碰撞器讓二者接觸時就停止運動。國風的武俠、玄幻題材講究“衣袂飄飄”,在布料、髮絲的柔體效果方面積累了很多經驗:一種實現方式類似做雨傘,給布料繫結骨骼,通過牽引骨骼改變布料運動;或者以質點-彈簧模式,模擬布料在伸展、摺疊時的一些力學特性。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
光子在2021年騰訊遊戲釋出會上的技術演示

在引擎中可以設定具體的物理引數,如摩擦係數大小;也可以改變虛擬場景的執行定律。比如使場景中的重力和現實一致,或設定為“重力方向可由玩家操作改變”(遊戲《重力異想世界》)。在物理引擎的支援下,可以在虛擬環境下模擬一些真實場景,比如高中課本中的“在斜坡上拉動載著彈簧和小球的小車”,演示阿基米德定律,或者用強化學習訓練一隻模擬狗學習走路。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
PhysX的FleX特性展示(2015年)

動作:驅動更自然的角色行為

在遊戲美術的諸多環節中,動作調整是個不折不扣的苦力活兒,需要設計師對著照片或者視訊,在關鍵幀一點點手動調節每個關節的位置。找不到感覺的時候,就拉著同事或親自上陣,感受骨骼走向、肌肉發力。要讓角色鮮活逼真,動作的真實度和豐富度都不可缺少。

動作捕捉技術可以高效獲取大量動作資料,並顯著提升真實度,在影視特效、遊戲製作中已成熟應用。2015年前後,動作捕捉的使用難度下降,場地校準、骨骼建模、動作回看所需時間大幅縮短;精度上升,支援對手指動作的捕捉。《戰神4》等3A遊戲在製作影視級過場劇情時,會同時錄製演員的肢體運動、面部表情、攝像機運動和前期錄音。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
《戰神4》之戰神和他的老父親

收集足夠多的動作片段素材是第一步,如何讓動作和動作之間真實銜接,曾經是一個難點。暴力解法是為每兩個獨立的動作之間再做一個銜接動畫,當基礎動作數為100時,需要額外加做至多100*99/2=4950段新動畫。育碧在《榮耀戰魂》中應用的Motion Matching技術,核心是基於大量連續的動作資料,根據玩家的輸入和角色所處的狀態等資訊,自動化的搜尋出最匹配未來角色狀態的動作並播放,節約工作量並使動作連續自然。

在AI加持下,未來將從播放既定動畫,到智慧體自主學習複雜動作。育碧2020年在SIGG發表最新成果《LearnedMotion Matching》(https://montreal.ubisoft.com/en/learned-motion-matching-2/),利用神經網路和深度學習技術,AI能夠抽象出動作和環境間的邏輯,學會爬坡上坎、坐在椅子上等複雜動作組合,更自然地切換動作,切實地與虛擬環境融為一體,進一步減少訓練時間和計算消耗,增加學習的可解釋度和泛用性。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年

不止遊戲:讓虛擬和真實緊密結合

引擎實時渲染的效果纖毫畢現、令人沉浸,與現實場景混合在一起,足以以假亂真;在物理特性和動作方面的積累,可以支援簡單的模擬模擬應用。因此,一些商業引擎開始探索如何為更多行業開放這些能力,並提供更切合需求的工具,逐步應用在對高保真、實時呈現有需求的多種場景,比如建築、影視、汽車、直播、模擬訓練、工業製造、廣告等。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
影視-虛擬製片 UE與Netflix的曼達洛人

過去影視製作中,綠幕拍攝和後期合成依次進行。由於拍攝和製作分離,團隊中每個人的工作都面臨挑戰:演員只能想象著場景表演,人和場景的融合需要大量後期工作,導演不能實時看到拍攝效果,道具和場景師也無法在現場及時調整佈景。

虛擬製片正以實時模式改變製作流程,遊戲引擎助力場景更加真實。片場搭設多面實時LED幕牆,藍天白雲與四周風景真實倒映在演員墨鏡、皮衣等反光材質上。佈景中的山體、雲霧如在鏡頭中效果不佳,也能現場修改。整體提升虛實結合拍攝效率,為藝術家帶來更多靈感和創作空間。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年

《曼達洛人》第1季的過半鏡頭正是這樣拍攝的:有4臺同步的PC執行虛幻引擎,實時驅動LED幕牆播放預先製作好的高精度美術素材。另一方面,三名虛幻操作者可以同時操縱幕牆上的虛擬場景、光照和效果。LED幕牆內的工作人員也能用iPad遠端控制場景,與導演並肩合作。節約外景地拍攝成本的同時,可以利用攝像機中的準確光照和反光拍攝大量複雜的視覺特效鏡頭,並且在片場共同對場景進行實時迭代。《西部世界》《權力的遊戲》等多部影視作品也使用了虛擬製片模式。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
汽車-賦能汽車產業駛向未來

遊戲引擎作為實時3D創作平臺,其技術被汽車行業廣泛應用在設計與工程驗證,內外飾效果與HMI(人機互動),市場推廣與終端銷售,模擬培訓與自動駕駛等領域。

我們常在各種廣告中見到酷炫的汽車外觀展示,在燈光下車身玻璃、金屬和油漆閃現不同光澤,勾勒出流暢生動的車體曲線。遊戲引擎能夠實時渲染出細節豐沛的影像,幫助設計師隨時調整汽車形體、顏色、材質和細節,並加入複雜燈光烘托氛圍,為視訊廣告提供支援。畫素推流(Pixel Streaming)技術可以將模型直接展示在網頁中,供使用者通過任何終端隨時旋轉、縮放,任意觀看。

一文讀懂遊戲引擎:核心問題、適用場景與下一個十年
邁凱倫官網上使用遊戲引擎製作和實時推流的汽車模型

自動駕駛需要大量測試和資料來提升演算法的效率及可靠性,而傳統的道路測試難以滿足。根 據美國蘭德公司的研究,自動駕駛演算法想要達到人類駕駛員水平至少需要累計177億公里的駕駛資料來完善演算法。傳統道路測試成本高昂,存在一定安全隱患,且不能完全展現實際中的多種突發情況。什麼車能不費一滴油24小時連軸運轉,又有什麼場地既能一秒模擬極端惡劣天氣、電動車變道加塞、行人從盲區中走出等突發情況,同時不危害實際道路安全?

自動駕駛模擬系統應運而生,遊戲引擎的渲染、物理能力起到重要作用。例如,騰訊TAD Sim引入UE4,以得到更好的環境模擬效果和更加精準的感測器模擬結果。遊戲引擎的渲染能力可以為模擬場景製作非常逼真的光影效果,以及風、霜、雨、雪等天氣條件的變化。同時藉由物理引擎的力量,可以為模擬世界定義一套與現實世界一樣的物理規則,讓光照條件和天氣條件的變化,包括各種交通元素的行為對模擬場景產生的影響與現實世界一致,這對車輛感知演算法和控制演算法的訓練來說非常重要。目前場景庫中有超過1000種場景型別,可以泛化生成萬倍以上豐富場景,具備每日1000萬公里以上的測試能力。

下一個十年,遊戲引擎還會帶來哪些驚喜

創造一個世界可以很簡單,一張紙,一根筆,加上天馬行空的想象力;創造一個世界可以很複雜,辛苦到上帝都需要休息一天。現有的遊戲引擎如要打造頭號玩家中的“綠洲”,在能力和功能上都相距甚遠。但在硬體算力的加持下,在計算機圖形學家和工程師孜孜不倦的努力下,在藝術家和設計師的巧思妙手中,引擎在向著更強大、更易用、更泛用的方向加速發展。未來,遊戲引擎還將在以下幾方面著力突破:

更強大的全方位表現力,提升沉浸感——包括在畫面上實時提供影視級的真實感與豐富細節,更逼真的光照、粒子特效;物理層面對現實世界更近似的模擬方式;聲音方面更準確還原聲場,與場景深度融合。

更易用及更泛用——將複雜的技術留在冰山之下,讓更多普通創作者以簡單操作實現高階效果,實現面向不同場景、需求和使用者的功能組合;跨平臺能力,對VR\AR\MR等新硬體和平臺更好的支援;探索原生雲遊戲引擎能力,充分利用GPU叢集化渲染能力,探索突破單卡算力的高品質遊戲;增加更多關聯軟體的協同性。

與基於資料驅動的深度學習相結合——輔助程式化生成,提升美術製作能力及效率,使場景的規模和複雜性滿足開放大世界需求,讓角色動作真實連貫,高效完成場景測試。

更廣泛的應用領域——向更多需要實時、高保真畫面呈現,提供沉浸式體驗的行業進行滲透,與機器人、無人機、物聯網等有更多的整合和互動。

面向未來,在虛擬與真實體驗融合、實體與數字全面融合的發展過程中,以遊戲引擎為代表的遊戲技術和工具將具有更泛化的能力,連線影視、工業、模擬等更多領域、功能與服務,創造出更大的社會價值。


來源:騰訊研究院
原文:https://mp.weixin.qq.com/s/409SWJEkLzLPyDnhnUBfKA

相關文章