最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Unity Lighting -- 改善場(chǎng)景的反射光照效果

2023-03-19 12:44 作者:vivo119  | 我要投稿

Unity中反射光照是如何工作的

? ? ? ? 先來看個(gè)案例問題,下圖中,蘋果的反射效果看起來是很奇怪的。

? ? ? ? ?在它的表面上反射了兩種不同顏色的Spot Light光源,還反射了不屬于室內(nèi)環(huán)境的來自天空盒的光線,這是有問題的。在解決這個(gè)問題之前,我們需要知道在Unity中反射是如何工作的。

Unity中的反射

? ? ? ? 在游戲或?qū)崟r(shí)應(yīng)用中,反射貼圖(反射映射,reflection mapping)是用來模擬反射的方法,它會(huì)假設(shè)所有場(chǎng)景中可反射光的物體都能看到相同的環(huán)境。在諸如室外場(chǎng)景的簡(jiǎn)單開放空間中,這并沒有什么問題。但在室內(nèi)場(chǎng)景或更復(fù)雜的環(huán)境中則會(huì)出點(diǎn)問題(里面會(huì)增加許多影響反射的變量)。

? ? ? ? 舉個(gè)例子,想象有一個(gè)賽車游戲,其中部分路面通過一個(gè)隧道包裹了起來。如果玩家在隧道內(nèi)的時(shí)候,車身仍然反射了天空的光線,那么會(huì)非常影響體驗(yàn)。

? ? ? ? 在Unity中,我們可以使用Relection Probes來改善場(chǎng)景中的反射效果質(zhì)量,它通過在關(guān)鍵點(diǎn)上采樣環(huán)境信息,來確定此處是否會(huì)對(duì)反射產(chǎn)生影響。

Reflection Probes如何工作

? ? ? ? Reflection Probes在場(chǎng)景中,以一個(gè)cubemap的形式記錄來自某個(gè)點(diǎn)的可見的環(huán)境和光照信息,我們可以將它看做是一個(gè)立方體,有六個(gè)紋理,在立方體的內(nèi)表面上,這些紋理記錄了場(chǎng)景中的特定點(diǎn)的反射信息。這個(gè)概念和用于生成天空盒的cubemap是類似的。

? ? ? ? 當(dāng)一個(gè)游戲物體的shader訪問Reflection Probes的cubemap時(shí), 這個(gè)物體表面的每個(gè)點(diǎn)能夠看到這個(gè)cubemap的一小部分,這一小部分的區(qū)域是由這個(gè)表面的朝向所決定的。Shader在計(jì)算游戲物體表面的顏色時(shí),會(huì)使用該點(diǎn)對(duì)應(yīng)的cubemap中相關(guān)的顏色信息。

? ? ? ? 在Unity中每個(gè)場(chǎng)景實(shí)際上都有一個(gè)秘密的Reflection Probe用來采樣天空盒。這個(gè)Reflection Probe提供了場(chǎng)景中的基礎(chǔ)反射信息,這也是前面例子中金屬蘋果反射了天空光線的原因所在。

? ? ? ? Reflection Probes周圍也有一個(gè)不可見的盒子來表示其作用范圍(zone of effect)的,我們可以配置這個(gè)盒子的大小。處于Reflection? Probe作用范圍內(nèi)的反射性物體,計(jì)算反射的cubemap是由這個(gè)Reflection Probe所提供的。當(dāng)物體從一個(gè)范圍移動(dòng)到另一個(gè)范圍時(shí),cubemap也會(huì)相應(yīng)改變。之前所提到的賽車游戲中,我們可以為隧道設(shè)置一個(gè)Reflection Probe,在隧道范圍內(nèi)使用這個(gè)Relection Probe所提供的信息來計(jì)算反射光照效果。

放置并配置Reflection Probe

? ? ? ? 回到最初的那個(gè)金屬蘋果反光問題,我們?cè)趫?chǎng)景中放置一個(gè)Reflection Probe來解決這個(gè)問題:

? ? ? ? 1. 在Hierarchy窗口(空白處右鍵選擇Light -> Refleciton Probe)或通過主菜單欄(GameObject -> Light -> Refleciton Probe)添加一個(gè)Refleciton Probe

? ? ? ? 2. 將Refleciton Probe放置到蘋果前面,它越接近蘋果的實(shí)際位置,反射信息計(jì)算就會(huì)越精確

? ? ? ? ? ? 我們會(huì)看到,除了spotlight的反射外,放置了Refleciton Probe后,蘋果會(huì)變成黑色,這是因?yàn)樘O果進(jìn)入了Refleciton Probe的作用范圍內(nèi)了(這個(gè)作用范圍空間是一個(gè)立方體表示的,縮放場(chǎng)景可以看到這個(gè)盒子)。


? ? ? ? ?3. 在Refleciton Probe的Inspector中,確認(rèn)一下Type是Baked。在Runtime Settings中,啟用Box Projection屬性

? ? ? ? ?Box Projection屬性啟用后,蘋果表面的反射光計(jì)算,會(huì)和蘋果在Refleciton Probe的作用區(qū)域內(nèi)的位置相關(guān)。

? ? ? ? 4. 調(diào)整一下Box Size的X,Y,Z值以及Reflection Probe的位置,讓Refleciton Probe的作用區(qū)域覆蓋到我們想要的區(qū)域(下圖黃色框線表示盒子的大小和位置,僅為示例)

? ? ? ? ?5. 點(diǎn)擊Reflection Probe的Inspector面板中最后的Bake按鈕進(jìn)行烘焙

? ? ? ? ?Reflection Prboe需要獨(dú)立烘焙,除非我們啟用了auto-baking(在Lighting窗口中的Auto Generate選項(xiàng))。

? ? ? ? 6. 最后,來看看烘焙后,這顆金屬蘋果的反光效果怎么樣


Unity Lighting -- 改善場(chǎng)景的反射光照效果的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
都兰县| 双流县| 通海县| 四子王旗| 来安县| 海林市| 崇信县| 运城市| 通山县| 芮城县| 静乐县| 泰州市| 濮阳县| 揭阳市| 泾阳县| 治多县| 犍为县| 仁寿县| 卫辉市| 芦溪县| 永安市| 阳原县| 阿拉善左旗| 景德镇市| 阳谷县| 望谟县| 灵川县| 黎平县| 元谋县| 改则县| 灵山县| 叶城县| 台东县| 崇明县| 林州市| 甘谷县| 柏乡县| 宁安市| 乳源| 武安市| 乌拉特后旗|