Unity+UnrealEngine4+Blog.

UnityやUnrealEngine4とかについて学習したことを書いてます

UnityのタイムラインでUIのテキストをフェードインさせたりサウンドをコントロールしてみる

 今回の記事はUnityのタイムラインでUIのテキストやサウンドをコントロールする内容です。

サウンドとテキストの連動をスクリプトだけでやろうと思ったらタイミングをとるのが面倒だったので、タイムラインで直観的にできないかとやっていました。

 

こちらの動画はスクリプトでコントロールしているのですが、これをタイムラインで表現してみます。

 

 

 上のは1週間ゲームジャムで作成したゲームです!暇なときにお金をかき集めて見てくださいw

かね降る街 | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう

 

 タイムラインの使い方は過去の記事に書いてあるので、基本的な使い方の説明は省略しています。

nabesi777.hatenablog.com

nabesi777.hatenablog.com

nabesi777.hatenablog.com

 

 

空オブジェクト(名前:DirectionManager)をつくりそこにタイムラインを作成しました。

まずはサウンドを作っていきます。

私の今回作成するものはシンプルなのでAudioTrackをひとつだけ作り、そこにクリップを3つ追加しました。綺麗になるように繋ぎ目を若干重ねました。

f:id:nabesi777:20181126192615p:plain

 

 このサウンドもスクリプトから制御するとタイミングをはかるのがとても煩わしいですが、タイムラインで作るとなんと簡単なことか・・一瞬でできました。

 

次にUIを任意の場所に表示させたり、非表示にさせます。

多少問題はありますが、これも簡単です。

 

ActivationTrackを3つ作成してUIのTextを入れるだけです。あとは場所を調整して下のようになりました。

f:id:nabesi777:20181126193157p:plain

 

上から得点を表示するテキスト、「称号」の文字を表示するテキスト、称号を表示するテキストとなっています。Unity本体を再生↓(テキストが変数を取得している為か、タイムラインの再生ではうまく表示されませんでした)

f:id:nabesi777:20181126193753g:plain

 

まぁなんとなくやりたいことはできました。

しかし、この機能では単純に表示・非表示しかできないので、このテキストを動かしたり、徐々にフェードインさせたりと複雑なことをすることができないという問題があります。

 

今回は徐々にフェードインさせなければいけません。

そこで必要になるのがPlayableTrackです。

 

難しそうなのですごーく触りたくなかったですが、これを攻略せずしてタイムラインを攻略することはできないので頑張ってやってみました。(意外と簡単にできました)

 

手順↓

PlayableAssetとPlayableBehaviourを作成します。名前は以下のようにしています。

f:id:nabesi777:20181126194518p:plain

 

 タイムラインにPlayableTrackを追加して、再帰ほど作成したPlayableAssetをトラックの中に入れます。*先ほど作成した3つはミュートにしています。(Mボタン)

f:id:nabesi777:20181126194807p:plain

 

 そして2つのスクリプトへコードを書いていきます。

今回はフェードインさせるだけの内容です。

 

FadeInPlayableAsset

FadeInPlayableAsset

FadeInPlayableBehaviour

 

 書けたらタイムラインのクリップをクリックして、インスペクターの設定をします。

今回はフェードインさせたいテキストを格納します。

f:id:nabesi777:20181126200022j:plain

 

これでタイムラインで任意のタイミングでテキストをフェードインさせることができました!

f:id:nabesi777:20181126200355g:plain

 

この要領でフェードアウトのコードを書き足したりして、エンディングを作ってみました↓ うっすらテキストの型が残っているのはご愛嬌で!

 

 

 今度はタイムラインでもっと複雑な演出にチャレンジしてみて使えそうならまた記事にしたいと思いますー!