UnityでImageEffect(ポストプロセス)をかける方法を備忘録的に簡単にまとめます。
Projectフォルダを右クリックしてCreate => Shader => Image Effect Shader
からShaderを作ります。
名前はデフォルトのImage Effect Shaderが色を反転するエフェクトをかけるものなのでInvertにしておきます。
作成したInvertシェーダー上で右クリックして、Create => Material
からマテリアルを作成します。これも名前をInvertにしておきます。
作成したInvertマテリアルのShaderがHidden/Invert
になっていることをインスペクターから確認してください。
以下のスクリプトをCameraに追加して、インスペクターからスクリプトのmaterialプロパティをさきほど作成したInvertマテリアルにします。
ImageEffect.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ImageEffect : MonoBehaviour {
public Material material;
void OnRenderImage(RenderTexture src, RenderTexture dest) {
Graphics.Blit (src, dest, material);
}
}
これで、プログラムを実行すると以下のようになり、Game画面で色が反転しているのが確認できます。
