最近在學習Siki學院中的U3D渲染,將學習的筆記進行整理,方便日後查閱,也方便各位交流學習。課程大綱如下:
先介紹燈光渲染的大致內容,燈光效果主要分爲實時光照(RealTime) 和烘焙(Baked),實時光照根據場景中的運動信息,實時更新光照信息,比較耗費性能。而烘焙是將光照信息照射到靜態物體上的影響生成光照貼圖,之後便可保存燈光效果並刪除燈光。接下來用幾篇博客簡要分析下其中的關鍵技術。
傳送門:
Unity3D燈光與渲染學習之(一):天空盒、燈光以及色彩空間
1.天空盒
1.1.天空盒的添加
天空盒是一個全景視圖,分爲六個紋理,表示上下左右前後六個方向的視圖,如下圖所示。經Unity處理後可以實現環繞式的顯示效果,可以從網上下載並添加,也可以直接用U3D自帶的天空盒,選用已有工程素材中的文件即可。
1.2.天空盒的反射
在添加了天空盒之後,添加幾個物體,可以看到天空盒的顏色會對物體產生影響。
可以在Windows>Lighting>Setting中對天空盒的屬性進行設定。控制場景對Cube的影響,可以選用顏色來改變小球的外觀。
之後,在Cube的Inspector面板中,更改Metalic和Smoothness屬性,可以改變Cube的反射情況,值越大,反射環境光的效果越明顯,並且光滑度上升。
2.燈光設置
2.1 .直射光
從很遠距離打出來,可看作是太陽光,只能控制旋轉角度,不能控制位置
直射光的Light選項,默認是實時的(RealTime),可修改爲烘焙。烘焙隻影響場景中的靜態物體,因此將受影響的物體勾選右上角的Static即可
直射光的陰影類型有3種:無,Hard Shadows,Soft Shadows,Soft Shadows最耗性能,效果分別如下
在Hard和Soft模式下,以下參數可以修改
包括
- 強度(Strength,控制陰影強弱)
- 分辨率(影子顯示的紋質量高低)
- 偏移(影子顯示錯位時調整,一般不涉及)
- Cookie(用一張透明貼圖可以打出類似花紋的陰影效果,下左圖)
- 耀斑(太陽的特效,下右圖)
Culling Mask表示遮罩,如果想讓某些物體不受光照影響,可以改變物體Layer,並讓直射光的Culling Mask不包括這個Layer即可
除了直射光,還有點光源、聚光燈和麪積光。
2.2 點光源
模擬一個小燈泡向四周發出光線。
2.3 聚光燈
模擬一個點光源僅沿着一個圓錐體方向發出光線
2.4面積光
模擬一個較大的發光表面對周圍環境的照明效果,通常面積光的燈光亮度衰減很快,陰影非常柔和。
3.色彩空間(Color Space)
整體環境的光亮調節可以在Edit>Project Setting>Player之中,控制Color Space爲Linear或是Gamma,可看到不同效果,Linear光影細節更豐富,並且更亮
Linear的變化更平滑,Gamma的兩極變化更劇烈,選用Linear更好,但不是所有設備都支持Linear,在配置較差的手機上只支持Gamma。