Unity

【Unity】TMP_Dropdownの使い方を徹底解説

この記事について

この記事は私がゲーム制作・学習等で学んだ知識を元にTMP_Dropdownの使い方をわかりやすく説明していきます。

この記事で学べること

  • UnityのTMP_Dropdownの基本的な使い方
  • スクリプトで項目を追加・削除・変更する方法
  • 選択された値を取得・変更する方法
  • ドロップダウンのデザインをカスタマイズする方法
  • よくあるエラーと解決策

TMP_Dropdownとは?

TMP_Dropdown は Unity の TextMeshPro(TMP)版のドロップダウンUI です。
通常の Dropdown コンポーネントに比べて、より高品質なテキスト表示が可能になります。

特徴

  • テキストのレンダリング品質が高い
    → アンチエイリアスが効いており、拡大縮小しても文字がきれい。
  • リッチテキスト対応
    → 色変更、太字、斜体などを柔軟に表現可能。

TMP_Dropdown(ドロップダウン)の使い方

TMP_Dropdown(ドロップダウン)の構成と追加方法

① Hierarchy から追加

・ [Hierarchie] → [右クリック] → [UI] → [Dropdown – TextMeshPro] を選択
・ Dropdownオブジェクトがシーンに追加される

② Dropdownの構成要素 Dropdownは以下のコンポーネントで構成される:

  • Label(選択中の項目を表示)
  • Arrow(開閉ボタン)
  • Template(選択肢リストのテンプレート)
Unity Dropdownのコンポーネントの画像

スクリプトでDropdown(ドロップダウン)を制御

選択された値(value)を取得

Dropdown(ドロップダウン)の番号、値取得は以下のサイトを参考にしてください。

選択肢を追加・削除

Dropdown(ドロップダウン)のoptionの追加・削除は以下のサイトを参考にしてください。

Dropdown(ドロップダウン)のカスタマイズ

フォントやサイズの変更

LabelやItem LabelのTextMeshProを変更すると、フォントやサイズを調整できる。

・ フォントを変更するにはLabelとItem LabelのFont Assetを変更
・ サイズを変更するにはFont Sizeを調整

選択肢の背景や枠線を変更

➡︎ デザインをカスタムして見た目を変更可能

  1. DropdownのTemplateを展開
  2. Viewport → Content → Item BackgroundのImageを変更
  3. TemplateのBackgroundを変更

開いたときの高さを変更

・ [Dropdown][Template][ScrollRect][Viewport] → [Content] のHeightを変更

よくあるエラーと解決策

Dropdown(ドロップダウン)の選択肢が変更されない

・ RefreshShownValue()を呼び出してUIを更新

myDropdown.RefreshShownValue();

Dropdown(ドロップダウン)の項目を変更しても反映されない

・ 変更後にRefreshShownValue()を実行 

・ options.Clear()でリセット後、選択肢を再追加

Dropdown(ドロップダウン)が開かない

・ TemplateのRectTransformが適切に設定されているか確認

・ Dropdown のInteractableがONになっているか確認

まとめ

・ Dropdownはリストから1つの選択肢を選べるUIコンポーネント
・ valueを取得すれば選択された値を取得可能
・ options.Add()で選択肢をスクリプトから追加できる
・ デザインやフォントを変更してカスタマイズ可能