[Unity] スプライトをフェードアウトさせる

Unity上でスプライトを徐々にフェードアウトさせる方法についてのメモ書きです。
これは簡単な爆発エフェクトなどに使えます。

スプライト描画を行うコンポーネントはSpriteRendererであり、この中にColorフィールドがあります。
Colorフィールドはスプライトの絵を貼り付ける下地となる紙のようなもので、この紙の色を自由に設定できます。
デフォルトは白色なので、スプライトの絵がそのままの色で貼り付けられるようになります。

Colorには透明度(=αチャネル)も指定することができます。
したがって、このαチャネルの値を変更ことで半透明のスプライトを表示したり、透明度を変化させることも可能です。

今回はこの機能を利用してスプライトをフェードアウトするスクリプトを書いてみました。

上記スクリプトをフェードアウトさせたいGameObjectに追加すると、指定された時間でフェードアウトして最後には消滅します。

まずSpriteRendererコンポーネントを取得し、

Update()メソッドの中でSpriteRendererのαチャネルを更新します。

αチャネルを含め、色の各成分の取り得る範囲は0~1です。

完全にフェードアウトしきったら、自身をDestroyしてシーンから消滅させます。

これで冒頭で述べた動作を実現できます。

今回はSpriteRenderer限定ですが、この処理を少し応用すればマテリアルなどのフェードアウト処理も実現できます。

COMMENTS & TRACKBACKS

  • Comments ( 0 )
  • Trackbacks ( 1 )

コメントはまだありません。

  1. […] ftvlog [Unity]スプライトをフェードアウトさせる  […]

LEAVE A REPLY

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.