大家好~ 今天其實有點心血來潮, 話說我在玩 CGSS 的時候看到這樣的鏡頭效果:
然後我昨天上班時就
摸魚用了一點時間嘗試在 Unity 中
只用一個鏡頭重現這個效果.
為甚麼我會強調是一個鏡頭呢? 因為如果大家有用過 Unity 的話應該知道鏡頭是支援渲染到 RenderTexture 吧? 不過當你設成渲染到 RenderTexture 的同時, 這鏡頭就不會直接輸出到遊戲畫面了. 所以要如何做到同時輸出影像到畫面和 RenderTexture 呢? 可以參考
這段程式.
首先它用了
OnRenderImage 事件, 官方說明文件是寫這個事件是用於 Image Post Process 的, 簡單來說就是像那些鏡頭模糊等的效果用的, 只不過我在這裡不是用來做鏡頭後期效果, 而是把整個鏡頭影像複製一份: 所以大家可以看到最後是把 src 的 RenderTexture
Blit 一份到 copyTo 這個變數裡. 最後的操作就簡單了, 把這個 copyTo 定義的 RenderTexture 放到 "屏幕" 裡, 這樣就完成了~
最後我知道大家應該還是會看不懂, 所以我把示範影片上傳了: