|
| | DEFINE_LOG_CATEGORY_STATIC (UGCC_LOG, Error, All) |
| |
| template<typename TLambda > |
| void | ExecuteOnPhysicsThread (FGeometryCollectionPhysicsProxy &Proxy, TLambda &&Lambda) |
| |
| TUniquePtr< Chaos::FTriangleMesh > | CreateTriangleMesh (const int32 FaceStart, const int32 FaceCount, const TManagedArray< bool > &Visible, const TManagedArray< FIntVector > &Indices, bool bRotateWinding) |
| |
| TArray< int32 > | ComputeTransformToGeometryMap (const FGeometryCollection &Collection) |
| |
| void | SetImplicitToPTParticles (Chaos::TPBDRigidParticleHandle< Chaos::FReal, 3 > *Handle, const FSharedSimulationParameters &SharedParams, const FCollisionStructureManager::FSimplicial *Simplicial, Chaos::FImplicitObjectPtr Implicit, const FCollisionFilterData SimFilterIn, const FCollisionFilterData QueryFilterIn, const FTransform &WorldTransform, float CollisionParticlesPerObjectFraction) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FGeometryCollectionPhysicsProxy::PopulateSimulatedParticle"), STAT_PopulateSimulatedParticle, STATGROUP_Chaos) |
| |
| void | PopulateSimulatedParticle (Chaos::TPBDRigidParticleHandle< Chaos::FReal, 3 > *Handle, const FSharedSimulationParameters &SharedParams, const FCollisionStructureManager::FSimplicial *Simplicial, Chaos::FImplicitObjectPtr Implicit, const FCollisionFilterData SimFilterIn, const FCollisionFilterData QueryFilterIn, Chaos::FReal MassIn, Chaos::TVec3< Chaos::FRealSingle > InertiaTensorVec, const FTransform &WorldTransform, const uint8 DynamicState, const int16 CollisionGroup, float CollisionParticlesPerObjectFraction) |
| |
| CHAOS_API bool | GeometryCollectionPhysicsProxy::Private::BuildGeometryForChildrenOnPT (const FSimulationParameters &Params) |
| |
| bool | GeometryCollectionPhysicsProxy::Private::BuildGeometryForChildrenOnGT (const FSimulationParameters &Params) |
| |
| bool | GeometryCollectionPhysicsProxy::Private::CreateGTParticleForChildren (const FSimulationParameters &Params) |
| |
| bool | GeometryCollectionPhysicsProxy::Private::RemoveImplicitsInDynamicCollections (const FSimulationParameters &Params) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FGeometryCollectionPhysicsProxy::BuildClusters"), STAT_BuildClusters, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FGeometryCollectionPhysicsProxy::BuildClusters:GlobalMatrices"), STAT_BuildClustersGlobalMatrices, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FGeometryCollectionPhysicsProxy::SetUseStaticMeshCollisionForTraces_External"), STAT_SetUseStaticMeshCollisionForTraces_External, STATGROUP_Chaos) |
| |
| | DECLARE_CYCLE_STAT (TEXT("FGeometryCollectionPhysicsProxy::UpdatePerParticleFilterData_External"), STAT_GeometryCollectionPhysicsProxyUpdatePerParticleFilterData, STATGROUP_Chaos) |
| |
| void | IdentifySimulatableElements (Chaos::FErrorReporter &ErrorReporter, FGeometryCollection &GeometryCollection) |
| |
| void | BuildSimulationData (Chaos::FErrorReporter &ErrorReporter, FGeometryCollection &GeometryCollection, const FSharedSimulationParameters &SharedParams) |
| |
|
| float | CollisionParticlesPerObjectFractionDefault = 1.0f |
| |
| FAutoConsoleVariableRef | CVarCollisionParticlesPerObjectFractionDefault (TEXT("p.CollisionParticlesPerObjectFractionDefault"), CollisionParticlesPerObjectFractionDefault, TEXT("Fraction of verts")) |
| |
| bool | DisableGeometryCollectionGravity = false |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionDisableGravity (TEXT("p.GeometryCollectionDisableGravity"), DisableGeometryCollectionGravity, TEXT("Disable gravity for geometry collections")) |
| |
| bool | GeometryCollectionCollideAll = false |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionCollideAll (TEXT("p.GeometryCollectionCollideAll"), GeometryCollectionCollideAll, TEXT("Bypass the collision matrix and make geometry collections collide against everything")) |
| |
| bool | bGeometryCollectionEnabledNestedChildTransformUpdates = true |
| |
| FAutoConsoleVariableRef | CVarEnabledNestedChildTransformUpdates (TEXT("p.GeometryCollection.EnabledNestedChildTransformUpdates"), bGeometryCollectionEnabledNestedChildTransformUpdates, TEXT("Enable updates for driven, disabled, child bodies. Used for line trace results against geometry collections.[def: true]")) |
| |
| bool | bGeometryCollectionAlwaysGenerateGTCollisionForClusters = true |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionAlwaysGenerateGTCollisionForClusters (TEXT("p.GeometryCollection.AlwaysGenerateGTCollisionForClusters"), bGeometryCollectionAlwaysGenerateGTCollisionForClusters, TEXT("When enabled, always generate a game thread side collision for clusters.[def: true]")) |
| |
| bool | bGeometryCollectionAlwaysGenerateConnectionGraph = false |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionAlwaysGenerateConnectionGraph (TEXT("p.GeometryCollection.AlwaysGenerateConnectionGraph"), bGeometryCollectionAlwaysGenerateConnectionGraph, TEXT("When enabled, always generate the cluster's connection graph instead of using the rest collection stored one - Note: this should only be used for troubleshooting.[def: false]")) |
| |
| int32 | GeometryCollectionAreaBasedDamageThresholdMode = 0 |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionAreaBasedDamageThresholdMode (TEXT("p.GeometryCollection.AreaBasedDamageThresholdMode"), GeometryCollectionAreaBasedDamageThresholdMode, TEXT("Area based damage threshold computation mode (0: sum of areas | 1: max of areas | 2: min of areas | 3: average of areas) [def: 0]")) |
| |
| int32 | GeometryCollectionLocalInertiaDropOffDiagonalTerms = 0 |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionLocalInertiaDropOffDiagonalTerms (TEXT("p.GeometryCollection.LocalInertiaDropOffDiagonalTerms"), GeometryCollectionLocalInertiaDropOffDiagonalTerms, TEXT("When true, force diagonal inertia for GCs in their local space by simply dropping off-diagonal terms")) |
| |
| float | GeometryCollectionTransformTolerance = 0.001f |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionTransformTolerance (TEXT("p.GeometryCollection.TransformTolerance"), GeometryCollectionTransformTolerance, TEXT("Tolerance to detect if a transform has changed")) |
| |
| float | GeometryCollectionPositionUpdateTolerance = UE_KINDA_SMALL_NUMBER |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionPositionUpdateTolerance (TEXT("p.GeometryCollection.PositionUpdateTolerance"), GeometryCollectionPositionUpdateTolerance, TEXT("Tolerance to detect if particle position has changed has changed when syncing PT to GT")) |
| |
| float | GeometryCollectionRotationUpdateTolerance = UE_KINDA_SMALL_NUMBER |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionRotationUpdateTolerance (TEXT("p.GeometryCollection.RotationUpdateTolerance"), GeometryCollectionRotationUpdateTolerance, TEXT("Tolerance to detect if particle rotation has changed has changed when syncing PT to GT")) |
| |
| bool | bGeometryCollectionUseRootBrokenFlag = true |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionUseRootBrokenFlag (TEXT("p.GeometryCollection.UseRootBrokenFlag"), bGeometryCollectionUseRootBrokenFlag, TEXT("If enabled, check if the root transform is broken in the proxy and disable the GT particle if so. Should be enabled - cvar is a failsafe to revert behaviour")) |
| |
| bool | bPropagateInternalClusterDisableFlagToChildren = true |
| |
| FAutoConsoleVariableRef | CVarPropagateInternalClusterDisableFlagToChildren (TEXT("p.GeometryCollection.PropagateInternalClusterDisableFlagToChildren"), bPropagateInternalClusterDisableFlagToChildren, TEXT("If enabled, disabled internal clusters will propagate their disabled flag to their children when buffering instead of implicitly activating the children.")) |
| |
| bool | bGeometryCollectionScaleClusterGeometry = true |
| |
| FAutoConsoleVariableRef | CVarGeometryCollectionScaleClusterGeometry (TEXT("p.GeometryCollection.ScaleClusterGeometry"), bGeometryCollectionScaleClusterGeometry, TEXT("If enabled, update the cluster geometry if the scale has changed")) |
| |
| bool | bEmptyUniqueIndicesOnGT = false |
| |
| FAutoConsoleVariableRef | CVarEmptyUniqueIndicesOnGT (TEXT("p.GeometryCollection.EmptyUniqueIndicesOnGT"), bEmptyUniqueIndicesOnGT, TEXT("If enabled, immediately free particle unique indices after particle initialisation")) |
| |
| int32 | ForceOverrideGCCollisionSetupForTraces = GCCSFT_Property |
| |
| FAutoConsoleVariableRef | CVarForceOverrideGCCollisionSetupForTraces (TEXT("p.GeometryCollection.ForceOverrideGCCollisionSetupForTraces"), ForceOverrideGCCollisionSetupForTraces, TEXT("Force the usage of a specific type of collision for traces on the game thread when creating new GC physics representations (-1: use the value of the property | 0: force to use SM collision | 1: force to use GC collision) [def: -1]")) |
| |
| float | ReportHighParticleFraction = -1.f |
| |
| FAutoConsoleVariableRef | CVarReportHighParticleFraction (TEXT("p.gc.ReportHighParticleFraction"), ReportHighParticleFraction, TEXT("Report any objects with particle fraction above this threshold")) |
| |
| bool | bBuildGeometryForChildrenOnPT = true |
| |
| FAutoConsoleVariableRef | CVarbBuildGeometryForChildrenOnPT (TEXT("p.gc.BuildGeometryForChildrenOnPT"), bBuildGeometryForChildrenOnPT, TEXT("DEPRECATED : use the 'Optimize For Memory' option from project settings instead - " "If true build all children geometry on Physics Thread at initilaization time, otherwise wait until destruction occurs.")) |
| |
| bool | bBuildGeometryForChildrenOnGT = true |
| |
| FAutoConsoleVariableRef | CVarbBuildGeometryForChildrenOnGT (TEXT("p.gc.BuildGeometryForChildrenOnGT"), bBuildGeometryForChildrenOnGT, TEXT("DEPRECATED : use the 'Optimize For Memory' option from project settings instead - " "If true build all children geometry on Game Thread at initilaization time, otherwise wait until destruction occurs.")) |
| |
| bool | bCreateGTParticleForChildren = true |
| |
| FAutoConsoleVariableRef | CVarCreateGTParticleForChildren (TEXT("p.gc.CreateGTParticlesForChildren"), bCreateGTParticleForChildren, TEXT("DEPRECATED : use the 'Optimize For Memory' option from project settings instead - " "If true create all children particles at initilaization time, otherwise wait until destruction occurs.")) |
| |
| bool | bRemoveImplicitsInDynamicCollections = false |
| |
| FAutoConsoleVariableRef | CVarbRemoveImplicitsInDynamicCollections (TEXT("p.gc.RemoveImplicitsInDynamicCollections"), bRemoveImplicitsInDynamicCollections, TEXT("DEPRECATED : use the 'Optimize For Memory' option from project settings instead - " "This cvar has an impact only if geometry are not added for children. It removes implicits from the Dynamic Collections, and recreate then from the rest collection. " "Using this cvar could have an impact if geometry are updated from the dynamic collection on the GT, then those changes won't be ported to the PT.")) |
| |
| int32 | ReportTooManyChildrenNum = -1 |
| |
| FAutoConsoleVariableRef | CVarReportTooManyChildrenNum (TEXT("p.ReportTooManyChildrenNum"), ReportTooManyChildrenNum, TEXT("Issue warning if more than this many children exist in a single cluster")) |
| |
| int32 | ReportNoLevelsetCluster = 0 |
| |
| FAutoConsoleVariableRef | CVarReportNoLevelsetCluster (TEXT("p.gc.ReportNoLevelsetCluster"), ReportNoLevelsetCluster, TEXT("Report any cluster objects without levelsets")) |
| |
| int32 | GlobalMaxSimulatedLevel = 100 |
| |
| FAutoConsoleVariableRef | CVarGlobalMaxSimulatedLevel (TEXT("p.gc.GlobalMaxSimulatedLevel"), GlobalMaxSimulatedLevel, TEXT("Allow to set the Global Maximum Simulated Level for Geoemtry Collection. The min between the MaxSimulatedLevel and the GlobalMaxSimulatedLevel will be used. ")) |
| |