Version: Unity 6.0 (6000.0)
言語 : 日本語
テキストの使用法
USS でテキストのスタイルを設定する

テキストの使用を開始する

UI Toolkit は TextCore を使用してテキストをレンダリングします。これは、TextMesh Pro に基づいたテクノロジーです。TextCore は高度なスタイリング機能を提供しており、さまざまなポイントサイズや解像度でテキストをはっきりとレンダリングすることができます。Signed Distance Field (SDF) フォントレンダリングを活用しており、変形や拡大されても鮮明な見た目のフォントアセットを生成することができます。

この例では、UI Builder でのテキストのスタイル設定、静的およびダイナミックフォントアセットの作成と適用、リッチテキストタグとカスタムスタイルシートを使用したテキストのスタイル設定、パネルのテキスト設定を管理するための UITK Text Settings アセットの作成方法を示します。

ノート: デモンストレーション目的で、このガイドではランタイム UI を使用しています。フォントアセットとスタイルシートの作成手順は、エディター UI にも適用できます。ただし、現在のリリースでは、エディター UI のデフォルトの UITK Text Settings を変更することはできません。

必要な要件

このガイドは、Unity エディター、UI Toolkit、および C# スクリプトに精通している開発者を対象としています。始める前に、以下の点を理解しておいてください。

UITK Text Settings アセットの作成

ランタイム UI から開始し、パネルのテキスト設定を管理する UITK Text Settings アセット を作成します。また、フォントアセットとカスタムスタイルシートを格納するための Resources フォルダーとサブフォルダーも作成します。

  1. ランタイム UI について のステップに従って、シンプルなランタイム UI を作成します。
  2. Assets フォルダーに、Resources フォルダーを作成します。
  3. Assets\UI Toolkit フォルダーを右クリックし、Create > UI Toolkit > Text Settings を選択して UITK Text Settings.asset を作成します。UITK Text Settings.asset の Inspector ウィンドウには、フォントアセット、テキストスタイルシートアセット、スプライトアセット、およびカラーグラデーションプリセットのデフォルトパス名が表示されます。
  4. Resources フォルダーに、Fonts & MaterialsText Style Sheets という名前の 2 つのフォルダーを作成します。

UI Builder によるテキストのスタイル設定

UI Builder を使用して、トグルテキストのスタイルを太字斜体、フォントサイズを 12px にします。詳細については、USS でテキストのスタイルを設定する を参照してください。

  1. SimpleRuntimeUi.uxml をダブルクリックして、UI Builder で開きます。
  2. トグルコントロールの Inspector ウィンドウで、Text を選択します。
  3. Font Style フィールドで、BI を選択します。
  4. Size フィールドに 12 と入力します。

静的フォントアセットの作成

静的フォントアセット を作成し、ボタンコントロールに適用します。静的フォントアセットの場合、ソースフォントファイルをビルドに追加する必要はありません。ただし、ボタンの表示テキストのすべての文字に対してアトラスを生成する必要があります。表示テキストは This is a Button で、テキストに * を追加するので、TBhinostua* 用のアトラスを生成します。

  1. Google Fonts から Lato フォントパッケージをダウンロードします。

  2. フォントパッケージファイルを解凍し、プロジェクトの Assets フォルダーに Lato-Regula.ttf を配置します。

  3. フォントファイルの Inspector ウィンドウで、以下を確認します。

    • Include Font Data が有効になっている。
    • CharacterDynamic に設定されている。
  4. Project ウィンドウで Lato-Regula.ttf を右クリックし、Create > Text Core > Font Asset > SDF を選択します。これにより、Lato-Regula SDF.asset というダイナミックフォントアセットが作成されます。

  5. Lato-Regula SDF.asset の Inspector ウィンドウで、Atlas Population ModeStatic に設定します。

  6. Update Atlas Texture をクリックします。

  7. Font Asset Creator ウィンドウの Character Set リストから、Custom Characters を選択します。

  8. Custom Characters List ボックスに TBhinostua* と入力します。

  9. Generate Font Atlas をクリックします。

  10. 変更を保存します。

  11. Assets\Resources\Fonts & Materials フォルダーに Lato-Regula SDF.asset を配置します。

  12. SimpleRuntimeUi.uxml をダブルクリックして、UI Builder で開きます。

  13. ボタンコントロールの Inspector ウィンドウで、Text > Font Asset > Lato-Regula SDF を選択します。

