unity——火焰粒子系统制作

简单例子系统制作

一、任务要求

  • 按参考资源要求,制作一个粒子系统,参考资料
  • 使用 3.3 节介绍,用代码控制使之在不同场景下效果不一样

二、实现效果

在这里插入图片描述

三、程序实现

3.1 实现下雪作为背景

  • 首先新建一个粒子系统
  • 设置对应的Shape模块
    • 设置Shape为Box,即为设定发射器为一个方形发射器:
    • 在这里插入图片描述
    • 然后我们设定这个发射器的形状,把它做成我们要的方形即可
  • 设定Particle System Main模块
    • 在这里插入图片描述
    • 我们设定StartLifetime = 5 ,即为粒子系统的生命周期
    • StartSpeed = 5 初始速度
    • Startsize , 初始大小
    • 其余选项默认即可
  • Emission模块:
    • RateOvertime:设定每秒发射的例子数
    • 在这里插入图片描述
  • Render模块:保持默认即可

3.2 实现火焰效果

新建粒子系统
  • 我们火焰效果需要的模块如下所示:
  • 在这里插入图片描述
Main模块

VV

  • StartLifetime:5 设定存活时间
  • StartSpeed:0 ,因为我们要实现火焰,所以我们不要初速度,在其他部分增加速度
  • StartRotation:0 360,这里我们选用随机模式,在0°和360°之间随机,来模拟火焰效果
  • 其他部分默认即可
Emission

在这里插入图片描述

  • Rateovertime:我们使用默认的一秒十个即可
Shape

在这里插入图片描述

  • Shape:Sphere 设定为我们火焰需要的模型
  • Radius:0.1 为了实现火焰的聚拢效果,越小越集中
  • 其余默认即可
Velocity OverLifeTime
  • 设定粒子的收到的速度
  • Linear Y:0.1 , 因为是火焰,要受到向上的力
  • 在这里插入图片描述
Force OverLifeTime
  • 设定收到的力,这里注意要设定world坐标

在这里插入图片描述

Color OverLifeTime
  • 设定了粒子系统的颜色,我们设定它是一个类似火焰的渐变色(这里可以自己选用自己喜欢的颜色
    在这里插入图片描述
SizeOverLifetime
  • 实现类似火苗的形状,所以我们令其逐渐变小
  • 在这里插入图片描述
Render
  • 默认即可
代码控制火苗风向
  • 我们只要在代码中增加一个x轴方向的Force
    public void LeftWind()
    {
        ParticleSystem.MinMaxCurve temp = forceMode.x;
        temp.constantMax += -0.3f;
        forceMode.x = temp;
    }

    public void RightWind()
    {
        ParticleSystem.MinMaxCurve temp = forceMode.x;
        temp.constantMax += 0.3f;
        forceMode.x = temp;
    }
实现效果

在这里插入图片描述

gitee地址

gitee仓库

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值