BLOGブログ

2018.06.19UE4UE/ BlueprintUE/ Sequencer

[UE4]レベルシーケンサーから任意アクターのカスタムイベントを実行する

今回の記事では、レベルシーケンサーからEvent Receiverを使ってアクターのカスタムイベントを実行してみます(UE4.16以降)。

レベルシーケンサー(やマチネ)ではEvent Trackを使えばレベルブループリントのカスタムイベントを呼ぶことができました。ただ、アクターのカスタムイベントは直接呼ぶことができないため、間接的にレベルブループリントなどを経由する必要があります。

Event Trackでレベルブループリントのカスタムイベントを呼べるのはとても便利ですが、そうなるとレベルブループリントが込み入ってしまいます。そこで、レベルシーケンサーのEvent Receiverという機能を使ってアクターのカスタムイベントを直接実行してみましょう。

まず、新規にレベルを開き、アクターブループリントとレベルシーケンサーをレベルに配置します。

レベルシーケンサーを選択して、ディテールパネルからAdditional Event Receiversの+を押してスロットを追加し、レベルに配置したブループリントを登録します。ここで登録したブループリントのカスタムイベントを実行できるようになります。

また、最後にプレイして確認するために、AutoPlayのチェックを入れておきました。

次にレベルシーケンサーを開き、Event Trackを追加します。

併せて、レベルに配置してReceiverに登録したアクターもトラックとして追加しておきます。

そして、Event Trackを右クリックし、プロパティのTrack Eventにアクターを登録します。シーケンサーに追加したトラックから選択できますので、Event Receiverとして登録したアクターが選択できない場合は、シーケンサーのトラックに正しく追加されているかご確認下さい。

 

では、アクターを開きカスタムイベントを作ります。

シーケンサーからは名前でコールするので、イベント名(ここでは[CustomEvent])をコピーしておきましょう。

 

最後に、シーケンサーに戻りEvent Trackにキーを打ちます。

キーを右クリックしてプロパティからEvent Nameとしてカスタムイベント名を入力します。

プレイやシミュレートしてみましょう。

アクターのカスタムイベントが実行されました。

なお、シミュレートの場合は、シーケンサーのタイムスライダーをスクラブしてキーを通過するだけでイベントが実行されます。ちょっとした確認に使えるかもしれません。

レベルブループリントにいろいろ書かなくて済みますね。便利だねー