目錄
最近看了一些網路文章、影片教學,發現Unity的初始場景其實包含了許多渲染相關設定,把這些設定一一拿掉後,就能看到場景最原始的樣子(只有模型、光影、材質…等基本資訊)。
這是開一個新3D專案、建立一個Plane、一個Sphere,並指定了純色的標準材質球後的場景,並未進行任何渲染設定。
1.Color Space
Color Space可以想成是電壓及亮度的曲線,Linear是符合物理原則的線性關係,較接近現實世界;預設的Gamma則是顯示器上的曲線(非正比,亮度為電壓的2.2次方),較接近人眼所看到的顏色。
在Unity中,Linear是經過校正,讓顏色符合物理、接近現實,計算量較大、較吃資源;Gamma則不會做校正處理,由於2.2次方的關係,整體環境會偏暗(黑色為0、白色為1,因此亮度在暗處增加較緩)。
Reflection
Lighting中的Environment Reflections是指物體反光時反射的顏色,也就是周遭的環境,可以想像成把環境「貼」在物件上。 將Source設為Custom並不指定任何Cubemap,就會看到物體還有反光,但會變成純色的明暗漸層。
(這裡有刻意將材質的Smoothness調高,讓反光更明顯。
Environment Lighting
Environment Lighting顧名思義就是環境光,先前的場景都在Skybox的「照射」下,可以看到影子也有分明暗,就跟現實世界一樣。
將Lighting中的Environment Lighting的Source改成Color,這樣這個場景就不再受Skybox的「照射」了,陰影自然就只有一種顏色。 將Ambient Color改成純黑,陰影就會變成完全沒有漸層的全黑了。
這裡改回預設材質球會看得更清楚(黃黃的是因為預設Directional Light的顏色)。
Skybox
將環境光跟反射的Skybox都改掉後,現在Skybox就只是一個背景了,不會對物件的顏色有任何影響。 直接在Lighting中將Skybox設為none,場景除了背景消失外沒有其他變化。
Other
為了看到最原始、陽春的樣子,再把Camera的background改成黑色、Directional Light的顏色改成白色、材質的Smoothness設為0.5(預設數值)。
最後再來個前後對比:
以上就是Unity預設就先設定好的一些渲染設定,這些設定平常看似沒什麼影響(以前甚至以為Skybox就只是一個單純的背景),但其實決定整個畫面的呈現。 以後遇到畫面效果不如意時,就能按需求調整環境明暗、反光強度、陰影層次與顏色……等,而不是只能一昧的調整燈光。
by Steven