パンチスルー(Alpha Cutout)は、Unityの標準シェーダーで実現できるアルファ表現です。Alpha Cutoffの値を変えるだけで、グラデーションに沿ってテクスチャが現れたり消えたりするアニメーションが作れます。
目次
パンチスルーとは
アルファ値が一定のしきい値(Cutoff)を超えた部分だけを表示し、それ以下は完全に透明にする表現方法です。半透明の処理がないため描画負荷が軽く、エフェクトやUIの演出に向いています。
必要な素材
| 素材 | 説明 |
|---|---|
| ベース画像 | 表示したいカラー画像 |
| マスク画像 | 白黒のグラデーション画像(アニメーションの方向を決める) |
マスク画像の白い部分から順に表示され、黒い部分は最後まで非表示になります。
作成手順
1. ベース画像を用意
表示したい画像を準備します。

2. マスク用の白黒画像を用意
アニメーションさせたい方向に合わせてグラデーションを作成します。例えば円形に広がる演出なら、中心が白で外側が黒の円形グラデーションを使います。

3. マスクをアルファチャンネルに設定
Photoshopなどで、マスク画像をベース画像のアルファチャンネルとして保存します。
- Photoshopの場合:チャンネルパネルでアルファチャンネルを作成し、マスク画像をペースト
- 保存形式:PNGまたはTGA(アルファチャンネル対応形式)

4. Unityでマテリアルを設定
- Projectウィンドウで右クリック → Create → Material
- ShaderをUnlit/Transparent Cutoutに変更
- 作成したテクスチャをアサイン
5. オブジェクトに適用してアニメーション
- 板ポリ(Quad)を作成し、マテリアルを適用
- Alpha Cutoffスライダーを動かすと、アルファ値に応じて表示範囲が変化
- AnimationウィンドウでAlpha Cutoffにキーフレームを打てばアニメーションになる

Alpha Cutoffの仕組み
| Cutoff値 | 表示される部分 |
|---|---|
| 0 | すべて表示 |
| 0.5 | アルファ値0.5以上の部分のみ表示 |
| 1 | ほぼ非表示 |
マスク画像のグラデーションに沿って、徐々に表示・非表示が切り替わります。
活用例
- ローディング演出(円形に広がる表示)
- キャラクター登場エフェクト
- UIのトランジション
- ディゾルブ(溶けるような消え方)演出
まとめ
- パンチスルーはUnlit/Transparent Cutoutシェーダーで実現できる
- 白黒のマスク画像をアルファチャンネルに設定する
- Alpha Cutoffの値をアニメーションさせるだけで演出が作れる
- 半透明処理がないため描画負荷が軽い
参考:http://nakamura001.hatenablog.com/entry/20130208/1360346901
