test(placement): the player stands on Road_Hollywood, not on the sidewalk
Three spawn heights - 455, 395, 469 - produced identical captures, and the in-game probe names the surface every time: mesh=Road_Hollywood at Z 366. The north sidewalk exists, carries collision and its top is Z 380, so the character stands 14 cm BELOW the pavement and reads as floating against the kerb; its shadow falls on the road because the road is genuinely lower. That is why lowering the spawn changed nothing: the capsule falls through to the road whatever height it starts at. The question left is the player start's XY footprint, not its Z - the sidewalk is right there but the capsule never lands on it. Player start set to 469 (sidewalk top 380 + capsule half 88 + 1) so that, once the footprint is fixed, the height is already right.
This commit is contained in:
1 parent
1bb4bb97ed
commit
c94ec7bbb9
40 files changed
+73
-54
No files matched your search
@@ -392,11 +392,22 @@ void AGigLineCharacter::LogFootProbes()
|
||||
const FVector From = GetActorLocation() + FVector(0.f, 0.f, 3000.f);
|
||||
const bool bTop = WorldTop->LineTraceSingleByChannel(Top, From,
|
||||
From - FVector(0.f, 0.f, 6000.f), ECC_WorldStatic, QTop);
|
||||
FString MeshName = TEXT("none");
|
||||
if (bTop)
|
||||
{
|
||||
if (const UStaticMeshComponent* HitMesh = Cast<UStaticMeshComponent>(Top.GetComponent()))
|
||||
{
|
||||
if (const UStaticMesh* Asset = HitMesh->GetStaticMesh())
|
||||
{
|
||||
MeshName = Asset->GetName();
|
||||
}
|
||||
}
|
||||
}
|
||||
UE_LOG(LogTemp, Warning,
|
||||
TEXT("GigLine top surface under player: hit=%d Z=%.0f actor=%s (actor Z %.0f)"),
|
||||
TEXT("GigLine top surface under player: hit=%d Z=%.0f actor=%s mesh=%s (actor Z %.0f)"),
|
||||
bTop ? 1 : 0, bTop ? Top.ImpactPoint.Z : -9999.f,
|
||||
bTop && Top.GetActor() ? *Top.GetActor()->GetName() : TEXT("none"),
|
||||
GetActorLocation().Z);
|
||||
*MeshName, GetActorLocation().Z);
|
||||
}
|
||||
|
||||
const FVector Feet = GetActorLocation() - FVector(0.f, 0.f, CapsuleHalf);
|
||||
|
||||
Reference in new issue
Block a user