ブループリントを使ってレベルをストリーミングする
コンテンツ ブラウザ を開いて、[Blueprint Class] を新規作成します。このクラスは アクタ に基づきます。
作成された Blueprint Class に「LevelStreamer」と名前をつけて保存します。
ブループリント エディタ で LevelStreamer を開きます。
このシナリオの場合、Character がBox コンポーネントをオーバーラップしたら、2 つ目のレベルをストリーミングします。
[Components] タブの [Add Component (コンポーネントを追加する)] ボタンを使って Box Collision コンポーネントを追加します。
ブループリントの イベント グラフ を開きます。[Components] タブで Box コンポーネントを選択して、グラフを 右クリックして コンテキスト メニューを呼び出します。
「begin overlap」と打ち込んで、[On Component Begin Overlap (コンポーネント上でオーバーラップを開始)] を選択してイベントを追加します。
Other Actor ピンをクリックして引き出して、コンテキスト メニューで「=」を検索します。Equal (Object) エントリを選択してノードを追加します。
== ノードの 2 つ目の Object ピンをクリックして引き出し、コンテキスト メニューで「character」を検索します。Get Player Character エントリを選択してノードを追加します。
B キーを押したままグラフ内をクリックして Branch ノードを追加して、== ノードの boolean ピンを Branch ノードの入力に接続します。
OnComponentBeginOverlap ノードの出力ピンを Branch ノードの実行入力ピンに接続します。
グラフ エリアで 右クリック して、コンテキスト メニューで「level」を検索します。メニューから [Load Stream Level (ストリーム レベルをロード)] を選択します。
Level Name ピンを 右クリック して変数に昇格し、その変数に「LevelToStream」と名前を付け、[Details (詳細)] パネルで [Editable (編集可能)] にします。
[Make Visible After Load (ロード後に表示)] と [Should Block on Load (ロード時にブロック)] を切り替えて Load Stream Level ノードを有効にします。
この例では、このブループリントを使うとすべてのレベルはデフォルトのロード処理ビヘイビアが同じになりますが、これらを 編集可能な 変数にすることもできます。
Branch ノードの True の実行出力ピンを Load Stream Level ノードの入力実行ピンに接続します。
LevelStreamer ブループリントをレベル内に配置して、 およびストリーミング レベルとなる歩行可能なボリューム全体を囲むように配置とスケールを調節します。
Level to Stream として 「SunTemple_Streaming」 と入力します。
ストリーミング レベルをテストするには、Play In Editor を使います。
ブループリントでレベルをアンロードする
Character が Box コンポーネントを出る時にレベルをアンロードするには、グラフは以下のロジックと非常によく似ていますが、Unload Stream Level ノードで終わります。