Panda3dModelMerge
The pack's least polished node is a plain join helper
- model1
- model2
- models
Panda3dModelMerge is the chaojie/ComfyUI-Panda3d pack's "combine these two model handles into one" node. You feed it two Panda3dModel outputs, it gives you back a single models output that carries both. In a bigger scene you'd use it to bundle the pieces of an object together before passing them to a downstream node - the model-output equivalent of grouping a few layers.
That's the theory. Here's the practice: the entire implementation is model1 + model2. No list-wrapping, no validation, just Python's + operator on whatever the inputs are. Its sibling Panda3dTextureMerge is careful to wrap its inputs in lists first (if type(x) is not list: x = [x]); this node skips that step entirely, which tells you exactly how much attention it got. If the inputs are list-shaped handles it concatenates them and everyone's happy. If you wire in two single Panda3dModel values - which is what every other node in the pack actually outputs - Python tries to add two NodePaths and the whole thing can fall over with a TypeError.
So you should think of it as a join for bundles, not a tool you'll use on every workflow. The honest use case is: a future pack update where models arrive as lists, or you're building your own list-shaped plumbing and need a merge point. For the demo carousel workflow itself, nothing uses it - the scene is wired node-to-node, and the merge nodes are only exercised on the texture side.
The inputs
- model1 (
Panda3dModel) - model2 (
Panda3dModel)
Output is a single models (Panda3dModel).
Installing it
It's in the pack, so:
cd ComfyUI/custom_nodes
git clone https://github.com/chaojie/ComfyUI-Panda3d
cd ComfyUI-Panda3d
pip install -r requirements.txt
Or ComfyUI Manager, search ComfyUI-Panda3d, restart.
The bottom line
There's not much to say here because there's not much to this node. It's a helper that exists to keep the type system coherent - the Panda3dModel type is a loose catch-all in this pack, and merge is the acknowledgment that sometimes you have more than one of something. Between the missing list-guard and the fact that nothing in the shipped workflows calls it, treat it as experimental glue. If it errors on you, that's the pack's sloppiness showing, not a workflow mistake you made.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model1 | Panda3dModel | — | |
| model2 | Panda3dModel | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| models | Panda3dModel | — |