ComfyUI Node

BD Face Fit

Combine a LANDMARKS_BATCH with a head mesh into a FACE_FIT, the input for BD_FaceTextureBake. mesh_source: - mediapipe_canonical: 468-vert face shell (Apache-2.0). The verts ARE the landmarks — pure assembly, no optimization. Face only: no ears / scalp / back of head. - ict_facekit: ICT-FaceKit head skin (MIT) — full head incl. ears + scalp + back. Procrustes-fits the ICT neutral head to MediaPipe's 68 iBUG landmarks per view (poses the neutral shape; not per-subject shape-accurate, but gives the bake somewhere to land ear/scalp/rear pixels). Both emit the same FACE_FIT contract — the bake / blend / transfer nodes don't care which mesh produced it.

By BizaNator·Created 7 months ago·Updated 16 days ago· 14
BD Face Fit
  • landmarks_batch
  • face_fit
  • status
mesh_sourcemediapipe_canonical
mesh_obj_path
ict_landmark_warp1.00
Category🧠BrainDead/FaceWrap

Inputs (4)

NameTypeDefaultDescription
landmarks_batchBD_LANDMARKS_BATCHOutput of BD_FaceLandmarks (per-view 478 landmarks).
mesh_sourceCOMBOmediapipe_canonicalWhich head mesh to fit. ict_facekit adds ear/scalp/back coverage the canonical face shell lacks.
mesh_obj_pathoptSTRINGOverride path to the mesh .obj. Empty = use the bundled asset for the selected mesh_source.
ict_landmark_warpoptFLOAT1.000–1ict_facekit only: strength of the landmark-exact TPS warp applied after the rigid fit. 1.0 = the 68 landmarks hit MediaPipe's targets exactly (fixes neutral-shape face distortion); 0.0 = pure rigid Procrustes (the older, more distorted fit). Ignored for mediapipe_canonical.

Outputs (2)

NameTypeDescription
face_fitBD_FACE_FIT
statusSTRING