Oculus Rift + Unity 画面上に文字を表示する
Takahiko Wada
Unityで画面上にスコアや”Gameover”みたいな文字を表示するとき、
普通だと”GUI Texture” とかを使いますが、Oculus Riftでそれをやるとちゃんとステレオに表示されない、、、
3D Textを使えばOK
どうすればいいのか調べると "3D Text"を使えばよかった。
3D TextをPlayerの配下に置けば、常に視界に表示されるので、スコアなどを表示するのはこれでOKですね。
で、3D Textを使った時のその他Tipsを以下にメモメモ、、、
3D Textぼやける問題
デフォルトの設定だとボヤけてます。なんだこりゃ。
これは、Character Sizeを小さくして、Font Sizeを大きくすればOKの模様。
【before】Character Size = 1, Font Size = 0
↓ 【after】Character Size = 0.1, Font Size = 200
するとこんな感じでクッキリと!
文字をプログラムから変える
スコアとか表示するなら、プログラムから文字を変更したくなります。 TextMeshのtextを変更すればOKそう。
# Inspectorで3D Textを渡しておく public GameObject messageText;
void Update () {
messageText.GetComponent<TextMesh>().text = score + "Pt";
}
(2015.1.31追記)
3D Textを隠すのはこんな感じ
messageText.renderer.enabled = false; // 非表示にする