diff --git a/Game/GigLine/Content/Hollywood/DemoMap.umap b/Game/GigLine/Content/Hollywood/DemoMap.umap index b04227e..42ee53d 100644 --- a/Game/GigLine/Content/Hollywood/DemoMap.umap +++ b/Game/GigLine/Content/Hollywood/DemoMap.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cb4094442c9e60f7a76e71e96aa29728a5aa0a2d51e28859b13a7a0b6edd2291 -size 782111 +oid sha256:3be33e0d4ba94f1d7ed213bcb15163704b164824be9100a0a3a5ec14ffaef9b2 +size 782209 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset b/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset index 81b9e73..75fa5a3 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_Asphalt.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:80d9e8cf3158e3709d5f0f1c2a84f6e644ba5fc40dafa3c5338d4b2f43ff80fe +oid sha256:3521abf63c4f31ca914fa1413795bf51375e5b786bb3780d5bcae3713a8535b5 size 10019 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset b/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset index acf4eb4..e0e8027 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_Concrete.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6842bbdba9bb44866052d98d5fd574862c525732c54a274596b1294dc7d0cf6 +oid sha256:9246e2950b272703343c53f3ee12dc6fcd21ec6af7521e4f5dc582fcd6608812 size 10024 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset index e1a016c..87c925b 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_FacadeBanner.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0ef7914831df4b80ec1bbafddc0088310471724fc36c8ead9dbaa38ba3f7db93 +oid sha256:ec38ee77c58094e6e034b3122ad592ada23908b9575060697e3a3f07f48344f6 size 11419 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset index 15a1cf8..c0e33ed 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_FacadeGlass.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6e0837aa328c8ac96ae170de1ed3fe6909a2bd5129262995c58a7359ddf5efcd +oid sha256:e23a094a8ff0d006bcba21d79cf274caed457590c4800789b282bf173fae58c2 size 11414 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset index 997c9b7..d22f6ab 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_FacadeStone.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf2884759e1e6c9e61b9dcde6ed10485564a8b2da68d3ecf7d3e76adedfa1854 +oid sha256:1eb21168267102b2c06957bf751424edb6b06c66d89fa11b28b18d6592eec2ef size 17083 diff --git a/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset b/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset index 5956954..70fa6b2 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_FacadeStoneShadow.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ba6d6410ecafd2fa01c7a98b037de2f1239cd400276c83109c99e9ca6adb6e13 +oid sha256:ea85b2d31f6041939ab8f53ef7e6eb9f051b5aa2a6d4a7f1880c466bd888f868 size 17113 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset b/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset index 657339d..fdf82ba 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_Ground.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e142f5abfab2ca4cfbcc56ff3761126f276340ec2b1802bfbf12fc9d78585e06 +oid sha256:d3fcb60a888269d60f555666b379ebe28e9dd8d56c6f39fbb21d65bee4f8bea5 size 10014 diff --git a/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset b/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset index 4a3c2ba..7cb9f27 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_KerbConcrete.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bf649277e88c74743d93d10d8159d33ab21a2a23661b518b8e4474951ed4affd +oid sha256:7f6e0532d263a129bac49d00773b40249a8064a64fec2903331166693f67cd75 size 10044 diff --git a/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset b/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset index 0cbc059..6437661 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_RoadPaint.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:797ee9f2428b11b5410bd09fafc3a5ab1305c1186c3851b1d68524717dc4c8e7 +oid sha256:8467bc2b878d4f7ab2066ec44b3abf60054e5cdce8cd00897d34f068a3c0b56b size 10029 diff --git a/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset b/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset index 167f099..0df5352 100644 --- a/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset +++ b/Game/GigLine/Content/Hollywood/Site/M_Stucco.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3cbc1a4861bdc40c0c59b016ee509e620871c0546b721dab48fa846ef4da845 +oid sha256:f3f0cb14258bcd52fab006211f3df06aa87927f733e32782ce18283d580c00f7 size 11389 diff --git a/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset b/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset index cb5184a..f553c28 100644 --- a/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset +++ b/Game/GigLine/Content/Hollywood/Site/Terrain_DEM.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c700b244a938032f611b34f3200f3ce8db4d3fb165b99276cc427879549a0f3d +oid sha256:13e44fe088260e3e19c81c0100e7b617bdcec1a014fa8e296f7dc9dac5193d94 size 357901 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_BC.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_BC.uasset index e7508e3..dfe9dd8 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_BC.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_BC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acbdeb2cd8d728e23d9e9ebddde1c252b82fecde6556f503e36bed03fc39c802 +oid sha256:7e3cb9a8ee900440bfbe64ad1395f4badbc47518829ed52b8acb2f6444715f96 size 70879 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_R.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_R.uasset index 8473fda..0094e0f 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_R.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Asphalt_R.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:bfe8a51858fdb1d53a4b1fe5d012d263b51d8da815f06fdb8b7f6a5192d19b91 +oid sha256:c8d6d5b498b79f40c71e3908e4415c62e2f2e7ddb84485e66e6fc392afb1f992 size 29011 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Concrete_BC.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Concrete_BC.uasset index 6aaa08b..0d90f03 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Concrete_BC.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Concrete_BC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7ebd565c34f058d95ec1cf09bd382990a23c24e055928a61518720871ea8ed61 +oid sha256:e99725a8f13720aea9b27bd8530148fbeaa795122d59e0c4cc084851c6ef49e3 size 58568 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Concrete_R.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Concrete_R.uasset index 6de55aa..6826dfa 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Concrete_R.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Concrete_R.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:373317a6707dc261daaa6b16d05e23ad2ccb9c59385c32a153caf47a10c58a70 +oid sha256:375306910ce00117f53c80044c32dde93d811e2f74ad4671743b49c2d4e7208b size 17517 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_BC.uasset b/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_BC.uasset index 66a08a7..44427b5 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_BC.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_BC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0ec77ea90b3ee38137d313599562180b49071e810f430033a248ee8c90c0b5bc +oid sha256:04d43693f33376622fa26813c7525356266e511e142ac57cfc5c90dd769ddd36 size 40610 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_R.uasset b/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_R.uasset index b098a34..c5e298c 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_R.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_StoneAshlar_R.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9e336de25f87767e4d49f46afd379ed052a0d2297f32f2f8339397124f63114f +oid sha256:44f679fb484a73afbf35e40bd1880e20ffdd0906b84cd08aa40c0751369d2a7f size 18770 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Stucco_BC.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Stucco_BC.uasset index 5546cce..408670c 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Stucco_BC.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Stucco_BC.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:72418f0a7099d7c7b7ba5f7fae0e4f1660a2cb61dd53619307a0c3a14b77b562 +oid sha256:629627e08cc91cf7cf386f499ca3d767eca2af5e19e1b9221417e67c5a47e0fe size 62746 diff --git a/Game/GigLine/Content/Hollywood/Textures/T_Stucco_R.uasset b/Game/GigLine/Content/Hollywood/Textures/T_Stucco_R.uasset index 1436a9d..79a62a3 100644 --- a/Game/GigLine/Content/Hollywood/Textures/T_Stucco_R.uasset +++ b/Game/GigLine/Content/Hollywood/Textures/T_Stucco_R.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:082946148316f265020b2bd5e7bc508162c20ba8518de881de28fbfd876926c3 +oid sha256:1a3556950ecd5b448a658cbd1d678f92db3841f85de931214f47554d596f9647 size 17541 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSign.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSign.uasset index 910e815..77f69f5 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSign.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSign.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0719fbbe2553d3749800b3bf0f991e8308dfa87cd613d8d820e8d1fd320412ce +oid sha256:7d71d04ff50416c4f31d886985121d7b66a0c80f26746a5f5534df2fdcf97dd4 size 72330 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignBracket.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignBracket.uasset index 69c9f50..33e5bd2 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignBracket.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignBracket.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4720a95102c55c887644959a344dc95ad29ed29a8b87a18f55574a1efd6e4170 +oid sha256:a4e8d202b634a999c06c0f164468d2bbdc251318411b1905e7aa752065ae6e4a size 72466 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignFrame.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignFrame.uasset index aa3fd01..173776b 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignFrame.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_BladeSignFrame.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:15e4e1e2c928535a05cc8eada728a0ed26b69dfa9c8ead220b62bad44e964ce5 +oid sha256:770f72bf65cf68e312cb0ab3f0aee9c5417ad38bdfd61f97cd43a64b757413dd size 72406 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeCanopy.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeCanopy.uasset index c691bee..999b6bb 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeCanopy.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeCanopy.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4278c238b7d539198fb31717bec238df312b503119debf809495a83d3eb6cac8 +oid sha256:cdc90b4d6eca9c09e1c0e2a1e1f94fbb67e74e2a1a06cb3553966fbbc713ecde size 72370 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeFascia.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeFascia.uasset index bc4ebc9..5a2f91c 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeFascia.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeFascia.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b17405bd29e201ee355e1402e61a5bba2b9d4c6d55b669efbe5fb42270fe21bb +oid sha256:c8125b5596c500f10ca72fe9120f7a984bd47797233759b3227fd1a93660f9f9 size 72438 diff --git a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeSoffit.uasset b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeSoffit.uasset index 65ca8f3..0951c95 100644 --- a/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeSoffit.uasset +++ b/Game/GigLine/Content/Hollywood/Theatre/SM_Trim_MarqueeSoffit.uasset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fc4acc9ee44f5302e066ff602df693898f1da8983193ac6bfdaf55e3081fdc87 +oid sha256:4f174767b6e1c0159482e0f068a8abde6fb353041769173d83956840fb297f27 size 72413 diff --git a/Game/GigLine/Content/Test/ReviewMap.umap b/Game/GigLine/Content/Test/ReviewMap.umap index 9b6795f..98d5b9a 100644 --- a/Game/GigLine/Content/Test/ReviewMap.umap +++ b/Game/GigLine/Content/Test/ReviewMap.umap @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e23b869c33bf58e5dfffbf90946fd76147745a56742db75c324ffb52835413f2 +oid sha256:701b724662820925bf0155a75cb9821019e1ec793f6ea53fa4d95ab5326a5ee2 size 29389 diff --git a/Game/GigLine/Source/GigLine/GigLineCharacter.cpp b/Game/GigLine/Source/GigLine/GigLineCharacter.cpp index 12fb9a0..e21a47e 100644 --- a/Game/GigLine/Source/GigLine/GigLineCharacter.cpp +++ b/Game/GigLine/Source/GigLine/GigLineCharacter.cpp @@ -1,6 +1,7 @@ #include "GigLineCharacter.h" #include "Animation/AnimSequence.h" +#include "Animation/AnimSingleNodeInstance.h" #include "Camera/CameraComponent.h" #include "Components/SkeletalMeshComponent.h" #include "GameFramework/SpringArmComponent.h" @@ -752,6 +753,7 @@ void AGigLineCharacter::Tick(float DeltaSeconds) WalkForever(); UpdateBodyAnimation(); + } void AGigLineCharacter::ToggleCamera() diff --git a/Game/GigLine/Source/GigLine/GigLineShotActor.cpp b/Game/GigLine/Source/GigLine/GigLineShotActor.cpp index f146cb7..0d67473 100644 --- a/Game/GigLine/Source/GigLine/GigLineShotActor.cpp +++ b/Game/GigLine/Source/GigLine/GigLineShotActor.cpp @@ -81,11 +81,18 @@ void AGigLineShotActor::UpdateFollowCamera() { return; } - const APawn* Pawn = UGameplayStatics::GetPlayerPawn(this, 0); + APawn* Pawn = UGameplayStatics::GetPlayerPawn(this, 0); if (!Pawn) { return; } + // Enable the walk here rather than only in NextShot: the sequencer's BeginPlay + // runs before the player pawn exists, so a one-shot cast there silently found + // nothing and the pawn never walked during its follow shot. + if (AGigLineCharacter* Character = Cast(Pawn)) + { + Character->SetReviewWalk(true); + } // Offset in the pawn's frame: to its right, slightly above, looking at the // pelvis. Right-of-pawn gives a profile view, which is where a stride reads. const FVector Right = Pawn->GetActorRightVector(); diff --git a/Screenshots/README.md b/Screenshots/README.md index b89aae3..3dfb8a1 100644 --- a/Screenshots/README.md +++ b/Screenshots/README.md @@ -130,6 +130,21 @@ What it shows: the arms hang down with a soft elbow bend, the hands sit at hip h --- +## 8. Third-person walk + +![Third-person walk: the body mid-stride in profile](demo/review-demo-third-person-walk.png) + +- **File:** `demo/review-demo-third-person-walk.png` +- **View:** tracking camera, 4.2 m to the pawn's right, captured while the pawn walks south under `-walk` +- **Expected content:** the body mid-stride in profile — legs apart, arms counter-swinging +- **Verified:** ☑ 2026-11-09 · **Approved:** ☐ pending + +**Why it needed new harness:** a fixed camera cannot photograph a pawn moving at 4.5 m/s. Three attempts framed it differently every run and two missed it entirely. The shot actor now has a per-shot `ShotFollow` mode that re-places the camera every frame at a fixed offset in the pawn's frame, and the walk is driven per shot, so the capture is deterministic. + +**What it proves:** the walk clip plays and advances. The earlier captures of this shot showed one frozen pose because the sequencer's `BeginPlay` ran before the player pawn existed, so the cast that enables walking silently found nothing and `speed` stayed at zero — the probe read `walk=0 speed=0 clip=Idle` every frame. Moving that call into the per-frame follow update fixed it; the capture now logs `walk=1 speed=28 clip=GigLine_Walk` and shows a stride. + +--- + ## The iteration loop (uncommitted) `Tools/visual_loop.py` measures each capture against its reference photograph and turns the deltas into modelling actions for the Blender skill packs: diff --git a/Screenshots/demo/review-demo-crossing.png b/Screenshots/demo/review-demo-crossing.png index 6e328a4..fcfd1eb 100644 --- a/Screenshots/demo/review-demo-crossing.png +++ b/Screenshots/demo/review-demo-crossing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d9d241cf8ba8c2458e29eef6c5f402e6fc8253c5b8bb39ed814cba1061002da7 -size 3086135 +oid sha256:89d64985527ac77759f25fe9cd4cc79287c07cde9ffb2ec95047aa3aed6add8e +size 3087137 diff --git a/Screenshots/demo/review-demo-north-buildings.png b/Screenshots/demo/review-demo-north-buildings.png index 1d759ca..176824f 100644 --- a/Screenshots/demo/review-demo-north-buildings.png +++ b/Screenshots/demo/review-demo-north-buildings.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:af1d563bcf7cde3e6cf8ddde90d3bf829ac80bef532464f09df2f52624bd8fa7 -size 2619686 +oid sha256:cda9d1d59d1fb10cb3e912937a5f326be01ac08143de7dd8e9bb4833b2613233 +size 2619261 diff --git a/Screenshots/demo/review-demo-retail-frontage.png b/Screenshots/demo/review-demo-retail-frontage.png index 6c67e25..bc8e266 100644 --- a/Screenshots/demo/review-demo-retail-frontage.png +++ b/Screenshots/demo/review-demo-retail-frontage.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b2dcb4bd30d3a6f3f8aa5b8296c09a85f025544fd0d3ec424cb4305716e2496e -size 2521944 +oid sha256:717c84e66d7dc495fd93605897e1611a646e29829355c5fc59b22fe8b1b93def +size 2521757 diff --git a/Screenshots/demo/review-demo-spawn-view.png b/Screenshots/demo/review-demo-spawn-view.png index 4718a27..f615f21 100644 --- a/Screenshots/demo/review-demo-spawn-view.png +++ b/Screenshots/demo/review-demo-spawn-view.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:76a664b8e1051c0cda54bedf39b5642276aa301649da75786bbab254848a5d30 -size 2930459 +oid sha256:c0435e7e356825b08f1c50dca12fbd0b339c77be2e5a2a4586a3fcb3d6a65402 +size 2935883 diff --git a/Screenshots/demo/review-demo-street-level.png b/Screenshots/demo/review-demo-street-level.png index b172844..78b1d80 100644 --- a/Screenshots/demo/review-demo-street-level.png +++ b/Screenshots/demo/review-demo-street-level.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b28d4854a6af4b1dd6b47c24742b3feed9151e9d3f5ee05c7576eeaefd36bf24 -size 2852636 +oid sha256:d811dbd36ad61ec0ab1cc31161d72d25c98bda81d14ea5b4c5e71b21600c4ec2 +size 2848145 diff --git a/Screenshots/demo/review-demo-third-person-front.png b/Screenshots/demo/review-demo-third-person-front.png index 7ad42e0..e666e8f 100644 --- a/Screenshots/demo/review-demo-third-person-front.png +++ b/Screenshots/demo/review-demo-third-person-front.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:77cbf9322df6462865c6368be0ac963629507ea184271642e79d11287e591d66 -size 2795656 +oid sha256:5e6e448f1d2a71d50db746d0d1ab31e9eb34197d38e38a06acdf8175eeeebd1a +size 2792706 diff --git a/Screenshots/demo/review-demo-third-person-walk.png b/Screenshots/demo/review-demo-third-person-walk.png new file mode 100644 index 0000000..94daf00 --- /dev/null +++ b/Screenshots/demo/review-demo-third-person-walk.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3a01f96f6d484e1ecc1b370a7b7cd89f0a41b339d327014fba768d0532bf1163 +size 2389115 diff --git a/Screenshots/demo/review-demo-third-person.png b/Screenshots/demo/review-demo-third-person.png index 0c9a550..fe3dba4 100644 --- a/Screenshots/demo/review-demo-third-person.png +++ b/Screenshots/demo/review-demo-third-person.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2e7f523f1b7983e319a11217cc2166f0bcf27a5a9873e42fabbdd899943dfe52 -size 2998041 +oid sha256:f9fe6f84e091aab286aa67211ebad3b9a35b5ed56c95f9fb4da68af5421ae6f4 +size 2999233 diff --git a/TODO.md b/TODO.md index 4b53518..5690972 100644 --- a/TODO.md +++ b/TODO.md @@ -32,7 +32,7 @@ Actionable task list for this project. This file is the single, central place fo ### Release checks -- [ ] Third-person traversal works end-to-end in the demo area. **The harness exists now, the animation does not advance.** The screenshot actor can track the pawn (`ShotFollow`) and drive the walk per shot (`SetReviewWalk`), and the capture is deterministic — but every walking capture shows the body in one static pose (arms forward, legs together), so the walk clip is applied without playing. Next step: check whether the single-node instance is ticking at all (log `GetSingleNodeInstance()->GetCurrentAssetTime()` across frames) and whether `PlayRate` survived the import. Earlier note, superseded: walking works (`-walk` holds forward input; the pawn crosses the sidewalk while the third-person rig follows), but a fixed review camera cannot catch a pawn moving at 4.5 m/s — three attempts framed it at a different distance each run and the last two missed it entirely. The stride shot was removed rather than shipped broken. Needs a camera that tracks the pawn (attach the shot camera to the pawn, or drive the capture from a recorded path), then re-add `demo-third-person-walk`. +- [x] Third-person traversal works end-to-end in the demo area. **Walking is captured and verified 2026-11-09**: `demo-third-person-walk` shows the body mid-stride in profile (legs apart, arms counter-swinging), and the run logs `walk=1 speed=28 clip=GigLine_Walk`. Getting there needed two harness fixes, both found by probing rather than guessing: the camera must track the pawn (`ShotFollow`), and the call that enables walking had to move out of the sequencer's `BeginPlay` — it ran before the player pawn existed, so the cast silently found nothing and `speed` stayed 0 while the probe reported `clip=Idle` every frame. - [ ] No blocking animation or rig defects. - [ ] Performance target still met at 1440p. - [ ] Tag `v0.2.0` and write `CHANGELOG.md` entry; then remove this section. diff --git a/Tools/ue_build_review_map.py b/Tools/ue_build_review_map.py index 0c75362..91e932f 100644 --- a/Tools/ue_build_review_map.py +++ b/Tools/ue_build_review_map.py @@ -288,6 +288,7 @@ try: # the colonnade's underside. # Level horizon for the same reason: a block elevation is read by its # verticals, and a pitched camera makes them lean. + ("demo-third-person-walk", unreal.Vector(-12940, -980, 560), unreal.Vector(-13336, -980, 500), 55.0), ("demo-spawn-view", unreal.Vector(-13336, -3100, 620), unreal.Vector(-13336, 1300, 620), 48.0), # Street level, from the north sidewalk: the old camera sat at Y -400, # inside the facade body (which spans Y -1457..-200), so it looked at @@ -334,7 +335,7 @@ try: # No follow shots in the current list: the stride capture was retired # because the walk clip does not visibly advance in game (see TODO.md). # The follow flag stays wired for when it does. - seq.set_editor_property("shot_follow", [False] * len(demo_shots)) + seq.set_editor_property("shot_follow", [True] + [False] * (len(demo_shots) - 1)) seq.set_editor_property( "shot_field_of_view", [float(c[3]) if len(c) > 3 else 0.0 for c in demo_shots]) diff --git a/Tools/visual_targets.json b/Tools/visual_targets.json index 515f566..422c018 100644 --- a/Tools/visual_targets.json +++ b/Tools/visual_targets.json @@ -84,6 +84,18 @@ "Art/reference/hollywood/el-capitan-facade-day-wikimedia-2009-10-27.jpg" ], "expect": "Front view of the player body from the road: both arms hanging at the sides, hands down by the hips, face and chest visible, hero facade behind the camera" + }, + { + "name": "demo-third-person-walk", + "shot": "Screenshots/demo/review-demo-third-person-walk.png", + "size": [ + 1920, + 1080 + ], + "references": [ + "Art/reference/hollywood/el-capitan-facade-day-wikimedia-2009-10-27.jpg" + ], + "expect": "The player body mid-stride in profile: legs apart, arms counter-swinging, walking along the sidewalk" } ] }