Download

Features missing in the new Physics Interface

There are some physics features missing from the new generic PhysicsInterface that prevent a project of mine from fully converting to the generic front end.

Specifically the FPhysicsConstraintReference equivalents of:


PxJoint::getActors(PxRigidActor*& actor0, PxRigidActor*& actor1)
PxJoint::setActors(PxRigidActor* actor0, PxRigidActor* actor1)

are missing entirely.

Also something that may be more important to me personally is:


const bool bDrivesUseAcceleration = true;

Which is defaulting to PxD6JointDrive’s always being made with PxD6JointDriveFlag::eACCELERATION being enabled in PhysicsInterfacePhysX. There does not appear to be anywhere that I can override this currently without going in and manually fixing it directly through the Physx api?

Also the PhysxScene_Physx has the following function in it, but its not tagged as ENGINE_API (neither is its struct) so its inaccessible.


 void AddActorsToScene_AssumesLocked(const TArray<FPhysicsActorHandle>& InActors);

One last (minor) thing:

FConstraintDrive only has a default constructor, it is a fairly light struct and having a property constructor would really clean up the drive creation.

I waited around until 4.23 branched off to make sure that these weren’t just delayed implementations but they are still missing from browsing on Github so I figured that I would bring them up now.

Added a note about a missing ENGINE_API tag for the physx scene