FOnline Engine
Current master GitHub
Documentation Docs/en/reference/particle-format/objects.md

Particle Formats and Backends

Generated reference. Do not edit this page directly. Update BuildTools/ParticleFormatInterface.json, then run python BuildTools/docs_particle_format.py --write.

Reference index Source rules Formats and backends Rendering Tooling Runtime Integration Validation Canonical JSON model Guide Authoring tools

Backends

Stable ID Backend Formats Requirement Source
particle-format.family.spark SPARK backend .spark, .spk Enable FO_SPARK_PARTICLES to compile the SPARK baker, runtime backend, and Mapper authoring subeditor. BuildTools/cmake/ProjectInterface.json
BuildTools/cmake/stages/Init.cmake
Source/Client/ParticleRuntime.cpp
particle-format.family.effekseer Effekseer backend .efkproj, .efk Enable FO_EFFEKSEER_PARTICLES to compile the fixed-profile project compiler and Effekseer runtime backend. BuildTools/cmake/ProjectInterface.json
BuildTools/cmake/stages/Init.cmake
Source/Client/ParticleRuntime.cpp

Resource forms

Stable ID Format Backend Role Requirement Source
particle-format.object.spark-source .spark spark authored Author SPARK systems as XML in .spark files and reference the corresponding .spk path from game content. Source/Tools/ParticleBaker.cpp
particle-format.object.spark-runtime .spk spark generated Treat .spk as generated baked output and never check it into an authored resource source. Source/Tools/ParticleBaker.cpp
Source/Client/SparkExtension.cpp
particle-format.object.effekseer-source .efkproj effekseer authored Author Effekseer effects as text .efkproj projects and reference the corresponding .efk path from game content. Source/Tools/ParticleBaker.cpp
Source/Tools/EffekseerCompiler.cpp
particle-format.object.effekseer-runtime .efk effekseer generated Treat .efk as generated baked output and never check it into an authored resource source. Source/Tools/ParticleBaker.cpp
Source/Client/EffekseerExtension.cpp

SPARK object families

Stable ID Family Object tags Requirement Source
particle-format.family.core Core System, Group Author exactly one System root object and compose one or more Group objects beneath its groups attribute. ThirdParty/spark/spark/src/Core/IO/SPK_IO_Manager.cpp
particle-format.family.interpolators Interpolators FloatDefaultInitializer, ColorDefaultInitializer, FloatRandomInitializer, ColorRandomInitializer, FloatSimpleInterpolator, ColorSimpleInterpolator, FloatRandomInterpolator, ColorRandomInterpolator, FloatGraphInterpolator, ColorGraphInterpolator Use only the registered float and color initializer/interpolator tags for particle parameter evolution. ThirdParty/spark/spark/src/Core/IO/SPK_IO_Manager.cpp
particle-format.family.zones Zones Point, Sphere, Plane, Ring, Box, Cylinder Emitter and zoned-modifier references may use the six registered geometric zone tags. ThirdParty/spark/spark/src/Core/IO/SPK_IO_Manager.cpp
particle-format.family.emitters Emitters StaticEmitter, RandomEmitter, StraightEmitter, SphericEmitter, NormalEmitter Groups may contain the five registered emitter tags. ThirdParty/spark/spark/src/Core/IO/SPK_IO_Manager.cpp
particle-format.family.modifiers Modifiers Gravity, Friction, Obstacle, Rotator, Collider, Destroyer, Vortex, EmitterAttacher, PointMass, RandomForce, LinearForce Groups may contain the eleven registered modifier tags. ThirdParty/spark/spark/src/Core/IO/SPK_IO_Manager.cpp
particle-format.family.actions Actions ActionSet, SpawnParticlesAction Birth/death action references may use ActionSet and SpawnParticlesAction. ThirdParty/spark/spark/src/Core/IO/SPK_IO_Manager.cpp
particle-format.family.renderer Renderer SparkQuadRenderer Use the Engine-owned SparkQuadRenderer tag for particle rendering. Source/Client/SparkExtension.cpp

SPARK object catalog

Stable ID XML tag Family Requirement Source
particle-format.object.system System Core The <System> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Core/SPK_System.h
particle-format.object.group Group Core The <Group> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Core/SPK_Group.h
particle-format.object.float-default-initializer FloatDefaultInitializer Interpolators The <FloatDefaultInitializer> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_DefaultInitializer.h
particle-format.object.color-default-initializer ColorDefaultInitializer Interpolators The <ColorDefaultInitializer> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_DefaultInitializer.h
particle-format.object.float-random-initializer FloatRandomInitializer Interpolators The <FloatRandomInitializer> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_RandomInitializer.h
particle-format.object.color-random-initializer ColorRandomInitializer Interpolators The <ColorRandomInitializer> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_RandomInitializer.h
particle-format.object.float-simple-interpolator FloatSimpleInterpolator Interpolators The <FloatSimpleInterpolator> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_SimpleInterpolator.h
particle-format.object.color-simple-interpolator ColorSimpleInterpolator Interpolators The <ColorSimpleInterpolator> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_SimpleInterpolator.h
particle-format.object.float-random-interpolator FloatRandomInterpolator Interpolators The <FloatRandomInterpolator> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_RandomInterpolator.h
particle-format.object.color-random-interpolator ColorRandomInterpolator Interpolators The <ColorRandomInterpolator> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_RandomInterpolator.h
particle-format.object.float-graph-interpolator FloatGraphInterpolator Interpolators The <FloatGraphInterpolator> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_GraphInterpolator.h
particle-format.object.color-graph-interpolator ColorGraphInterpolator Interpolators The <ColorGraphInterpolator> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Interpolators/SPK_GraphInterpolator.h
particle-format.object.point Point Zones The <Point> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Zones/SPK_Point.h
particle-format.object.sphere Sphere Zones The <Sphere> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Zones/SPK_Sphere.h
particle-format.object.plane Plane Zones The <Plane> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Zones/SPK_Plane.h
particle-format.object.ring Ring Zones The <Ring> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Zones/SPK_Ring.h
particle-format.object.box Box Zones The <Box> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Zones/SPK_Box.h
particle-format.object.cylinder Cylinder Zones The <Cylinder> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Zones/SPK_Cylinder.h
particle-format.object.static-emitter StaticEmitter Emitters The <StaticEmitter> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Emitters/SPK_StaticEmitter.h
particle-format.object.random-emitter RandomEmitter Emitters The <RandomEmitter> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Emitters/SPK_RandomEmitter.h
particle-format.object.straight-emitter StraightEmitter Emitters The <StraightEmitter> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Emitters/SPK_StraightEmitter.h
particle-format.object.spheric-emitter SphericEmitter Emitters The <SphericEmitter> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Emitters/SPK_SphericEmitter.h
particle-format.object.normal-emitter NormalEmitter Emitters The <NormalEmitter> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Emitters/SPK_NormalEmitter.h
particle-format.object.gravity Gravity Modifiers The <Gravity> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_BasicModifiers.h
particle-format.object.friction Friction Modifiers The <Friction> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_BasicModifiers.h
particle-format.object.obstacle Obstacle Modifiers The <Obstacle> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_Obstacle.h
particle-format.object.rotator Rotator Modifiers The <Rotator> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_Rotator.h
particle-format.object.collider Collider Modifiers The <Collider> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_Collider.h
particle-format.object.destroyer Destroyer Modifiers The <Destroyer> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_Destroyer.h
particle-format.object.vortex Vortex Modifiers The <Vortex> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_Vortex.h
particle-format.object.emitter-attacher EmitterAttacher Modifiers The <EmitterAttacher> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_EmitterAttacher.h
particle-format.object.point-mass PointMass Modifiers The <PointMass> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_PointMass.h
particle-format.object.random-force RandomForce Modifiers The <RandomForce> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_RandomForce.h
particle-format.object.linear-force LinearForce Modifiers The <LinearForce> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Modifiers/SPK_LinearForce.h
particle-format.object.action-set ActionSet Actions The <ActionSet> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Actions/SPK_ActionSet.h
particle-format.object.spawn-particles-action SpawnParticlesAction Actions The <SpawnParticlesAction> XML tag is registered and editable by the stock particle editor. ThirdParty/spark/spark/include/Extensions/Actions/SPK_SpawnParticlesAction.h
particle-format.object.spark-quad-renderer SparkQuadRenderer Renderer The <SparkQuadRenderer> XML tag is registered and editable by the stock particle editor. Source/Client/SparkExtension.h
Start typing to search.