top of page
White Feather

Python: Particles

This web page displays the results of using Python to procedurally create particles for both RenderMan (rib archive files) and Maya.

Pixar RenderMan Particles



Saturn has the most extensive ring-system of any planet in our solar system. The rings vary from each other in terms of radius, materials and density. The visible ring structure is divided into Ring A, B, C, D and F.

Rings G and H are beyond the main ring system. I tried to emulate the same ring structure along with its colors and radius.

Fun Fact: You cannot stand on Saturn, as it is made up of gases and a lot of helium.

More fun facts here.


Subdivision and Structures within Rings. Rings being distributed into A, B, C, D and F.

Python Code

Technical Breakdown




Saturn Rings

All above combine + Color Correction

Maya Particles

I experimented with various Force Fields in Maya to manipulate the particles created by the Python Code.  

Python Code


Importing Color values from Maya: I assigned and randomized the point colors and radius value in Maya. To import it to the RenderMan shader level, I used the PxrPrimvar node, by importing Color attribute(Cs) in order to import the colors generated in Maya. 

Screenshot (497).png
Screenshot (498).jpg

Maya Colors selection and Color Input as Randomized ID

Using PxrPrimvar to import Color (Cs) in Maya Hypershade

Final Thoughts

This was the first time I had used Python, nParticles and the FX section in Maya. The FX section in Maya was quite interesting and playful. The application of Python in this project was pretty straightforward, but it served as a platform of how Python can be constructively used.

If I have had more time with the project, I would have taken a further dive into :

1. An even more intricate Particle simulation.

2. A mix of primary and secondary particle movements.

3. Usage of Python to create intricate geometric forms for base geometry.  

bottom of page