ComfyUI-particleBoy
ParticleBoy is a custom node pack for ComfyUI that brings high-performance particle simulation capabilities into your generative AI workflows.
Nodes (1)
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.
Install (Windows)
-
Close ComfyUI if it is running.
-
Unzip this folder into:
ComfyUI\custom_nodes\ComfyUI-ParticleBoyThe folder must contain
__init__.py,nodes.py,web\, andapp\. -
Start ComfyUI as usual.
-
Right-click the canvas → Add Node → ParticleBoy → ParticleBoy Studio.
-
Connect
frames→ Preview Image, Save Image, or Video Helper Suite. -
Set Frames and FPS. Toggle Viewport / Camera.
-
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_countframes atfps, 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.jsloaded and restart ComfyUI. - Upload 404 — check the ComfyUI startup log for
[ParticleBoy].