欢迎光临散文网 会员登陆 & 注册

Houdini学习笔记008

2022-07-29 09:26 作者:独孤嘌呤  | 我要投稿

虽然Houdini中的属性节点很容易可控地实现复杂效果,但我还是先尽量讲些容易理解的内容。比如在之前的C4D【例54】中(见我的微信公众号“3D科研绘图”-C4D科研模型100例系列)讲解的这个颗粒镶嵌模型,一开始就是用Houdini完成的。


思路很简单,基本就是对象体积的扩张以及不同布尔方式的结合。下图可以帮助理解整个过程:(1)在大球表面散布小球;(2)扩张后求交集,定义为a;(3)分别用原来的大球减去交集a,交集a减去原来的小球;(3)合并后平滑。


这里我们先用“scatter”节点在大球表面撒点,数量(Force Total Count)不用太多,如20。其余参数先保持默认。


然后用之前学过的“copy to points”节点在点的位置拷贝小球,小球的大小可自行定义。大球和小球的类型都可以选择polygon,“frequency”设置高一点,如5~6。


接下来就是体积变化的操作,用到的都是VDB相关的节点,包括“vdb from polygons”、“vdb reshape sdf”、“vdb combine”、“vdb smooth”、“convert vdb”等。无非就是将多边形转为vdb,然后对vdb进行塑造,最后再转回到多边形。我们先用“vdb from polygons”将不同大小的球体分别转为vdb,“Voxel Size”可适当降低,如0.02。该值相当于C4D中体素尺寸,值越小,意味着空间划分越细,分辨率越高。


然后添加“vdb from sdf”节点进行扩张,扩张值“Offset”暂时默认为1。可以看到球体形成的vdb略有膨胀。


接着用“vdb combine”节点对得到的两组vdb求交集,“Operation”选择SDF Intersection,结果如下图所示。


现在进行到第三步,用vdb交集分别和原来的大球和小球求差集,“Operation”方式选择SDF Difference。注意用体积大的(A)减去体积小的(B)。这里的vdb节点有好几个,选择的时候不要选错了。


最后再用一个“vdb combine”将两组vdb结合,“Operation”选择SDF Union。之后添加“vdb smooth”节点使整体平滑。


“Convert vdb”节点可以将vdb转为多边形,“Convert to”选择polygons即可。


调节两个“vdb reshape sdf”节点的“offset”值即可改变凹坑边缘凸起的形状,一个改变宽度,一个改变高度。


如果要同时显示最终的大球和散布的小球,可以使用“merge”节点,merge之前可分别设置颜色(使用color节点)。整个模型就创建完成了,通过调节“scatter”节点可以很容易改变小球的分布和数量。


今天的分享到此为止,感谢各位的阅读,下见!

Houdini学习笔记008的评论 (共 条)

分享到微博请遵守国家法律