Mesh Flip Normals
The fix when a face renders black or invisible
- BPY_OBJ
- BPY_OBJ
Every face in a mesh has a "front" and a "back," decided by its normal direction - and most renderers only shade or texture the front properly. When a face on your Avatar Graph mesh comes out looking black, transparent, or just wrong even though the geometry itself is fine, an inverted normal is the usual suspect. This node flips it.
How it works
It wraps Blender's mesh.flip_normals operator, which reverses the winding of the selected faces - flipping which side counts as "outside." Meshes assembled from segmented image regions, boolean operations, or generated fills can easily end up with a few faces pointing the wrong way even when the rest of the mesh is consistent, because those operations don't always guarantee outward-facing winding on every new face they create.
The inputs and outputs that matter
BPY_OBJ(optional) - the mesh, with the faces to flip already selected.only_clnors(defaultfalse) - a narrower option: instead of flipping the actual face winding, it flips only the custom split normals data (baked-in shading normals some meshes carry separately from their geometry). Leave this off for the normal case of fixing inside-out faces; it's a fix for a more specific problem where custom normal data is inverted but the underlying face winding is actually correct.
Output is a single BPY_OBJ, the mesh with the selected faces' normals reversed.
How to install it
ComfyUI Manager: search "Avatar Graph" and install. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
then pip install -r requirements.txt and restart. Needs Blender's bpy module, pinned to Python 3.10.x - a dedicated conda environment on macOS/Linux, or Avatech's prebuilt Python-3.10 ComfyUI zip on Windows with the pack installed through Manager afterward.
Common issues & troubleshooting
A face looks black, see-through, or just "wrong" compared to its neighbors. That's the classic inverted-normal symptom. Select just that face (or the region it's part of) and run it through this node - if the problem was a flipped normal, it'll resolve immediately.
Flipping made it worse, not better. You flipped a face that was already facing correctly. Run it again to flip it back, and narrow the selection down before flipping a whole mesh at once - mixing correctly- and incorrectly-oriented faces in one selection just moves the problem rather than fixing it.
Still looks wrong after flipping, and only_clnors is off. Try the reverse: leave face winding alone and flip just the custom split normals with only_clnors set to true. This is the less common case, but it does happen on meshes that came in with custom normal data attached (from an import or a prior smoothing/normal-transfer step) that's inconsistent with the geometry itself.
Nothing here is specific to Avatar Graph - this is stock Blender behavior, so if you've hit inverted normals before in Blender proper, the fix is exactly the same one you already know.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — | |
| only_clnorsopt | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |