You can make particles flow around an object like an obstacle using the Flow Around Surface compound. This compound modifies the velocity vector so that the particles avoid the object.
This compound is useful for doing effects such as fluid flowing around something or doing crowds/flocking simulations where the characters need to move around an obstacle.
Instanced shapes as particles flow around the obstacle.
To make particles flow around an obstacle
Create one or more objects that you want to use as obstacles for the particles. These objects need to have geometric surfaces, such as polygon meshes or NURBS surface objects. Make sure that the particles will reach these obstacles at some point in the simulation.
You can animate the obstacle's transformations or deformations as you like and the particles will continue to avoid its surface.
Create a particle emission — see Creating a Basic Particle Emission.
Choose Particles Collision Flow Around Surface from the ICE toolbar.
This command adds the Flow Around Surface compound to the ICE tree, plugging it into the Execute port of the Simulation Root compound.
Pick one or more objects to use as the obstacles. Each object's Get data node is then plugged into the Surface port of the Flow Around Surface compound.
You can also add more obstacles objects to the ICE tree later — drag each obstacle's name into the ICE Tree view to create a Get Data node for it, then plug it in as the other obstacles.
In the Flow Around Surface property editor, set the parameters as you like to affect how the particles flow around the surface. This affects the interaction of the particles with all obstacles that are plugged into this compound.