ボス部屋へ入ったら、カメラが奥の敵へ寄り、少し見せてからプレイヤーへ戻る。短い演出でも、「これから何と戦うのか」が伝わります。あとから咆哮やBGMも合わせたくなったとき、秒数をBlueprintのあちこちで調整するのは大変です。
Sequencer は、こうした演出を時間軸に並べて編集する道具です。カメラの動き、キャラクターのアニメーション、音を同じ画面で見ながら、「もう少し早く」「ここで一拍置く」と調整できます。
この記事では、まず カメラが2秒かけてボスへ寄り、1秒見せてから元へ戻る 演出を作ります。ボスの代役は箱で十分です。素材を探す前に、カメラの切り替えと、演出後に操作を返すところまで完成させましょう。

この記事でわかること
- 演出のデータ(Level Sequence)と、再生する仕組みを分ける設計
- トラック・キー・Camera Cutsの違い
- 入口に入ったら再生し、終わったら操作へ戻す流れ
- 途中停止も含めて確かめる手順
この記事で作るもの
- 2つのキーフレームで、カメラが寄る動きを作る
- 部屋の 入口へ入ったとき、演出を1度だけ再生する
- 自然終了でもスキップでも、元の視点と移動・視点入力へ戻る
演出のデータと、再生する仕組みを分ける
Sequencerを使うと、よく似た名前が3つ登場します。最初に、「作った内容」と「ゲーム中に再生するもの」を分けておきます。
| 名前 | 今回の役割 |
|---|---|
| Level Sequence | カメラの動きや再生区間を保存するアセット |
| Level Sequence Actor | そのアセットをレベルで使うために置くActor |
| Sequence Player | Actorが持つ再生担当。PlayやStopを受け、終了を知らせる |

Sequencer は、このLevel Sequenceを編集する画面の名前です。レベルに置いたActorからSequence Playerを取り出し、そこへPlayを送ると、作った演出がゲーム中に再生されます。
一方、BlueprintのTimelineノードは、扉の角度を0度から90度へ変えるような処理をBlueprint内で組むときに手軽です。Sequencerは、カメラや音などを時間軸へ並べて調整する用途に向いています。「1体ならTimeline、2体以上ならSequencer」という制限ではなく、何を見ながら編集したいか で選びます。
箱とカメラを置いて、3秒の演出を作る
追加素材なしで、同じ場面を用意する
UE5.6のThird Personプロジェクトを使います。単独プレイで BP_ThirdPersonCharacter を操作できる状態が前提です。床の高さがZ=0で、障害物のない場所に次を置きます。位置の単位はcmです。
| 置くもの | アウトライナーで付ける名前 | Location | 設定 |
|---|---|---|---|
| Cube | BossStandIn | (1500, 0, 100) | Scaleを(2, 2, 2) |
| Cine Camera Actor | Cam_Intro | (400, 0, 100) | Rotationを(0, 0, 0) |
| Trigger Box | BossIntroTrigger | (0, 0, 100) | Box Extentを(100, 200, 100)、Scaleは(1, 1, 1) |
BossStandIn は「ボスの代役」です。カメラはXのプラス方向へ向き、その先にある箱を映します。プレイヤーはTriggerの外から入り、箱までの間に壁がないことを確認します。

