粒子表达式

用于创建要应用于粒子系统中的发射器的材质表达式。

Choose your operating system:

Windows

macOS

Linux

动态参数

DynamicParameter(动态参数) 表达式为粒子发射器提供管道,以便将最多四个要以任意方式处理的值传递给材质。这些值是通过放置在发射器上的 ParameterDynamic 模块在 Cascade 中设置的。

项目

说明

属性

参数名称(Param Names)

参数名称的数组。这里的值将确定材质编辑器中显示在表达式输出上的文本,并且将是 Cascade 中的 ParameterDynamic 模块中用来引用参数的名称。

输出

参数 1(Param1)

输出"参数名称"(Param names)属性中第一个参数的值。此输出的名称可根据"参数名称"(Param names)属性中的值而变化。

参数 2(Param2)

输出"参数名称"(Param names)属性中第二个参数的值。此输出的名称可根据"参数名称"(Param names)属性中的值而变化。

参数 3(Param3)

输出"参数名称"(Param names)属性中第三个参数的值。此输出的名称可根据"参数名称"(Param names)属性中的值而变化。

参数 4(Param4)

输出"参数名称"(Param names)属性中第四个参数的值。此输出的名称可根据"参数名称"(Param names)属性中的值而变化。

粒子颜色

基于在 级联(Cascade) 中定义的任何每粒子颜色数据, 粒子颜色(ParticleColor) 表达式绑定到给定粒子的当前颜色。这必须插入到适当的信道(自发光颜色)。

项目

说明

输出

RGB

输出组合的RGB矢量数据。

R

输出红色信道数据。

G

输出绿色信道数据。

B

输出蓝色信道数据。

A

输出alpha信道数据。

ParticleColorExample.png

在这个例子中,您可以看到粒子颜色(ParticleColor)表达式为粒子提供了粒子系统中定义的颜色。

粒子方向

粒子方向(ParticleDirection) 表达式逐个粒子输出Vector3(RGB)数据,表示给定粒子当前运动的方向。

ParticleDirectionExample.png

在这幅图中您可以看到粒子的颜色是如何根据每个粒子当前的运动方向而变化的。

ParticleMacroUV

ParticleMacroUV 表达式输出UV纹理坐标,可用于以连续的方式将任何二维纹理映射到整个粒子系统,这意味着纹理将在粒子之间无缝连接。UV将以MacroUVPosition为中心(在ParticleSystem上的级联(Cascade)中指定,属于MacroUV类别),MacroUVRadius决定UV应该平铺在的世界场景空间半径。ParticleMacroUV节点可用于将连续噪声映射到粒子上,从而打破通过将纹理映射到带法线纹理坐标的各个粒子所引入的模式。

项目

说明

属性

使用视图空间(Use View Space)

如果是_真(true)_,根据每个sprite的深度有效地偏移坐标,并创建视差效果,这对于给爆炸一个径向模糊的外观很有用

ParticleMacroUVExample.png

粒子动态模糊淡出

粒子动态模糊淡出(ParticleMotionBlurFade) 表达式输出一个值,该值表示由于动态模糊导致的粒子上的淡出量。值为1表示无模糊,黑色代表完全模糊。

ParticleMotionBlurFade.png

粒子位置WS

粒子位置WS(ParticlePositionWS) 表达式输出代表世界场景空间中每个单独粒子位置的Vector3(RGB)数据。

ParticlePositionWS.png

在这幅图像中,粒子位置WS(ParticlePositionWS)被馈送到自发光颜色中来显示数据。粒子系统被放大以显示颜色是如何根据位置变化的。

粒子半径

粒子半径(ParticleRadius) 表达式单独输出每个粒子的半径(采用虚幻单位)。例如,一旦半径达到某个点,就可以对材质进行更改。

ParticleRadiusExample.png

在这幅图中,当粒子半径超过7个单位时,它们从绿色变成红色。

粒子相对时间

粒子相对时间(ParticleRelativeTime) 表达式输出0到1之间的数字,表示粒子的年龄,0表示出生时刻,1表示死亡时刻。

ParticleRelativeTimeExample.png

在本例中,您可以看到粒子的相对时间被馈送到自发光颜色中,导致粒子从出生时的黑色逐渐变淡到死亡时的白色。

粒子大小

粒子大小(Particle Size) 表达式输出粒子sprite的X和Y大小。这可以用来驱动材质的某些方面。

ParticleSize.png

单击图像显示完整视图。

在上面的例子中,粒子大小(Particle Size)被增加并扩展为粒子颜色(Particle Color)。注意我们屏蔽了输出,所以我们只使用绿色信道,它对应于Y轴,或者粒子的长度。这意味着随着粒子的伸展,它们的颜色会变得更亮。当它们收缩时,它们会变暗。

粒子速度

粒子速度(ParticleSpeed) 输出正在运动的每个粒子的当前速度,单位为每秒虚幻单位。

ParticleSpeedExample.png

在本例中,粒子速度馈送粒子颜色,再除以10得到更有意义的结果。粒子减速时变黑。

球形粒子不透明度

球形粒子不透明度(SphericalParticleOpacity) 表达式创建程序不透明映射,以使sprite粒子呈现球形。这比创建一个类似效果的纹理地图要简单得多。

项目

说明

输入

密度(Density)

此0-1值控制球体地图的密度。值越低,球体越透明。默认为1。

Before

After

ParticleSubUV

ParticleSubUV 表达式用于将纹理的子图像渲染到粒子。ParticleSubUV类似于flipbook,不同的是ParticleSubUV允许在级联(Cascade)中操作纹理动画。

项目

说明

属性

混合(Blend)

将SubUV sprite布局的每一帧都混合在一起,而不是立即从一个帧"弹出"到下一个。

纹理(Texture)

指定要使用的纹理。

采样器类型(Sampler Type)

将从节点取样和输出的数据类型。

MipValueMode

选择如何从默认计算的硬件自定义示例的mip级别或导数。影响外观和性能。

输入

UVs

UV输入被忽略,不执行任何操作。

输出

RGB

输出颜色的三信道RGB矢量值。

R

输出颜色的红色信道。

G

输出颜色的绿色信道。

B

输出颜色的蓝色信道。

A

输出颜色的alpha信道。如果纹理不包含alpha信道,将"alpha"信道连接到某物上,虽然从技术上讲不违法,但总是会得到0(黑色)。

ParticleSubUVExample.png

TextureSampleParameterSubUV

TextureSampleParameterSubUV 表达式与 ParticleSubUV 一致,除了它是一个参数,可以在材质实例中修改,也可以通过代码修改。

项目

说明

属性

参数名称(Parameter Name)

指定用于在材质实例和代码中识别参数的名称。

组(Group)

提供在一个MaterialInstanceConstant内按组或目录组织参数名称的方法。一个材质中所有拥有同一个组属性名称的参数都会被列在实例的该目录下。

混合(Blend)

将SubUV sprite布局的每一帧都混合在一起,而不是立即从一个帧"弹出"到下一个。

纹理(Texture)

指定表达式采样的纹理。

采样器类型(Sampler Type)

将从节点取样和输出的数据类型。

MipValueMode

选择如何从默认计算的硬件自定义示例的mip级别或导数。影响外观和性能。

输入

UVs

UV输入被忽略,不执行任何操作。

输出

RGB

输出颜色的三信道RGB矢量值。

R

输出颜色的红色信道。

G

输出颜色的绿色信道。

B

输出颜色的蓝色信道。

A

输出颜色的alpha信道。如果纹理不包含alpha信道,将"alpha"信道连接到某物上,虽然从技术上讲不违法,但总是会得到0(黑色)。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消