Skip to end of metadata
Go to start of metadata

Overview

In order to visualize the particles, a Render feature needs to be added to a particle component. Without it, particles will still simulate but will not be rendered. This can be a useful technique for parent particles that just need to drive visible child particles (for more information on parent child relationships, see SecondGen). Render features will read the properties in the Appearance feature and render particles accordingly.

The following options are available under the Render category:  

 

Decals

This feature renders each particle as a decal. 

PropertiesDescription
ThicknessSpecifies how thick decals should be. Thicker decals can be more easily seen when placed near round scenery objects but can also distort more.
Sort BiasSpecifies the sorting order relative to other decals in the scene.

Recommendation: Since decal particles are only visible when they are near other objects and with correct alignment, it can be fairly tricky to tweak them. By adding "Render Sprites" with the Facing Mode set to "Free" (please check Sprites in this page), it is possible to visualize where decals are and the potential reason why they might not be visible in a particular setup.

Meshes

This feature renders each particle as a separate static mesh.

PropertiesDescription
MeshSelects the mesh resource reference to be used by this feature.
ScaleSpecifies non-uniform final scale applied to all meshes (applied after Size Mode).
Size ModeSpecifies how particle size should affect the size of the mesh being rendered:
  • Size: Mesh's size will be exactly the same as the particle size. For example, if the mesh would be a cube with each edge being 2 meters in size and the particle in question would have size 0.5 meters, then cubes would be rendered with 0.5 meters per side instead.
  • Scale: Particle's size acts as a scale to the size of the mesh instead. Using the example above, the cube would be rendered with 1 meter per size since one meter is half of 2 meters.
Origin ModeDetermines the mesh's location relative to the particle position.
  • Origin: Enables the mesh's pivot to be aligned with the particles origin.
  • Center: Creates new mesh pivots based on bounding box.
Pieces ModeIn CRYENGINE V, static mesh(es) resources can be composed of sub-meshes. Feature Meshes can apply all sub-meshes to each particle which might only use a single sub-mesh - this is particularly useful for object destruction effects. The following options are available:
  • Whole: Ignores the sub-meshes and renders all of them together for each particle.
  • Random: Each time a new particle is born applies a random sub-mesh to the particle. Usually used to add mesh variation.
  • All Pieces: Changes the rate at which particles are spawned so that each new particle gets a unique sub-mesh. Usually used for object destruction.
Pieces PlacementAllows the Feature Meshes to act as a Location feature. When paired with Pieces Mode and set to the All Pieces option it allows the creation of object destruction effects. The following options are available:
  • Standard: Disables the placement of a piece.
  • Sub-Placement: Offsets newborn particle position to the origin of the sub-piece assigned to the particle. Use in conjunction with Origin Mode set to Origin.
  • Centered Sub-Placement: Offsets newborn particle to the center of the sub-piece assigned to the particle. Use in conjunction with Origin Mode set to Center.

Pic4: A sample effect using different Mesh values.

Ribbon

This feature connects the particles together in a single line and with no gaps between them. For components without parents - creates a single ribbon connecting all its particles. For components with parents - then each parent will create a separate ribbon. (For more information about parent child relationships, see SecondGen). Note: All ribbons in a component are rendered together as a single primitive.

PropertiesDescription
Ribbon ModeSpecifies the method that will be used to generate ribbons.
  • Camera: Orients the ribbon towards the camera. This is better used for thin ribbons such as smoke trails or beams of light.
  • Free: Uses free facing ribbons and uses Rotate3D to orient the ribbon. Ribbons using this mode can get twisted. This is better used for effects such as fabrics, paper rolls or whoosh effects from fast moving blades.
 
Stream SourceSpecifies the source of the V axis for the diffuse map.
  • Age: Uses the age of the particle as a V axis. This is better used when particles are continuously being spawned and immediately killed, for example rocket trails.
  • Spawn: Uses the spawn order of the particle as a V axis. This is better used when a predefined number of particles are spawned for each ribbon, for example lightning effects.
 
