Nodes/Avatar Graph/Vector 4D (Blender)
ComfyUI Node

Vector 4D (Blender)

A four-component constant for this pack's blender nodes

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Vector 4D (Blender)
    • B_VECTOR4
    x0.00
    y0.00
    z0.00
    u0.0

    The four-component sibling of B_VECTOR3, and just as simple: four number fields bundled into a single typed socket, part of Avatar Graph, avatech.ai's pack for rigging character illustrations into interactive avatars inside ComfyUI. It's plumbing, not logic - a way to feed a 4D value into any node in the pack that expects one, rather than exposing four raw floats on that node directly.

    What it's for

    Most 3D values are XYZ, but a handful of things in Blender's data model genuinely need a fourth component - a quaternion's W term, or a value where the fourth slot means something different from the first three. This node's own field layout hints at that distinction: x, y, and z all step in increments of 0.01, matching the fine control you'd expect from spatial coordinates, while the fourth field, u, steps in increments of 0.1 - a noticeably coarser default that suggests it's meant for a different kind of quantity than the first three, likely a rotation or blend-style parameter rather than another spatial axis. The schema doesn't spell out which specific field this feeds in this pack, so treat that as a reasonable inference from the step sizes rather than a documented fact - check what the receiving node actually does with each component before assuming.

    Inputs and outputs

    Four required fields, all floats, all defaulting to 0:

    • x, y, z - 0.01 step.
    • u - 0.1 step, the odd one out.

    Output is a single B_VECTOR4 socket carrying all four values together. No other behavior - it's a pure constant node.

    Installing it

    Search avatar-graph-comfyui in ComfyUI Manager, or install manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/avatechai/avatar-graph-comfyui
    cd avatar-graph-comfyui && python -m pip install -r requirements.txt
    

    This node itself doesn't call into bpy, but it only exists as part of a pack that's entirely built on Blender's Python module, and bpy is locked to Python 3.10.x. That's the constraint that actually determines whether the pack installs at all - a dedicated conda environment on Mac/Linux, or the README's prebuilt Python 3.10 ComfyUI zip on Windows, rather than trying to force it into whatever newer Python your main ComfyUI setup already runs. Restart with --enable-cors-header afterward if you're using the live avatar preview.

    Troubleshooting

    If a value coming out of this node doesn't seem to be having the effect you expect, the most likely cause is a mismatch between what you think u represents and what the downstream node is actually doing with it - since this pack doesn't document the field-level semantics beyond the names and step sizes, it's worth testing each component in isolation (set the others to 0, change one at a time) to see what actually moves. Beyond that, this is one of the pack's smallest and least-discussed nodes - there's no community thread to lean on here, so treating it as a plain data-packing utility and verifying behavior empirically is the realistic approach.

    Categoryblender

    Inputs (4)

    NameTypeDefaultDescription
    xFLOAT0.00
    yFLOAT0.00
    zFLOAT0.00
    uFLOAT0.0

    Outputs (1)

    NameTypeDescription
    B_VECTOR4B_VECTOR4