Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 レベルスナップショットでレベルを復元しよう

UE4.27が正式にリリースされました。

docs.unrealengine.com

既にUE5 EAがあるため、大きなアップデートはこれまでと比較すると少ないかもしれませんが、それでも十分なアップデートがあります。特に映像やバーチャルプロダクション向け機能が目立ちます。

今回紹介するのは4.27で導入されたレベルスナップショットという新機能です。本来はバーチャルプロダクションなどで使われる機能なのかもしれませんが、非常に優秀な機能でどのプロジェクトにおいても有用だと思いますので紹介しておきます。

まずスナップショットとは何か?というと特定の状態を保存して、復元する機能のことを言います。スナップショットはプログラムのデバッグなどで活用されることが多いですが、レベルスナップショットは現在のレベルの状態を保存し、その状態をいつでも復元できるようになるというものです。これが使えるようになれば、「色々と調整したけど、違う手段も試したいな~。でもこれを保存しておくわけにもいかないし。」という状況に出会った時に、保存した状況にいつでも復元できるというわけです。早速使ってみましょう。

レベルスナップショットの導入

レベルスナップショットはプラグインとして提供されており、標準では無効になっていますのでまずプラグインウィンドウから有効にしましょう。

f:id:alwei:20210822144517p:plain

プラグイン一覧のVirtual Productionカテゴリーにありますので、有効にしてからエディターを再起動します。

f:id:alwei:20210822144635p:plain

再起動するとツールバーに「レベルスナップショット」ボタンが出現しますので、これで導入は完了です。

レベルスナップショットの使い方

使い方は非常に簡単です。「レベルスナップショット」ボタンを押してから、各種情報を入力します。

f:id:alwei:20210822150009p:plain

保存ファイル名や保存先のフォルダー名、あとはコメントも入力が可能です。ただしコメントはバグがあるのか何をやっても日本語入力は受けつけませんでした。必要ならコピペして入力する必要があります。

入力ができたら「レベルスナップショットを作成」ボタンを押しましょう。何も入力しなくても保存自体は可能です。

f:id:alwei:20210822151257p:plain

保存ができると、コンテンツブラウザ内にスナップショットファイルが作成されます。作成時点のビューポートのサムネイルがありますので、開かなくてもそれなりにわかりやすいでしょう。

f:id:alwei:20210822151458p:plain

レベルスナップショットを開くとこのようなウィンドウが開きます。左側に保存されたスナップショットが一覧、真ん中にはフィルター設定、右側に現在のレベルとの差分があるアクター一覧が表示されます。

選択したスナップショットを復元しても問題がない場合は、右下の「レベルスナップショットを復元」ボタンを押します。

f:id:alwei:20210822152809p:plain

編集したアクターがスナップショットにより全て復元されました。別のスナップショットを使うことで元に戻すことも簡単です。

実際に復元している時の動画は以下。

フィルターや差分について

レベルスナップショットのウィンドウでは真ん中にフィルター、右側にレベルとの差分を表示する機能があります。

f:id:alwei:20210822153156p:plain

差分は変更されたアクター、削除されたアクター、追加されたアクターの情報を見ることも出来ます。更に真ん中のフィルター機能を使うことで情報を絞ることができます。

f:id:alwei:20210822153429p:plain

「フィルタを追加」から「Actor Changed Tranfrorm Filter」を追加して上部にある「結果を更新」ボタンを押すと、右側の差分情報にトランスフォーム情報が変更されたアクターのみを表示することができます。

更に追加されたフィルター自体を選択すると、フィルターの追加設定を表示することができます。

f:id:alwei:20210822154046p:plain

トランスフォームが変更されていても位置、回転、スケールは無視する設定など、フィルターによって細かく設定できます。設定したら「結果を更新」して確認してみましょう。

まとめ

と、いった感じでレベルスナップショットはちょっとした調整点を確認しながら、一時的にこの状態を保存しておきたいけど、アセットとして保存したくないという際には非常に便利です。

トライアンドエラーをしている時は色んな結果を試しながら、編集したり元に戻したりを繰り返しますしね。ゲームでも映像でも建築、その他なんでも使えると思いますので、便利に使っちゃいましょう!!