分析
真实的火焰效果,通常包括:火、火光、火星等组成部分,而火焰对周围环境的烘焙,可以通过灯光实现,如点光源。
针对火焰组成部分,我们可以创建对应的粒子系统组件,实现相应的效果,如下图所示:
1、Fire 火,火焰的主体部分,因燃烧产生的剧烈化学反应,灵动多变;
2、Flash 火光,即火焰的闪光效果,忽明忽暗;
3、Spark 火星,因高温而升起的燃烧碎屑,行踪飘忽,颜色渐变,效果随机;
4、Point Light 光亮,火焰燃烧对周围环境的烘焙效果;
1.1、新建3D工程
1.2、导入资源素材(后面会提供素材包)
2.1、新建场景FireScene
2.2、设置场景天空盒,选择BlueSkybox
2.3、创建平面(地面) 用于放置火焰,并作为被烘焙对象(即火焰的光照能显示在该物体上) 1、创建Quad,改名Ground 2、置为原点位置,即坐标(0,0,0)
2.4、调整摄像机视角 1、Scene场景中调整为合适视角(如上图所示视角即可) 2、选中摄像机Main Camera 3、设置摄像机使用当前视角:GameObject --> Align With View 3、制作Fire效果(火)
为了最好体现火的形态变化,此处使用美术人员提供的火的多帧形态图,作为粒子贴图。
火的多帧形态图,素材共4帧,两行两列3.1、创建粒子系统对象,命名Fire,改其发射方向
正常的火焰效果,火焰粒子应是朝上方向发射; 而新建的粒子系统默认朝前播放粒子,所以需要x轴旋转-90°,改为朝上发射3.2、思考:火 需要使用粒子系统的哪些模块?
1、基础模块,主要控制粒子生命时长、大小、方向、颜色、重力等 2、Emission模块,粒子主要模块,主要用于控制粒子发射 3、Shape模块,粒子主要模块,主要用于控制粒子发射器的形状 4、Renderer模块,粒子主要模块,主要用于控制粒子渲染 5、Color over Lifetime,控制火的颜色随生命周期而改变,可使火焰效果更真实生动 6、Texture Sheet Animation,用于控制火焰的多帧形态图,随机切换指定帧3.3、先设置Renderer模块
1、Material 选择多帧火焰图 2、设置Sort Mode:Youngest in Front (即:后渲染出来的显示在最上/前层)3.4、设置Texture Sheet Animation模块 1、Tiles : 是指纹理在X(水平)和Y(垂直)方向上划分的平铺数量,此处分别设置为 2 2、Frame over Time:默认曲线,指定动画帧随着时间的推移如何增加。此处由逐帧变化,改为随机固定某一帧 3、Cycles : 是指动画序列在粒子生命周期内重复的次数,此处设置为4,当然也可根据自身喜爱更改数值
3.5、设置基础模块
1、Duration 粒子发射时长,此处设置为1秒 2、Start Lifrtime 单个粒子的生命周期,随机1秒以下,此处设置0.3 ~ 0.5秒 3、Start Speed 粒子速度0.1,火多帧图上窜效果有波动,但不宜过大 4、Start Size 0.7 ~ 1 增加随机性 5、Start Rotation -20° ~ 20° 增加随机性 6、Gravity Modifier 重力修改器,因火为升力,此处需改为-1 7、Max Particles 最大数量为25,不宜过多 以上属性可根据自身喜好,微调其数值