粒子表达式

本页面的内容:

DynamicParameter(动态参数)

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)属性中的值而变化。

ParticleColor(粒子颜色)

ParticleColor(粒子颜色)表达式根据 Cascade 内定义的任何粒子颜色数据与给定粒子的当前颜色相关联。此表达式必须连接到适当的通道,即“自发光颜色”(Emissive Color)。

项目 说明

输出

RGB 输出组合的 RGB 矢量数据。
R 输出红色通道数据。
G 输出绿色通道数据。
B 输出蓝色通道数据。
A 输出阿尔法通道数据。

ParticleColorExample.png

在此示例中,您可看到 ParticleColor(粒子颜色)表达式向粒子提供粒子系统内定义的颜色。

ParticleDirection(粒子方向)

ParticleDirection(粒子方向)表达式逐个粒子地输出 Vector3 (RGB) 数据,此数据代表给定粒子的当前行进方向。

ParticleDirectionExample.png

在此图中,您可看到粒子颜色根据每个例子的当前进行方向而变化。

ParticleMacroUV(粒子宏 UV)

ParticleMacroUV(粒子宏 UV)表达式输出 UV 纹理坐标,这些坐标可用于将任何 2D 纹理连续地映射到整个粒子系统,这意味着粒子无缝地组成纹理。这些 UV 将以 MacroUVPosition(即“宏 UV 位置”,在粒子系统上的 Cascade 中的“宏 UV”(MacroUV)类别下指定)为中心居中,并且 MacroUVRadius(宏 UV 半径)确定 UV 应采用的全局空间平铺半径。ParticleMacroUV(粒子宏 UV)节点适用于将连续的噪声映射到粒子,以分解通过将纹理映射到每个具有正常纹理坐标的粒子而引入的模式。

项目 说明

属性

使用视图空间(Use View Space) 如果为 true,那么实际上将根据每个精灵的深度来使坐标发生偏移并产生视差效果,这对于使爆炸具有径向模糊外观非常有用

ParticleMacroUVExample.png

ParticleMotionBlurFade(粒子运动模糊消退)

ParticleMotionBlurFade(粒子运动模糊消退)表达式输出一个值,该值代表因为运动模糊而在粒子上产生的消退量。值 1 代表不模糊,而黑色代表完全模糊。

ParticleMotionBlurFade.png

ParticlePositionWS(粒子全局空间位置)

ParticlePositionWS(粒子全局空间位置)表达式输出 Vector3 (RGB) 数据,该数据代表每个粒子在全局空间中的位置。

ParticlePositionWS.png

在此图中,将 ParticlePositionWS(粒子全局空间位置)输送到自发光颜色,以将数据可视化。粒子系统已按比例放大,以显示颜色根据位置而变化的情况。

ParticleRadius(粒子半径)

ParticleRadius(粒子半径)表达式输出每个粒子的半径(以 Unreal 单位计)。例如,这使您能够在半径达到特定程度后对材质进行更改。

ParticleRadiusExample.png

在此图中,粒子在其半径超过 7 个单位时从绿色转变为红色。

ParticleRelativeTime(粒子相对时间)

ParticleRelativeTime(粒子相对时间)表达式输出介于 0 与 1 之间的数值,该数值代表粒子的年龄,其中 0 是生成时刻,而 1 是消亡时刻。

ParticleRelativeTimeExample.png

在此示例中,您可看到粒子相对时间输送到自发光颜色,这导致生成时显示为黑色的粒子逐渐消退,直至其接近消亡时显示为白色。

ParticleSize(粒子大小)

ParticleSize(粒子大小)表达式输出粒子精灵的 X 和 Y 大小。此表达式可用来驱动材质的某些方面。

ParticleSize.png

单击查看大图。

在以上示例中,将 ParticleSize(粒子大小)与 ParticleColor(粒子颜色)相乘。请注意,我们屏蔽了输出,以便仅使用绿色通道,该通道对应于 Y 轴,即粒子的高度。这表示当粒子伸展时,它们的颜色会变亮。当它们收缩时,颜色将变暗。

ParticleSpeed(粒子速度)

ParticleSpeed(粒子速度)输出每个粒子的当前行进速度(以每秒 Unreal 单位数计)。

ParticleSpeedExample.png

在此示例中,将粒子速度输送到粒子颜色,然后除以 10,以提供更有意义的结果。当粒子速度变慢时,它们将变为黑色。

SphericalParticleOpacity(球形粒子不透明度)

SphericalParticleOpacity(球形粒子不透明度)表达式创建过程式不透明贴图,以使精灵粒子呈球形显示。与必须创建导入纹理贴图以实现类似的效果相比,使用此表达式要简单得多。

项目 说明

输入

密度(Density) 这个 0 到 1 的值控制球面贴图的密度。较小的值将产生更加透明的球体。默认值为 1。

之前

之后

ParticleSubUV(粒子子 UV)

ParticleSubUV(粒子子 UV)表达式用来将纹理的子图像渲染到粒子。ParticleSubUV(粒子子 UV)类似于图像序列视图,只不过 ParticleSubUV(粒子子 UV)允许在 Cascade 中操作纹理动画。

项目 说明

属性

混合(Blend) 将 SubUV(子 UV)精灵布局的每个帧混合,而不是从一个帧立即“跳跃”到下一个帧。
纹理(Texture) 指定要使用的纹理。
取样类型(Sampler Type) 此节点所要取样并输出的数据类型。
Mip 值模式(MipValueMode) 对纹理应用一个将会影响外观及性能的噪声值。

输入

UVs UV 输入将被忽略,不起任何作用。

输出

RGB 输出颜色的三通道 RGB 矢量值。
R 输出颜色的红色通道。
G 输出颜色的绿色通道。
B 输出颜色的蓝色通道。
A 输出颜色的阿尔法通道。如果纹理未包含阿尔法通道,那么将“阿尔法”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。

ParticleSubUVExample.png

TextureSampleParameterSubUV(纹理取样参数子 UV)

TextureSampleParameterSubUV(纹理取样参数子 UV)表达式与 ParticleSubUV(粒子子 UV) 完全相同,只不过它是可在材质实例中以及通过代码来修改的参数。

项目 说明

属性

参数名称(Parameter Name)

指定用于在材质实例中以及通过代码来识别参数的名称。

组(Group)

提供一种将参数名称组织成 MaterialInstanceConstant(材质实例常量)中的组(即类别)的方法。材质中所有具有相同“组”(Group)属性名称的参数都将在实例中该类别下列出。

混合(Blend) 将 SubUV(子 UV)精灵布局的每个帧混合,而不是从一个帧立即“跳跃”到下一个帧。
纹理(Texture) 指定表达式所取样的纹理。
取样类型(Sampler Type) 此节点所要取样并输出的数据类型。
Mip 值模式(MipValueMode) 对纹理应用一个将会影响外观及性能的噪声值。

输入

UVs UV 输入将被忽略,不起任何作用。

输出

RGB 输出颜色的三通道 RGB 矢量值。
R 输出颜色的红色通道。
G 输出颜色的绿色通道。
B 输出颜色的蓝色通道。
A 输出颜色的阿尔法通道。如果纹理未包含阿尔法通道,那么将“阿尔法”通道连接到任何内容(虽然在技术上不合法)的结果将始终为零(黑色)。