I don’t know why but I’m getting this error:
Exception thrown at 0x00007FFFE85C72E7 (PhysX3PROFILE_x64.dll) in UE4Editor.exe: 0xC0000005: Access violation reading location 0x0000000000000000.
At this line: PScene->getActors(PxActorTypeFlag::eRIGID_DYNAMIC, DynamicActors.GetData(), DynamicActorsNum);
Here I’m taking only the Dynamic actors for a test.
Did you do in this way?
PxScene* PScene = GetWorld()->GetPhysicsScene()->GetPhysXScene(PST_Sync);
const PxU32 DynamicActorsNum = PScene->getNbActors(PxActorTypeFlag::eRIGID_DYNAMIC);
TArray<PxActor*> DynamicActors;
DynamicActors.AddUninitialized(DynamicActorsNum);
PScene->getActors(PxActorTypeFlag::eRIGID_DYNAMIC, DynamicActors.GetData(), DynamicActorsNum);
FPhysScene* PS = new FPhysScene();
PxScene* RRPScene = PS->GetPhysXScene(PST_Sync);
PScene->removeActors(DynamicActors.GetData(), DynamicActorsNum);
RRPScene->addActors(DynamicActors.GetData(), DynamicActorsNum);
for (int32 a = 0; a < 2; ++a) {
RRPScene->simulate(1.f / 60.f);
RRPScene->fetchResults(true);
}
RRPScene->removeActors(DynamicActors.GetData(), DynamicActorsNum);
PScene->addActors(DynamicActors.GetData(), DynamicActorsNum);
delete PS;
PS = nullptr;