今回の記事では、レベルシーケンサーからEvent Receiverを使ってアクターのカスタムイベントを実行してみます(UE4.16以降)。
レベルシーケンサー(やマチネ)ではEvent Trackを使えばレベルブループリントのカスタムイベントを呼ぶことができました。ただ、アクターのカスタムイベントは直接呼ぶことができないため、間接的にレベルブループリントなどを経由する必要があります。
Event Trackでレベルブループリントのカスタムイベントを呼べるのはとても便利ですが、そうなるとレベルブループリントが込み入ってしまいます。そこで、レベルシーケンサーのEvent Receiverという機能を使ってアクターのカスタムイベントを直接実行してみましょう。
まず、新規にレベルを開き、アクターブループリントとレベルシーケンサーをレベルに配置します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/01.png)
レベルシーケンサーを選択して、ディテールパネルからAdditional Event Receiversの+を押してスロットを追加し、レベルに配置したブループリントを登録します。ここで登録したブループリントのカスタムイベントを実行できるようになります。
また、最後にプレイして確認するために、AutoPlayのチェックを入れておきました。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/02.png)
次にレベルシーケンサーを開き、Event Trackを追加します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/03.png)
併せて、レベルに配置してReceiverに登録したアクターもトラックとして追加しておきます。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/04.png)
そして、Event Trackを右クリックし、プロパティのTrack Eventにアクターを登録します。シーケンサーに追加したトラックから選択できますので、Event Receiverとして登録したアクターが選択できない場合は、シーケンサーのトラックに正しく追加されているかご確認下さい。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/05.png)
では、アクターを開きカスタムイベントを作ります。
シーケンサーからは名前でコールするので、イベント名(ここでは[CustomEvent])をコピーしておきましょう。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/06.png)
最後に、シーケンサーに戻りEvent Trackにキーを打ちます。
キーを右クリックしてプロパティからEvent Nameとしてカスタムイベント名を入力します。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/07.png)
プレイやシミュレートしてみましょう。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/08.png)
アクターのカスタムイベントが実行されました。
なお、シミュレートの場合は、シーケンサーのタイムスライダーをスクラブしてキーを通過するだけでイベントが実行されます。ちょっとした確認に使えるかもしれません。
![](https://historia.co.jp/wp/wp-content/uploads/2018/06/09.png)
レベルブループリントにいろいろ書かなくて済みますね。便利だねー