Navigation
| Name | PhysicsCore |
| Type | Runtime |
| Location | /Engine/Source/Runtime/PhysicsCore/ |
| Module Build Rules | PhysicsCore.Build.cs |
Classes
| Name | Remarks |
|---|---|
| ChaosFlags | |
| ConstraintSettings | Constraint settings all for generic defaults and scalars to the constraint parameters so that converting between existing (pre v4.26) simulation parameters and Chaos can produce similar simulation results. |
| FBlockAllQueryCallback | |
| FChaosEngineInterface | |
| FChaosScene | Low level Chaos scene used when building custom simulations that don't exist in the main world physics scene. |
| FChaosSQAccelerator | |
| FChaosUserDefinedEntity | |
| FOverlapAllQueryCallback | |
| FPhysicsAggregateReference_Chaos | |
| FPhysicsConstraintReference_Chaos | |
| FPhysicsDelegatesCore | Set of delegates to allowing hooking different parts of the physics engine |
| FPhysicsShapeAdapter_Chaos | |
| FPhysicsShapeReference_Chaos | |
| FSQAcceleratorUnion | |
| PhysicsObjectPhysicsCoreInterface | |
| UBodySetupCore | |
| UChaosPhysicalMaterial | Physical materials are used to define the response of a physical object when interacting dynamically with the world. |
| UDEPRECATED_PhysicalMaterialPropertyBase | This is the PhysicalMaterialPropertyBase which the PhysicalMaterial has. |
| UPhysicalMaterial | Physical materials are used to define the response of a physical object when interacting dynamically with the world. |
| UPhysicsSettingsCore | Default physics settings. |
Structs
| Name | Remarks |
|---|---|
| FActorCreationParams | |
| FBodyCollisionData | Helper object to hold initialisation data for shapes |
| FBodyCollisionFilterData | Helper struct holding physics body filter data during initialisation |
| FBodyCollisionFlags | |
| FBodyInstanceCore | |
| FChaosFilterData | |
| FChaosQueryFilterData | |
| FChaosQueryFlag | |
| FChaosSceneCallbackInput | |
| FChaosSceneSimCallback | |
| FChaosUserData | |
| FChaosUserEntityAppend | This is used to add your own Unreal Engine agnostic user entities to Chaos Physics Results. |
| FCollisionShape | Collision Shapes that supports Sphere, Capsule, Box, or Line |
| FDummyCallback | |
| FDummyPhysActor | |
| FDummyPhysType | |
| FPhysicalMaterialDamageModifier | Damage threshold modifiers, used by the Chaos destruction system |
| FPhysicalMaterialStrength | Defines the directional strengths of a physical material in term of force per surface area |
| FPhysicsGeometryCollection_Chaos | Wrapper around geometry. This is really just needed to make the physx chaos abstraction easier |
| 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) |
| 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) |
| 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) |
| FQueryDebugParams | This is used to add debug data to scene query visitors in non-shipping builds |
| FSQCapture | Allows us to capture a scene query with either physx or chaos and then load it into either format for testing purposes. |
| FTriIndices | Vertex indices necessary to describe the vertices listed in TriMeshCollisionData. |
| FTriMeshCollisionData | Description of triangle mesh collision data necessary for cooking physics data. |
| FTriMeshCollisionDataEstimates | Estimates of triangle mesh collision data necessary for cooking physics data. |
| TBPVisitor | |
| TSQVisitor |
Interfaces
| Name | Remarks |
|---|---|
| ICollisionQueryFilterCallbackBase | |
| IPhysicsCoreModule | Physics Core module interface |
| IPhysicsSQModule | Physics SQ module interface |
| ISQAccelerator | An interface to the scene query accelerator that allows us to run queries against either PhysX or Chaos This was used in the 2019 GDC demos and is now broken. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FCallbackDummy | ChaosInterface::FDummyCallback< T > | PhysicsInterfaceDeclaresCore.h | |
| FChaosQueryFlags | ChaosFlags< FChaosQueryFlag::Enum, uint16 > | PhysicsInterfaceTypesCore.h | |
| FDynamicHitBuffer | ChaosInterface::FSQHitBuffer< T > | PhysicsInterfaceDeclaresCore.h | |
| FHitLocation | ChaosInterface::FLocationHit | PhysicsInterfaceDeclaresCore.h | |
| FHitOverlap | ChaosInterface::FOverlapHit | PhysicsInterfaceDeclaresCore.h | |
| FHitRaycast | ChaosInterface::FRaycastHit | PhysicsInterfaceDeclaresCore.h | |
| FHitSweep | ChaosInterface::FSweepHit | PhysicsInterfaceDeclaresCore.h | |
| FInlineShapeArray | TArray< FPhysicsShapeHandle, TInlineAllocator< NumInlinedPxShapeElements > > | Array that is intended for use when fetching shapes from a rigid body. | Chaos/ChaosEngineInterface.h |
| FPhysActorDummy | ChaosInterface::FDummyPhysActor | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsActor | Chaos::FGeometryParticle | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsActorHandle | Chaos::FSingleParticlePhysicsProxy * | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsAggregateHandle | FPhysicsAggregateReference_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsCapsuleGeometry | Chaos::FCapsule | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsCommand | FPhysInterface_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsConstraintHandle | FPhysicsConstraintReference_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsGeometry | Chaos::FImplicitObject | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsGeometryCollection | FPhysicsGeometryCollection_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsHitCallback | ChaosInterface::FSQHitBuffer< T > | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsInterface | FPhysInterface_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsMaterial | Chaos::FChaosPhysicsMaterial | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsMaterialHandle | Chaos::FMaterialHandle | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsMaterialMask | Chaos::FChaosPhysicsMaterialMask | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsMaterialMaskHandle | Chaos::FMaterialMaskHandle | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsQueryFlag | FChaosQueryFlag | PhysicsInterfaceTypesCore.h | |
| FPhysicsQueryHit | ChaosInterface::FQueryHit | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsShape | Chaos::FPerShapeData | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsShapeAdapter | FPhysicsShapeAdapter_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsShapeHandle | FPhysicsShapeReference_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsTransform | FTransform | PhysicsInterfaceDeclaresCore.h | |
| FPhysicsUserData | FPhysicsUserData_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysScene | FPhysScene_Chaos | PhysicsInterfaceDeclaresCore.h | |
| FPhysTypeDummy | ChaosInterface::FDummyPhysType | PhysicsInterfaceDeclaresCore.h | |
| FQueryFilterData | FChaosQueryFilterData | ChaosInterfaceWrapperCore.h | |
| FSingleHitBuffer | ChaosInterface::FSQSingleHitBuffer< T > | PhysicsInterfaceDeclaresCore.h | |
| FUserData | FChaosUserData | PhysicsInterfaceTypesCore.h |
Enums
Public
| Name | Remarks |
|---|---|
| EAngularConstraintMotion | Specifies angular degrees of freedom |
| EBodyCollisionResponse::Type | |
| EChaosUserDataType::Type | |
| 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 |
| ECollisionQueryHitType | Make sure this matches PxQueryHitType for HitTypeToPxQueryHitType to work |
| ECollisionShape::Type | Types of Collision Shapes that are used by Trace |
| ECollisionShapeType | |
| ECollisionTraceFlag | |
| EConstraintFrame::Type | Enum to indicate which context frame we use for physical constraints |
| EConstraintPlasticityType | LINEAR CCPT. |
| EFrictionCombineMode::Type | |
| ELinearConstraintMotion | LINEAR DOF. |
| EPhysicalMaterialSoftCollisionMode | Soft collision mode for a physical material. |
| EPhysicalSurface | Types of surfaces in the game, used by Physical Materials |
| EPhysicsType | |
| ERadialImpulseFalloff | Enum for controlling the falloff of strength of a radial impulse as a function of distance from Origin. |
| ESleepFamily | Presets of values used in considering when put this body to sleep. |
| PhysicsInterfaceTypes:: | Default number of inlined elements used in FInlineShapeArray. |
| PhysicsInterfaceTypes::EDriveType | |
| PhysicsInterfaceTypes::ELimitAxis |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| AggregateMaxSize | uint32 | TODO: Fixup types, these are more or less the PhysX types renamed as a temporary solution. | PhysicsInterfaceTypesCore.h | |
| ChaosSQDrawDebugVisitorQueries | int32 | SQVisitor.h | ||
| CVarChaosSQDrawDebugQueries | FAutoConsoleVariableRef | SQVisitor.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FCollisionFilterData C2UFilterData
(
const FChaosFilterData& FilterData |
PhysicsInterfaceUtilsCore.h | ||
bool CalcMeshNegScaleCompensation
(
const FVector& InScale3D, |
Util to determine whether to use NegX version of mesh, and what transform (rotation) to apply. | PhysicsInterfaceTypesCore.h | |
Chaos::FGeometryParticle * ChaosInterface::GetActor
(
const FActorShape& Hit |
ChaosInterfaceWrapperCore.h | ||
Chaos::FGeometryParticleHandle * ChaosInterface::GetActor
(
const FPTActorShape& Hit |
ChaosInterfaceWrapperCore.h | ||
HitType * ChaosInterface::GetBlock
(
FSQHitBuffer< HitType >& Callback |
ChaosInterfaceWrapperCore.h | ||
Chaos::FReal ChaosInterface::GetDistance
(
const FLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
Chaos::FReal ChaosInterface::GetDistance
(
const FPTLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
FHitFlags ChaosInterface::GetFlags
(
const FLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
FHitFlags ChaosInterface::GetFlags
(
const FPTLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
FTransform ChaosInterface::GetGlobalPose
(
const FDummyPhysActor& RigidActor |
ChaosInterfaceWrapperCore.h | ||
bool ChaosInterface::GetHasBlock
(
const FSQHitBuffer< HitType >& Callback |
ChaosInterfaceWrapperCore.h | ||
uint32 ChaosInterface::GetInternalFaceIndex
(
const FQueryHit& Hit |
ChaosInterfaceWrapperCore.h | ||
uint32 ChaosInterface::GetInternalFaceIndex
(
const FPTQueryHit& Hit |
ChaosInterfaceWrapperCore.h | ||
uint32 ChaosInterface::GetInvalidPhysicsFaceIndex() |
ChaosInterfaceWrapperCore.h | ||
FVector ChaosInterface::GetNormal
(
const FLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
FVector ChaosInterface::GetNormal
(
const FPTLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
uint32 ChaosInterface::GetNumShapes
(
const FDummyPhysActor& RigidActor |
ChaosInterfaceWrapperCore.h | ||
FVector ChaosInterface::GetPosition
(
const FLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
FVector ChaosInterface::GetPosition
(
const FPTLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
const Chaos::FPerShapeData * ChaosInterface::GetShape
(
const FActorShape& Hit |
ChaosInterfaceWrapperCore.h | ||
const Chaos::FPerShapeData * ChaosInterface::GetShape
(
const FPTActorShape& Hit |
ChaosInterfaceWrapperCore.h | ||
void ChaosInterface::GetShapes
(
const FDummyPhysActor& RigidActor, |
ChaosInterfaceWrapperCore.h | ||
uint32 ChaosInterface::GetTriangleMeshExternalFaceIndex
(
const FDummyPhysType& Shape, |
ChaosInterfaceWrapperCore.h | ||
ECollisionShapeType ChaosInterface::GetType
(
const Chaos::FImplicitObject& InGeometry |
ChaosInterfaceWrapperCore.h | ||
bool ChaosInterface::HadInitialOverlap
(
const FLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
bool ChaosInterface::HadInitialOverlap
(
const FPTLocationHit& Hit |
ChaosInterfaceWrapperCore.h | ||
void ChaosInterface::SetActor
(
FDummyPhysType& Hit, |
ChaosInterfaceWrapperCore.h | ||
void ChaosInterface::SetFlags
(
FLocationHit& Hit, |
ChaosInterfaceWrapperCore.h | ||
void ChaosInterface::SetFlags
(
FPTLocationHit& Hit, |
ChaosInterfaceWrapperCore.h | ||
void ChaosInterface::SetInternalFaceIndex
(
FQueryHit& Hit, |
ChaosInterfaceWrapperCore.h | ||
void ChaosInterface::SetInternalFaceIndex
(
FPTQueryHit& Hit, |
ChaosInterfaceWrapperCore.h | ||
void ChaosInterface::SetShape
(
FDummyPhysType& Hit, |
ChaosInterfaceWrapperCore.h | ||
FPhysicsActorHandle DefaultPhysicsActorHandle() |
PhysicsInterfaceDeclaresCore.h | ||
void FillHitHelper
(
TLocationHit& Hit, |
SQVisitor.h | ||
uint32 FindFaceIndex
(
const FHitLocation& PHit, |
PhysicsInterfaceUtilsCore.h | ||
uint32 FindFaceIndex
(
const ChaosInterface::FPTLocationHit& PHit, |
PhysicsInterfaceUtilsCore.h | ||
bool InitGamePhysCore() |
PhysicsInitialization.h | ||
const TCHAR * LexToString
(
ECollisionTraceFlag Enum |
Helpers to convert enum to string | BodySetupEnums.h | |
const TCHAR * LexToString
(
EPhysicsType Enum |
BodySetupEnums.h | ||
const TCHAR * LexToString
(
EBodyCollisionResponse::Type Enum |
BodySetupEnums.h | ||
void OverlapHelper
(
const QueryGeomType& QueryGeom, |
SQVisitor.h | ||
void SetupNonUniformHelper
(
FVector InScale3D, |
PhysicsInterfaceTypesCore.h | ||
void SetupNonUniformHelper
(
FVector InScale3D, |
PhysicsInterfaceTypesCore.h | ||
void SQPerfComparisonHelper
(
const FString& TestName, |
SQVerifier.h | ||
bool SQValidityHelper
(
FPhysTestSerializer& Serializer |
SQVerifier.h | ||
void SweepHelper
(
const QueryGeomType& QueryGeom, |
SQVisitor.h | ||
void TermGamePhysCore() |
PhysicsInitialization.h | ||
FCollisionFilterData ToUnrealFilterData
(
const FChaosFilterData& FilterData |
PhysicsInterfaceUtilsCore.h | ||
FChaosFilterData U2CFilterData
(
const FCollisionFilterData& FilterData |
PhysicsInterfaceUtilsCore.h | ||
FChaosQueryFlags U2CQueryFlags
(
FQueryFlags Flags |
PhysicsInterfaceTypesCore.h |