houdini pyro 碰撞的两种方法

2018-08-22  本文已影响0人  ACRN

1.在dop network中将pyro solver与staic solver或rigid body solver merge在一起

    这种方式最简单,直接用工具架就点出来了,之后在staic object中选择适当的collision的类型,不过这样会有个问题对于凹面的几何体并不能与pyro得到正确的碰撞(当然刚体之间碰撞是没有问题的),即使已经选择了concave方式。


2.在dop network中将碰撞场导入进来

这是比较实用方式的。其中有三种方式做出碰撞场:VDB,isooffset节点,fluid source节点。用source volume 将碰撞场导入进来同时将initialze设置成collision,同时注意sop中的volume导入到dop中 field的名字填写正确。这里需要注意一点是pyro 的解算精度决定了碰撞精度,因为碰撞场是作为 source volume 导入的,在smoke object里打开显示collision场,可以观察collision是否正确。


VDB方式制作碰撞场

    这是比较推荐的一种方式,因为VDB非常的快,我刚刚做了一个凹面几何体的场,VDB的速度是fluid sourc的几十倍。SDF field和density field是相反的,使用volume slice节点可以很直观的看出来,所以在source volume中的scale source volume需要改成负值。


fluid source节点制作碰撞场

    fluid source虽然没有VDB速度快,但是fluid source节点自带了很多功能,省的我们自己去写vop了,所以很多时候fluid source来导入source volume,强大方便。制作碰撞场需要再这里设置一下。


isooffset节点

    这种方式似乎不大会用到,简单说一下吧。output 选择sdf。之后也需要在dop中设置负值,同时提高 uniform sampling divs。

上一篇下一篇

猜你喜欢

热点阅读