データ レイヤーは World Partition 内にあるシステムで、アクタを個別のレイヤーに編成するために使用します。これらのレイヤーをロード・アンロードすることで、ワールドを整理できます。
データ レイヤーを使用すると、アクタをレベル エディタで動的にロードおよびアンロードできるので、複雑なレベルを管理しやすくなります。これらをブループリントで有効にすることで、ゲームプレイを操作できるようになります。また、これらは World Partition ワークフローでアセット ストリーミングを管理するための重要なツールでもあります。
データ レイヤーは、古いバージョンの Unreal Engine に見られた以前のレイヤー システムの代わりとして機能します。
また、データ レイヤーでゲームプレイ要素と環境アセットをエディタで分離することも可能です。アーティストの場合、ゲームプレイのトリガーやオブジェクトを操作しなくても特定の要素に対して作業できるようになります。デザイナーの場合、動的にロードされたレイヤーを使用して、魅力的なゲームプレイや手の込んだレベル遷移をデザインできるようになります。
データ レイヤーにアクタを追加する
データ レイヤー アウトライナー
ワールド内のすべてのデータ レイヤーを表示するには、[Window (ウィンドウ)] メニューに移動し、[Data Layers (データ レイヤー)] オプションを選択します。これにより、データ レイヤー アウトライナーが開きます。
番号 | 説明 |
---|---|
1 | レベル エディタでレイヤーの表示を切り替えます。アクタは、関連するすべてのデータ レイヤーが非表示になっている場合にのみ非表示になります。 |
2 | [Is Dynamicly Loaded] フラグのステータスを示します。動的にロードされたレイヤーは、実行時のアクタのロードに影響を与えます。これらのレイヤーのアクティブ化は、ブループリントまたは C++ コードを使用して実行できます。 |
3 | [Editor Dynamicly Loaded] フラグを切り替えます。レベル エディタでは、データ レイヤーのいずれかが有効になっていて、エディタのセルがWorld Partitionに読み込まれると、アクタも読み込まれます。 |
4 | このレイヤーのアクタのリストを表示するかどうかを切り替えます。 |
5 | 起動時にデータ レイヤーをエディタに表示するかどうかを決定します。 |
6 | このデータ レイヤーにあるアクタに対して HLOD を生成するかどうかを決定します。[Is Dynamicly Loaded] フラグが有効になっている場合にのみ使用できます。 |
7 | [Is Dynamicly Loaded] フラグが有効になっているデータ レイヤーをランタイム時にロード、アンロード、またはアクティブ化するかどうかを決定します。 |
8 | データ レイヤーがアクタのランタイムロードに影響を与えるかどうかを決定します。 |
データ レイヤー アウトライナーを右クリックすると、コンテキスト メニューが開きます。
選択 | 説明 |
---|---|
Create Empty Data Layer | 新しい空のデータ レイヤーを作成します。 |
Add Selected Actors to New Data Layer | 新しいデータ レイヤーを作成し、選択したアクタを入力します。 |
Add Selected Actors to Selected Data Layer | ビューポートで選択されたアクタを選択されたデータ レイヤーに追加します。 |
Remove Selected Actors from Selected Data Layer | ビューポートで選択されたアクタを、選択されたデータ レイヤーから削除します。 |
Delete Selected Data Layer | 選択したデータ レイヤーを削除します。これは、削除されたデータ レイヤーに関連付けられているアクタに影響を与えません。 |
Rename Selected Data Layer | 選択したデータ レイヤーの名前を変更します。これは、削除されたデータ レイヤーに関連付けられているアクタに影響を与えません。 |
Select Actors in Data Layers | 選択したデータ レイヤーに関連付けられているすべてのアクタを選択します。 |
Append Actors in Data Layer to Selection | 選択したデータ レイヤーのアクタを現在の選択に追加します。 |
Deselect Actors in Data Layer | 現在の選択項目で選択したデータ レイヤーからアクタを削除します。 |
Make All Data Layers Visible | レベル エディタで表示されるように、すべてのデータ レイヤーの表示を切り替えます。 |
新しいデータ レイヤーが作成されたら、次の方法でアクタを追加できます。
-
[Data Layers (データ レイヤー)] コンテキスト メニューの [Add Selected Actors to New Data Layer] および [Add Selected Actors to Selected Data Layer] オプションを使用します。
-
選択したアクタを [World Outliner (アウトライナ)] からデータ レイヤー アウトライナーの選択したデータ レイヤーにドラッグします。
-
アクタの [Details (詳細)] パネルの [Data Layers (データ レイヤー)] セクションを使用します。
アクタの詳細パネル
[Details] パネルの [Data Layers] セクションから、アクタを 1 つ以上のデータ レイヤーに追加できます。
[Details] パネルを使用してアクタをデータ レイヤーに追加するには、次の手順に従います。
-
[Details] パネルの一番下までスクロールして、[Data Layers] セクションを開きます。
-
次に、[+] ボタンをクリックして、[Data Layers] のリストにエントリを追加します。
-
ドロップダウン メニューを開き、リストから [Data Layer (データ レイヤー)] を選択します。
データ レイヤーを データ レイヤー アウトライナー から [Details] パネルのリストにドラッグアンドドロップすることもできます。
ファイルを管理する
World Partition システムは、ユーザー間におけるファイルの重複を最小限に抑えることを意図して導入されました。そして、データ レイヤーは、変更が加えられたときに、ワールドマップのファイルやアクタのファイルといったような重要なファイルを確認する手間を減らします。
各データ レイヤーには、表示ラベルと内部の一意の識別子があります。Unreal Engine では、この情報が「WorldDataLayer」ファイルのデータ レイヤーのリストに保存されています。これにより、次のような利点があります。
-
データ レイヤーにアクタを割り当てると、One File Per Actor を使用するWorld Partition ワールド内にあるアクタのファイルにのみ影響を与えることができます。
-
データ レイヤーの名前を変更した際に、その影響を関連付けられたラベルに対してのみ与えることができます。レイヤーに関連付けられているアクタを更新する必要はありません。
-
データ レイヤーを削除したときに、その影響を「WorldDataLayer」ファイルにのみ与えることができます。以前に削除されたデータ レイヤーに関連付けられていたアクタは、アクタを変更または保存することなく自動的にクリーンアップされます。
ブループリントでデータ レイヤーを使用する
ブループリントを使用して、データ レイヤーの状態を変更できます。
次の画像では、トリガー ボックスを使用してデータ レイヤーの状態を制御しています。
この例では、データ レイヤーの状態は次の手順で変更されています。
-
プレイヤーがトリガー エリアに出入りします。
-
これにより、Set Data Layer State 関数ノードがトリガーされ、データ レイヤーの状態が Begin Overlap State または End Overlap State のいずれかに変更されます。
データ レイヤーの変数 (上の画像の 3 番目) は、Actor Data Layer 型の変数を使用して公開されます。
変数ではなく、ラベルを使用してデータ レイヤーの状態を設定することができます。ただし、データ レイヤーの名前を変更するとラベルが変更され、ブループリントが破損する可能性があるため、お勧めしません。
前のレイヤー システムから変換する
ワールドをWorld Partitionに変換すると、[Is Dynamically Loaded] オプションが無効になっている前のレイヤー システムのレイヤーがデータ レイヤーに変換されます。