本文主要是介绍一个图形引擎的画面风格是由那些因素(技术)决定的?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
可能很多人第一直覺會認為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. 總結
遊戲引擎(或是具體遊戲經過客制化的技術方案)的多個方面決定了美術上可以做出那些風格。為了製作獨特風格的遊戲,引擎本身提供的自由度及擴展性也是重要的因素。
这篇关于一个图形引擎的画面风格是由那些因素(技术)决定的?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!