關於Unity中LightMap的一些見解

2021-08-02 08:25:50 字數 1139 閱讀 1324

最近在幹unity調整燈光的活兒。跟著公司很和藹的大牛學了不少東西。現在都寫一些出來,就當做乙個記錄吧。

1.lightsetting:

場景中都是靜態物體的話,最好把所有的光的light-->mode都換成baked,特別是主光源也就是平行光。如果是實時光照的話,會在場景引動的時候在地面產生光斑,影響最終的效果,所以完全可以把平行光也設定為baked。烘焙到光照貼圖上。平行光的話一般設定兩盞:一盞可以是偏暖色的光,一盞是冷色調的光照。然後就需要對lighting進行一些設定。我比較喜歡把lighting 放在屬性面板左邊,這樣很方便。

上圖就是lightingsetting了,裡邊的一些設定需要注意一下。首先這個enviroment-->bounces是光反射的次數。如果想要效果更加逼真的話可以把這個值設定的高一些,但是這樣做的話會讓烘焙時間變得很長。接下來就是realtimelighting,因為我的場景中沒有動態光照,所以這裡勾掉這個realtime global illumination.這裡如果沒有勾掉的話,光源產生的光照以及物體間的二次反射光線都會被直接烘焙在靜態光照貼圖上。 然後就是ambient occlusion了簡稱ao,主要是計算物體自身的陰影的,可以調整一下這些引數來達到不同的ao效果。接下來還有乙個很重要的東西:我們場景很大的時候如果烘出來很多光照貼圖會消耗機器效能。所以我們可以設定一下需要烘焙的物體的lightmap-->scale.設定如圖所示:

這個scale代表物體在lightmap中所佔的大小。這裡的0.8已經可以達到很好的效果了。之前貼圖烘焙出來的大小總共是32mb調整了0.8之後貼圖的大小變成了12mb,並且品質並沒有多少下降。所以設定一下這個還是很划算的。

2.上邊都是一些lightmap的設定心得,底下就是一些關於燈光的心得了。

以前在設定燈光的時候,根據風格,整體很仔細的調整了有一些燈光的顏色以及強度。後來發現當客戶的需求有變化的時候再調整風格會非常的浪費時間。所以最好的辦法不是通過乙個乙個的燈光來烘托出風格,當然可以有一些很有個性的燈光,但是肯定代價就是不夠靈活。以後盡量可能先調整好燈光的強度和範圍,表現出來正確的色彩以及亮度以後通過主光源來調整風格。這樣在風格改變的時候能夠更快的完成修改,而不是再一盞一盞的調整場景裡邊的燈光來滿足客戶的要求。

以前看了皮克斯的電影,很喜歡裡邊的冷暖交叉的燈光效果。但是自己來調整總是達不到那個要求和效果。所以,還是先調出來正確的顏色然後再調整風格。

關於unity中BindChannels的理解

官方文件 乙個博主的部落格 其實 bindchannels 命令主要幹的事情,就是可以重新對映繫結語義的資料來源和目標硬體。部落格裡所舉的例子 就是改變了texcoord 紋理座標 儲存資料的位置順序。因為unity中一般會把 lightmap 的 uv 存在第2個texcoord中,也就是texc...

關於unity中的SetActive

gameobject cube public button play1 void start void btn 用canvasgroup元件的有乙個問題,ui不可重疊,之前那麼做正好我的ui沒重疊,當然如果要改變ui的透明度的話做一些漸變效果的話canvasgroup元件還是可的。若父物體為fals...

unity中關於角度的函式

尤拉角和四元數一直不是太懂,所以最近補一補,先搞清楚應用方面吧 public void toangleaxis out float angle,out vector3 axis 其中引數angle為旋轉角 引數axis為軸向量。將物件現在的角度轉換成軸向與旋轉角。void angleaxis flo...