本文將針對Image Effect進(jìn)行實踐分析,所采用版本為Unity 5.4.0b14 beta。
一、Image Effect插件下載
Unity內(nèi)置特效已于2015年12月10日免費(fèi)開源,即CINEMATIC IMAGE EFFECTS (PRE-RELEASE)。
下載方式一:通過Asset Store獲取Cinematic Image Effects pre-release版本,版本號為1.0.5(發(fā)布日期:2016年4月6日),文件大小為714.5 kB。
下載方式二:訪問bitbucket開源社區(qū)cinematic-image-effects。為了不斷提升Image Effect的功能與性能,官方還設(shè)立了論壇板塊:Unity Community Support>Graphics>Image Effects。
二、部分渲染特效實踐
應(yīng)用渲染特效的操作簡便,只需在相機(jī)組件中添加即可。以下為部分特效的實踐分析:

Screen Space Reflection(SSRR):屏幕空間光線追蹤反射,實現(xiàn)倒影效果。

Screen Space Ambient Occlusion(SSAO):屏幕空間環(huán)境遮擋特效,模擬全景漫反射。
抗鋸齒(Anti Aliasing | SMAA)。
Bloom泛光:使場景呈現(xiàn)夢幻效果。
色調(diào)映射(ToneMapping):在HDR模式下與Bloom混合使用,增強(qiáng)視覺效果。
三、深入學(xué)習(xí)文檔
Unity自帶的英文文檔質(zhì)量上乘,安裝Unity時即可下載。遇到問題時,點(diǎn)擊問號圖標(biāo)即可查閱本地英文文檔,便于快速深入學(xué)習(xí)。
通過輸入“Image Effect”關(guān)鍵字進(jìn)行搜索,可快速訪問Unity內(nèi)置提供的特效幫助,圖文并茂,便于學(xué)習(xí)。
四、后期屏幕渲染原理
屏幕后期渲染采用Graphics的Blit方法。與相機(jī)的Render方法不同,Blit在屏幕上創(chuàng)建一個與屏幕大小相同的平面,并使用第三個參數(shù)(材質(zhì)—Shader)進(jìn)行當(dāng)前面到新面的替換。Blit方法渲染平面,而Render方法渲染物體。
相關(guān)函數(shù):
Graphics.Blit函數(shù):public static void Blit(Texture source, RenderTexture dest, Material mat);
MonoBehaviour.OnRenderImage函數(shù):void OnRenderImage(RenderTexture sourceTexture, RenderTexture destTexture);
Shader文件編寫:編寫頂點(diǎn)片段shader。
#pragma vertex vert_img
#pragma fragment frag
參考資料:《Unity 5.X 從入門到精通》、《Unity Shaders and Effects Cookbook》。
示例Git地址:Shader_ImageEffects。