クロマキーシェーダーを作ってみる
朝からガチャピンがクロマキーで透明化した、というニュースが話題になっていたので、便乗してクロマキーシェーダー作りました。
記事の最後にコードを掲載します。
通常のクロマキーではブルーバック、グリーンバックが主ですが、任意の色が指定できるようにしました。
また透過対象色の近似度の閾値も任意に指定出来ます。
任意色指定
閾値指定
ガチャピンのようなもの。
WebCamTextureやRenderTexture用のShaderとして使うことで、実際のテレビのクロマキーの様に使うことが出来ると思います。
↓ちょっと前にFaceRigで試したやつ。
あ、そっか、WebCamTextureをセットするマテリアルのシェーダで指定色近傍の色を投下すればUnity上でクロマキーできるか。 pic.twitter.com/uBelnGKkAm
— オノッチ (@onotchi_) 2016年1月15日
※2016/05/13 追記
色の近似度をRGB色空間の距離でとっていましたが、同色で明暗がある場合はHSV色空間のH(Hue)の近似で見たほうがいいことに気づいたので、そちらのバージョンも作ってみました。
下の図の場合、左が上記のRGBでの判定、右がHueでの判定となります。
シェーダのコード