Overview 概述
Normally, Houdini processes the nodes in a geometry network from top to bottom, feeding the output of each node into the input of the next node, down to the node with the display or render flag. However, there are times when it’s useful to do looping: running the same chain of nodes multiple times.
There are three main uses for looping:
有三种主要的循环方式:
You want to process the input geometry over and over again.
For example, you might want to add multiple layers of noise, or create complex procedural geometry by extruding all faces multiple times.
第一种,反复对输入几何执行运算。例如,你想添加多个nosie层,或多次挤压表面创建复杂的程序化几何。
You want to process each piece of the input geometry.
For example, you might want to apply the same edits to each rock in some rubble.
第二种,对输入几何体的每个部分都执行运算。例如,你可能想应用同样的操作在每一块岩石上。
You want to process one geometry using each piece of another geometry.
The classic example of this is the “Swiss cheese problem”: you want to loop over each sphere in the set of air bubbles and subtract it from a block of cheese.
第三种,使用一个几何体的每一部件对另一几何体执行相同运算。经典案例“瑞士奶酪问题”:你想循环执行空气泡泡中的每一个球体从奶酪中去除。
The “For Loop” and “For Each Loop” tools in the network editor tab menu set up Block Begin and Block End nodes, where the nodes between the begin and end are looped. These tools are meant to be easier to use than previous looping solutions in Houdini, the For Each subnet and Solver SOP.
在网络编辑器面板中的“For Loop”与“For Each Loop”工具设置Block Begin与Block End 节点,位于其间的节点会被循环操作。这些工具比之前Houdini版本中的循环解决方案ForEach子网络与Solver SOP简单些。
1.In the network editor, open the Tab menu and choose “For loop”.
1.在网络编辑器中,按Tab,选择“For loop”。
The tool will create a Block Begin and Block End node wired together. The Block Begin has the Method parameter set to “Fetch feedback”, meaning it will start each loop after the first with the output of the previous loop.
这个工具会创建一个将Block Begin 与 Block End连接在一起的节点。在Block Begin节点中有Method 参数设置“Fetch feedback”,意为着它将循环第一次之后的每一次输出结果。
2.Select the Block End node and set the Iterations parameter to the number of times you want the loop to run.
2.选择Block End节点设置Iterations参数指定你想要循环的