HDRPでカスタムポストプロセスを使って画面をグレイスケールにしてみました。
まず、Projectウィンドウで右クリックから、Post Process Volumeとシェーダーを新規作成します。
シェーダーのCustomPostProcessメソッドの中身を変えて、グレースケールを返すようにします。
float4 CustomPostProcess(Varyings input) : SV_Target
{
UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
uint2 positionSS = input.texcoord * _ScreenSize.xy;
float3 outColor = LOAD_TEXTURE2D_X(_InputTexture, positionSS).xyz;
return float4(lerp(outColor, Luminance(outColor).xxx, _Intensity), 1);
}
Post Process VolumeのkShaderNameにシェーダーのパスを入れます。
Edit > Project Settings…を開き、HDRP Default Settingsで、+ボタンからAfter Post Processにこれを追加します。
また、ヒエラルキーウィンドウで+ボタンから、ボリュームを新規作成します。
Add Overrideをクリックして、Post-processing > Customからボリュームにも追加します。
Intensityのチェックを入れると、スライダーでポストプロセスの効果を調節できるようになります。
プレイモードにして、スライダーを動かしてみました。