10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

この記事はUnreal Engine (UE) Advent Calendar 2024の7日目の記事です。

コンフィギュレーターとかに便利なレベルバリアントがじわじわUIとか改装されて使いやすくなっているので取り上げようと思いました。ちょっとしたレイアウト変更とかmaterialの変更に便利。

環境

UE5.4
Windows11

LevelVariantって?

image.png

LevelVariantはマップ上に配置されているActorの状態を記録して遷移させることができる仕組みです。
概ね詳細タブに出るものは記録することができます。
シーンバリアントマネージャーの概要

Level Variant操作画面

レベルバリアントで操作する部分は主に6つに分かれています
Menu.png

①…バリアントセットを追加する
②…バリアントパネル。バリアントセットにバリアントを追加する。有効なレベルバリアントを切り替える。
③…アクターパネル。このバリアントで操作するActorを選ぶ
④…プロパティパネル。操作するActorの中のParameterの詳細
⑤…依存関係パネル。そのバリアントを有効にするときに別のバリアントセットの有効なバリアントを変更できる。
⑥…自動キャプチャ。バリアントに追加されているActorでプロパティパネルに追加されているパラメーターがレベル上で変更されたとき、自動的に更新される。

Level Variantの作り方/仕組み

image.png
Level Variantは、バリアントセットという一つの固まりにバリアントという差分が複数入っている構造をしています。
上の画像では、
・bodyのスタティックメッシュを変更するバリアントセット
 -差分 ストラト
 -差分 Iタイプ
-差分 Vタイプ

・bodyのMaterialを変更するバリアントセット
 -差分 黒
 -差分 青
 -差分 緑
 -差分 ピンク
 -差分 赤

という構造になっていて、現在はストラトに黒のマテリアルが有効になっています。
image.png

UEConfigurator - Unreal Editor 2024-12-06 23-46-39.gif
Level Variantはバリアントの左の●をクリックすることで有効なものを切り替えることができます。

自作バリアントを作る

レベルバリアントセットを作る

image.png
LevelVariantは、コンテンツブラウザを右クリックし、その他のレベルバリアントセットから作成することができます。

バリアント・バリアントセットを追加する

image.png
バリアントセットは左上の「+バリアントセット」を押すことで新しく作成できます。

image.png
バリアントセットの「+」マークを押すことで新しいバリアントを追加することができます。

バリアントで操作するActorを選ぶ

スクリーンショット 2024-12-06 235405.png
バリアントを選択した状態で、アクターパネルから「+」を押すことで追加するActorを選ぶことができます。

image.png
アウトライナーから選択してD&Dすることでも追加することができます。

バリアントで操作するパラメーターをプロパティパネルに追加する

image.png
プロパティパネルの「+」を押すか、アウトライナーからアクタパネルに直接D&Dすることで新しいプロパティの追加パネルを表示させることができます。
image.png

image.png

プロパティパネルから追加したパラメーターを操作することができます。

UEConfigurator - Unreal Editor 2024-12-07 00-07-56 (1).gif

右上の「自動キャプチャ」を有効にすることで、レベル上で変更したパラメーターを自動的に選択したバリアントに反映させることができます。

依存関係を追加する

image.png
依存関係は依存関係パネルの右上の「+」ボタンを押すことで追加することができます。

依存関係パネルでは例えば
「Bodyのバリアントセットのストラトが有効なバリアントの時、カラーをピンクにしたい」といったことが可能になります。

UEConfigurator - Unreal Editor 2024-12-07 00-14-38.gif

image.png
バリアントセットのドロップダウンから有効にしたいもののバリアントセットを選んでください。
image.png
バリアントのドロップダウンから呼び出したいバリアントを選びます。

ただ、これはあくまでも「このバリアントが有効になったときにセットで呼び出す」ぐらいの機能なので絶対的な拘束力はなく、別のカラーのバリアントを有効にしたら上書きされます。

レベルバリアントはこれらの組み合わせでできています。

レベルバリアントをBPで動かす

レベルバリアントをBPでプレイ中に操作するには、「Level Variant Set Actor」を事前に配置しておくかスポーンする必要があります。

image.png

これにごにょごにょアクセスして書き換えたりできるんですが正直テンプレートが複雑すぎて何を言っているのかわからない。
image.png

めちゃめちゃ簡単にレベルバリアントを動的に切り替える方法があります!

image.png

Level Variant Set Actorに「Switch on Variant by Name」か「Switch on Variant by Index」を呼び出すだけで簡単に変更することができます。

ChangeVariant.png
VariantSetNameには固まり(バリアントセット)の名前を、Variant Nameには差分(バリアント)の名前を入力してください。
Indexで指定する場合、上から数えてください。(0始まり)
例えばBodyの色を黒に変更したい場合、このようになります
image.png

めっちゃ簡単ですよ!

image.png
Level Variant Set Actorも状態管理をするところで適当にSpawnしてしまえば問題なし。
image.png
このSet Level Variant Setがマップ上にLevel Variant Set Actorを配置した時のLevel Variant Set選択部分に該当します。

おわりに

レベルバリアントはコンフィギュレーターを使うのがメイン使用みたいな節がありますが、例えば謎解きゲーのマップの状態変化とかにも使うことができます。地味に便利ですよ!
みんなもレベルバリアントで遊ぼう!!!

10
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?