导语
“一个能自我膨胀的石头、一个能被随意挤压变形的坚硬钻石、一堆失重漂浮在空中的玻璃球、一片随风飘动的柔软玻璃。或者是任何你能想到的奇幻场景…”
所有这些奇妙幻想,柔体动力学将全部满足。接下来本文将带你了解这个充满创造力的奇幻世界。
一、基础概念
想要玩好柔体,首先要了解柔体的基本构成和它的基础原理。1、柔体弹簧
在C4D柔体动力学标签下,我们能看到有一个叫弹簧的参数部分。这部分则是柔体的基本受力规则,分别由“构造弹簧”、“斜切弹簧”、“弯曲弹簧”这三种弹簧组成。这三种弹簧共同存在,并且是同时起作用的。
1.1 构造弹簧 Structural
构造弹簧以四边面为例子,存在于组成四边形的四条边上。它们会影响这四条边的伸缩。在受到力影响的情况下。构造的数字越高,弹簧越不容易伸缩,物体更不容易变形;数值越低,弹簧越容易伸缩,物体更容易变形。
1.2 斜切弹簧 Shear
斜切弹簧同样以四边面为例,存在于四边面的对角线上。影响对角方向上外形的伸缩。在受到力影响的情况下。斜切的数字越高,弹簧越不容易伸缩,物体更不容易变形;数值越低,弹簧越容易伸缩,物体更容易变形。
1.3 弯曲弹簧 Flexion
弯曲弹簧以翻书为例子,存在于两个面的相交处,影响着你“翻书“所要用的力气。整体结构也可以理解为夏天大家床上铺的那种格子凉席。弹簧数值越高,“翻书”所要用的力气越大;弹簧数值越低,“翻书”所要用的力气越小。
1.4 阻尼
每个弹簧的下面都会带有一个阻尼数值,阻尼可以理解为弹簧的弹性。当阻尼数值越低时,弹簧的弹性越好,模型就会有一种很Q弹的效果。当阻尼数值越高时,弹簧的弹性则越低,模型就会显得很墩实,基本上不会有过多的弹动。
1.5 静止长度
静止长度是指计算开始后,瞬间进行的一个缩放的效果。100%为默认,以这个数值为基准,小于100%会缩小,反之则会放大。
1.6 弹性极限
弹性极限可以理解为弹簧的恢复能力,数值越高,弹簧受力后越容易恢复到原有的样子,反之则越难。
2、其他参数
影响柔体的除了弹簧还有其他参数,通过这些参数与弹簧之间的结合,能做出更丰富的动画来。2.1 保持外形-硬度
保持外形这一栏,主要起作用的是硬度参数,不同于弹簧是控制点与点之间的力,硬度控制的是模型的表面属性。
2.2 压力
压力可以理解为往模型里充气。数值高于0时,物体会根据数值的大小进行膨胀。
3、柔体布线
在C4D中,模型的布线是非常关键的一部分。而对于柔体来说,除开柔体本身参数的影响,不同的模型布线也会给柔体带来不同的特性。3.1 线也是有力气的
两点之间的距离越长,也就是线越长,这根线的力气越大,越不容易变形,能够拉住两端的点。反之线越短,力气越小,线则越容易被拉伸变形。如下图所示,中间的线比较密集导致线x轴方向的长度比两侧的短,所以中间的线段的力气会较小,在受到两边引力的作用下,两侧的部分基本上没有变形,中间的部分则被轻易的拉伸了。
在平时我们进行柔体制作时,可以根据此原理,依据实际的情况,去进行布线的不同疏密排布,来得到想要的效果。
3.2 快速优化布线
每一个动力学动画生成的背后一定都有着C4D大量的计算,而柔体动力学则是最计算量最大的动力学。而C4D计算动力学的速度,除了吃硬件本身,我们模型的布线也是尤其重要的。当我们去给模型进行合理的布线,则将大大减少软件计算的负担从而更好更块的去得到想要的动画。而想要得到标准的均匀四边面布线,纯靠自己手动拓扑建模相对会比较麻烦。所以这个时候我们可以去下载一款叫做 Quad Remesher 的插件,它可以轻松帮你讲各种复杂的模型转换为规整的四边面模型,操作非常简单。如下图所示,只需选中模型,打开插件窗口,输入自己想要的四边面数,则可快速得到标准的四边面模型。
https://exoside.com/quadremesher/
二、设计案例
当了解完柔体的基础构成和原理,我们就可以利用这些基本的知识中去玩一些好玩的东西了。1、膨胀柔体 Inflatable soft
当你想做一些充气膨胀的物体时,我们可以利用静止长度和压力这两个让柔体膨胀充气的数值来进行制作。首先我们先制作一个布线规整的模型,再给他加上我们的柔体标签(同时也不要忘了添加一个地面给地面加上碰撞体标签哦):
之后我们就可以通过给柔体的静止长度和压力打动画帧,来得到一个充气膨胀的效果第一是我们要考虑到重力的影响(重力可在工程设置的动力学tab中调整,可以适当调低),不要在一开始就给物体打上动画帧,让他先下坠到地面压扁后再给他打上动画,这样能保证整体动画的节奏感;
第二是我们需要在基础的柔体数值上稍微调低弹簧的数值,以使柔体变得更柔软更利于膨胀;
然后我们在打静止长度和压力的动画帧的时候,可以将这两个点动画错开,进一步增加节奏感
动画搞完,我们就可以打好灯光,上好材质,得到一个完整的柔体动画啦~
2、破坏性柔体 Destructive soft
除了膨胀柔体,还有一个偏基础的柔体动画,那就破坏性柔体。破坏性柔体我们可以运用到弹簧当中的弹性极限,通过调低弹性极限的数值来使柔体受力后难以恢复初始状态。首先我们可以建立一个简单的圆环体,我们来调整他的弹性极限数值(为防止物体太过柔软直接被重力影响就变形了,我们同时需要适当调高他的硬度和构造,具体参数可参考下图)
在完成以上操作后,我们可以去建立一些刚体小球,放置圆环的上方,通过重力下落来给圆环造成不可恢复性的变形(这里要注意我们需要适当调大小球的质量,来保证造成的形变足够)
三、进阶玩法
1、顶点贴图
除了柔体本身的一些参数可以用来整活,当然也可以结合一些其他的东西来搞一些骚操作。例如结合顶点贴图和域,就能做出一些意想不到的效果。
然后我们C掉模型,切换到点模式,随便点到模型当中的任意一个点,从选择Tab的下拉里点击设置顶点贴图。
下一步我们可以去做一些切割的平面,给他们连接起来。
在得到这些之后,我们需要点击一开始设置的顶点贴图标签,打开他的域功能。
然后我们先删除冻结域,把前面做好的连接放入域中。然后把连接域的模式改为“表面”,半径改为1cm。
然后我们切换到光影显示模式,点击顶点贴图标签,就能发现我们的模型上已经有了被切割出来的黄线啦(顶点贴图里,黄色代表影响100%;红色代表影响0%)
接下来我们再加上一个线性域,线性域叠加模式改为减去,然后给线性域一个从左到右的动画。通过线性域来控制连接域的出现。
然后再给一个反向放在连接的上面,因为我们是想让连接切割的区域保持不变,其他部分膨胀。
接下来我们把做好了的顶点贴图放到柔体动力学标签里,去影响他的静止长度和硬度。贴上之后呢,我们顶点贴图黄色部分的区域的静止长度和硬度就为所选数值270和20了(这块区域会进行膨胀),而红色部分则不受影响,为0(这块区域就会保持不变)。
做完这些之后我们缓存好动力学动画,就能得到最开始看到的效果啦。
结语
以上则是本文的全部内容,关于C4D动力学的知识,如果只以一篇文章就想来完全呈现,那是肯定不够的。本文仅取了一些具有代表性的知识点和玩法来向大家介绍这个奇妙的领域。当然不论是C4D本身还是动力学,对于我们设计师来说,他们都只是一个工具,永远都会有更新的工具出现,最重要的还是我们作为设计师本身对于设计的思考,如何运用好这些工具和技能来为我们的设计服务,才是最重要的。愿大家在未来的设计路上都能永远保持热情。