
此示例演示了一个位置事件,该位置事件使用一个引导粒子发射器,该发射器将其位置作为事件发送到此粒子系统中的其他两个发射器,允许它们在那个位置产生。在求解粒子的位置和速度后,事件会在帧的末尾发送。
效果就是小球被发射出来同时受重力影响自然下落,在小球经过的位置产生更小的小点,同时生成拖尾效果。
制作步骤:
1、首先制作发射小球的发射器,使用模板Fountain。

注意,勾选需要持久id

Emitter的持续时间使用系统的

粒子每秒生成数量改为1.33

粒子初始的大小、颜色、生命周期如下图:

粒子出生位置不变,调整锥形内出生速度参数

调整重力值为-275,删除scale color模块。

粒子更新下添加生成位置事件,方便后面其它发射器接收。


事件生成器(如“生成位置事件”)存在于粒子脚本中。通常,我们默认在解算器运行后发送位置事件,以获得最高精度,但模块可以移动到您喜欢的任何位置,以确定何时发送事件。
我们将“发送速率”默认为每秒合理的事件数,但可以降低该值以限制事件的发送速率。这将起到优化的作用。可选每帧发送一次事件。
Generate Location Event还有一个名为“Event Generation Enabled”的bool,用于确定是否发送事件。这个bool可以由任何你喜欢的逻辑驱动,例如,只有当粒子年龄超过某个值时才为true。
事件接收器内部需要一个称为“事件处理程序”的附加脚本。您可以将其视为另一个脚本,如粒子生成或更新,它在接收到事件后运行。这需要包括一个“接收X事件”模块来处理事件,然后可以将其他模块放置在内部,以对接收事件的粒子产生额外影响,例如,一个额外的定位模块,以提供与接收事件位置的额外偏移。
2、添加一个空的发射器,让小球经过位置产生更多的小点。
设置粒子大小、颜色和生命周期

产生的粒子给添加一个随机的速度

让产生的小粒子受到重力影响

粒子生命周期内产生颜色和不透明度的变化,注意粒子的生命周期是前一个粒子发射器还是自己的?

添加一个事件处理器

调整参数

添加接受位置事件模块


Normalized Age是Output,所以用的是它自己的生命周期,如果使用的是Apply,那么用的就是生成位置事件发射器的粒子的生命周期。自己可以尝试下效果。
效果如图:

3、添加拖尾效果粒子发射器
initialize particle删除,添加Initialize Ribbon模块

把产生小粒子的Color模块复制过来。

添加一个新的事件处理器


把sprite渲染器更换成条带渲染器,添加DefaultRibbonMaterial材质,并把统一缩放和平滑过渡打开。

观察效果

ok!
277



被折叠的 条评论
为什么被折叠?



