Unreal Engine 5(UE5)では、ブループリントを使ってアクターを動的にスポーン(Spawn)することができます。しかし、Spawnしたインスタンスが特定のイベントを実行するには、適切な設定が必要です。
本記事では、スポーンされたアクターが自動的にイベントを実行する方法について詳しく解説します。
1. スポーンするアクターを作成する
まず、スポーンするアクターを作成します。
1. UE5のエディタで「新規ブループリントクラス」を作成する。
2. 親クラスを「Actor」に設定する。
3. 作成したブループリント(例:「BP_SpawnedActor」)を開く。
このアクターにイベントを設定し、スポーン時に実行できるようにします。
2. スポーン時に実行するイベントを作成する
次に、スポーン時に実行されるイベントを作成します。
1. 「イベントグラフ」を開く。
2. 「イベントBeginPlay」を追加する。
3. ここに処理を追加する(例:ログ出力、エフェクト再生、移動開始など)。
例えば、スポーン時にコンソールにログを出力する場合:
- 「Print String」ノードを追加し、文字列「Spawned Actor Started!」を設定。
3. スポーンする処理を実装する
次に、別のブループリント(例:「BP_Spawner」)から「BP_SpawnedActor」をスポーンする処理を作成します。
1. スポーン元のブループリントを開く(例:「BP_Spawner」)。
2. 「Spawn Actor from Class」ノードを追加する。
3. 「Class」に「BP_SpawnedActor」を設定する。
4. スポーンされたインスタンスを変数に保存する。
4. スポーン後にカスタムイベントを実行する
スポーンしたインスタンスに、特定のイベントを実行させる方法を解説します。
1. BP_SpawnedActorに新しい「カスタムイベント」を作成する(例:「CustomEvent」)。
2. BP_Spawnerでスポーンした後、「カスタムイベント」を呼び出す。
具体的なブループリントの流れ:
- 「Spawn Actor from Class」ノードの「Return Value」から「カスタムイベントを呼び出す」。
5. イベントディスパッチャーを使った応用例
さらに高度な方法として、イベントディスパッチャーを使用すると、スポーン元とスポーンされたアクターが連携できます。
1. BP_SpawnedActorに「イベントディスパッチャー」を作成する。
2. スポーン元のBP_Spawnerで「Bind Event to Dispatcher」を設定する。
3. BP_SpawnedActorのイベント発生時に、BP_Spawnerで処理を実行する。
これにより、スポーンしたアクターのイベントを他のオブジェクトと連携させることができます。
6. まとめ
本記事では、スポーンしたインスタンスがイベントを実行する方法について解説しました。
- スポーンするアクターを作成し、イベントBeginPlayで自動実行。
- カスタムイベントを作成し、スポーン後に実行可能にする。
- イベントディスパッチャーを使い、スポーン元と連携。
この知識を活用して、ゲームの動的な要素を実装してみてください!