Unreal Physics - nullstar/SecondBrain GitHub Wiki

Unreal Physics

Read & Write Access

Example to read physics angualr velocity

FBodyInstance* pBodyInstance;
FVector angularVelocity = FVector::ZeroVector; 
FPhysicsCommand::ExecuteRead(pBodyInstance, [&](const FPhysicsActorHandle& handle)
{
	angularVelocity = FPhysicsInterface::GetAngularVelocity_AssumesLocked(handle);
});

Example to set physics angualr velocity

FBodyInstance* pBodyInstance;
FPhysicsCommand::ExecuteWrite(pBodyInstance, [&](const FPhysicsActorHandle& handle)
{
	FPhysicsInterface::SetAngularVelocity_AssumesLocked(handle, FVector::ZeroVector);
});

Cast PhysX actor types

Example to get kinematic target location from rigid dynamic

FBodyInstance* pBodyInstance;
FVector kinematicTargetLocation = FVector::ZeroVector;
FPhysicsCommand::ExecuteRead(pBodyInstance->ActorHandle, [&](const FPhysicsActorHandle& handle)
{
	const physx::PxRigidDynamic* pDynamic = handle.SyncActor->is<physx::PxRigidDynamic>();
	physx::PxTransform kinematicTarget;
	if (pDynamic->getKinematicTarget(kinematicTarget))
	{
		kinematicTargetLocation = P2UVector(kinematicTarget.p);
	}
});

#Unreal #PhysX #Physics

⚠️ **GitHub.com Fallback** ⚠️