跳转到内容
🚧 本文正在 review 与补图中,参数说明可先行查阅。

属性详解 · Block(块 / 行为单元)

Block 是堆在 Context 里的「行为单元」,唯一能写粒子属性的元素,在 Context 内从上到下顺序执行。本篇按类别详解每个 Block 的参数。

表格列:参数 (Caption) · 类型 · 默认 · 取值/范围 · 说明。带「显隐」列的表示该参数仅在特定条件显示。 多数 Block 含一个 Composition(组合模式) 高级项:Overwrite(覆盖)/Add(累加)/Multiply(相乘)/Blend(混合)—— 决定本 Block 的结果如何与已有属性值合并。 📷 标记处为后续补充截图/对比图占位。


类别Block
1. Spawn 生成Constant Rate / Single Burst / Periodic Burst / Spawn Over Distance / Variable Rate / Set SpawnEvent Attribute / Custom Spawner
2. Attribute 属性Set Attribute / Set Attribute (Curve) / Set Attribute from Map / Calculate Mass From Volume / Increment Strip Index / Set Spawn Time
3. Position 位置Set Position (Shape) / Position (Sequential) / Position (SDF) / Set Position (Mesh) / Set Position (Depth Buffer) / Tile-Warp Positions
4. Velocity 速度New Direction / Random / Spherical / Along Velocity / Tangent / Speed
5. Force 力场Gravity / Linear Drag / Turbulence / Force / Vector Field Force / Attractor / Conform To… / Vortex
6. Collision 碰撞Plane / Sphere / AABox / OrientedBox / Cone / Torus / SDF / Depth Buffer
7. Kill 销毁Sphere / AABox / Plane / Cone / Torus / OrientedBox
8. Orient 朝向Orient
9. Output 输出Color over Life / Alpha over Life / Camera Fade / Flipbook Play / Screen Space Size / Connect Target / Subpixel AA
10. GPUEventTrigger Event / Trigger Event on Shape Enter
11. Custom / Static MeshCustom GLSL Block / Set Static Mesh Attr

仅用于 Spawn Context,决定生成节奏。

参数类型默认说明
Ratenumber10每秒生成的粒子数
参数类型默认说明显隐
Spawn Mode枚举ConstantConstant / Random
Delay Mode枚举ConstantConstant / Random
Countnumber0爆发数量(固定)Spawn Mode=Constant
Countvec2(0,10)爆发数量随机区间Spawn Mode=Random
Delaynumber0延迟多少秒后爆发Delay Mode=Constant
Delayvec2(0,1)随机延迟区间Delay Mode=Random

也可用插槽 Count / Delay 接 Operator 动态控制。

参数类型默认说明显隐
Spawn Mode枚举ConstantConstant / Random
Countnumber10每次爆发数量Spawn Mode=Constant
Countvec2(5,15)数量随机区间Spawn Mode=Random
Delay Mode枚举ConstantConstant / Random
Periodnumber1每隔几秒爆发一次Delay Mode=Constant
Periodvec2(0.5,2)周期随机区间Delay Mode=Random

Spawn Over Distance(按移动距离生成)

Section titled “Spawn Over Distance(按移动距离生成)”
参数类型默认说明
Distancenumber1发射器每移动这么远生成一个粒子(拖尾/足迹效果)
参数类型默认说明
Ratenumber10速率(可用插槽 Rate 接 Operator 让速率随时间/属性变化)

Set SpawnEvent Attribute(设置生成事件属性)

Section titled “Set SpawnEvent Attribute(设置生成事件属性)”

给 SpawnEvent 附带数据(传给下游 Initialize 作为 Source 属性)。

参数类型默认说明
Attribute枚举position要设置的属性名
Value / X / Y / Z / Wnumber0标量或各分量值
From Loop Indexboolfalse用循环索引作为值
Loop Index % Nnumber0对循环索引取模(0=不取模)
参数类型默认说明
Callback Namestringdefault回调名。代码里 vfx.setCustomSpawnCallback(name, (state, dt)=>count) 注册,返回本帧生成数。见 代码篇

直接给属性赋值(position / velocity / color / size / lifetime / …)。可用插槽 Value 接 Operator。

