采用線性渲染的伽馬紋理
Unity Editor 允許您使用傳統(tǒng)的伽馬顏色空間以及線性顏色空間。即使紋理位于伽馬顏色空間內(nèi),也可使用線性顏色空間。
如需進(jìn)一步閱讀這方面的信息,請參閱以下相關(guān)文檔:
線性渲染概述,介紹線性和伽馬顏色空間的背景信息。
線性或伽馬工作流程,介紹應(yīng)該選用線性顏色空間還是伽馬顏色空間。
線性紋理,介紹如何使用線性紋理。
注意:如果紋理位于線性顏色空間內(nèi),需要禁用 sRGB 采樣。請參閱有關(guān)線性紋理的文檔以了解更多信息。
線性渲染為渲染的場景提供不同的外觀。如果創(chuàng)作的項(xiàng)目在伽馬空間中渲染時(shí)看起來很好,那么更改為線性渲染時(shí),視覺效果不太會仍然保持良好。因此,如果從伽馬渲染更改為線性渲染,您可能需要一些時(shí)間來調(diào)整項(xiàng)目,使其看起來像以前一樣好。不過,這種轉(zhuǎn)變最終可實(shí)現(xiàn)更加一致和逼真的渲染,因此在這上面花些時(shí)間可能是值得的。您可能需要調(diào)整紋理、材質(zhì)和光照。
光照貼圖
光照貼圖中的光照計(jì)算始終在線性空間中完成(請參閱有關(guān)?Lighting 窗口的文檔以了解更多信息)。光照貼圖始存儲在伽馬空間中。這意味著,無論是在伽馬還是線性顏色空間中,光照貼圖紋理都是相同的。
位于線性顏色空間時(shí),紋理樣本在紋理采樣時(shí)會從伽馬空間轉(zhuǎn)換為線性空間。位于伽馬顏色空間時(shí)則不需要轉(zhuǎn)換。因此,在更改顏色空間設(shè)置后,必須重新烘焙光照貼圖:當(dāng) Unity 的光照設(shè)置為自動(dòng)烘焙(默認(rèn)設(shè)置)時(shí),此過程會自動(dòng)激活。
導(dǎo)入光照貼圖
Unity 創(chuàng)建的光照貼圖 EXR 文件中的數(shù)據(jù)位于線性空間內(nèi)。導(dǎo)入過程中它將被轉(zhuǎn)換到伽馬空間。從外部光照貼圖中引入光照貼圖時(shí),請?jiān)诩y理導(dǎo)入器 (Texture Importer)?中將光照貼圖的?Texture Type?設(shè)置為?Lightmap。此設(shè)置可確保在導(dǎo)入時(shí)繞過 sRGB 采樣。
線性渲染支持的平臺
并非所有平臺都支持線性渲染。支持該功能的構(gòu)建目標(biāo)平臺有:
Windows、Mac OS X 和 Linux(獨(dú)立平臺)
Xbox One
PlayStation 4
Android
iOS
WebGL
當(dāng)設(shè)備不支持線性渲染時(shí),不會回退到伽馬空間。在這種情況下,播放器將退出。通過在腳本中查找?QualitySettings.activeColorSpace?即可核實(shí)有效的顏色空間。
在 Android 上,線性渲染至少需要 OpenGL ES 3.0 圖形 API 和 Android 4.3。
在 iOS 上,線性渲染需要 Metal 圖形 API。
在 WebGL 上,線性渲染至少需要 WebGL 2.0 圖形 API。
在滿足最低要求之前,Editor 會阻止您構(gòu)建播放器并顯示通知。這是為了避免將那些在用戶設(shè)備上會錯(cuò)誤渲染的游戲部署到數(shù)字商店。

線性顏色空間和 HDR
使用 HDR 時(shí),渲染在線性空間中執(zhí)行到浮點(diǎn)緩沖區(qū)。這些緩沖區(qū)具有足夠的精度,無論何時(shí)訪問緩沖區(qū),都不需要轉(zhuǎn)換到伽馬空間或從伽馬空間轉(zhuǎn)換。這意味著,在線性模式下渲染時(shí),您使用的幀緩沖區(qū)會將顏色存儲在線性空間中。因此,所有混合效果和后處理效果均在線性空間中隱式執(zhí)行。當(dāng)寫入最終后備緩沖區(qū)時(shí),將應(yīng)用伽馬校正。
線性顏色空間和非 HDR
啟用線性顏色空間但未啟用 HDR 時(shí),將使用一種特殊的幀緩沖類型,它支持 sRGB 讀取和 sRGB 寫入(讀取時(shí)從伽馬轉(zhuǎn)換為線性,而寫入時(shí)從線性轉(zhuǎn)換為伽馬)。當(dāng)此幀緩沖區(qū)用于混合,或?qū)⑵浣壎榧y理時(shí),值在使用前將轉(zhuǎn)換為線性空間。寫入這些緩沖區(qū)時(shí),所寫入的值將從線性空間轉(zhuǎn)換為伽馬空間。如果在線性模式和非 HDR 模式下進(jìn)行渲染,則所有后處理效果都會創(chuàng)建其源緩沖區(qū)和目標(biāo)緩沖區(qū)并啟用 sRGB 讀寫權(quán)限,以便在線性空間中進(jìn)行后處理和后處理混合。