Physics

Windows
MacOS
Linux

Filters

Classes

Name

Description

Public struct

FActorCreationParams

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

FBodySetupShapeIterator

Helper struct for iterating over shapes in a body setup.

Public struct

FCollisionFilterData

Public struct

FConstraintBrokenDelegateData

Public struct

FGenericPhysicsInterface

Public struct

FGeometryAddParams

Public struct

FPhysicsActorHandle_PhysX

Public struct

FPhysicsAggregateHandle_PhysX

Public struct

FPhysicsCommand_PhysX

API to access the physics interface.

Public struct

FPhysicsConstraintHandle_PhysX

Public class

FPhysicsDebugMode

Public struct

FPhysicsFilterBuilder

Public struct

FPhysicsGeometryCollection_PhysX

This object is essentially a one-stop container for any geometry a shape can have and is necessary because of the PxGeometryHolder type.

Public struct

FPhysicsInterface_PhysX

Public struct

FPhysicsMaterialHandle_PhysX

Wrapper for internal PhysX materials

Public struct

FPhysicsShapeHandle_PhysX

Public class

FPhysScene_Base

Public class

FPhysScene_PhysX

Container object for a physics engine 'scene'.

Public struct

FPhysXShapeAdaptor

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

Public struct

FSimulationScratchBuffer

Buffers used as scratch space for PhysX to avoid allocations during simulation

Public class

FSQAccelerator

Public class

FSQAcceleratorEntry

Public class

FSQAcceleratorUnion

Public struct

FSQNode

Public class

ICCDContactModifyCallbackFactory

Interface for the creation of ccd contact modify callbacks.

Public class

IContactModifyCallbackFactory

Interface for the creation of contact modify callbacks.

Public class

IPhysicsReplicationFactory

Interface for the creation of customized physics replication.

Public class

IPhysXCooking

IPhysXCooking, PhysX cooking and serialization abstraction

Public class

IPhysXCookingModule

Interface for PhysX format modules.

Public class

ISimEventCallbackFactory

Interface for the creation of customized simulation event callbacks.

Public class

ISQAccelerator

Constants

Name

Description

NumCollisionChannelBits

Bit counts for Word3 of filter data.

NumFilterDataFlagBits

Typedefs

Name

Description

FInlineShapeArray

Array that is intended for use when fetching shapes from a rigid body.

Enums

Name

Description

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

ECollisionShapeType

Public enum

EPhysXCookingResult

The result of a cooking operation.

Public enum

EPhysXFilterDataFlags

Set of flags stored in the PhysX FilterData

Public enum

EPhysXMeshCookFlags

Public enum

PhysicsInterfaceTypes::

Default number of inlined elements used in FInlineShapeArray.

Public enum

PhysicsInterfaceTypes::EDriveType

Public enum

PhysicsInterfaceTypes::ELimitAxis

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

Convert from physx to unreal capsule rotation

Public function

FQuat

 

ConvertToUECapsuleRot

(
    const FQuat& GeomRot
)

Public function

uint32

 

CreateChannelAndFilter

(
    ECollisionChannel CollisionChannel,
    FMaskFilter MaskFilter
)

Public function

FCollisionFi...

 

CreateQueryFilterData

(
    const uint8 MyChannel,
    const bool bTraceComplex,
    const FCollisionResponseContainer&...,
    const FCollisionQueryParams& Query...,
    const FCollisionObjectQueryParams&...,
    const bool bMultitrace
)

Utility for creating a PhysX PxFilterData for performing a query (trace) against the scene

Public function

void

 

CreateShapeFilterData

(
    const uint8 MyChannel,
    const FMaskFilter MaskFilter,
    const int32 ActorID,
    const FCollisionResponseContainer&...,
    uint32 ComponentID,
    uint16 BodyIndex,
    FCollisionFilterData& OutQueryData,
    FCollisionFilterData& OutSimData,
    bool bEnableCCD,
    bool bEnableContactNotify,
    bool bStaticShape,
    bool bModifyContacts
)

Utility for creating a FCollisionFilterData for filtering query (trace) and sim (physics) from the Unreal filtering info.

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

ECollisionCh...

 

GetCollisionChannel

(
    uint32 Word3
)

Public function

ECollisionCh...

 

GetCollisionChannelAndExtraFilter

(
    uint32 Word3,
    FMaskFilter& OutMaskFilter
)

Public function

uint32

 

GetTypeHash

(
    const FPhysicsShapeHandle_PhysX& I...
)

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

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

EPhysXMeshCo...

 

operator|=

(
    EPhysXMeshCookFlags& Lhs,
    EPhysXMeshCookFlags Rhs
)

Public function

constexpr EP...

 

operator~

(
    EPhysXMeshCookFlags E
)

Public function

ECollisionSh...

 

P2UCollisionShapeType

(
    PxGeometryType::Enum InPType
)

Public function

FCollisionFi...

 

P2UFilterData

(
    const PxFilterData& PFilterData
)

Public function Static

void

 

SetupNonUniformHelper

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

Public function

PxGeometryTy...

 

U2PCollisionShapeType

(
    ECollisionShapeType InUType
)

Public function

PxFilterData

 

U2PFilterData

(
    const FCollisionFilterData& Filter...
)

Public function

void

 

UpdateMaskFilter

(
    uint32& Word3,
    FMaskFilter NewMaskFilter
)

Variables

Name Description

Public variable

PxSimulationFil...

 

GSimulationFilterShader

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