feat(walk): a -walk harness flag, and the honest reason the stride shot is not in

Screenshots 6 and 7 are approved, so the remaining 0.2.0 work is the traversal
release check. This adds the piece of harness it needs - `-walk` holds forward input
from the first frame, so the pawn actually crosses the sidewalk while the third-person
rig follows it - and records what that check still lacks.

A stride shot was attempted three times and removed: a fixed review camera cannot
catch a pawn moving at 4.5 m/s. Each attempt framed it at a different distance and
the last two missed it entirely, so shipping it would have been a broken shot with a
green verification. The TODO item now says the blocker is the capture harness (a
camera that tracks the pawn), not the game, and names where the shot goes back in.

The flag stays because it is what the traversal check will drive.
This commit is contained in:
zwitschi committed 2026-11-09 11:50:07 +01:00
1 parent 0e0aed02d6
commit f84093adba
39 files changed
+67 -43

No files matched your search

@@ -251,6 +251,19 @@ void AGigLineCharacter::BeginPlay()
{
StartQASelfTest();
}
// `-walk` holds forward input from the first frame. The screenshot run uses it
// with `-thirdperson` so a capture can show the walk clip mid-stride: an idle
// shot cannot prove the animation set, and a still cannot show a stride.
bWalkForever = FParse::Param(FCommandLine::Get(), TEXT("walk"));
}
void AGigLineCharacter::WalkForever()
{
if (bWalkForever && GetCharacterMovement() && GetCharacterMovement()->IsMovingOnGround())
{
AddMovementInput(GetActorForwardVector(), 1.0f);
}
}
void AGigLineCharacter::StartQASelfTest()
@@ -726,6 +739,7 @@ void AGigLineCharacter::Tick(float DeltaSeconds)
Super::Tick(DeltaSeconds);
// Speed-driven animation state: correct whether the player walked, was pushed,
// or fell, and independent of which input produced the movement.
WalkForever();
UpdateBodyAnimation();
}
@@ -158,6 +158,12 @@ protected:
UPROPERTY()
TObjectPtr<UAnimSequence> PlayingAnimation;
/** True while `-walk` holds forward input for the screenshot run. */
bool bWalkForever = false;
/** Applies the `-walk` forward input when the flag is set and the pawn is grounded. */
void WalkForever();
/** Toggle-camera action (V). */
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Input")
TObjectPtr<UInputAction> ToggleCameraAction;