Docs: suit pose shipped (07-22) — session log + roadmap A0 update; Blender pose-bake gotchas
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -26,7 +26,27 @@ T-posed. Four of five fixes were staging (headless); the fifth (pose) is a Blend
|
||||
player" line never ran → an empty 5-slot bar polluted the frame. Fix: root defaults `DisplayStyle.None` at
|
||||
build, flips to Flex only when a local player is found — also kills any pre-connect/menu flash in gameplay.
|
||||
|
||||
## NOT done — the suit pose (operator-gated Blender sitting)
|
||||
## UPDATE (07-22) — the suit pose IS now done
|
||||
|
||||
Operator greenlit ("go ahead and do the next fixes"), so the pose shipped via `/art-dev`. The suit `.blend`
|
||||
turned out to be **already rigged** to the Synty humanoid skeleton — the Unity static-T-pose was because the base
|
||||
body/armour/head carried vertex groups with **no Armature modifier** (only the kit attachments had them), and 2
|
||||
lamp parts were unweighted. Rig cleanup (added the modifiers; weighted ChestLamp/LampRim to Spine_03), posed a
|
||||
grounded combat-ready stance (shoulders down ~63°, elbows braced forward ~22° — axis found by a 2-probe render
|
||||
loop since the Synty bone rolls are non-standard: local Z = the swing, negative = down), baked the pose to static
|
||||
geometry and re-exported. **Master `.blend` keeps the rig+pose re-editable**; the GLB overwrite flowed into the
|
||||
connected ArtStaging prefab instance (38 parts intact, materials + the extracted staging emissive preserved).
|
||||
Suit width 2.05 m (T-pose) → 1.04 m (posed). Verified from the front + top-down game camera + in the composed
|
||||
ArtStaging scene (full/200px/grayscale) — reads as a heavy standing diver. Commit `eaff8d16e`.
|
||||
|
||||
**Blender gotchas banked (07-22):** (1) glTF `export_apply=True` does NOT bake an armature POSE — the exporter
|
||||
special-cases armature modifiers as skinning and writes bind pose; to bake a pose to static, apply the deform
|
||||
first (depsgraph `new_from_object(evaluated)` → assign `o.data` → clear modifiers), THEN export. (2) blendermcp's
|
||||
headless context makes `bpy.ops.export_scene.gltf` throw `Context has no attribute active_object` and
|
||||
`modifier_apply.poll() failed` — wrap ops in `bpy.context.temp_override(window, area(VIEW_3D), region,
|
||||
active_object, object, selected_objects)`, or avoid the operators entirely (depsgraph bake). → cookbook.
|
||||
|
||||
## (superseded) the pose was deferred at first — kept for the record
|
||||
|
||||
The staging suit is one combined Synty body mesh (`SM_Chr_SpaceSoldier_Male_01`) welded with 37 static kit
|
||||
attachments, **no rig** in the exported asset (Unity: SMR=0, no Animator). Posing the T-pose requires a Blender
|
||||
|
||||
Reference in New Issue
Block a user