Damage Numbers Proとは?
Damage Numbers Proは、ゲーム中にダメージなどの数値を様々な方法で簡単に表示できるアセットです。
ダメージ値の表現を作ろうと思うといろいろな方法があるので悩みますが、
Damage Numbers Proは自分で調整してゲームにあった表現を作ることができます。
Damage Numbers ProはTextMeshProを使用しているので、3Dでも2DでもuGUIでも使うことができます。
有料のアセットで、価格は$8.79となっています。
Damage Numbers Proをインストールする
Asset Storeで購入したら、Package Managerからダウンロードしてインポートします。

GameObjectを追加する
ヒエラルキー上のメニューからベースになるGameObjectを追加できます。

必要なコンポーネントなどもセットされています。

TMP_FontAssetを設定する
GameObjectを追加した段階では、Fontが未設定なので、
自分で用意したTMP_FontAssetをText→Fontに設定します。

ここまでできたらGameObjectをプレハブとして保存します。
ダメージを表示する
ダメージを発生させるため以下のようなスクリプトを用意しました。
using DamageNumbersPro;
using UnityEngine;
using UnityEngine.UI;
using Random = UnityEngine.Random;
public class DamageNumberTest : MonoBehaviour
{
[SerializeField] private Button _button;
/// <summary>
/// 保存したプレハブ
/// </summary>
[SerializeField] private DamageNumber _damageNumberPrefab;
private void Awake()
{
_button.onClick.AddListener(() =>
{
var damageNumber = _damageNumberPrefab.Spawn(
[Vector3.zero](http://vector3.zero/)
, Random.Range(1, 100));
});
}
private void OnDestroy()
{
_button.onClick.RemoveAllListeners();
}
}
適当なGameObjectに追加し、Buttonと先ほど保存したプレハブをアタッチすることで、
実行時にボタンを押せば以下のようにダメージを表示できます。

プレハブのSpawnメソッドを呼ぶことで、内部でプレハブをInstantiateして、インスタンスを返します。
Spawnメソッドにはいくつかオーバーロードがあり、
表示座標やダメージの値を渡すことができます。
var damageNumber = _damageNumberPrefab.Spawn(
[Vector3.zero](http://vector3.zero/)
, Random.Range(1, 100));
表示設定
DamageNumberのコンポーネントから、
- 大元の設定
- テキスト
- フェードインの挙動
- フェードアウトの挙動
- 動き
- 回転とサイズ
などを調整できます。
ゲームにあった表現を探ってみてください。

下の方にスクロールするとPresetsタブがあります。
プリセットとして沢山のパターンが用意されているのでこちらで色々試してみるのも手です。

サンプルのプレハブ
Damage Numbers Proのインストール先のDemo/Prefabsフォルダ以下に
Demo用プレハブが沢山用意されています。
Demoシーンから全ての表示を確認できるのでこちらから
ゲームにあった表現を探してみるのも良いでしょう。

オンラインデモ
公式にオンラインデモも用意されています。
購入を検討されている場合は、購入前に試してみることもできます。
まとめ
今回はダメージのような数値の表現をお手軽に実装できるDamage Numbers Proアセットについて簡単に紹介しました。
ダメージに限らず、獲得スコアなど様々な数値の表現に使えます。
設定によっては、「MISS!」や「Good!」のようなテキストの表示も可能です。
TextMeshProを使用しているのでフォントを用意すれば好きなフォントを使用できます。
また3Dでも2DでもuGUI上でも使用できるのでどんなジャンルのゲームでも利用できると思います。
ダメージの表現に悩んだらDamage Numbers Proアセットの使用も考えてみてください。
📣おしらせ!
Unity Asset Storeで BLACK FRIDAY セール が準備中です。
300以上の人気アセットを50%オフで購入するチャンス。
フラッシュセールでは最大95%オフも?