シーケンサ経由でイベントを呼び出す

シーケンサのイベント トラックを使用して、ブループリントでイベントを発生させる方法の例を示します。

シーケンサ 経由でシネマティックをプレイするとき、スクリプトによる機能を起動する**イベント**を発生させる時点をコントロールするインスタンスがあります。 シネマティックの特定のポイントでドアを開いたり、パーティクル エフェクトをスポーンしプレイする、なんらかの方法でプレイヤーを調整したい場合、イベント トラック があると、イベントを呼び出したいフレームにシネマティックで正確にキーを追加することができます。

シーケンサー トラックを使用すれば、ブループリントにアクセスする必要なくイベントを追加することができます。オブジェクトに複数のイベントを追加したり、単一のイベントに複数のオブジェクト バインドを追加することができます。 ブループリントを開けば、1 つのイベントに複数のパラメータを追加することもできます。詳しい情報については イベント トラックの概要 をご覧ください。

このガイドでは、イベント トラックを使用して、キャラクタが死亡したことを示すテキストを画面に表示します。同時に、プレイヤーによるキャラクタの動きを無効にして、物理シミュレーションを実行します。

このガイドでは、ブループリントのサードパーソン テンプレート プロジェクトを使用します。

キャラクターを設定する まず、サードパーソン キャラクターを設定する必要があります。

  1. メイン ツールバーから [Cinematics (シネマティックス)] ボタンをクリックし、[Add Level Sequence (レベル シーケンスを追加)] を選択して、名前と保存場所を指定します。

  2. レベル シーケンスの [Details (詳細)] パネルで、[Auto Play (自動プレイ)] をオンにします。

  3. レベルで ThirdPersonCharacter 選択して、[+ Track (トラックの追加)] ボタンを使用してシーケンサに追加します。
    NewEventTrack_03.png

  4. レベルの ThirdPersonCharacter を右クリックして、[Edit ThirdPersonCharacter (サードパーソンキャラクタの編集)] を選択します。

  5. [Event Graph (イベント グラフ)] で右クリックして、カスタム イベント を見つけて追加します。
    NewEventTrack_05.png

  6. カスタム イベント KillPlayerText を呼び出し、Print String ノードに文字列としてつなぎます。

    killplayer_text.png

  7. KillPlayerText ノードを選択し、[Details (詳細)] パネルで [Inputs] を開きます。[+Add Parameter] を選択してノードに新しいパラメータを追加します。

    add_parameter.png

  8. ドロップダウンから String パラメータを選択して、パラメータ名を「 In String 」に変更します。Custom Event の In String 入力を Print String につなぎます。

    string_parameter.png

イベント トラックを追加する

キャラクターを設定すると、キャラクターを無効にして Character ブループリントからテキストを印字するようにイベントを追加することができます。

  1. [Sequencer (シーケンサ)] で、[ThirdPersonCharacter] トラックの [+ Track] ボタンをクリックして [Event] を選択します。
    NewEventTrack_07.png

  2. タイムラインをフレーム 149 にして、イベント トラックにキーを追加します。

  3. 追加したキーを右クリックして、[Properties (プロパティ)] から [Unbound] ドロップダウンを選んで Create a Quick Binding を追加します。

  4. Quick Bind で Set All Bodies to Simulate Physics を検索します。Payload の New Simulate に必ずチェックを入れます。

    simulate_binding.png

    payload1.png

  5. 2 つめのイベント トラックを追加し、Quick Bind for Disable Movement に Quick Bind を追加します。

  6. 3 つめのイベント トラックを追加し、さきほど追加した Kill Player Text を呼び出すための Quick Bind を追加します。PayloadIn String テキストボックスに「GAME OVER!」と入力します。

    payload_string1.png

  7. 文字列キーをタイムラインの他の 3 か所に [ALT] キーを押しながらドラッグ します。最初のキーの文字列を「3」、2 つめのキーを「2」、3 つめのキーを「1」に変更します。

    payload_string2.png

    基本的に、GAME OVER! 文字列テキストに対してカウントダウンします。

  8. いずれのキーの Event Properties から 虫眼鏡 アイコンをダブルクリックして Sequence Director ブループリント を開きます。

    openBP.png

    または、イベントキーのダブルクリックする、あるいは [General Options (オプション全般)] > [Open Director Blueprint (Direct ブループリントを開く)] へ移動します。

  9. SetCollisionEnabled ノードを Set All Bodies Simulate Physics に追加してタイプを Collision Enabled に設定します。Target ピンを Mesh ピンに接続します。

    eventBP.png

    この設定により、キャラクターがオブジェクトを通過して落下するのではなく、オブジェクトに衝突します。イベントを作成するためにブループリントを使用する必要はありませんが、このケースのようにイベントに追加するにはブループリントが必要になります。

1.Play を押すと、キャラクターが死亡し、ビューポートの左上隅にテキストが表示される 150 秒のマークまでビューポート内を走り回ることができます。

左上隅に Mouse Control ラベルが表示されるとテキストが見えにくくなります。これをオフにするには、Editor Preferences > Level Editor > Play を開いて Show Mouse Control Label のチェックを外します。

最終結果

エディタでプレイすると、少したってから、ウィンドウの左上にテキストが表示され、キャラクタが移動機能を失って地面に倒れます。

イベント トラックをシーケンサ内のオブジェクトに追加すると、イベント、関数を呼び出せる、あるいはバインド先のオブジェクトのプロパティにアクセスできる場所にオブジェクト バインディングを作成します。イベント トラックはレベル ブループリント、UI ウィジェット ブループリント内でスクリプトを実行する、ブループリント インターフェースを通じて複数ブループリントと通信するために使用することもできます。

このページは Unreal Engine の前のバージョン用です。現在リリースされている Unreal Engine 5.3 に対して更新は行われていません。
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル