Create particle system
create_particle_systemBuild a CPU particle system in TouchDesigner with emitter, particles, forces, and render style, exposing live Drag, Turbulence, Gravity, and Lifetime knobs for tuning.
Instructions
Build a CPU particle system: an emitter SOP feeds a Particle SOP inside a Geometry COMP, rendered with a camera + light. Creates a new baseCOMP under parent_path holding the Geometry COMP (emitter + particle SOP), a material, Camera, Light, Render TOP, and a Null output. Forces and render style are scaffolded for further tuning. Exposes live Drag / Turbulence / Gravity / Lifetime knobs. Use create_gpu_particle_field instead for much higher counts (GPU-simulated, up to ~262k particles). Returns a summary plus a JSON block with the container path, created node paths, the output path, exposed controls, any node errors, warnings (e.g. approximated forces or fallback render styles), and an inline preview image.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| emitter_shape | No | Source SOP particles are born from: point (Add SOP), line, circle, sphere, mesh (Box), or image (Grid). Default 'sphere' — its varied normals spray a full radial cloud; 'point' has no normals and stays a thin turbulence-driven stream. | sphere |
| particle_count | No | Target number of live particles at steady state; sets the Particle SOP birth rate (birth ≈ count / lifetime). Default 10000. | |
| forces | No | Forces applied to the sim, mapped to native Particle SOP params (gravity→external -Y, noise/turbulence→turbulence, drag→drag). attract/repel/vortex have no native equivalent and are approximated with turbulence (a warning is returned). Default ['noise','gravity']. | |
| render_style | No | How particles are drawn. 'sprites' uses a Point Sprite MAT, 'points' a Constant MAT; 'lines'/'trails'/'instanced_geo' currently fall back to point/sprite rendering (a warning is returned). Default 'sprites'. | sprites |
| lifetime | No | Particle life span in seconds before it dies and is reborn. Default 3. | |
| expose_controls | No | When true (default), expose live Drag / Turbulence / Gravity / Lifetime knobs on the system container. | |
| parent_path | No | Parent network where the particle-system container is created (default '/project1'). | /project1 |