首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将PNG序列转换为VDB,并在Houdini保留所有颜色

将PNG序列转换为VDB,并在Houdini保留所有颜色
EN

Stack Overflow用户
提问于 2022-04-17 14:20:21
回答 1查看 29关注 0票数 0

我让这个卷争设置通过一个.png序列运行,并从颜色上升到密度值的地方生成一个卷。

代码语言:javascript
复制
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表达式的文章,但当我尝试它时,它什么也没做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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节点加载图像。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71902657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档