视频地址:https://www.bilibili.com/blackboard/html5player.html?aid=805760842&as_wide=1
原图作者:BastardFilms
教程作者:野鹿志(授权转载)
交作业去这里→#优设每日作业#
文章编辑:@雪寄草
国庆前再赶一篇出来,所以提前预祝各位鹿友国庆快乐吧!
继续临摹吧,同样来自INS大神@BastardFilms:
同样我这里加速了一下然后压缩成了动图,大家看看吧:
原图作者BastardFilms,如侵请联删
原作者说的是使用了XP4.0模拟布料,然后再结合XP的纹理发射:
这个粒子扩散然后又汇聚的效果我当时看到的时候觉得会做,但是实际尝试的时候才发现当中有很多细节需要注意。
所以今天的文章我想把制作过程中自己的思考以及按照自己的思路制作时遇到的问题都写出来。
这样我觉得比直接告诉大家尝试后的操作要好一些,希望这样大家会有一些收获。
好了,今天我们就来制作一个布料飘散汇聚的动画吧!
开始之前先说说我的思路吧,首先我还是会按照原作者说的用XP4.0来模拟布料的形态。
虽然XP模拟布料的原理也是通过粒子来控制多边形的形态,但直接使用模拟布料的粒子来制作图画粒子飘散的效果好像无法实现。
因为它粒子的发射模式只能是基于模型的点发射,不能基于纹理发射,并且我尝试过使用颜色修改器好像纹理贴上去也是有问题的。
所以我的想法是先用A发射器制作布料形态,然后再用B发射器在基于现有布料形态的基础上进行纹理发射并且飘散汇聚。
接下来我们就一步一步的看这个我的这个思路是否可行吧。
首先准备一张图画的素材,刚好我朋友家的小孩最近画了一张,就被我征用了:
打开C4D新建平面,因为我将素材需要的部分裁剪出来的尺寸是642*864,所以新建平面尺寸保持一致,分段略微提高一点就行了:
新建材质球,在颜色通道加载贴图,编辑里可以将预览尺寸稍微改大一点:
然后我这里自己做了一个简易的相框模型,因为这个不是我们今天分享的重点,所以就不写制作过程了。
大家可以自己做或者文后获取源文件就可以了,反正就是挤压挤压再挤压:
相框添加布料曲面增加厚度:
再添加一个倒角变形器吧,参数大家看着给就好:
给相框添加XP碰撞标签,碰撞模式改为Any,反弹摩擦这些地方都关掉:
我们后面需要把画的四个角固定住,所以将平面C掉以后选中四个角的点设置为选集:
接下来给平面添加XP布料,添加以后场景会默认添加一个重力场,我们不需要它可以直接关掉:
布料标签的高级里勾选钉,然后把刚才设置的点选集拖进去:
给场景添加湍流场,参数适当的改大一点就好:
接下来就适当的去调整一下布料的参数吧,其实我这里没有太多改动,就是只是把布料的斜切等三个参数都改到了50:
其实布料到这样我觉得就差不多了,接下来就是我之前的思路,用另外一个发射器来基于现有的布料形态上发射粒子,让我们来看看是否可行吧。
再新建一个发射器,发射模式改为对象,把布料平面拖进去,发射源来自纹理:
把纹理拖进去,发射源选择为无,颜色让它基于纹理的颜色:
发射器的模式改为射击,让它只发射一帧,数量先暂时给到5W吧,将速度改为0:
不要忘记把添加布料的XP约束和湍流场都排除一下,点击播放,发现粒子并没有运动:
回到发射器的对象里,勾选将粒子固定在发射源上,这样点击播放键粒子就会随着布料形态运动了,截至到目前看起来思路应该没有问题:
先暂时取消一下粒子固定发射源的勾选,再次新建一个湍流场,参数大家还是看着调整吧,这个主要就是控制后面粒子飘散的形态:
布料的发射器里记得把这个湍流场排除一下:
现在我们要做的就是让粒子再发射一段时间以后断开粒子固定发射源,首先我们想到的可能是在这个参数的勾选上K帧,但是你会发现直接K帧没有效果:
为什么没有效果我也说不好,不过我们可以这么操作一下,在发射器里添加一个问题:
问题里你可以设置一个时间,然后再添加一个动作:
在动作里添加断开固定发射源,这样粒子就会在你设置的时间断开固定发射源,然后受到湍流场的影响飘散开:
但是直接这样断开操作感觉形态比较突兀,如果能有一个衰减变化就好了,使用问题这种方式无法添加衰减。
所以我们这里换一种方法,删掉问题和动作,我们这里可以添加一个触发动作修改器:
触发修改器里我们同样可以添加这个断开固定发射源:
但是触发修改器是可以添加衰减的,所以我们这里可以添加一个着色器域,着色器里添加噪波,噪波类型大家随意,可以给一点动画速率:
然后我们可以在亮度值上K关键帧,噪波黑色代表没有,白色代表有。
所以我们可以让亮度在45帧的时候为负100纯黑,然后在125帧的时候正100纯白,这样就有一个很舒服的过渡了:
粒子基于布料形态飘散做好了,接下来就做汇聚图案了。
首先我这里给控制粒子飘散的噪波场也添加了一个着色器域衰减,同样的道理在亮度值上K帧,让它在125帧的时候纯白,然后135帧的时候纯黑,代表没有噪波场:
然后添加一个覆盖场,将活动改为纹理,把纹理标签拖进去,阈值改为纯黑色,然后勾选混合颜色,这样粒子汇聚成图案的基本形态就出来了:
同样我给覆盖场添加了一个着色器域的衰减,亮度值的125帧是纯黑,135帧的时候纯白,这样我觉得过渡会稍微好一点:
最后还有一点点小问题,粒子在汇聚的时候,部分粒子会留在相框的四边以及底部:
这里我们可以首先添加一个限制修改器,让粒子受到湍流场影响的时候Y轴只在正方向上运动,这样就可以避免相框的底部会有粒子的情况:
四边残留的粒子我暂时没有什么更好的办法处理,于是就加了四个杀死场搞掉不需要的粒子:
这里补充一下,过程中在布料的发射器里把控制粒子飘散汇聚的修改器都排除:
最后我把粒子的数量提升到了40W:
感觉差不多就可以将粒子进行缓存了,缓存时间其实不长,但是体积挺大的,有5个多G,毕竟粒子数量有那么多:
接下来就是渲染部分了,其实我觉得没有太多可说的,渲染我并没有做的多复杂,先新建一个大大的平面当作墙壁:
设置渲染尺寸,打开GI,这些都不用说哈:
新建摄像机固定渲染视角也不用说:
新建环境光,不多说不多说:
给粒子飘散的发射器添加RS对象标签,模式选择为优化球体,适当的修改一下粒子尺寸:
粒子的材质我用的是RS预设的纸的材质,然后用用户数据节点读取粒子的颜色链接到漫射颜色上:
相框的材质首先中间的面我单独上了一个RS的预设纸材质:
然后边框我是在魔顿网上下载的一套木纹纹理直接上上去:
墙壁我就直接用的RS的噪波做了一点凹凸:
视情况补了两盏灯:
渲染时长还挺长的,接近16个小时:
动图压缩的很厉害,要是前面布料的时长再长一点,然后覆盖场开始的时候湍流场再晚点消失形态应该还要好一点,不过这样渲染的总帧数可能会更长。
基本上就是这些吧,好啦,今天的分享就到这里,源文件可以在文章末尾的「附件下载」板块获取~
来源:https://uiiiuiii.com/cinema4d/1212440052.html
图文来源于网络,如有侵权请联系删除。