您當前的位置:首頁 > 攝影

UE4中使用非物理的物理燈光-1

作者:由 日天 發表于 攝影時間:2019-10-30

Unphysical Lights in UE4-1

甩鍋前圖

:本文屬於閒暇時間的美術向技能吹逼,不保證能適用於任何專案,只闡述製作過程和思路,不打包票能學會。如有錯誤或不足之處敬請大家指正說明。

UE4中使用非物理的物理燈光-1

因為很多事情斷更許久,最近閒下來可以開始搞點事情了。

UE4中使用非物理的物理燈光-1

今天咱們來講講如何用非物理的方式在unreal裡面使用物理光照。

因為各種因素的影響,這篇文章將有較多的測試,我覺得有必要把測試結果都發出來給大夥看看,所以圖片會比較雜亂,大夥見諒。

咱們先回憶一下之前的物理概念

如果要在引擎中使用物理光照,那麼需要滿足以下三點:

材質貼圖物理+燈光引數物理+相機引數物理

UE4中使用非物理的物理燈光-1

那,如果要滿足

好用、好看

的話,我們需要大概滿足以下幾點:

各種引數簡單易用+最好有標準範圍模板+符合基礎美學原理

UE4中使用非物理的物理燈光-1

話不多說,咱們先開搞,

首先開啟引擎,左一個4。20,右一個4。23

UE4中使用非物理的物理燈光-1

可以發現左邊會比右邊亮那麼一點點點點點點

UE4中使用非物理的物理燈光-1

WTF???

UE4中使用非物理的物理燈光-1

這就是咱們上次說的那個EV問題,咱們這裡稍微帶一下,

4。20的Exposure是Min/Max Brightness

UE4中使用非物理的物理燈光-1

而4。23的Exposure是Min/Max EV100

UE4中使用非物理的物理燈光-1

Min/Max Brightness為1的時候EV100應該為-0。26303441,具體可以翻看我之前寫的物理燈光2文章

UE4中使用非物理的物理燈光-1

4。20版本可以開啟這個功能切換到Min/Max EV100

UE4中使用非物理的物理燈光-1

咱們這次先用EV100來測試光照環境,取消Game Setting,使用EV100為0

UE4中使用非物理的物理燈光-1

EV100為0是為了獲取一個標準的EV環境,其他的配置咱們也改改,大致符合官方大師課的引數配置。

UE4中使用非物理的物理燈光-1

咱們測試光照之前

需要先測試一下標準的顏色,能夠獲得標準的顏色反饋情況下,咱們才能測試標準光照,

這裡先重新做個簡單的場景:

UE4中使用非物理的物理燈光-1

咱們搞個六個Box一盞燈,燈是豎直朝下,強度π。

然後建立倆材質:

一個預設材質,引數開出來,specular給成0,另一個自發光材質,引數開出來。(此處Specular也可以不給成0,在Lighting Components裡面關掉Specular,但是給成0比較方便。)

UE4中使用非物理的物理燈光-1

然後分別賦予給六個Box,左邊一排是自發光,引數0。217、0。99、1,右邊是受光材質,引數也是0。217、0。99、1。

UE4中使用非物理的物理燈光-1

這個時候我們發現顏色取值跟我們賦予的顏色不一樣。

咱們已經按照官方大師課的引數配置設定了,怎麼還是不一樣呢?

這裡經過我的反覆測試,並仔細回味了一下官方的這個引數配置,咱們打算把PostProcessVolume刪除,直接從檢視的Show裡面關閉官方的這些配置。

UE4中使用非物理的物理燈光-1

這裡我們

關閉Bloom、Eye Adaptation、Tonemapper,

(Vignette、AO、SSR也可以關了)然後進行取色,此時的滑鼠是放在綠點,也就是

受光材質

賦予0。99的

線性顏色數值

,此時我們取色得到R254、G254、B254,並且右邊的

自發光材質

也是取到254的值。

UE4中使用非物理的物理燈光-1

搞個帶顏色的也是可以取到相同的值,不理解的同學可以翻看之前的物理燈光文章。

UE4中使用非物理的物理燈光-1

這個時候,在自發光跟受光材質在3。14的燈光下漫反射一致,咱們就可以開始進行下一步的光照測試。

UE4中使用非物理的物理燈光-1

but

這時候我發現一個問題,咱們帶過一下:

我4。20版本的可以啟用MinMaxEV100配置不見了?

UE4中使用非物理的物理燈光-1

而我現在關閉掉後處理:

UE4中使用非物理的物理燈光-1

4。20在切換Game Setting的時候沒有問題,此時為MinMaxBrightness

UE4中使用非物理的物理燈光-1

而4。23在切換Game Setting的時候會閃???

UE4中使用非物理的物理燈光-1

咱們之前遇見過MinMaxEV100和MinMaxBrightness切換會閃的問題,

