Unity3D中切換場景可能導致材質變暗的問題


  Unity版本:5.1.1f1

 

  做公司項目的時候,無意間發現了一個很奇葩的現象:場景A(純UI,故沒有光源)轉場到場景B的時候,B中原有的光源似乎失效了,但在Hierarchy窗口中能夠看到光源存在,調整光源的明度參數,效果也是有的,只是看起來仍然非常暗。

 

  而直接加載B場景就沒有任何問題。

 

  上圖說明問題。我制作了兩個場景,A場景沒有燈光,有一個跳轉到B場景的按鈕:

  

 

  B場景有光源,有一個跳轉到A場景的按鈕,還放了一個圓柱體用於表現材質問題:

  

 

  這是直接加載B場景的效果:

  

 

  這是從A場景跳轉B場景的效果:

  

  可以看出,並不是光線變暗了(天空盒並沒有變化),而是圓柱本身變暗了。  

 

  那么我們來看圓柱形的材質,可以發現從A場景進入B場景后,材質確實變了(材質球本身變了,其他數值都沒有變化):

  

  圓柱體使用的默認材質,代碼中也沒有做任何的設置。 

  而兩個場景唯一的差別,就是一個有光源,另一個沒有。大概可以猜測原因是光源導致的材質球變化。

  

  以如下順序啟動:A->B->A->B,問題依舊;

          B->A->B,正常。

  

  能看出從沒有光照的場景啟動,材質球就會變暗,而從有光照的場景啟動,就不會有變化,所以解決方案出來了:往啟動場景(場景A)中增加一個光源就OK了。因為場景A中是純UI部分,添加光源與否不影響UI的表現。

 

  因為看不到底層代碼,也不知道具體是為什么導致的。這算不算U3D的一個BUG?


免責聲明!

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



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