void FConstraintInstance::UpdateDriveTarget() { #if WITH_PHYSX if (PxD6Joint* PJoint = GetUnbrokenJoint()) { FQuat OrientationTargetQuat(AngularOrientationTarget); PJoint->setDrivePosition(PxTransform(U2PVector(LinearPositionTarget), U2PQuat(OrientationTargetQuat))); PJoint->setDriveVelocity(U2PVector(LinearVelocityTarget), U2PVector(RevolutionsToRads(AngularVelocityTarget))); } #endif }
void FConstraintInstance::UpdateDriveTarget() { #if WITH_PHYSX ExecuteOnUnbrokenJointReadWrite([&] (PxD6Joint* Joint) { FQuat OrientationTargetQuat(AngularOrientationTarget); Joint->setDrivePosition(PxTransform(U2PVector(LinearPositionTarget), U2PQuat(OrientationTargetQuat))); Joint->setDriveVelocity(U2PVector(LinearVelocityTarget), U2PVector(RevolutionsToRads(AngularVelocityTarget))); }); #endif }