專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」

以撒 發表於 2021-05-20
騰訊
前幾天的釋出會上,騰訊在新增的技術探索環節,放出了《天涯明月刀》(下稱天刀)的技術Demo演示。在這個短短56秒的視訊被上傳到B站後,許多彈幕的反應都相當一致——這是真的嗎?不是畫大餅?

這種疑問不難理解,畢竟視訊中展現出的視覺效果,在國內產品中幾乎是不存在的。這種實體掃描的高精度已經很考驗效能了,再加上基於光追的動態全域性光照——注意,是動態——每一秒要渲染的計算量,放到電影製作中幾乎都能耗費一整天時間。換句話說,這簡直是要讓引擎吃草擠血。

想把這種畫面大規模適配到遊戲中,和做一段CG要花的力氣可是天差地別。其背後的投入之巨大、過程之艱難,可能比拍攝頂級大片還不遑多讓。

如今,騰訊顯然已經把技術研究放到了遊戲業務的第一位。在種種選擇下,天刀是怎麼做的,又經歷過什麼?最近,葡萄君和騰訊遊戲北極光工作室群客戶端技術總監安柏霖聊了聊。在採訪中,他解釋了Demo中的核心難點,以及天刀專案組技術迭代的歷程、技術選型與思路的改變。

以下是經過整理的採訪內容(與群訪內容有所整合):

水面上的影視化「招式」,與支撐它們的「內功」

葡萄君:這次的技術Demo用到了哪些技術?你們想通過它展示什麼?

安柏霖:這次的Demo,是為雲上之城這張地圖準備的。天刀基於我們自研的遊戲引擎QuickSilverX開發,在這次技術更新之後,遊戲品質進一步影視化。

我們可以把這個視訊想象成一座冰山——分為水面以上和水面以下。水面以上有三種技術,從畫面中就能看出來:基於光線追蹤的動態全域性光照、影視級光照模型、實體物件掃描。

葡萄君:這些技術,都是為了讓畫面看起來更真實嗎?

安柏霖:是的,我們相當於在把電影做成遊戲。但在這方面,當前遊戲行業製作方式體系性普遍還不強。而影視方面已經沉澱得非常好了,我們就是按電影製作的方式來思考這個問題的:因此這些技術不是獨立的幾項,而是一整套——從研發技術到製作體系,再到思考問題的方式,我們全都換成了影視製作的思路。

葡萄君:這個影視製作標準怎麼理解,難度大嗎?

安柏霖:還可以。比如之前製作一個物件,就是在引擎裡某個場景看看是不是夠好,這是一個普通的、不夠標準化的流程。什麼叫標準化?比如我要做一個石燈臺,原畫要先列出材質、破損度等描述,並且找到一個參照,再交給美術製作。

做完之後,美術還要截出三種標準光照環境下的圖片——晴天、陰天和室內,再附上參考圖交由leader稽核。這個過程的學名叫LookDev。有些少數特別牛的人可能不需要這個流程也能做好,但如果想讓一支美術團隊快速穩定地做好這件事,就需要有這樣的流程。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」
LookDev開發過程

這個過程有點像做化學實驗。比如我們會在室外放一個水泥質感的灰球、一個鏡面質感的鎘球,用相機捕捉不同材質物體的光照來對比,還挺有意思的。

葡萄君:為什麼非要用電影的方式做?遊戲製作的技術,應該也能做到這種寫實效果吧?

安柏霖:注意,寫實與真實是兩回事。寫實是一種風格,真實是讓玩家和觀眾感覺到,這個東西雖然是誇張的、藝術化處理的,但不違和。比如卡梅隆拍的《戰鬥天使阿麗塔》,角色一看就是藝術化風格,但感覺和現實不違和,融合得很好。人眼是敏感的,稍微有點不對勁就會感覺失真。怎麼做到真實?這裡電影已經做到爐火純青,我們遊戲就也要確保,每個環節都和拍電影一模一樣。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」
《戰鬥天使阿麗塔》劇照

葡萄君:怎麼個一樣法?

安柏霖:可以用影視級光照模型舉個例子。在目前能玩到的產品中,可能只有《使命召喚》的模型比較接近影視級,其他基本都是遊戲光照模型。

