一個圖形引擎的畫面風格是由那些因素(技術)決定的?


可能很多人第一直覺會認為shader決定了視覺風格,但我認為可以從多個方面去考慮。

1. 幾何模型

一個畫面由多個成分組成,最基本的應該是其結構,在圖形學中通常稱為幾何模型。

一些引擎,如Quake/UE,有比較強的Brush建模功能(或應稱作CSG),製作建築比較方便。而CE則有較強的大型地表、植被、水體等功能,做室外自然環境十分出色。而另一些遊戲類型專用的引擎,例如RTS/MOBA,可能會有特殊的基於tiling的建模方式。也有一些主要只支持三角形網格(如Unity,雖然它也有簡單的地形建模)的引擎,這是最基本的,所以也最為通用,但在建立某些場景時製作效率和運行效率也可能較低。

圖:Unreal以brush製作基本的建築結構(https://docs.unrealengine.com/latest/INT/Engine/Actors/Brushes/index.html)

圖:CE的地形、植被、水體

理論上,三角形網格是現時光柵化硬體的主要幾何圖元,其他形式的建模方式最終都要變成三角形網格渲染。然而,大部分遊戲使用實時渲染,在性能的限制下,引擎需要使用可見性判斷(visibility determination)、細緻程度(level of details, LOD)。CSG、地型、植被、水體等較專門的建模方式可以更好地提供這些技術。也就是說,如Unity這種較簡單的引擎,因為設計的一些限制,和UE/CE構成遊戲世界的方式有一些區別。

模型也有其他形式的風格,例如體素。

圖:《Cube world》

2. 光照及材質

在藝術上,決定了畫面的構成後,需要決定怎樣去著色(shading)。這是關於光的傳播以及物體表面的互動。

光照包括光源的種類(點光源、方向光源、面積光源等)、靜態/動態、陰影。引擎的渲染管道很大程度上決定了支持哪些光源以及數量,例如延遲渲染和Forward+等渲染管道支持大量的局部光源,而傳統的forward lighting在多個光源會有較多的渲染pass。靜態的光源與靜態的場景可以使用預計算,簡單的光照貼圖(light map)只能捕捉漫反射的效果,而像source引擎的radiosity normal mapping或是一些precomputed radiance transfer(PRT)的貼圖則可以有更細緻的表現。而CE的Light Propagation Volume (LPV)或一些引擎使用到的Voxel Cone Tracing可以帶來某程度的動態實時全局光照。

陰影其實也對遊戲的畫面風格帶來很大的影響。例如Doom3就使用到stencil shadow volume來做到動態點光源的陰影,帶來當時與別不同的畫面風格。

圖:DOOM3 開關陰影、鏡面反射的區別 (http://seiryu.cside.to/3dfps/Doom3/d3-setup.html)

引擎對材質的支持也很影響到畫面風格。現時,照片真實感(photo realistic)風格會以基於物理的著色方法。

圖:基於物理的著色(非實時)。參考 SIGGRAPH 2013 Course: Physically Based Shading in Theory and Practice(內裡包括UE4的相關講義)

當然,不是所有遊戲都追求真實感,也有追求風格化的渲染效果,例如卡通渲染、水墨渲染等。這些風格化渲染,在支持可編程著色器的引擎中通常不難實現。但有時候也需要引擎提供足夠的客制化能力,例如,有些輪廓(silhouette)效果需要更多的render pass及/或render target。

圖:《大神(Okami)HD》。

為了讓美術製作獨特的材質,有些引擎(如UE)提供視覺化材質編輯工具,充分利用這些工具可以增強遊戲場景的多樣性。

圖:UE4的材質編輯器。

3. 動畫、特效及後期處理

除了以一幀一幀的畫面來營造遊戲的視覺風格,動畫、特效這些具時間性的視覺元素也是十分重要的。例如GDC2014中《Infamous: Second Son》談及為了表現超能力而開發的特效引擎。

圖:《Infamous: Second Son》利用curl noise技術製作的視覺特效。詳見 GDC Vault - The Visual Effects of inFAMOUS: Second Son 講義。

後期處理(post-processing)也是對遊戲風格的重要部分。動態模糊(motion blur)、景深(depth-of-field)、bloom、vignetting等用於模擬真實鏡頭的效果,而color grading可以營造出各種遊戲氛圍。

動畫方面,除了常見的以手工編制動畫樹及關鍵幀動畫的技術,有些引擎/中間件也會支持一些基於物理(如布娃娃/ragdoll),以及基於生物力學/人工智慧的動畫方式,增加動畫的真實感。模擬柔體也能製造一些與別不同的風格。

圖:《愛麗絲驚魂記:瘋狂再臨》中利用柔體模擬的頭髮效果。詳見 愛麗絲的髮絲──《愛麗絲驚魂記:瘋狂再臨》製作點滴

4. 總結

遊戲引擎(或是具體遊戲經過客制化的技術方案)的多個方面決定了美術上可以做出那些風格。為了製作獨特風格的遊戲,引擎本身提供的自由度及擴展性也是重要的因素。


一個圖形引擎應該是沒有固定風格。有時候大家覺得UE3的遊戲看起來風格差不多,那是因為製作組大多借鑒了Epic的做法。一旦深入開發,根據自己的需要調整,就形成自己的風格了。

所以嚴格來說是Shader + Art direction。Shader可以自己寫,美術指導更是天(有限的)高任鳥(有限的)飛。


光照演算法決定是偏真實還是卡通

材質其實多數是光照參數,另外用於實現一些現實中沒有的幻想效果

後期處理可以調整整個場景的色調和氛圍

當然,不管技術多NB,最終畫面還是靠美術

好的概念設計,沒有技術美術的配合很難做到位

國內缺技術美術啊啊啊啊啊啊


問題問圖形引擎畫面風格,

首先明確畫面風格定義

其次 需要列出主要有哪些畫面風格,

最後再分析這些畫面風格的影響因素,

這些問題需要從藝術和技術兩個角度分析,

從藝術角度 風格分成古典和現代, 現代藝術有野獸 立體等等, 古典講究寫實,現代藝術不知道講究什麼。

因此遊戲作為一門藝術,也受這些風格影響。 古典寫實講求 人肉攝像機, 要求精確描繪 結構,光影,顏色,這也是一般遊戲引擎追求目標,因為這個目標明確,

遊戲引擎一直解決的主要問題就是如何 最大化模擬自然 效果, 光線計算,陰影計算, 物理引擎, 高精度模型, 貼圖繪製技巧,多種貼圖技術使用, 都圍繞著 如何模擬自然行為這個主題。

像使命召喚就是這類風格。

其它風格最常見是 卡通化風格, 製作方式主要是 卡通化貼圖繪製, 人物模型結構簡化, 稜角分明, shader 計算光照 模擬卡通畫 著色特徵, 甚至 增加渲染 模型的輪廓線等線條, 目標是模擬 漫畫中的畫法特點, 但是即便漫畫也分成 日漫 美漫 港漫 水墨 等風格, 當然即便做出水彩 或者 油畫風格遊戲也是有可能的。

而像體素 或者像素風格遊戲, 其實有點像現代藝術中的 一個採用點畫法的流派, 這個流派的人手腕應該都比較發達, 講究近看是點,遠看是畫。 你看minecraft 中模型是方塊,紋理是像素塊風格, 但是他會根據環境對紋理調整顏色,其實就是一種偽光照。

最近火熱的低多邊形藝術, 這種藝術應該屬於計算機特點藝術風格, 模型稜角分明, 紋理是大色塊,利用 ao 以及 光照計算, 構建出一個 特別的世界。

因此遊戲畫面風格由藝術和技術綜合決定的。藝術是主導技術是輔助, 將藝術中構成一個風格的概念投影到技術中相關概念, 也就找到了影響一個畫面風格的技術因素。


美術指導

別奇怪,做圖形引擎的公司一樣有美術指導。除非它真的光做引擎,連截圖都不放一張。。。


美術和引擎的合作力度


推薦閱讀:

AlphaTest可以在手機上使用嗎?性能是否很差?
計算機圖形學發展前景怎麼樣,現在研究領域一般都分哪些?
如果量子通用機被發明了出來,那麼它會對計算機圖形學的研究產生影響嗎?
3D 渲染裡邊緣切角效果 (Round Corner) 有什麼好的實現方法?
圖像生成的整個過程在 OS 內核以及顯卡內的詳細執行流程是什麼樣的?

TAG:遊戲開發 | 遊戲引擎 | 圖形處理器GPU | 計算機圖形學 | 物理引擎 |