From 017abfdb28f7430755fa7662f8aa07501023f571 Mon Sep 17 00:00:00 2001 From: kijai <40791699+kijai@users.noreply.github.com> Date: Wed, 27 May 2026 23:28:33 +0300 Subject: [PATCH] simplify comments --- comfy_extras/sam3d_body/export/capsules.py | 17 ++++------------- comfy_extras/sam3d_body/export/openpose_2d.py | 11 ++--------- 2 files changed, 6 insertions(+), 22 deletions(-) diff --git a/comfy_extras/sam3d_body/export/capsules.py b/comfy_extras/sam3d_body/export/capsules.py index c9278f4fb..37b059a4c 100644 --- a/comfy_extras/sam3d_body/export/capsules.py +++ b/comfy_extras/sam3d_body/export/capsules.py @@ -78,12 +78,8 @@ def _build_specs_from_pose( return rgb return rgb * (1.0 - pastel) + pastel - # SCAIL drops the 4 face bones (13..16: nose↔eyes, eyes→ears) — in the - # reference, NLF leaves those COCO slots at zero so its `sum==0` skip - # silently culls them. The grey neck limb (12) blends spine direction - # (mid-hip → neck, stable) with the neck→nose direction at 60/40 so - # the stub tracks head pose lightly without flapping around like full - # nose direction does. + # SCAIL skips face bones (13..16) and redirects limb 12 into a short + # head stub blending spine + neck→nose direction. body_limb_count = 13 if palette == "scail" else len(OPENPOSE_18_PAIRS) body_kp = kp_cam[OPENPOSE18_TO_MHR70] spine_dir = None @@ -302,10 +298,7 @@ def _render_capsules_torch( normals = normals / normals.norm(dim=-1, keepdim=True).clamp(min=1e-8) col = colors[m_h, :3] - # SCAIL shading (render_torch.py:290-331). Light from camera (+Z toward - # subject); diffuse term `N·-L` simplifies to `-N.z`. Specular uses the - # proper Blinn-Phong half-vector `(view + (-L))` — using `diff` as a - # shortcut would lock the highlight to image center. + # SCAIL Blinn-Phong (render_torch.py:290-331). Headlight: light = +Z. diff = torch.clamp(-(normals[:, 2]), min=0.0) diffuse = 0.45 + 0.55 * diff @@ -315,9 +308,7 @@ def _render_capsules_torch( half_dir = half_dir / half_dir.norm(dim=-1, keepdim=True).clamp(min=1e-8) spec = torch.clamp((normals * half_dir).sum(dim=-1), min=0.0).pow(32) - # SCAIL's reference depth fade uses mm-scale constants (`z_max + 6000`) - # that translate to almost no fade in our meter units — `depth_factor` - # stays ~0.85-1.0. Matching that with a mild ramp. + # Mild depth fade matches SCAIL's mm-scale ramp in our meter units. z_vals = p_hit[:, 2] z_lo, z_hi = float(z_vals.min().item()), float(z_vals.max().item()) if z_hi - z_lo > 1e-6: diff --git a/comfy_extras/sam3d_body/export/openpose_2d.py b/comfy_extras/sam3d_body/export/openpose_2d.py index d602acc6e..4656a9435 100644 --- a/comfy_extras/sam3d_body/export/openpose_2d.py +++ b/comfy_extras/sam3d_body/export/openpose_2d.py @@ -128,11 +128,8 @@ def render_pose_data_openpose( `composite='over'` paints over `background` (else black canvas). `hand_marker_radius_px` / `hand_stick_width_px`: 0 = auto = 0.7x / 0.5x of the body sizes. - `face_style`: 'disabled' = no face dots, 'full' = all face landmarks - (prefers sapiens-238 if present, else rig-fallback ~30), 'eyes_mouth' = - rig-fallback subset (~12 dots: eyes + mouth only). The subset only has a - documented layout for the rig fallback so eyes_mouth always uses it, - regardless of whether sapiens-238 is available. + `face_style`: 'disabled' / 'full' / 'eyes_mouth'. eyes_mouth falls through + to the rig fallback since sapiens-238 has no documented subset. `person_brightness_falloff` mixes each person's drawn pixels toward white by `1 - falloff^k` (track 0 stays vivid). Applied post-draw so per-limb alpha blending against the existing canvas remains correct. @@ -154,15 +151,11 @@ def render_pose_data_openpose( if int(hand_stick_width_px) <= 0: hand_stick_width_px = max(1, int(round(stick_width_px * 0.5))) - # Eyes+mouth indices into the rig fallback (FACE_LANDMARK_TARGETS): 6..13 - # = both eyes, 19..22 = outer-lip ring. Brows/nose/chin/jaw are dropped. _EYES_MOUTH_IDX = np.array([6, 7, 8, 9, 10, 11, 12, 13, 19, 20, 21, 22], dtype=np.int64) include_face = face_style != "disabled" use_rig_only = face_style == "eyes_mouth" - # Real 238 sapiens face KPs take priority for 'full'; 'eyes_mouth' always - # falls through to the rig path since sapiens has no documented subset. face_vert_ids: Optional[np.ndarray] = None if include_face: any_real = (not use_rig_only) and any(