BD Blender Transfer Colors
Copy vertex colors from one mesh onto another that can't keep up
- source_mesh
- target_mesh
- mesh
- status
You've got a mesh with perfect vertex colors, then you remesh or decimate it and the colors are gone. That's the classic trigger for this node: BD Blender Transfer Colors takes a colored source_mesh and a bare target_mesh, and uses Blender's data-transfer machinery to paint the colors from one onto the other.
The mental model: Blender finds, for each vertex on the target, the nearest point on the source (within a distance limit) and copies the color from there. It's the same technique the pack's autorig uses for skin weights, applied to colors. It's not a UV bake - no texture involved, it's raw per-vertex color transfer, which is what you want when the target has no usable UVs or the source's colors are already in vertex form.
The inputs that matter
- source_mesh - the mesh that has the vertex colors.
- target_mesh - the mesh receiving them.
- max_distance (0.1) - the one dial. Maximum distance for the transfer, in mesh units; larger = more coverage but more risk of bleeding color from unrelated nearby parts. The pack's tooltip: "larger = more coverage."
If the two meshes are far apart in space, nothing transfers - they need to be roughly aligned, and max_distance needs to cover the gap. Outputs: the recolored target as mesh (TRIMESH) + status.
The workflow shape: generate → bake vertex colors onto the dense mesh (BD BakeVertexColorsFromTexture or the voxelgrid sampling path) → decimate/remesh a copy → transfer colors from the dense source onto the clean low-poly target. That's the "color it dense, clean it cheap, copy the paint over" pattern that keeps both quality and poly budget.
Install and the Blender gotcha
Standard pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/BizaNator/ComfyUI-BrainDead
cd ComfyUI-BrainDead
pip install -r requirements.txt
(ComfyUI Manager → "BrainDead", restart; keep ComfyUI on the V3 API.) It's a Blender node, so the recurring rule: a real Blender must exist. The README claims it's bundled - only the scripts are. The code checks lib/blender/blender-5.0.1-linux-x64 (not shipped), sibling packs (GeometryPack/UniRig), then /usr/bin/blender. No Blender, no transfer.
Where people trip: transferring between meshes at wildly different scales - the max_distance is in the target's mesh units, so if your source is 10x bigger than the target, the 0.1 default reaches nothing. Align the meshes (or scale-match) first, then set max_distance to cover the residual offset. Also note this transfers the color attribute, not materials or textures - if you need the texture itself, that's BD BakeVertexColorsFromTexture on the target instead.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| source_mesh | TRIMESH | Source mesh with vertex colors | |
| target_mesh | TRIMESH | Target mesh to receive colors | |
| max_distance | FLOAT | 0.100.001–10 | Maximum distance for color transfer (larger = more coverage) |
| timeoutopt | INT | 30030–1800 | Maximum processing time in seconds |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| mesh | TRIMESH | — |
| status | STRING | — |