跳转到内容

示例验证索引

本篇把 VFX 功能点映射到工程里现成的示例资源,给出「在哪个场景打开、应该看到什么」,供社区工程师照表逐项验收:打开示例运行,对照「预期效果」核对是否一致。

路径均相对工程根 LayaVFXSample/。示例 .vfx 大多在 assets/resources/ 下;*_Converted 后缀为 Unity 转换版。


  1. 打开对应场景(assets/scenes/*.ls)或直接双击 .vfx 在 VFX Graph 面板预览。
  2. 运行,观察粒子表现。
  3. 对照「预期效果」一栏核对:形态、颜色、运动、数量级是否一致。
  4. 不一致 → 记录现象,结合 Context/Block/Operator 的参数说明排查。

主要演示场景:

  • assets/scenes/LearningTemplates.ls —— 学习模板集合(LearningTemplates/vfx/ 下示例)
  • assets/scenes/Scene.ls —— VfxSample 系列功能示例
  • assets/scenes/SDFScene.ls —— SDF 碰撞/吸附
  • assets/scenes/CollisionDepthBufferScene.ls —— 深度缓冲碰撞

功能点示例预期效果文档
Constant RateVfxGraph.vfx每秒稳定冒出固定数量粒子Spawn
Single BurstVfxSample_Burst.vfx一次性爆发一团粒子后停止Spawn
Loop BurstVfxSample_LoopBurst.vfx周期性反复爆发同上
Fountain(连续喷射)VfxSample_Fountain.vfx持续喷泉状粒子流同上
PreWarm(预热)VfxSample_PreWarm.vfx场景一加载粒子就已是「演过一段」的状态图级属性
Spawn Over DistanceVfxSample_SpawnOverDistance.vfx发射器移动才生成粒子(足迹/拖尾)Spawn
Custom Spawner(脚本驱动)LearningTemplates/vfx/CustomSpawnerTest.vfx + src/CustomSpawnerDemo.ts点击屏幕喷一团 30 颗,无点击 0 颗CustomSpawn
Capacity(容量上限)LearningTemplates/vfx/CapacityCount.vfx活粒子数被 Capacity 限制不再增长Initialize

功能点示例预期效果文档
Set Position (Plane)LearningTemplates/vfx/SetPositionPlaneTest.vfx粒子在平面区域内随机分布Position
Position SequentialVfxSample_PositionSequential.vfx粒子按序列排成线/圆/阵列Position
Set Position (Mesh) SurfaceLearningTemplates/vfx/SetPositionMeshSurfaceTest.vfx粒子贴附网格表面Position
Set Position (Mesh) VolumeLearningTemplates/vfx/SetPositionMeshVolumeTest.vfx粒子填满网格体内同上
Position SDFLearningTemplates/vfx/PositionSDF.vfx粒子分布在 SDF 表面/体内Position

功能点示例预期效果文档
Orient Face CameraLearningTemplates/vfx/OrientFaceCamera.vfx面片始终朝向相机Orient
Orient Fixed AxisLearningTemplates/vfx/OrientFixedAxis.vfx面片绕固定轴朝向同上
Pivot AttributeLearningTemplates/vfx/PivotAttribute.vfx粒子绕自定义轴心旋转/缩放getAttribute
Rotation AngleLearningTemplates/vfx/RotationAngle.vfx粒子按角度自转Attribute
Box RotationVfxSample_BoxRotation.vfxmesh 粒子持续旋转同上
Connect TargetVfxSample_ConnectTarget.vfx粒子拉伸连接到目标点(链状)Output

功能点示例预期效果文档
Attractor(引力)VfxSample_Attractor.vfx / LearningTemplates/vfx/AttractorAABoxTest.vfx粒子被吸向中心/区域Force
Turbulence(湍流)VfxSample_Turbulence.vfx粒子受噪声扰动飘动Force
Vector Field(矢量场)VfxSample_VectorField.vfx粒子沿 3D 矢量场流动Force
Conform To SphereVfxSample_ConformToSphere.vfx粒子吸附到球面Force
Conform To AABox/OrientedBox/ConeLearningTemplates/vfx/ConformTo{AABox,OrientedBox,Cone}Test.vfx粒子吸附到对应形状同上
Conform To SDFLearningTemplates/vfx/ConformToSDF.vfxSDFScene.ls粒子吸附到 SDF 形状表面同上
Calculate Mass From VolumeLearningTemplates/vfx/CalculateMassFromVolumeTest.vfx按体积算质量影响受力Attribute

功能点示例预期效果文档
Collision SimpleVfxSample_Collision.vfx / LearningTemplates/vfx/CollisionSimple.vfx粒子撞平面/球反弹Collision
Collision OrientedBox / TorusLearningTemplates/vfx/Collision{OrientedBox,Torus}Test.vfx粒子与对应形状碰撞同上
Collision SDFLearningTemplates/vfx/CollisionSDF.vfxSDFScene.ls粒子与 SDF 形状碰撞同上
Collision Depth BufferVfxSample_CollisionDepthBuffer.vfxCollisionDepthBufferScene.ls粒子与屏幕深度(场景几何)碰撞同上
Kill Plane/Cone/Torus/OrientedBox/BaselineLearningTemplates/vfx/Kill{Plane,Cone,Torus,OrientedBox,Baseline}Test.vfx进入对应区域的粒子立即消失Kill

功能点示例预期效果文档
BillboardVfxSample_Billboard.vfx / LearningTemplates/vfx/BillboardPrimitive.vfx朝相机面片贴图Billboard
Output Mesh / CubeVfxSample_OutputMesh.vfx / LearningTemplates/vfx/CubeOutput.vfx粒子显示为网格/立方体Mesh
Output PointVfxSample_OutputPoint.vfx粒子显示为点(点云)Point
Output Line / LineStripVfxSample_OutputLine.vfx / LearningTemplates/vfx/LineStripOutput.vfx线段 / 连续折线Line
Output DistortionLearningTemplates/vfx/DistortionTest.vfx屏幕热浪/扭曲(需相机 opaqueTexture)Distortion
Output ShaderGraph (Quad/Strip)VfxSample_ShaderGraphQuad.vfx / VfxSample_StripSGQuad.vfx自定义 shader 着色的粒子/拖尾ShaderGraph
Output Static MeshLearningTemplates/vfx/StaticMeshOutputTest.vfx / StaticMeshBindingTest.vfx + src/StaticMeshBindingDemo.ts静态网格由 graph/代码驱动 transform/colorStaticMesh
Multiple OutputsVfxSample_MultiOutput.vfx / LearningTemplates/vfx/ComposedOutputTest.vfx一个系统多种渲染叠加Output 总览
Soft ParticleVfxSample_SoftParticleShowcase.vfx与场景相交处柔化淡出公共参数
Screen Space SizeVfxSample_ScreenSpaceSize.vfx粒子保持固定屏幕像素大小Output
Subpixel AAVfxSample_SubpixelAA.vfx极小粒子抗锯齿更平滑同上
Camera FadeVfxSample_CameraFade.vfx靠近/远离相机时淡出同上

功能点示例预期效果文档
Color over LifeLearningTemplates/vfx/ColorizeTest.vfx粒子颜色随寿命渐变Output
Gradient PropertyVfxSample_GradientProperty.vfx / LearningTemplates/vfx/InlineGradientTest.vfx用渐变控制颜色sampleGradient
Flipbook ModeLearningTemplates/vfx/FlipbookMode.vfx序列帧动画硬切播放公共参数 UV Mode
Flipbook BlendVfxSample_FlipbookBlend.vfx序列帧帧间平滑混合同上
Tile/WarpVfxSample_TileWarp.vfx粒子超出范围环绕回另一侧Position

功能点示例预期效果文档
Sample Texture2DLearningTemplates/vfx/SampleTexture2D.vfx用纹理采样驱动粒子属性纹理采样
Sample Mesh(位置/法线/UV/色/切线)LearningTemplates/vfx/SampleMesh{Position,Normal,UV,Color,Tangent}Test.vfx粒子按网格对应属性采样网格采样
Sample Skinned MeshLearningTemplates/vfx/SampleSkinnedMeshTest.vfx + src/SampleSkinnedMeshDemo.ts粒子贴在骨骼动画角色表面随动SkinnedMesh
Sample Point CacheLearningTemplates/vfx/SamplePointCacheTest.vfx / VfxSample_MeshPointCache.vfx粒子按点云数据分布点云
Worley NoiseLearningTemplates/vfx/WorleyNoiseTest.vfxcellular 噪声驱动噪声
Custom GLSLLearningTemplates/vfx/CustomGlslTest.vfx / CustomGlslBlockTest.vfx用户 GLSL 代码控制粒子Custom / Custom
Graphics BufferVfxSample_GraphicsBuffer.vfx + src/GraphicsBufferDemo.ts外部 GPU buffer 数据驱动粒子setBuffer
Change Space / Gamma-LinearLearningTemplates/vfx/ChangeSpaceTest.vfx / GammaLinearTest.vfx坐标空间/色彩空间转换Math/Vector / Color

功能点示例预期效果文档
Trail(简单拖尾)VfxSample_Trail.vfx粒子拖出连续尾迹Trail
Head And TrailVfxSample_HeadAndTrail.vfx头部粒子 + 跟随拖尾同上
Fountain Trail / Multi TrailVfxSample_FountainTrail.vfx / VfxSample_MultiTrail.vfx喷泉拖尾 / 多条拖尾同上
Strip Spawn RateLearningTemplates/vfx/StripSpawnRate.vfx按速率生成的 strip 流动同上
Multi Strip(SingleBurst/SpawnRate/PeriodicBurst)LearningTemplates/vfx/MultiStrip*_Converted.vfx多条 strip 不同生成模式同上
Ratio Over StripLearningTemplates/vfx/RatioOverStripTest.vfx属性沿 strip 位置渐变ratioOverStrip

功能点示例预期效果文档
Trigger Event(OnDie 链式)VfxSample_Firework.vfx主弹粒子死亡时炸开二级粒子(烟花)GPUEvent
Trigger Event on Shape EnterVfxSample_TriggerEventShape.vfx粒子进入形状时触发新粒子同上
Trigger Event CollideLearningTemplates/vfx/TriggerEventCollide_Converted.vfx碰撞时触发事件同上
GPU Event 多 strip 链LearningTemplates/subvfx/MultiStripGPUEvents/T*.vfxGPU 事件驱动多 strip 链式生成同上
Output Event(CPU 回调)LearningTemplates/vfx/OutputEventTest.vfx + src/OutputEventDemo.ts粒子事件回调到 CPU(控制台打印)OutputEvent

11. 美术级综合示例(Unity 转换)

Section titled “11. 美术级综合示例(Unity 转换)”

assets/resources/univfx/ 下有大量成品游戏特效,适合作为「综合效果」参考验收(不逐参数,看整体观感是否与 Unity 一致):

系列路径内容
Essentials Visual Effectsunivfx/Essentials/...光环 / 屏障 / Buff / 爆炸 / 治疗 / 跳跃 / 近战 / 导弹 / 拾取 / 传送
Dissolve & Teleportunivfx/Dissolve & Teleport/...溶解(突发/能量/烟雾/线条/图案)/ 传送门 / 虫洞(含 SkinnedMesh 版)
AuraDebug (VFX1~14)univfx/Essentials/Prefabs/AuraDebug/光环类逐步调试版本

  • 每个功能点都能打开对应示例运行、看到「预期效果」。
  • 属性详解(02/03/04/06)的参数与 IDE 面板逐项对得上。
  • 代码篇(05)的 API 片段对照 src/*Demo.ts 能跑通。
  • 不一致项记录现象 + 截图,反馈给引擎开发同事。

VFX Graph 教学文档集到此完整(00~07)。