薛山
气五一假期将至,如果说要选一个最具有“假期”代表性的物品,气球或许会是孩子们的第一选择,而Blender作为一款3D设计和物理模拟软件,要怎样制作一个气球飘浮在空中,甚至还可以互相碰撞互动的场景呢?一起来学学看吧!
球的制作其实是比较简单的,我们可以使用经纬球作为基础来进行设计,但经纬球有一个问题就是顶点分配不均匀,它呈现的形态是顶点在两极非常密集,而中间部分则相对稀疏,因为我们最终的物理计算是基于顶点进行考量,所以这样的顶点分布其实是不太合理的,所以我们要稍微改一下设计思路。
直接利用系統默认的立方体,为它添加3级的表面细分修改器,这时候你会发现立方体变成了一个不那么圆的球体,如果想要它变成规整的球型也很简单,只需要再添加一个“铸型”修改器,将系数设置为1,这样就能得到一个顶点分布非常均匀且形状规整的球型了。
接下来就是关键了,要让气球动起来,就必须要有物理系统,而最适合气球的物理系统就是布料系统,因为布料系统的碰撞效果很好,也不像软体系统那么容易出错,比较直观。那么具体该如何操作呢?首先我们要给“气球线”最底部的四个顶点新增一个顶点组,这个顶点组的作用就是让气球呈现出拴在一个固定位置的样子,接下来就给气球添加布料系统,但我们知道布料系统的默认重力是向下的,所以我们要先找到它的“力场权重”,把重力改成-1,这样气球就能往上飘了。
如果只有一个气球,看上去可能会有些空洞,所以我们可以进入气球的编辑模式,复制多个气球并适当调整旋转角度,但注意要把底部顶点放在尽量重叠的位置上,这样可以获得比较好的视觉效果,然后再打开碰撞和自碰撞,调整步数和碰撞距离,在设计完成后播放视频就能看到气球之间可以互相碰撞了。
但这时候可能又有一个新的问题,那就是气球之间碰撞会发生不可逆的形变,这显然和真实的气球明显不符,所以我们需要再给气球添加“压力”值,这样一来气球就会自动膨胀,碰撞后也能迅速复原,不同的压力值也有不同的回弹效果,大家可以自行尝试。
如果想要做一个气球跟随移动的动画效果呢?其实也很简单,进入气球的编辑模式,选中所有气球线最下面的顶点,或者在顶点组里直接选择咱们之前做的钉固组,然后使用“Ctrl+H”为它们添加一个新的勾挂空物体,这时候你会在修改器页面看到勾挂修改器,把它放到布料系统的上方,然后这时候一边播放视频一边移动空物体,你就能看到气球就像被空物体牵着一样在飘动了。最后我们再给气球加载材质和布设环境,一个完整的气球飘浮碰撞效果就完成啦!
总体来说,气球飘浮碰撞的效果实现起来还是非常容易的,但整个过程里会有不少稍有不慎就会无法实现最终效果的细节,比如勾挂修改器必须在布料系统前面、压力值的设置不能过高、编辑模式下最好使用3D游标作为轴点等等,所以大家在自己设计的时候可千万不要粗心大意,忽略这些细节哦。