Sort BiasSpecifies the sorting order of components that are always based on distance to camera of the emitter to which they belong. This bias is added to that distance to reorder the component relative to other components. It can, for example, force rocket trails to always render on top of smoke trails.
Connect to OriginUsually, ribbons only connect particles in the component. If the spawn rate of new particles is too low, the the tip of the ribbons jumps towards the parent. When you enable this setting it adds an additional segment that is aligned to the parent particle or emitter of this component - this means it will move along with the motion of the parent. Note: This may not work in all cases, for example, if ribbon particles are spawned with an offset relative to the parent.
Texture FrequencySpecifies how often the V axis of the diffuse map repeats itself. Use this with tiling textures along the V axis.
OffsetAdds an offset along the ribbon's spine. Can be used to generate spirals, twists or to avoid ribbons from self-intersecting when aligned to camera.

Sprites

Renders all particles as simple flat planes. This is the standard way to render particles on the screen.

PropertiesDescription
Sort ModeDetermines the type of sorting to be used for particles - sorting is always applied in every frame. For semi-transparent particles this is very important, since the order in which they render influences the final visual quality. If no sorting is applied, particles might start to randomly appear on top of each other. This is due to how particles are stored in memory. For components with fewer but larger particles, then it is recommended to use sorting. However, for components with many small particles, then sorting is not recommended.
  • None: No sorting is applied to particles, and they will be rendered randomly. Use this method for the fastest rendering, but be aware in some cases it can add visual glitches.
  • Back to Front: Renders particles that are far away from the camera, then renders particles closest to the camera. This is the standard method to sort particles.
  • Front to Back: Renders the particles which are closest to the camera first. Particles will appear hollow.
  • Old to New: Renders the oldest particles first and then the more recent ones.
  • New to Old: Renders the newest particles first and then the oldest.

Note: If Appearance Blending (see Appearance for more details) is to be used with mode Additive, then please set this property to None. Additive particles do not need sorting.

 
Facing ModeSpecifies which way the particles should be facing. This method also considers rotated particles from the Angles Feature.
  • Screen: Aligns sprites to face towards the screen. When the camera moves (looks around) it can make large particles (in the distance) affect different parts of the scene, this can make things look unnatural. Best suited for small and close up particles.
  • Camera: Makes sprites face the camera position. For large close up particles, then this can make them flip around the camera as it moves through the scene. Best suited for large particles in the distance.
  • Velocity: Aligns sprite along its velocity vector while maintaining the face towards the camera. This method is fundamental for fast moving small particles.
  • Free: Allows sprite to be free of any constraint and only uses Rotation3D to orient itself. Best used when particles are trying to simulate small solid objects instead of participating mediums (for example, objects such as falling leaves as opposed to smoke clouds).
Aspect RatioSpecifies how many times width should be larger than height. By default, sprites are squares. Used to avoid distortion when diffuse textures are not squares.
Axis ScaleValid only when Facing Mode is set to velocity, specifies the dimensions of the particle along its velocity vector while the height of the particle is always constrained to its size. Recommended value for this property is 0.016 (which is 1/60) - makes sprite behave like motion blur.
Spherical ProjectionExtends the size of the particle relative to the screen to encompass the shape of a sphere. A value of 0 means the sprite will always behave like a regular flat plane. A value of 1 will make the sprite fully encompass that sphere. This property is not valid for Free facing particles.
Sort BiasSpecifies the sorting order of components, always based on the distance to camera of the emitter to which they belong. While Sort Mode specifies sorting of sprites within a component, sprites do not sort themselves with other components. This bias is added to that distance to reorder the component relative to other components. It can, for example, force fire particles to always render on top of smoke.
Camera OffsetOffsets the sprite location relative to the camera in meters. Positive values will move sprites away from the camera, while negative values will move sprites toward the camera. Usually used to better place sprites relative to other game objects and regardless of camera orientation.
OffsetChanges sprite's pivot point.
Flip U and Flip VFlips the coordinates of the diffuse texture if needed. Setting both is equivalent to spinning the sprite by 180 degrees.
  • No labels