從流程來講,比如我們的美術在製作物件時,會和參照反覆對比。這裡有一個概念:Turntable——一個旋轉的桌子。比如說威爾史密斯演的《雙子殺手》,裡面有些摩托車的特技鏡頭就是渲染出來的。怎麼做呢?把摩托車360°旋轉,對比建模和真實物體的一致程度,摳得非常非常細,這就是電影做法。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」
《雙子殺手》劇照

我們的美術也這樣做,但都做不到我們滿意的效果,我們做了很多研究、刷了大量論文之後,發現是底層光照模型的問題,用它做不出影視級的真實感。最後我們發現arnold渲染器是比較好的(它曾經被用於《冰與火之歌》的CG製作),使用了類似arnold渲染器的光照模型,才得到比較好的效果。

那時典型的範例是這樣的:

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」
圖中三排分別是照片、離線渲染器和QuickSilverX引擎的實時渲染結果

葡萄君:這些技術難實現嗎?

安柏霖:這三項技術在市場上的遊戲中不多見,但並不是因為技術本身難以實現,它們在影視行業裡已經存在很多年了。

電影級的渲染技術成熟到什麼程度?舉個例子,在20年前有一部電影叫《珍珠港》,裡面有大量的飛機鏡頭,後來我看了論文才知道,那些都是用CG渲染的。所以真假難辨這一點,在技術上早就不是問題了。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」
《珍珠港》劇照

葡萄君:那技術升級的核心難點在哪?

安柏霖:我們內部有一句話:遊戲畫面技術的核心問題就是效能問題。遊戲畫面屬於實時圖形學領域——電影渲染一幀畫面,可能會用幾個小時甚至一天;但在遊戲裡,要在一秒鐘以內渲染60幀畫面。所以真正的難點就是,怎麼把耗費如此之高的技術撐起來。

這就是水面下支撐著冰山的部分。換句話講,前面那些技術都是招式,但打出來靠的是內功。

葡萄君:優化效能這件事,花了你們多大功夫?

安柏霖:我說一個天刀手遊的開發資源分佈,來讓大家更好地體會:天刀手遊所有的畫面特效,都是我們團隊裡90後的小朋友做的。那些技術力高N倍的老司機,他們全都在圍繞效能做架構調整、演算法優化,最後才能讓這麼多高精度資源、圖形特性在畫面裡顯示出來。

其實QuickSilverX引擎本身的名字也在說明這個問題——它指的是《X-man》裡的快銀。之所以起這個名字,就是基於我們對於實時圖形學核心問題的認知。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」
快銀具有高速思考、高速移動的能力

葡萄君:拋開名字,引擎本身的特性應該才是重點?

安柏霖:是的。各種優化的本質,用一句話講,就是引擎要有一個核心的擅長點,我們內部講叫垂類專業引擎。

比如《刺客信條》主打攀爬。你在手柄上傻按,角色就在主城裡上下翻飛、跟人猿泰山似的,給玩家一種如此流暢的感覺。為什麼能做到?因為它的引擎圍繞攀爬這塊做了系統級的工作。

再比如《彩虹六號》主打破壞。它做破壞這件事,是不是有個破壞系統?不是,是深入到系統的每一塊。打個比方,如果我是參加百米賽跑的運動員,那我身上每一塊肌肉都要為短跑做準備,不能練多餘的肌肉,也不能有任何贅肉。

而QuickSilverX主打的就是效能。我們在每一個模組都要做出最大的優化,以此獲得極大的效能優勢,然後才能把省下來的計算量,投入到畫面表現中來。

葡萄君:這會讓它和一般的商業引擎有多大差別?

安柏霖:在天刀裡,你就能看到非常明顯的差別:我們能做到在超大地圖裡,讓幾百個高精度的角色同屏團戰。

地圖大小、角色精度、同屏數量,這三點是互相矛盾的。就好比給你一百塊錢要你做一頓晚餐,不僅肉要好、菜要好,連餐具都要好——那你得把一百塊用成兩百塊:這就是引擎的效能核心要做的事情。有這樣的效能打基礎,我們才能承受住影視級的畫面表現。

葡萄君:這樣看來,引擎在高品質研發中的地位相當關鍵。

