plan: 0.1.0 ships first-person only; MPCB character reserved as NPC template
Coordinator decision 2026-11-07: 0.1.0 is first-person-only (capsule + camera, no visible body). The MPFB character (idle pose + warm skin, done) is reframed as the reusable NPC/pedestrian prefab for 0.2.0+ / 0.5.0, not wired into the AGigLineCharacter pawn. Roadmap character + 0.2.0/0.5.0 sections updated; no engine/asset changes.
This commit is contained in:
1 parent
c11cb4caa4
commit
72e7eed653
1 file changed
+10
-11
+10
-11
@@ -79,17 +79,15 @@ Owner: this session. Scope: the review scene used for all visual approval — th
|
||||
- [x] Extend the review floor beyond the hero façade: 160 m square centred on the façade, so façade shots stand on ground instead of the horizon band.
|
||||
- [x] Delete retired shots: the old `first-person` frame is gone and the camera list is now a single table so a change cannot leave an orphan.
|
||||
|
||||
### Character development - active - 01a1b26b-3c94-707f-9665-2f6b4a79b564
|
||||
### Character development — decision: 0.1.0 is first-person only; NPCs planned later
|
||||
|
||||
Follow-on work on the player avatar, after the review scene passes. None of it is `0.1.0` scope unless a release check requires it. Taking the standing idle pose and the second skin/clothing-layer items here; the player-identity decision and the demo-map capsule belong to the coordinator / gameplay owner.
|
||||
Coordinator decision 2026-11-07: **`0.1.0` ships first-person only** — a capsule with a camera, no visible player body. It is **not** a player-avatar blocker for `0.1.0`.
|
||||
|
||||
- [x] Standing idle pose: `Tools/mpfb_character_export.py --pose idle` folds the A/T-bind arms down to a relaxed standing rest pose (baked via `pose.armature_apply` before export). Verified: `upperarm01.L` rest z −0.71 → −1.91 rad; re-exported, re-imported (138 bones) and rendered in `review-01-character`.
|
||||
- [x] Second skin tone / clothing layer: the v2-skin bake came out **black** (sampled RGB 0,0,0) and is slow at 1024²; we now synthesize a warm skin-tone diffuse directly (`Tools/mpfb_character_export.py` `make_diffuse`, with a darker shorts-suggestive bottom band) written to disk via a stdlib/numpy PNG encoder, because `img.save()` writes black for an in-memory image. Character now reads warm, not grey. Screenshot review pending (`Screenshots/review-01-character` re-pended).
|
||||
The MPFB character asset (idle pose + warm skin, done below) is planned as the template for **NPCs** in later milestones (`0.2.0` adds the body/camera toggle; `0.5.0` adds pedestrians). Keep it as a standalone character/prefab rather than wiring it into the `AGigLineCharacter` pawn. Everything here is future/NPC work, not `0.1.0` scope.
|
||||
|
||||
- [ ] Decide what the `0.1.0` player is: first-person-only, or a body that is visible in third person. The `0.2.0` milestone adds the MPFB body and camera toggle; `0.1.0` currently ships a capsule with a camera and no visible body.
|
||||
- [ ] Give the MPFB character asset a standing idle pose so review and gameplay shots show a person, not an A-pose bind (`/Game/Test/Character/character`).
|
||||
- [ ] Bake a second skin tone or clothing layer, so the character does not read as a grey mannequin in shots.
|
||||
- [ ] Add the character's collision capsule in the demo map and confirm the camera does not clip the head at the 1.60 m eye height.
|
||||
- [x] Give the MPFB character asset a standing idle pose so review and NPC shots show a person, not an A-pose bind. Done: `Tools/mpfb_character_export.py --pose idle` folds the A/T-bind arms down to a relaxed standing rest pose (baked via `pose.armature_apply` before export; `upperarm01.L` rest z −0.71 → −1.91 rad), re-exported, re-imported (138 bones), rendered in `review-01-character`.
|
||||
- [x] Bake a second skin tone or clothing layer, so the character does not read as a grey mannequin in shots. Done: the v2-skin bake came out **black** and slow at 1024², so we synthesize a warm skin-tone diffuse directly (`Tools/mpfb_character_export.py` `make_diffuse`, with a darker shorts-suggestive bottom band) via a stdlib/numpy PNG writer. Character reads warm, not grey. Screenshot review pending (`Screenshots/review-01-character` re-pended).
|
||||
- [ ] (open) Keep the character as a reusable NPC prefab: a visible body, a collision capsule, and a head-height check that the camera does not clip at 1.60 m — for when NPCs/pedestrians are wired in (`0.2.0+`), not the `0.1.0` player.
|
||||
|
||||
### Asset production
|
||||
|
||||
@@ -182,8 +180,9 @@ Planned explicitly so the shipped blockouts are not mistaken for finished archit
|
||||
|
||||
### Character setup
|
||||
|
||||
- [ ] Generate MPFB human base mesh; export baked materials and deform skeleton.
|
||||
- [ ] Import character into Unreal; validate skeleton, scale, and materials.
|
||||
- [x] Generate MPFB human base mesh; export baked materials and deform skeleton. Done in bootstrap: idle-pose 19 158-vert human with a 137-bone standard rig, `Tools/mpfb_character_export.py` (now `--pose idle` + warm `make_diffuse`).
|
||||
- [x] Import character into Unreal; validate skeleton, scale, and materials. Done: `/Game/Test/Character` — `SkeletalMesh` (138 bones), `Skeleton`, warm `M_Character_Export` material with baked `T_Character_Diffuse`.
|
||||
- [ ] Promote the character asset into a reusable NPC prefab (visible body, collision capsule, idle pose) ready for pedestrians (`0.5.0`) once the third-person body lands.
|
||||
- [ ] Create basic idle/walk animation set.
|
||||
- [ ] Verify animation plays correctly on the imported rig.
|
||||
|
||||
@@ -302,7 +301,7 @@ Planned explicitly so the shipped blockouts are not mistaken for finished archit
|
||||
|
||||
### Simulation
|
||||
|
||||
- [ ] Add pedestrian characters with navigation.
|
||||
- [ ] Add pedestrian characters with navigation, reusing the idle-pose character asset as the NPC prefab (`/Game/Test/Character`).
|
||||
- [ ] Implement crosswalk behavior (pedestrians use the designated crossing).
|
||||
- [ ] Add limited ambient traffic on the street network.
|
||||
- [ ] Optimize simulation cost to stay within frame budget.
|
||||
|
||||
Reference in new issue
Block a user