シネマティック シーケンスを作成したらカットシーンの一部としてゲームプレイ中にそれを呼び出して再生することができます。 例えば、プレイヤーが部屋に入り、カメラをあるオブジェクトにズームインしたり、 あるいは、プレイヤーが敵をキルした後に、エンディングのシネマティクスをトリガーする場合に、 レベル シーケンスへの参照を取得することで、ブループリント または C++ のコードを使ってシーケンスに対して再生を再開するように指示します。
この操作ガイドでは、プレイヤーがトリガー ボックスに入るとライトが点灯するサンプル シネマティクスを作成します。 シネマティクスが再生を終了すると、シーケンサーに対してレベル内のライトに変更を適用するように指示して、シネマティクスが再生を終了してもライトが点灯したままになるようにします。 再生中にプレイヤーにシネマティクスをスキップさせて、シーケンサーに指示してシーンをスキップした後もライトを点灯し、そのままの状態にすることができます。
ステップ
ここでは Blueprint Third Person Template プロジェクトを使います。
[Place Actors] パネルの [Basic] タブから、[Box Trigger] をレベルにドラッグし、自由にサイズ変更および配置します。
Click image for full size.
プレイヤーがトリガーに入ると、シネマティクスに対して再生を開始するようにブループリントを通して指示します。
メイン ツールバーから [Cinematics] ボタンをクリックし、[Add Level Sequence (レベル シーケンスを追加)] を選択して、シネマティクスに名前を付けます。
Click image for full size.
[Place Actors] パネルの [Basic] タブから、[Point Light] をレベルにドラッグし、以下の位置にライトを配置します。
Click image for full size.
Point Light を選択した状態で [Details] パネルで、Intensity の値を 0.0 に変更し、Keyframe ボタンをクリックします。
Click image for full size.
Click image for full size.
これで、ポイントライトがシーケンサーに追加され、その初期値をシーケンスの始まりの場所にキーフレーム化します。
シーケンサーでは、タイムラインをフレーム 150 に移動し、ライトの Intensity 値を、5000 に移動し、それをキーフレーム化します。
Click image for full size.
ポイントライトがオフの位置から始まり、シーケンスの再生が進むにつれて明るくなっていきます。
Add Camera ボタンをクリックします。次にレベルのカメラをキャラクターの近くに移動し、キーフレーム化します。
Click image for full size.
タイムラインをフレーム 75 まで動かします。次に、レベルでカメラをキャラクターとライトを見渡す新しい位置に動かし、それをキーフレーム化します。
Click image for full size.
タイムラインをフレーム 150 まで動かします。次に、レベルでカメラをライトをフォーカスする位置に動かし、それをキーフレーム化します。
Click image for full size.
シネマティックスにアニメーションをフライスルーするカメラが用意できました。プレイヤーに対してレベル内のどこにライトがあるかを示します。
レベルの [Trigger Box] をクリックしてメイン ツールバーから、 [Blueprint] ボタンをクリックし、Open Level Blueprint を選択します。
Click image for full size.
グラフ内で右クリックして、 Trigger Box で、[Add On Actor Begin Overlap] を選択します。
Click image for full size.
レベルに戻り、レベル シーケンスを選択します。次に Level ブループリント 内に戻り右クリックして、レベル シーケンスに Create a Reference (参照を作成) します。
Click image for full size.
レベル シーケンスの参照からドラッグして、Play (SequencePlayer) を選択します。
Click image for full size.
OnActorBeginOverlap ノードを、Play ノードに接続します。
Click image for full size.
トリガー ボックスに入ると、Play ノードが実行されて、レベル シーケンスが再生されます。
エディタで再生すると、トリガー ボックスに入るときにシーケンスが再生しますが、再生は1 回だけです。 再度シーケンスを再生する場合、シーケンスに再生を指示する前に、Playback Position を 0 (つまりシーケンスの開始) に設定した Set Playback Position ノードを使って再度シーケンスの再生をやり直します。
Level ブループリント で、Sequence Player ノードからドラッグして、Set Playback Position ノードを使用します。
Click image for full size.
OnActorBeginOverlap ノードと Play ノードの間の Set Playback Position を接続します。
Click image for full size.
これで再生開始前に Level シーケンスを始めの部分に戻します。
シーケンサー 内で Intensity トラックを右クリックして、Properties で [When Finished] を [Keep State] に変更してください。
Click image for full size.
[Keep State] オプションを使ってライトの Intensity 設定をシーケンス終了後もそのまま残るようにすることができます。 これはシーケンス終了後にシーケンサーで作成したエフェクトや設定をシーケンス終了後に残したい場合に役立ちます。 例えば、シネマティックスでドアが開き、シネマティックスが終了してもドアを開けたままにしたい場合があるでしょう。
レベル ブループリント で Go to End and Stop に接続された Branch (Is Playing の条件で) に接続された F キーボード イベントを追加します。
Click image for full size.
F キーを押すと、レベル シーケンスが現在再生中の場合は直ちに最終点にジャンプし再生を停止します。 Go to End and Stop ノードは、プレイヤーがシネマティックスをスキップできるようにしたいが、シーケンスの再生が続く場合にシーケンサーが適用した変更を継続する場合に役立ちます。
例えば、シネマティックスではシーケンサーがレベルでライトを点灯します。プレイヤーが点灯しているライトのカットシーンをスキップしても、カットシーンがスキップされた後もライトを点灯し続けたいとします。 単に Stop ノードを使ってシネマティックスの再生を停止したらシネマティクスは完了せず、シネマティックスのどこでも停止を選択した場所で停止します (つまり、どこで停止したかに応じてライトは十分にオンオフしなくなります)。
メイン エディタに戻り、メイン ツールバーで[Play (再生)] ボタンをクリックしてエディタで再生します。
最終結果
エディタで再生すると、デフォルトでライトは点灯しないことがわかります。 トリガー ボックスに入ると、シネマティックスが再生を開始し、ライトが点灯し、シネマティクスの完了時に点灯したままになります。 再度トリガー ボックスに入ることでシネマティクスを再トリガーすることができます。これにより、シーケンスが始めから再生します。 トリガー ボックスに入って、F キーを押してシネマティクスをスキップすることもできます。その結果、ライトが自動的に点灯します。