安柏霖:是的,是非常關鍵的一點。未來我們會有一種趨勢:頭部團隊在垂直領域持續深耕,從而湧現出更多垂直領域的專業引擎。

我之前在育碧工作,親身經歷了國外的發展過程。全行業熟悉通用的商業引擎之後,頭部廠商想做出優勢,就要在垂直領域縱深挖掘、長期積累。像《戰神》《美國末日》都有大量系統,是歷經10年級別時長演化出來的,而商業引擎的面向大盤的通用化設計思路,以及換代後會沖掉團隊積累的特點,決定了它最終無法做到專業引擎的高度。

所以我們看到《GTA》《使命召喚》《對馬島之魂》等高品質大作,都出自各個頭部廠商的自研專業引擎。EA、Activision、育碧等頭部廠商,也無一例外使用自研專業引擎。自研專業引擎,可以說是遊戲開發商技術實力的關鍵體現。

「最快的進步方式,就是和真正的高手過招」

葡萄君:效能優化這件事,對你們來說過程會痛苦嗎?

安柏霖:說起來會帶點雞湯味兒,但我們覺得做效能優化是一件挺high的事兒。有時會有壓力,但你問我們願不願意再做一遍,我們還是願意。

葡萄君:但也很容易遇到瓶頸吧?就像摩爾定律有上限一樣,演算法也會有優化的極限。

安柏霖:至少目前沒遇到,因為這個行業在過去十年發展很快,比如圖形APl directX11、12上線,都帶來許多底層變化;近年來以光追技術為代表,又有一大波技術升級。而我們在這種技術浪潮中,是要不停調整、擁抱新技術變化的,上限可能永遠都摸不到。

葡萄君:你們會熱衷於追逐技術浪潮嗎?

安柏霖:不能簡單地說“是”還是“不是”,因為遊戲行業裡就有很多捨本逐末的反例,追新技術導致產品研發和品質出現問題,這是我們堅決反對的。

新技術我們當然喜歡——我們團隊作為發燒友會第一時間研究,基本一兩個小時內,群裡就開始轉發、討論。比如最近剛出的《地鐵逃離》加強版,有當前行業裡最好的光線追蹤實現,這個出來之後,團隊很快就分析得八九不離十了。

但趕潮流其實是我們團隊的第二屬性,務實才是第一屬性——我們不會趕對產品品質缺乏幫助的潮流。

葡萄君:那你們趕過什麼潮流?

安柏霖:DX12、光追技術、基於深度學習的超取樣技術(DLSS)等等。

像之前DX12上線,在引擎中整個旋轉體都要換一種想法去做。渲染模組底層重寫倒不至於,但至少50-60%的模組都做了巨大規模的調整。到了這裡,就要拼你對新一套技術的理解有多深刻、對原有引擎的駕馭能力有多強,以及程式設計功底有多紮實。

當時NVIDIA告訴我們,我們就第一時間去升級,讓天刀在幾個月內,成為了國內市場上第一個上線DX12的遊戲。而且是從DX9直接跳到DX12,這個幅度和速度,連NVIDIA都非常吃驚。

葡萄君:當時行業裡普遍用的是什麼版本?

安柏霖:DX11居多。所以我們當時面臨2個選擇:要麼跟大部分遊戲一樣,升級到DX11;要麼挑戰一下更艱難的,直接升級到DX12。最後我們選擇面向未來。

葡萄君:既然艱難,為什麼還要這麼決定?

安柏霖:這就要說到《無限法則》的經歷了。談《無限法則》開發和談天刀開發是一樣的,因為我們都是一幫人,引擎也是同一個。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」
《無限法則》的Steam頁面,評測數超過9.5萬

當時《無限法則》在Steam平臺上線,本來我們的期望可能沒那麼高,不至於和一些大作比誰更牛。但上線之後,國外玩家的要求一點不低,他上來就拿你跟《使命召喚》《戰地》比,然後打差評、說手感不對。

葡萄君:手感怎麼不對?

安柏霖:我們問了組裡一些策劃和網上的主播,他們都沒反應出來。測來測去才發現,是從滑鼠按下去到開槍之間的響應,差了3毫秒。

葡萄君:這屆玩家真的很嚴格。

