全景光照在遊戲中的應用

遊資網發表於2019-07-19
作者:正奕,騰訊互動娛樂遊戲美術3D設計

全景光照簡單的講就是用全景圖模擬相應環境來對物件進行照明。

全景圖指的是包含了360度範圍場景的圖象,它可以是JPG格式、BMP格式、TGA格式等LDRI(Low-Dynamic RangeRadiance Image),也可以是HDR格式的HDRI(High-Dynamic RangeRadiance Image)。

全景光照在電影CG製作中被廣泛使用,因為在合成CG素材到真實場景中往往需要適配真實場景的光照以保證效果擬真。然而單靠手工布光的方式難以還原整個環境的真實光照,所以在拍攝現場往往需要採集當時環境的光照製作成全景光照圖供CG素材照明,以達到和真實場景更好的融合。

我做了一個簡單的合成和全景光照案例:首先在停車場拍攝了一段短片,用全景相機記錄了現場並製作成全景光照圖和反射貼圖(由於所使用的全景相機只能拍攝低精度的JPG格式,所以在燈光模擬的效果上要差些。我所模擬的場景是個純室內環境,所以沒在PS裡用不同曝光值的全景圖來合成HDR格式圖),然後在BLENDER裡面用RoboRecall的兩個角色資源進行合成(合成過程中使用了攝像機捕捉來計算出攝像機的運動軌跡)。

整個流程中主要是用skylight作為全景圖的光照載體來對角色照明,並未用到除skylight以外的其他燈光。

所拍攝的視訊(單幀):

全景光照在遊戲中的應用

用GEAR360拍攝的全景圖:

全景光照在遊戲中的應用

[GEAR360作為一個低門檻的全景拍攝裝置,coms感光器面積非常小,色彩和層次還原效果有限,有更高的需求建議使用單反結合雲臺拍攝多角度圖片,再通過軟體合成全景圖或者使用更好的全景拍攝裝置]

使用了RoboRecall的角色和動畫資源:

全景光照在遊戲中的應用

合成後使用所拍攝的全景圖對角色進行照明、渲染輸出、校色後得到以下結果(單幀):

全景光照在遊戲中的應用

從視訊中可以看出因為拍攝場景和光源資訊是一致的,所以受光源影響的角色能夠和場景高度融合,而不需要依賴手動布光還原整個真實場景的光照。

那現在我們談一下全景光照在遊戲中的應用。3A級主機遊戲常使用全景圖來進行光照,例如《戰地》,《極品飛車》等遊戲在製作中對光源擬真要求很高,也不可能完全靠人工製作所有帶有豐富光照資訊的環境。

下面我在UE4裡會詳細說明遊戲引擎中全景圖光照的優缺點。

我用了《Paragon》的角色來做燈光範例,這個角色素材可以在引擎商店裡免費下載。我先是以手動布光的方式用一個Spotlight和Pointlight來製作我想要的燈光效果,但是因為希望角色能夠被均勻地照亮,但是又不希望受光太平,所以反覆調整了燈光的位置、顏色以及強度等。但是看來要達到我想要的效果,需要更多的燈光和更多的微調,因為很多地方仍未被照亮,如果我開大燈光的範圍,那離燈光近的地方就會爆光過度;但如果我需要布很多光,調整起各個燈光之間的強弱和顏色引數會比較花時間。

全景光照在遊戲中的應用

那我換個思路,嘗試用全景圖光照來達到我想要的效果。我往引擎裡匯入了些可以在網上下載到的HDR格式全景圖片。在專案工程設定裡我關閉了自動曝光,因為這個會影響到我對明暗的精確調整。我用skylight對角色進行照明,因為skylight可以作為全景圖的光照載體。這個場景除了角色沒有其他資源,沒有可反射的資訊,但是我需要反射源來渲染材質的質感,所以我把反射球設定成用全景圖作為反射源。這麼做有兩個好處:第一是可以快速創造一個資訊豐富的反射源;第二是可以保證和燈光色調一致,這樣更合理。

幾個簡單設定後,得到以下結果:

全景光照在遊戲中的應用

這樣還可以迅速嘗試更多的燈光方案:

全景光照在遊戲中的應用

全景光照在遊戲中的應用

全景光照在遊戲中的應用

為什麼手動布光很難做到全景光照的資訊豐富度?可以看下下面的示意圖。

全景光照在遊戲中的應用

全景圖光照可以模擬環境每個角度的明暗和顏色來對物體進行照明,這個用手動布光是很難做到的。但是目前在遊戲引擎裡實現的全景圖光照在資訊取樣上做過優化,也不能產生動態的陰影,所以還是需要配合手動布光一起才能應對遊戲場景對燈光的各種需求。

我用手動布光和全景圖光照相結合,在unreal4裡做了個範例。場景資源是可以在unreal商店裡免費下載的。整個燈光環境只用一個Direct Light來產生主光源投影,其他照明交給全景圖光照。

得到以下結果:

全景光照在遊戲中的應用

全景光照在遊戲中的應用

全景光照在遊戲中的應用

可以看到skybox自始至終,都沒有顏色變化,因為skybox是使用了發光材質,不受光照影響,但是所有受光的物件都會因為全景圖的不同而產生相應的變化。

以前我在一個多人FPS遊戲的開發中,負責整個遊戲的燈光和氣氛,當時需要製作繁多的星球大氣環境,用這個方式能非常高效地產出。

來源:正奕  
原地址:騰訊遊戲學院
原地址:https://mp.weixin.qq.com/s/6fPHmWqVxAjXgYhr6Evd9A

相關文章