Skip to content

Particles#

Particles are geometries defined by points that don't define any primitives. They are not meant to be rendered. They are mainly used as inputs for scatterers or point cloud textures for example.

Particles can be generated in many different ways or simply imported from a file through Alembic or USD and they can be visualized in the 3D View.

With the exception of the Particle Container, and particles that are read from a file such as Alembic or USD, particles are always procedurally generated. This means that their result is not baked. They are always generated on the fly. However, note that it is possible to bake them by converting them to particle containers.

Point Array#

The Point Array is a user-controlled array of points. Like most particles, the point array can be decimated. For more information about decimation, please refer to Decimating Particles.

Point Array

Point Array

Attribute Description
Size Size of the array (x, y ,z).
Count Number of point in each axis. To get the total number of points generated simply multiply Count.X * Count.Y * Count.Z
Decimate Value Decimation threshold. Each point has a chance to be removed. 0% keeps all the points, 50% removes about half of them, 100% removes all of them.
Decimate Texture Set the texture used to decimate points.
Decimate Seed Random generator seed used for Decimate Value.

Scene Item Cloud#

Scene Item Clouds are procedurally generated points from an input list of items. For each item the Scene Item Cloud generates a point at their global position.

Point Cloud#

Point Clouds are procedurally points generated on arbitrary surfaces. The point cloud can sample any scene objects defining surfaces which includes scatterers, combiners and geometries.

Please note the samples are sampled on the actual parametric surface. When you sample subdivision or implicit surfaces, the sampling is performed on the limit surface and not on a tessellation. Like most particles, the point cloud can be decimated. For more information about decimation, please refer to Decimating Particles.

Point Cloud

? Point Cloud

Attribute Description
Distribution Mode Choose the type of sampler used to generate the points.
Distribution Seed Control the random seed of the distribution.
Use Density Enable density sampling mode.
Density Sampling density in samples per square unit.
Point Count Set the number of points generated by the point cloud. Only works when Use Density is Off.
Decimate Value Decimation threshold. Each point has a chance to be removed. 0% keeps all the points, 50% removes about half of them, 100% removes all of them.
Decimate Texture Set the texture used to decimate points.
Decimate Seed Random generator seed used for Decimate Value.
Geometry Set the SceneObject or Geometry to sample.
Geometry Mode Choose which geometries are used to sample the points . Please refer to Geometry Mode for more information.
Motion Blur Mode Specify the method used to compute motion blur when the underlying geometry is animated. When set to Velocities, the motion blur is computed using the velocities defined in the geometry. When set to Sub Positions it computes motion samples using the sub positions of the geometry.
Sampling Texture Specify a texture that is used to generate the samples of the point cloud.
Sampling Resolution Define the resolution of the sampling.
Subdivision Space Set the space of the sampling texture.

Note

Point clouds keep underlying geometry information such as normal, uvs, color maps... They are accessed through Support Color textures. |

Density Mode#

Depending on what you want to achieve, you can either sample underlying geometry using density or point count. By default, the point cloud samples geometries based on a point count.

To sample using a density instead, check Use Density and set Density to the density of points you want. In this mode, the number of points is automatically computed. It basically uses the input geometry total surface area and multiply this by the number of samples specified in Density. If the area of the input geometry is 10 square meters and you specified a density of 100, you will get 10 * 100 = 1000 samples.

Note

Please consider Point Count value as a hint. Depending on your sampling mode, typically Blue Noise, it may be impossible to reach the number of samples specified.

Geometry Mode#

By default, the Geometry Mode is set to Local Base. This means that the point sampling is performed on the local base geometry.

In this mode, transformations and deformations do not affect the sampling. When the geometry is deformed samples always stick to the surface according to the deformation. This is the favored mode when you want to sample an animated geometry.

Underlying geometry is not deformed

Underlying geometry is not deformed

Underlying geometry is deformed

Underlying geometry is deformed

When Geometry Mode is set to Local Deform, the sampling is performed on the local deformed geometry instead. In this mode, deformations affect the sampling but transformations do not.

This means the particles of the point cloud are not sticking to their original positions. Their positions is regenerated each time the geometry is deformed.

This mode should be avoided if you are sampling an animated geometry because the position of points won't be consistent across the animation.

Point Cloud set to Local Base, the distribution isn't uniform

Point Cloud set to Local Base, the distribution isn't uniform

When in Local Deformed the distribution remains uniform

