ゲームプレイからシーケンスをトリガーする

インゲームのイベントからシーケンスをトリガーする方法を説明します。

Windows
MacOS
Linux
このページ中

シネマティック シーケンスを作成したらカットシーンの一部としてゲームプレイ中にそれを呼び出して再生することができます。 例えば、プレイヤーが部屋に入り、カメラをあるオブジェクトにズームインさせたい場合があるかもしれません。 あるいは、プレイヤーが敵をキルした後に、エンディングのシネマティックスをトリガーしたいとします。 レベル シーケンスへの参照を取得することで、ブループリント または C++ のコードを使ってシーケンスに対して再生を再開するように指示します。

この操作ガイドでは、プレイヤーがトリガー ボックスに入るとライトが点灯するサンプル シネマティックスを作成します。 シネマティックスが再生を終了すると、シーケンサーに対してレベル内のライトに変更を適用するように指示して、シネマティックスが再生を終了してもライトが点灯したままになるようにします。 再生中にプレイヤーにシネマティックスをスキップさせて、シーケンサーに指示してシーンをスキップした後もライトを点灯し、そのままの状態にすることができます。

HeroImage.png

ステップ

ここでは Blueprint Third Person Template プロジェクトを使います。

  1. [Modes] パネルの [Basic] から、[Box Trigger] をレベルにドラッグし、自由にサイズ変更および配置します。

    Trigger01.png

    プレイヤーがトリガーに入ると、シネマティックスに対して再生を開始するようにブループリントを通して指示します。

  2. メイン ツールバーから [Cinematics (シネマティックス)] ボタンをクリックし、[Add Level Sequence (レベル シーケンスを追加)] を選択して、シネマティックスに名前を付けます。

    Trigger02.png

  3. [Modes] パネルの [Basic] から、[Point Light] をレベルにドラッグし、以下の位置にライトを配置します。

    Trigger03.png

  4. Point Light を選択した状態で [Details] パネルで、Intensity の値を 0.0 に変更し、Keyframe ボタンをクリックします。

    Trigger04.png

    これで、ポイントライトがシーケンサーに追加され、その初期値をシーケンスの始まりの場所にキーフレーム化します。

  5. シーケンサーでは、タイムラインをフレーム 150 に移動し、ライトの Intensity 値を、5000 に移動し、それをキーフレーム化します。

    画像をクリックしてフルサイズで表示

    ポイントライトがオフの位置から始まり、シーケンスの再生が進むにつれて明るくなっていきます。

  6. Add Camera ボタンをクリックします。次にレベルのカメラをキャラクターの近くに移動し、キーフレーム化します。

    画像をクリックしてフルサイズで表示

  7. タイムラインをフレーム 75 まで動かします。次に、レベルでカメラをキャラクターとライトを見渡す新しい位置に動かし、それをキーフレーム化します。

    画像をクリックしてフルサイズで表示

  8. タイムラインをフレーム 150 まで動かします。次に、レベルでカメラをライトをフォーカスする位置に動かし、それをキーフレーム化します。

    画像をクリックしてフルサイズで表示

    シネマティックスにアニメーションをフライスルーするカメラが用意できました。プレイヤーに対してレベル内のどこにライトがあるかを示します。

  9. レベルの [Trigger Box] をクリックしてメイン ツールバーから、 [Blueprint] ボタンをクリックし、Open Level Blueprint を選択します。

    Trigger09.png

  10. グラフ内で右クリックして、 Trigger Box で、[Add On Actor Begin Overlap] を選択します。

    Trigger10.png

  11. レベルに戻り、レベル シーケンスを選択します。次に Level ブループリント 内に戻り右クリックして、レベル シーケンスに Create a Reference (参照を作成) します。

    Trigger11.png

  12. レベル シーケンスの参照からドラッグして、Play (SequencePlayer) を選択します。

    Trigger12.png

  13. OnActorBeginOverlap ノードを、Play ノードに接続します。

    Trigger13.png

    トリガー ボックスに入ると、Play ノードが実行されて、レベル シーケンスが再生されます。

    エディタで再生すると、トリガー ボックスに入るときにシーケンスが再生しますが、再生は一回だけです。 再度シーケンスを再生する場合、シーケンスに再生を指示する前に、Playback Position を 0 (つまりシーケンスの開始) に設定した Set Playback Position ノードを使って再度シーケンスの再生をやり直します。

  14. Level ブループリント で、Sequence Player ノードからドラッグして、Set Playback Position ノードを使用します。

    Trigger14.png

  15. OnActorBeginOverlap ノードと Play ノードの間の Set Playback Position を接続します。

    Trigger15.png

    これで再生開始前に Level シーケンスを始めの部分に戻します。

  16. シーケンサー 内で Intensity トラックを右クリックして、Properties[When Finished][Keep State] に変更してください。

    Trigger16.png

    [Keep State] オプションを使ってライトの Intensity 設定をシーケンス終了後もそのまま残るようにすることができます。 これはシーケンス終了後にシーケンサーで作成したエフェクトや設定をシーケンス終了後に残したい場合に役立ちます。 例えば、シネマティックスでドアが開き、シネマティックスが終了してもドアを開けたままにしたい場合があるでしょう。

  17. レベル ブループリントGo to End and Stop に接続された Branch (Is Playing の条件で) に接続された F keyboard event を追加します。

    Trigger17.png

    F キーを押すと、レベル シーケンスが現在再生中の場合は直ちに最終点にジャンプし再生を停止します。 Go to End and Stop ノードは、プレイヤーがシネマティックスをスキップできるようにしたいが、シーケンスの再生が続く場合にシーケンサーが適用した変更を継続する場合に役立ちます。

    例えば、シネマティックスではシーケンサーがレベルでライトを点灯します。プレイヤーが点灯しているライトのカットシーンをスキップしても、カットシーンがスキップされた後もライトを点灯し続けたいとします。 単に Stop ノードを使ってシネマティックスの再生を停止したらシネマティックスは完了せず、シネマティックスのどこでも停止を選択した場所で停止します (つまり、どこで停止したかに応じてライトは十分にオンオフしなくなります)。

  18. メイン エディタに戻り、メイン ツールバーで[Play (再生)] ボタンをクリックしてエディタで再生します。

最終結果

エディタで再生すると、デフォルトでライトは点灯しないことがわかります。 トリガー ボックスに入ると、シネマティックスが再生を開始し、ライトが点灯し、シネマティックスの完了時に点灯したままになります。 再度トリガー ボックスに入ることでシネマティックスを再トリガーすることができます。これにより、シーケンスが始めから再生します。 トリガー ボックスに入って、F キーを押してシネマティックスをスキップすることもできます。その結果、ライトが自動的に点灯します。

タグ
Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信