参数类型默认说明显隐
Attribute枚举position目标属性名(全部可写属性列表见 Operator·getAttribute
Source枚举SlotSlot=用本块插槽/属性值;Source=用上游 SpawnEvent 附带的同名值
Composition枚举Overwrite组合模式
Random枚举OffOff / Per Component(各分量独立随机)/ Uniform(统一随机)Source=Slot

🧩 详解 · Composition(组合模式)

Section titled “🧩 详解 · Composition(组合模式)”

几乎所有写属性的 Block 都有 Composition,决定本块算出的值如何与已有属性值合并(属性在 Context 内从上到下被前面的块一路改过来):

模式行为典型用途
Overwrite直接覆盖 attr = value设初值
Add累加 attr += value叠加偏移/速度/力
Multiply相乘 attr *= value缩放(size、alpha 衰减)
Blend按权重 attr = mix(attr, value, blend)半量混入

⚠️ Multiply 放进 Update 会逐帧累乘 → 指数衰减:Update 每帧执行,attr *= 0.9 这种会一帧比一帧小,几帧后 size/alpha 趋近 0、脉冲效果直接消失。「随寿命缩放」应放在 Initialize 设一次,或改用 Set Attribute (Curve) 的 OverLife(曲线本身就是按归一寿命取值,不累积)。

⚠️ Overwrite 写 color 会连 alpha 一起冲掉:若 Initialize 已设了较低的 init alpha,后面再用 Set Attribute(color, Overwrite) 写一个 alpha=1 的颜色,会把 alpha 顶回 1 → Additive 下整屏过曝发白。解决:让写 color 的块只写 RGB 通道(见下 Random 旁的 channels),或确保 alpha 链顺序正确。

Random≠Off 时,本块的值变成一个 [A, B] 区间(面板会多出 B 这一组输入),每个粒子取 mix(A, B, rand)

  • Per Component:每个分量(x/y/z)各自独立取随机 → 方向/颜色更杂乱。
  • Uniform:三个分量共用同一个随机数 → 等比缩放、保持比例(如统一变亮/变大)。

⚠️ 随机只在该粒子诞生时 roll 一次并固定(除非放在 Update 且每帧 re-roll)。想要「每粒子一个固定随机值」用 Initialize;放 Update 会逐帧抖动。

vec 属性的部分分量:高级里可选 channels(只写 X / XY / Z…),未选中的分量保持原值。注意 channels 是「选哪些分量」而非位运算输入。

Set Attribute (Curve)(曲线/渐变设属性)

Section titled “Set Attribute (Curve)(曲线/渐变设属性)”

用曲线(或颜色用渐变)按某个 t 采样作为属性值。

参数类型默认说明显隐
Attribute枚举size目标属性
Curve曲线线性 0→1采样曲线Attribute≠color
Gradient渐变白→透明颜色渐变(attribute=color 时用渐变编辑器)Attribute=color
Sample Mode枚举OverLifeOverLife(按归一寿命)/ BySpeed(按速度)/ Random / RandomConstantPerParticle / Custom
Composition枚举Overwrite组合模式
Custom Tnumber0自定义采样位置Sample Mode=Custom
Min/Max Speednumber0 / 1速度映射区间Sample Mode=BySpeed

Set Attribute from Map(纹理采样设属性)

Section titled “Set Attribute from Map(纹理采样设属性)”
参数类型默认说明显隐
Attribute枚举color目标属性
Composition枚举Overwrite组合模式
Sample Mode枚举RandomConstantPerParticleRandom / Sequential / Sample2DLOD
TextureTexture2D采样纹理
UVvec2(0,0)采样 UVSample Mode=Sample2DLOD
LODnumber0mip 级别Sample Mode=Sample2DLOD

Calculate Mass From Volume(按体积算质量)

Section titled “Calculate Mass From Volume(按体积算质量)”
参数类型默认说明
Shape枚举BoxBox / Sphere / Cylinder / Cone(各有体积公式,按 size 算体积 × 密度 = 质量)
Densitynumber1密度
Composition枚举OverwriteOverwrite / Add / Multiply
Block参数说明
Increment Strip IndexStep (number, 1)strip 索引步进(多 strip 分配)
Set Spawn Time(无参数)记录粒子生成时刻

Set Position (Shape)(形状内/表面布点)— 核心 Block

Section titled “Set Position (Shape)(形状内/表面布点)— 核心 Block”

在球/盒/锥/环/圆/线/平面上随机或自定义生成位置。是最常用的位置 Block。

参数类型默认说明显隐
Shape枚举SphereSphere / Box / Cone / Torus / Circle / Line / Plane
Position Mode枚举VolumeSurface(表面)/ Volume(体内)/ Thickness Absolute / Thickness Relative
Thicknessnumber0.1壳层厚度Position Mode=Thickness*
Height Mode枚举VolumeVolume / BaseShape=Cone
Spawn Mode枚举RandomRandom / Custom(用序列器精确控制角度/高度)Shape≠Box
Height/Arc/Line SequencernumberCustom 模式下的归一序列位置(也可用同名插槽接 Operator)Spawn Mode=Custom + 对应 Shape
Arc Sphere / Oriented Box / Arc Cone / Arc Torus / Arc Circle / Line复合各形状的几何参数(含 transform/半径/弧度等),按所选 Shape 显示对应一个按 Shape
Plane Center / Normal / Sizeposition/direction/vec2(0,0,0)/(0,1,0)/(2,2)平面位置/法线/2D 尺寸Shape=Plane

高级(默认隐藏):Apply OrientationPosition/Direction/Axes Composition 控制是否同时写方向/朝向轴及其组合方式。

  • Position Mode(点布在哪)
    • Volume:在形状体内均匀随机(实心球/盒内)。
    • Surface:只在表面(空心壳)。
    • Thickness Absolute / Relative:在「表面向内 Thickness 厚」的壳层里(Absolute=世界单位,Relative=按半径比例)。做「环 / 壳」效果用它。
  • Spawn Mode(随机还是有序)
    • Random:形状内随机撒点。
    • Custom:用 Sequencer(Height/Arc/Line Sequencer,0~1 归一)精确控制每个粒子的角度/高度 —— 配合 particleIndex/count 这类 Operator 接到 Sequencer 插槽,就能让粒子沿弧/螺旋精确排布(不是乱撒)。

⚠️ 半径/弧度被 Operator 驱动时容易「塌成内联常量」:当形状的 Radius/Arc 等子参数接了 Operator(如让半径随属性变化),若转换/编译链没正确读到上游算子、只读了 slot 的内联默认值,就会塌成一个固定常量 → 本该散开的盘/环变成规则细环、或半径恒定。现象:形状「太规整、没有该有的随机散布」。排查时核对生成的 compute shader 里半径到底是常量还是变量。

🔗 各形状(Arc Sphere/Cone/Torus/Circle)的几何参数含 transform(位置/旋转/缩放)+ 半径 + arc(弧度,2π=整圈)。改 arc 可做「扇形/缺口环」。

按规则把粒子排成线/圆/三维阵列(非随机,索引决定位置)。

参数类型默认说明显隐
Mode枚举LineLine / Circle / ThreeDimensional
Start / Endposition(-1,0,0)/(1,0,0)线段两端Mode=Line
Centerposition(0,0,0)中心Mode≠Line
Radius / Axisnumber/vector1 / (0,1,0)圆半径/法线轴Mode=Circle
Countnumber16点数Mode≠ThreeDimensional
Origin / Step Sizevec3(0,0,0)/(1,1,1)阵列原点/步距Mode=ThreeDimensional
Count X / Y / Znumber16/1/1三轴点数Mode=ThreeDimensional

Position (SDF)(SDF 表面/体内布点)

Section titled “Position (SDF)(SDF 表面/体内布点)”
参数类型默认说明显隐
SDF TextureTexture3D符号距离场 3D 纹理
Center / Sizeposition/vec3(0,0,0)/(1,1,1)场在世界中的位置/尺寸
Position Mode枚举SurfaceSurface / Volume
Thicknessnumber0.1体内厚度Position Mode=Volume
Projection Stepsnumber2投影到表面的迭代次数(1~8)
Composition枚举OverwriteOverwrite / Add

Set Position (Mesh)(网格采样布点)

Section titled “Set Position (Mesh)(网格采样布点)”
参数类型默认说明
MeshMesh采样的网格
Sample Mode枚举VertexVertex(顶点)/ Surface(表面面积加权)/ Volume(体内)
Point Countnumber1024烘焙点云数量
Composition枚举OverwriteOverwrite / Add

把粒子布到一个网格的表面/顶点/体内,做「粒子组成雕像 / 物体溶解」等效果。引擎会先把 mesh 烘焙成一份点云Point Count 个点),运行时每个粒子从点云里取一个位置。

  • Sample Mode
    • Vertex:直接用网格顶点(点数受顶点数限制,分布跟随建模疏密)。
    • Surface:在三角面上按面积加权随机采样(大面更多点,分布更均匀)。
    • Volume:在网格体内填充(需要封闭网格)。
  • Point Count 越大点云越细,但烘焙与显存成本越高。

⚠️ 粒子全堆在原点 / 读到 (0,0,0) 多半是「异步烘焙时序」问题,不是绑定坏了:点云烘焙是异步的,若 compute 在纹理还没就绪时就去采样,会读到全 0 → 粒子塌在原点。同步生成的内置网格(如 builtin:Capsule)立即就绪,能正常布点,可用来快速排除「是时序还是逻辑」。自定义 mesh 要确保烘焙完成后再采样。

⚠️ 别与 Output Mesh 混淆:这里是用 mesh 当「布点形状」(粒子还是各自独立的点/billboard),Output Mesh 才是「每个粒子画成一个 mesh」。

Set Position (Depth Buffer) / Tile-Warp Positions

Section titled “Set Position (Depth Buffer) / Tile-Warp Positions”
Block参数说明
Set Position (Depth Buffer)Surface Offset (number, 0.01)把粒子贴到屏幕深度表面(仅 Update)
Tile/Warp PositionsCenter (position), Size (vec3, (10,10,10))把超出盒范围的粒子环绕回另一侧(无限滚动场效果)

一组「按方向×速度初始化/累加速度」的 Block,共享 Speed Mode(Constant/Random)+ Speed / Min Speed / Max Speed + Composition + Blend Velocity(Blend 模式下的混合权重)。下表只列各自的特有参数。

