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

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

Windows
MacOS
Linux
このページ中

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

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

手順

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

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

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

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

  4. レベルの ThirdPersonCharacter を右クリックして、[Edit ThirdPersonCharacter (サードパーソンキャラクタの編集)] を選択します。 
    NewEventTrack_04.png
    Third Person Character ブループリント 内部で、シーケンサから呼び出されるカスタム イベントを追加します。 

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

  6. カスタム イベント KillPlayerText を呼び出し、文字列として 「Kill My Player!」 が設定されている Print String ノードでに接続します。 
    NewEventTrack_06.png
    この例ではカスタム イベントが呼び出されたとき画面にテキストが表示されます。 スクリプトによる機能を自由に提供し、シーケンサから呼び出されたときに実行されるようにカスタム イベントに接続できます。 

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

  8. タイムラインのフレーム 60 に移動して、 [Events] トラックの [+] 記号をクリックしてイベント キーを追加します。 
    NewEventTrack_08.png

  9. 新しいキーフレームで右クリックして、 [Properties] の [Unbound] をクリックし [Create New Endpoint (新規エンドポイントの作成)] を選択します。 
    NewEventTrack_09.png

    新しい Director クラス ブループリントが表示されます。

    クリックして拡大

    Director ブループリントでは、指定した 1 つまたは複数のターゲットで発生させるスクリプトによる機能を提供できます。 Director ブループリントを使用して、他のブループリントが実装し、呼び出されたときに実行する ブループリント インターフェース を呼び出すこともできます。 

    詳細については、「イベント トラックの概要」を参照してください。

  10. [My Blueprint] パネルで、関数の名前を PrintKillPlayer に変更し、 [Target] ピンから接続して、 Kill Player Text を呼び出します。 NewEventTrack_10.png
    この例では ThirdPersonCharacter ブループリントをターゲットにしています。 指定するターゲット タイプに関連した機能にアクセスできるように Target タイプを変更することもできます。 

  11. [Sequencer (シーケンサ)] の ThirdPersonCharacter トラックで [CharacterMesh0] を追加します。 
    NewEventTrack_11.png

  12. [CharacterMesh0] の [+ Track] ボタンをクリックして、 [Event] トラックを追加します。 
    NewEventTrack_12.png

  13. イベント トラックのフレーム 60 にキーを追加して、それを右クリックして、 [Properties] > [Create Quick Binding] で、 [SetAllBodiesSimulatePhysics] を選択します。 
    NewEventTrack_13.png
    このイベント トラックのオブジェクト バインディングはスケルタル メッシュ コンポーネントなので、スケルタル メッシュに関連する Quick Bindings にアクセスできるようになります。 この関数を選択すると、自動的にノードがイベント エンドポイントに追加され、グラフが開きます。 

  14. [New Simulate] をオンにして、[New Type] に [Collision Enabled (Query and Physics)] が設定されている [Set Collision Enabled] ノードを追加します。 
    NewEventTrack_14.png
    スケルタル メッシュに物理シミュレーションを指示し、床を突き抜けないようにコリジョンをオンにします。 

  15. シーケンサの ThirdPersonCharacter で、[+ Track] ボタンをクリックして、CharMoveComp トラックを追加します。 NewEventTrack_15.png

  16. CharMoveComp の イベント トラックを追加し、フレーム 60 にイベント キーを追加して、Quick Binding で、[DisableMovement] を呼び出します。 NewEventTrack_16.png
    ここでは Character Movement Component をターゲットにして、イベントを使用して、キャラクタの物理シミュレーションを実行しながら、動き回る機能を無効にします。 

  17. [Play (プレイ)] ボタンをクリックしてエディタでプレイします。

まとめ

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

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

詳細については、「イベント トラックの概要」を参照してください。

Select Skin
Light
Dark

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

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

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

フィードバックを送信