粒子按序播放生成Niagara模块编写
本文最后更新于374 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

思路:

先求出单个的段数,然后用单个的段数去乘上粒子的ID从而得出每个粒子的偏移值

模块思路计算原理如图:

模块制作步骤

需要的参数以及属性:

粒子ID   (UniqueID)

发射方向 (创建参数Vector→名字改为Dir)

方向:无论需要粒子需要往那个方向偏移,最后都是需要方向与最终的结果进行相乘

发射距离 (创建参数Float→名字修改为Distance)

距离:

发射数量 (创建参数Float→名字修改为Count)

模块编写连接:

1.在Particle Spawn模块下创建Module并打开

生成粒子位置的编写以及计算方法

2.粒子的数量乘以单段的距离就等于总距离,目前总距离和粒子数量是我们自己设置的,是已知的,所以单段的距离就是用一个除法,用总距离除以段数,刚才我们曾讲过段数的数量就是总的点数减去1,然后得到单段的距离之后,再乘上粒子的ID。

3.将计算出来的结果输出为Position属性

设置Emitter层级相关生成粒子的参数

4.创建用户参数将参数关联起来

5.但目前粒子是一次性全部出来的,而不是连续出现的,所以我们不能使用burst进行一次性发射粒子,而是需要使用rate进行持续发射粒子

(持续发射Rate的发射数量应该是多少可以简单的计算下)

①:首先将生命改为1

②:然后给发射器一个rate节点,发射数量改为1

③:把Emitter State节点的发射循环模式改为一次性发射,然后观察粒子会发射多少个

现在可以看到,现在是一秒钟发射一个,循环时长为1。这种情况下并没有粒子发射出来,所以我们把粒子Rate发射量改为2,再进行查看时;

当我们把发射率改为2后,会发现粒子系统会发射1个粒子

所以,当我们需要把发射率最低改为2,才能满足粒子发射器时长循环为1的情况下发射出1个粒子

但是现在不管我们把发射率设置为10还是5,最终视图中出现的粒子永远会比我们设置的发射率少一个粒子

6.现在需要把发射率与数量距离以及时间三个同时进行关联

首先我们需要先使用我们的数量除以时间,因为目前已知发射出的粒子数量会比发射率少一个粒子生成,所以我们还需要在结果上进行+1,从而来达到发射数量与生成的数量相同,计算如图:

7.到目前为止,发射方面的操作已经完成设置,接下来需要设置粒子的尺寸大小

粒子尺寸大小设置:

8.首先让我们将渲染类型改为Mesh以方便观察模型大小变化,然后继续进入我们的模块

9.首先使用ID除以我们设置的粒子数量,从而得到一个从小到大的大小变化。再对得到的结果乘以一个整体的缩放,最后将我们最终得到的结果加到发射器原本的Scale属性中并输出。

结果如图:

10.接下来我们还需要加两个小参数,一个是加一个单独的对每个轴向不同的缩放操作空间,同时还需要添加一个粒子的位置的偏移,完成后进行输出

至此我们需要的整个Module都已经制作完成了!!!

最终效果预览:

我们最后可以将渲染模式替换为Component模式

渲染模式修改方式如图

效果预览:

Thanks!~

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