Unity導出LayaAir光照貼圖的流程與注意事項


     LightingMap技術可以使用最小的代價提升靜態場景光照效果 ,LayaAir的默認材質支持lightingMap,而生成lightingMap的工具可使用3DMAX等建模軟件,也可使用Unity3D引擎IDE,LayaAir的unity插件可以支持導出場景模型和光照貼圖等,本文詳細介紹Unity導出LayaAir光照貼圖於的流程和注意事項。

 

步驟一:Unity3D中烘培光照貼圖需要標記Static屬性,同樣LayaAir也需要這個屬性,具體如圖所示。

blob.png

 

blob.png

 

 

步驟二:烘培光照貼圖需要模型自身具有LightmapUV數據對光照貼圖進行采樣,具體如圖所示。

 blob.png

blob.png

 

步驟三:烘培光照貼圖需要把場景中的光源調整為Baked模式才能烘培成功,如需陰影可選擇Shadow Type選項。

 blob.png

 

步驟四:Unity3D中材質非常繁多,目前Mobile/Diffuse材質最為接近LayaAir引擎的默認材質,為純靜態光,后續會繼續增加更多材質支持靜態光和動態高光混合的光照模式。

 blob.png

 

步驟五:點擊Windows=》Ligthing=》Scene,圖示為幾處需要注意的選項,其余選項可自行查閱Unity資料,設置好選項點擊右下角Build即可生成光照貼圖。

 blob.png

 

步驟六:烘培完成后選擇Lightmaps界面,可以預覽生成的光照貼圖,但此光照貼圖為后綴EXR的HDR格式,為保證資源大小和下載速度, 一般壓縮為JPG格式后再通過放大圖片范圍還原HDR顏色范圍,此過程需要使用LayaAir Unity插件導出場景(此處不詳細介紹),再用PhotoShop進行格式轉換,然后通過在引擎中修改材質顏色范圍達到目的。注意:此方式會損失光照精度和造成輕微顏色偏差,有利有弊。

 

(1).Unity中生成的光照貼圖。

 blob.png

 

(2).用unity插件導出資源后用PhotoShop打開xx.exr圖片,依次點擊圖像=》模式=》8位通道,在彈出的提示框中可以選擇合並圖層或者不合並圖層,一般選擇合並。

 blob.png

 

(3).不合並photoshop不會彈出參數調整窗口,如果選擇合並的話會彈出參數提示窗口如圖,注意細節和曝光度這里沒有采用默認值,而是都設置位0,推薦采用此方式,經實踐可以最大還原HDR圖片本色,然后點擊確認。

  blob.png

 

(4).然后我們便可導出PNG或JPG到原EXR文件目錄並加載顯示場景,此時我們一般會發現光照的對比度和U3D中比相對偏弱,亮度也有偏差,因此我們可再次使用PhotoShop調整光照貼圖的對比度或者亮度等參數,例如:我們點擊圖像=》調整=》亮度對比度=》把亮度減去30,開發者可根據實際情況靈活調整,效果如圖。

 blob.png

 

 

步驟七: 然后我們再次加載場景,因為我們已經將EXR圖片調整JPG或PNG,因為我們要擴大圖片顏色范圍模擬HDR,因為在程序的StnadardMaterial中我們可以通過設置albedo為(2.0,2.0,2,0,1.0)和(3.0,3.0,3,0,1.0)之間來調整場景亮度范圍,通常ambientColor也需要設置為(0.0, 0.0, 0.0)),以上參數並非固定,程序可根據實際情況靈活調整。光照貼圖的精度和顏色會產生丟失和偏差,但經過人為矯正和調整基本上是可以還原在unity3D中的效果,而且光照貼圖最重要的明暗細節變化沒有損失,后續LayaAir也會考慮直接解析EXR格式的光照貼圖,以下是LayaAir中的打光對比效果。

blob.png

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM