初心者必見!現場レベルの「ゲーム制作講座PDF」を無料プレゼント中!▶

UnityでUIテキストを表示 | TextとTextMeshPro

Unity 基礎操作・設定

スコアや残り時間、操作説明——ゲーム画面に文字を出したいですよね。

UnityのUIテキストは、Canvasの上にTextコンポーネントを置くことで表示できます。
Legacy Text(旧UI Text)とTextMeshPro(TMP)の2種類がありますが、新規プロジェクトではTMPが標準です。

この記事では、Canvas上へのテキスト配置、TMPの基本設定、日本語フォントの導入要点、スクリプトで数値を更新する方法までを説明します。
ボタンやパネル全体のUI設計は別の話にし、テキスト表示に集中します。

  • Textを置いたのに、Gameビューに文字が表示されない
  • 日本語が□(豆腐)になって読めない
  • スコアの数値をスクリプトから更新する方法が分からない

この記事でわかること

  • Canvas上にテキストを配置する手順
  • Legacy TextとTextMeshProの違い
  • 日本語フォントの設定要点
  • スクリプトでテキストを更新する方法
  • Font SizeやAlignmentの調整
  • 初心者でも理解できる解説

\プログラミング未経験でも大丈夫!まずは1本作り切ろう/

初心者が最初に選ぶならコレ

Unity ノンフィールドRPG
+スレスパ風JRPG講座

★★★★★ (Unity6対応)

Unity6対応・スマホ化対応の最新カリキュラム。「何から始めればいいかわからない」という初心者でも、ステップごとに手を動かすだけでRPGが完成します。

講座を見てみる \ゼロからでもスマホ対応RPGが作れる!/

憧れのアクションゲームに挑戦

Unity 2Dアクションゲーム
の作り方講座(ロックマン風)

★★★★★ (スマホ化・広告実装)

初心者でもロックマン風の横スクロールACTが作れる講座。7ステージ+ラスボスという本格構成で、スマホ化・広告実装まで対応。「自分のゲームをリリースしたい」夢を叶えます。

講座を見てみる \初心者でも本格ACTが完成する!/

3Dゲーム開発の入口はここ

ゼルダ風3Dアクションゲーム
の作り方講座

★★★★★ (スマホ化対応)

「3Dゲームって難しそう…」と感じている初心者向けの講座。全16回でゼルダ風3Dアクションがスマホ対応で作れるようになります。3D開発の基礎がしっかり身につきます。

講座を見てみる \初心者でも全16回で3Dゲームが完成!/

CanvasとUIテキストの関係

UnityのUI要素は、すべてCanvasの子オブジェクトとして配置します。
Canvasがないと、TextやButtonは画面に描画されません。

Hierarchyで右クリック → UI → Text – TextMeshPro を選ぶと、CanvasとEventSystemが自動作成されます。
TMPを初めて使うときは「TMP Importer」のウィンドウが出るので、Import TMP Essentialsを押してください。

要素 役割
Canvas UI全体を描画する土台。
Screen Space – Overlayが一般的
Text (TMP) 高品質なテキスト表示。
拡大してもにじみにくい
Legacy Text 旧来のUI Text。
新規ではTMPを推奨

TextMeshProでテキストを配置する

Canvas上にテキストを置く手順は次のとおりです。

UIテキスト配置の手順
  • STEP1
    Text - TextMeshProを作成

    Hierarchy → UI → Text – TextMeshPro を選び、Canvasが自動生成されるのを確認します。
  • STEP2
    Text Inputに文字を入力

    InspectorのText Input欄に「Score: 0」など表示したい文字を入力します。
  • STEP3
    Font SizeとAlignmentを調整

    Font Sizeで大きさ、Alignmentで左寄せ・中央寄せを設定します。
  • STEP4
    Rect Transformで位置を決める

    Anchors(錨)を使い、画面左上や中央など、表示位置を調整します。

Gameビューで文字が見えれば成功です。
Sceneビューでは小さく見えることがあるので、Gameビューで確認するのが確実です。

管理人
管理人

Rect TransformのAnchorsを画面左上に合わせると、解像度が変わってもスコア表示が左上に固定されます。
UI配置で最初に覚えると便利な機能ですよ。

Legacy TextとTextMeshProの違い

Unityには2種類のテキストコンポーネントがあります。
新規プロジェクトではTMPを使うのが一般的です。

項目 Legacy Text TextMeshPro (TMP)
画質 拡大するとにじみやすい SDF方式で拡大してもくっきり
機能 基本的な表示のみ アウトライン、グラデーション、リッチテキスト対応
推奨 既存プロジェクトの互換用 新規作成ではこちらを選ぶ

Hierarchy → UI → Text – TextMeshPro で作成すれば、最初からTMPが使えます。
教材で「UI Text」と書いてあっても、TMPで代用して問題ありません。

日本語フォントの設定

日本語が□(豆腐)になる原因は、フォントに日本語の文字データが含まれていないことです。
TMPでは、日本語対応フォントからFont Assetを作成する必要があります。

手順の概要は次のとおりです。

  1. 日本語対応の.ttfまたは.otfフォントファイルをプロジェクトにインポートする
  2. Window → TextMeshPro → Font Asset Creator を開く
  3. Source Font Fileにフォントを指定し、Character SetをUnicode Range (Hex)に設定
  4. Generate Font Atlasを押してFont Assetを作成する
  5. Text (TMP)のFont Asset欄に、作成したアセットを設定する

Noto Sans JPなど、Google Fontsから入手できる無料フォントが使いやすいです。
Character Setで日本語のUnicode範囲(4E00-9FFFなど)を指定すると、常用漢字が含まれたFont Assetが作れます。

スクリプトでスコアを更新する

ゲーム中にスコアや残り時間を変えるには、TextMeshProUGUIコンポーネントのtextプロパティを書き換えます。

using UnityEngine;
using TMPro;

public class ScoreManager : MonoBehaviour
{
  public TextMeshProUGUI scoreText;
  private int score = 0;

  void Start
  {
    UpdateScoreDisplay;
  }

  public void AddScore(int points)
  {
    score += points;
    UpdateScoreDisplay;
  }

  void UpdateScoreDisplay
  {
    scoreText.text = "Score: " + score.ToString;
  }
}

InspectorでScore Text欄に、Canvas上のText (TMP)オブジェクトをドラッグ&ドロップで割り当てます。
AddScore(10)を呼べば、画面の表示が「Score: 10」に更新されます。

Legacy Textを使う場合は、using TMProの代わりにUnityEngine.UIのText型を使い、同様に.textプロパティを更新します。

管理人
管理人

TextMeshProUGUIは「UI用のTMP」、TextMeshPro(3D)」は「3D空間に浮かぶ文字」です。
Canvas上なら必ずTextMeshProUGUIを使いましょう。
名前が似ているので間違えやすいですよ。

文字の見た目を調整する

Inspectorで次の項目を調整すると、見やすいUIテキストになります。

  • Font Size → 文字の大きさ。
    スマホ向けは36〜48程度が目安
  • Color → 文字色。
    背景とコントラストを付ける
  • Alignment → 左・中央・右寄せ。
    スコアは右寄せが多い
  • Outline → Material Presetでアウトライン付きにすると背景に埋もれにくい

Rich Text Tagsを使えば、<color=red>赤字</color>のように一部だけ色を変えることもできます。
Text Input欄で直接HTML風のタグを書きます。

つまずきやすいポイント

UIテキスト初心者がよく遭遇する問題です。

  • 文字が見えない → CanvasのRender Mode、TextのColor(白背景に白文字など)を確認
  • 日本語が□になる → Font Assetに日本語文字が含まれているか確認
  • 位置がズレる → Rect TransformのAnchorsとPivotを確認
  • スクリプトで更新できない → TextMeshProUGUI型で参照しているか、public変数に割り当てたか確認

Canvas ScalerのUI Scale Modeを「Scale With Screen Size」にすると、解像度が変わってもUIのサイズ感を保てます。
Reference Resolutionは1920×1080がよく使われます。

管理人
管理人

まずは「Score: 0」と表示して、Play中にスクリプトで数字を増やす——この1セットを動かせれば、UIテキストの基本はクリアです。
日本語フォントは後から差し替えても大丈夫ですよ。

記事を読んで「作ってみたい!」と思ったら!初心者でも1本完成できる講座で実力をつけよう

知識を読むだけで終わらせるのはもったいない。実際に手を動かしてゲームを1本完成させることで、理解が一気に深まります。プログラミング未経験からでも取り組める講座で、ゲーム開発の第一歩を踏み出しましょう。

Unity ノンフィールドRPG+スレスパ風JRPG講座【Unity6対応!初心者でもデッキ構築×JRPGをスマホ向けに作れる!】

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座

  • Unity6対応・スマホ化対応で最新環境のゲーム開発が学べる
  • Slay the Spire風のデッキ構築システム×JRPGの組み合わせを実装
  • 初心者でも迷わず進められる丁寧な解説構成
  • ノンフィールドRPGとデッキ構築JRPGの2つをまとめて学べるセット講座

