For (LogiXノード)
For | ||
---|---|---|
Inputs | ||
Impulse | Run | |
Int | Count | |
Bool | Reverse | |
Outputs | ||
Impulse | LoopStart | |
Impulse | LoopIteration | |
Impulse | LoopEnd | |
Int | Iteration |
Forノードは、Run
へインパルスを入力したときに、LoopIteration
出力から特定の回数だけインパルスを出力するために使用されるノードです。
使用方法
Count
入力は、LoopIteration
出力から何回インパルスが出力されるかを決定するものです。この値は、LoopStart
インパルス連鎖が完了した直後、LoopIteration
からインパルスが出力される前に評価されることに注意してください。
Reverse
入力は、Iteration
出力値をLoopIteration
ごとに増加させるか減少させるか制御します。デフォルトはFalseで、Iteration
は動作するたびに増加します。
LoopStart
出力は、Run
へインパルスを入力した後、1回インパルスを出力します。インパルス連鎖は、LoopIteration
からインパルスが出力される前に完了します。
LoopIteration
の出力は、インパルスを順次出力し、出力した総数が Count
入力と等しくなるまで続けます。LoopIteration
から始まる各インパルス連鎖は、次のインパルスが出力される前に完了します。
The LoopEnd
output fires an impulse once the final impulse chain started from LoopIteration
has ended.
The Iteration
output value is either incremented or decremented each time a new impulse is fired from LoopIteration
, depending on the value of Reverse
. If Reverse
is False, Iteration
is incremented each time an impulse is fired from LoopIteration
starting with the value 0, during the first iteration, and ending with Count
- 1 on the final iteration. If Reverse
is True, the Iteration
value is Count
- 1 on the first iteration and decremented each time down to 0 on the final iteration.
Note that all impulse chains started from this node effectively continue the one which arrived at Run
, meaning that any temporary values from previous nodes are still available. All iterations from LoopIteration
complete within a single frame update and therefore this can produce framerate hitches if an excessively demanding computation is performed. There is a failsafe which will put this node into an error state (node visual turns red) if a frame is delayed excessively - this helps prevent complete freezes.