理解ZENO中的循环


两种循环方式

1.BeginFor+EndFor为自定义循环次数的循环。其中count里面的数值确定循环次数。Index端口输出循环的变量值,第一次循环为0,第二次循环为1,第三次循环为2……以此类推。一个完整的循环操作必须是BeginForFor输出端口和EndFor输入端口相连。

2.BeginForEach+EndFor为对列表内物体进行循环操作。操作之前需要输入一个List列表。列表内物体的数量决定循环的次数。

自定义次数循环

1.通过CreateCube节点得到一个基础的正方体盒子,size设置为0.2.通过TransformPrimitive控制它的变换,创建PackNumericVec连接给translation

2.创建BeGinFor节点。Count输入10,代表执行10次循环体内的节点运算。将Index输出端口连接给PackNumericVecx输入端口。这样,每次循环的时候正方体盒子的X位置都有一个1的偏移。

3.最后创建EndForEachobject连接TransformPrimitiveoutPrim.For连接BeGinForFor。点击运行按钮,我们就可以看到视图上出现了10个盒子物体,并且每个距离都不一样,都有一个平均的X方向排列。

4.由于EndForEach最后list端口输出的是一个列表。如果想对循环后物体做整体的操作,还需要再添加一个PrimMerge节点然后执行其他的操作。

列表循环

1.分别创建正方体、圆锥体和圆柱体,并且通过MakeList合并到列表内。

2.创建BeginForEach,将列表与List相连。objectFor分别与EndForEachobjectFor相连。此时我们看到模型并没有改变,因为我们在循环内部没有进行任何操作。

3.在循环内部通过PrimitiveAddAttr添加clr颜色属性,FillValue填充的数值连接给PackNumericVec,其X值引用BeginForEachindex.我们就会发现三个模型的颜色有了变换,从黑色到红色再到更红的颜色。


caofei 2022年6月27日 14:41 收藏文档
None
None
None
None
None