Bridge-C evidence spike: unitypackage extraction, rest-pose recon, garment transplant onto the Quaternius rig (Data Transfer POLYINTERP_NEAREST), 11-body batch fit, Godot QA scenes. Technical PASS; route nonetheless REJECTED by product call (cost, baked body-segment modularity, style) — full trail on T-1089. Salvage: source-agnostic transplant/batch-fit scripts (the G1-family pipeline for any donor mesh) and the T-1090 discovery (5 body types misrender bare). Extracted vendor payload (spikes/**/raw/) now gitignored. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
24 lines
881 B
Python
24 lines
881 B
Python
"""Quick recon: which bind skeleton do production per-body clothing GLBs embed?"""
|
|
import bpy
|
|
import os
|
|
|
|
REPO = "/var/mnt/data/projects/settled-reach"
|
|
FILES = [
|
|
"client/assets/characters/clothing/peasant_pants/teen_m.glb",
|
|
"client/assets/characters/clothing/peasant_pants/average_f.glb",
|
|
"client/assets/characters/clothing/peasant_pants/average_m.glb",
|
|
]
|
|
|
|
for rel in FILES:
|
|
bpy.ops.object.select_all(action='SELECT')
|
|
bpy.ops.object.delete(use_global=False)
|
|
bpy.ops.import_scene.gltf(filepath=os.path.join(REPO, rel))
|
|
for o in bpy.data.objects:
|
|
if o.type == 'ARMATURE':
|
|
for bn in ("pelvis", "upperarm_l"):
|
|
b = o.data.bones.get(bn)
|
|
if b:
|
|
w = o.matrix_world @ b.head_local
|
|
print(f"RECON {rel} {bn} "
|
|
f"({w.x:.5f}, {w.y:.5f}, {w.z:.5f})")
|