前2篇研究的粗略一点,就算是入门吧。我曾在《X-PARTICLES粒子入门(2)字体沙落化》制作过如下的动画:粒子在字体表面生成,然后,慢慢地从一边散落到地面。如下图:
那么,TP粒子能否实现这样的动画呢?又如何制作的呢?下面我们来研究一下。
【研究】
第一部分 原理:
看我上面简单绘制的原理图:
首先制作--“粒子测试”文字模型,转化多边形。再建立一个碰撞平面或碰撞体。然后,设置两组粒子,第一组粒子在文字表面生成,不受重力等影响,静止在字体模型表面上(粒子越多越好)。移动碰撞平面从右到左 ,第一组粒子可以与碰撞平面发生碰撞。当相互接触的时候,触发了碰撞事件,转换到第二组粒子。第二组粒子受重力、风力影响、还受到地面的碰撞影响。
TP粒子是节点结构,事件触发,就是这样。
你一定会想,那些细小的沙粒是用多边形球体替代的吗?我告诉你不是!如果那样,几十万粒子被几何球体替代,那得需要千万的面啊,台式机渲染都不够。
我给空间的粒子直接赋予的是材质。空间的点能够渲染出来吗?
我告诉你不仅是空间的点上材质能渲染出来,就是空间的线也能渲染出来。只不过这个材质有点特殊,不是C4D的标准材质。
那是什么材质?毛发材质。
第二部分 制作
1、首先制作字体模型,转化为多边形。(略)
2、建立空白物体,改名字为TP,建立XPRESSO标签。
3、这次我们选择粒子放射源为“粒子生成”节点,这个节点是“粒子风暴”节点的简化版,控制参数很少,你看看它的属性就知道了。我一般就是物体发射静止的粒子,就用它。
4、如何让它从字体上发射粒子呢?需要“粒子数据设置”节点和“粒子体积位置”辅助它。
5、连接好以后,点击播放。粒子就从隐藏的字体上发出。
6、粒子好像有点少。选择粒子生成--属性。生成类型--发射(每帧发射1000个粒子)
7、点击播放,第一帧就是1000粒子,第二帧2000个,越往后,越多,我的天啊。
8、我们想:第一帧一次发射足够的粒子,从第二帧就不发射了。必须设置一个开关。建立一个开关节点,还真有。
9、开关节点输出的是布尔值,把它与粒子生成的启动连接。在第一帧,勾选数值,K帧,在第二帧,不勾选数值,K帧。
10、点击播放。粒子就在第一帧发射粒子1000个,以后不再发射。有点少啊!为了编辑速度,保持如此。等都设置完成,再提高发射数量。
11、建立两组粒子A组和B组。
12、在场景建立一个平面,分段数为1,再建立一个球体为碰撞体。全部转化为多边形。
13、建立粒子群组节点。粒子生成节点在字体表面生成的粒子归为A组。
14、建立粒子传递,再添加粒子反弹节点。把球体作为碰撞体拖入。告诉A组粒子,与球体相撞时有碰撞效果。
15、在场景中,把球体在X轴方向,第一帧进行K帧。
16、移动60帧,把球体移动字体左侧,再K帧。形成60帧从右到左的动画。
17、点击粒子碰撞节点--属性,设置如下:反弹类型--对象;反弹值增大。
18、点击测试,OK。
19、点击粒子反弹输出端,找到事件(如果发生碰撞,事件端口输出为真)
20、建立粒子群组节点,打开输入端的开启。(启动开关)
21、按照如下相互连接,把B组拖入。
什么意思呢?当A组中的每一个粒子发生碰撞,就会触发事件,B组粒子就会替代那个碰撞的A组粒子,继承有关A组的位置等属性,又携带B组粒子自己的属性。你就记住,B代替A就可以了。
22、点击播放测试,看颜色。
23、建立粒子传递,为B组粒子传递属性,建立如下节点。把平面拖入到粒子反弹节点。
24、建立两个空白对象,一个Z方向,向下为G,指示重力方向;一个Z方向向上,命名为F,指示风的方向。
25、把它们拖入相应的节点。
26、设置B组粒子反弹的属性如下:
27、设置粒子重力节点属性如下:
28、设置风力节点属性如下。以上的参数,根据你测试的情况,自己调整,不必非得与我相同。
29、点击播放测试。A组粒子发生碰撞立即转换为B组粒子(红色),B组粒子受到风力和重力的作用飞舞起来,最后落到地面与地面碰撞。
30、场景中的粒子有点少,点击粒子生成节点,找到属性--发射,改为10000每帧。
31、我的笔记本测试就有点卡了。效果不错。如何渲染呢?
32、添加“粒子几何体”。
33、再建立一盏灯光,选择软阴影。
34、建立毛发材质。
35、勾选颜色和粗细两项,设置颜色。
36、设置粗细。
37、把毛发材质赋予“粒子几何体”,渲染发现没有?
38、右键,再添加--毛发标签--渲染。
39、如此。
40、渲染,不仅渲染出粒子,而且还有阴影啊!粒子10000有点少啊 ?
41、粒子生成节点--属性--发射改为50000,渲染还少?笔记本播放的模拟计算已经非常卡了,但渲染一点也不慢。
42、还有一种办法,点击毛发材质--粗细改为2,不错吧!
43、毛发材质--粗细改为3,不错吧!
44、渲染如下:
45、本篇已经完成任务。
再多给你点提示,选择毛发的渲染标签--属性--模式--默认是位置。
改为速度,渲染看看。
哇!!
【后记】
1、TP粒子到底最大能发出多少呢?我查了一下资料,大概为21亿个左右,而且这些粒子每个都有独自的ID,你可以分别控制。TP粒子是基于XPRESSO,而XPRESSO的节点有很多,这些节点搭配起来,能干好多的事情啊!只有你想不到,没有它做不到的。感觉就是没有X-PARTICLES用起来习惯。
2、TP粒子不太好学,是吧?个人认为,首先还是先学XPRESSO,明白节点之间的关系,再学它。如果你从事室内建筑设计,以渲染为主,这个不学也罢。但你想从事影视特效,以特效为主,粒子系统是绕不开的。最好还是学点,有用!或者你认为它实在太麻烦,太难,你也可以不学它,不用它,到AE中使用Particles插件,最后合成。但受局限啊!要不花几千块钱购买XP3.5粒子插件?那也得从头学起啊。