这一节主要讲的是vellum grain。grain好像在vellum中也算是一个比较特殊的存在。因为其他的类型通过预设节点创建,其实都是vellum constraints节点,而grains则不然。当然,想要做好看的形态,还是少不了约束的参与。

这节课中,我也是着重研究了下使用glue约束对grain的影响。工程文件分享在这:https://pan.baidu.com/s/1tEtDhdhIHvjYoJ5yxSZETg 提取码:6666

(我好像传错了文件版本,这个版本中不包含自己创建的dop节点。但是最新的版本没有保存…不过没关系,区别只是我自己连接了一个dop节点,在里面添加vellumsolver而已)

教程中,使用clusterpoint来生成簇,同一颜色内的点都有相同的值。

然后又通过Cluster Attribute这个参数来使得不在同一簇内的点之间,不产生约束。可以通过直接查看约束看到效果。

为了便于观察,我加大了约束的数量。能明显看到,不同的簇之间是没有约束相连的。这个参数本身是为了能够能够控制多个vellum对象之间的Glue约束,即某个对象有粘性,有的对象没有。不过用在同一个vellum对象中也同样的道理。

如果离近了看,还能看到一些点是孤立存在的,并没有能和其他的点产生约束。最后作用到结算上的效果就会有几个小颗粒单独洒落,不受Glue的影响,因为没有产生约束。如果不想存在这些孤立的点,调整Glue约束中的最大约束数量或者约束距离就可以解决。注意,在下面的测试中,Cluster Attribute参数是关掉的。

在Glue约束下,grain虽然会聚在一起不散开(没有使用glue约束中的breaking),但是它却软趴趴的。从技术角度看,粒子之间保留了位置约束,但是没能保持住旋转约束。想要保持住让粒子之间不旋转,可能要使用vellum solver中针对grain的参数:attraction。

因为在sop中创建的vellumslover是封装好的,不能调整attraction参数。所以我又自己创建了一个dop节点。同时为了方便调整,我又把Attraction Weight参数链接到外面的一个空对象上便于调整。

奇怪的是,当我在dop中链接vellumsource和vellumsolver的时候,vellum对象会自己向上飘起来,可是我所有的设置都和工具架上的没区别,而且用工具架创建就没有这个问题。虽然不知道为什么会这样,但是不使用vellumsource节点之后就没有这个问题了。

因为vellum object节点中设定了初始状态下的Geo和Constraint,所以没有vellum source节点也能正常使用。

修正:我找到原因了,是因为vellum object中的Geo和约束路径,不能和vellum source中的是一样的。只需要把vellum object中的Initial Geometry和Initial Constraints分别剪切复制到Vellum Source节点中就可以了。

回到attraction这个参数,这个参数名字就解释了作用,就是吸引。但是它能起到维持粒子之间角度,或者说vellum对象本身形态的能力。比如开启attraction weight到3,vellum 对象就能很好的保持形态。(一般情况下不需要调节attraction参数,只调整attraction weight)。

能看到,因为attraction weight太强了,就连之前没有glue约束的孤立点,也固定在了位置上不会动。测试下发现,vellum solver中grain collison参数应该是和约束的力一起叠加的。

但是attraction weight参数不能太大,否则粒子会直接消失不见了。

(完)

Leave a Reply