
HDRP拋棄了Bulitin的燈光,改用物理單位以及物理屬性。那么物理燈光到底是什么?請點贊評論來支持作者,提前祝大家新年快樂。
https://connect.unity.com/p/hdrp-wu-li-deng-guang-shi-shi-yao-ke-pu-xiang?connect.unity.com同步更新unity connect,求點贊收藏
對光的研究
首先,對光的研究可分為兩類:光度學,輻射度學
- 光度學:是以人眼為基礎,研究可見光與物理之間的關系。
- 輻射度學:是以能量為基礎,研究發光源的能量(光輻射能)。不僅僅是可見光范圍,適用于所有電磁波。
光度學和輻射度學之間有什么關系了?
舉個例子:可見光之外,還有紅外線紫外線,雖然看不見但仍然具有能量。無論給紅外線多大能量,在人眼中亮度都是0。
同理,在可見光內,人眼對不同顏色的光敏感度也有不同。記錄人眼對不同頻率光的敏感程度,就是光度與輻射度的對應關系,即光度函數。

光度與輻射度的關系

對亮度的研究
談論一個物體有多亮,肯定得擁有“亮度單位”。
在Bulitin中,燈光單位即為“1單位”,超出1亮度的為HDR。
這是一個很抽象的概念,如果想重現現實中的燈光效果,只能靠人眼去判斷,引擎內燈光的多少強度能與現實中一致。這很費勁,而且在相機曝光被修改時,又得重新調整所有燈光強度。

所以,在HDRP中引入了物理燈光單位。

先來看看光度學中常見的名詞。

一個發光強度等于1坎德拉的理想光源,每球面度能夠產生1流明光通量,總發射的光通量為4π流明。
以一個100000cd強度的點光源為例。

如果沒有理解上面內容,沒關系。
舉個特殊栗子:
面光如果用流明,不用Nits,就會像下圖一樣

現在面光單位為流明,是面光的總亮度。所以隨著面積的增加,單位面積的亮度會稀釋。
顯然我們不想這樣,所以換成Nits為單位,就能讓亮度保持一致。
其次,面光沒有角度。所以在單位里沒有坎德拉。
也可以看看Unity文檔
Physical Light units?docs.unity3d.com其他特性
光的衰減
坎德拉是以角度為變量,
如下圖,如果要保持光通量一致,遠處的受光面就得增大面積
也就是說,光的衰減,與到光源距離的平方,成正比。
這點在Bulitin中也一樣

衰減與距離的關系
HDRP與Bulitin燈光的最大區別就在這。
物理燈光的衰減距離,只與光源強度有關。
拖動燈光范圍,只有外圍一圈做了過度,中間亮度是不會變化。

而Bulitin中,燈光強度是直接在光源與外圈的距離上做了個插值。
更像是在縮放一個面片。

亮度是如何顯示在攝像機上
在Bulitin的場景制作中,要時刻保證場景畫面不能 過曝/欠曝。
雖然能用后期調色在小范圍來控制曝光值,但總體制作思路還是集中在0-1的顏色。
更像在PS里畫畫。
而HDRP中,就很簡單粗暴。
查看現實中光線的物理屬性,直接填到燈光強度里。太陽可以是幾千幾萬的亮度,不開后期全屏白色。
然后再用后期自動曝光來壓低亮度。

- 你要大中午的太陽?12wLux直接填
- 你要陰天?1500Lux直接填
- 你要房間臥室?200Lux直接填
查表,完事

官方文檔提供的2個鏈接:
官方文檔提供的2個鏈接:
Physical Light units?docs.unity3d.comRecommended Lighting Levels in Buildings?www.archtoolbox.com
不過優缺點也挺明顯

看到這里說明是真愛了,來收藏評論關注點贊吧,多謝。
下面是我的artstation地址:
https://www.artstation.com/luteli?www.artstation.com你也可以來我知乎看原來寫的文章
知乎用戶?www.zhihu.com