Crash when ApplyPhysicalAnimationProfileBelow node and UPhysicalAnimationComponent :: UpdateTargetActors by UPhysicalAnimationComponent :: OnTeleport run in the same frame. Because RuntimeInstanceData is 0 even though DriveData is 1 or more. Therefore, user can avoid the problem by including the check process of RuntimeInstanceData in this code.
void UPhysicalAnimationComponent::UpdateTargetActors(ETeleportType TeleportType) { ... #if WITH_PHYSX FPhysicsCommand::ExecuteWrite(SkeletalMeshComponent, [&]() { TArray<FTransform> LocalTransforms = SkeletalMeshComponent->GetBoneSpaceTransforms(); for (int32 DataIdx = 0; DataIdx < DriveData.Num(); ++DataIdx) { const FPhysicalAnimationData& PhysAnimData = DriveData[DataIdx]; FPhysicalAnimationInstanceData& InstanceData = RuntimeInstanceData[DataIdx];
As far as I know, this only happens in multiplayer.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-92443 in the post.
4 |
Component | UE - Simulation - Physics |
---|---|
Affects Versions | 4.24, 4.25 |
Target Fix | 4.27 |
Created | Apr 24, 2020 |
---|---|
Resolved | Nov 19, 2020 |
Updated | Nov 23, 2020 |