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 Array Item」ノードを使って配列から変数を一つ取り出します。

「RANDOM」と書かれていますが、ノード名としては「Random Array Item」になるようです。
Stream 版の「Random Array Item From Stream」もあります。
実際にとりだしてみる処理を書きました。

配列のサイズの回数、配列からランダムにひとつ変数を取り出して表示する。
といったものになります。
結果はこんな感じに。

ちゃんとランダムに取得されているようです。
気を付けなければいけないのは、
完全にランダムなので重複したものも取得してしまうというところなので
偏りなどはあるかもしれません。
※上記結果は「StringD」が二回取得されていて、「StringC」は一度も取得されていません。
ここらへん、ランダムかつ重複しないようにというのであれば
何かまた考えたほうが良いかもしれません。
配列が空の時はNoneと-1を返すようですね。
※この機能は 4.26 以降で使うことができます。
こちらの記事を参考にさせていただきました。
・UE4 - UE4.26の新機能から便利そうなものをピックアップして紹介(Blueprints, UMG周りのみ)
https://kumasan-debug.hatenablog.com/entry/2020/12/08/100928
記事内で以下のように書かれています。
配列の要素をランダムにひとつ取得する関数
「Random関数」「RandomArrayItemFromStream関数」を追加
というわけで使ってみました。
まずは配列変数を用意しました。


これを「Random Array Item」ノードを使って配列から変数を一つ取り出します。

「RANDOM」と書かれていますが、ノード名としては「Random Array Item」になるようです。
Stream 版の「Random Array Item From Stream」もあります。
実際にとりだしてみる処理を書きました。

配列のサイズの回数、配列からランダムにひとつ変数を取り出して表示する。
といったものになります。
結果はこんな感じに。

ちゃんとランダムに取得されているようです。
気を付けなければいけないのは、
完全にランダムなので重複したものも取得してしまうというところなので
偏りなどはあるかもしれません。
※上記結果は「StringD」が二回取得されていて、「StringC」は一度も取得されていません。
ここらへん、ランダムかつ重複しないようにというのであれば
何かまた考えたほうが良いかもしれません。
#UE4Study
— 恒吉星光 (@seiko_dev) March 23, 2021
配列からランダムに1個選ぶ奴、関数があるんですね(4.26で確認)。配列が空の時はNoneと-1で返してくれます。
(そっと自作便利関数ライブラリから何かを消す) pic.twitter.com/C4R0gr4FzW
配列が空の時はNoneと-1を返すようですね。
| UE4 | 10:00 | comments:0 | trackbacks:0 | TOP↑