シーケンサー 経由でシネマティックをプレイするとき、スクリプトによる機能を起動するイベントを発生させる時点をコントロールするインスタンスがあります。 シネマティックの特定のポイントでドアを開いたり、パーティクル エフェクトをスポーンしプレイする、なんらかの方法でプレイヤーを調整したい場合、イベント トラック があると、イベントを呼び出したいフレームにシネマティックで正確にキーを追加することができます。
シーケンサー トラックを使用すれば、ブループリントにアクセスする必要なくイベントを追加することができます。オブジェクトに複数のイベントを追加したり、単一のイベントに複数のオブジェクト バインドを追加することができます。 ブループリントを開けば、1 つのイベントに複数のパラメータを追加することもできます。詳しい情報については「イベント トラックの概要」をご覧ください。
このチュートリアルでは、イベント トラックを使用して、キャラクタが死亡したことを示すテキストを画面に表示します。同時に、プレイヤーの動きを無効化し、キャラクター上で物理シミュレーションを行います。
このチュートリアルでは、新規の「ブループリント サードパーソン」テンプレート プロジェクトを使用します。
キャラクターを設定する
まず、サードパーソン キャラクターを設定します。
-
コンテンツ ブラウザ で [Content] > [ThirdPerson] > [Blueprints] の順に選択し、BP_ThirdPersonCharacter を複製して別のフォルダに保存します。
画像をクリックするとフルサイズで表示されます。
-
BP_ThirdPersonCharacter1 をレベルにドラッグします。
画像をクリックするとフルサイズで表示されます。
-
[Details (詳細)] パネルで、[Auto Possess Player (自動所有するプレイヤー)] を [Player 0] に設定します。
画像をクリックするとフルサイズで表示されます。
-
メイン ツールバーから [Cinematics (シネマティックス)] ボタンをクリックし、[Add Level Sequence (レベル シーケンスを追加)] を選択します。
画像をクリックするとフルサイズで表示されます。
-
レベル内でレベル シーケンスを選択して [Details (詳細)] パネルから [Auto Play] オプションを有効化します。
画像をクリックするとフルサイズで表示されます。
-
レベルで BP_ThirdPersonCharacter1 選択して、[+ Track (トラックの追加)] ボタンを使用してシーケンサーに追加します。
画像をクリックするとフルサイズで表示されます。
-
レベルで BP_ThirdPersonCharacter1 を右クリックして [Edit] を選択します。
-
Right-click in the イベントグラフ を右クリックして カスタム イベント を検索して追加します。
画像をクリックするとフルサイズで表示されます。
-
カスタム イベント KillPlayerText を呼び出し、Print String ノードに文字列としてつなぎます。
画像をクリックするとフルサイズで表示されます。
-
KillPlayerText ノードを選択し、[Details (詳細)] パネルで [Inputs] を開きます。[+Add Parameter] を選択してノードに新しいパラメータを追加します。
画像をクリックするとフルサイズで表示されます。
-
ドロップダウンから String パラメータを選択して、パラメータ名を「 In String 」に変更します。Custom Event の In String 入力を Print String につなぎます。
画像をクリックするとフルサイズで表示されます。
イベント トラックを追加する
キャラクターを設定すると、キャラクターを無効にして Character ブループリントからテキストを印字するようにイベントを追加することができます。
-
[Sequencer (シーケンサー)] で、[ThirdPersonCharacter] トラックの [+ Track] ボタンをクリックして [Event] を選択します。
画像をクリックするとフルサイズで表示されます。
-
タイムラインをフレーム 149 にして、イベント トラックにキーを追加します。
画像をクリックするとフルサイズで表示されます。
-
追加したキーを右クリックして、[Properties (プロパティ)] から [Unbound] ドロップダウンを選んで Create a Quick Binding を追加します。
-
Quick Bind で Set All Bodies to Simulate Physics を検索します。Payload の New Simulate に必ずチェックを入れます。
画像をクリックするとフルサイズで表示されます。
画像をクリックするとフルサイズで表示されます。
-
2 つめのイベント トラックを追加し、Quick Bind for Disable Movement に Quick Bind を追加します。
画像をクリックするとフルサイズで表示されます。
-
3 つめのイベント トラックを追加し、さきほど追加した Kill Player Text を呼び出すための Quick Bind を追加します。Payload の In String テキストボックスに「GAME OVER!」と入力します。
画像をクリックするとフルサイズで表示されます。
画像をクリックするとフルサイズで表示されます。
-
文字列キーをタイムラインの他の 3 か所に [ALT] キーを押しながらドラッグ します。最初のキーの文字列を「3」、2 つめのキーを「2」、3 つめのキーを「1」に変更します。
画像をクリックするとフルサイズで表示されます。
基本的に、GAME OVER! 文字列テキストに対してカウントダウンします。
-
いずれのキーの Event Properties から 虫眼鏡 アイコンをダブルクリックして Sequence Director ブループリント を開きます。
画像をクリックするとフルサイズで表示されます。
または、イベントキーのダブルクリックする、あるいは [General Options (オプション全般)] > [Open Director Blueprint (Direct ブループリントを開く)] へ移動します。
-
In Bone Name はイベントへのリンクを必要としません。切断して Pass-by-Reference を False に設定します。Default Value を手動で 'root' に設定します。
画像をクリックするとフルサイズで表示されます。
-
SetCollisionEnabled ノードを Set All Bodies Simulate Physics に追加してタイプを Collision Enabled に設定します。Target ピンを Mesh ピンに接続します。
画像をクリックするとフルサイズで表示されます。
この設定により、キャラクターがオブジェクトを通過して落下するのではなく、オブジェクトに衝突します。イベントを作成するためにブループリントを使用する必要はありませんが、このケースのようにイベントに追加するにはブループリントが必要になります。
-
Play を押すと、キャラクターが死亡し、ビューポートの左上隅にテキストが表示される 150 秒のマークまでビューポート内を走り回ることができます。
左上隅に Mouse Control ラベルが表示されるとテキストが見えにくくなります。これをオフにするには、Editor Preferences > Level Editor > Play を開いて Show Mouse Control Label のチェックを外します。
最終結果
エディタでプレイすると、しばらくしてウィンドウの左上にテキストが表示され、キャラクターが地面に倒れて移動できなくなります。
シーケンサー内のオブジェクトにイベント トラックを追加すると Object Binding が作成され、イベントや関数を呼び出したり、バインドされているオブジェクトのプロパティにアクセスしたりすることができます。イベントトラックは、レベル ブループリント、UI ウィジェット ブループリント内のスクリプトを実行したり、ブループリント インターフェースを介して複数のブループリントと通信するために使用することもできます。