码迷,mamicode.com
首页 > 其他好文 > 详细

一个图形引擎的画面风格是由那些因素(技术)决定的?

时间:2017-07-02 15:17:15      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:限制   光照   全局   com   margin   sha   nes   osi   建立   

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

1. 幾何模型

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

一些引擎,如Quake/UE,有比较強的Brush建模功能(或應稱作CSG)。製作建築比较方便。而CE則有較強的大型地表、植被、水體等功能。做室外自然環境十分出色。

而还有一些遊戲類型專用的引擎。比如RTS/MOBA,可能會有特殊的基於tiling的建模方式。也有一些主要仅仅支持三角形網格(如Unity。雖然它也有簡單的地形建模)的引擎。這是最主要的。所以也最為通用,但在建立某些場景時製作效率和運行效率也可能較低。

技术分享圖:Unreal以brush製作主要的建築結構(docs.unrealengine.com/l

技术分享圖: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 開關陰影、鏡面反射的區別 (seiryu.cside.to/3dfps/D)

引擎對材質的支持也非常影響到畫面風格。現時,照片真實感(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. 總結

遊戲引擎(或是具體遊戲經過客制化的技術方案)的多個方面決定了美術上能够做出那些風格。

為了製作獨特風格的遊戲。引擎本身提供的自由度及擴展性也是重要的因素。

一个图形引擎的画面风格是由那些因素(技术)决定的?

标签:限制   光照   全局   com   margin   sha   nes   osi   建立   

原文地址:http://www.cnblogs.com/zhchoutai/p/7105994.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!