パンチスルー(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のトランジション
- ディゾルブ(溶けるような消え方)演出
Unityのほかの記事は、まとめからご覧いただけます。
あわせて読みたい


Unityの使い方まとめ|環境設定・uGUI・エディタ拡張
Unityについて書いた記事を、工程別に分類しました。 環境の設定でつまずいている場合は、最初の項目からご覧ください。 各カテゴリーは閲覧数の多い順に表示しています…
アニメーション向けのシェーダーはこちらです。
あわせて読みたい


Unity│アニメーション制作に役に立つシェーダー 5選
Unityでアニメーションや合成を作るときに役立つシェーダーをまとめました。 加算・アルファブレンド、両面表示、カットアウト、マスクなど実用的なシェーダーを紹介し…
まとめ
- パンチスルーはUnlit/Transparent Cutoutシェーダーで実現できる
- 白黒のマスク画像をアルファチャンネルに設定する
- Alpha Cutoffの値をアニメーションさせるだけで演出が作れる
- 半透明処理がないため描画負荷が軽い
参考:http://nakamura001.hatenablog.com/entry/20130208/1360346901