Block特有参数说明
Velocity from Direction & Speed (New Direction)Direction (direction, (0,1,0)), Blend Direction (0~1)沿指定方向给速度
Velocity Random(仅共享参数)随机方向给速度
Velocity from Direction & Speed (Spherical)Center (position), Blend Direction从中心向外辐射
Velocity Along Velocity(Composition 默认 Add)沿当前速度方向加速
Velocity TangentCenter (position), Axis (vector, (0,1,0))绕轴切向速度(漩涡/公转)
Velocity from Direction & Speed (Speed)(仅共享参数)用已有方向 × 速度

共享参数:Speed Mode(Constant→Speed;Random→Min/Max Speed)、Composition、Blend Velocity(Composition=Blend 时显示)。


仅用于 Update。施加在粒子速度上。

Block参数默认说明
GravityForce (vector)(0,-9.81,0)重力(可用插槽 Force/Force X/Y/Z 动态接 Operator)
Linear DragUse Particle Size (bool) / Drag Coefficient (number)false / 1线性阻力;勾选后阻力随粒子尺寸
ForceMode (Absolute/Relative) / Force (vector) / DragAbsolute / (0,0,0) / 1恒定力(如风)。Relative 模式下 Drag 生效
参数类型默认说明
Noise Type枚举PerlinValue / Perlin / Cellular
Mode枚举AbsoluteAbsolute / Relative
Intensitynumber1强度(可用插槽接 Operator 让强度随寿命变化)
Frequencynumber1噪声频率(越大越细碎)
Octavesnumber3叠加倍频数(1~8,越多越细节)
Roughnessnumber0.5粗糙度(0~1)
Lacunaritynumber2倍频间频率倍增
Dragnumber1阻力

🌀 详解 · Turbulence(湍流噪声)

Section titled “🌀 详解 · Turbulence(湍流噪声)”

用程序噪声给粒子速度叠加随机扰动,做飘动、湍流、烟雾翻滚:

  • Frequency:噪声采样频率,越大扰动越细碎(高频小尺度抖动),越小越大块缓慢飘动。
  • Octaves(倍频层数):把多层不同尺度的噪声叠加,层数越多细节越丰富(也越贵)。
  • Roughness:高频层的权重;Lacunarity:层与层之间频率的倍增系数(默认 2 = 每层频率翻倍)。
  • Intensity:整体强度,可接 Operator 让扰动随寿命增减。
  • ModeAbsolute=力直接施加;Relative=带 Drag,速度向噪声场目标逼近。

