こんな感じで、アクションゲームにおけるダメージ表示を作りました。



ちなみに2Dグラフィックの素材はRドさんからお借りしました。
http://www.geocities.co.jp/Milano-Cat/3319/

■作り方
①3D Object->3D Textを作成


②PreFab化
   このとき、あとでプログラムから参照させるため「Resources」以下のフォルダに格納しておくこと


③PreFabをロードする

PREFAB_DAMAGE_TEXT = (GameObject)Resources.Load ("Prefabs/p_DamageText");

参考:
http://qiita.com/2dgames_jp/items/8a28fd9cf625681faf87



④Prefabをつくるりたい場所に下記の記述(いつものやつ)
 classの作り方は好みでしょうが、今回はダメージを引数に。

GameObject obj = Instantiate(PREFAB_DAMAGE_TEXT, transform.position - this.transform.forward, transform.rotation) as GameObject;
bj.GetComponent<DamageText> ().Create (damage

);


⑤ダメージの記載(3D Text側のClass関数


this.GetComponent<TextMesh> ().text = "-" + dam;



最低限、これだけで表示できます。
あとは数字の表示時間とか、フォントとかいろいろ味付けをお好みで。


自分の味付けはこんな感じ。
表示時間は1秒間。
0.2秒経過すると、表示を徐々に上方向へ移動。
上述のCreate関数コール時に、lifeには1をセット。

ちなみに、z軸方向への移動やフォントサイズの変更もできるけどなんか気持ち悪かったのでボツ。

 void Update () {

 life -= Time.deltaTime;

 if (life < 0) {
 Destroy (this.gameObject);
} else {

 if(life < 0.8f){

 this.transform.position = (this.transform.position + this.transform.up*0.01f);
}

}
 
}



ダメージ数値が出るとぐっとゲームらしくなるね!!