You can make particles orbit around an object like a satellite using the Orbit Around Controller compound. This compound is useful for doing effects such as birds wheeling in the sky, moths circling a flame, or satellites orbiting earth.
Particles go into orbit from the initial emission position, so the distance from this point to the controller object changes the size and nature of the orbit. You can also animate the controller's transformations or deformations as you like and the particles will follow it and continue to orbit around it, similar to how goal-oriented particles follow a goal.
To make particles orbit around a controller object
Create a particle simulation — see Setting Up Any Type of ICE Particle Emission.
In the ICE view, click the Task tab on preset manager on the left and select Particles.
Drag the Orbit Around Controller compound from the Motion Control group into the ICE tree view.
Plug this compound's Execute output into a Port on the ICETree node.
Create an object to be a controller (any type) and drag its name from an explorer into the ICE view to create a node for it.
Plug the object's Output Name output into the Controller Object Name port of the Orbit Around Controller compound.
In the Orbit Around Controller property editor, select the Velocity Method used to calculate how the particles orbit around the object:
Use Current Velocity uses the particle's current velocity.
If you select this option, you cannot use the Orbits Per Second, Orbit Altitude, or Input Orbit Axis values. The particles orbit around the controller on the global Z axis. The orbit altitude is determined by the distance of the controller object from the particle emission point: the greater the distance, the larger the orbit.
Set Velocity Using Orbits Per Second Value uses the Orbits Per Second value that you enter, which changes the particle velocity.
If you select this option, you have more control because you can also change the global axis around which the particles are orbiting (Input Orbit Axis) and their orbit distance away from the controller (Orbit Altitude).
If you want the particles to point in the direction they're travelling, get an Align on Velocity compound from the Orientation group in the preset manager and plug it into a port on the ICETree node.
Particles go into orbit from the initial emission position, so if the emitter is small and a long way from the orbit center, the particles go into a long stream-like orbit as expected. If you want the particles more evenly distributed, try any of these options:
If you're using the Set Velocity Using Orbits Per Second Value option, change the Input Orbit Axis to 1, 0, 0 to get the particles in orbit using the only X axis, and select the Set Orbit Altitude option.
Select the Use Current Velocity option.
Make the particle emitter's surface larger.
If you want create a more random orbit:
If you're using the Set Velocity Using Orbits Per Second Value option, add a Turbulize or Randomize compound to the Orbit Altitude or Input Orbit Axis ports.
If you're using the Use Current Velocity option, add a Turbulize or Randomize compound to the Speed port on the Emit compound.