【舊博客轉移 - 2016年8月29日 12:51 】
前段時間做了一個放技能的時候,背景緩慢變黑,放完后再變回來的效果,可以很好的突出技能特效的感覺。 算是一種屏幕后期特效,這個特效說難不難,說簡單也不簡單 反正換做以前的我是沒這么快做出來的 隨着對Unity引擎跟Shader的更加了解,很快就把這個需求做完了
效果如下
實現方式
剛開始我想改變場景中物品的Shader顏色來實現,可發現場景里很多物品的材質跟Shader都各不一樣,實現起來比較麻煩 后來發現了一種更好的辦法,用兩個相機去渲染,一個變黑相機渲染場景,一個相機渲染不需要變黑的部分。把黑相機的層級調到最低 控制一個相機只渲染指定層級可以用位運算符改變Camera的cullingMask屬性 camera.cullingMask &= ~(1 << layer); //代表取消選中layer blackCamera.cullingMask |= (1 << layer); //代表添加選中layer 然后用到材質替換渲染的方式來實現變黑相機 實現Camera的OnRenderImage方法