When in Local Deformed the distribution remains uniform

Global modes Global Base and Global Deform are working like local modes however they take into account the transformation of geometries. For example, if you scale up the underlying geometry, it will increase the number of generated samples.

Distribution Mode#

There are 3 modes to generate the distribution of points over the underlying geometry: Random, Blue Noise or Primitive Center.

Random

Blue Noise

Primitive Center

The distribution of points is controlled by the Distribution Seed attribute which randomizes the generation based on a input number. Using this attribute to change the entire distribution.

Random#

When the distribution is set to Random, samples are randomly distributed over the underlying geometry. This mode is really interesting if you look for clumps to give a more natural constraint-free distribution.

random

Blue Noise#

When the distribution is set to Blue Noise, samples are distributed randomly over the underlying geometry while taking into account a radius constraint. This mode is really interesting if you want to avoid clumps to have a uniform looking distribution to represent, for example, cells, scales... etc.

Please be aware this distribution mode is computationally expensive and runs on a single core.

Blue Noise

The number of samples to be reached is determined by using the input geometry total surface area and multiplying this by the number of samples specified in Density. However, that count is a maximum number and can't be reached due to the random origin of the samples. In typical cases, you will get about 70% of the targeted sample count.

Primitive Center#

When the distribution is set to Primitive Center, samples are distributed at the center of each primitive. Unlike other modes, the point count is resulting from the number of primitive of the input geometry.

Primitive Center

Jittering#

Using the Jittering attribute, it is possible to add some jittering/randomness to each point so that they don't lie exactly at the center of the primitives.

Points generated on a grid with jittering set to 25%

Points generated on a grid with jittering set to 100%

Sampling Texture#

Instead of sampling the whole geometry to generate points, it is possible to drive the point generation via a texture.

To use a texture to sample the points, connect a texture to Sampling Texture attribute. When connecting a texture to Sampling Texture the point cloud generates an implicit projection on the geometry that used to bake the values of the sampled texture.

The resolution of this implicit projection is defined by Sampling Resolution. Note that the resolution of the internal buffer is floored by the number of primitives of the underlying geometry. Setting a Sampling Resolution to a value that is smaller than the number of primitives will have no effect.

Increasing this value improves accuracy but increase processing time and memory usage.

Point cloud generated on a 4x4 polygrid with Sampling Resolution of 16x16

Point cloud generated on a 4x4 polygrid with Sampling Resolution of 16x16

Point cloud generated on a 64x64 polygrid with Sampling Resolution of 16x16

Point cloud generated on a 64x64 polygrid with Sampling Resolution of 16x16

Point cloud generated on a 4x4 polygrid with Sampling Resolution of 512x512

Point cloud generated on a 4x4 polygrid with Sampling Resolution of 512x512

Subdivision Space#

This attribute is only useful when the input Geometry is a composite of Scene Objects such as a Combiner or a Scatterer.

In that case, since the underlying geometry is composed of multiple geometries, the Subdivision Space allows you to set the Sampling Resolution for the whole input geometry which is the case in Global or for each sub-geometries when set to Local.

When set in Local the point cloud bakes each the texture on each sub-geometry using the Sampling Resolution settings. Obviously, Local mode is mode accurate but a lot more expensive to compute both in memory and processing time. Use this mode with extra caution!

Point UV Sampler#

Point UV Sampler is quite close to Point Clouds as it generates point samples on arbitrary surfaces. However, unlike Point Clouds, Point UV Sampler generates samples in UV space based on an input texture and a UV map projection.

Points are generated only where needed, avoiding the need of generating many unnecessary particles that are removed by decimation.

Attribute Description
Point Count Number of resulting points
Geometry Geometry used to sample
Texture Set the texture used for sample density (using importance sampling).
Distribution Seed Random generator seed used for sampling the texture.
Sampling Mode Choose if samples should be positioned completely randomly (Random) or randomly but evenly spaced (Blue Noise)
Sampling Resolution Set the resolution of the input sampling texture.
Uv Slot Slot of the UV texture that will be used as UV projection.
Uv Range Define the range of the UV projection.

Resulting point cloud in Random mode

Resulting point cloud in Blue Noise mode

Texture used for density sampling

When Sampling Resolution is too small, the generation of samples can miss small frequency details.

Texture with high frequency

Texture with high frequency

Resulting point cloud lacking sampling resolution

Resulting point cloud lacking sampling resolution

