unity燈光可以有兩個Directional Light嗎,unity會根據日光來模擬現實的時間嗎?

最近在研究unity燈光,只要一個Directional Light顯得整個界面比較暗所以又加了一個Directional Light,但是我們主美說不可以這麼做,但是我看外國教程有加兩個Directional Light其中一個去掉陰影降低光照強度


在有其他解決方案的時候不要選擇這種「看上去正確」的做法,倒不是說這種做法不行,不按物理布光也是常見的做法……但這是在沒有其他方案的前提下。

大部分由美術導致的性能問題都出於「看上去正確」,比如,一個圖的透明度不夠高,不想著改貼圖,而是直接多疊幾層直到亮度足夠。

要儘可能地做正確的事。


答案自然是肯定的。

我們可以在Unity中試驗一下,當只有一個光源時,效果如下圖:

當我們再添加另外一個Directional Light時,場景就變成了這樣:

整個場景確實變得更加明亮了,但正如其他答案中提到的,這樣做會增加系統開銷。

至於模擬現實時間改變光照,是可以通過改變Directional Light的旋轉來簡單實現這樣的效果的,這裡用最簡單的光源圍繞自身的一個軸旋轉做一下示範:

如果想要得到更好的效果,完全可以動態改變光源的位置模擬從日出到日落的運動軌跡,並且再增加一個軸的旋轉,使影子的變化更加符合實際。

當然如果覺得麻煩的話,也可以使用插件,許多晝夜天氣系統的插件也已經實現了非常棒的晝夜變化效果,Check it out。


可以加兩個平行光,但環境光照里的sun只有一個。所以我覺得你所說的應該是平行光而非日光。

可以在遊戲中更改太陽方向來模擬時間

可以通過添加平行光來加強陰暗面光照,但添加平行光會增加系統開銷,在受光照物體較多的情況下不建議這麼做。

加強物體陰暗面光照的方式有很多種,最簡單的方法應該是加強環境光。

Windows -&> lighting -&> settings -&> scene -&> 調整「environment lighting」下的「intensity multiplier」

如果不是加強陰暗面光照,而僅是去除陰影的話,把light的shadow type改為no shadows


當然可以。 directional light 只是正好像現實里的太陽(太陽距離遠到原本spotlight的 角度近似於平行光了而成為 unity 里的 directional light了)你主美說不可以是因為和一般真實環境不和而已。既然只是正好像太陽,所以unity 並沒模擬現實光照按時間按gps作調整,但透過插件或簡單的c #script就可完成(只要不是大到render 整個地球,幾行code就搞定)。


在官方教程噩夢射手裡面的光源就是兩個平行光組成的,我也試著調過,發現單一光源對於它的場景來說顯得單調,混光確實是有比較好的效果


unity默認的天空盒可以根據平行光的角度來模擬日出日落,但是沒有夕陽的效果,多個光源的情況不行


可以,但不規範,

去掉陰影有兩種,一種是去掉光的遮擋,那直接改平行光的Shdow為 No Shadow

一種是讓陰影亮起來,改天空盒的亮度


推薦閱讀:

unity3D和AR VR有前景嗎?
unity如何寫出前後端通用的代碼?
Unity asset store有哪些值得購買的插件?
獨立開發者要不要從unity轉到ue4?
用MonoDevelop寫代碼有什麼提高效率的竅門?

TAG:Unity遊戲引擎 | 美工 |