• 【Unity3D】基于粒子系统实现烟花特效


    1 需求实现

            粒子系统ParticleSystem 中介绍了粒子初始化、粒子发射、发射器形状、渲染器、碰撞、子发射器、拖尾等粒子系统的基本用法,本节将基于粒子系统实现烟花特效。

             实现需求如下(资源见→Unity3D烟花特效预设体文件):

    • 粒子发射阶段,只有一个粒子(记为 Spindle 粒子系统),其速度递减,颜色随机,有拖尾特效;
    • 粒子上升阶段,在 Spindle 周围有环绕的粒子(记为 Around 粒子系统),其速度随机,颜色随机,方向随机;
    • 爆炸阶段,粒子向四周爆炸(记为 Blast 粒子系统),其速度随机,颜色随机,有拖尾特效。

            综上,需要设计 3 个粒子系统(在 Hierarchy 窗口右键,依次选择【Effects→Particle System】,可以创建一个粒子系统),如下:

            其中,Spindle 粒子系统与 Around 粒子系统并行发射粒子,Spindle 粒子系统与 Blast 粒子系统串行发射粒子。

            烟花在黑夜中燃放更好看,因此,需要将相机的 Clear Flags 属性设置为 Solid Color,Background 属性设置为黑色,如下:

    2 Spindle 粒子系统设计

            1)初始化模块

             2)发射模块

             3)发射器形状模块

            4)生命周期内粒子速度变化模块

            速度系数由 1 变化到 0。 

             5)子发射器模块

             6)拖尾模块

             7)渲染器模块

             其中,Mi 材质球由一个 “米” 字图片生成,如下:

            注意: “米”字之外无像素,不是黑色填充,图片需要保存为 png 格式。

            材质球的 Shader 属性需要设置为 Particles/Additive,如下:

    3 Around 粒子系统设计

            1)初始化模块

            2)发射模块

            3)发射器形状模块

            4)生命周期内粒子大小变化模块

            5)生命周期内方向变化模块

            6)渲染器模块

    4 Blast 粒子系统设计

            1)初始化模块

            2)发射模块

            3)发射器形状模块

            4)生命周期内粒子大小变化模块

             大小系数由 1 变化到 0。 

             5)拖尾模块

            6)渲染器模块

    5 运行效果

  • 相关阅读:
    ceph分布式存储部署
    ZooKeeper 避坑实践:如何调优 jute.maxbuffer
    部署搭建decentraland流程讲解
    基于BP神经网络算法的性别识别
    2. 选择排序
    npm版本号含义
    echarts简单的圆角圆环实现
    知识点滴 - MAC and PHY
    宠物寄养小程序实战教程(上篇)
    物理服务器安装CentOS 7操作系统
  • 原文地址:https://blog.csdn.net/m0_37602827/article/details/126576281