feat(anim): idle and walk clips on the MPFB rig
Two parametric cycles authored at 30 fps instead of hand-keyed poses, so the loop closes by construction: GigLine_Idle (60 f, breathing sway, feet planted) and GigLine_Walk (30 f, one stride, hip 0.45 rad / knee 0.55 / arm 0.32, arms counter-phased, torso counter-rotation). The limb axes were measured, not assumed: a probe rotated upperleg01.L by 0.5 rad on each axis and read foot.L, which moved -0.022 -> +0.362 in Y on X, twisted on Y and abducted on Z. Using the wrong axis here would have produced a character scissoring sideways, which no import error would have caught. The character export preset now bakes animation. Without bake_anim the exporter writes a static bind pose and Unreal imports a mesh with no AnimSequence and no error, so the importer asserts a clip exists and prints VERDICT: PASS/FAIL. Verified in /Game/Test/Character: Idle 1.967 s and Walk 0.967 s, both AnimSequences, skeleton intact. Playback on a possessed pawn is not yet verified: the demo pawn has no visible body, so that check belongs with the third-person camera item.
This commit is contained in:
1 parent
817313aabd
commit
96238bdb6a
12 files changed
+343
-2
No files matched your search
@@ -26,8 +26,8 @@ Suggested blender skills: **references** (reference-image-match), **archviz**, *
|
||||
- [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`.
|
||||
- [x] 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. Done 2026-11-07: `AGigLineNPCPerson` (see the 0.1.0 Character-development item); `0.5.0` reuses it as the pedestrian base.
|
||||
- [A] Create basic idle/walk animation set.
|
||||
- [ ] Verify animation plays correctly on the imported rig.
|
||||
- [x] Create basic idle/walk animation set. Done 2026-11-09: `Tools/character_anim_build.py` authors `GigLine_Idle` (60 f) and `GigLine_Walk` (30 f) at 30 fps from parametric cycles, and `Tools/ue_character_anim_import.py` imports them. Both AnimSequences verified in `/Game/Test/Character`: Idle 1.967 s, Walk 0.967 s. Limb axes were **measured** on the rig, not assumed — the probe rotated `upperleg01.L` 0.5 rad per axis and read `foot.L`, which showed X is the fore/aft swing (Y twists, Z abducts).
|
||||
- [A] Verify animation plays correctly on the imported rig. Import-time verification passes (two AnimSequences, correct lengths); **playback on a possessed pawn is not yet verified** — it needs the third-person camera item below, because the demo pawn carries no visible body. Visual confirmation lands with that item.
|
||||
|
||||
### Camera and controls
|
||||
|
||||
|
||||
Reference in new issue
Block a user