キャラクター上に吹き出しっぽくテキストを表示する方法。uGUIを使う方法もあるようだけど、今回はTextMeshを使用。3Dオブジェクトとしてテキストを扱うことができるようです。
[手順]
- Create Emptyで空のオブジェクトを作成
- Mesh > TextMeshでTextMeshのコンポーネントを追加
- 文字を入れるとぼやけるのでfont sizeを上げるとはっきり
- 当然文字がデカくなるのでオブジェクト自体のScaleを調整
加えてスクリプトを追加して、点滅するようにしてみた。
C#
public class Callout : MonoBehaviour {
private MeshRenderer textMesh; //MeshRendererのオンオフ用
private bool is_Active = true; //テキストの点滅繰り返し用
// Use this for initialization
void Start () {
textMesh = GetComponent<MeshRenderer>(); //MeshRendererを取得
StartCoroutine("Blink"); //コルーチンでBlink関数を呼び出し
}
IEnumerator Blink()
{
while (is_Active) //Trueの間
{
textMesh.enabled = false; //MeshRendererのオフ
yield return new WaitForSeconds(0.5f); //0.5秒待って
textMesh.enabled = true; //MeshRendererのオン
yield return new WaitForSeconds(0.5f); //0.5秒待って
}
}
}
結果はこんな感じ。