メインコンテンツへスキップ
  1. 記事/

ObjectMixerを使ってLevel上のActorのPropertyを一括編集する

UnrealEngine UE5.1 ObjectMixer LevelDesign Tools

ObjectMixer で、Level 上の Actor のプロパティを編集する方法を紹介します

UE5.1 から、LightMixer という新しい UI が追加されています
(UE5.0 にある Env.LightMixer とは別物です)

実はこの LightMixer、ObjectMixer という汎用の編集 UI と、LightComponent 用の ObjectFilter の組み合わせで実現してあり
ObjectFilter を自作すれば、任意の Actor を一覧化し編集することができます

※ 記事執筆時点でLightMixerはベータ機能です
思い通りに動かない場合や、機能が変更される可能性があります

使い方 #

Filter クラスの作成 #

まずは ObjectFilter を作成します

新規 Blueprint で、親クラスに ObjectMixerBlueprintObjectFilter を選択して作成します

ObjectFilterを作成

対象クラスの設定 #

Filter クラスを開き、 GetObjectClassesToFilter をオーバーライドしましょう ここで指定するクラスは、Actor だけではなく、Component で指定することもできます

オーバーライド

ObjectMixer で使う #

LightMixer を表示し、設定から Open Generic Object Mixer Instance を選択すると、ObjectMixer が表示されます

ObjectMixerの表示

ObjectMixer の設定で、ObjectFilter Class に先程作成したクラスを設定すると、 GetObjectClassesToFilter に指定した Class に関係する Actor が ObjectMixer 上に表示されます

Filterの設定

一覧のヘッダー部分にある三点マークをクリックすると、表示するプロパティを選択できます

プロパティの表示

その他 #

各種関数の設定 #

ObjectFilter は、各関数をオーバーライドすることでカスタマイズします 主なものは以下の通りです

関数名 概要
GetObjectClassesToFilter ObjectMixer の対象とするクラス(Actor または Component)
GetObjectClassesToPlace ObjectMixer の Add ボタンで作成できるクラス(Actor)
GetColumnsToShowByDefault デフォルト表示する項目(プロパティ名)
GetForceAddedColumns 常に表示する項目
GetColumnsToExclude 表示しない項目(プロパティ名)
GetObjectMixerPropertyInheritanceInclusionOptions 親または子のプロパティを含んで表示するか
GetObjectMixerPlacementClassInclusionOptions Add で作成するクラスの検知パターンを指定する

表示するプロパティについて #

GetObjectMixerPropertyInheritanceInclusionOptions をオーバーライドすると、対象の親や子のプロパティも表示できるようになります
IncludeAllParentAndChildren あたりに設定しておくと、ほぼすべての対応するプロパティが表示されます

トラブルシューティング #

出ない Property があるんだけど… #

表示できない Property があるようです
よく使うものとしては Vector は表示されません
おそらく構造体に関しては編集できないと思われます

Add が動かない #

現時点で Add のところに任意のクラスを出す方法が見つかってません
AActor は検知されるのに、作成したクラスは検知できてない感じがします
一応ベースである LightMixer はまだベータ機能なので…

設定値はどこに…? #

表示する列などを編集した場合、設定値はプロジェクトフォルダ下の Saved/WindowsEditor/ObjectMixerSerializedData.ini に保存されます
表示列を変えて以降の表示は、ここに保存された内容で表示されます

参考 #

UnrealEngine5.1 リリースノート

Related

CameraでActorを追尾(Tracking)する方法について
UnrealEngine UE5.0 Cinematic
最後に触ったプロジェクトが自動的に開いてしまう場合
UnrealEngine UE5.0 Troubleshoot
PixelStreamingをAWS上で動かす(自動構築編)
UnrealEngine UE4.27.2 PixelStreaming