unity lighting相關設置

主要參考unity官方文檔此文檔及其子文檔;

lighting mode

unity內部的light有三種lighting mode

  1. Realtime用於計算實時光照;
  2. Mixed用於計算實時光照與全局光照,即混合計算;
  3. Baked用於計算全局光照,沒有實時部分,其全局光照採用預計算存儲於light map與light probe中

lighting settings

lighting settings與lighting mode共同決定了light的計算方式(shadow的相關設置還需要與quality setting配合)

  1. lighting mode爲Realtime時,lighting settings的Realtime Lighting可用於設置是否開啓Real Global Illumination,real GI主要通過預計算static object之間的surface-to-surface light paths關聯性來達到實時GI的目的;當Real Global Illumination不開啓時,爲正常的實時直接光照與實時陰影,無間接光照,當Real Global Illumination開啓時,包含了實時間接光照;
  2. lighting mode爲Mixed時,lighting settings的Mixed Lighting可用於設置混合的方式
  • Baked Indirect mode提供最高質量的光照,其設置只牽扯間接光照:其間接光照預烘培至light map(static object)與light probed(dynamic object)中,陰影的計算不受影響(只要在shadow distance範圍之內,且不分static object與dynamic object,都採用實時陰影;shadow distance範圍之外沒有陰影);
  • Subtractive提供最低質量的光照,其設置牽扯直接光照、間接光照、陰影:針對static object,其只接受主光源下dynamic object的實時陰影(distance範圍之內有,之外沒有),其它所有實時光照、間接光照、陰影等光照信息都是預計算在light map中的,並且這裏實時光照不包括平面光反射==;針對dynamic object,其接受實時光照、dynamic object的實時陰影,static object的陰影與間接光只能通過light probe計算;
  • Shadowmask提供中等質量的光照,其設置牽扯間接光照、陰影,直接光照正常計算:針對static object,其接受dynamic object的實時陰影(distance範圍之內有,之外沒有),static object的陰影烘培至shadow mask,間接光照預烘培至light map;針對dynamic object,其接受dynamic object的實時陰影(distance範圍之內有,之外沒有),static object的陰影與間接光照預烘培至light probe;
  • Distance Shadowmask提供較高中等質量的光照,與Shadowmask類似,其設置牽扯間接光照、陰影,直接光照正常計算:在shadow distance範圍之內,其作用與Baked Indirect mode一致,其間接光照預烘培至light map(static object)與light probed(dynamic object)中,針對dynamic object與static object,都採用實時陰影計算;在shadow distance範圍之外,dynamic object不投射陰影,static object通過預烘培投射陰影,static object通過shadow mask接受static object的陰影,通過light map接受間接光照,dynamic object通過light probe接受static object的陰影與間接光照;
  • shadow mask: shadow mask類似與light map,兩者共享一套UV佈局,但是shadow mask內部只存儲陰影信息,由於GPU通道的限制,一個texel只能存儲4盞光源的陰影信息,因此對於多光源範圍重疊的現象,只有四盞光源起作用,其它的光源(那些光源由bake系統決定)將按baked方式計算,light probe同樣只支持4盞重疊光源的陰影;

  1. lighting mode爲Baked時,lighting settings的Lightmapping Settings可用來設置bake所需要light map的一些參數,包括light map分辨率,bake採樣數等等。
  • Baked Lighting主要用於改善局部亮度,Unity將直接光照與間接光照bake至light map(static object)與light probe(dynamic object)中,不包括陰影的bake,並且bake的光照不包括平面反射部分;值得注意的是baked lighting始於陰影無關的光照;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章