Cine Camera Actor は演出用のカメラです。Cam_Intro の「Current Focal Length」を 35 mmにし、「Focus Settings」→「Focus Method」を Disable にします。今回はピントによるぼけを無効にして、位置の変化だけを見ます。
Trigger Boxは、重なった相手を検出するActorです。Collisionを Query Only、操作キャラが属する Pawn への応答を Overlap、「Generate Overlap Events」をオンにします。Overlapは、通行を遮らずに重なりを検出する設定です。操作キャラのCapsule側もGenerate Overlap Eventsをオンにしてください。箱の大きさのExtentは中心から端までなので、入口の判定全体は200×400×200cmになります。
Level Sequenceを作り、カメラを追加する
- レベルエディタ上部の「Cinematics」から「Add Level Sequence」を選び、
SEQ_BossIntroとして保存します。 - この方法ではアセットとLevel Sequence Actorが両方作られます。アウトライナーにできたActorを
BossIntroSequenceと名付けます。 - Sequencerで「Add Track」→「Actor To Sequencer」から、レベ ルに置いた
Cam_Introを追加します。 - Camera Cuts トラックができ、カメラが割り当てられた帯があることを確認します。自動でできなかった場合は「Add Track」→「Camera Cut Track」を追加し、その「Add Camera」から
Cam_Introを指定します。
トラック は、時間に沿って何を変えるかを並べる行です。カメラの位置や回転は Transform トラックで動かします。Camera Cutsは、「この時間はどのカメラの映像を使うか」を決めます。
つまり、カメラが動くことと、その映像がゲーム画面に出ることは別 です。今回必要なのは、Cam_IntroのTransformとCamera Cutsの両方です。
0フレームと60フレームへ位置を記録する
キーフレーム は「この時刻には、この値」という記録です。始点と終点を記録すると、その間をUEがつないでくれます。
Sequencer上部のフレームレートのメニューで 30 fps を選び、「Show Time As」を Frames にします。ここでのフレームは演出の時間を数える目盛りです。30フレームが1秒なので、60は2秒、90は3秒になります。
- 「Auto Key」はオフにします。今回はキーを手動で置き、どの操作で記録されたかを確かめます。
- 現在時刻の入力欄へ
0を入れます。Cam_IntroのLocationが(400, 0, 100)、Rotationが(0, 0, 0)であることを確認します。 - Cam_IntroのTransform行にあるキー追加ボタンを押します。Transformがなければ、カメラのトラックの「+」から追加します。
- 現在時刻を
60にし、カメラのLocationを(700, 0, 100)へ変えます。Transformのキー追加ボタンをもう一度押します。 - 0と60のキーを選択し、右クリックの「Key Interpolation」から
Cubic (Auto)を選びます。
これで、2秒かけてカメラが箱へ300cm近づきます。今回は位置だけを変え、回転や焦点距離は変えません。

最後の1秒を見せてから、再生を終える
タイムラインの緑の開始マーカーを 0、赤い終了マーカーを 90 にします。数値で合わせるなら、現在時刻へ0または90を入力し、Sequencer左下の再生操作欄にある開始・終了時刻の設定ボタンを使います。これが Playback Range(再生範囲) です。
Camera Cutsの帯も、0から90まで覆う長さにします。帯を セクション と呼びます。今回はカメラが0〜60で寄り、その位置を60〜90の1秒間見せてから、演出全体が終わります。

キーを置いただけでは、演出全体の長さは決まりません。 Camera Cutsの帯が60で終われば、カメラが寄り終わったところで映像が外れてしまいま す。最後の1秒も見せるなら、再生範囲と帯の終端を90へそろえます。
Camera Cuts行のカメラロックをオンにして、Sequencer内の再生ボタンを押します。箱へ寄り、最後に1秒止まって見えれば、演出のデータはできています。 再生位置を戻して見直したら、編集用のカメラロックを外します。
キーフレームの間は、どう動く?
キーとキーの間の値をつなぐことを 補間 と呼びます。同じ始点・終点でも、つなぎ方によってカメラの動きが変わります。

- Linear:2つの位置の間を一定の速さで動き、終点で止まります。
- Cubic (Auto):カーブを自動で調整し、動き始めや止まる前をなめらかにします。
今回の2つのキーをLinearへ変えて再生し、Autoへ戻して比べてみてください。箱へ寄る距離と時間は同じでも、止まる直前の印象が変わります。
Cubic (User) は、このカーブを自分で調整するための設定です。AutoもCubicの一種なので、別々の補間方式が3つあると覚える必要はありません。まずはLinearとAutoの違いを見ておけば十分です。
入口に入ったら、再生の準備をする
自動再生を止め、Blueprintから呼べる状態にする
BossIntroSequence を選び、Detailsを次のようにします。
| 設定 | 値 |
|---|---|
| Level Sequence | SEQ_BossIntro |
| Auto Play | オフ |
| Loop | Don't Loop |
| Play Rate / Start Offset | 1 / 0 |
| Random Start Time / Pause at End | オフ |
| Disable Camera Cuts | オフ |
| Disable Movement Input / Disable Look At Input | オフ(後述のBlueprintで制御) |
| Hide Player / Hide HUD | オフ |
Pause at End は「最後まで来たら一時停止する」設定です。今回は終了通知を受けて操作へ戻すため、オフにします。Auto Playもオフなので、ゲームを開始しただけでは演出が始まりません。
今回の処理は Level Blueprint にまとめます。レベルに置いた入口と演出を結び付ける、小さな仕掛けだからです。使い分けはLevel BlueprintとBlueprint Classの記事で扱っています。
- アウトライナーで
BossIntroSequenceを選びます。 - 上部のBlueprintメニューから「Open Level Blueprint」を開きます。
- グラフの空き場所を右クリックし、「Create a Reference to BossIntroSequence」を選びます。
- その青いピンから Get Sequence Player を検索します。

