粒子子发射器

链式子发射器

有时候,单一的粒子系统无法单独创建出视觉效果。有时候,粒子系统的生成需要作为对另一个粒子系统中发生的某件事的响应。烟花就是一个很好的例子。它们通常由几个按顺序发生的爆炸阶段组成。子发射器是实现这种效果的好方法。

分配子发射器

点击分配子发射器……

粒子系统列表

……然后从场景中选择一个粒子系统

子发射器是作为另一个粒子系统子级的粒子系统。你可以为子发射器再添加子发射器,将粒子效果链化,爱叠加多深就叠加多深。

要创建子发射器,同一场景中至少需要有两个粒子系统。将其中一个作为父级,另一个设为其子级。找到父级上的 Sub Emitter 属性,然后点击旁边的框,分配子发射器。你会看到场景中可用粒子系统的列表。请选择一个,然后点击确认按钮。

实例化场景中的粒子系统也可以设置为子发射器,只要在实例化场景中启用了 Editable Children 属性即可。反之亦然:你可以将子发射器分配给实例化场景中的粒子系统,即使是来自其他实例化场景的粒子系统。

备注

当你将一个粒子系统设置为另一个粒子系统的子发射器时,即使选中了 Emitting 属性,系统也会停止发射。不要担心,它没有坏。一旦每个粒子系统成为子发射器,就会发生这种情况。只要将粒子系统用作子发射器,你也无法重新启用该属性。

警告

即使可以从可用的粒子系统列表中选择父粒子系统,作为其自身子发射器的粒子系统在 Godot 中也不起作用。它根本不会生成。对于任何其他类型的递归或自参照子发射器设置也是如此。

发射器模式

当你分配子发射器时,你不会立即看到它生成。默认情况下,发射处于禁用状态,需要先启用。将 ParticleProcessMaterialSub Emitter 分组中的 Mode 属性设置为 Disabled 以外的其他属性。

发射器模式还决定产生多少个子发射器粒子。ConstantFrequency 属性设置的频率生成单个粒子。对于 At EndAt Collision ,你可以直接使用 Amount At EndAmount At Collision 属性设置发射量。

限制

要记住的一件事是,来自子发射器的活动粒子总数始终受到子发射器粒子系统上的 Amount 属性的限制。如果你发现从子发射器生成的粒子数量不足,则可能需要增加粒子系统中的数量。

当粒子系统作为子发射器生成时,某些发射器属性将被忽略。例如,Explosiveness 属性不起作用。根据发射器模式的不同,粒子要么以固定的间隔依次生成,要么一次爆炸性全部生成。