5.

UE5で動的にインスタンスが属するレベルを変更する方法

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

Unreal Engine 5(UE5)では、レベルストリーミングを活用することで、アクターの属するレベルを動的に変更できます。これにより、ゲーム内でオブジェクトの管理をより柔軟に行うことが可能になります。

レベルストリーミングとは?

レベルストリーミングとは、ゲームのパフォーマンスを向上させるために、必要なレベルのみをロード・アンロードする仕組みです。レベル内のアクターは、適切なストリーミングレベルに配置することで、ゲームの動作を最適化できます。

ブループリントでアクターのレベルを変更する方法

UE5では、ブループリントを使用してアクターの属するレベルを変更できます。以下の手順で設定を行います。

ステップ1:レベルストリーミングを有効にする

まず、対象のレベルがストリーミング可能であることを確認します。

1. 「ワールドセッティング」を開く。 2. 「World Partition」を有効にする、または手動で「Sub-Level」を作成。 3. 必要なレベルをストリーミング可能に設定。

ステップ2:アクターを別のレベルに移動する

UE5では、「Set Level Instance」ノードを使用して、アクターの属するレベルを変更できます。

1. 「イベントグラフ」を開く。 2. 「Set Level Instance」ノードを追加。 3. 移動対象のアクターを接続。 4. 変更先のレベル名を指定。 5. 実行するとアクターが指定レベルに移動。

ステップ3:アクターを別のレベルにスポーンする

別のレベルに直接アクターをスポーンする方法もあります。

1. 「Spawn Actor from Class」ノードを使用。 2. 「Spawn Transform」に位置情報を設定。 3. 「Owner」に指定レベルのオブジェクトを設定。 4. 実行すると、指定レベル内にアクターがスポーン。

ステップ4:アクターを移動後に管理

レベル間でアクターを移動した後、正しく管理するために「Attach to Actor」や「Detach from Actor」ノードを活用できます。

1. 「Attach to Actor」ノードで、対象アクターをレベルのルートにアタッチ。 2. レベルがアンロードされる際に「Detach from Actor」で分離。 3. 必要に応じて「Destroy Actor」で削除。

まとめ

UE5のブループリントを使って、アクターの属するレベルを動的に変更する方法を解説しました。

- レベルストリーミングを有効化。 - 「Set Level Instance」ノードを使用してレベルを変更。 - 「Spawn Actor from Class」を使って別レベルにスポーン。 - アタッチ・デタッチを活用して管理。

この方法を活用すれば、ゲームのパフォーマンスを向上させつつ、よりダイナミックなレベル管理が可能になります。

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページ
子ページはありません
同階層のページ
  1. レベルを移動する方法
  2. レベルの「基本」テンプレートと「オープンワールド」テンプレートの違い
  3. Blueprintで現在開いているレベルが特定のレベルであるか調べる方法
  4. レベルごとにゲームモードを変更する方法
  5. 動的にインスタンスが属するレベルを変更する方法
  6. エディタ上でインスタンスが属するサブレベルを変更する方法
  7. とあるアクタから現在開いているレベルの変数にアクセスする方法
  8. プロジェクトを開いたときの最初のレベルを変更する方法