其实在2.92稳定版里就已经内置了几何节点编辑器,但这一版本的几何节点并不能很好地“玩耍”,所以我们需要下载2.93Beta或3.0Alpha来实现本期的教程。那么,什么是几何节点,简单来说就是利用三维物体的点、线、面做基础,改变原物体渲染形态来实现视觉功能,它的功能十分强大,但其实与已有的功能模块也有交叉。但Blender本就是一款“一种效果有N种实现途径”的软件,况且几何节点也有自己独到的玩法,本期我们来做一个“近变大,远变小”的效果吧。
1.利用几何节点实现粒子系统
这个标题看上去或许有一点矛盾,因为粒子系统在Blender里是一个独立功能,我们为任何一个物体添加粒子系统时,他都会以物体为原点作为发射端或皮肤端,而几何节点的功能基础也同样建立在物体本身,但它能实现很多粒子系统无法实现的功能,比如我们本期教程将制作的效果目前就只能通过几何节点来实现。
首先,打开2.93Beta或3.0Alpha版本,将默认的方块缩小,应用缩放,然后新建一个平面,而这个平面就是我们应用几何节点的“主角”,如图1所示为平面添加几何节点,你会在修改器里发现自动添加了一个几何节点修改器,当你需要对这块平面做多种功能复合时,记得一定要准确设置修改器的顺序,这一点跟粒子系统等功能模块是相同的。
图1
接下来我们让平面作为源,方块作为实例来做粒子效果,在组输入和组输出之间加入一个“点实例”,将物体设置为方块,你会看到平面消失了,取而代之的是4个方块,而这4个方块所处的位置其实恰好就是平面的4个顶点,如果对平面做细分,你会发现每一个新增的顶点都会覆盖一个方块,相对于无法调整,只能随机分布的粒子系统来说,几何节点可控性要强很多。
而且即便是随机分布,几何节点同样更容易调控参数,在点实例之前加入“点分布”,你会发现方块的布局被打乱了,你可以通过调整密度最大值来增加方块,但如果你不想让方块之间互相重叠,可以将分布方式从随机改为泊松盘,然后调整最小间距值,这样它就能在方块之间不重叠的情况下实现粒子效果,如图2所示。
图2
2.使用与空物体之间的距离来控制缩放
想要控制缩放,首先是可以通过属性随机化来让打乱方块的缩放,当然这个方法也可以控制位、旋转等,属性是几何节点里比较重要的功能模块,很多时候我们都需要确定调整的究竟是哪个属性,而且我们还可以添加新的属性。
接下来我们就需要新建一个球形空物体,逻辑上来看就是将空物体与方块之间的距离作为系数,来乘以缩放值,这样就实现了距离越远,缩放越大或越小的目的。具体操作上,首先需要在几何节点编辑器里新增一个物体信息,并将其与几何数据通过属性矢量计算来进行“距离”比较,这时候就可以定义一个新的属性“distance”,也即距离,然后我们使用缩放来乘以这个距离,并将结果反馈回缩放,这时候你会发现所有方块都消失了,这时候只需要在点分布后面跟一个填充属性,将缩放值设定为1,即可看到如图3的效果了。
图3
如果你想要中心大而边缘小,可以在属性矢量运算和数学属性之间新建一个属性颜色渐变,属性和结果都设置为distance,翻转颜色渐变就能实现了,而如果想要进一步控制缩放的范围,可以在属性颜色渐变前再加入一个数学属性,用distance去除以一个浮点数,就能实现范围的缩放了,再加上旋转和位置的属性随机变化后,就能实现与空对象原点越近的方块缩放越大,反之越小的效果了,具体可参考图4。
在视频教程的片头,我们就利用了本期学习的内容设计了一个跟随飞行器移动而迅速缩放的花丛效果,如图5所示,有兴趣的朋友可以扫码观看。
图4
图5
本文几何节点编辑器全览
本章小结:这还只是几何节点的“冰山一角”
事实上和着色器一样,几何节点的功能十分强大,也可以在少量建模的情况下实现相当复杂的设计,比如3.0Alpha版的启动背景图就是利用几何节点生成,可见其玩法有多丰富。粒子效果的缩放是学习几何节点工作原理很好的上手课程,大家可以比较充分地了解到“属性”的重要性,而这也是几何节点的核心之一。