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?
