Version: Unity 6.0 (6000.0)
言語 : 日本語
エレメントを使う
UI Builder による UI のスタイル設定

UXML インスタンスをテンプレートとして使用する

****Unity での プレハブ の機能と同様に、既存の UXML ドキュメントを UXML ドキュメント内でテンプレートインスタンスとしてインスタンス化することができます。

UXML ドキュメントをテンプレートとして使用する

プロジェクト内の既存の UXML ドキュメントをテンプレートとして使用するには、以下を行います。

  1. LibraryProject タブで、インスタンス化したい UXML アセット (.uxml) を見つけます。
  2. Library 内の要素のように、Hierarchy 内にドラッグします。

テンプレートインスタンスTemplateContainer タイプの通常の要素のように Hierarchy に表示されます。.uxml ファイル名は、右側にグレイアウトの状態で表示されます。テンプレートインスタンスを展開すると、インスタンスの内部階層を見ることができます。この内部階層は、要素を使う で説明したように、読み取り専用で、参照用です。

テンプレートとしてサブドキュメントを作成する

UXML ドキュメント内に、テンプレートインスタンスとしてサブドキュメントを作ることができ、それを再利用できます。

  1. サブドキュメントを右クリックします。
  2. Create Template を選択します。
  3. ファイルの保存場所を選択します。

これはまた、サブドキュメントを既存のドキュメント内のテンプレートインスタンスとしてインスタンス化します。

UXML ドキュメントテンプレートのインスタンスを編集する

テンプレートインスタンスとして使用される元の UXML ドキュメントを編集するには、テンプレートインスタンスを右クリックし、以下のオプションのいずれかを選択します。

  • Open in UI Builder: 現在の UXML ドキュメントをアンロードし、テンプレートインスタンスをロードします。

    UI Builder で開く例
    UI Builder で開く例
  • Open Instance in Isolation: テンプレートインスタンスをロードしている間、現在の UXML ドキュメントをバックグラウンドでロードしたままにします。HierarchyCanvas にはテンプレートインスタンスのコンテンツのみが表示され、StyleSheets ペインには背景の親 UXML ドキュメントのスタイルシートが読み取り専用で表示されます。これは、スタイルシートがまだテンプレートインスタンスに適用されているためです。

    分離してインスタンスを開く例
    分離してインスタンスを開く例
  • Open Instance in Context: 現在の UXML ドキュメントをロードしたまま、そのすべての要素を読み取り専用にし、HierarchyCanvas にグレーアウトした状態で表示します。親 UXML ドキュメントのコンテキスト内でテンプレートインスタンスのコンテンツを編集できます。このオプションを使用すると、ホストドキュメントのコンテキストを失うことなく、テンプレートインスタンスのコンテンツを更新することができます。

    コンテキストでインスタンスを開く例
    コンテキストでインスタンスを開く例
  • Show in Project: Project ウィンドウにテンプレートインスタンスファイルの場所を表示します。

2 番目と 3 番目のオプションでは、Viewport の上にパンくずメニューが表示されます。これを使用して、親 UXML ドキュメントに戻ることができます。

サブドキュメントのパンくずメニューの例
サブドキュメントのパンくずメニューの例

UXML ドキュメントテンプレートのインスタンスを展開する

単一のテンプレートインスタンスを展開するには、テンプレートインスタンスを右クリックし、Unpack Instance を選択します。これで、テンプレートインスタンスが通常の UXML ドキュメントに変わります。

すべてのテンプレートインスタンスを展開するには、テンプレートインスタンスを右クリックし、Unpack Instance Completely を選択します。これで、すべてのテンプレートインスタンスが通常の UXML ドキュメントに変わります。

追加リソース

エレメントを使う
UI Builder による UI のスタイル設定