fc2ブログ

凛(kagring)のUE5/UE4とゲーム制作と雑記ブログ

2016 年から UE4 / 2021年から UE5 を触り始めました。勉強したもののメモ用ブログです。ゲーム制作に関するメモや雑記とか色々あります。C++ での Qt、Unity もほんの少しあります。

2021年03月 | ARCHIVE-SELECT | 2021年05月

| PAGE-SELECT |

≫ EDIT

UE4 配列変数からランダムで変数を取り出す(Random Array Item、Random Array Item From Stream)

配列変数からランダムで変数を取り出す方法です。
※この機能は 4.26 以降で使うことができます。

こちらの記事を参考にさせていただきました。

・UE4 - UE4.26の新機能から便利そうなものをピックアップして紹介(Blueprints, UMG周りのみ)
https://kumasan-debug.hatenablog.com/entry/2020/12/08/100928

記事内で以下のように書かれています。

配列の要素をランダムにひとつ取得する関数
「Random関数」「RandomArrayItemFromStream関数」を追加


というわけで使ってみました。

まずは配列変数を用意しました。
配列をランダム取得001
配列をランダム取得003

これを「Random Array Item」ノードを使って配列から変数を一つ取り出します。
配列をランダム取得004
「RANDOM」と書かれていますが、ノード名としては「Random Array Item」になるようです。
Stream 版の「Random Array Item From Stream」もあります。

実際にとりだしてみる処理を書きました。
配列をランダム取得002
配列のサイズの回数、配列からランダムにひとつ変数を取り出して表示する。
といったものになります。

結果はこんな感じに。
配列をランダム取得000
ちゃんとランダムに取得されているようです。

気を付けなければいけないのは、
完全にランダムなので重複したものも取得してしまうというところなので
偏りなどはあるかもしれません。
※上記結果は「StringD」が二回取得されていて、「StringC」は一度も取得されていません。

ここらへん、ランダムかつ重複しないようにというのであれば
何かまた考えたほうが良いかもしれません。


配列が空の時はNoneと-1を返すようですね。

| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑

| PAGE-SELECT |