BreakoutVec2
Split a VEC2 into its two float components
- a
- FLOAT
- FLOAT
BreakoutVec2 does the reverse of ComposeVec2: it takes a single VEC2 socket carrying two related values (think x/y, width/height, whatever pair you bundled together upstream) and splits it back out into two separate FLOAT outputs you can wire independently. ComfyMath defines VEC2/VEC3/VEC4 as its own generic vector types specifically so a pair (or triple, or quadruple) of numbers can travel through your graph as one wire instead of two or three - the same instinct behind rgthree-comfy's Context nodes, which bundle several unrelated connections into one wire for the same reason: fewer noodles crossing your graph. Breakout is where you unbundle it again once each value needs to go somewhere different.
How it works
Feed a (a VEC2, default [0, 0]) in, get two separate FLOAT outputs back - the vector's first and second components, in order.
The inputs and outputs that matter
- a - the VEC2 to split.
- Outputs - two FLOAT values (unlabeled beyond their position), the vector's components in order. Wire the first to whatever consumes the "x"/first value, the second to whatever consumes the "y"/second.
Installing it
Search ComfyMath in ComfyUI Manager, or manually:
cd ComfyUI/custom_nodes && git clone https://github.com/evanspearman/ComfyMath
then restart ComfyUI. No pip dependencies beyond ComfyUI's own, no models to download.
Common issues
The thing to get straight before using this at all: VEC2 is a ComfyMath-specific socket type. It isn't ComfyUI's native anything, and it doesn't come from - or go into - most other packs' nodes directly. In practice this means the VEC2 you're breaking out almost always came from ComposeVec2 or one of ComfyMath's own vector-math nodes a few steps earlier in the same graph, not from some unrelated pack's "point" or "coordinate" output. If you were hoping to plug an image's width/height or a crop box from some other node straight into this, check first whether that node's output is actually typed VEC2 - most aren't, and you'll need ComposeVec2 to build one from separate values instead.
Since the outputs aren't labeled beyond their order, it's worth tracing back to whatever built the VEC2 in the first place to be sure which output is "x" and which is "y" (or whatever the pair actually represents) rather than guessing from position alone.
This is one of the least-visited nodes in an already small, quiet pack - ComfyMath overall hasn't seen active development since roughly early 2024 by community accounts, and the vector nodes specifically get essentially no discussion in the wild. There's nothing complex enough here to worry about breaking (it's a two-line unpacking operation), but also little community troubleshooting to lean on if you do get stuck; the safest path is tracing your own wires back to source rather than assuming a documented convention exists.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| a | VEC2 | 0,0 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | — |
| FLOAT | FLOAT | — |