前回作成したゴールフラッグに、Unityちゃんがたどり着いたら、フェードアウトするようにします。
具体的には、クリアしたら「ステージクリア!」などのテキストを表示しつつ、徐々に画面が暗くなるイメージですね。
ゴールフラッグに触れたらフェードアウトする方法
まずは、Canvasを用意してその中に「Panel」と「Text」を作りましょう。
次に、Panelを選択してColorの値を全て「0」に変更しておきます。
「A」の値をスクリプトから徐々に増やす事で、フェードアウトを表現できます。ちなみに「A」はalphaの事で透明度の事になります。
フェードアウト時にテキストを表示させる場合は、作成したテキストをお好みで編集してください。
暗転するだけで構わない場合は、作成しなくてもOKです。
フェードアウト用のスクリプトを作成
新しく「Fade」スクリプトを作成します。
Imageコンポーネントを取得して、isFadeoutがtrueになり次第徐々にalphaの値を増やすといった内容のスクリプトですね。
保存したらパネルにアタッチしておきます。
ゴールフラッグにアタッチするスクリプトの作成
後は、どのタイミングでフェードアウトするのかを指定してあげれば良いですね。
今回の場合は、ゴールフラッグに接触したら暗転するようにするので、トリガースクリプトを作ってゴールフラッグにアタッチすれば良いわけです。
こんな感じでOnTriggerEnterを使って暗転フラグを「true」にしましょう。
このタイミングでテキストもアクティブにすることで、文字が表示されつつフェードアウトします。
出来栄えとしてはこんな感じです。
一応フェードアウト中もUnityちゃんを操作できるので、それが嫌な場合は「Time.timeScale = 0;」を使って止めるのもありかと思います。