Unity入門 - Textの使い方 -
初めに
本記事では、UIの一つであるTextの使い方を解説します。
Index
Textが表示されない場合
Textがヒエラルキー内にあるのに、Textが画面に映らない場合があります。その原因は次の3つのいずれかのことが多いです。
- Canvasの子オブジェクト内にTextがない
- Textがカメラに映っていない
- 文字サイズがTextのサイズより大きくなってしまっている
Textがカメラに映っていない
Textを選び、インスペクターのRect TransformにあるPos X、Pos Y、Pos Zの数値を調整しましょう。
文字サイズがTextのサイズより大きくなってしまっている
上の動画のように、Textのサイズを文字サイズが上回ると表示されなくなってしまいます。そのときは、Rect TransformのWidthとHeightの数値を上げましょう。
インスペクターから編集する
サイズ、位置
Rect Transformから調整できます。
文章の内容、Font、FontSize等
Text内から編集できます。
スクリプトから編集する
スクリプトからも編集ができます。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; //TextはUIのため, UnityEngine.UIを追加 public class SampleScript : MonoBehaviour { public GameObject TargetText; //Textオブジェクト取得用 Text _targettext; //Textのコンポーネント取得用 void Start() { //コンポーネントの取得 _targettext = TargetText.GetComponent<Text>(); //fontサイズの変更 _targettext.fontSize = 64; //Text内容の変更 _targettext.text = "スクリプトから文章を変更しました"; } }
上記のようにTextコンポーネントを取得すれば、スクリプトからTextの情報を変更することができます。今回はStartの中に書いているので、実行すると下の動画のようになります。
TextMexhProの紹介
先ほど、Textを生成する際、そのすぐ下にText - TextMeshProと書いてあったと思います。TextMeshProでは、Textでやりづらい装飾やフォントを編集することができます。
また、後日記事にします。
(公式の説明)
docs.unity3d.com
Textにアニメーションを付けるには
Typeface Animatorというアセットを使えば、比較的簡単にアニメーションを付けられます。
下のリンクからアセットをダウンロードできます。これも後日記事を書こうと思っています。
最後に
Textの使い方をまとめました。まだTextMexhProやTypeface Animatorなど解説できていない部分はまた別で記事にする予定です。