ダイナミックフォントアセットの作成

ダイナミックフォントアセット を作成し、TextField コントロールに適用します。ダイナミックフォントアセットの場合は、ソースフォントファイルをビルドに追加する必要があります。ソースフォントファイルをフォントに設定されたパスに直接インポートします。

  1. Google Fonts から Roboto フォントパッケージをダウンロードします。

  2. フォントパッケージファイルを解凍し、プロジェクトの Assets\Resources\Fonts & Materials フォルダーに Roboto-Regular.ttf を配置します。

  3. フォントファイルの Inspector ウィンドウで、以下を確認します。

    • Include Font Data が有効になっている
    • CharacterDynamic に設定されている
  4. Roboto-Regular.ttf を右クリックし、Create > Text Core > Font Asset を選択します。これにより、Roboto-Regular SDF.asset というダイナミックフォントアセットが作成されます。

  5. SimpleRuntimeUi.uxml をダブルクリックして、UI Builder で開きます。

  6. TextField コントロールの Inspector ウィンドウで、Text > Font Asset > Roboto-Regular SDF を選択します。

リッチテキストタグによるスタイル設定

リッチテキストタグ を使用して、ラベルコントロールのテキストのスタイルを設定します。

ノート: 現在のリリースでは、リッチテキストタグは TextField でサポートされていません。

  1. SimpleRuntimeUi.uxml をダブルクリックして、UI Builder で開きます。
  2. ラベルコントロールの Inspector パネルで、TextThis is a <font-weight=700><size=2em><color=#FF0000>*Label*</color></size></font-weight> に変更します。これにより、単語 Label は大きく、赤、太字になり、その両側にアスタリスクが表示されます。
  3. Enable Rich Text が選択されていることを確認します。

ラベルは Viewport ウィンドウでは以下のようになります。

ラベルテキストのプレビューでは、Label という単語が大きく、赤くなり、その両側にアスタリスクが表示されます。
ラベルテキストのプレビューでは、“Label” という単語が大きく、赤くなり、その両側にアスタリスクが表示されます。

スタイルシートによるスタイル設定

Label と同じスタイルを Button に適用するには、カスタムスタイルシート を作成し、そのスタイルを両方の単語に適用します。

  1. Assets\Resources\Text Style Sheets フォルダーを右クリックし、Create > Text Core > Text StyleSheet を選択します。これにより、UITK Text Settings アセットで設定したパスに Text StyleSheet.asset が作成されます。

  2. Text StyleSheet.asset の Inspector ウィンドウで以下を行います。

    • NameExampleStyle と入力します。
    • Opening Tags<font-weight=700><size=2em><color=#FF0000>* と入力します。
    • Closing Tags*</color></size></font-weight> と入力します。
  3. UITK Text Settings.asset の Inspector ウィンドウで、Default Style Sheet リストから、Text StyleSheet を選択します。

  4. SimpleRuntimeUi.uxml をダブルクリックして、UI Builder で開きます。

  5. ラベルコントロールの Inspector ウィンドウで、Text<s>This is a <style="ExampleStyle">Label</style> に変更します。

  6. Enable Rich Text が選択されていることを確認します。

  7. ボタンコントロールの Inspector ウィンドウで、Text<s>This is a <style="ExampleStyle">Button</style> に変更します。

  8. Enable Rich Text が選択されていることを確認します。

  9. 再生モードに入り、ランタイム UI でテキストを確認します。

  10. テキストフィールドに、ランダムな文字を入力します。ダイナミックフォントアセットの場合、テキストフィールドにテキストを入力するとフォントアトラスが動的に生成されます。

  11. プロジェクトの Assets\Resources\Fonts & Materials フォルダーで、Roboto-Regular SDF.asset を選択します。

  12. Roboto-Regular SDF.asset の Inspector ウィンドウで、Update Atlas Texture を選択して Font Asset Creator ウィンドウを開きます。アトラスウィンドウが非表示になっている場合は展開します。入力した文字がアトラスウィンドウに表示されます。

新しく入力した文字がフォントアトラスウィンドウに表示されます。
新しく入力した文字がフォントアトラスウィンドウに表示されます。

追加リソース

テキストの使用法
USS でテキストのスタイルを設定する