⚠️ 轨迹/拖尾「乱线、甩飞、漂移失控」常见根因=噪声的 range(输出区间)被忽略:Unity 的 Noise 输出会按一个 range(vec2,如 [-1,1])缩放(value = fit/导数 × (range.y−range.x))。若实现只读了 amplitude 默认值 1 而忽略 range,噪声幅度会被放大成百上千倍 → 粒子被巨大扰动甩飞、trail 变乱线。表现为「加一点湍流就炸开」。这类问题用 GPU readback 看 velocity 量级即可确认。

参数类型默认说明
Vector Field (3D)Texture3D矢量场 3D 纹理
Mode枚举AbsoluteAbsolute / Relative
Intensitynumber1强度
Field Center / Sizevec3(0,0,0)/(2,2,2)场的位置/尺寸
Dragnumber1阻力(Relative 模式)

Attractor(引力吸引)— Sphere / AABox

Section titled “Attractor(引力吸引)— Sphere / AABox”

共享:Attraction Speed (5) / Stick Distance (0.1) / Stick Force (10) / Center。

Block特有参数
Attractor (Sphere)Radius (number, 1)
Attractor (AABox)Size (vec3, (2,2,2))

Conform To…(吸附到形状表面)— Sphere / AABox / OrientedBox / Cone / Shape(SDF)

Section titled “Conform To…(吸附到形状表面)— Sphere / AABox / OrientedBox / Cone / Shape(SDF)”

共享:Attraction Speed (5) / Attraction Force (20) / Stick Distance (0.1) / Stick Force (50)。

Block形状参数
Conform to SphereCenter, Radius
Conform to AABoxCenter, Size
Conform to OrientedBoxCenter, Euler Angles, Size
Conform to ConeApex, Axis, Height, Base Radius
Conform to Shape (SDF)SDF Texture, Center, Size
参数类型默认说明
Vortex Planeplaney 平面漩涡所在平面(位置+法线)
Dragnumber0阻力
Channel / Distance曲线沿轴向(channel)力随到中心距离变化
Gravity / Distance曲线径向拉力随距离变化
Vortex / Distance曲线切向旋转力随距离变化

绕一个轴(Vortex Plane 的法线)把粒子卷成漩涡。它的力由三条「按到轴距离」的曲线叠加,分别控制三个正交方向的分量:

  • Vortex / Distance(切向):绕轴旋转的力 → 决定「转多快」,是漩涡的主体。
  • Gravity / Distance(径向):指向/背离轴心的拉力 → 正值吸向中心收紧,负值向外甩开。
  • Channel / Distance(轴向):沿轴方向的力 → 让漩涡同时上抽/下压(龙卷风的「往上卷」)。

每条曲线横轴是「粒子到漩涡轴的距离」,纵轴是该方向力的大小 —— 所以可以做「近轴转得快、远处几乎不动」这种真实漩涡。

⚠️ 切向方向是「轴 × 径向」的叉积(伪矢量),左右手坐标系不一致时旋转方向会反。如果漩涡转向跟参考反了,是切向叉积的符号问题,应在公式层翻号修正,不要靠按粒子奇偶 hack 或别的 band-aid。曲线要按真实采样取值,别只读图省算子(如漏掉 Normalize 会让力的模长错)。


仅用于 Update。共享参数:Mode(Solid=实心,粒子从外面弹开 / Inverted=反转,粒子被关在内部)、Bounce(弹性 01)、Friction(摩擦)、Lifetime Loss(每次碰撞损失的寿命比例 01)。下表列各形状特有参数。

Block形状参数
Collide with PlanePosition (position), Normal (direction, (0,1,0))
Collide with SphereCenter, Radius
Collide with AABoxCenter, Size
Collide with OrientedBoxCenter, Euler Angles (deg), Size
Collide with ConeCenter, Base Radius, Top Radius, Height
Collide with TorusCenter, Major Radius, Minor Radius
Collision (SDF)SDF Texture, Center, Size;Mode=Kill/Bounce;Surface Offset(radius)
Collision (Depth Buffer)Mode=Kill/Bounce;Radius(0.05);与屏幕深度表面碰撞

