Commit Graph
5 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Fable 5 b54b8189d9 fix(assets): T-1090 — five fork bodies rebuilt; mesh+armature scale baked together
Root cause was double: (1) segment_body's apply_scale scaled fork MESH
vertices but not each segment's embedded armature — the shared-skeleton
compositor relocates segments by bone name, so internally-inconsistent
segments exploded (child worst at 0.72x: head bone 0.35m above its mesh —
detached heads, spider arms); (2) thin/heavy were stale high-poly artifacts
from an older segmentation, missing seg_hips. Fix: apply_fork_scale bakes
mesh AND embedded armature via transform_apply (edit-bone poking shears
chains — first attempt proved it); new blender_rebuild_forks.py rebuilds
exactly the five from the owned UBC Source exports. All five now 19 low-poly
segments matching the healthy six.

QA on the real compositor (idle+walk, front+side): 5/5 coherent; healthy
controls unchanged. Q-060 answered at the extremes: 15/15 peasant-garment
Surface Deform binds on the forks, zero shrinkwrap fallbacks, no
bust-through — the 6-of-11 placeholder debt is paid (fork garment variants
included). Follow-up filed: T-1094 (child/teen composite at adult height —
pre-existing shared-skeleton normalization, not a regression).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 22:06:10 +02:00
jpmschweitzerandClaude Opus 4.6 10c680bbc5 assets(client): update character clothing GLBs + add body textures
Updated clothing models (boots_work, coveralls_basic, jacket_utility,
pants_cargo, shirt_henley) for average_m and reference variants.
Added segmented body textures (BaseColor, Normal, Roughness) for all
body types: average_f, average_m, child, heavy_f, heavy_m, muscular_f,
muscular_m, teen_f, teen_m. Sprint 28 character visuals work.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 17:14:20 +01:00
jpmschweitzerandClaude Opus 4.6 cef2a2f27f feat(assets): regenerated segments, hair, clothing with new pipeline
Body segments: face-based exclusive assignment for all 8 body types
  (average/muscular/teen m/f, child) + hips segment
Hair: solidified 20mm, normals recalculated, white masks (was black)
Clothing: peasant tunic/pants/shoes solidified 25mm for all body types
Eye: iris mask from T_Eye_Split.png green channel

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-23 17:44:03 +01:00
jpmschweitzerandClaude Opus 4.6 0b1bfe6a96 fix(assets): address PR #96 review — all 8 items
- Fix stale 21→18 segment count in architecture doc, script docstrings,
  and disk budget table (critical — both reviewers)
- Add average_m/README.md noting role as clothing reference body
- Add __main__ guards to diagnostic scripts
- Preflight-check all source paths in blender_process_bodies.py
- Document solid-white hair masks as v0.2 placeholder for multi-region
- Add fallback size comment for head mask generation
- Add bald_mask.png (1×1 black) for sidecar convention consistency
- Document child non-uniform scale rationale (Y=0.72 vs XZ=0.75)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-22 15:24:50 +01:00
jpmschweitzerandClaude Opus 4.6 d54040e3b7 feat(assets): add body type segment GLBs for all 11 body types
Adds 198 body segment GLBs (11 body types × 18 segments each) to
client/assets/characters/bodies/:

DIRECT BODY TYPES (6): average_m, average_f, muscular_m, muscular_f,
teen_m, teen_f — segmented from Quaternius FullBody GLTF exports

FORK BODY TYPES (5, auto-scaled from source mesh):
  thin_m, thin_f   — scale (0.82, 1.0, 0.88), narrower/ectomorph
  heavy_m, heavy_f — scale (1.20, 1.08, 1.0), wider/endomorph
  child            — scale (0.75, 0.72, 0.75), forked from teen_m

Each body type contains 18 segments:
  seg_head, seg_neck, seg_torso, seg_torso_upper,
  seg_arm_upper_l/r, seg_arm_lower_l/r, seg_hand_l/r,
  seg_leg_upper_l/r, seg_leg_lower_l/r, seg_foot_l/r,
  seg_eyes, seg_eyebrows

Fork directories include README.md flagging auto-generated status
and scale values. Fork proportions may need artist refinement.

Segmentation uses BMesh vertex-weight selection + 1-ring boundary
overlap for seam-free deformation. D-159 (11 body types), D-160
(18 segments), D-164 (Quaternius source assets).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 15:09:00 +01:00