一、使用Niagara粒子系统实现下雨效果

1. 首先创建一个雨水的材质

新建 — 材质

unity 雨松_ide


unity 雨松_ue4_02

2. 创建Niagara系统
  • 新建

新建 — FX — Niagara系统 — 来自所选发射器的新系统 — 下一步 — 选择Fountain — 点击+号,点击完成

  • 删除下面的“Add Velocity in Cone”
  • 添加“Add Velocity”
    点击加号然后添加

    这样使得粒子效果变为向下发射
  • 配置
  • 添加"box location"


    设置的下雨的场景范围
  • 范围调整
  • 让粒子效果更像雨
  • 让雨滴方向向下,更换雨滴材质
  • 设置粒子数量,影响的是效果的大小,后面要改变雨量的效果,就是动态修改的这个参数
  • 另外,可设置使用GPU计算模拟,这个同时需要设置固定边界

    到这里,下雨的效果已经实现。

二、暴露粒子参数,实现动态修改粒子效果

  1. 首先,在粒子中新增一个参数,选择浮点类型。在右侧可以设置默认值,因为想让他初始是0,就不设置就可以。

    然后拖拽这个参数到下面这一行

    这样参数就设置成功,可以在外面调用、修改。
  2. 新建蓝图,存放Niggara粒子系统,并且添加一个点击事件

    其中,后面的slider_rain是用来控制雨量随时间变化的ui窗口
  3. 创建slider_rain
    界面:

    方法:

    这里就实现了随着滑动条拖动时间的节点,雨量随之变化。
    效果图:

三、雨变大,其他效果随之触发

要实现这个效果,就需要调用雨量的参数。遇到的问题就是这个值更改后的参数不知道在别的地方怎么调用,解决的方法是:使用事件分发器。

在slider_rain中创建一个事件分发器用于接收改变后的雨量参数,然后在需要的地方调用。

unity 雨松_unity 雨松_03


调用参数,通过if条件判断使得雨量大于3000时石头破碎(关卡蓝图当中调用):

unity 雨松_ci_04


ps:石头破碎的效果可以搜索ue4破碎插件使用。