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

FCollisionFilterData

Public struct

FCollisionShape

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

Public struct

FContactModifyCallback

Public struct

FHitFlags

Public struct

FLocationHit

Public struct

FOverlapHit

Public class

FPhysTestSerializer

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

FPhysXShapeAdaptor

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 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 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 class

TImplicitObject

Public class

TPBDRigidsEvolutionGBF

Public struct

UCollision2PGeom

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

Typedefs

Name

Description

FParticlesType

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

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 FQuat& GeomRot
)

Public function

FQuat

 

ConvertToUECapsuleRot

(
    const PxQuat& GeomRot
)

Convert from physx to unreal capsule rotation

Public function

PxSceneDesc

 

CreateDummyPhysXSceneDescriptor()

Public function

PxU32

 

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

float

 

GetDistance

(
    const FLocationHit& Hit
)

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

EHitFlags

 

operator&

(
    EHitFlags lhs,
    EHitFlags rhs
)

Public function

EQueryFlags

 

operator&

(
    EQueryFlags lhs,
    EQueryFlags 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

EPhysXMeshCo...

 

operator^=

(
    EPhysXMeshCookFlags& Lhs,
    EPhysXMeshCookFlags Rhs
)

Public function

EHitFlags

 

operator|

(
    EHitFlags lhs,
    EHitFlags rhs
)

Public function

EQueryFlags

 

operator|

(
    EQueryFlags lhs,
    EQueryFlags rhs
)

Public function

constexpr EP...

 

operator|

(
    EPhysXMeshCookFlags Lhs,
    EPhysXMeshCookFlags 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

FMatrix

 

P2UMatrix

(
    const PxMat44& PMat
)

Convert PhysX PxMat44 to Unreal FMatrix

Public function

FPlane

 

P2UPlane

(
    const PxPlane& Plane
)

Public function

FPlane

 

P2UPlane

(
    const PxReal P
)

Convert PhysX plane def to Unreal FPlane

Public function

FQuat

 

P2UQuat

(
    const PxQuat& PQuat
)

Convert PhysX PxQuat to Unreal FQuat

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

FMatrix

 

PTransform2UMatrix

(
    const PxTransform& PTM
)

Convert PhysX PxTransform to Unreal FMatrix

Public function

void

 

PvdConnect

(
    FString Host,
    bool bVisualization
)

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

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

PxTransform

 

U2PTransform

(
    const FTransform& UTransform
)

Convert Unreal FTransform to PhysX PxTransform

Public function

PxVec3

 

U2PVector

(
    const FVector& UVec
)

Convert Unreal FVector to PhysX PxVec3

Public function

PxVec4

 

U2PVector

(
    const FVector4& UVec
)

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

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback