玻璃杯的建模虽然很简单,但透明材质却是很多新手会遭遇的难点:如何实现材质的透明,同时还要兼具玻璃的反射和折射效果……这就是本期教程想要解决的第一个问题。而如果还要更有趣点的话,玻璃杯能不能做变形的动画效果呢?答案依然是可以,但是在建模阶段就要稍微换个思路,接下来就让我们一起来实际操作吧。
一般来说,我们制作玻璃杯只需要使用柱体,删除顶面然后把边缘不断向上挤出,并调整每一级的缩放,最后再用一个表面细分修改器来柔滑边缘,就能实现杯子的建模,如果还需要做一些细节,则对具体的面进行操作即可。
但如果我们需要做杯子的变形动画,那么上面这种方法就并不算最优解,虽然可以利用晶格修改器来实现变形,但相对还是较为麻烦,本教程使用的方法是利用曲线来做杯子的外沿形状,然后再结合螺旋修改器让曲线沿Z轴“画个圈”,就可以获得一个杯子的效果了。
如图1所示,我们在编辑、偏好设置、插件里搜索并启用“Add Curve:Extra Objects”插件,这是Blender自带的插件,内置了大量预设的曲线,完成后在3D视图界面新建一个“路径曲线”,进入编辑模式将其旋转为垂直方向,然后通过调整各个曲线顶点的位置,必要時添加一些新的顶点,最终实现如图2的效果。
图1
图2
接下来只需要给曲线添加一个螺旋修改器,就能得到一个高脚杯的形状了,注意螺旋修改器的默认参数是沿Z轴旋转,如果你的杯子不是垂直摆放,就要按它本身的垂直朝向去设置轴向,与此同时视图步长和渲染步长的默认值只有16,看上去会有很多锯齿,不够圆滑,所以需要设置到64左右才能满足要求。具体设置可参考图3。
图3
虽然Blender着色器编辑器里本身就预置有玻璃BSDF,但如果直接套用,你会发现在EEVEE渲染器下它是不透明的,即便是调整材质设置的混合模式也没用。当然,我们仍需要把混合模式和阴影模式都调整为“Alpha Hashed”,因为最终我们还是要结合这个设置才能达到目的。
回到着色器编辑器,给玻璃BSDF混合一个透明BSDF,然后以菲涅尔作为混合系数,可以在菲涅尔后方接一个颜色渐变来缓和过渡,这时候再输出会发现仍然有小问题,这主要是因为玻璃杯没有厚度所致,于是我们需要再给杯子添加一个实体化修改器。这样一来我们就能得到如图4的玻璃杯效果了,而具体的着色器设置可以参考图5。
图4
图5
最后我们来做一个会变形的玻璃杯吧,如果你直接尝试给曲线顶点打关键帧时会发现,压根没有这个选项,所以我们还需要另一个插件来实现此功能。再次来到编辑、偏好设置、插件里启用Blender自带的AnimAll插件,这个插件就可以让我们为曲线顶点位置做关键帧。
如图6所示进入玻璃杯的编辑模式,全选所有顶点并在AnimAll里选中“点”,在第一帧“插入”,这时候你就能在时间轴上看到关键帧已成功打上,然后来到第30帧,按需调整顶点的位置,比如把它从高脚杯变成一个玻璃葫芦,完成后全选所有点,再次插入关键帧。这时候播放视频,你会发现玻璃杯动了起来,整个设计也就完成了,接下来就看诸位脑洞如何啦。
图6
就玻璃材质本身而言,一个单纯的玻璃BSDF并不能完全反映出真实的视觉效果,比如折射色差在本方案中就无法真实体现,需要通过连接红绿蓝三色的玻璃BSDF,并分别调整IOR值才能实现这样的效果,所以大家不妨多多尝试。至于位移顶点生成的动画,其实不仅对曲线有用,对网格模型也同样有效,感兴趣的读者朋友们赶快玩起来吧!