ue4使用Niagara粒子实现下雨效果,使用蓝图调节雨量

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

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

新建 — 材质
在这里插入图片描述
在这里插入图片描述

2. 创建Niagara系统

  • 新建

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

  • 删除下面的“Add Velocity in Cone”
    在这里插入图片描述
  • 添加“Add Velocity”
    点击加号然后添加
    在这里插入图片描述
    这样使得粒子效果变为向下发射
    在这里插入图片描述
  • 配置
    在这里插入图片描述
  • 添加"box location"
    在这里插入图片描述
    在这里插入图片描述
    设置的下雨的场景范围
  • 范围调整
    在这里插入图片描述
  • 让粒子效果更像雨在这里插入图片描述
  • 让雨滴方向向下,更换雨滴材质
    在这里插入图片描述
  • 设置粒子数量,影响的是效果的大小,后面要改变雨量的效果,就是动态修改的这个参数
    在这里插入图片描述
  • 另外,可设置使用GPU计算模拟,这个同时需要设置固定边界
    在这里插入图片描述
    到这里,下雨的效果已经实现。

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

    1. 首先,在粒子中新增一个参数,选择浮点类型。在右侧可以设置默认值,因为想让他初始是0,就不设置就可以。
      在这里插入图片描述
      然后拖拽这个参数到下面这一行
      在这里插入图片描述
      这样参数就设置成功,可以在外面调用、修改。
    1. 新建蓝图,存放Niggara粒子系统,并且添加一个点击事件
      在这里插入图片描述
      其中,后面的slider_rain是用来控制雨量随时间变化的ui窗口
    1. 创建slider_rain
      界面:
      在这里插入图片描述
      方法:
      在这里插入图片描述
      这里就实现了随着滑动条拖动时间的节点,雨量随之变化。
      效果图:
      在这里插入图片描述
      在这里插入图片描述

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

要实现这个效果,就需要调用雨量的参数。遇到的问题就是这个值更改后的参数不知道在别的地方怎么调用,解决的方法是:使用事件分发器。
在slider_rain中创建一个事件分发器用于接收改变后的雨量参数,然后在需要的地方调用。
在这里插入图片描述
调用参数,通过if条件判断使得雨量大于3000时石头破碎(关卡蓝图当中调用):
在这里插入图片描述
ps:石头破碎的效果可以搜索ue4破碎插件使用。

猜你喜欢

转载自blog.csdn.net/m0_46538057/article/details/127887851