Extensions/ComfyUI-particleBoy
ComfyUI Extension

ComfyUI-particleBoy

ParticleBoy is a custom node pack for ComfyUI that brings high-performance particle simulation capabilities into your generative AI workflows.

By PRASENJEETANAND·Created 2 days ago·Updated 2 days ago· 1
PRASENJEETANAND/ComfyUI-particleBoy
Nodes1
On cloudLocal install
CategoryParticleBoy
Stars1
Updated2 days ago
Readme

ParticleBoy for ComfyUI

GPU particle studio that lives inside ComfyUI. Drop the node on the graph, play with the sim, hit Queue Prompt. You get an IMAGE batch (the clip) plus a video file.

<img width="600" alt="particleBoyUI" src="https://github.com/user-attachments/assets/eddce56a-b87d-4571-9e6f-493832680864" /> <img height="400" alt="particleBoy_output" src="https://github.com/user-attachments/assets/847476ec-a3c6-4b57-9481-952b9a0cb678" />

Install (Windows)

  1. Close ComfyUI if it is running.

  2. Unzip this folder into:

    ComfyUI\custom_nodes\ComfyUI-ParticleBoy

    The folder must contain __init__.py, nodes.py, web\, and app\.

  3. Start ComfyUI as usual.

  4. Right-click the canvas → Add Node → ParticleBoy → ParticleBoy Studio.

  5. Connect framesPreview Image, Save Image, or Video Helper Suite.

  6. Set Frames and FPS. Toggle Viewport / Camera.

  7. Queue Prompt.

No extra pip packages. Uses torch / numpy / Pillow already in ComfyUI. If ffmpeg is on PATH, an MP4 is written; otherwise an animated WebP.

How it works

  • The node embeds the full WebGL studio (/particleboy/app).
  • Queue Prompt records frame_count frames at fps, then runs the graph.
  • Viewport (knob off): output matches the orbit view you are looking at.
  • Camera (knob on): output uses the shot camera — imported GLB camera path, or the default locked camera.
  • Output size is width × height (default 1280×720).
  • IMAGE batch goes to any image/video node. A clip is also saved under ComfyUI/output/particleboy/.

Controls (inside the studio)

| Control | What it does | | --- | --- | | Viewport / Camera | Knob: capture orbit view vs shot camera | | Frames / FPS | Clip length and playback rate | | Count / Size / Color | Particle look | | Decay Time | Lifespan before respawn | | Direction / Spread | Emission cone | | Noise | Simplex turbulence | | Collision | Bounce or die | | Import GLB | Emitter, collider, force field, camera path | | Space | Pause · R reset |

Captures use GPU readPixels (not a flaky canvas snapshot), so the output is the real framebuffer.

Workflow

A starter graph is in workflows/particleboy.json. Drag it onto the ComfyUI canvas.

Troubleshooting

  • Black / blank output — keep the node open so the studio iframe can render, then Queue Prompt. Replace this folder with the new build (captures now use readPixels).
  • Node has no studio iframe — confirm web/particleboy.js loaded and restart ComfyUI.
  • Upload 404 — check the ComfyUI startup log for [ParticleBoy].