(動画チュートリアル関連) ForLoopとは

ForLoop の使い方を簡単に教えてください。index の意味などが使用例とともに説明されると助かります。

:arrow_forward:関連する動画チュートリアル UE4 Blueprint Quickshot 12 - Random Streams (v4.7)

まず ForLoop を使わないで、hello を 5 回表示してから、最後に「5 回言いましたから」と表示するためのグラフを作ると、次のようになります。(エディタでプレイする時に、G キーを押すと実行されます。)

まったく同じ処理 (PrintString) を何回も配置するのは不合理なので、ForLoop を使って行うと次のようになります。

実行結果は次のようになります。

ForLoop を使うと、同じ処理を Loop Body (ループの本体) につなげてまとめられるためすっきりしています。このように Loop Body 実行ピンには繰り返したい処理を接続します。

繰り返しは、First Index (最初のインデックス) から Last Index (最後のインデックス) まで +1 しながら繰り返されます。つまり、この場合は、0 → 1 → 2 → 3 → 4 というように、0 から始まって +1 しながら 4 になるまで、それぞれのインデックスについて Loop Body につながっている処理が繰り返されます。つまり合計 5 回繰り返されています。「0~4 なので 4 回繰り返されている」ではありませんので注意してください。

なお、「インデックス」とはループの「回数を示す指標」くらいの意味です。また ForLoop の For とは、「それぞれのインデックスについて Loop Body につながっている処理が繰り返されます」と言った時の「について」に相当する語です。

5 回繰り返すのであれば、次のようにしてもまったく同じです。

上記例では、1 → 2 → 3 → 4 → 5 というように、1 から始まって +1 しながら 5 になるまで繰り返されます。これも合計 5 回繰り返されています。

Completed (完了) 実行ピンには、ループが完了した時に何か実行したいことがあれば接続します。なければ何も接続しません。上記例では、ループが完了したら「5 回言いましたから」と表示します。

Index の出力ピンは、その時点でのインデックスを何らかの形で利用できます。下の例では 1 から 10 までを加算するために利用しています。

:arrow_forward:関連する UE4 ドキュメンテーションブループリント ユーザーガイド フロー制御