【houdini】带着uv进行模拟(冰激凌案例)

整个sop的路线图
在这里插入图片描述

前半部分:赋予材质并分离冰激凌球

在这里插入图片描述

一般模型是分部分的,比方说下面这个冰激凌的,分为5个部分。三个不同的冰激凌球和水和杯子。这些部分在houdini中被称为group。
在这里插入图片描述

用material节点一口气赋予5个group材质。

在这里插入图片描述
具体的材质的指定要到mat去
在这里插入图片描述

split将冰激凌球所对应的group分离出来
在这里插入图片描述

如果想要指定输出模型的大小,可以利用matchsize节点
在这里插入图片描述
最后赋予normal则得到了分离出来并赋予材质的冰激凌球
在这里插入图片描述

后半:传递属性到体积采样的点上

要点有二:

  1. 体积采样
  2. 属性传递
    在这里插入图片描述
    我们得到的模型其实都是只有表面薄薄的一层,所以要体积采样为点云。(采用pointsfromvolume节点)

但是uv等属性也只是表面一层,因此要用attribute transfer这个节点。这个节点能够通过邻域扩散的方式将表面的属性传递到体积内部。

额外的一点是:由于uv和法线都是位于vertices上的,所以要用attribute promote把他们转移到points上。
在这里插入图片描述
这里为了区分三个冰激凌球,还做了getgroupid的attribute wrangle。

对应的代码为

int gid=0;
string mp = s@shop_materialpath;

if(mp == "/mat/ice1")
{
    gid = 1;
}
else if(mp == "/mat/ice2")
{
    gid = 2;
}
else if(mp == "/mat/ice3")
{
    gid = 3;
}

i@groupid = gid;

s@shop_materialpath也是从attrib promote提升过来的。

最后输出的数据为
在这里插入图片描述
这些数据就是给模拟中输入的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值