作ったシェーダ
目的
- Unityでスクリーン合成(スクリーンブレンディング)する
- Adobe AfterEffectで作った効果ムービーをVideoPlayerコンポーネントで再生してる時に、スクリーン合成したくなったので
環境
- OS: Windows 10 Pro
- Unity: 2018.1.1f1
参考にさせてもらったサイト
スクリーン合成シェーダの作り方
- Unity公式からビルトインシェーダをダウンロードする

- [builtin_shaders-*\DefaultResourcesExtra\Unlit\Unlit-Alpha.shader]の中身をコピペして、新規シェーダを作る
- 新規に作ったシェーダをいじる
Shader "Unlit/ScreenBlending" {// ← UnityEditor上から見えるシェーダのカテゴリと名前を変更しておく
//<中略>
}
SubShader {
Tags {"Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent"}
LOD 100
ZWrite Off
Blend SrcAlpha One //OneMinusSrcAlpha // ← ここをいじる
//<中略>
}
上記のシェーダの、"ここをいじる"行をいじる。変更の仕方は以下の通り(だと思う)
| 合成の種類 | 第一引数 | 第二引数 |
|---|---|---|
| アルファブレンド | SrcAlpha | OneMinusSrcAlpha |
| 反転 | OneMinusDstColor | Zero |
| 加算 | One | One |
| 加算+アルファ(Ps的スクリーン)※今回 | SrcAlpha | One |
| スクリーン(Ps的比較(明)) | OneMinusDstColor | One |
| 乗算 | Zero | SrcColor |
おわりに
ヒカテクにコーヒーをおごってみませんか!(投げ銭|Donation)