於是這次便改成MinMaxBrightness,但是還是會閃:

UE4中使用非物理的物理燈光-1

WTF???

UE4中使用非物理的物理燈光-1

也就是4。23在GameSetting開啟的時候,關閉各種後處理,才能獲得標準亮度???

然後在4。23裡,關閉Eye Adaptation之後,修改EV100的時候場景明暗會變化。

4。20裡面,修改EV100就不會變化。

於是我把4。20跟4。23的其他後處理全關掉,然後單獨開啟Eye Adaptation,

UE4中使用非物理的物理燈光-1

然後測得:在單獨開啟Eye Adaptation,並且二者的EV100等於0的時候,都得不到物體基礎色的值。(此處基礎色為0。99)

UE4中使用非物理的物理燈光-1

而在EV100為-0。26303441的時候,我們才能夠得到原來的值。

UE4中使用非物理的物理燈光-1

那此處的結論是,關閉Eye Adaptation時,EV100=-0。26303441???

UE4中使用非物理的物理燈光-1

然後我把PostProcessVolume裡面的EV100改成-0。26303441,也是這樣的結果。

UE4中使用非物理的物理燈光-1

那就是以下三種情況都能獲得基礎色的值:

1。關閉Eye Adaptation,4。23使用GameSetting配置,4。20無所謂;

2。開啟Eye Adaptation,使用GameSetting配置,並且PostProcessVolume中使用Min/Max Brightness都為1;

3。開啟Eye Adaptation,關閉GameSetting配置,EV100使用-0。26303441。

這個結果讓人有點納悶

不管了,這挺好的!如果有同學知道的話請告訴我。

UE4中使用非物理的物理燈光-1

反正大夥在測試的時候,遇到這種情況,請注意引擎版本及相關設定。

好了,那接著咱們搞啥呢?

UE4中使用非物理的物理燈光-1

咱們之前講過,如何在極高Lux的情況下獲得一個符合它的EV

UE4中使用非物理的物理燈光-1

那麼咱們這次就需要反著搞:

把極高Lux轉換成EV100為0的時候可以使用的Lux。

UE4中使用非物理的物理燈光-1

老規矩,上公式轉換Lux,

UE4中使用非物理的物理燈光-1

根據公式反推,得到Exl表格:

UE4中使用非物理的物理燈光-1

BUT

這個表格不能照著用。

UE4中使用非物理的物理燈光-1

因為這個算出來的結果,每個EV情況,Lux雖然不同,但是最後的結果是相同的。

所以我們需要重新進行推算,算出在

EV100為0

的時候,咱們如何使用

不同的高數值Lux。

UE4中使用非物理的物理燈光-1

那這到底怎麼搞呢?

UE4中使用非物理的物理燈光-1

首先咱們先來一個簡單的環境,這次繼續用FarshidNaji的測試場景:

UE4中使用非物理的物理燈光-1

然後我們把各種效果去除,並刪掉lightmap

UE4中使用非物理的物理燈光-1

然後修改下燈光跟材質,再確認一下基礎環境正確不準確。這裡獲得結果顯示正常。

UE4中使用非物理的物理燈光-1

然後打一個光,測試一下光照資料,根據之前的表格求得的亮度很接近。

UE4中使用非物理的物理燈光-1

然後按照物理燈光的EV表格裡面。計算了一下750Lux的燈光下,應該用多少EV可以得到基礎色的值。

UE4中使用非物理的物理燈光-1

注:

這裡由於咱們發現取消Eye Adaptation,EV100=-0。26303441的效果,所以在這裡得出的EV值,要在最後的結果上減去0。26303441。

所以上面的測試發現EV100的問題這個過程對咱們也是有幫助的。

UE4中使用非物理的物理燈光-1

那麼現在後處理環境準備好了,燈光資料也準備好了,下一步我們就需要進行引數反算。

根據我們之前說的三點:

各種引數簡單易用+最好有標準範圍模板+符合基礎美學原理

那麼目前我想到有這麼三個方法可以使用:

1。使用室內EV,範圍大概為5-7,然後根據顯示世界的燈光引數進行換算,把它們的cd或者lm換算到EV為0的時候;

2。根據nit亮度進行換算,把高Lux的nit壓縮到EV為0的時候;

3。根據螢幕最終RGB進行換算,螢幕最終RGB亮度為1,算出在EV為0的時候,咱們燈光需要多少檔能滿足各種效果需求。

那麼咱們從哪個方法開始試呢?

UE4中使用非物理的物理燈光-1

咱們下期節目,再見。

UE4中使用非物理的物理燈光-1

QQ掃碼直接加入

UE4中使用非物理的物理燈光-1

UE4中使用非物理的物理燈光-1

標簽: EV100  咱們  EV  eye  Adaptation