安柏霖:是的,這就好比我從二三線城市到上海開一個小館子,也沒想著做那麼高階,但來的人卻是每天吃高階日料的那種。但是有反饋肯定就要想辦法彌補,讓他們把差評轉成好評。怎麼辦呢?我們就要快速進化,必須做到和《使命召喚》《戰地》一樣好。

葡萄君:那你們是怎麼覆盤這個經歷的?

安柏霖:這是一個至關重要的學習機會,也給我們團隊帶來了一次質變。我們內部總結,包括Ethan(騰訊遊戲北極光工作室群總裁於海鵬)在戰略大會上也有過這樣的總結:什麼是最快的進步方式?就是和真正的高手過招。

就像看職業籃球賽一樣,在場下看覺得也還行吧,但當你上場跟選手對線,就會發現差距是真的大。而就是在這種過程中,我們從根本上改變了團隊意識、重新定義了目標。後來我們再談到水平,根本不會說做出來在國內是什麼段位,直接就拉到全世界的高度。

在這樣的大環境下,想和世界級頭部選手拼,就得有多大勁兒使多大勁兒,總是follow是跟不上的。所以以前天刀2015年剛上線的時候,我們的整體思路是在技術選型上避免有短板。比如執行效率、低配支援更好,以此獲得更多使用者。但最近一兩年,我們開始強調長板理論——即使十個方面有六七個都不如《戰地》,你總得跟玩家表達出來:我還有一兩個比他好呢。

葡萄君:這種改變,對天刀的影響是不是很大?

安柏霖:有一種潛移默化的影響。之前大家總會顧慮這樣那樣的問題,但之後團隊對一些事能不能做、該不該做,閾值提升了一大截。我們說的話變成了:“這個東西能不能「炸出來」呀?”也就是能不能炸裂。不炸裂、不給力,那就不行。

我們還會讓不瞭解技術細節的美術來提意見,因為技術人員知道一件事的邊界,容易被限制住。但美術不知道,就會說“這跟原來沒啥不一樣啊?要有明顯區別才行!”有時他們提出了理論上可行,但很難完成的挑戰,我們也儘量想各種辦法完成,技術上做不到就用別的方法彌補。

葡萄君:讓美術給技術提需求,還挺少見的。

安柏霖:美術也會想很多辦法,比如技術Demo裡房簷上滴水的鏡頭,我們用光照的純技術手段做出第一版後,水珠會莫名其妙地往下滴,美術看到後就說,水哪來的?這樣的視覺效果不符合邏輯。最後他費了老大勁,做了一個貼著房簷往下流水的效果。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」

葡萄君:我看你在知乎上提到過,天刀曾經在六個月內有非常大的變化。除了技術移植之外,可能也是因為有這樣的影響,更敢放開手腳了吧?

安柏霖:是的,而且在這個過程中也建立了自信。一開始我們跟高階產品對線,有種別人在研發高鐵,我們在研發內燃機車的感覺。但後來我們開始升級DX12、動態GI,NVIDIA會經常和我們進行技術交流,我們的技術成果也得到了他們較高的評價。

這種事情接二連三發生之後,我們發現自己實力真的也不差——對比市面上的大作,我們有些技術水平至少是不輸的。

向著「震撼」前行

葡萄君:你覺得對技術人員來說,除了提升實力,還有什麼點比較重要?

安柏霖:做開發人員,創作衝動是極其重要的。之前我隨隊去澳大利亞旅遊,那裡的氣候和風景讓人心曠神怡,也給我一種衝動,想在遊戲裡把這些東西做出來。包括這次雲上之城的地圖,我們也有一個願景:把張家界搬到遊戲裡。

葡萄君:這一點挺有趣的,我還以為技術人員不會太關注創作。

安柏霖:我提到過一本書:《程式設計師的思維修煉》,裡面有一個觀點是這樣的:程式設計師可以大致分為初級、中級、高階、大師級。到了大師級,他的行為和思考方式會變得像藝術一樣。

當記憶熟練到一定程度,思維就會固化到大腦裡,從左腦推理變成右腦思考,速度特別快。因為左腦是CPU,右腦是GPU。這時你的行為模式會很像藝術,當然,做的事情還是寫程式碼,但會跟美術高度相通。

