参考サイト
やりたいこと
- レベルシーケンスの再生位置を変更したい。
- UE4公式ドキュメントにあるように、Transform Origin Actor または Transform Origin を使用すると良い。
- これをBlueprintから任意に指定したい。
- イベントが起こった位置にシーケンスを配置するなど。
- 実は答えがEpic Gamesおかずさんの資料のスライド164ぐらいに書いてある。
要するにこの記事は「すぐ忘れてしまう自分向けのメモ」です。
前説:Transform Origin ActorとTransform Origin
Level Sequence Actorの詳細パネルの「Instance Data」にある。
Override Instance Data
をTrueにすると、Transform Origin Actor
とTransform Origin
の項目が現れる。
なお
- 誤
Transform Origin Actorの位置から、Transform Originだけオフセットした位置で再生。 - 正 Transform Origin Actorがあればそれを使用、指定されていなければTransform Originを使用。
という効能なので注意。
Blueprintから、その時々に応じた位置を指定するには。
要点
- Level Sequence Actorのメンバ
Default Instance Data
はオブジェクト型なので、正しい型にキャストしてやらないと、データのGet/Setができない。- その型は
DefaultLevelSequenceInstanceData
型である。 - C++ソースを漁らないと見つからないのが罠。(LevelSequenceActor.cpp 内 ALevelSequenceActorのコンストラクタを参照のこと)
- その型は
-
Override Instance Data
をTrueにセットしてやらないと、機能しないので注意。
この「DefaultLevelSequenceInstanceData」をすぐに忘れてしまうのです…