UI Builder で UI を作成する方法を学びます。以下の例を使用して、UI の作成を開始しましょう。
UI Builder で UI を作成するには、以下の手順を行います。
始める前に、以下の点を理解しておいてください。
この例では、リストビューのランタイム UI の作成 の例のメインビューを作成します。2 つのコンテナを持つルート要素を背景として作成します。1 つのコンテナにはキャラクター名リストが保存され、もう 1 つのコンテナにはキャラクターの詳細が保存されます。キャラクター詳細コンテナには、背景フレームと前景フレームを加えます。最後に、キャラクター名のラベルを 2 つ追加します。この例では、キャラクター名リストに入力する UI は作成しません。
新しいプロジェクトを作成し、画面全体をカバーするルートビジュアル要素を作成します。ルート要素に背景色を設定し、すべての子要素を画面の中央に配置します。
Unity で任意のテンプレートでプロジェクトを作成します。
Window > UI Toolkit > UI Builder を選択します。
UI Builder ウィンドウの Viewport ウィンドウの左上で、File > New を選択して新しい UXML ドキュメントを作成します。
MainView.uxml という名前を付けて保存します。
Library の VisualElement を Hierarchy ウィンドウにドラッグします。
ヒント: コントロールをダブルクリックして Hierarchy ウィンドウに追加することもできます。
Hierarchy ウィンドウから要素を選択します。
Inspector ウィンドウで、Flex> Grow が 1 であることを確認します。これにより、flex-grow プロパティが 1 に設定され、画面全体をカバーするようになります。
すべての子要素を中央に揃えるために、Align Items と Justify Content の両方を Center に設定します。
Background > Color を #732526 に設定します。
注意デフォルトでは、色のアルファ値は 0 で、完全に透明になります。色を不透明にするには、アルファ値を 255 に設定します。
ルート要素の下に新しい VisualElement を作成します。この要素は、UI の左右のセクションの親コンテナになります。
Library の VisualElement を Hierarchy ウィンドウのルート VisualElement にドラッグします。
Hierarchy ウィンドウから要素を選択します。
Inspector ウィンドウで Flex > Direction を row に設定します。
Flex > Grow を 0 に設定します。
Size > Height を 350 ピクセルに設定します。
コンテナの子要素として ListView を追加し、文字名を保存します。
Library の ListView を Hierarchy ウィンドウのコンテナ VisualElement にドラッグします。
Hierarchy ウィンドウから要素を選択します。
Inspector ウィンドウで、Name を CharacterList に設定します。
Size > Width を 230 ピクセルに設定します。
Spacing > Margin > Right を 6 ピクセルに設定します。
Background > Color を #6E3925 に設定します。
Border > Color を #311A11 に設定します。
Border > Width を 4 ピクセルに設定します。
Border > Radius を 15 ピクセルに設定します。
#CharacterList と同じ親の下に、キャラクター詳細コンテナを保持する新しい VisualElement を追加します。このコンテナの目的は、ユーザーが左側のリストからキャラクターを選択したときに、そのキャラクターの縦向き画像、名前、クラスを表示することです。
Library の VisualElement を Hierarchy ウィンドウのコンテナ要素にドラッグします。これは、右側のすべての要素を保持するコンテナです。
Hierarchy ウィンドウから要素を選択します。
Inspector ウィンドウで、Align > Align Items を flex-end に設定します。
Align > Justify Content を space-between に設定します。
右のコンテナの子として別の VisualElement を追加します。
Hierarchy ウィンドウから要素を選択します。
Flex > Grow を 0 に設定します。
Size > Width を 276 ピクセルに設定します。
Align セクションで、Align Items と Justify Content の両方を center に設定します。
Spacing > Padding を 8 ピクセルに設定します。
Background > Color を #AA5939 に設定します。
キャラクター詳細コンテナには、キャラクターリストコンテナと同じボーダースタイルを使用します。両方のコンテナに適用する USS クラスを作成します。
MainView.uss という名前を付け、Save を選択します。.border と入力します。.border セレクターが StyleSheet ウィンドウに表示されます。.border を選択します。#311A11 に設定します。4 ピクセルに設定します。15 ピクセルに設定します。.border をキャラクター詳細コンテナの VisualElement にドラッグします。.border を #CharacterList にドラッグします。これで、UI レイアウトは以下の画像のようになります。
個々の UI コントロールをキャラクター詳細コンテナに追加します。最初のステップは、キャラクターの縦向き画像の背景を追加することです。
Library の VisualElement をキャラクター詳細コンテナにドラッグします。
Hierarchy ウィンドウから要素を選択します。
Size セクションで、Width と Height の両方を 120 ピクセルに設定します。
Spacing > Padding を 4 ピクセルに設定します。
Background > Color を #FF8554 に設定します。
Border > Color を #311A11 に設定します。
Border > Width を 2 ピクセルに設定します。
Border > Radius を 13 ピクセルに設定します。
次はキャラクター詳細コンテナで、実際にその上に表示する画像を追加します。
Library の VisualElement をキャラクター詳細コンテナにドラッグします。
Hierarchy ウィンドウから要素を選択します。
Name を CharacterPortrait に設定します。
Flex > Grow を 1 に設定し、画像が利用可能なスペースをすべて使えるようにします。
Background > Scale Mode を scale-to-fit に設定し、正しいアスペクト比を保ちながら、画像を拡大縮小して要素のサイズに合わせられるようにします。
2 つのラベルコントロールを文字詳細コンテナに加え、選択された文字名とクラスを表示します。
Library の Label を Hierarchy ウィンドウのキャラクター詳細コンテナにドラッグします。
Name を CharacterName に設定します。
Library の Label を Hierarchy ウィンドウのキャラクター詳細コンテナにドラッグします。
Name を CharacterClass に設定します。
#CharacterName 要素を選択します。
Text > Font Style を B に設定します。
Text > Size を 18 ピクセルに設定します。
Viewport ウィンドウで、File > Save を選択して MainView.uxml に変更を保存します。
UI Builder では、要素の数が少ない間は、要素を作成してインラインスタイルだけを使用して試すことができます。より複雑な UI をビルドする際は、スタイルシートを使用してスタイルを管理する方が簡単です。UI Builder では、インラインスタイルをスタイルシートに抽出できます。
.background と入力します。.background クラスセレクターが作成され、ルートのビジュアル要素の UI Document (UXML) が更新され、インラインスタイルの代わりにクラスセレクターが使用されます。リストビューのランタイム UI の作成 の例の作業を続けたい場合は、他のすべての要素のスタイルを抽出するステップを繰り返し、指示に従って例を完成できます。