SDF / Depth Buffer 的 Mode 是 Kill/Bounce(不是 Solid/Inverted)。Bounce 模式下才有 Bounce/Friction。


粒子进入(或离开)指定区域即死亡。可用于 Initialize / Update。共享 Mode(Solid=区域内杀 / Inverted=区域外杀;Plane 为 Above/Below)。

Block形状参数
Kill (Sphere)Center, Radius
Kill (AABox)Center, Size
Kill (Plane)Plane Position, Plane Normal(Mode=Above/Below)
Kill (Cone)Apex, Axis, Height, Base Radius
Kill (Torus)Center, Major Radius, Minor Radius
Kill (OrientedBox)Center, Euler Angles, Size

仅用于 Output 类 Context。控制粒子面片/网格的朝向。

参数类型默认说明显隐
Mode枚举Face Camera PlaneFace Camera Plane / Face Camera Position / Along Velocity / Fixed Axis / Look At Position / Look At Line / Advanced
Upvector(0,1,0)固定上方向轴Mode=Fixed Axis
Positionposition(0,0,0)注视点Mode=Look At Position
Lineline(0,0,0)-(0,1,0)注视线Mode=Look At Line
Axes枚举ZYXY/XZ/YX/YZ/ZX/ZY 轴对Mode=Advanced
Primary / Secondary Axisvector(0,0,1)/(0,1,0)主/次朝向轴Mode=Advanced

📷 各 Mode 朝向对比图。

控制 billboard 面片 / mesh 的朝向:

  • Face Camera Plane(默认):面片平行于相机平面(所有粒子同朝向,最常用,烟/光斑)。
  • Face Camera Position:每个粒子各自朝向相机位置(球面分布时更自然,略贵)。
  • Along Velocity:面片长轴对齐速度方向(拖尾火花、雨丝)。
  • Fixed Axis:绕固定 Up 轴朝相机(草、火焰这类「立着但面向你」的)。
  • Look At Position / Line:朝向某点/某条线。
  • Advanced:手动指定 Primary/Secondary Axis + Axes 轴对,完全自定义两个朝向轴。

⚠️ Mode 的枚举顺序在 Unity 端不是直觉顺序Advanced / Fixed Axis / Along Velocity 等的内部 enum 值有特定映射(转换时若按字面顺序会错位)。从 Unity 资产转过来时务必核对 enum 真值,否则朝向模式张冠李戴。

⚠️ 粒子 angle 手性 / mesh 朝向:Unity 左手系 → Laya 右手系,angle、朝向轴可能需要翻号。但翻号只走一条路径:要么在转换器翻粒子 attribute,要么在 mesh 顶点翻,不能两边都翻(双重取反 = 没翻)。另:有 orient 输出的 system 不要再对 angle 取反(orient 已经定姿态,再翻 angle 会错)。z+180 这类 mesh 补偿只对 mesh 输出加,billboard 不加


用于 Output 类 Context,控制渲染表现。

参数类型默认说明
Color A / Color Bcolor橙 / 蓝起止两色
Transitionnumber0.5A→B 过渡点(0~1)
Smoothnessnumber0.05过渡平滑度(0~0.5)
Composition枚举MultiplyOverwrite / Multiply

颜色想用多段渐变时,用 Set Attribute (Curve) 的 color+Gradient 模式。

按归一寿命在 Color A → Color B 间过渡(Transition 是切换点、Smoothness 是过渡软硬)。只够两段;多段渐变改用 Set Attribute (Curve) 的 Gradient。

⚠️ CompositionOverwrite 会把 alpha 一起冲掉:颜色含 alpha 分量,Overwrite 写 A/B 两色(alpha 常为 1)会覆盖掉 Initialize 里设的低 alpha → Additive 下整屏过曝、辉光糊满。两种修法:① 用 Multiply(在原色基础上乘,保留原 alpha 趋势);② 让这个块只写 RGB 通道不写 alpha(channels=RGB)。这也是「additive 效果莫名全屏发白」的高频根因之一。

