SkillAgentSearch skills...

ParametricParticles

Advanced particle entity for the Serious Sam - The Second Encounter 1.07

Install / Use

/learn @SeriousAlexej/ParametricParticles
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

ParametricParticles

Advanced particle entity for the Serious Sam - The Second Encounter 1.07

<img width="322" height="258" align="left" src="./Images/Outline_BlackHole.gif"> <img width="322" height="258" align="left" src="./Images/Outline_HappyHappyJoyJoy.gif"> <img width="322" height="258" align="left" src="./Images/Outline_Pickups.gif"> <img width="322" height="258" align="left" src="./Images/Outline_SoftVolumetricLighting.png"> <img width="322" height="258" align="left" src="./Images/Outline_Ghost.gif"> <img width="322" height="258" align="left" src="./Images/Outline_MissionItems.gif"> <img width="322" height="258" align="left" src="./Images/Particles_Talos.gif"> <img width="322" height="258" align="left" src="./Images/Particles_Rain.gif"> <img width="322" height="258" align="left" src="./Images/Particles_FireSmoke.gif"> <img width="322" height="258" align="left" src="./Images/Particles_TreeBirds.gif"> <img width="322" height="258" align="left" src="./Images/Particles_Beams.gif"> <img width="322" height="258" src="./Images/Particles_MovingShower.gif">

Video Demonstrations (YouTube, clickable)

Parametric Particles 1.3 Outline Demo


Parametric Particles Demo


1.1 Update Feature Showcase


  1. Introduction
  2. Installation
  3. New entities
    1. ParametricParticles
    2. ParticleRotation
    3. ParticleVelocity
    4. SpawnShapeBox
    5. SpawnShapeCylinder
    6. SpawnShapeSphere
    7. AutoHeightMap
    8. Outline

Introduction<a name="intro"></a>

This is a collection of a few new entities, that are handy during mapping.

With customizable particles, you can add special effects and a chef's touch to your map!

Waterfalls, smoke, sparkles, clouds, fire, ambient particles, dusty air, fireflies and much more - your imagination is the limit!

Installation<a name="install"></a>

  1. Download an archive from the latest release page.
  2. Extract this archive to the root directory of Serious Sam - The Second Encounter 1.07
  3. Launch Serious Editor and add all new classes to the virtual tree. Note: gif might not show all available classes. <img src="./Images/Particles_Install.gif">

New entities<a name="entities"></a>

Particles are implemented with 7 new entities.

<img src="./Images/Entities.png">

To quickly check them out and see some examples, you can startup a Parametric Particles - Demo Level level from within the game.

<img src="./Images/DemoLevel.png">

As a short intro on how to use these entities, you can watch a video below.

Mapping Video Demonstration (YouTube, clickable)

Parametric Particles Mapping Demo


ParametricParticles<a name="particles"></a>

<img src="./Images/ParametricParticlesTbn.png">

This is the main entity, that defines all parameters of the particles.

Gist

When this entity is Active, it spawnes between Spawn count min and Spawn count max particles every Spawn interval (seconds) seconds. Each particle is defined by a set of properties, starting from the Particle word - like Particle color. Initial particle position is determined by a Spawner shape entity, or, if not specified, is taken from the current entity's location.

Events

Following events can be sent to this entity:

  • Activate event - this event activates the entity, so that new particles will be spawned.
  • Deactivate event - this event stops new particles from spawning, but existing particles will continue to exist (until they expire).
  • Stop event - this event stops new particles from spawning and kills all alive particles.

Properties

  • Active - if TRUE, new particles are spawned each Spawn interval (seconds).
  • Alive particles max count - defines how many particles can be alive at any given moment.
  • Background - if TRUE, particles will be rendered as a part of a background. This is useful when making clouds or flying birds etc.
  • Blend type - defines the blending mode of particle's texture on screen.
  • Clipping box size X (for rendering only) - this property defines the stretch of this entity, change it only if you experience problems with clipping (i.e. particles disappear sooner than they should when camera is turned away from them).
  • Clipping box size Y - same as above, but for Y axis.
  • Clipping box size Z - same as above, but for Z axis.
  • Flat type - determines how particles are oriented relative to the viewer.
  • Height maps (chained) - optional pointer to a chain of AutoHeightMap entities, that can change particle's alpha channel depending on current elevation.
  • Online Help... - opens up this github page.
  • Orient towards velocity - if set to TRUE, particle's Y+ axis will be aligned with moving direction. Further rotation from other properties (like Particle rotation min/max etc) will be applied on top of it.
  • Particle alpha... - edits a graph of relative alpha value during its lifetime. Graph editing is implemented with an external executable Graph.exe that is called from the Serious Editor.

With this utility you can edit values of various parameters in time.

If X axis is relative time, then this means that X=1 is the end of a particle's lifetime, X=0.75 is a 75% of particle's lifetime and so on.

If X axis is seconds, then X=3 is 3 seconds into particle's lifetime, etc.

Greyed out areas of a graph mean that values within them will have no impact on this property in runtime (for example, when X is < 0, then particle does not exist yet).

<img src="./Images/Graph.png">
  • Particle color base - base color of particles. Note: alpha value here is discarded! Use Particle alpha... instead!
  • Particle color animation file - animation file with color keyframes.
  • Particle color animation - determines which animation from Particle color animation file will be used. Color will be multiplied with Particle color base, while alpha value will be taken from Particle alpha....
  • Particle lifetime max - longest possible lifetime of a particle.
  • Particle lifetime min - shortest possible lifetime of a particle.
  • Particle placement - if this property is set to Relative, then particles act as if they were parented to this entity. Only meaningful when this entity is moving (i.e. parented to a MovingBrush etc).
  • Particle rotation force (chained) - optional pointer to a chain of ParticleRotation entities, that can change particle's rotation during its lifetime.
  • Particle rotation max - maximum possible initial particle rotation.
  • Particle rotation min - minimum possible initial particle rotation.
  • Particle size X max - maximum possible initial width of a particle.
  • Particle size X min - minimum possible initial width of a particle.
  • Particle size Y max - maximum possible initial height of a particle.
  • Particle size Y min - minimum possible initial height of a particle.
  • Particle size uniform - if set to FALSE, then particle's X and Y sizes are chosen independently. If TRUE, then if X size is picked at 30% between X min and X max, then Y shall also be 30% between Y min and Y max, etc.
  • Particle stretch X... - edits a graph of particle's Width stretch multiplier during its lifetime.
  • Particle stretch Y... - edits a graph of particle's Height stretch multiplier during its lifetime.
  • Particle velocity force (chained) - optional pointer to a chain of ParticleVelocity entities, that can change particle's velocity during its lifetime.
  • Particle visibility fall-off - distance at which particles are no longer visible.
  • Particle visibility hot-spot - distance at which particles start to disappear.
  • Presimulate time span - number of seconds to presimulate particles.
  • Spawn count max - maximum possible count of particles that are spawned each Spawn interval (seconds)
  • Spawn count min - minimum possible count of particles that are spawned each Spawn interval (seconds)
  • Spawn interval (seconds) - determines how often new particles are spawned. For example, a value of 2 means that new particles are spawned every 2 seconds.
  • Spawner shape (chained) - optional pointer to a chain of entities, that define custom spawn area (SpawnShapeBox / SpawnShapeCylinder / SpawnShapeSphere).
  • Texture - texture to be used for every particle.
  • Texture animation - selection of a possible predefined texture animation.
  • Texture animation FPS - defines how quickly texture tiles are changed, not related to Texture animation! Valid only if Texture type is set to Animated tiles.
  • Texture columns - how many tiles the texture has horizontally.
  • Texture rows - how many tiles the texture has vertically.
  • Texture tiles count - total number of tiles. Usually this is a product of Texture columns and Texture rows, but if some last tiles are not used, you can exclude them with this property.
  • Texture type - defines which tile of a Texture is rendered for particles. Random tile picks 1 tile and it does not change during particle's lifetime. Animated tiles playes back tiles from first to last (looping) using previous properties.

ParticleRotation<a name="rotation"></a>

<img src="./Images/ParticlesRotationTbn.png">

This is an additional entity, representing a dynamic rotation speed, that can a

View on GitHub
GitHub Stars5
CategoryDevelopment
Updated5mo ago
Forks2

Languages

C++

Security Score

82/100

Audited on Oct 9, 2025

No findings