Unreal Engine 5(UE5)では、TargetPointアクターを使って、特定の位置を示すことができます。これを利用すると、敵のスポーン位置やプレイヤーの移動ポイントなどを簡単に設定できます。しかし、複数のTargetPointがある場合、それらを特定のタグで区別し、必要なものだけを取得したいことがあります。
本記事では、UE5のブループリント(BP)を使って、タグを利用してTargetPointを取得する方法を詳しく解説します。
1. TargetPointにタグを設定する
まず、レベルに複数のTargetPointを配置し、それぞれにタグを設定します。タグを設定することで、特定のカテゴリに属するTargetPointを識別しやすくなります。
以下の手順でタグを追加します。
1. レベル内にTargetPointを追加する。
2. Detailsパネルを開く。
3. 「Actor」カテゴリ内にある「Tags」セクションを探す。
4. 「+」ボタンをクリックして新しいタグを追加する。
5. 例えば「EnemySpawn」や「PlayerStart」といった名前をタグとして設定する。
このようにしてタグを設定すると、後でブループリントで特定のタグを持つTargetPointだけを取得できるようになります。
2. タグ付きTargetPointを取得するブループリントの作成
次に、タグを利用してTargetPointを取得するためのブループリントを作成します。以下の手順で進めます。
1. レベルブループリントまたは新しいアクターのブループリントを作成する。
2. イベントグラフで「Event BeginPlay」を追加する。
3. 「Get All Actors with Tag」ノードを追加する。
4. 「Tag」入力に、取得したいTargetPointのタグ(例:「EnemySpawn」)を設定する。
5. 「Return Value」には該当するアクターのリストが格納される。
6. リストの最初の要素を取得する場合、「Get」ノードを使用する。
7. 取得したアクターを使用して、位置情報を取得する(「Get Actor Location」ノードを使用)。
この手順を実行すると、特定のタグを持つTargetPointを取得し、その位置を利用できます。
3. 取得したTargetPointを活用する
タグを利用して取得したTargetPointは、さまざまな用途に活用できます。例えば、敵のスポーン位置として使用する場合、以下のような処理を追加できます。
1. 取得したTargetPointの位置を取得。
2. その位置に敵キャラクターをスポーンさせる(「Spawn Actor from Class」ノードを使用)。
3. 取得した位置をデバッグ表示するために「Draw Debug Sphere」ノードを使って視覚化する。
例えば、敵キャラクターをスポーンさせるブループリントは以下のようになります。
1. 「Spawn Actor from Class」ノードを追加。
2. 「Class」にスポーンさせたい敵キャラクターのクラスを指定。
3. 「Spawn Transform」の「Location」に、取得したTargetPointの位置を設定。
これにより、指定したタグを持つTargetPointの位置に敵がスポーンします。
4. 応用例:ランダムなTargetPointの選択
複数のTargetPointを設定し、それらの中からランダムに一つを選んで使用する場合は、以下のようにします。
1. 「Get All Actors with Tag」ノードでタグ付きのTargetPointを取得。
2. 取得したリストのサイズを取得(「Length」ノードを使用)。
3. 「Random Integer in Range」ノードを使用し、ランダムなインデックスを選択。
4. 「Get」ノードを使用してランダムなTargetPointを取得。
この方法を使えば、敵のスポーン位置をランダムに変更することが可能になります。
5. まとめ
UE5のブループリントを使えば、TargetPointにタグをつけて簡単に取得し、様々な用途に活用できます。タグを使うことで、特定のカテゴリのオブジェクトを素早くフィルタリングし、適切に処理することができます。
今回紹介した方法を使えば、敵のスポーン位置の管理や、プレイヤーの移動ポイントの設定など、多くのシーンで活用できるでしょう。ぜひプロジェクトに応用してみてください。