⚠️ HDR:A/B 是 HDR 颜色(分量 >1)时走 HDR 直通烘焙;显示/编辑见 HDR 小节

Alpha over Life(生命周期透明度)

Section titled “Alpha over Life(生命周期透明度)”
参数类型默认说明
Fade In Endnumber0.0淡入结束点(归一寿命)
Fade Out Startnumber0.8淡出开始点

Camera Fade / Screen Space Size / Connect Target / Subpixel AA / Flipbook Play

Section titled “Camera Fade / Screen Space Size / Connect Target / Subpixel AA / Flipbook Play”
Block参数说明
Camera FadeNear Fade Distance (0.5), Far Fade Distance (50)距相机太近/太远时淡出
Screen Space SizeReference Size (pixels, 10)让粒子保持固定屏幕像素大小(不随距离缩放)
Connect TargetMode (Position/Direction), Target (position)把粒子拉伸连接到目标点(链状/光束)
Subpixel AA(无参数)极小粒子的亚像素抗锯齿
Flipbook PlayMode (Constant/OverLife/BySpeed), Frame Rate (30), Frame Count (16)序列帧播放(配合 Output 的 UV Mode=Flipbook)

仅用于 Update,输出 Evt flow 连到 GPUEvent 节点,触发另一组粒子。

参数类型默认说明
Event Type枚举OnDieOnDie(死亡时)/ Always(每帧)/ OverTime(按时间)/ OverDistance(按移动距离)
Paramnumber1OverTime=每秒次数 / OverDistance=每段距离 / OnDie/Always=触发个数

🎆 详解 · Trigger Event(GPU 事件触发)

Section titled “🎆 详解 · Trigger Event(GPU 事件触发)”

让一个粒子在特定时机「生出」另一组粒子(烟花炸开、火花拖尾再分裂、子弹命中溅射)。Evt flow 连到 GPUEvent 节点 → 下游另一套 Spawn/Initialize。

  • OnDie:粒子死亡瞬间触发(烟花弹升顶后炸开)。
  • Always:每帧触发(持续洒落)。
  • OverTime:按时间,Param=每秒触发次数。
  • OverDistance:按移动距离,Param=每移动一段距离触发一次(拖尾洒火星)。

⚠️ Event Type 必须按 Unity 原字段转,别一律当 OnDie:从 Unity 资产转过来时,若把 OverDistance/OverTime 都翻译成 OnDie,会让「持续洒落 / 按距离触发」的效果变成「只在死亡时来一发」。逐 system 核对真实 mode。

⚠️ OnDie + 子粒子 lifetime=0 会瞬死:引擎 Update 先递增 age 再 fire 事件,接收方读到的 source 寿命若为 0 → 子粒子当帧即死、看不到。子粒子要给 >0 的 lifetime。

🔗 下游怎么用 Source 属性(继承父粒子位置/速度/颜色)见 Spawn 类的 Set SpawnEvent Attribute + Initialize 的 Source 选项。

Trigger Event on Shape Enter(进入形状触发)

Section titled “Trigger Event on Shape Enter(进入形状触发)”
参数类型默认说明显隐
Shape枚举SphereSphere / AABox
Mode枚举SolidSolid / Inverted
Centerposition(0,0,0)形状中心
Radiusnumber1球半径Shape=Sphere
Sizevec3(2,2,2)盒尺寸Shape=AABox
Event Type枚举OnDieOnDie / Always
Paramnumber1触发个数

参数类型默认说明
GLSL Codestring示例片段直接写 GLSL 读写粒子属性,用 $p 引用粒子(如 $p.position += vec3(0, sin($p.age*5.0)*0.1, 0);)。可用于 Initialize/Update/Output

Set Static Mesh Attr(驱动静态网格属性)

Section titled “Set Static Mesh Attr(驱动静态网格属性)”

仅用于 Output Static Mesh。把一个 graph 值绑到静态网格的 transform/color。 | 参数 | 类型 | 默认 | 说明 | |---|---|---|---| | Target | 枚举 | color | position / rotation / scale / color,配合插槽 Valuevfx.setProperty* 驱动 |


➡️ 属性详解·图级与组件:图级属性、Blackboard、VisualEffect / VFXRenderer 组件、Properties 面板。