Point Volume#

Point Volumes are random particles generated inside a box or an ellipsoid. Using the Point Volume, you can control point density as well as the sampling falloff.

Point Volume

Point Volume

Attribute Description
Size Size of the volume (x, y ,z).
Falloff Sampling falloff starting from the center of the volume.
Geometry Shape of the volume. (box or ellipsoid)
Count Number of generated samples.
Sampling Seed Seed of the random generator used while sampling.
Decimate Value Decimation threshold. Each points has a chance to be removed. 0% keeps all the points, 50% removes about half of them, 100% removes all of them.
Decimate Texture Set the texture used to decimate points.
Decimate Seed Random generator seed used for Decimate Value.

Geometry#

Using the Geometry attribute you can constraint the generation of particles within an enclosed volume that can be either a box or and ellipsoid where the Size attribute is defining the size of the volume.

Geometry set to Box

Geometry set to Ellipsoid

Falloff#

You can modify the falloff of the distribution using the Falloff attribute. Modifying the falloff results in concentrating particles towards the center of the volume.

Ellipsoid and Falloff to 0%

Ellipsoid and Falloff to 50%

Ellipsoid and Falloff to 100%

Container#

Containers are container of particles. They are created like any other items in Clarisse. They can also be created using the Create script found in the Particle shelf. Using the Bake script found in the Particle shelf, it is also possible to use containers to bake the result of any procedural particle generators such as Point Clouds.

Containers can be edited using the Particle Paint Tool or via scripting. In the same way, particle properties can be edited using the Property Editor or the Property Paint tool.

Note

The definition of Containers is always saved into Clarisse projects. This means that if you have a large number of particles in your container, it will affect the speed of the auto save. It is then recommended to export large particle containers as references.

Particle Shelf#

The particle shelf offers a set of script that allows you to manage containers.

Particle shelf

Particle shelf

Shelf script Action
Create (1) Create a new empty particle Container.
Bake (2) Bake the selected particle geometry(ies) into a unique new particle Container. You are prompted to choose the destination context for the new item. Particle positions are baked from the deformed clouds. Normals and velocities are baked (created as null if needed), but other properties are kept only when baking a single cloud.
Clear (3) Clear the currently selected container(s). Point properties that were defined on the cleared containers are removed.
Jitter (4) Jitter the particle positions of the selected particle Container by adding a position offset for each axis.

Jittering particles#

When clicking on the Jitter shelf script, a modal dialog pops up to provide a way to test various parameters and finally apply them.

Jitter settings Description
Space Define the space in which the jitter occurs: World space (jitter is aligned to world axis), Object space (jitter is aligned to the Container orientation) or Local space (jitter is aligned per particle relying on normals and velocities of each particle).
Variance Define the maximum offset for each axis. Jitter is randomly generated for each particle in range [- max offset ; + max offset].
Keep Sign Allows you to reduce the variance range to [0 ; + max offset]

To test your jitter settings, press the Apply button and validate it using the Ok button. Press the Cancel button to cancel the jitter operation.

Decimating Particles#

Decimation allows you to remove particles according to a percentage and/or a texture. This is very handy since you can precisely control which particles you want to keep using a texture map or an entire texture network.

One important thing to remember is that decimating particles changes the number of points and their creation order. This means that it will affect any items that rely on the point creation order such as Scatterers for instance distribution.

In other words, decimating a particle geometry will regenerate the distribution of the instances of a scatterer. To avoid this, make sure to use the decimation feature of the scatterer which decimates instances instead.

Attribute Description
Decimate Value Decimation threshold. Each points has a chance to be removed. 0% keeps all the points, 50% removes about half of them, 100% removes all of them.
Decimate Texture Set the texture used to decimate points.
Decimate Seed Random generator seed used for Decimate Value.

Decimate Value#

This attribute decimates particles based on a percentage. It defines the probability of each particles. To keep half of the particles, set the value to 50%. 100% removes all particles. It is applied after the Decimate Texture so you use it can have further decimation.

Decimate Seed#

The Decimate Seed attribute controls the seed of the random number generator used by the Decimate Value.

Decimate Texture#

Using Decimate Texture it is possible to connect a texture network to finely control decimation using textures. Decimate Texture is evaluated before Decimate Value. If you set Decimate Value to 100%, no particle remains.

In the example below we are using a checker texture as Decimate Texture:

Decimate

Decimate