unity爆炸效果制作全过程OK
2024/1/31 11:39:45
2024/1/31 11:39:45
游戏里有爆炸的要素,那么很可能需要爆炸的粒子特效。调制爆炸粒子特效的几个关键模块是:Emission、Shape、Texture Sheet Animation、Color over Lifetime、Size over Lifetime、Renderer。
效果如上,爆炸分为三个部分:中间的爆炸燃烧烟雾、周围溅射的火花image、爆炸时的能量冲击image。
新建一个Particle System,并把Renderer模块里的Material设置为如下材质图,高清的材质图请在这里下载>>>>。
因为是爆炸,事件持续不需要很长,但有燃烧,所以也不会太短。不需要他去移动,所以速度设置为零。Emission设置参考如下。Rate over Time设置为零,因为烟雾是瞬间产生的。反而添加一个Burst,来瞬间发射粒子。主要设置Count参数。Shape主要设置发射空间的形状,爆炸一般是圆的吧,3D就设置Sphere,2D就设置Circle,圆的半径视爆炸范围而定。Radius Thickness设置为0让它在整个圆里产生粒子。
Texture Sheet Animation是重点。
Mode设置成Grid,Tiles设置成6✖6,因为上面素材的烟雾就是6✖6的。
Start Frame即起始帧设置成第一帧0,Frame over Time设置成从0到35的直线,这样每个粒子都会播放上面素材的烟雾动画
在刚刚的燃烧粒子里创建一个子粒子系统,这个粒子的材质用默认材质就好。关键在于Start Speed和Start Lifetime,速度相对大一些,起始寿命小一些,适当的增加随机性。可以设置Gravity Modifier让溅射的粒子会有受重力下落的效果。使用Bursts。这里设置了Cycles是为了让它有“持续”但是”瞬间“的感觉。每间隔0.01秒发射30个粒子,发射5次。在50毫秒里就完成了这5次发射,所以也不明显,这里根据自己需要设计。Shape没什么好说的,圆形就完事了。
随着时间流逝,溅射的粒子燃烧殆尽。可以在ColorOverLift透明里加个渐变。Renderer里的Render Mode设置成Stretched Billboard,这样溅射的火花就会在它速度的方向上拉长,更接近真实的视觉效果。创建一个新的Particle System作为第一个粒子的子物体,用上面的素材创建材质,并应用到Renderer的Material里
Start Lifetime同样短一些。Start Speed为零,因为我们不希望它移动,只希望它的大小改变,这个在后面设置。Start Size设置一个合理的值,因为后面的设置会受这个影响。Emission可以自行设置。如果想要有多重冲击波,建议改Cycles和Interval。如果使用Rate over Time,还要适当修改基本参数里的Duration,让它不会发射太久。Shape使用Circle即可。Color over Lifetime里添加一个渐变消失,可以选喜欢的颜色。Size over Lifetime设置让他从小大大,可以直线可以曲线,大小按照自己需求。
可能遇到的问题
2D项目可能遇到这样奇怪的情况,Scene视图里可以看到粒子,但是Game视图里却只能看到一部分,有时候还会消失不见。
这是因为,如果在Shape里选择的是3D发射形状,粒子具有z轴速度,当粒子沿着z轴移动到摄像机范围外,或者移动到某些图层下面的时候就会看不见。可以选择2D的发射形状,或者设置相机的范围,又或者设置Renderer里的Sorting Layer或者Sorting In Layer,又或者在Limit Velocity over Lifetime里限制粒子的z速度。
Color over Lifetime不起作用:在这个粒子系统使用的材质里,去掉Emission的选项。 [1] [2]
相关文章(向右看)..
效果如上,爆炸分为三个部分:中间的爆炸燃烧烟雾、周围溅射的火花image、爆炸时的能量冲击image。
新建一个Particle System,并把Renderer模块里的Material设置为如下材质图,高清的材质图请在这里下载>>>>。
因为是爆炸,事件持续不需要很长,但有燃烧,所以也不会太短。不需要他去移动,所以速度设置为零。Emission设置参考如下。Rate over Time设置为零,因为烟雾是瞬间产生的。反而添加一个Burst,来瞬间发射粒子。主要设置Count参数。Shape主要设置发射空间的形状,爆炸一般是圆的吧,3D就设置Sphere,2D就设置Circle,圆的半径视爆炸范围而定。Radius Thickness设置为0让它在整个圆里产生粒子。
Texture Sheet Animation是重点。
Mode设置成Grid,Tiles设置成6✖6,因为上面素材的烟雾就是6✖6的。
Start Frame即起始帧设置成第一帧0,Frame over Time设置成从0到35的直线,这样每个粒子都会播放上面素材的烟雾动画
在刚刚的燃烧粒子里创建一个子粒子系统,这个粒子的材质用默认材质就好。关键在于Start Speed和Start Lifetime,速度相对大一些,起始寿命小一些,适当的增加随机性。可以设置Gravity Modifier让溅射的粒子会有受重力下落的效果。使用Bursts。这里设置了Cycles是为了让它有“持续”但是”瞬间“的感觉。每间隔0.01秒发射30个粒子,发射5次。在50毫秒里就完成了这5次发射,所以也不明显,这里根据自己需要设计。Shape没什么好说的,圆形就完事了。
随着时间流逝,溅射的粒子燃烧殆尽。可以在ColorOverLift透明里加个渐变。Renderer里的Render Mode设置成Stretched Billboard,这样溅射的火花就会在它速度的方向上拉长,更接近真实的视觉效果。创建一个新的Particle System作为第一个粒子的子物体,用上面的素材创建材质,并应用到Renderer的Material里
Start Lifetime同样短一些。Start Speed为零,因为我们不希望它移动,只希望它的大小改变,这个在后面设置。Start Size设置一个合理的值,因为后面的设置会受这个影响。Emission可以自行设置。如果想要有多重冲击波,建议改Cycles和Interval。如果使用Rate over Time,还要适当修改基本参数里的Duration,让它不会发射太久。Shape使用Circle即可。Color over Lifetime里添加一个渐变消失,可以选喜欢的颜色。Size over Lifetime设置让他从小大大,可以直线可以曲线,大小按照自己需求。
可能遇到的问题
2D项目可能遇到这样奇怪的情况,Scene视图里可以看到粒子,但是Game视图里却只能看到一部分,有时候还会消失不见。
这是因为,如果在Shape里选择的是3D发射形状,粒子具有z轴速度,当粒子沿着z轴移动到摄像机范围外,或者移动到某些图层下面的时候就会看不见。可以选择2D的发射形状,或者设置相机的范围,又或者设置Renderer里的Sorting Layer或者Sorting In Layer,又或者在Limit Velocity over Lifetime里限制粒子的z速度。
Color over Lifetime不起作用:在这个粒子系统使用的材质里,去掉Emission的选项。
相关文章(向右看)..