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] 
}
- 2010-10-02
- 2009-10-13
- 2009-10-13
- 2010-01-05
- 2010-10-02
- 2010-08-29
- 2009-10-13
- 2009-10-13
- 2009-10-13
- 2009-10-13
- 2010-09-13
- 2009-10-13
- 2009-10-13
- 2009-10-13
- 2010-02-09
关于我们 | 联系方式 | 广告服务 | 免责条款 | 内容合作 | 图书投稿 | 招聘职位 | About CG Time
Copyright © 2008 CGTime.org Inc. All Rights Reserved. CG时代 版权所有