Particles are simply points in a point cloud. What makes them a little different from regular points, though, is that they are usually simulated, which means that their position changes at each frame depending on their position from the previous frame. As well, the number of particles usually changes with each frame as new particles are born and old ones die over the length of the simulation.
You can affect a point cloud in different ways depending on the region in which the ICETree operator (and other operators) resides in the construction history: Simulation, Post-simulation, Modeling, or Animation. For more information, see Working with Unsimulated Point Clouds.
Creating Primitive Point Clouds
You can automatically create a point cloud when you choose any of the commands on the Particles Create menu on the ICE toolbar. These commands also automatically create a simulated ICE tree for the point cloud (see Creating a Basic Particle Emission).
However, if you want to simply create a point cloud without an ICE tree, you can choose Get Primitive Point Cloud Empty Cloud or any of the primitive point cloud shapes from any toolbar.
You can use an empty point cloud to build the ICE tree yourself to create certain types of particle simulations (see Setting Up Any Particle Emission from Scratch), such as for mist, fog, or fluid where you want the particles to exist in the scene but not be emitted over a certain number of frames. You can also use an empty point cloud for spawning (clone) particles (see Spawning ICE Particles).
For any type of primitive point cloud (empty or with a shape), you could add points to the cloud, delete points from it, create clusters, or deform points. If you create simulated particles, you could also freeze the point cloud, then add a new ICE tree to control its movement.
For more information, see Working with Unsimulated Point Clouds.
You can add points to any point cloud using the Add Point node in the Point Cloud group on the Tool tab of the ICE Tree's present manager. You can plug this node's Add output directly into a port on the ICETree node, or in any other Execute port.
The Add Point node adds one or more points to a point cloud. You can specify the points with positions or locations that you input from other nodes.
Add Point sets the position of the added points based on the input values. It also sets a particle ID attribute (see About Particle IDs and Indices), which is a unique value for each of the points that does not get re-used if some points eventually get deleted.
Many of the Emit compounds contain the Add Point node to add points to the point cloud during the emission — see Setting Up Any Type of ICE Particle Emission for more information.
Removing Points from Point Clouds
You can remove points from any point cloud using the Delete Point node in the Point Cloud group on the Tool tab of the ICE Tree's present manager. You can plug this node's Delete output directly into a port on the ICETree node, or in any other compound's Execute port.
A point is deleted if the value that is in its Delete port is true. For example, if you plug in an Every Nth Particle compound (from the Particles > Conditionals group on the Task tab) and set its value to 2, then every other particle is deleted.
When you delete points, point indices get reshuffled. If you need to identify points after being deleted, you can use the ID attribute (see Working with IDs and Indices [ICE Fundamentals]).
You can clone points using the Clone Points node in the Point Cloud group on the Tool tab of the ICE Tree's present manager. You can plug this node's Clone output directly into a port on the ICETree node, or in any other compound's Execute port.
This node copies the points (including its attributes) from a point cloud and then adds them to either the same point cloud or to another point cloud, as you specify. If you're cloning into the same point cloud, be aware that the size of the point cloud could grow exponentially and quickly use up all the memory.
Cloning the attributes is particularly useful if you want the new particles to inherit the velocity, color, size, etc. of the original particles to create trails, for example. You can, of course, set the cloned points' attributes to be different from the original point cloud via the OnCreation ports.
There are a number of compounds based on the Clone Points node that allow you to create new particles into the same cloud or another cloud with several options. This is known as spawning — see Spawning ICE Particles for more information.
About Particle IDs and Indices
When a particle is born, it has its own unique identification number (ID attribute) that stays unique throughout the simulation. This number can be used for identifying particles for different things, such as troubleshooting or scripting.
The particle index is the position of the particles within the collection of particles. An index can be reused when a particle dies and new ones are added.
For more information on IDs, see Working with IDs and Indices [ICE Fundamentals].