BD Pack Bundle
BD Pack Bundle wraps a mesh and all its textures
- mesh
- color_field
- diffuse
- normal
- metallic
- roughness
- alpha
- bundle
- status
ComfyUI graphs die of wire spaghetti. A fully-baked mesh drags along geometry, UVs, a material, vertex colors, and a stack of PBR maps, and if you try to move all of that through a graph as separate connections you end up with a diagram only you can read. BD Pack Bundle is the BrainDead answer to that: it takes a mesh plus its textures and colors and stuffs them into one MESH_BUNDLE container that travels down a single wire, ready for the cache and export nodes downstream.
The MESH_BUNDLE type is the pack's carry-all for everything a finished asset needs:
- the mesh geometry with its PBR material and UVs,
- vertex colors (the
COLOR_0attribute used for edge detection and stylized looks), - color field data for downstream reapplication,
- and the PBR textures:
diffuse,normal,metallic,roughness,alpha.
You can wire those texture inputs explicitly, but you don't have to - if they're left unwired, the node extracts them from the mesh's own material. That's the part beginners miss: a mesh that came out of BD OVoxel Bake already carries its textures, so Pack Bundle works fine with just the mesh and a name.
The inputs that matter
mesh- theTRIMESH. Required.name(default"mesh") - used for export filenames downstream. Give it something meaningful like"letti_head"; the exporters and cache nodes use it.color_field- optional. Wire it if your pipeline uses a deferred color field (from the mesh color tools); the bundle carries it so it can be reapplied later.- The five PBR texture inputs - optional. Provide them explicitly when you want to override what's baked into the material, or when your texture maps were produced separately.
The output is the bundle plus a status string. From here the bundle feeds the obvious friends: BD Cache Bundle for fast reload, BD Export Mesh With Colors / BD Blender Export Mesh for GLB/FBX, or BD Unpack Bundle if something downstream wants the individual pieces back.
Install
It's part of ComfyUI-BrainDead - ComfyUI Manager, search "BrainDead", or:
cd ComfyUI/custom_nodes
git clone https://github.com/BizaNator/ComfyUI-BrainDead
cd ComfyUI-BrainDead
pip install -r requirements.txt
Restart, and it's under 🧠BrainDead/Mesh. The pack is built on the newer V3 API, so make sure ComfyUI itself is up to date or the nodes won't register.
What trips people up
The bundle is a pack-specific container, not a universal format - a MESH_BUNDLE only connects to other BrainDead nodes, so don't expect to wire it into ComfyUI's native 3D nodes. For that bridge you'd convert with BD Trimesh → MESH first. Also worth knowing: the pack's own source notes a subtle bug-trajectory where reading vertex colors off a texture-visual mesh can silently destroy its UV layer - the bundle node guards against it, but it's a hint that "just grab the mesh's vertex colors" is more fragile than it looks in other tools. Trust the bundle, keep textures in the bundle, and let the exporters do the extraction.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| mesh | TRIMESH | — | |
| name | STRING | mesh | Bundle name (used for export filenames) |
| color_fieldopt | COLOR_FIELD | — | |
| diffuseopt | IMAGE | — | |
| normalopt | IMAGE | — | |
| metallicopt | IMAGE | — | |
| roughnessopt | IMAGE | — | |
| alphaopt | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| bundle | MESH_BUNDLE | — |
| status | STRING | — |