积雪覆盖也能自动化?Blender几何节点教学
2022-03-16薛山
薛山
作为Blender最重要的新功能,几何节点在动画设计中有着举足轻重的作用,比如我们今天的主题,制作自动覆盖地面和物体的雪地效果:无论怎么移动物体,“积雪”都能正确地覆盖在物体上方,而被物体遮挡的“地面”则不会出现“积雪”。如果用传统思维,则需要粒子系统、动态绘画等多项功能的同步操作,非常麻烦且效果不一定有保证,而通过几何节点就能够比较简单地完成。那么,具体要如何操作呢?
首先我们需要搭建“积雪”效果的对象,可以是树林、房屋,也可以是你感兴趣的任何物体,如图1所示,我就做了一座简单的房子、一棵树和一个平面,记得把这三个物体放到同一个集合里。
然后在刚刚搭建好的物体上方,新建一个平面,这个平面就是我们“积雪”的生成面。至此,咱们的建模环节就告一段落啦,如果你的模型选择很简单的话,这一步应该几分钟就能搞定。
“积雪”的总体思路,是让生成面形成“积雪”并向下投影,覆盖到我们之前做好的房屋、树木和地面上,所以,在几何节点里,我们第一步就是要让“积雪”的生成面有足够多的顶点,并让它能够向物体进行投影。
首先,为“积雪”生成面添加几何节点,在编辑器里使用“细分网格”来让它拥有充裕的顶点,然后将我们的房屋、树木、地面等目标集合连接“实现实例”和“光线投射”,这就让它们成为了“积雪”的投影目标,然后再利用“設置位置”,让生成面能够准确投影到目标上,具体设置可参考图2。
显然,这时候我们还只是得到了“积雪”生成面在物体上的投影,还需要进一步设置才能获得积雪效果,所以接下来我们需要使用“点到体积”和“体积到网格”,将生成面转换为类似积雪的网格效果。注意,到这一步的时候,“细分网格”“点到体积”和“体积到网格”的每项参数都会直接影响积雪的视觉效果,大家在设置时注意观察,而且还要结合总体的顶点数量来判断自己的电脑是否能承担起高效渲染的任务。
然后我们需要连接一个“设置着色平滑”,就能得到如图3那样平滑的积雪效果了,而且可以看到,“积雪”受物体遮挡,并不会完全落到地面,这时候即便移动物体,遮挡效果也会自动变化,所以到这一步时,我们就已经基本实现了自动化的积雪效果。
不过,这时候的积雪看上去还是不那么真实,原因在于它太平整了,我们还需要为它添加一些凹凸变化,才会在视觉效果上更具真实感。这时候我们就需要再次添加“设置位置”,这个节点在几何节点功能里非常常用,基本上任何需要调整位置的需求,都可以通过它来完成。
此时我们需要使用噪波纹理,连接矢量计算的“相减”,数值0.5,让噪波纹理的计算中心回到原点,再连接矢量计算的“缩放”来控制影响幅度,这样就能让“积雪”呈现出凹凸不平的样子了,最后再为各个物体添加材质,就能获得如图4的最终效果了。
本章所用几何节点全览
在这次的教程文件中,我们只需要在物体集合里加入新的物体,就能直接获得积雪覆盖的效果,所以从这个角度来看几何节点算是一劳永逸的解决方案。不过你可能注意到,如果需要调整积雪生成面的尺寸,可能还得同步调整“地面”的尺寸,所以事实上这次的设计还有另外一个方法,可以实现这两者同步调整,读者朋友们感兴趣的话可以给我们壹零社微信公众号留言或私信,咱们在以后的文章里再接着聊。
2289501705397