Unity之ASE实现卡通火焰

一.前言

一般我们在游戏中实现火焰特效,都是通过粒子特效,虽然效果好,但是用粒子特效,如果粒子数量过多,会占用大量cpu性能,甚至导致卡顿掉帧。所以我打算用shader实现一个火焰效果,把cpu的压力转移的gpu上去。而且效果更好。
先看效果:
在这里插入图片描述

二.实现逻辑

实现这个效果主要分为3个部分

1.实现火焰的波动效果

通过一个点状图,分别缩放不同大小,交错向上平移,实现火焰的波动效果。
然后通过一个火焰形状的遮罩图,得到火焰基本形状
在这里插入图片描述

2.通过step函数,对火焰进行内焰和外焰的分离上色。得到一个带颜色的火焰。

在这里插入图片描述

3.实现一个渐变色,让火焰更加逼真。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq563129582/article/details/125526103