ぼっちプログラマのメモ

UE4とかVRとかについて書いたり書かなかったり。

【UE4】【UE5】SequencerのTransform Origin (Actor) が実行・Previewしなくても反映されるようになって感動したという話

はじめに結論から

UE4.26まではLevelSequenceActorが持つTransform Origin (Actor)を反映するには実行・Previewする必要があったのですが…
UE4.27以降(UE5も含む)からはそれが不要になりました!
具体的にはTransform Trackが再生されたら実行の有無を問わずに反映されるようになりました!


動画の高解像度版:
bandicam 2022 06 21 12 05 48 975 - YouTube
超便利!!!

以降はTransform Origin (Actor)がどんな機能でどんな時に使うのかを軽く説明

Transform Origin (Actor)って何?

作成したLevel Sequenceを色んな座標・向きで使うための仕組みで、LevelSequenceActorが持つプロパティです。

通常、SequencerのTransformTrackは固定値なので特定の位置・向きでしか再生することができません。決め打ちのイベントシーンならこの挙動でも問題ないのですが、キャラクタの必殺技演出のようにどんな座標・向きでも使えるようにしたい場合は凄く困ります。

Transform Origin (Actor)はこの問題を解決するための機能です。Sequencerは座標原点を(0,0,0)としていますが、Transform Origin (Actor)が設定されている場合はそのTransofrm(ActorのTransform)を座標原点として扱います。…もっと分かりやすく言うとオフセットをかけてくれます!
なので必殺技の場合ですと…(0,0,0)を基準として必殺技演出を作っておいて、実際に再生する際にTransform Origin (Actor)にキャラクタのTransformを入れてしまえば「いい感じに」再生されるようになります。

ということが、過去の講演や公式ドキュメントに書かれています。まだ見てない方は是非見てね!


UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!【GAME CREATORS CONFERENCE '19】 | ドクセル
公式ドキュメント:
動的なトランスフォームを使用してレベル シーケンスを作成する | Unreal Engine ドキュメント

結局…今回のアップデートの何が嬉しいの?

UE4.26以前はTransform Origin (Actor)を反映するには実行・Previewする必要があるため、(0,0,0)以外の場所で再生したらどう見えるのか?を確認するのが面倒でした。そのため、気軽に確認するためにTransformTrackの設定を変えたり、Transform Origin Actorの代わりとなるActorに対してLevel Sequence内の全ActorをAttachといった対応を取る必要がありました。Editor Scriptingである程度自動化はできますが、これはこれで非常に面倒でした…。

が、UE4.27で解決されたのです!前半の動画の通り、Sequencer上で再生したりバーを動かせば反映されます!
やったー!!!!!!!

めでたい!おしまい