PhysicsCore

Windows
MacOS
Linux

Classes

Name

Description

Public struct

FActorCreationParams

Public struct

FActorShape

Public class

FBlockAllQueryCallback

Public struct

FBodyCollisionData

Helper object to hold initialisation data for shapes

Public struct

FBodyCollisionFilterData

Helper struct holding physics body filter data during initialisation

Public struct

FBodyCollisionFlags

Public struct

FCCDContactModifyCallback

Public struct

FCollisionShape

Collision Shapes that supports Sphere, Capsule, Box, or Line

Public struct

FContactModifyCallback

Public struct

FDummyCallback

Public struct

FDummyPhysActor

Public struct

FDummyPhysType

Public class

FDynamicHitBuffer

Todo(ocohen): remove all of this - it's not clear that we care about dynamic dispatch at this layer

Public struct

FHitFlags

Public struct

FLocationHit

Public class

FOverlapAllQueryCallback

Public struct

FOverlapHit

Public struct

FPhysicsOverlapInputAdapater

We use this struct so that if no conversion is needed in another API, we can avoid the copy (if we think that's critical)

Public struct

FPhysicsOverlapInputAdapater

We use this struct so that if no conversion is needed in another API, we can avoid the copy (if we think that's critical)

Public struct

FPhysicsRaycastInputAdapater

We use this struct so that if no conversion is needed in another API, we can avoid the copy (if we think that's critical)

Public struct

FPhysicsRaycastInputAdapater

We use this struct so that if no conversion is needed in another API, we can avoid the copy (if we think that's critical)

Public struct

FPhysicsSweepInputAdapater

We use this struct so that if no conversion is needed in another API, we can avoid the copy (if we think that's critical)

Public struct

FPhysicsSweepInputAdapater

We use this struct so that if no conversion is needed in another API, we can avoid the copy (if we think that's critical)

Public class

FPhysXAllocator

PhysX memory allocator wrapper

Public class

FPhysXCountMemoryStream

Utility wrapper for a PhysX output stream that only counts the memory.

Public class

FPhysXErrorCallback

PhysX output stream wrapper

Public class

FPhysXOutputStream

Utility wrapper for a uint8 TArray for saving into PhysX.

Public struct

FPhysXShapeAdapter

Adapts a FCollisionShape to a PxGeometry type, used for various queries.

Public class

FPhysxSharedData

Utility class to keep track of shared physics data

Public struct

FQueryFlags

Public struct

FQueryHit

Public struct

FRaycastHit

Public class

FSingleHitBuffer

Public struct

FSQCapture

Allows us to capture a scene query with either physx or chaos and then load it into either format for testing purposes.

Public class

FSQHitBuffer

Stores the results of scene queries.

Public class

FSQSingleHitBuffer

Public struct

FSweepHit

Public struct

FTriIndices

Vertex indices necessary to describe the vertices listed in TriMeshCollisionData.

Public struct

FTriMeshCollisionData

Description of triangle mesh collision data necessary for cooking physics data.

Public class

ICollisionQueryFilterCallbackBase

Public class

IPhysicsCoreModule

Physics Core module interface

Public class

IPhysXCooking

IPhysXCooking, PhysX cooking and serialization abstraction

Public class

IPhysXCookingModule

Interface for PhysX format modules.

Public struct

UCollision2PGeom

GEOM CONVERSION we need this helper struct since PhysX needs geoms to be on the stack

Typedefs

Enums

Name

Description

Public enum

EChaosBufferMode

Public enum

EChaosSolverTickMode

Public enum

EChaosThreadingMode

Public enum

ECollisionQuery

Type of query for object type or trace type Trace queries correspond to trace functions with TravelChannel/ResponseParams Object queries correspond to trace functions with Object types

Public enum

ECollisionQueryHitType

Make sure this matches PxQueryHitType for HitTypeToPxQueryHitType to work

Public enum

ECollisionShape::Type

Types of Collision Shapes that are used by Trace

Public enum

ECollisionShapeType

Public enum

EHitFlags

Possible results from a scene query

Public enum

EPhysXCookingResult

The result of a cooking operation.

Public enum

EPhysXMeshCookFlags

Public enum

EQueryFlags

Functions

Name Description

Public function

PxShapeFlags

 

BuildPhysXShapeFlags

(
    FBodyCollisionFlags BodyCollisionFl...,
    bool bPhysicsStatic,
    bool bIsTriangleMesh
)

Public function Static

bool

 

CalcMeshNegScaleCompensation

(
    const FVector& InScale3D,
    FTransform& OutTransform
)

Util to determine whether to use NegX version of mesh, and what transform (rotation) to apply.

Public function

void

 

ChaosInterface::FinishQueryHelper

(
    TArray< HitType >& Hits,
    const HitType& BlockingHit,
    bool bHasBlockingHit
)

Public function

void

 

ChaosInterface::FinishQueryHelper

(
    TArray< FOverlapHit >& Hits,
    const FOverlapHit& BlockingHit,
    bool bHasBlockingHit
)

Public function

Chaos::TGeom...

 

ChaosInterface::GetActor

(
    const FActorShape& Hit
)

Public function

HitType *...

 

ChaosInterface::GetBlock

(
    FSQHitBuffer< HitType >& Callback
)

Public function

float

 

ChaosInterface::GetDistance

(
    const FLocationHit& Hit
)

Public function

FHitFlags

 

ChaosInterface::GetFlags

(
    const FLocationHit& Hit
)

Public function

FTransform

 

ChaosInterface::GetGlobalPose

(
    const FDummyPhysActor& RigidActor
)

Public function

bool

 

ChaosInterface::GetHasBlock

(
    const FSQHitBuffer< HitType >& Cal...
)

Public function

uint32

 

ChaosInterface::GetInternalFaceIndex

(
    const FQueryHit& Hit
)

Public function

uint32

 

ChaosInterface::GetInvalidPhysicsFaceIndex()

Public function

FVector

 

ChaosInterface::GetNormal

(
    const FLocationHit& Hit
)

Public function

uint32

 

ChaosInterface::GetNumShapes

(
    const FDummyPhysActor& RigidActor
)

Public function

FVector

 

ChaosInterface::GetPosition

(
    const FLocationHit& Hit
)

Public function

const Chaos:...

 

ChaosInterface::GetShape

(
    const FActorShape& Hit
)

Public function

void

 

ChaosInterface::GetShapes

(
    const FDummyPhysActor& RigidActor,
    Chaos::FImplicitObject** S...,
    uint32 NumShapes
)

Public function

uint32

 

ChaosInterface::GetTriangleMeshExternalFaceIndex

(
    const FDummyPhysType& Shape,
    uint32 InternalFaceIndex
)

Public function

ECollisionSh...

 

ChaosInterface::GetType

(
    const Chaos::FImplicitObject& InGe...
)

Public function

bool

 

ChaosInterface::HadInitialOverlap

(
    const FLocationHit& Hit
)

Public function

void

 

ChaosInterface::SetActor

(
    FDummyPhysType& Hit,
    FDummyPhysActor* Actor
)

Public function

void

 

ChaosInterface::SetFlags

(
    FLocationHit& Hit,
    FHitFlags Flags
)

Public function

void

 

ChaosInterface::SetInternalFaceIndex

(
    FQueryHit& Hit,
    uint32 FaceIndex
)

Public function

void

 

ChaosInterface::SetShape

(
    FDummyPhysType& Hit,
    Chaos::FImplicitObject* Shape
)

Public function

PxTransform

 

ConvertToPhysXCapsulePose

(
    const FTransform& GeomPose
)

Convert from unreal to physx capsule pose

Public function

FQuat

 

ConvertToPhysXCapsuleRot

(
    const FQuat& GeomRot
)

Convert from unreal to physx capsule rotation

Public function

FQuat

 

ConvertToUECapsuleRot

(
    const PxQuat& GeomRot
)

Convert from physx to unreal capsule rotation

Public function

FQuat

 

ConvertToUECapsuleRot

(
    const FQuat& GeomRot
)

Public function

PxSceneDesc

 

CreateDummyPhysXSceneDescriptor()

Public function

uint32

 

FindFaceIndex

(
    const FHitLocation& PHit,
    const FVector& UnitDirection
)

Find the face index for a given hit. This gives us a chance to modify face index based on things like most opposing normal.

Public function

IPhysXCookin...

 

GetPhysXCookingModule

(
    bool bForceLoad
)

Public function

SIZE_T

 

GetPhysxObjectSize

(
    PxBase* Obj,
    const PxCollection* SharedColl...
)

Returns the in-memory size of the specified object by serializing it.

Public function

bool

 

InitGamePhysCore()

Public function

void

 

ModifyActorFlag

(
    physx::PxActorFlags& Flags,
    const bool bValue
)

Public function

void

 

ModifyActorFlag_Isolated

(
    PxActor* PActor,
    const bool bValue
)

Public function

void

 

ModifyFlag_Default

(
    AGGREGATE_FLAG_TYPE& Flags,
    const FLAG_TYPE FlagToSet,
    const bool bValue
)

Public function

void

 

ModifyRigidBodyFlag

(
    physx::PxRigidBodyFlags& Flags,
    const bool bValue
)

Public function

void

 

ModifyRigidBodyFlag_Isolated

(
    PxRigidBody* PRigidBody,
    const bool bValue
)

Public function

void

 

ModifyShapeFlag

(
    physx::PxShapeFlags& Flags,
    const bool bValue
)

Public function

void

 

ModifyShapeFlag_Isolated

(
    PxShape* PShape,
    const bool bValue
)

Public function

constexpr bo...

 

operator!

(
    EPhysXMeshCookFlags E
)

Public function

constexpr EP...

 

operator&

(
    EPhysXMeshCookFlags Lhs,
    EPhysXMeshCookFlags Rhs
)

Public function

EQueryFlags

 

operator&

(
    EQueryFlags lhs,
    EQueryFlags rhs
)

Public function

EHitFlags

 

operator&

(
    EHitFlags lhs,
    EHitFlags rhs
)

Public function

EPhysXMeshCo...

 

operator&=

(
    EPhysXMeshCookFlags& Lhs,
    EPhysXMeshCookFlags Rhs
)

Public function

constexpr EP...

 

operator^

(
    EPhysXMeshCookFlags Lhs,
    EPhysXMeshCookFlags Rhs
)

Public function

EPhysXMeshCo...

 

operator^=

(
    EPhysXMeshCookFlags& Lhs,
    EPhysXMeshCookFlags Rhs
)

Public function

constexpr EP...

 

operator|

(
    EPhysXMeshCookFlags Lhs,
    EPhysXMeshCookFlags Rhs
)

Public function

EQueryFlags

 

operator|

(
    EQueryFlags lhs,
    EQueryFlags rhs
)

Public function

EHitFlags

 

operator|

(
    EHitFlags lhs,
    EHitFlags rhs
)

Public function

EPhysXMeshCo...

 

operator|=

(
    EPhysXMeshCookFlags& Lhs,
    EPhysXMeshCookFlags Rhs
)

Public function

constexpr EP...

 

operator~

(
    EPhysXMeshCookFlags E
)

Public function

FVector4

 

P2U4BaryCoord

(
    const PxVec3& PVec
)

Convert PhysX Barycentric Vec3 to FVector4

Public function

ECollisionQu...

 

P2UCollisionQueryHitType

(
    PxQueryHitType::Enum HitType
)

Public function

ECollisionSh...

 

P2UCollisionShapeType

(
    PxGeometryType::Enum InPType
)

Public function

FCollisionFi...

 

P2UFilterData

(
    const PxFilterData& PFilterData
)

Public function

ECollisionSh...

 

P2UGeometryType

(
    PxGeometryType::Enum Type
)

Convert PhysX Geometry Type to ECollisionShapeType

Public function

EHitFlags

 

P2UHitFlags

(
    const PxHitFlags& Flags
)

Public function

FMatrix

 

P2UMatrix

(
    const PxMat44& PMat
)

Convert PhysX PxMat44 to Unreal FMatrix

Public function

FPlane

 

P2UPlane

(
    const PxReal P
)

Convert PhysX plane def to Unreal FPlane

Public function

FPlane

 

P2UPlane

(
    const PxPlane& Plane
)

Public function

FQuat

 

P2UQuat

(
    const PxQuat& PQuat
)

Convert PhysX PxQuat to Unreal FQuat

Public function

EQueryFlags

 

P2UQueryFlags

(
    PxQueryFlags Flags
)

Copyright Epic Games, Inc. All Rights Reserved.

Public function

FTransform

 

P2UTransform

(
    const PxTransform& PTM
)

Convert PhysX PxTransform to Unreal PxTransform

Public function

FVector4

 

P2UVector

(
    const PxVec4& PVec
)

Public function

FVector

 

P2UVector

(
    const PxVec3& PVec
)

Convert PhysX PxVec3 to Unreal FVector

Public function

PxRigidActor...

 

PhysXInterface::GetActor

(
    const PxLocationHit& Hit
)

Public function

PxRigidActor...

 

PhysXInterface::GetActor

(
    const PxOverlapHit& Hit
)

Public function

HitType *...

 

PhysXInterface::GetBlock

(
    PxHitCallback< HitType >& Callback
)

Public function

float

 

PhysXInterface::GetDistance

(
    const PxLocationHit& Hit
)

Public function

FHitFlags

 

PhysXInterface::GetFlags

(
    const PxLocationHit& Hit
)

Public function

ECollisionSh...

 

PhysXInterface::GetGeometryType

(
    const PxShape& Shape
)

Public function

PxTransform

 

PhysXInterface::GetGlobalPose

(
    const PxRigidActor& RigidActor
)

Public function

float

 

PhysXInterface::GetHalfHeight

(
    const PxCapsuleGeometry& Capsule
)

Public function

bool

 

PhysXInterface::GetHasBlock

(
    const PxHitCallback< HitType >& Ca...
)

Public function

uint32

 

PhysXInterface::GetInternalFaceIndex

(
    const PxLocationHit& Hit
)

Public function

uint32

 

PhysXInterface::GetInvalidPhysicsFaceIndex()

Public function

PxMaterial &...

 

PhysXInterface::GetMaterialFromInternalFaceIndex

(
    const PxShape& Shape,
    const FPhysicsActor& Actor,
    uint32 InternalFaceIndex
)

Public function

FVector

 

PhysXInterface::GetNormal

(
    const PxLocationHit& Hit
)

Public function

uint32

 

PhysXInterface::GetNumShapes

(
    const PxRigidActor& RigidActor
)

Public function

FVector

 

PhysXInterface::GetPosition

(
    const PxLocationHit& Hit
)

Public function

FCollisionFi...

 

PhysXInterface::GetQueryFilterData

(
    const PxShape& Shape
)

Public function

float

 

PhysXInterface::GetRadius

(
    const PxCapsuleGeometry& Capsule
)

Public function

PxShape *...

 

PhysXInterface::GetShape

(
    const PxLocationHit& Hit
)

Public function

PxShape *...

 

PhysXInterface::GetShape

(
    const PxOverlapHit& Hit
)

Public function

void

 

PhysXInterface::GetShapes

(
    const PxRigidActor& RigidActor,
    PxShape** ShapesBuffer,
    uint32 NumShapes
)

Public function

FCollisionFi...

 

PhysXInterface::GetSimulationFilterData

(
    const PxShape& Shape
)

Public function

uint32

 

PhysXInterface::GetTriangleMeshExternalFaceIndex

(
    const PxShape& Shape,
    uint32 InternalFaceIndex
)

Public function

ECollisionSh...

 

PhysXInterface::GetType

(
    const PxGeometry& Geom
)

Public function

bool

 

PhysXInterface::HadInitialOverlap

(
    const PxLocationHit& Hit
)

Public function

bool

 

PhysXInterface::IsInvalidFaceIndex

(
    PxU32 faceIndex
)

Public function

void

 

PhysXInterface::SetActor

(
    PxActorShape& Hit,
    PxRigidActor* Actor
)

Public function

void

 

PhysXInterface::SetFlags

(
    PxLocationHit& Hit,
    FHitFlags Flags
)

Public function

void

 

PhysXInterface::SetInternalFaceIndex

(
    PxLocationHit& Hit,
    uint32 FaceIndex
)

Public function

void

 

PhysXInterface::SetShape

(
    PxActorShape& Hit,
    PxShape* Shape
)

Public function

FMatrix

 

PTransform2UMatrix

(
    const PxTransform& PTM
)

Convert PhysX PxTransform to Unreal FMatrix

Public function

void

 

PvdConnect

(
    FString Host,
    bool bVisualization
)

Public function

TUniquePtr< ...

 

PxShapeToChaosGeom

(
    PxShape* Shape
)

Convert physx shape to chaos geometry - must be inline because of unique ptr crossing dlls

Public function Static

void

 

SetupNonUniformHelper

(
    FVector InScale3D,
    float& OutMinScale,
    float& OutMinScaleAbs,
    FVector& OutScale3DAbs
)

Public function

void

 

TermGamePhysCore()

Public function

PxQueryHitTy...

 

U2PCollisionQueryHitType

(
    ECollisionQueryHitType HitType
)

Public function

PxGeometryTy...

 

U2PCollisionShapeType

(
    ECollisionShapeType InUType
)

Public function

PxFilterData

 

U2PFilterData

(
    const FCollisionFilterData& Filter...
)

Public function

PxGeometryTy...

 

U2PGeometryType

(
    ECollisionShapeType Type
)

Convert ECollisionShapeType to PhysX Geometry Type

Public function

PxHitFlags

 

U2PHitFlags

(
    const FHitFlags& Flags
)

Public function

PxMat44

 

U2PMatrix

(
    const FMatrix& UTM
)

Convert Unreal FMatrix to PhysX PxMat44

Public function

PxPlane

 

U2PPlane

(
    const FPlane& Plane
)

Convert Unreal FPlane to PhysX plane def

Public function

PxQuat

 

U2PQuat

(
    const FQuat& UQuat
)

Convert Unreal FQuat to PhysX PxQuat

Public function

PxQueryFlags

 

U2PQueryFlags

(
    FQueryFlags Flags
)

Public function

PxTransform

 

U2PTransform

(
    const FTransform& UTransform
)

Convert Unreal FTransform to PhysX PxTransform

Public function

PxVec4

 

U2PVector

(
    const FVector4& UVec
)

Public function

PxVec3

 

U2PVector

(
    const FVector& UVec
)

Convert Unreal FVector to PhysX PxVec3

Public function

PxTransform

 

UMatrix2PTransform

(
    const FMatrix& UTM
)

Convert Unreal FMatrix to PhysX PxTransform

Variables

Name Description

Public variable

TAutoConsoleVar...

 

CVarToleranceScaleLength

Public variable

TAutoConsoleVar...

 

CVarToleranceScaleSpeed

Public variable

nvidia::apex::P...

 

GPhysX3Interface

The default interface is nullptr. This can be set by other modules to get custom behavior

Public variable

FPhysXAllocator...

 

GPhysXAllocator

Pointer to PhysX allocator

Public variable

physx::PxFounda...

 

GPhysXFoundation

Pointer to PhysX Foundation singleton

Public variable

int32

 

GPhysXHackCurrentLoopCounter

Public variable

physx::PxPhysic...

 

GPhysXSDK

Pointer to PhysX SDK object

Public variable

PxPvd *

 

GPhysXVisualDebugger

Pointer to PhysX debugger

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss