溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

發(fā)布時(shí)間:2021-12-04 15:22:30 來源:億速云 閱讀:466 作者:小新 欄目:大數(shù)據(jù)

小編給大家分享一下Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

概念

Lightmapping光照貼圖技術(shù)是一種增強(qiáng)靜態(tài)場景光照效果的技術(shù),其優(yōu)點(diǎn)是可以通過較少的性能消耗使靜態(tài)場景看上去更加真實(shí),豐富,更加具有立體感;缺點(diǎn)是不能用來實(shí)時(shí)地處理動(dòng)態(tài)光照。當(dāng)游戲場景包含了大量的多邊形時(shí),實(shí)時(shí)光源和陰影對游戲的性能的影響會(huì)很大。這時(shí)使用Lightmapping技術(shù),將光線效果預(yù)渲染成貼圖使用到多邊形上模擬光影效果。

烘焙參數(shù)

Object選項(xiàng)卡

“All”組中的參數(shù)

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

Lightmap Static:選中則表示該物體將參與烘焙。

Scale In Lightmap:分辨率縮放,可以使不同的物體具有不同的光照精度。這樣可以根據(jù)實(shí)際場景,令遠(yuǎn)景中的物體采用較低的分辨率,節(jié)省光照貼圖的存儲(chǔ)空間。而較近的物體采用較高的分辨率,使貼圖更加逼真。

Lightmap Index:渲染時(shí)所使用的光照貼圖索引。值為0,表示渲染時(shí)使用烘焙出來的第一張光照圖;值為255,表示渲染時(shí)不使用光照圖。

Tiling X/Y和Offset X/Y共同決定了一個(gè)游戲?qū)ο蟮墓庹招畔⒃谡麖埞庹請D中的位置,區(qū)域。

“Lights”中的參數(shù)

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

Lightmapping:有3種類型可選

  1)RelatimeOnly:光源不參與烘焙,只作用于實(shí)時(shí)光照。

  2)Auto:表示光源在不同的情況下作不同的響應(yīng)。在烘焙時(shí) ,該光源會(huì)作用于所有參與烘焙的物體;在實(shí)際游戲運(yùn)行中,該光源會(huì)作為實(shí)時(shí)光源作用于那些動(dòng)態(tài)的或者沒有參與過烘焙的物體 ,而不作用于烘焙過的靜態(tài)物體。在使用Dual Lightmaps的情況下,對于小于陰影距離 (shadow Distance,Unity中用于實(shí)時(shí)生成陰影的范圍,范圍之外將不進(jìn)行實(shí)時(shí)生成陰影)的物體 ,該光源將作為實(shí)時(shí)光源作用于這些物體 ,不管是靜態(tài)還是動(dòng)態(tài) 。

  3)表示光源只在烘焙時(shí)使用,其他時(shí)間將不作用于任何物體。

Color:光源顏色。

Intensity:光線強(qiáng)度。

Bounce Intensity:光線反射強(qiáng)度。

Baked Shadows:烘焙陰影。有三種類型可以選擇

  1)Off:光源對象不產(chǎn)生陰影。

  2)On(Realtime:Hard Shadows):產(chǎn)生輪廓生硬的陰影。

  3)On(Realtime:Soft Shadows):產(chǎn)生平滑的陰影。

Shadow Samples:陰影采樣數(shù),采樣數(shù)越多生成陰影的質(zhì)量越好。

Shadow Angle:光線衍射范圍角度。

Bake選項(xiàng)卡

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

Mode:映射方法。

  1)Single Lightmaps:最簡單直接的方法,對性能及空間的消耗相對較小。可以很好地表現(xiàn)大多數(shù)靜態(tài)場景的光影效果。

  2)Dual Lightmaps:在近處使用實(shí)時(shí)光照和部分Lightmap光照,在遠(yuǎn)處則使用Lightmap光照,同時(shí)在實(shí)時(shí)光影和靜態(tài)光影之間做平滑過渡,使得動(dòng)態(tài)光照和靜態(tài)光照可以很好的融合。

  3)Directional Lightmaps:一方面將光影信息保存在光照貼圖上,同時(shí)還將收集到的光源方向信息保存在另一張貼圖中,從而可以在沒有實(shí)時(shí)光源的情況下完成Bump/Spec映射,同時(shí)也還原了普通光照圖的光影效果。

Quality:生成光照貼圖的質(zhì)量。

Bounces:光線反射次數(shù),次數(shù)越多,反射越均勻。

Sky Light Color:天空光顏色。

Sky Light Intensity:天空光強(qiáng)度,值為0時(shí),天空色無效。

Bounces Boost:加強(qiáng)間接光照,用來增加間接反射的光照量,從而延續(xù)一些反射光照的范圍。

Bounces Intensity:反射光線強(qiáng)度的倍增值。

Final Gather Rays:光照圖中每一個(gè)單元采光點(diǎn)用來采集光線時(shí)所發(fā)出的射線數(shù)量,數(shù)量越多,采光質(zhì)量越好。

Interpolation:控制采光點(diǎn)顏色的插值方式,0為線性插值,1為梯度插值。

Interpolation Points:用于插值的采光點(diǎn)個(gè)數(shù)。個(gè)數(shù)越多,結(jié)果越平滑,但是過多的數(shù)量也可能會(huì)把一些細(xì)節(jié)模糊掉。所以說采光點(diǎn)并不是越多越來,這容易導(dǎo)致過度平滑。

Ambient Occlusion:環(huán)境光遮蔽效果。

LOD Surface Distance:用于從高模到低模計(jì)算光照貼圖的最大世界空間距離。類似于從高模到低模來生成發(fā)現(xiàn)貼圖的過程。

Lock Atlas:選中,則會(huì)將所有的光照圖區(qū)域鎖定,即將物體使用光照圖相關(guān)的Tiling X/Y和Offset X/Y屬性鎖定,同時(shí)也將不可以再調(diào)整光照貼圖的分辨率屬性以及添加新的烘焙物體到光照圖。

Resolution:光照貼圖分辨率。勾選視圖窗口右下角Lightmap Display面板的ShowResolution選項(xiàng),即可顯示單元大小。假設(shè)Resolution為50,那么在10*10個(gè)單位面積的平面網(wǎng)格上將占用光照貼圖上500*500個(gè)像素的空間。

Padding:不同物體的烘焙圖的間距。

Maps選項(xiàng)卡

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

Light Probes:用于設(shè)置當(dāng)前使用的Light Probes Group的引用。

Array Size:設(shè)置光照貼圖個(gè)數(shù)。

Compressed:啟用使用壓縮紋理格式。

烘焙

Bake Scene有三個(gè)選項(xiàng):

1)Bake Scene:烘培整個(gè)場景,如果場景中有編輯好的Light Probes,那么也同時(shí)烘焙Light Probes。

2)Bake Selecte:只烘焙選擇的部分。采用Bake Selected功能在原有基礎(chǔ)上進(jìn)行添加或者更新,同時(shí)系統(tǒng)會(huì)保留之前的光照圖。這樣不會(huì)因?yàn)椴糠指膭?dòng)而需要重新烘焙整個(gè)場景,只需要烘焙改動(dòng)的部分,大大提高了烘焙效率。

3)Bake Probes:只烘焙Light Probes。

示例

1 創(chuàng)建一個(gè)項(xiàng)目,在場景中繪制如下:

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

選中Cube,在Inspector面板中勾選Static,這樣可以使得Cube參與烘焙。

2 打開菜單欄中Window->Lightmapping選項(xiàng),會(huì)彈出Lightmapping視圖。此時(shí)選中場景中的Directional Light,在Lightmapping視圖中的Object標(biāo)簽頁中會(huì)出現(xiàn)對光源的設(shè)置。參數(shù)設(shè)置如下:

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

3 Bake標(biāo)簽頁下參數(shù)設(shè)置:

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)                                                          Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

4 在Scene視圖右下角的Lightmap Display對話框中勾選Show Resolution復(fù)選框,就可以看到光照圖在模型上的分辨率。

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

5 單擊Lightmapping視圖右下角的Bake Scene,選中Bake Scene映射模式,就開始生成Lightmaps。

前后對比效果如下:

1)烘焙后:

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

2)烘焙前:

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

注:必須將plane的屬性設(shè)置為Static,否則Cube將不會(huì)有陰影顯示。

沒有將plane的屬性設(shè)置為Static,效果圖如下所示:

Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)

以上是“Unity3D如何實(shí)現(xiàn)光照貼圖技術(shù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI