Object Camera Add
Drop a Blender camera into your Avatar Graph scene
- BPY_OBJ
- location
- rotation
- scale
- BPY_OBJ
This one's the most ordinary node in this batch - a direct wrap of Blender's bpy.ops.object.camera_add(), the same operator behind Blender's own Add > Camera menu. It creates a new Camera object in the current scene at wherever you tell it to sit.
Where it fits in Avatar Graph
Avatar Graph (avatechai/avatar-graph-comfyui) rigs a flat character image into a real-time interactive avatar - segmentation, mesh layers, a "Shape Flow" runtime graph, exported through Avatar Main Output. The README documents a small set of nodes for that pipeline (Segmentation, Create Mesh Layer, Join Meshes, Create Shape Flow, Avatar Main Output); this camera node isn't one of them. It's part of the much larger family the pack generates by exposing most of Blender's Object operators directly as nodes, so you can build custom Blender scenes around your avatar rig without leaving ComfyUI - useful if you're setting up a render or a viewport export that needs a defined camera angle, less useful if you're just following the standard 2D rigging flow, which doesn't need a camera at all.
How it works
camera_add() creates a fresh Camera datablock and object, places it at the given location/rotation/scale, and by default makes it the newly active object. It doesn't automatically become the scene's active render camera - that's a separate Blender setting - it just exists in the scene once this runs.
Inputs and outputs
location,rotation,scale- the transform for the new camera, each a 3-value vector.align-WORLD,VIEW, orCURSOR: whether the camera's initial orientation follows global axes, the current 3D viewport's angle, or the 3D cursor's rotation.WORLDis the predictable default if you're setting rotation explicitly anyway.enter_editmode(defaultfalse) - mirrors Blender's own "enter edit mode" toggle on add operators; cameras don't really have a meaningful edit mode, so this is mostly vestigial here.BPY_OBJ(optional) - an object input, present for consistency with the rest of the family, though a fresh camera doesn't need one to be created from.
Output: BPY_OBJ - the new camera object, ready to feed into further Object_* nodes (a constraint to point it at your avatar rig, for instance).
How to install it
Via ComfyUI Manager: search "avatar-graph-comfyui", install, restart. Or clone it 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
The requirement that actually matters: bpy needs Python 3.10.x, nothing later. Windows gets a prebuilt Python 3.10 ComfyUI zip from the README; on Mac/Linux, use a dedicated conda env (conda create --name comfyui python=3.10). Add --enable-cors-header on restart if you want the live avatar preview to talk to editor.avatech.ai - plain exports work without it.
Common issues & troubleshooting
Install problems almost always come down to Python version - a 3.11/3.12 environment, the default on most current ComfyUI installs, can't load bpy at all. There's also a documented case of Avatar Graph leaving a ComfyUI Desktop install badly broken after install (oversized UI logo, an unwanted audio-permission popup) that a full reinstall didn't fully clear - worth testing in a spare, portable ComfyUI instance first if you're not already on a dedicated 3.10 setup.
For the node itself: if the camera appears but doesn't seem to affect a render or GLB export the way you'd expect, remember camera_add() only creates the object - it doesn't set it as the scene's active render camera, which is a separate step you'd need to handle elsewhere in your Blender scene setup.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| enter_editmodeopt | BOOLEAN | false | — |
| alignopt | COMBO | 3 options: WORLD, VIEW, CURSOR | |
| locationopt | B_VECTOR3 | — | |
| rotationopt | B_VECTOR3 | — | |
| scaleopt | B_VECTOR3 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |