Unreal Engine 5(UE5)では、配列を使用してデータを管理することが多くあります。その中で、配列からランダムに重複しない要素を指定した数だけ取得する方法は、ゲーム開発において非常に便利です。

本記事では、Blueprint(BP)を使用して、配列からランダムに要素を取得する方法を詳しく解説します。

方法1:Shuffleノードを使用する

最も簡単な方法は、Shuffle(シャッフル)ノードを使うことです。このノードを使用すると、配列の順番をランダムに入れ替えることができます。

手順は以下の通りです。

1. 配列を用意する。

2. 「Shuffle」ノードを使用して、配列の要素をランダムに並び替える。

3. 「Get(配列の要素を取得)」ノードを使い、指定した数だけ要素を取得する。

方法2:ランダムインデックスを生成して取得する

Shuffleを使わずに、ランダムなインデックスを生成して取得する方法もあります。

手順は以下の通りです。

1. 取得する要素の数を指定する。

2. 配列の長さを取得する。

3. 「Whileループ」を使用し、ランダムなインデックスを生成する。

4. すでに選ばれたインデックスを記録し、重複しないように管理する。

5. 取得した要素を新しい配列に格納する。

方法3:一時配列を作成してランダム取得する

もう一つの方法として、一時的な配列を作成し、そこからランダムに要素を取得する方法があります。

手順は以下の通りです。

1. 元の配列をコピーして新しい配列を作成する。

2. 取得した要素を一時配列から削除する。

3. これを指定した回数だけ繰り返し、必要な数の要素を取得する。

まとめ

UE5のBlueprintを使うことで、配列からランダムに重ならない要素を取得する方法は複数あります。「Shuffleノード」を使う方法、「ランダムインデックスを生成する方法」、そして「一時配列を作成する方法」です。

用途に応じて最適な方法を選び、ランダムな要素取得を実装しましょう!