文章来源:公众号:野鹿志
作者:马鹿野郎
正文共:3056字 59图
预计阅读时间:8分钟
前面把XP粒子系列的植物、网格以及山体插件的官方视频手册分享给了大家。
当时我就说我自己是把网格的视频手册看完了,看完的感受是工具好像是会操作了,但是怎么用却不知道。
网上好像也介绍相关的视频也比较少,但是看完就还是的练练,否则过不了多久就忘记了。
于是我首先想到的还是通过官方案例的工程分解来学习:
于是今天要分享的内容是通过对官方案例分解学习到的一个分形动画。
思路是和官方一样的,只是过程中关键帧的参数等自己凭感觉改了改。
然后材质方面官方使用的是cy渲染器,我看不懂,于是自己用rs临摹着来的。
另外这个效果如果没有XP网格工具的鹿友,使用我们之前分享过的法国猴子的四套预设中制作分形图案的预设MoFractal也可以做出来:
好了,今天我们就来看看这个如何使用网格工具制作分形动画吧!
打开C4D,帧速率设置为25,做250帧的动画:
xp的这套网格工具其实有很多个,我们今天主要使用的是这个叫做mtInset插图的工具:
然后今天我们不会把mtInset的每一个参数都介绍,只会简单说明一下案例过程中会运用到的参数。
例如我这里新建一个宝石体,让它成为mtInset的子集:
首先是Amount数量这个参数,它可以根据面的布线再次插入布线,面是四边面插入的就是四边面,是三角面插入的就是三角面:
插入布线的默认模式是根据面的百分比,你也可以把模式改为固定长度,这时数量的单位就会由百分数变为厘米:
接下来是Offset偏移这个参数,它有点类似于挤压,可以基于你现有布线把面挤出并且是带有坡度的,这个数值既可以是正数也可以是负数:
Divisions分支和Twist扭曲这两个参数应该是这个版本新增的功能。
首先Divisions这个参数可以增加挤压出来的面上的分段:
然后再通过Twist对挤压出来的部分进行扭曲,正反方向都可以:
你还可以通过调整Divisions下面的曲线来控制顶端的尖锐程度,很好玩吧:
基础功能就暂时介绍到这里,接下来进入我们的案例吧,我这里首先把宝石体的类型改为了碳原子:
我仔细研究一下官方的思路是这样的,首先是在Amount和Offset设定一个数值:
在此基础上继续叠加mtInset,叠加的mtInset中Amount的数值保持不变,然后Offset数值是前一个mtInset的一半:
多叠加几个分形图案的感觉会更好,不过由于面数增加如果是动画播放起来就会比较卡,我这里总共叠加了6个:
接下来就是K动画了,由于我们这里叠加了6个mtInset,每个参数分别去K帧会很麻烦。
所以还是要借助Xpresso用户数据来统一控制,新建一个空物体增加用户数据:
首先增加一个用于控制Amount的数据,我们前面提到了默认情况下Amount是一个百分比,所以这里单位我们选择百分数:
接下来增加一个用于控制Offset的数据,Offset是数值,所以这里我们把单位选择为实数,然后最大数值我们设置为100就好:
再增加一个实数型的用户数据,前面我们不是提到每次叠加的mtInset中的Offset都是上一级的数值除以2么,这个参数就相当于除数,把它添加进来我们后面也方便K帧:
最后增加一个百分数型的用户数据,这个用于统一控制Amount和Offset的强度:
到这里大家可能还是会有点懵,不知道这些用户数据该怎么用,不要害怕,我们连两个节点就明白了。
给这个空白对象添加一个Xpresso标签,把空白对象拖进去并且把刚才添加的用户数据端口都调出来:
先拖进第一层的mtInset,把Amount和Offset两个端口也调出来:
前面提到了Strength是统一控制Amount和Offset的强度,所以这里我们这里新建一个实数型的乘法数学节点,让Amount和Strength相乘以后再连接给mtInset的Amount端口:
同样的道理把数学节点复制出来一份,让Offset和Strength相乘以后再连接给mtInset的Offset:
然后我们把mtInset输出端口的Offset调出来,让它除以我们刚才添加的除数用户数据:
把mtInset复制出来一份,把mtInset替换为第二级的mtInset对象:
第二级的mtInset对象Amount端口就直接与Amount和Strength相乘的数学节点输出端口连接,Offset端口与数学节点相除以后的数据连接:
不知道做到这里鹿友们有没有绕晕,其实就是最简单数学逻辑,稍微思考一下应该能明白。
接下来就是再次复制mtInset对象,替换成下一级的mtInset,Amount端口连接最初的乘法数学节点,Offset端口连接上一级对象Offset除以除数以后的数学节点:
最后连完大概是这样的:
连接完毕以后就开始K动画吧,其实我觉得K动画才是比较麻烦的,因为毕竟是抽象的形态,不是很好预判。
而且和对象的尺寸也有关系,我这里先把宝石体的半径设置的比较小:
找到一个合适的状态设置为初始数值吧:
第50帧的时候,我把Amount数值降到了0,其他参数不动:
第100帧的时候,我将Amount增加,然后Offset和除数两个数值都降低,这个时候你会发现宝石体变得非常小,这个是Offset数值变小导致的:
所以这个时候我们还需要去K一下宝石体的尺寸,这个才是我们最后看到的形态:
150帧的时候我降低了Amount数值,然后Offset和除数两个数值都提高了一点,当然现在宝石体体积又变大了:
所以再次回到宝石体里去缩小它的尺寸K关键帧,具体数值这个大家只有尝试,总之就是让对象整体看起来没有太大的尺寸变化:
200帧的时候我提高了Amount数值降低了Offset数值:
修改宝石体的尺寸这里我就不再赘述了:
250帧我将除了Amount以外的三个参数都降低了,强度也略微缩小了一点:
最后再次增加宝石体的尺寸,基本这样动画部分就搞好了,这个确实不好控制形态,大家就当鼓捣着玩吧:
接下来就是渲染部分了,设置渲染尺寸,色彩空间设置为线性,这些不用说哈:
新建HDRI环境光:
材质的话是一个sss材质,我这里把反射的强度降低了,然后把粗糙度给的比较高:
然后用噪波节点做一个贴图:
使用一个渐变节点进行重新着色:
再把他们连接给透射的颜色上:
然后我打开了涂层:
再次用噪波节点制作贴图:
使用渐变节点调整黑白对比度:
再连一个渐变节点进一步提高对比度控制范围:
最后把他们连接到涂层的颜色上:
再佛系补几个灯光吧:
渲染设置里由于我们场景都没有漫射材质,所以我索性把GI给关掉了:
最大最小本地采样是128/8,反射、折射以及灯光的本地采样我给到了512:
渲染一帧测试一下,可能是由于面数比较多,单帧要6分多钟,我感觉这个时间我接受不来:
于是我这里把自适应阈值的参数提高到了0.1,渲染时间快了一倍,虽然放大看会有噪点,但是我觉得如果是动画的话还能接受:
渲染总时长接近7个小时,还是能接受的:
最后后期调整一下看看效果吧:
大概这样吧,总的来说使用方法不难,但是结果比较难预期,有时候瞎调说不定效果还会更好。
下面是今天的视频版:
好啦,今天的分享就到这里。
本文原创,未经作者允许不可转载!
更多内容,欢迎关注作者微信公众号:野鹿志!
暂无评论
违反法律法规
侵犯个人权益
有害网站环境