Unity ノンフィールドRPGの作り方講座+Slay the Spire風デッキ構築JRPGの作り方講座は、プログラミング未経験の初心者でも取り組みやすい、ステップバイステップ形式の講座です。

Unity6対応・スマホ化対応の最新カリキュラムで、読んで「なるほど」と思った知識を、実際に動くゲームとして形にする体験ができます。

「何から始めればいいかわからない…」という初心者が最初に選ぶ一本として最適な講座です。

Unity6対応・スマホ化対応の最新カリキュラム
ゼロからでもRPGを完成させよう
→ スレスパ風デッキ構築JRPG講座を見てみる
初心者でもスマホ対応のRPGが作れる!まずは1本完成を目指そう!

Unity 2Dアクションゲームの作り方講座(ロックマン風)【全16回!初心者でもスマホ化・広告実装まで対応した本格横スクロールACTが作れる!】

Unity 2Dアクションゲームの作り方講座(ロックマン風)

  • ロックマン・マリオ・カービィのような横スクロールACTをゼロから開発
  • 7ステージ+ラスボスステージの本格的なゲーム設計を初心者でも実現
  • スマホ化・AdMob広告実装まで対応してリリースまで見据えた構成
  • 敵AI15体・多彩なマップギミック・武器システムを完全実装
  • 完全オリジナルゲームをアセット不使用で素材提供付きで制作

Unity 2Dアクションゲームの作り方講座(ロックマン風)は、ロックマン・スーパーマリオ・星のカービィのような2D横スクロールアクションゲームを、初心者でもゼロから開発できるようになる講座です。

全16回で当たり判定・物理挙動・敵AIの知識を実際のゲームコードとして実装する体験が詰め込まれています。スマホ化・広告実装まで対応しているため、「作って終わり」ではなくリリースまで見据えた実践スキルが身につきます。

「憧れのアクションゲームを自分の手で作ってみたい」という初心者に強くおすすめの一本です。

スマホ化・広告実装まで対応した本格横スクロールACT
初心者でもロックマン風2Dアクションをリリースまで作り上げよう
→ 2Dアクションゲームの作り方講座を見てみる
初心者でも本格ACTが完成する!広告収益まで視野に入れた実践スキルを手に入れよう!

ゼルダ風3Dアクションゲームの作り方講座【全16回!初心者でも3Dアクションがスマホ対応で作れる!】

ゼルダ風3Dアクションゲームの作り方講座

  • ゼルダの伝説・モンハン・原神のような3Dアクションをゼロから開発
  • 「3Dは難しそう」と感じている初心者でも取り組みやすい丁寧な解説構成
  • スマホ化対応で実機で動かせるゲームが完成
  • アセットを使った実践的なゲーム開発手法が身につく
  • 画像・動画・全ソースコード公開の充実したサポート

ゼルダ風3Dアクションゲームの作り方講座は、「3Dゲームは難しそう…」と感じている初心者こそおすすめの入門講座です。

全16回の丁寧な解説で、ゼルダの伝説・モンハン・原神のような本格的な3Dアクションゲームを確実に完成まで導きます。スマホ化対応で実機で動かせるため、初めて3Dゲームを作り上げた達成感がひときわ大きい講座です。

「3Dゲームを自分でも作れるか試してみたい」という初心者の最初の一歩として最適です。

初心者でも3Dアクションがスマホ対応で完成する
ゼルダ風3Dアクションゲームで3D開発の壁を一気に突破しよう
→ ゼルダ風3Dアクションゲームの作り方講座を見てみる
全16回でスマホで動くオリジナル3Dゲームを完成させよう!

まとめ

UnityでUIテキストを表示するには、Canvas上にText – TextMeshProを配置します。
Font Assetで日本語フォントを設定し、TextMeshProUGUIのtextプロパティをスクリプトから更新すれば、スコアやメッセージを動的に変えられます。

最初の目標は、「Score: 0」と表示してPlay中に数値を増やすことです。
そこから日本語フォント、複数のUI要素への展開と進めていけます。

UIを含むゲーム制作を学びたい方は、Unity入門の森の講座も参考になります。
Canvas操作からスコア表示まで、実践的な流れで学べます。
今日はText (TMP)を1つ置いて、文字を表示するところから始めましょう。

コメント

タイトルとURLをコピーしました