一个图形引擎的画面风格是由那些因素(技术)决定的?
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. 總結
遊戲引擎(或是具體遊戲經過客制化的技術方案)的多個方面決定了美術上能够做出那些風格。
為了製作獨特風格的遊戲。引擎本身提供的自由度及擴展性也是重要的因素。