原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

【Unity】DOTweenを使ってTextMeshをフェードアウトさせる

長雨

ここ最近ずっと雨の天気で、コロナウイルスもこの雨と一緒に流れ去ってほしいと願っている皆さん、こんにちは。
コロナ禍でどこにも行けないと嘆いていたら、今度は長雨でどこにも行けない。休みの日はほぼずっとBeatSaber三昧ですよ。

 

TextMeshProとDOTween

さて、TextMeshProがUnityに標準搭載されてから随分と立ちます。TextMeshProの利点といえば、拡大しても文字がボヤけることがない事や、装飾のオプションが豊富な事が挙げられますが、DOTweenにTextMeshPro用の拡張メソッドの提供されていることもその一つと言えます。(DOTweenPro版のみ)

 

  • DOScale:文字の大きさを変更する
  • DOFontSize:文字のフォントサイズを変更する
  • DOFade:文字をフェードイン/アウトさせる
  • DOFaceFade:文字のFace(塗り)箇所をフェードイン/アウトさせる
  • DOColor:文字色を変化させる
  • DOFaceColor:文字のFace(塗り)の色を変化させる
  • DOGlowColor:文字のGlow(光沢)の色を変化させる
  • DOOutlineColor:文字のアウトラインの色を変化させる
  • DOText:文字を1文字ずつ表示する
  • DOMaxVisibleCharacters:表示文字数を変化させる

ざっと上げてもこれだけ機能があります。

 

というわけで使ってみる

実際に作成中の脱出ゲームで上記のメソッドを利用したUIを作ってみました。

イベント等が起こった時に表示するメッセージをFaceのフェードアウトとOutLineの色変更を実行しています。

f:id:Karvan:20200714222349g:plain

 

ソースはこんな感じ。

public Color EndColor;

TextMeshProUGUI text = this.GetComponent<TextMeshProUGUI>();
MsgSeq = DOTween.Sequence();

MsgSeq.Join(
    text.DOFaceFade(0.0f, 3.0f)
    );
MsgSeq.Join(
    text.DOOutlineColor(EndColor, 3.0f).SetDelay(0.5f)
    );

非常に短いコードで実装できました。

これにDOMaxVisibleCharactersで表示文字数を徐々に減らしていくようにすると

MsgSeq.Append(
    text.DOMaxVisibleCharacters(0, 3.0f)
    );
MsgSeq.Join(
    text.DOFaceFade(0.0f, 3.0f)
    );
MsgSeq.Join(
    text.DOOutlineColor(EndColor, 3.0f).SetDelay(0.5f)
    );

 

 こんな感じ

f:id:Karvan:20200714222745g:plain

 

センスがあればもっとおしゃれな演出も作ることができると思います。

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。