您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 Arm 于 2018-10-14 11:58 编辑
很多的人都觉得houdini17更新的vellum非常厉害,但是又发现自己无法做出效果,下面的教学教你简单的使用vellum
添加一个transform节点先做一个简单的位移动画,这里的动画就是在x轴上面移动 我们添加一个hairgenerate节点,为了模拟快速一些,我将节点中的density(密度)属性修改为50(这里可以自己根据电脑配置设置,此处是演示所以数值很小),下面是density不同的时候的状态,很好理解这是什么意思。 因为毛发是依附在皮肤上面的,让我们看看现在生成的状态 添加一个For-Each primitive节点,再在中间添加一个Group(组)节点,
连接的时候将连接前面两个,1表示的是输入vellum的物体,2表示的是输入约束的信息,3表示的是输入碰撞的信息,因为此处我们没有碰撞物体,所以3不需要连接。 这个时候我们进行播放帧,就可以看到简单的一个效果。
如果需要在播放的时候同时有动画的进行,需要将Pin to Animation下的Match Animation打开。
之后播放,可以看到生成的毛发已经落在了物体上,而不是直接穿过物体。 如果你不想看到碰撞的物体,可以将vellumsolver中visualize中的show collision关闭,关闭之后你虽然看不到碰撞体,但是碰撞是有发生的。 添加一个hairgen把里面的GrowUnguided Hair关闭,然后你可以选择设置Guide Weight里面属性的值 我们在vellumsolver和hairgen之间添加一个随机的颜色,class选择point,color type选择random,然后在hairgen里的attitude&appearance中的point attribute填入Cd(代表颜色的意思)
我们都知道,动物的毛发,并不是所有的都是分开的,所以我们可以添加一个hairclump来达到下图中的一撮的效果
将shape形状属性下的method修改为linear blend 修改下面clump profile下的曲线,可以改变毛发的形态,你只要操作过了都知道这两个修改之后有什么效果 添加颜色还有另外一种方式,在for-each 中添加一个attributewrangle节点,这个节点通常是用来使用vex的,现在我们点击color from bounding box,里面会自动填入代码,直接可以看到视窗中的变化
第一先创建一个grid。将grid的size(大小)变小,将rouws和columns都变小,之后使用remesh将grid重新网格化,选择顶上的两个点,在视窗中tab输入group,给两个点打组并且命名(随意)
将网格通过transform往上移动一些,创建一个test物体。
之后创建一个vellumcloth,将pinto animation中的pin points改为pin
将test的物体连接到碰撞输入点上,你可以看到下面的效果
如果你希望布料不是那么软,你可以在vellumcloth中的Bend下的stiffness修改数值查看效果
如果你想要布料撕碎的效果,在前面加个edgefracture,打开primitive piece点击后面的按钮,可以查看布料的状态,由不同的颜色表示 如果想要将上面撕碎的部分连接起来,只需要加一个vellumconstraints节点 修改constraints type为stitchpoints ,group type修改为points,group选择前面edgefracture中自动生成的newpts (这只是其中一种方式而已,我在houdini新功能的文章中有讲过其他的方法)
你也可以设置布料在经过一定的压力之后会被撕碎,你就可以在vellumconstraints节点中打开threshold
但是这样又会产生一个问题,那就是你如果只想要某一部分被撕碎,那么上面的操作会使得所有的布料都破碎,只有时候不是我们想要的效果。 这个时候我们可以将threshold后面改为scale by attribute 并且在vellumcloth和vellumconstraints之间添加一个attribwrangle节点,并且在节点中输入代码:f@breakscale = 1;
你修改代码里面的数字就可以有控制是否撕碎的效果,可以拿0和1尝试 修改颜色,在物体上面画出一个区域,这里你可以设置为此区域撕碎,或者不被撕碎 如下图,我所画出的区域没有被撕碎,这里由attribwrangle节点,代码:f@breakscale = 1控制,如果后面的数字是1,画出的区域没有效果,如果是0,画出的区域不会被撕碎 这个方法有一个缺点,就是布料在初始状态的时候并不是一整块, 这个时候我们可以添加一个节点fuse(融合),增大distance的值就可以达到一整块的效果
这些撕碎的效果都是由程序生成,有人就会想到,如果我想自己控制哪里撕碎而哪里不被撕碎,当然也有方法 将视窗切换到顶视图,之后tab输入curve编辑, 将curve接入到edgefracture的右边,你就可以看到效果了
我们先创建一个球体,将它向上移动,之后加入一个pointsfromvolume节点,point separation可以控制点的多少,之后再加入一个vellumconstraintsgrain
之后加入一个vellumsolver,将其中的Ground Position打开,你可以看到视窗中出现蓝色的底面,这些是可以用来碰撞的 。 上面的蓝色底面是可以移动的,这个在制作第二种软体的有使用到
下面我们有一个小小结合案例,你只需要将vellumsolver中的Ground Psition关闭,在右边加入布料,并且将相关项连接在一起,布料的操作和前面是一样的。这样之后直接模拟就可以出效果啦 这个下落每个物体的下落效果都是一样的,如果需要修改我们可以双击vellumsolver 加入一个节点popforce之后修改amplitude的值,再次模拟你就可以看到不一样的效果 这个效果你也可以直接加到布料上面,可以使得布料的模拟不会那么的死板。
以上的gravity是重力,wind是风力,这可以做成国旗的效果,赶紧自己尝试一下吧! 下面是word文档以及所有以上的图片,你可以将此篇文章下载下来浏览。
|