Continue
Continue
在 `Loop` 循环内部,跳过当前迭代余下的逻辑,直接开始下一次迭代。功能等同于编程语言中的 `continue;` 关键字。
Core Advantages
它通过提供一种清晰、直观的方式来跳过迭代,从而简化了循环逻辑,避免了使用复杂、嵌套的 `If` 语句。这使得节点图更整洁,并能生成高效的原生 GLSL `continue;` 代码。
Common Uses
在程序化图案生成中,根据条件跳过某些单元格的绘制。
在光线追踪中,如果光线不在任何表面附近,则跳过当前步进。
在粒子系统中,跳过对已消亡或未激活粒子的更新计算。
How to adjust
Continue 节点本身不可配置,因为它不接受任何参数。它的行为完全由触发它的 `If` 条件决定。调整该条件会决定何时跳过一次迭代,例如,改变判定一个粒子是否“死亡”的生命周期阈值。
Code Examples
1Loop( { end: PARTICLE_COUNT }, ( { i } ) => {
2
3 const particleLifetime = particleData.element( i ).a;
4
5 // 如果粒子已死亡,则跳过本次循环的所有更新逻辑
6 If( particleLifetime.lessThanOrEqual( 0 ), Continue() );
7
8 // ... 否则,继续执行复杂的粒子位置和颜色更新
9
10} );