葡萄君:你現在是什麼樣的狀態?

安柏霖:可以這樣描述:思考演算法和架構,對我來講是一件非常愜意的事情。我始終在大量寫程式,這對我來講,就像吃飯說話一樣非常自然,也經常能進入一種“無我”的狀態。甚至在看現實世界時也會有不同,比如看到人們坐在會議室裡,我的腦中就會反映出,他們的頭髮如何反射光照、光照在皮膚裡如何傳播……有一種和技術進一步融合的感覺。

這也讓我在玩遊戲時,會比一般玩家多一層快樂,因為我能欣賞到額外的美。像是一個廚師品菜,除了味道還能品出手法的精妙。我們團隊的狀態也比較相似——我們在研發的過程中,不是那種敲鑼打鼓、猛剛猛幹的風格,更多是沉浸地思考與開發。

葡萄君:我看你們團隊狀態也挺不錯的,你在知乎上還發了團建照片,都是非常朝氣的年輕人。

安柏霖:仔細看看你會發現,我文章裡最多的關鍵詞是「Hardcore」。若干年前,我們團隊裡的肥宅是比較多的,但以Hardcore的態度來說,任何事都要做到用專業角度看待。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」
在知乎主頁上,安柏霖自稱為HardcoreDeveloper

我們內部有一個觀點:要看清一件事的導數。導數的定義不知道你還記不記得,就是函式曲線在某一點的變化率。不同因素會有不同的變化和影響,比如好的專案比好的技術更重要,因為好專案能帶來好技術,是更高維度的一種資源。

當維度不斷往上推,就會體現在人的智商層面。我們覺得最高維度的資源有三個:智商、文化、體魄——也就是健康。文化決定你做一件事是high還是不high,決定你覺得一件事是獎勵還是懲罰。

有一段時間我們就在討論體魄的問題,研究來研究去,我們覺得鍛鍊這件事也得專業啊!後來團隊裡體能好、身材好的人就多起來了。我們內部有一個機器人,下午三點半和晚上的時候,如果你在公司,它就會提醒你去鍛鍊。

專訪騰訊北極光技術總監:自研引擎11年,我們只想創造「震撼」

葡萄君:你希望團隊有什麼樣的目標和氣質?

安柏霖:我在知乎上發過招聘貼,我們團隊有一個非常清晰的願景:要把那種極強的震撼帶給玩家。我們團隊里老中青三代,現在00後都開始實習了,我收集過一個資訊:什麼作品震撼過你?

小一點的同學,他們覺得《指環王》《阿凡達》特別牛逼。我們80後這代人,普遍得分比較高的是《終結者2》。那個在當年給我震得……那時候我就十歲,有一天看了《終結者2》,讓我感覺這個世界很神奇,有一種被啟發、被Inspire的震撼。

我們選出來這些作品,就是想把這種感受帶給玩家。一定程度上,我們想做的其實超越了畫面本身,因為那是大家容易get到的點。在動畫、物理等等方面,我們都希望能帶來這種震撼。

所以包括這次技術升級,我們也不是奔著影視去,而是奔著震撼去的。

葡萄君:有種傳承的感覺,有人被好作品震撼到,就自然會想用自己的作品震撼別人。

安柏霖:是的,而且震撼的背後往往伴隨著極強的技術背景。我們80後受《Doom啟示錄》的影響比較深,後面的人可能不太知道。我們組內比較流行的一本書叫《創新者》,講的是在計算機還只有雛形的年代,有一群理想主義的人,他們一邊狂熱地研究著計算機,一邊還寫出了《弗蘭肯斯坦》那種科幻小說,一路發展到現在這麼發達的網際網路行業。

這些人通過技術,完完全全改變了世界。包括《Doom啟示錄》的作者卡馬克也深受《黑客》影響。做技術對我們來講,本質上不是一種負擔,如果專案不是很緊,其實是一種享受。

我們可以想象一下,未來我們可能生活在虛擬世界裡面,這個世界從哪來?可能就是一代代遊戲人,抱著這種想創造震撼的心,你震一下我震一下,震了20年,世界就被改變了。


來源:遊戲葡萄
原文:https://mp.weixin.qq.com/s/qjhNZiTCsWdhF20bj99Y8Q