什么是游戏内全局光照
什么是全局光照:
? ? ? 全局光照,指的就是模擬光線是如何在場景中進行傳播的,不僅會考慮那些直接光照的效果,還會計算光線被不同的物體表面反射而產生的間接光照。
? ? ? Unity使用實時+預計算的方式來模擬場景中的光照:其中實時光照用于那些直接光照對場景的影響,物體移動式光照也會隨之發生變化;因為實時光照無法模擬光線被多次反射(間接光照)的效果,因此采用預計算來模擬反射等間接光照。
? ? ? 其中預計算包括常見的光照烘焙:將光源對場景中的靜態物體的光照效果提前烘焙到一張光照紋理當中,然后把這張光照紋理貼到這些物體的表面,來得到光照效果,這些紋理不僅包括了直接光照的影響,也包括了間接光照的影響。但是這些光照紋理無法再游戲運行時不斷更新,即它們是靜態的。
? ? ? 由于靜態的光照烘焙無法在光照條件改變時更新物體的光照效果,因此Unity采用了預計算的實時全局光照來為我們提供解決途徑:原理是 一旦物體與光源的位置確定了,這些物體對光線的反射路徑以及漫反射光照也是固定的,也就是說與攝像機的位置無關,因此只要光源的位置不變,即使改變了光照的顏色以及強度,物體的材質屬性等,這些信息就一直有效,不需要實時更新:即Enlighten會在所有靜態物體組成的場景中,進行簡化的“光線追蹤”。
? ? ? !需要將物體標識為Static? ? !其次物體的高光反射(與攝像機的位置有關)需要通過probe反射探針來進行實現,
---作者后記:以上是在UnityShader入門精要中得出,但是在查看網上的預計算的實時全局光照后,發現,光源的位置可以變動,仍然可以進行實時的反射計算,原理上貌似是將物體(static)在各種方向上的反射線路進行預計算,然后實時的進行計算得出間接光照的信息
?
?
?
總結
以上是生活随笔為你收集整理的什么是游戏内全局光照的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTTP和HTTPS的工作原理及区别
- 下一篇: 场景应用:100亿的数据你怎么排序