test(vehicle): the body barely moves, so something else moves the actor
The motion probe splits the problem in two: velocity -24, -182, -28 cm/s (a body that cannot climb 9 m in 1.5 s) mass 1500 kg (the override DID apply) box 452 x 205 x 40 (correct) bounds extent 1,1,1 (still degenerate) actor Z 1393, spawned at 458 The physics body is nearly still while the actor is nine metres above its spawn. So this is not a force problem at all - it is a transform problem: something writes the actor's transform that is neither the body's velocity nor our code, which is also what the degenerate bounds are telling us from the other side. Next: find who writes that transform. Suspects are the Chaos movement component's UpdateState / OnUpdateTransform and the component hierarchy - a pawn whose root is the mesh while the physics state belongs elsewhere behaves exactly like this. Pawn parked again so the demo stays clean.
This commit is contained in:
1 parent
2ecd029cc0
commit
14ed01a4e6
77 files changed
+87
-77
No files matched your search
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -339,6 +339,16 @@ void AGigLineVehicle::Tick(float DeltaSeconds)
|
||||
B.Origin.X, B.Origin.Y, B.Origin.Z, B.BoxExtent.X, B.BoxExtent.Y, B.BoxExtent.Z);
|
||||
}
|
||||
UE_LOG(LogTemp, Warning, TEXT("GigLine vehicle geometry: %s | %s"), *BoxInfo, *BoundsInfo);
|
||||
if (Body)
|
||||
{
|
||||
const FVector Vel = Body->GetPhysicsLinearVelocity();
|
||||
const FVector Angular = Body->GetPhysicsAngularVelocityInDegrees();
|
||||
UE_LOG(LogTemp, Warning,
|
||||
TEXT("GigLine vehicle motion: velocity %.0f,%.0f,%.0f angular %.0f,%.0f,%.0f "
|
||||
"mass %.0f sim=%d kinematic=%d"),
|
||||
Vel.X, Vel.Y, Vel.Z, Angular.X, Angular.Y, Angular.Z, Body->GetMass(),
|
||||
Body->IsSimulatingPhysics() ? 1 : 0, Body->IsAnySimulatingPhysics() ? 1 : 0);
|
||||
}
|
||||
{
|
||||
const USkeletalMesh* Asset = Body ? Body->GetSkeletalMeshAsset() : nullptr;
|
||||
UE_LOG(LogTemp, Warning, TEXT("GigLine vehicle mesh asset: %s"),
|
||||
|
||||
Reference in new issue
Block a user