Mesh Customdata Custom Splitnormals Clear
Hands normal calculation back to Blender
- BPY_OBJ
- BPY_OBJ
The undo button for Mesh_CustomdataCustomSplitnormalsAdd. This wraps Blender's bpy.ops.mesh.customdata_custom_splitnormals_clear operator - a mesh object in, the same object out, nothing else to configure.
What it actually does
Once a mesh has a custom split-normals layer, its shading is driven by whatever explicit per-face-corner normal values live in that layer, not by Blender's usual angle-based calculation. This node removes that layer entirely. Any manual normal editing, Weighted Normal modifier bakes, or Data Transfer results stored there are discarded, and the mesh reverts to normals calculated fresh from its actual geometry and smoothing settings.
This is genuinely useful if custom normal edits went wrong somewhere upstream and you want a clean slate, or if you're about to run a geometry-changing operation (a dissolve, a decimate) where stale custom normals from before the change would look worse than just letting Blender recompute from the new shape.
The input and output that matter
BPY_OBJ(optional) - the mesh to clear the custom split-normals layer from.
Output is the same BPY_OBJ, with normal calculation now back to Blender's automatic default.
How to install it
ComfyUI Manager: search "Avatar Graph" and install. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt
then restart. The whole pack needs Python 3.10.x because requirements.txt pins bpy==3.6.0 - use the README's prebuilt Python-3.10 zip on Windows, or a dedicated conda environment on Mac/Linux. opencv-python, mediapipe, and segment-anything round out the install and add real weight to it.
Common issues & troubleshooting
Shading changed noticeably after clearing. That's the expected outcome if the custom normals you had actually differed from what Blender would calculate on its own - clearing them means you're now looking at auto-calculated shading, which can look meaningfully different (usually smoother or more "correct" looking, sometimes worse if the custom normals were compensating for messy topology) from whatever custom values were baked in before.
You cleared this right after adding it and nothing changed. Also expected - if nothing modified the normals between add and clear, there was nothing custom to revert; the mesh was already effectively showing Blender's automatic normals the whole time.
Import errors on ComfyUI startup. That's the pack's Python-version requirement, not this node specifically - verify you're on 3.10.x before looking anywhere else.
Running this on a mesh that's about to be exported. Worth a quick mental check: some export formats and downstream tools expect custom split normals if the source workflow relied on them for a particular look. Clearing this layer right before export can quietly change how the mesh shades in whatever you open it in next, so it's worth being deliberate about where in your graph this node sits.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| BPY_OBJopt | BPY_OBJ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| BPY_OBJ | BPY_OBJ | — |