シェーダーグラグでクロマキー合成
Unityのシェーダーで背景を抜く方法は各所で紹介されていますが、シェーダーグラフで実装する方法を知らなかったので自分で作ってみました。
以下のような流れで作成します。
- ベースのテクスチャのRGBAをCombineノードとColor Maskノードに分岐
- CombineノードでRGBを合成
- Color MaskノードでMask Colorで指定した色でマスクをかける
- Color MaskノードをInvert Colorsノードに接続してRedのみを反転
- CombineノードをUnlit MasterノードのColor入力へ接続
- Invert ColorsノードをUnlit MasterノードのAlphaに接続
Color MaskノードのRange、Fuzinessパラメータから、色を抜く領域を調整することができます。Color Maskノードの出力は1チャンネルのみなので、Invert Colorsノードでは、Redチャンネルのみ反転させています。
テクスチャをRenderTextureにすれば、動画の背景を抜くこともできます。