Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

The Particle Editor can be found in the Database View/Particles tab. You can use the Particle Editor to create particle effects and tweak their parameters, but also manage and store them.

This page breaks down the categories that make up the particle editor.

Emitter

Parameters in this tab control the particle amount & spawning location of the particles.

EnabledEnables/disables current effect

Spawn Indirection: Contains 4 options

  • Direct - Spawn in the normal way.
  • Parent Start - Spawn once the parent has spawned.
  • Parent Collide - Once the parent particle has collided with an object, this is the trigger to spawn a particle with this setting.
  • Parent Death - When the parent particle has lived out its lifetime, this is the trigger to spawn a particle with this setting.

Count: The total number of particles at any one time that will be active.

Timing

Parameters in this tab control the timing of the particles.

ContinuousIf false, all particles are emitted at once, and the emitter then dies. If true, particles are emitted gradually over the Emitter Life Time.  If true, and Emitter Life Time = 0, particles are emitted gradually, at a rate of Count / Particle Life Time per second, indefinitely.

Spawn Delay: Delays the start of the emitter for the specified time. Useful to delay sub-effects relative to the overall emitter creation time.

Emitter Life Time: If Continuous = true, specifies the life time of the emitter. 0 = infinite life time (default). 

Emitter Life Time does not apply to non-Continuous effects, which will always disappear as soon as they have emitted all of their particles. 

Pulse Period:  If >0, the emitter will restart repeatedly at this interval.

Particle Life Time: The life time of individual particles. Even after the emitter's life time has expired, spawned particles will live out their own life time.

Remain while Visible: Particles in the effect will not die until the entire emitter is out of view.

Location

Parameters in this tab control the spawning locations of the particles.

Position Offset: XYZ define a spawning position away from the emitter itself, in emitter space.

Random OffsetXYZ define the range of a random spawning box, in both directions, away from the position offset.

Offset Roundness: Fraction of spawning volume corners to round. 0 = box shape, 1 = ellipsoid shape.

Offset Inner Fraction: Ratio of inner to outer spawning volume. 0 = spawn within entire volume, 1 = spawn only at surface.

Attach Type: Specify the location of emission when the emitter is attached to geometry, or when the parent particle has geometry:

  • None: Particles ignore geometry and emit from emitter center as normal.
  • Bounding Box: Deprecated
  • Physics: Particles emit from the geometry of the attached physics object (can be a mesh or simple primitive).
  • Render: Particles emit from the full mesh of the render object (usually static or animated mesh). Generally more CPU-intensive than emitting from physics.

Attach FormWhen Attach Type is not None, Specifies the elements of the geometry (box or mesh) that particles will emit from.

  • Vertices: Emit randomly from the vertices of the geometry. Most efficient form of Mesh emission.
  • Edges: Emit randomly from the edges of the geometry. Useful for effects on breaking element pieces.
  • Surface: Emit randomly from the surface (faces) of the geometry.
  • Volume: Emit randomly inside the volume of the geometry.

Angles

Parameters in this tab control the focus direction (which is by default the emitter's +Y axis) and rotation value of sprites.

 

Focus Angle: The amount to rotate, in degrees from Y axis. (0 = straight up, 90 = Horizontal, 180 = straight down).
Focus Azimuth: The amount to rotate the new axis about the Y axis. (0/360 = North, 90 = West, 180 = South, 270).

Focus Gravity Dir - This option is deprecated and not necessary. Use Gravity Scale instead to have particles respond to gravity.

Focus Gravity Dir: Forces the focus direction to world negative gravity direction (usually world +Z), ignoring emitter orientation.

Emit Offset Dir: Forces the particles to emit in all directions from the origin.

Emit Angle: The angle deviation of an emitted particle from the focus axis (default local +Y). (0 = +Y straight up, 90 = comes out horizontal to the emitter, 180 = -Y straight down).

Facing: Applies only to 2D particles, Determine how the sprite is oriented in space. Texture orientation is further modified by rotational parameters.

  • Camera: Faces the  viewer, texture X&Y aligned with screen X&Y. In this mode only, particles are assumed to represent spherical objects, are are lit accordingly (see Curvature below). In all other modes, particles are lit as flat polygons.
  • Free: Rotates freely in 3D. (Remember to give it some rotation; the default orientation is equal to the emitter's).
  • Velocity: Faces direction of movement.
  • Water: Faces upward, moved and aligned to nearest water plane.
  • Terrain: Faces upward, moved and aligned to nearest terrain location.
  • Decal: Renders the particle as an actual deferred decal, projected onto the nearest surface.

Orient To Velocity: Forces Texture X axis aligned to direction of movement. Rotation parameters can rotate it further.

Curvature: For Facing = Camera particles, sets how far the vertex normals are bent into a spherical shape, which affects lighting. 0 = flat, lit like a polygon. 1 = bent into an (almost) hemispherical shape, lit like a sphere, which is the default. 

Appearance

Parameters in this tab control the basic appearance of the particle.

It should be setup first, because this tab includes the Texture slot, generally used for most particles.


Particles must specify one of either a Texture, Material, or Geometry asset. Texture or Material are for 2D sprite particles (or decals). Geometry is for 3D mesh particles.

Blend Type: Applies only to 2D particles. Determines how the sprite blends with the background.

  • Alpha Based: Final Color = Particle Color * Particle Alpha + Background Color * (1 - Particle Alpha).
  • Additive: Final Color = Particle Color + Background Color

Texture: Browse and choose the texture used for 2D sprite particles. Displays a preview of the texture when the mouse cursor is over the input box. 

Texture Tiling: Splits the texture into tiles, for variation and animation.

  • Tiles X & Y: How many tiles the texture is split into.
  • First Tile: The first of the range of tiles used by this particle (numbered from 0).
  • Variant Count: How many consecutive tiles in the texture the particle will randomly select from. 
  • Anims Frame Count: How many tiles make up an animation sequence. Variant Count and Anim Frames Count can be used together. For example, if Variant Count = 2 and Anim Frames Count = 8, then the particle will randomly choose between using tiles 0 through 7, or 8 through 15, as an animated sequence.
  • Anim Framerate: Frames per second for the animation. If 0, then the animation runs through one sequence in the particle lifetime.
  • Anim Cycle: If Once, the animation plays once, and holds on the last frame. If Loop, it cycles indefinitely. If Mirror, it alternates cycling forward and backward indefinitely.
  • Anim Blend: Render the particle blended between the two adjacent anim frames. Note: performance impact.

Material: Browse and choose the material used for 2D sprite particles.

Tessellation: If supported by hardware, enables tessellation, rendering more vertices within the sprite. This is useful when Receive Shadows is set, increasing the resolution of shadows; or when Tail Length or Connection is set, creating smoother curves in connected particles.

Octagonal Shape: Renders sprites as octagons instead of quads, reducing pixel cost. Only to be used with textures that fit within an octagon, otherwise clipping will occur. 

Soft Particle: Apply a rendering technique that softens the intersection between sprites and nearby objects, to prevent unnatural seams. (Slightly more expensive, so use sparingly on particles that need it, eg: smoke).

GeometryBrowse and choose 3D object to use for the particles.

Geometry in PiecesIf true, and the Geometry asset contains multiple sub-objects, then the geometry will be emitted in split-up pieces, one set per particle Count, originating at each piece's location in the asset. If false, each particle will use the entire geometry (all sub-objects together).

No Offset: For Geometry particles, use the geometry pivot for 

Alpha: The alpha blending value of the particle, multiplying the texture's alpha value. For Additive blending, serves as a multiplier. Normally 0 to 1, but you can push the alpha beyond 1 to achieve a stronger effect.

Alpha Test: The minimum texture alpha value to render. All alpha values below it are rendered transparent, all alpha values above scaled down to match.

color: Pick the color to apply to the particle.

  • Random: How much a particle's initial color will vary (downward) from the default. 0 = no variation, 1 = random black to default.
  • Random Hue: Causes the Random color variation to occur separately in the 3 color channels. If false, variation is in luminance only.
  • Emitter Strength: Define the color of the particle over the emitter's life time. Add a keyframe color by double clicking inside the panel and assigning a color. You can add multiple keyframes into the timeline by repeated double clicks. 
  • Particle Life: Define the color of the particle over the particle's life time. Add a keyframe color by double clicking inside the panel and assigning a color. You can add multiple keyframes into the timeline by repeated double clicks.

Lighting

Parameters in this tab control the lighting of the particle.

Diffuse Lighting: Multiplier to the particle color for dynamic (diffuse) lighting.

Diffuse Backlighting: Fraction of diffuse lighting that is applied to unlit particle directions. 0 = standard diffuse lighting, where the normals facing the light are lit the most. 1 is omnidirectional diffuse lighting, where lights affects all normals equally.

Emissive LightingMultiplier to the particle color for constant emissive lighting. This can make a glowish appearance to the particle by adding some value.

Receive Shadows: Causes shadows to be cast on the particles.

Cast Shadows: Causes particles to cast shadows. Note: currently functions only on Geometry particles.

Not Affected By Fog: Causes particles to ignores scene fog.

Global Illumination: Enable global illumination on the particles.

Diffuse Cubemap: Use nearest deferred cubemap for diffuse lighting.

Light Source: Causes each particle to create a deferred light.

  • Radius: Radius of the light.
  • Intensity: Intensity of the light. Color is equal to the Color value.
  • HDRDynamic: Control the power to apply to engine HDR multiplier, for particle light source in HDR.

Sound

Parameters in this tab browse and control the sound files.

SoundBrowse and choose the sound asset to play with the emitter.

SoundFX ParamModulate value to apply to the sound. Its effect depends on how the individual sound's "particlefx" parameter is defined. Depending on the sound, this value might affect volume, pitch, or other attributes.

Sound Control Time: control how long the sound plays

  • Emitter Life Time: Plays for the length of the emitter's life time.
  • Emitter Extended Life Time: Plays for the length of the emitter's life time plus all particle's life times; i.e. until all particles die.
  • Emitter Pulse Period: Plays for the length of the pulse period.

Size

Parameters in this tab control the size and shape of the sprite.

SizeFor 2D particles, the world sprite radius. For 3D particles, the scale applied to the geometry.

Stretch: The amount of stretch applied to the particle in the direction of travel, in seconds (based on current velocity). Stretches in both directions by default.

  • Offset Ratio: Adjusts the center of stretching. 0 = stretch both directions, 1 = stretch backward only, -1 = stretch forward only.

Tail Length: Length of particle's tail in seconds. Particle texture will be stretched out through the tail.

  • Tail Steps: Number of segments for tail. A higher number will produce smoother tail curves for non-linear-moving particles. Note also: If Tessellation is set, the tail will be rendered as a smoothly interpolated curve between tail segments.

Min Pixels: Adds this many pixels to particles true size when rendering. This is useful for important effects that should always be visible even at distance.

Connection: Causes all particles to be rendered in a connected line, in sequence.  Emission sequences separated by a Pulse Period produce separate polygons. And indirect child effects produce a separate polygon for each parent particle.

  • Connect To Origin: Additionally connect the newest particle to the emitter origin, with the parameters of a particle of age 0.
  • Texture Mapping: This and the next parameter specify how textures are repeated over the stream. Per Particle sets a default frequency of one texture per particle. Per Stream sets a default frequency of one texture stretched over the whole stream.
  • Texture Frequency: Multiples the texture repeating frequency specified above.
  • Note also: If Tessellation is set, the stream will be rendered as a smoothly interpolated curve between particles.

Movement

Parameters in this tab control the movement of the sprite.

Speed: The initial speed of particles.

Inherit Velocity: What fraction of initial velocity is inherited from the particle's parent. For indirect particles, the parent particle's velocity is inherited. For direct particles, the emitter's velocity is inherited.

Air Resistance: How much to react against the global wind speed. Units are 1/seconds. The higher the number, the faster particles will reach wind speed (or rest if no wind).

Rotational Drag Scale:  Fraction of Air Resistance applied to slow down particle rotation. If 0 (default), only particle velocity is slowed, not rotation.

Gravity Scale: Multiple of world gravity to apply to particles. Most physicalized particles should be set to 1 (use Air Resistance to provide drag). Set to a negative value for buoyant particles such as smoke.

Acceleration: The constant acceleration applied to particles, in world space (X,Y,Z).

Turbulence 3D SpeedAdds a 3D random turbulent movement to the particle, with the specified average speed.

Turbulence SizeAdds a spiral movement to the particles, with the specified radius. The axis of the spiral is set from the particle's velocity.

Turbulence SpeedWhen Turbulence Size > 0, the angular speed, in degrees/second, of the spiral motion.

Move Rel Emitter: Forces particle motion in emitter space; particles will move with its emitter. No = particle moves in world space. Yes = particle body moves with emitter, tail segments remain in world space. Yes with Tail = both particle body and tail segments move with emitter.

Bind Emitter to Camera: Forces the emitter to relocate to the main camera's position. Useful (with Space Loop) for making a rain or snow effect, which the player cannot pass by.

Space Loop: Particles loop within a region around the camera, defined by Camera Min/Max Distance (under the visibility tab). This is useful to make rain or snow effect, which has an effective infinite spawning area.

Target Attraction: Specifies if particles are attracted to a target. This causes them to orbit toward the specified target position, as controlled by the sub-parameters below. External = particles attracted to a target entity, if the emitter is linked to one (default). OwnEmitter = particles are attracted to their own emitter's origin. Ignore = particles ignore any external attractor.

  • Extend Speed: Particles speed up to reach the target in their lifetime. Otherwise, they move at natural speed toward the target, and may not reach it. 
  • Shrink: Particles shrink as they approach the target.
  • Orbit: Particles orbit around target when reached. Otherwise, they disappear into the target.
  • Orbit Distance:  Distance from the target that particles either orbit around, or disappear.

Rotation

Parameters in this tab control the focus direction (which is by default the emitter's +Y axis) and rotation value of sprites.

Init Angles: The initial angle applied to the particles upon spawning, in degrees. For Facing = Camera particles, only the Y axis is used, and it refers to rotation in screen space. For 3D particles, all 3 axes are used, and refer to emitter local space.

Random Angles: Random variation (bidirectional) to Init Angles , in degrees.

Rotation Rate: Constant particle rotation, in degrees/second. The axes are the same as for Init Angles.

Random Rotation Rate: Random variation (bidirectional) to Rotation Rate , in degrees/second.

Collision

Parameters in this tab control the physical setup for the particles.

Physics Type:

  • None: No collisions or other physics.
  • Simple Collision: Particle collides with the static environment using simple physics. This is most simple mode.
  • Simple Physics: Particle created as an entity in the physics system, and collides using a spherical particle model.
  • Rigid Body: Particle created as an entity in the physics system, and collides using the full geometry. A geometry asset must be set to the physicalized model in engine for this particle. This is most expensive mode.

Collide TerrainIncludes terrain in particle collisions.

Collide Static ObjectsIncludes non-terrain, static objects in particle collisions. This is expensive.

Collide Dynamic ObjectsIncludes non-terrain, dynamic objects in particle collisions. This is very expensive.

Collision Fraction: Fraction of emitted particles that actually perform collisions.

Collision Cutoff Distance: Maximum distance from camera at which collisions are performed (0 = infinite).

Max Collision Events: Only affects particles that have their Physics Type set to Rigid Body. Limits the number of collisions the particle can have in its physics simulation.

Surface Type: Determine surface material type for collision behavior. If set, overrides Bounciness and Dynamic Friction below.

BouncinessOnly affects particles that have their Physics Type set to Simple Collision . Control the elasticity for collision response. Overridden by Surface Type if set. (Special value: if -1, particle dies on first collision).

Dynamic FrictionOnly affects particles that have their Physics Type set to Simple Collision. The coefficient of dynamic friction. Overridden by Surface Type if set.

ThicknessOnly affects particles that have their Physics Type set to Simple Physics. Control the fraction of the particle's visible radius to use for the physical radius.

DensityOnly affects particles that have their Physics Type set to Simple Physics or Rigid Body. Control the density of particle, in kg/m^3. An example of a value which is physically correct, is for Water = 1000.

Visibility

Parameters in this tab control the visibility of the particles.

Camera Max/Min Distance: The camera range that particles render in. Defaults are 0, specifying unlimited range.

View Distance Adjust: Multiplier to the automatically computed fade-out camera distance.

Draw Last: Modifies draw order of sub effects. Sub effects are rendered by lowest Draw Last value first, or in list order if equal.

Draw NearRender particles in a near 1st-person space (with weapons etc).

Draw on Top: Render particles on top of everything (no depth test).

 

Visible Indoors: (Vis Areas)

  • If_True: Hides particles when outdoors.
  • If_False: Hides particles when indoors.
  • Both: Show particles always.

Visible Underwater:

  • If_True: Hides particles when above water.
  • If_False: Hides particles when under water.
  • Both: Show particles always.

Advanced

Parameters in this tab Includes advanced appearance, movement and optimization settings.

Force GenerationAdds an additional force generated by the emitter.

  • None: Doesn't add any additional force.
  • Wind: Creates a physical wind force, approximately following the velocity, direction, volume, and timing of the emitter's particles. This wind affects all particles and objects in its region, except particles in the emitter group. Setting the emitter's *Speed to negative will create the wind force in the opposite direction, which can be used to create a sucking force.
  • Gravity: Creates a physical gravity force, similar to the wind, but creates a gravitational acceleration force, instead of wind velocity.

Fill Rate Cost: Multiplier to this emitter's contribution to total fill rate, which affects automatic culling of large particles when the global limit is reached. Set this > 1 if this effect is relatively expensive or unimportant. Set this < 1, or 0, if the effect is an important one which should not experience automatic culling. 

Heat Scale: Multiplier to thermal vision.

Sort Quality: Specifies more accurate sorting of new particles into emitter's list. Particles are never re-sorted after emission, to avoid popping resulting from changing render particle order. They are sorted only when emitted, based on the current main camera's position, as follows:

  • 0 (default, fastest): Particle is placed at either the front or back of the list, depending on its position relative to the emitter bounding box center.
  • 1 (medium slow): Existing particles are sorted into a temporary list, and new particles do a quick binary search to find an approximate position.
  • 2 (slow): Existing particles are sorted into a temporary list, and new particles do a full linear search to find the position of least sort error.

Half Res: Render particles in separate half-res pass, reducing rendering cost.

Streamable: Texture or geometry assets are allowed to stream from storage, as normal.

Configuration

Parameters in this tab control advanced configurations. These settings limit an effect to only be enabled on certain platform configurations. This allows you to create variant effects for different configurations.

Config Min: The minimum system configuration level for the effect. If the config is low than what is set here, the item will not be displayed.

Config Max: The maximum system configuration level for the effect. IF the config is higher than what is set here the item will not be displayed.

A practical use for these settings would be if you have the same sub effect duplicated (but have a cheap & expensive variation) you can force the correct particle to play on the desired config spec, so the low spec will use the cheaper version, and the Veryhigh spec will use the expensive one.

So for example, reserve a complex & crazy physics (Rigid Body) based sub effect for the Config Min = Very High.

Then have a cheaper physicalized version (simple Collision) based sub effect that has a Config Max = High.

DX11:

If_True: Enables the effect only on DX11.

If_False: Enables the effect only on pre-DX11.

Both: Enables the effect to display on both DX versions.

 

  • No labels