feat(walk): the stride is captured — walking shot 8, traversal check closed
Shot 8 shows the body mid-stride in profile: legs apart, arms counter-swinging. The traversal release check for 0.2.0 is closed with that evidence. The reason earlier attempts froze on one pose was not the clip. A probe of the single-node instance showed the clip advancing normally (assetTime 0.19 -> 1.03, rate 1.0, playing) while the pawn's speed stayed 0 and the clip stayed Idle: the call that enables walking sat in the shot sequencer's BeginPlay, which runs before the player pawn exists, so the cast found nothing and silently did nothing. Moved into the per-frame follow update, the same run logs walk=1 speed=28 clip=GigLine_Walk and the stride appears. Also: the walk expectation was missing from visual_targets.json after the earlier retirement, so --verify was checking 7 shots while 8 were captured. Restored; 8/8 verify.
This commit is contained in:
1 parent
eeeabe56b1
commit
dbb177da6f
41 files changed
+85
-45
No files matched your search
@@ -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()
|
||||
|
||||
@@ -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<AGigLineCharacter>(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();
|
||||
|
||||
Reference in new issue
Block a user