[Houdini] Chop和Sop的数据互通
Sop里的几何体数据是各种属性,P,Cd,pscale等,有vector形式,也有float形式。
Chop里的数据是一条条带有名字的通道,或者说线条。
两者间的数据转换就是比如把P属性的x,y,z转换成3条线,或者把反过来把3条线转换成P的x,y,z。
转换方式有animated和static两种,在各种教程中一般都是用animated方式,默认选项是static。这篇文章只讨论animated方式。animated方式大概就是数值随时间变化的一个曲线。见下两张图


Chop里的数据传送到Sop:
方式1:在Chop里用export节点可以指定通道,指定sop里的节点,和这个节点上的参数,把数据添加到参数栏。
用add做一个点,鼠标移动到参数栏,可以看到这个节点的位置参数通道名字分别叫做pt0x,pt0y,pt0z。

在Chop里用noise做3条线。

用export节点传递数据。

方式2:在Sop里用channel节点接收Chop里的数据。
这种方式和上面不一样,上面是把Chop数据写到节点的参数栏,这种是把数据写到属性。比如一个box有8个点,我们想用noise驱动点的位置,P有3个分量,所以在Chop里需要8乘以3,24个通道。而且通道的名字后要加数字,用来对应点序号。
用add建立一个点。
在Chop里建3个noise线条,t[xyz]0的写法相当于tx0 ty0 tz0,这是3个线条或者叫通道的名字。

在Sop里的add下连接一个channel节点,指定通道名和属性名。

Cd属性或者其他属性也可以,前期是这个属性存在。

方式3:或者在Motion View里把名字直接托到参数栏。自动创建表达式。

方式4:打开Chop里节点本身的export。

这种方式要求有明确的节点路径和通道名称。




Sop的数据传送到Chop:

Chop里的gemetry节点可以把几何体的属性转换成通道。


