我让这个卷争设置通过一个.png序列运行,并从颜色上升到密度值的地方生成一个卷。
int f = 15;
int count = 0 + int(@P.z * f);
string num = sprintf('%02d', count);
string folder = chs('folder');
string file = chs('file');
string path = folder + file + num + '.png';
vector uvw = v@P;
vector color = colormap(path, uvw);
@density = color.x;

对于漫射色,可以做同样的事情吗?我读过关于@Cd表达式的文章,但当我尝试它时,它什么也没做。
发布于 2022-04-22 17:25:27
所以Houdini的向量属性和卷有点棘手。重要的是要了解Houdini实际上并没有向量类型的卷,只有浮体。但是,如果您创建了三个卷/VDBs,并使用了命名约定,如name.x/r/u、name.y/g/v、name.z/b/w,那么卷wrangle之类的节点就会将它们作为一个向量值来处理,以便方便。
您需要创建名为Cd.r、Cd.g、Cd.b的三个不同的卷/VDBs,然后根据需要为它们分配颜色值。你也需要一个密度的体积。把它想象成一个RGBA图像,Cd.rgb是颜色值,密度是alpha。
一旦有了这些卷,就可以使用卷可视化节点中的通配符将Cd映射为彩色。
下面是一个快速的示例图:

以下是创建的卷:

在卷可视化节点中,需要将“密度字段”设置为“密度”,将“扩散字段”设置为Cd.*,并将所有其他默认设置为:

然后,您将看到Cd卷的颜色值可视化:

我还对VDB进行了测试,并以完全相同的方式工作。
PS:如果您只是创建"2D“卷(即厚度为1个体素),您可以使用COP2网络节点的输出并将其方法设置为Volume,然后使用COP2网络中的COP节点加载图像。
https://stackoverflow.com/questions/71902657
复制相似问题