用户名 密    码

After Effects 爆炸效果:构建3D粒子发生器(10)

来源:火星时代 作者:XiaoYu 发布时间:2010-09-13 08:36:47 网友评论 0

以下就利用粒子的再生制作水流效果。
新建一个与前面设置相同的合成,命名为“fountain”。输入一幅如图10所示的背景图,然后输入粒子图(透明背景上的一个小白点),然后设置包括上述以外的其余表达式。注意,此合成包含150个粒子层(根据粒子大小增减),使得到较好的效果。
图10 背景图

\

Position与physics_styles explosion合成相同,只是修改了一些参数,增加对发射器的控制,全部代码为:
g=300; //地心引力
vmin=200; //最小初始速度
vmax=300; //最大初始速度
amin=90; //最小垂直发射角
amax=90; //最大垂直发射角
d=7; //阻力系数
ew=50; //发射器宽度
birth=effect("life").param("Point")[0];
life=effect("life").param("Point")[1];
seed_random(birth,true);
origin=this_comp.layer("Null 1").position.value_at_time(birth) + [random(-ew/2,ew/2),0,0];
if(life==0){
origin
}else{
age=time-birth;
v_e=this_comp.layer("Null 1").position.velocity_at_time(birth); //发射器速度
s=random(vmin,vmax);// 初始速度
a=degrees_to_radians(random(amin,amax));// 垂直角
r=degrees_to_radians(-90) //绕z轴旋转
x=s*Math.sin(a)*Math.cos(r);
y=-s*Math.cos(a);
z=s*Math.sin(a)*Math.sin(r);
v=[x,y,z];
new_speed=length(v);
unit_v=normalize(v);
if (d>0){
delta_p=new_speed*(1-Math.exp(-d*age))/d;
}else{
delta_p=age*new_speed;
}
delta_w=w*age;
delta_g=g*age*age/2;
wa=degrees_to_radians(wdir);
origin + delta_p*unit_v + [delta_w*Math.cos(wa),0,delta_w*Math.sin(wa)] + [0,delta_g,0]
}

搜索栏目