作者:佰思科學 | 沈東旭 邱亞明
一、開啟黑神話時代
2020年8月20日,一個中國遊戲團隊「遊戲科學」(Game Science)發布了他們製作的遊戲實機演示視頻,一時之間火爆全網。看過之後,確實令人心潮澎湃,血脈賁張。大家如此激動,一方面是因為演示視頻的效果確實好,逼真、震撼,達到了當前國際最高的3A遊戲水準;另一方面則是長期以來國產遊戲,尤其是國產單機遊戲的水平低,這13分鐘的視頻一下子點燃了大家心中的希望之火。甚至有網友這樣表示,就算不愛玩遊戲,這款遊戲上市之後,也要「買、買、買」!
《黑神話:悟空》效果截圖
一款遊戲要做出完美的效果,需要製作團隊的整體努力,設計、美工、程序…通力協同。但在每款遊戲的內核,則有一個元素決定了遊戲效果的上限,那就是--遊戲引擎。
《黑神話:悟空》效果截圖
《黑神話:悟空》到底用的是什麼遊戲引擎做出來這樣的效果?遊戲效果已經很震撼了,難道還能更震撼嗎?讓我們來一一為你解答。
二、什麼是遊戲引擎
汽車要有汽車引擎才能跑,飛機要靠飛機引擎才能飛,手機得有CPU才能運行,而做CPU又離不開光刻機。如果說遊戲是藝術與技術的結合,那麼遊戲引擎就是純·技術活。對遊戲行業來說,它的核心技術就是遊戲引擎。
《黑神話:悟空》效果截圖
遊戲引擎到底是幹嘛的呢?你所看到的每一幀遊戲畫面,都是由電腦實時計算出來的結果。遊戲引擎最核心的工作,就是為你繪製這一幅幅畫面,術語叫做渲染:你看到的場面是不是震撼,是不是吸引人,除了美術設計的功力之外,就要指望遊戲引擎的渲染效果了。此外,它還負責控制遊戲世界中的物理規則,管理聲音效果,處理用戶輸入,為遊戲中人物或物體提供AI,等等。
Unreal是世界著名的引擎
《黑神話:悟空》使用的遊戲引擎叫做Unreal Engine 4,或者簡稱UE4--這是目前最好的單機遊戲引擎之一(個人認為之一可以去掉)。也怪不得《黑神話:悟空》可以做得這麼好,它的核心技術水平就高啊!
Epic Games在美國北卡羅萊納州的辦公室
講到UE4,這裡面有一大串有趣的故事。開發UE4的,是一家美國公司,叫做Epic Games,它的創始人名為Tim Sweeney。
Tim Sweeney
Tim Sweeney可是個神人。
三、誰是Tim Sweeney
Tim Sweeney出生於1970年。小的時候,家裡給他買了一臺Atari 2600遊戲機,讓他見識了什麼是電子遊戲。
Atari 2600
今天的中國人裡很少有人知道Atari這家公司,但在 20世紀70年代初期,那時候個人電腦還沒出現,Atari就開發出遊戲機這種產品,絕對是現代電子遊戲產業的鼻祖。1974年,一個年輕人手裡拿著一個自製的遊戲機板子,到位於美國加利福尼亞州Los Altos的Atari公司找工作,順利得到了一個時薪5美元的技工職位。他就是Atari的第40號員工Steve Jobs。
年輕的史蒂夫·賈伯斯(右)和Wozniak,手裡拿著Apple I電路板
沒錯,喬幫主夥同Steve Wozniak於1976年創立蘋果公司之前,是Atari的員工。而喬幫主帶著去應試工作的那塊電路板,據Wozniak說是他做的,被Atari的老闆誤以為是賈伯斯的作品。
兒童時代正忙著編程的Tim Sweeney
接著說Tim Sweeney。雖然很小就玩過遊戲,但Tim Sweeney對打遊戲沒太大興趣,他喜歡的是編程序。在十一歲的時候,小Tim第一次接觸了IBM PC,並開始自學程式語言,從BASIC(一種程式語言的名字)開始學。後來家裡買了一臺Apple II電腦,他把大部分業餘時間都用在編程序上。Tim回憶說,他從11歲到15歲的五年間,在編程上總共花了10000個小時。算一下就知道,平均一年2000小時,一天差不多6個小時--怪不得Tim Sweeney從小就開始戴眼鏡!
Tim Sweeney從小就被稱作geeky kid,用中文來說叫怪才吧
當然,但凡一個人想做點事,興趣與努力都不可或缺。Tim Sweeney小小年紀就對編程如此痴迷,是個人都能看出來這樣的人長大後必定能成事。Tim大學專業是機械工程,但畢業後他還是想幹軟體做遊戲。他先試著做些小遊戲掙了點小錢,終於決定就幹遊戲這一行吧。1998年,他做出來一個當時很轟動的遊戲,叫做Unreal,一下子賣了好多錢。這也是Unreal引擎名字的由來。在1999年Tim Sweeney成立了一家公司,這就是Epic Games。
1998年一炮打響的Unreal
大家看看這遊戲的畫面,是不是感覺--很渣啊?沒錯,在上世紀末期,這就是當時最好的遊戲畫面水平,而且大家還紛紛讚不絕口。從如此之渣,到現在的栩栩如生,前後不過20多年時間。Unreal引擎又是怎樣一路走過來的呢?
四、Unreal引擎的進化
大家有沒有想過,遊戲中各種各樣的物體,不過是電腦中的一堆數據,又是如何被遊戲引擎渲染到屏幕上面去的呢?
由三角形組成的兔子模型
我們都知道,三角形是最簡單的二維形狀。所有的三維物體,都可以用三角形的組合來逼近,而且三角形的數量越多,模型就越精細。上圖中的兔子模型由不同數量的三角形組成。很明顯,右下角的兔子三角形數目最多,也最精緻。因此,所有的物體在電腦中都以三角形序列的形式來存在。
三維到二維的投影
遊戲引擎在渲染畫面的時候,會根據每個模型在三維空間的位置,將模型上面的三角形一個個地投影到屏幕上面,於是三維場景就被顯示出來了。不過且慢,「上帝說,要有光」--要是沒有光,你什麼也看不見。因此遊戲引擎另外一項非常重要的工作,就是計算光。
室內場景示意圖,如果光不被物體多次反射,你看的圖景是這樣的
聽起來很簡單,其實非常複雜。真實環境中,光線被不同的物體反射、折射甚至衍射,因此我們會看的物體的影子,物體的高光,鏡面、水面的反射,等等。然而,要把光照情況完全算對需要耗費極其巨大的計算量。由於遊戲有實時性的要求,必須要儘量降低計算的複雜度。
真實的室內場景,光在物體之間被反射了很多次
簡單來說,遊戲引擎在渲染方面就是幹了兩件事:第一,把用三角形模擬出來的物體投影到屏幕上;第二,計算每個點的光照情況從而決定它的顏色與亮度。相應地,我們判斷遊戲引擎水平的高低,最重要的就是兩點:1、物體的精細程度;2、光照的真實程度。
Unreal一代的怪物效果
Unreal引擎,從1998年到現在,一共發展了四代。引起轟動的第一代Unreal引擎效果,按照今天的標準來看畫面渣到慘不忍睹。且不說場景光照如何,拉近了看怪物,看起來確實很怪,形態十分粗糙,你要是覺得它是個大樹也問題不大。Unreal一代引擎只是解決了引擎有無問題,距離真實差得太遠。
第二代Unreal引擎效果
第二代Unreal引擎出現在2002年,雖然也沒好到哪裡去,但是絕對比第一代強太多了。模型更精細,而且多少有點光照了。
第三代Unreal引擎效果
第三代Unreal引擎在2006年面世。這一次,人物可以表現得很精細,光照效果已經趨於比較逼真。這時候的Unreal引擎,已經進化到看得比較順眼的地步。
第四代Unreal引擎效果
2012年,Epic Games正式推出了Unreal四代引擎,也就是所謂的UE4。這是真正具有劃時代意義的引擎。上面這張圖,是用遊戲引擎渲染的結果。如果不告訴你,你能看出來這其實不是照片嗎?
使用UE4構建的場景
引擎發展到UE4,渲染效果已經到了相當逼真的程度。有意思的是,在2008年的一次採訪中,Tim Sweeney表示,他是公司裡基本上唯一一個做新引擎研發的人。
五、Unreal Engine 5
有逼真,是不是還有更逼真呢?
nVidia公司CEO黃仁勳
UE4出現到現在時間已經不短了。技術在進步,尤其是顯卡的技術能力,還在按照摩爾定律的步伐穩步提升。按照老黃,也就是nVidia公司CEO黃仁勳的說法,顯卡性能每十年提升1000倍。從UE4出現的2012年到現在,顯卡性能提升沒有1000倍也得有800倍了吧。相應的,引擎渲染效果也應該有一次重大提升了--這就是UE 5。
(UE5視頻)
2020年5月,Epic Games放出了最新的UE5引擎的效果視頻,其真實感令人瞠目結舌。UE5在渲染上的重大提升體現在兩方面。第一,Epic Games通過收購Quixel公司,搞出了Nanite引擎,建模軟體建出來的超高精度模型可以直接交給Nanite處理,模型的三角形數量有了巨幅提升,因此畫面可以十分精細。下圖是由Unreal 5渲染出來的畫面。我們可以看出,模型的真實感已經無以復加。
場景的精細程度
另一方面,在UE5裡負責光照的是Lumen,能實現對動態光的全局照明管理。也就是說,畫面裡面的光都是實時計算出來的。
動態光照的效果(GIF動圖)
此外,UE5還使用了Niagara模擬水體效果,Chaos作為物理引擎。
UE5預計在2021年底前後面世。到那時單機遊戲的顯示效果,又會有一個巨大的提升。
六、結語
遊戲引擎的發展趨勢,是把當年你在電影院看大片的效果直接帶到你的眼前,畢竟顯卡的計算能力每十年就能提升1000倍,你可以算算二十年的話提升多少倍。單機遊戲也好,網路遊戲也好,它們背後支撐的核心技術都是遊戲引擎。
前不久,任正非在感慨美國制裁帶來的影響時說,他發現最根本性的還是數學和物理學,要想搞核心技術,離不開數學家和物理學家。遊戲引擎技術,可能看似不起眼,要想搞好也需要紮實的數學和物理學功底,並不是一件簡單的事情。
中國的遊戲產業,長期以來在低水平上遊蕩,國家也不重視這樣的邊緣領域。不過遊戲業算是虛擬實境技術應用的一個分支。虛擬實境技術,未來有著巨大的發展空間。凡是有志於這方面發展的企業,都應該立足於掌握核心技術,才不會從根本上受制於人。
正文到此結束。下面的一點點內容純屬胡思亂想,建議大家略過不看。
七、胡思亂想
UE5的效果那麼的逼真,有人可能會想,渲染引擎技術發展到這種程度,是不是已經到頭了。當你已經分辨不出來眼前的場景到底是電腦模擬還是實景拍攝的時候,渲染引擎技術確實發展到頭了,但這並不意味著虛擬實境技術發展到盡頭。
虛擬實境(VR)技術
虛擬實境技術要讓人體會到類似於真實的感受,甚至讓人分辨不出來真與假。人類的感知方式,除了視覺和聽覺,還有味覺、嗅覺和觸覺呢。就算模擬好了視覺和聽覺,還需要味覺、嗅覺和觸覺的模擬全跟上,這才是真正意義上的的虛擬實境。
你可能會想,味覺、嗅覺和觸覺該怎麼模擬啊?這些感覺,都是由大腦特定區域來負責的。如果能夠刺激大腦相應的區域,你就會得到相應的感覺。可這又如何做到呢?
VR頭盔
那麼腦機接口技術可以了解一下。簡單來說,科學家正在發展一套方法,能直接讓外界刺激大腦區域。暢想一下,在遙遠的未來,你帶上VR頭盔之後,就可以真正的沉浸式、全感覺地獲得虛擬體驗,對你可有吸引力?
1999年美國電影The Thirteenth Floor
既然一切感受都可以模擬了,你可曾想過,我們這個世界,看起來是如此的真實,它是否也是模擬出來的呢?不要笑,科學家還真提出過這樣的問題。有一個有趣的電影,建議大家有機會看一下,名字叫做The Thirteenth Floor,中文名《異次元駭客》。
The Thirteenth Floor劇照:接受腦掃描之後可以進入虛擬空間
話說有幾個科學家開發出了一套虛擬實境技術:你躺在臺子上,大腦被掃描之後,就可以進入一個虛擬空間--這個虛擬空間搭建得跟人類社會一模一樣。
電影裡的虛擬空間模擬的是美國二三十年代的場景
其中一個老科學家玩這個上了癮,在虛擬空間裡交往了許多異性朋友,把在真實空間想幹不敢幹的事都幹了,因此樂此不疲,但後來出了事,被謀殺了。經過一番曲折的調查之後,這些科學家發現,他們自己所在的空間竟然也是模擬出來的!
原來遠遠看去,他們所在的城市就是一堆三角形
如果我們所在的空間也是被模擬出來的,那麼必然有一群高高在上的神仙般的人物,在時刻觀察著我們。至於神仙們會不會有時也下凡和我們一起玩,那就不得而知了。