Create body bubbles
create_body_bubblesCreates an interactive bubble simulation driven by live hand and body tracking. An open palm emits soap-like bubbles that collide with the performer's body landmarks and visible contour.
Instructions
Create a MediaPipe-ready interactive bubble installation over the live camera: a detected open palm emits soap-like bubbles, body and hand landmarks act as soft colliders that can bat or lift them, a visible body contour is rendered in the same output so the interaction reads clearly, bubbles stay inside the screen box, settle on the lower floor, and pop/fade after a configurable lifetime (default 30 seconds). By default it keeps the bubble count low and disables pose-wrist emission, so bubbles are created only by an open palm. Builds a self-contained Base COMP with a Script CHOP physics solver, Script SOP bubble outlines, Script SOP body contour, camera-background composite, Geometry/Render/Null TOP output, a frame cooker, and live controls for emission rate, gravity, drag, buoyancy, skeleton impulse, bubble repulsion, tracking smoothing, body radius, body contour, camera opacity, lifetime, and bounce. Provide hand_chop_path from setup_hand_tracking and body_chop_path from setup_body_tracking/create_pose_tracking for full interaction.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Name for the generated bubble-physics Base COMP. | body_bubbles |
| parent_path | No | Parent COMP where the body-bubble system is created. | /project1 |
| hand_chop_path | No | Optional hand-tracking CHOP from setup_hand_tracking: 21 samples per hand with tx/ty/tz/confidence. Open palm emits bubbles. | |
| body_chop_path | No | Optional body/pose CHOP from setup_body_tracking or create_pose_tracking: 33 samples with tx/ty/tz/confidence. Landmarks collide with bubbles. | |
| camera_top_path | No | TOP to use as the visible camera background. The MediaPipe plugin exposes the live camera at /project1/MediaPipe/video. | /project1/MediaPipe/video |
| show_camera_background | No | Composite the camera TOP behind the body contour and bubbles. | |
| hide_camera_tracking_overlays | No | When camera_top_path belongs to the MediaPipe plugin, turn off its built-in tracking overlays so only the clean camera appears behind this system. | |
| camera_opacity | No | Opacity for the camera background when show_camera_background is enabled. | |
| bubble_count | No | Maximum number of live/recyclable bubbles in the simulation. | |
| lifetime_seconds | No | Seconds each bubble remains visible before popping and disappearing. | |
| emit_on_open_palm | No | When true, emit only while an open palm is detected in hand_chop_path. | |
| fallback_to_pose_wrists | No | Optional fallback: when hand tracking has no landmarks, emit from pose wrist landmarks. Disabled by default so bubbles are created only by an open palm. | |
| show_body_contour | No | Render the tracked body as a visible contour in the same output as the bubbles, so collisions read as performer interaction. | |
| body_contour_width | No | Line width in pixels for the visible body contour overlay. | |
| hand_emit_rate | No | Bubbles emitted per second while the palm is open. | |
| palm_open_threshold | No | World-space average wrist-to-fingertip distance required to treat the hand as an open palm. | |
| gravity | No | Downward acceleration in screen-space units per second squared. | |
| body_radius | No | Collision radius around each tracked body/hand landmark, in screen-space units. | |
| wall_bounce | No | Energy retained when bubbles hit the left/right/top screen bounds. | |
| floor_bounce | No | Energy retained when bubbles hit the lower screen floor. | |
| drag | No | Air drag applied to bubble velocity each second; higher settles faster. | |
| buoyancy | No | Small upward force countering gravity; keep below gravity for weighted bubbles. | |
| skeleton_impulse | No | How strongly moving body/hand landmarks transfer motion to bubbles. | |
| bubble_repulsion | No | Soft collision force between bubbles so they do not collapse into one point. | |
| tracking_smoothing | No | Temporal smoothing for body/hand colliders inside the bubble solver. | |
| output_resolution | No | Render resolution [width, height] for the output TOP. | |
| expose_controls | No | Expose live EmitRate/Gravity/BodyRadius/Lifetime/Bounce controls on the container. |