Houdini 101/Houdini 工作原理
在 Houdini 中建模包括创建数据流程序。例如,如果你想要一条线,你不会直接绘制一条线。相反,你会创建一个数据流程序来绘制一条线。这些程序以节点网络的形式存在。
网络由以层次结构组织的节点组成,并通过线连接起来。节点有两种类型:运算符节点和容器节点。运算符节点执行操作,而容器节点仅限于包含运算符节点。节点的层次结构是使用容器节点创建的。每个容器节点内部可能包含一个或多个运算符节点,以及其他容器节点,它们全部通过线连接起来,以实现某种结果。
烹饪 是将信息驱动通过网络的过程,从运算符的输出到与其连接的运算符的输入,以创建和动画场景。默认情况下,烹饪是交互式的,因此每次你进行更改时,所有受影响的节点都会重新烹饪。
节点的层次结构就像计算机上的文件夹系统。你可以使用路径来导航层次结构,例如:/a/b/c
。在这种情况下,路径从根开始,由第一个 /
表示。有一个名为 a
的容器,它包含另一个名为 b
的容器,它包含一个名为 c
的节点(可能是运算符或容器)。你也可以使用相对路径,使用 ..
表示向上移动一级,而 .
表示我当前所在的位置。例如,c
的容器是 b
,因此如果你位于 c
,你可以这样指向它的容器:./..
。
节点的容器称为其父节点。容器内部的节点称为其子节点。所有节点都只有一个父节点。容器节点可以有零个或多个子节点,但运算符节点不能有任何子节点。
有许多不同的容器类型用于收集一起执行许多惊人操作的运算符。顶层容器(在第一个 /
之后直接)具有固定的名称,不能更改。Houdini 中的命名最初会让人感到非常分散,但你很快就会习惯它。它们是:
/obj
- OBJ 网络
- 包含 几何体容器(称为表面运算符网络或 SOP 网络),这些容器反过来包含场景中的实际几何体,这些几何体是使用表面运算符创建的。
/part 粒子运算符网络或 POP 网络包含用于创建粒子系统的运算符。
/img 合成运算符网络或 COP 网络包含用于操作二维像素数据的运算符。
/out 渲染运算符网络或 ROP 网络包含用于渲染的运算符。
/dynamics 动态运算符网络或 DOP 网络包含用于创建动态系统的运算符。
/shop : 着色运算符网络或 SHOP 网络包含用于着色和材质的运算符。
/ch : 包含用于操作图表的运算符 /vex : 包含一些非常高级的东西