From 8ddbc70ae7b19ded5a272c2de6c3ed8f813f3c60 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Wed, 22 Jul 2026 21:19:01 -0700 Subject: [PATCH] Docs: helmet reshape + one-model consolidation to the gameplay player (07-22) + AnimatedLitShader atlas-tint gotcha Co-Authored-By: Claude Fable 5 --- .../2026-07-21_ArtStaging_A0_Value_Pass_J.md | 37 ++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/Docs/Vault/07_Sessions/2026/2026-07-21_ArtStaging_A0_Value_Pass_J.md b/Docs/Vault/07_Sessions/2026/2026-07-21_ArtStaging_A0_Value_Pass_J.md index b0d41f722..148d7aed6 100644 --- a/Docs/Vault/07_Sessions/2026/2026-07-21_ArtStaging_A0_Value_Pass_J.md +++ b/Docs/Vault/07_Sessions/2026/2026-07-21_ArtStaging_A0_Value_Pass_J.md @@ -69,7 +69,42 @@ to a lamp + darken the head**. Shipped (commit `8b50753f9`): stronger character. Remaining optional character work: deeper proportion pass (bulk legs/shoulders), a face read inside the porthole — offered as follow-ups. -**Blender gotchas banked (07-22):** (1) glTF `export_apply=True` does NOT bake an armature POSE — the exporter +## OVERHAUL-2 (07-22) — helmet reshape, stronger silhouette, ONE-model consolidation to gameplay + +Operator, judging the game-cam view: "looks unfinished; camera should be the game POV (add switching); the +character reads like a lamp; do an extensive overhaul" → then "the diving helmet is too spherical/golf-ball, +make the silhouette stronger" → then "they should not be two separate models." + +- **Helmet reshape:** the dome was a squashed sphere (0.44w × 0.34h). Reshaped in the master mesh → modest + vertical stretch + a FLATTENED FACEPLATE (front verts pulled toward a plane) + chunky collar ring + bigger + porthole bezel = a diving-helmet read, not a golf-ball. (A pure ×1.42 stretch first overshot into an egg — + reverted; the faceplate-flatten + collar were the real fix.) +- **Stronger silhouette:** broadened the outer shoulder-pad verts (armour mesh, Y 118-162, |X|>30, ×1.17) + + beefed the boots (Y<28, ×1.14) + the earlier tank-rig bulk. +- **ONE-model consolidation (the architecture fix):** the two Bathynauts were the ArtStaging static bake + (`SM_Suit_Bathynaut.glb`) and the gameplay skinned char (`Player.prefab`, built by `PlayerRigTools` from a + Synty body + a grafted skinned kit `SM_Suit_BathynautKit.fbx`) — both from the same `.blend` but exported + twice with divergent materials. Resolved: the master `Suit_Bathynaut_Kitbash.blend` is the **single source**; + I re-exported BOTH branches from it (static-posed GLB for staging, skinned kit FBX for gameplay). ArtStaging + STAYS a static bake — correct, because a plain (non-ECS) scene can't deform a Rukhanka-skinned mesh; it just + derives from the one source now. **Gameplay propagation:** re-exported the skinned kit with the reshaped + helmet grouped into Metal/Beacon/Porthole SMRs (rest pose), authored skinned diver materials + (`M_Diver_Metal_Skinned`, `M_Diver_PortholeGlow_Skinned`) + kept `M_EmissiveGloam_WarmSkinned` for the beacon, + shifted the body material to a cool diver tone, rebuilt `Player.prefab` via the proven graft chain. **Verified + live in DevSandbox from the game camera: the gold-dome lamp is gone — a dark-helmeted diver.** + - ★ **AnimatedLitShader gotcha:** `_BaseColor` MULTIPLIES the `_BaseColorMap` (PaletteAtlas) sample — a dark + tint over a gold atlas band stays gold-ish. To force a flat color, CLEAR `_BaseColorMap` (null) so the + material uses `_BaseColor` directly. (Palette-correct alternative = re-UV the piece to a dark atlas band.) + - **Remaining full-match gap:** the gameplay char keeps the Synty body, so the brass-armour/teal-undersuit + split + the shoulder/boot silhouette edits (which live on the `.blend` armour) are NOT in-game yet — that + needs the Synty body replaced by the `.blend` body+armour (a bigger `PlayerRigTools` change). The core + lamp-fix + reshaped helmet + palette shift DID land. +- **Camera:** `StagingCameraSwitcher` POV rig (POV_1_Game = real rig Pitch45/Dist13/FOV55, + hero/front/close; + V/]/[ + 1-4) with deep-water clear. Commits `8b50753f9` (staging overhaul), `8df43b830` (helmet+silhouette), + `2d47287b1` (gameplay player). **★ the "lamp" read is WORST at true game scale — judge characters from + POV_1_Game / in a gameplay scene, never only a hero shot.** + +## (earlier) 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