Setting Up Emissions in Lagoa Simulations

When emitting points in a Lagoa simulation, there are different options that you can choose that have a big impact on the resulting simulation. This includes the type of Emit node, the number of emitter objects, the size and shape of the emitter objects, and the Resolution Per Unit value you set for the emission.

The Emit Nodes

The Lagoa Emit nodes are responsible for creating and emitting the particles. At every frame, they add points and set the particle attributes such as size, color, velocity, mass, shape, etc.

Emit compounds are usually plugged into the top of the Simulation Root node in a particle simulation because you need to emit the particles before anything else can happen to them.

If you're creating a deform effect on a mesh or curve, you use the Lagoa Init Geometry or Lagoa Init Curve node directly on those objects, instead of using an Emit node.

Multiple Emit Nodes

To have multiple Emit nodes in the same ICE tree, such as for creating phases or advecting, plug each Emit node into an Execute node, then plug that node into the Emitter port on the Simulation Root node.

Multiple Emitter Objects

You can use multiple emitter objects to have create several particle emissions in one ICE tree using one point cloud. The emitter objects must be in a group. Groups allow you to easily add objects to, or delete objects from, the group while keeping the same Get Data node plugged into the ICE tree.

Because the group is plugged into the same Lagoa Emit node, all the settings there apply to both emitter objects. For example, if their sizes are different, the same Resolution Per Unit is still used, so you will get fewer particles emitted from a smaller object.

Particles are emitted from two null objects in a group plugged into the same Lagoa Emit node. The nulls are of different size and shape.

To set up multiple volume emitter objects:

When you are using multiple volume emitter objects, you need to plug the Lagoa Init Emitter Volume Data compound into an ICETree node for each of the volume emitter objects. This compound allows the Lagoa Emit Volume compound to properly compute the proper transform and bounding box limits of each emitter so that it can create particles.

Then follow the steps below to put the objects in a group and connect the group's Get Data node to the Lagoa Emit Volume node.

To use multiple emitter objects:

  1. Select all objects to put in the group and press Ctrl+G to create a group.

    The objects must be of the same geometry to be used for the matching type of Emit node: volume objects for the Lagoa Emit Volume node and null objects for the Lagoa Emit Grid node.

  2. Drag the group's name into the point cloud's ICE tree view to create a Get Data node for it.

  3. Plug the emitter group's Get Data node into the Null Name or Emitter Name port on the Lagoa Emit node.

Emission Resolution

When you emit Lagoa particles, the emitter object is the region in which the particle volume is initially contained and calculated. This region is divided up into Softimage units, and each unit is subdivided into cells. Each unit represents a fixed space of 10 cm and cannot be changed.

The Resolution Per Unit parameter in the Lagoa Emit nodes (see Lagoa Emit Volume for details) sets the density (points per unit ratio) of the particles based on the number of units into which the emitter object can be divided, and then scales the particles appropriately.

A value of 1 means that one point is created per unit inside the volume. A lower value means that the density that is trying to be achieved per unit will require more (and smaller) points to fill the same volume. The point size is updated at emission, and shows you the granularity of the simulation. The smaller the point, the more detail in the simulation.

You can think of the Resolution parameter as your particle "budget": if you have a budget for many, many particles, then use as small a Resolution Per Unit value as you need! If not, then you need to balance the Resolution Per Unit value with the desired effect for your particle simulation.

Number of Points Created

As you can imagine, the size and shape of the emitter object has a large part to play in the size and number of particles that are created in the volume. This matters whether the emitter is a volume object or a null. For nulls, you can set their shape in their property editor.

You must make sure that the emitter object has enough space to create a cell. If you want to add 1 cell per unit, then you need to have at least 1 unit to "fill" inside your emitter object.

  • A Resolution Per Unit value of 1 means one point per cubic unit, which means that you will need a space of 1x1x1 units.

  • If Resolution Per Unit = 0.5, the unit is divided into 2 cubic cells, ending up with 8 cells, each containing one point.

  • If Resolution Per Unit = 0.1, 1000 cubic cells/points are created per unit. In turn, every empty space inside of a volume that has at least one tenth of a unit will be filled with a point.


Null emitter object in a box shape with a size of 1 Softimage unit.

Resolution Per Unit = 1

Resolution Per Unit = 0.5

Resolution Per Unit = 0.1

Emission Generation Types

The Lagoa Emit node tries to put in as many points of mass as can fit inside the emitter volume's space. The points are arranged into a neat grid (Uniform Placement) within this volume upon creation by default, but you can change the formation using the Generate options in the Lagoa Emit node.

In these images, the Resolution value is set to 0.5.


Uniform Placement



The Tetrahedral option creates four times more points around each cell center. This results in smaller points with little space between them, so you can create highly incompressible matter this way or very high friction materials.

This is useful for creating fluid effects, when you need many particles, but you don't want to lower the Resolution Per Unit value. It's also the best choice if you want to simulate volume-preserving soft bodies.

Tetrahedra may require more substeps because they have more resolution by default.