【TopDown Engine】ダメージを表示する方法(FloatingText)

アイキャッチ TopDownEngine
スポンサーリンク

前書き

アクションゲームにおいて、プレイヤーや敵が攻撃を受けた際に、ダメージ量が画面上に浮かび上がる表示は、ゲームのフィードバックとして非常に重要です。TopDownEngineはそのための機能としてFloatingTextを備えており、これを使うことで視覚的なエフェクトを簡単に実現できます。

UnityAssetを見てみるとダメージ表示の方法としては「Damage Numbers Pro」がよく使われているアセットかなと思いますが、以下のアセットを使わなくてもTopDownEngineの機能を使うことでダメージ表示を実装することが出来ます。

今回はこの、FloatingTextを使用した攻撃ダメージを表示する方法を解説しようと思います。

FloatingText機能とは

FloatingTextは、ダメージや通知メッセージを簡単に表示するための仕組みで、TopDownEngineに標準的に組み込まれてる機能になります。特定のイベント(主にFeedbacks)が発生した際に、自動的に画面上にメッセージを生成する仕組みになります。

デフォルトとしての使い方はキャラクターがダメージを受けた時のDamageFeedbacksでFloatingTextを表示するのが一般的となっているため、実装はそこまで難しいものではありません。まずは簡単に実装方法を知っていただき、Demoで使われ方を学んでいきましょう。

実装手順

FloatingTextを作成する

画面上に表示したいTextを作成します。デフォルトでは以下のフォルダにFloatingText用のPrefabが格納されていますので、こちらを元に自分なりの変更を加えるのがいいかなと思います。

TopDownEngine->
 ThirdParty->
  MoreMountains->
   MMFeedbacks->
    MMFeedbacks->
     MMFloatingText->
      Prefabs->
       MMFloatingText

MMFloatingText

FloatingTextSpawnerの設定する

TopDownEngineのプロジェクトでFloatingTextを使用するには、FloatingTextSpawnerをヒエラルキー上に設定する必要があります。

参考にMinimalSandbox2Dのヒエラルキーを見てみてください。FloatingTextSpawnerが設定されていることが分かりますね。

FloatingTextSpawnerのインスペクターを見てみるとMM Floating Text Spawnerというスクリプトが設定されています。このスクリプトが画面上にテキストを表示するために必要な処理となっています。表示する位置や色、速度など変更できますがここで最も大事な設定として「どのようなTextを表示するか」という設定があります。以下の赤枠で囲った部分がその部分になるため、先ほど紹介した「FloatingText設定する必要があります。この設定を忘れてしまうとTextが表示されないため忘れず設定をしましょう。

ダメージを受けた時にFloatingTextを表示するFeedbacksを設定する

TopDownEngineではHealthコンポーネントを設定することでダメージを受けた時の処理(Feedbacks)を設定することが出来ます。詳しい説明は省略しますが、HealthコンポーネントのDamage MM FeedbacksにFloatingTextのFeedbacksを設定したPrefabを設定することでダメージを受けた時にFloatingTextが表示されるようになります。

Demoで動きを見てみる。

では早速、DemoでFloatingTextの動きを見てみましょう。今回はMinimalSandbox2Dを使用してFloatingTextの動きを見てみました。動画の内容を簡単に説明すると、

  1. FloatingTextSpawnerの設定を確認
  2. ダメージを受ける対象(的)のFloatingTextFeedbacksを確認
  3. FloatingTextが表示されることを確認
  4. FloatingTextSpawnerの設定を変更して表示される文字が赤くなることの確認

をしています。

まとめ

今回はダメージを表示する方法について紹介しました。

使うためには3つの事前準備が必要になりますが、いずれも事前に設定しておけば使いまわせる機能ですし、すでにDemoのものをそのまま使えるぐらいなので使い始めるのは簡単だと思います。

画面上にダメージ表示されると爽快感も増す(はず)ですので、もしFloatingTextを実装していないのでしたらこの機会に実装してみてはいかがでしょうか?

コメント

タイトルとURLをコピーしました