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

編者按:本文來自微信公眾號“騰訊研究院”(ID:cyberlawrc),作者:胡璇、吳羽,36氪經授權發布。

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

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年成立時,ACMSIGGRAPH(美國計算機學會計算機圖形學特別興趣組)只是由少數學科專家組成的團體,如今已發展為由國際研究人員、藝術家、開發者、電影人和產業人共同組成的國際社區,每年召開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集群化渲染能力,探索突破單卡算力的高品質游戲;增加更多關聯軟件的協同性。

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

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

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

參考文獻:

1.觸樂,周思沖《1975,用造核彈的機器玩游戲》https://www.chuapp.com/article/280104.html

2.虛幻引擎5搶先體驗版文檔介紹https://docs.unrealengine.com/5.0/zh-CN/

3.【加】丹尼爾•亞倫•西爾、【美】特裡• 尼科爾斯•克拉克著,祁述裕 、吳軍 譯《場景:空間品質如何塑造社會生活》,社會科學文獻出版社,2019年

4.虛幻引擎官方文檔,https://www.unrealengine.com/zh-CN/blog/forging-new-paths-for-filmmakers-on-the-mandalorian

5.虛幻引擎官方文檔,https://www.unrealengine.com/zh-CN/spotlights/unreal-engine-a-high-spead-engine-empower-auto-industry

6.知乎,下一個十年(2020後),游戲引擎技術會如何發展?

https://www.zhihu.com/question/364032123

本文經授權發布,不代表36氪立場。

如若轉載請註明出處。來源出處:36氪