おーみんだよ。

おーみんだよ。

話題のニュースや役に立つ雑学をまとめています。

【Unity】オブジェクトをフェードアウトさせる簡単な方法。

   f:id:bookreadkun:20190110115452p:plain

おはようございます。おーみん(@Ooooooomin_365)です。

 

現在UnityでRPGを作成中です。

今回の記事ではコードをそんなに書かなくても出来るオブジェクトのフェードアウトのやり方について解説していこうと思います。

 

まずは完成した様子から見てみましょう。

 

 

このダメージ表記は自身でアニメーションを作成し、アニメーションコントローラに設定することで完成しました。

 

フェードアウトに関しては色々なサイトでスクリプトが紹介されていますが、スクリプト書くの面倒だ~~~と言う方にはかなり参考になると思います。

 

ちなみに僕のやり方だとプログラムは数行しか書きません(笑)

 

ではやり方を解説していきましょう!

 

UIのフェードアウトについて

大まかに順番を書きます。

 

  1. ヒエラルキービューにてcreate→UI→PanelでPanelを作成
  2. Panelの子オブジェクトを作成
  3. Windows→Animationにてアニメーション作成
  4. Animation Controllerでオブジェクトへの動きを設定
  5. 数行のコードを書く

 

ザッとこんな感じです。

1と2に関しては別記事「RPGでよく見る戦闘シーンを作成」で説明していますので、ここでの説明は省略します。

 

3のアニメーション作成から説明していきましょう。

 

アニメーションでフェードアウトを作成

子オブジェクトを選択後、Windows→Animationを選択します。

 

今回は2つのアニメーションを作ります。

 

まず1つ目。

f:id:bookreadkun:20190110112245p:plain

 

Colorを選択。

今回はフェードアウトを行いたいのでイジる部分はcolor.aの部分のみです。

0:00でcolor.aの値を「1」に、1:00でcolor.aの値を「0」にしてください。

こちらの名前は「TakeDamagedenemytext」とすることにします。

 

2つ目。

create New Clip...を選択し、こちらはcolor.aの値を0:00、1:00の両方とも「0」にする。

f:id:bookreadkun:20190110112346p:plain

こちらの名前は「default」としましょう。

 

これでアニメーションは完成です。

ここまで行うと自動的にプロジェクトビューにアニメーションとアニメーションコントローラが出来上がっています。

 

Animation Controllerでオブジェクトに設定

f:id:bookreadkun:20190110113016p:plain

 

通常設定では「default」になっていない場合は「default」を右クリックして「Set as Layer Default State」を選択します。

 

TakeDamagedenemytextからdefaultへMake Transitionを設定し、パラメータはBoolを選択。

 

f:id:bookreadkun:20190110113522p:plain

 

Conditionは「true」と設定します。

これは通常設定でdefault→TakeDamagedenemytextに移行してもすぐにdefaultに戻るようにするためです。

 

これでAnimation Controllerの設定も完了です。

 

数行のコードを書く

private Animator animator;

 

  void Start(){

     this.animator = GetComponent<Animator>();

  }

 

  public void 関数名(){

     animator.Play("TakeDamagedenemytext");

  }

 

これだけですw

 

以上でオブジェクトをフェードアウトさせることが出来ます。

 

最後に

今回僕も色々なサイトを回ってオブジェクトのフェードアウトについて調べたんですが、ほとんどがスクリプトの紹介なんですよね~。

 

視覚的に分かるアニメーションでもフェードアウトが実現できるので、こっちも紹介しておくかということで今回はこんな記事を書きました。

 

ぜひ参考になれば嬉しいです。

では!

 

※他にもUnityについて様々な記事を書いていますのでぜひ!

 

【Unity】シーン遷移のフェードアウト

【Unity第二十三話】シーン遷移のフェードアウトを簡単に実装 - おーみんだよ。

 

【Unity】ゲームの会話シーン作成

【Unity二十話】Fungusを用いてRPGの会話シーンを作る。 - おーみんだよ。

 

【Unity】Terrainの木をすり抜けの解決法

【Unity十八話】Terrainの木をすり抜ける際の解決法。 - おーみんだよ。

 

【Unity】ColliderとTriggerについて

【Unity第十一話】ColliderとTriggerの理解。 - おーみんだよ。