【Unity】CanvasとImageを使ってフェードを実装する

今回は、ゲーム開発ではお馴染みのフェードイン・アウト機能を「Canvas」とUIの「Image」を使って実装したいと思います。

スポンサーリンク

【Unity】CanvasとImageを使ってフェードを実装する

実装手順

まずは、CanvasとImageを作成します。

フェード処理①

Imageを選択して「Left」「Top」「Pos Z」「Right」「Bottom」の値を全て0にします。

アンカーは「Stretch」にしておきます。

Imageの色を好きな色に設定しておきます。私の場合は黒にしてますが、フェードアウトした時の色を他の色に変えたい場合は適宜変更してください。

フェード用のスクリプトを作成

スクリプト「FadeManager」を作成します。

スクリプトを作成したら、空のオブジェクト(FadeController等)を作ってそこへアタッチします。

フェード処理②

後は、好きなタイミングでFadeIn()及びFadeOut()を呼べばOKですね。

サンプルとしてボタンを用意して、ボタンがクリックされたらフェードアウトするようにします。

呼び出す側の処理を準備

シーンを管理するために新しいスクリプト「SceneController」スクリプトを作成します。

このスクリプトをアタッチするために空のオブジェクト(SceneController等)を作ってこのスクリプトをアタッチしておきましょう。

折角フェードイン・アウト出来るので、スタートメソッドでフェードインを実行するようにしています。フェードアウトは、ボタンが押されたタイミングで実行します。

フェード処理③

SceneControllerのFade ManagerにヒエラルキーからFadeControllerオブジェクトを設定します。

続いて、ボタンを1つ作成します。

フェード処理④

ボタンのOnClickにSceneControllerオブジェクトを設定して「SceneController.OnButtonPress」を実行するようにします。

ここまで出来たら、ゲームを実行してみましょう。

こんな感じで、フェードインから始まりボタンがクリックされた際にフェードアウトすると思います。

著者プロフィール
うんくん

IT系に特化した記事がメインです。(Unity多め。)
Udemy講師もやっています。よろしくお願いします。

※Amazonのアソシエイトとして、当メディアは適格販売により収入を得ています。

うんくんをフォローする
unity基本操作
スポンサーリンク
シェアする
うんくんをフォローする