この参照は、レベルにある BossIntroSequence を指定するものです。コンテンツブラウザのアセットを指定するのとは異なります。Get Sequence Playerで取り出した再生担当に、あとでPlayを送ります。
Level Blueprintに、次の変数も作ります。
| 変数 | 型 | 初期値 | 用途 |
|---|---|---|---|
IntroPlayer | Level Sequence Player Object Reference | None | 取り出した再生担当を覚える |
SavedViewTarget | Actor Object Reference | None | 演出前の視点へ戻る先を覚える |
bIntroPlaying | Boolean | false | 今、演出中かを覚える |
Object Reference は、実際に使うオブジェクトを指定するための型です。たとえばSavedViewTargetには、戻り先となるActorを覚えさせます。初期値の None は、まだ何も指定していない状態です。Booleanはtrue/falseの2通りで、bIntroPlayingなら「演出中/演出中ではない」を表します。
プレイヤーが入ったときだけ、一度実行する
アウトライナーで BossIntroTrigger を選び、Level Blueprintの右クリックメニューから、そのActorの On Actor Begin Overlap イベントを追加します。
- イベントの
Other ActorをCast To BP_ThirdPersonCharacterのObjectへつなぎ、白い実行線もつなぎます。Castの成功側だけを進めます。 - 成功側から
Set IntroPlayerを置き、先ほどのGet Sequence Playerの戻り値を保存します。 IntroPlayerを、白い実行ピンを持つ Is Valid へ渡します。「Is Valid」側だけを次へ進めます。- DoOnce を置きます。Resetはつながず、Start Closedはオフのままです。

ここまでで、入口に触れた相手が操作キャラなら、演出の再生担当をIntroPlayerへ保存できます。続けて、その値が使えることを確かめてからDoOnceへ進めます。

Castは「入ってきた相手が操作キャラか」、Is Validは「再生担当を使えるか」を確かめます。参照が空なら、入力を止める前に処理を終えます。DoOnceは最初の1回だけ先へ通し、出入りのたびに演出を繰り返すのを防ぎます。
ここでは、まだPlayをつなぎません。先に、演出後に操作を返す処理を用意します。
終わったときの処理を先に用意する
Level Blueprintの「My Blueprint」→「Functions」の「+」から、入力・戻り値のない関数 RestoreIntroControls を作ります。関数は、同じ処理を名前で呼び出すた めのまとまりです。自然に終わったときも、途中で止めたときも、この関数へ進めるようにします。
移動・視点の入力を戻す
RestoreIntroControls の中を、Set bIntroPlaying = false → Set Cinematic Mode の順につなぎます。Get Player ControllerのPlayer Indexは 0 にし、その戻り値をSet Cinematic ModeのTargetへ渡します。
Player Controller は、プレイヤーの入力や視点を扱う役目です。単独プレイの今回は、Index 0のControllerを使います。

| Set Cinematic Modeの入力 | 復帰時の値 |
|---|---|
| In Cinematic Mode | false |
| Hide Player | false |
| Affects HUD | false |
| Affects Movement | true |
| Affects Turning | true |
Affects Movement / Turning は「この呼び出しで移動・視点入力を変更するか」です。戻すときもtrueにして、In Cinematic Modeだけをfalseにします。Affects側までfalseにすると、その入力状態を変更しません。
元の視点へ戻す
続けて Set View Target with Blend を置きます。Targetは同じPlayer Controller、New View Targetは SavedViewTarget、Blend Timeは 0 にします。

View Target は、画面の視点を決めるActorです。Third Personなら通常は操作キャラで、その中のカメラが使われます。次の節で演出前のView Targetを保存し、ここで戻します。今回は切り替えを確かめやすいよう、Blend Timeを0にして即座に戻します。
Camera Cutsも再生が終わると視点の制御を手放します。加えて今回の復帰先を明示し、通常終了とスキップが同じところへ戻るようにしています。
終了通知を登録して、演出を再生する
On FinishedとOn Stopを同じ関数へつなぐ
IntroPlayer は、再生中に起きたことを通知します。On Finished は最後まで自然に再生したとき、On Stop は停止したときの通知です。Stopを呼ぶ場合までOn Finishedだけで待つと、復帰処理が抜けてしまいます。
Level BlueprintのEvent Graphへ戻り、DoOnceの続きに次を作ります。
IntroPlayerのGetからBind Event to On Finishedを作り、Targetへつなぎます。- Bindの赤いEventピンから線を引き、Create Event を作ります。ObjectはSelfのまま、関数の選択欄で
RestoreIntroControlsを選びます。 - 続けて
Bind Event to On Stopを置きます。Targetは同じIntroPlayer、Eventには同じCreate Eventの赤い出力をつなぎます。
