Houdini 中文帮助文档

ForEach    

重复的给输入的几何体运用一个SOP集对象。

Note

Houdini12引入了Solver SOP。 Solver SOP 可以更直接的给几何体运用SOP网络。

此节点有两个主要的函数:

For Each Group/Attribute:将输入的几何体打成碎块(根据每个组,或属性值),并在每个碎块上运行SOP。最终结果会在输出端合并到一起。

For Each Number: 重复SOP集的操作,直到满足了指定的次数,反馈每次迭代计算的结果到输入端。

这些效果可以利用 Each SOP的帮助来完成,其可以出来几何体的挑选,或咨询反馈的几何体。在Subnet内,每个Each SOP后面添加一个新的SOP节点。

可以使用多个 Each SOPs,或直接不使用 Each SOPs,而是使用 stamp表达式来达到同样的复杂效果。

ForEach SOP在各种情况下都可以作用于Primitive组,或Primitive属性。其它组或属性首先会被提取到Primitive级别(在其被使用之前)。另外, For Each Number 可以用于手动的执行 For Each Group 或For Each Attribute 行为。

Tip

如果你嵌套 ForEach SOPs ,你需要改变stamp 名称。

Parameters

For
Each Group定义输入几何体中,匹配该组遮罩的所有的Primitive组。给每个组运行一次所饱和度 SOP(使用stamp来设置组名)。
Each Attribute Value对于给定的Primitive属性,第一输入几何体上,有多少唯一值。给每个唯一属性值运行所包含的SOP,使用stamp设置该属性。容差值用于定义哪些会被认为是唯一的。
Each Number给每个给定标号范围的数运行一次所包含的SOP。如果标号范围无效,运行0次。
Each Primitive/Point给每个第一输入端中的Primitive运行一次所包含的SOP,利用Stamp设置Primitive标号。
Stamp Name在每个 For Each SOP的迭代计算中,迭代的当前只会被设置到该变量上。如果其是一个矢量值的属性,stamp的名称会带有后缀1,2,3(用于矢量的元素)。
Stamp Index Name当前foreach通道会被传输到此变量中。stamp通道以0为开始。
Group Mask输入几何体中任何匹配该样式的组,都会被重复的放入到for each组模式中。可以使用*,?这样的通配符。
Attribute当使用For Each属性值时,用于检测唯一值的Primitive属性名。
Tolerance允许有不同但仍然会被认为是用于特定属性标志的容差范围。
Number Range指定要处理的起始,结束帧,以及递增值。
Max Iterations设置最大的计算次数。
Merge Results定义是否将每次计算的输出结果合并到一起。如果没有,会使用最终计算的结果。
Apply to Points而非给Primitive组,Primitive属性,Primitive标号等运用 foreach 循环,其会被运用到点组,点属性,点标号上。

如果你使用Merge Results 来执行这个,你会丢失Primitive对象,因为只有点可以从每个SOP中提取出来。

Stop Condition终止条件,会在stamp一个新的值后,执行迭代计算前,计算此参数。如果是1,循环会被终止。如果是0,循环继续。

如果终止条件导致没有迭代计算的执行,那么输入的几何体会被直接拷贝。

Inputs

Input to Detect Groups/Attributes From当在 For Each Group 或For Each Attribute 模式下时,会计算第一个输入端来定义匹配的组,或可能的属性值。
Auxiliary Input附加输入端可以用于将额外的几何体引入到For Each SOP范围中。
点击分享到: