UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GeometryCollectionSimulationCoreTypes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Field/FieldSystem.h"
13
16
17
32
43
44
45
65
81
82//
83//
84//
86
87
92{
94 : MinimumMassClamp(0.1f) // todo : Expose to users with better initial values
95 , MaximumMassClamp(1e5f) // todo : Expose to users with better initial values
96 , MinimumBoundingExtentClamp(0.1f) // todo : Expose to users with better initial values
97 , MaximumBoundingExtentClamp(1e6f) // todo : Expose to users with better initial values
98 , MinimumInertiaTensorDiagonalClamp(UE_SMALL_NUMBER) // todo : Expose to users with better initial values
99 , MaximumInertiaTensorDiagonalClamp(1e20f) // todo : Expose to users with better initial values
101 , Mass(1.0f)
104 {
106 }
107
114 ,bool InMassAsDensity
115 ,float InMass
116 , float InMinimumMassClamp
117 , float InMaximumMassClamp
133 , Mass(InMass)
136 {
138 if (ensure(SizeSpecificData.Num() && SizeSpecificData[0].CollisionShapesData.Num()))
139 {
140 SizeSpecificData[0].CollisionShapesData[0].CollisionType = InCollisionType;
141 SizeSpecificData[0].CollisionShapesData[0].ImplicitType = InImplicitType;
142 SizeSpecificData[0].CollisionShapesData[0].CollisionMarginFraction = InCollisionMarginFraction;
143 SizeSpecificData[0].CollisionShapesData[0].LevelSetData.MinLevelSetResolution = InMinLevelSetResolution;
144 SizeSpecificData[0].CollisionShapesData[0].LevelSetData.MaxLevelSetResolution = InMaxLevelSetResolution;
145 SizeSpecificData[0].CollisionShapesData[0].LevelSetData.MinClusterLevelSetResolution = InMinClusterLevelSetResolution;
146 SizeSpecificData[0].CollisionShapesData[0].LevelSetData.MaxClusterLevelSetResolution = InMaxClusterLevelSetResolution;
147 SizeSpecificData[0].CollisionShapesData[0].CollisionParticleData.CollisionParticlesFraction = InCollisionParticlesFraction;
148 SizeSpecificData[0].CollisionShapesData[0].CollisionParticleData.MaximumCollisionParticles = InMaximumCollisionParticleCount;
149 }
150 }
151
160 float Mass;
163
166};
167
168#define SIMULATIONPARAMETERS_CACHE_PARAMETERS 1
169
171{
173 : Name("")
175 , RestCollection(nullptr)
177 , RestCollectionShared(nullptr)
178 , WorldTransform(FTransform::Identity)
179 , DamageThreshold({ 500000.f, 50000.f, 5000.f })
182 , MaxClusterLevel(100)
183 , MaxSimulatedLevel(100)
185 , InitialVelocityType(EInitialVelocityTypeEnum::Chaos_Initial_Velocity_None)
186 , DamageModel(EDamageModelTypeEnum::Chaos_Damage_Model_UserDefined_Damage_Threshold)
190 , CollisionGroup(0)
195 , Simulating(false)
196 , EnableClustering(true)
200 , StartAwake(true)
202 , bGenerateBreakingData(false)
204 , bGenerateTrailingData(false)
211 , EnableGravity(true)
213 , UseCCD(false)
214 , UseMACD(false)
218 , bOptimizeConvexes(true)
220 , bUseDamagePropagation(false)
227 , LinearDamping(0.01f)
228 , AngularDamping(0)
235 , UserData(nullptr)
236#if SIMULATIONPARAMETERS_CACHE_PARAMETERS
238 , RecordedTrack(nullptr)
239 , CacheBeginTime(0.0f)
242 , bClearCache(false)
243 , bOwnsTrack(false)
245#endif
246 {}
247
249 : Name(Other.Name)
324#endif
325
326 {
327 }
328
330 {
331#if SIMULATIONPARAMETERS_CACHE_PARAMETERS
333 if (bOwnsTrack)
334 {
335 delete const_cast<FRecordedTransformTrack*>(RecordedTrack);
336 }
338#endif
339 }
340
341 FString Name;
342
343 UE_DEPRECATED(5.4, "Raw pointer no longer in use, instead prefer RestCollectionShared")
345
348
351
353
355
360
362
364
367
369 Chaos::EDamageEvaluationModel DamageEvaluationModel;
370
371 Chaos::FClusterCreationParameters::EConnectionMethod ClusterConnectionMethod;
373
376
379
381
383
384 bool Simulating : 1;
389 bool StartAwake : 1;
391
397
402
405 bool UseCCD : 1;
406 bool UseMACD : 1;
412
415
419
422
427
430
433
434 void* UserData;
435
436#if SIMULATIONPARAMETERS_CACHE_PARAMETERS
437 UE_DEPRECATED(5.5, "No longer used")
439
440 UE_DEPRECATED(5.5, "No longer used")
442
443 UE_DEPRECATED(5.5, "No longer used")
445
446 UE_DEPRECATED(5.5, "No longer used")
448
449 UE_DEPRECATED(5.5, "No longer used")
450 bool bClearCache : 1;
451
452 UE_DEPRECATED(5.5, "No longer used")
453 bool bOwnsTrack : 1;
454
455 UE_DEPRECATED(5.5, "No longer used and underlying variable is deprecated")
462
463 UE_DEPRECATED(5.5, "No longer used and underlying variable is deprecated")
470#endif
471};
#define ensure( InExpression)
Definition AssertionMacros.h:464
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
ESimulationInitializationState
Definition GeometryCollectionSimulationCoreTypes.h:85
#define SIMULATIONPARAMETERS_CACHE_PARAMETERS
Definition GeometryCollectionSimulationCoreTypes.h:168
EDamageModelTypeEnum
Definition GeometryCollectionSimulationTypes.h:112
ECollisionTypeEnum
Definition GeometryCollectionSimulationTypes.h:12
EObjectStateTypeEnum
Definition GeometryCollectionSimulationTypes.h:34
EInitialVelocityTypeEnum
Definition GeometryCollectionSimulationTypes.h:90
EImplicitTypeEnum
Definition GeometryCollectionSimulationTypes.h:21
#define FVector
Definition IOSSystemIncludes.h:8
const bool
Definition NetworkReplayStreaming.h:178
EGeometryCollectionCacheType
Definition RecordedTransformTrack.h:194
#define UE_SMALL_NUMBER
Definition UnrealMathUtility.h:130
if(Failed) console_printf("Failed.\n")
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition FieldSystem.h:522
Definition GeometryCollection.h:32
Definition GeometryCollectionProxyData.h:90
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
SizeType AddDefaulted()
Definition Array.h:2795
Definition SharedPointer.h:692
Definition SkeletalMeshComponent.h:307
@ false
Definition radaudio_common.h:23
@ PointImplicit
Definition ClusterCreationParameters.h:17
Definition GeometryCollectionSimulationCoreTypes.h:34
float CollisionParticlesFraction
Definition GeometryCollectionSimulationCoreTypes.h:40
int32 MaximumCollisionParticles
Definition GeometryCollectionSimulationCoreTypes.h:41
FCollectionCollisionParticleData()
Definition GeometryCollectionSimulationCoreTypes.h:35
Definition GeometryCollectionSimulationCoreTypes.h:47
EImplicitTypeEnum ImplicitType
Definition GeometryCollectionSimulationCoreTypes.h:59
ECollisionTypeEnum CollisionType
Definition GeometryCollectionSimulationCoreTypes.h:58
FCollectionCollisionTypeData()
Definition GeometryCollectionSimulationCoreTypes.h:48
FCollectionCollisionParticleData CollisionParticleData
Definition GeometryCollectionSimulationCoreTypes.h:61
FCollectionLevelSetData LevelSetData
Definition GeometryCollectionSimulationCoreTypes.h:60
float CollisionObjectReductionPercentage
Definition GeometryCollectionSimulationCoreTypes.h:62
float CollisionMarginFraction
Definition GeometryCollectionSimulationCoreTypes.h:63
Definition GeometryCollectionSimulationCoreTypes.h:19
int32 MinLevelSetResolution
Definition GeometryCollectionSimulationCoreTypes.h:27
int32 MaxClusterLevelSetResolution
Definition GeometryCollectionSimulationCoreTypes.h:30
int32 MinClusterLevelSetResolution
Definition GeometryCollectionSimulationCoreTypes.h:29
FCollectionLevelSetData()
Definition GeometryCollectionSimulationCoreTypes.h:20
int32 MaxLevelSetResolution
Definition GeometryCollectionSimulationCoreTypes.h:28
Definition CollisionFilterData.h:46
Definition RecordedTransformTrack.h:273
Definition GeometryCollectionSimulationCoreTypes.h:92
float MaximumInertiaTensorDiagonalClamp
Definition GeometryCollectionSimulationCoreTypes.h:158
float MinimumMassClamp
Definition GeometryCollectionSimulationCoreTypes.h:153
float MaximumMassClamp
Definition GeometryCollectionSimulationCoreTypes.h:154
FSharedSimulationParameters()
Definition GeometryCollectionSimulationCoreTypes.h:93
float MinimumVolumeClamp() const
Definition GeometryCollectionSimulationCoreTypes.h:164
float MaximumVolumeClamp() const
Definition GeometryCollectionSimulationCoreTypes.h:165
float MaximumBoundingExtentClamp
Definition GeometryCollectionSimulationCoreTypes.h:156
FSharedSimulationParameters(ECollisionTypeEnum InCollisionType, EImplicitTypeEnum InImplicitType, int32 InMinLevelSetResolution, int32 InMaxLevelSetResolution, int32 InMinClusterLevelSetResolution, int32 InMaxClusterLevelSetResolution, bool InMassAsDensity, float InMass, float InMinimumMassClamp, float InMaximumMassClamp, float InMinimumBoundingExtentClamp, float InMaximumBoundingExtentClamp, float InMinimumInertiaTensorDiagonalClamp, float InMaximumInertiaTensorDiagonalClamp, float InCollisionParticlesFraction, int32 InMaximumCollisionParticleCount, float InCollisionMarginFraction, bool InUseImportedCollisionImplicits)
Definition GeometryCollectionSimulationCoreTypes.h:108
bool bMassAsDensity
Definition GeometryCollectionSimulationCoreTypes.h:161
TArray< FSharedSimulationSizeSpecificData > SizeSpecificData
Definition GeometryCollectionSimulationCoreTypes.h:152
bool bUseImportedCollisionImplicits
Definition GeometryCollectionSimulationCoreTypes.h:162
float Mass
Definition GeometryCollectionSimulationCoreTypes.h:160
int32 MaximumCollisionParticleCount
Definition GeometryCollectionSimulationCoreTypes.h:159
float MinimumInertiaTensorDiagonalClamp
Definition GeometryCollectionSimulationCoreTypes.h:157
float MinimumBoundingExtentClamp
Definition GeometryCollectionSimulationCoreTypes.h:155
Definition GeometryCollectionSimulationCoreTypes.h:67
bool operator<(const FSharedSimulationSizeSpecificData &Rhs) const
Definition GeometryCollectionSimulationCoreTypes.h:79
float DamageThreshold
Definition GeometryCollectionSimulationCoreTypes.h:76
TArray< FCollectionCollisionTypeData > CollisionShapesData
Definition GeometryCollectionSimulationCoreTypes.h:77
float MaxSize
Definition GeometryCollectionSimulationCoreTypes.h:75
FSharedSimulationSizeSpecificData()
Definition GeometryCollectionSimulationCoreTypes.h:68
Definition GeometryCollectionSimulationCoreTypes.h:171
FSimulationParameters()
Definition GeometryCollectionSimulationCoreTypes.h:172
FString Name
Definition GeometryCollectionSimulationCoreTypes.h:341
float ReverseCacheBeginTime
Definition GeometryCollectionSimulationCoreTypes.h:444
bool IsCacheRecording()
Definition GeometryCollectionSimulationCoreTypes.h:456
uint8 VelocitySolverIterations
Definition GeometryCollectionSimulationCoreTypes.h:417
uint8 ProjectionSolverIterations
Definition GeometryCollectionSimulationCoreTypes.h:418
uint8 PositionSolverIterations
Definition GeometryCollectionSimulationCoreTypes.h:416
bool bOptimizeForRuntimeMemory
Definition GeometryCollectionSimulationCoreTypes.h:414
const FGeometryCollection * RestCollection
Definition GeometryCollectionSimulationCoreTypes.h:344
bool bGenerateGlobalCrumblingChildrenData
Definition GeometryCollectionSimulationCoreTypes.h:401
EInitialVelocityTypeEnum InitialVelocityType
Definition GeometryCollectionSimulationCoreTypes.h:363
bool bUseSizeSpecificDamageThresholds
Definition GeometryCollectionSimulationCoreTypes.h:386
bool bClearCache
Definition GeometryCollectionSimulationCoreTypes.h:450
int32 CollisionGroup
Definition GeometryCollectionSimulationCoreTypes.h:374
TSharedPtr< const FGeometryCollection > RestCollectionShared
Definition GeometryCollectionSimulationCoreTypes.h:346
float MaterialOverrideMassScaleMultiplier
Definition GeometryCollectionSimulationCoreTypes.h:382
bool UseMACD
Definition GeometryCollectionSimulationCoreTypes.h:406
float ConnectionGraphBoundsFilteringMargin
Definition GeometryCollectionSimulationCoreTypes.h:372
int32 InitialRootIndex
Definition GeometryCollectionSimulationCoreTypes.h:356
float BreakDamagePropagationFactor
Definition GeometryCollectionSimulationCoreTypes.h:420
bool bForceUpdateActiveTransforms
Definition GeometryCollectionSimulationCoreTypes.h:390
bool bGenerateCollisionData
Definition GeometryCollectionSimulationCoreTypes.h:393
int16 MaxSimulatedLevel
Definition GeometryCollectionSimulationCoreTypes.h:359
bool IsCachePlaying()
Definition GeometryCollectionSimulationCoreTypes.h:464
bool bUseStaticMeshCollisionForTraces
Definition GeometryCollectionSimulationCoreTypes.h:409
void * UserData
Definition GeometryCollectionSimulationCoreTypes.h:434
bool EnableGravity
Definition GeometryCollectionSimulationCoreTypes.h:403
bool bGenerateGlobalCrumblingData
Definition GeometryCollectionSimulationCoreTypes.h:400
bool bGenerateGlobalCollisionData
Definition GeometryCollectionSimulationCoreTypes.h:399
FCollisionFilterData QueryFilterData
Definition GeometryCollectionSimulationCoreTypes.h:432
float ShockDamagePropagationFactor
Definition GeometryCollectionSimulationCoreTypes.h:421
bool UseCCD
Definition GeometryCollectionSimulationCoreTypes.h:405
EGeometryCollectionCacheType CacheType
Definition GeometryCollectionSimulationCoreTypes.h:447
FVector3f InitialLinearVelocity
Definition GeometryCollectionSimulationCoreTypes.h:377
TArray< FFieldSystemCommand > InitializationCommands
Definition GeometryCollectionSimulationCoreTypes.h:352
TArray< float > DamageThreshold
Definition GeometryCollectionSimulationCoreTypes.h:354
Chaos::FClusterCreationParameters::EConnectionMethod ClusterConnectionMethod
Definition GeometryCollectionSimulationCoreTypes.h:371
float AngularDamping
Definition GeometryCollectionSimulationCoreTypes.h:424
bool bOptimizeConvexes
Definition GeometryCollectionSimulationCoreTypes.h:410
bool StartAwake
Definition GeometryCollectionSimulationCoreTypes.h:389
int32 OneWayInteractionLevel
Definition GeometryCollectionSimulationCoreTypes.h:429
bool bGenerateGlobalBreakingData
Definition GeometryCollectionSimulationCoreTypes.h:398
bool bOwnsTrack
Definition GeometryCollectionSimulationCoreTypes.h:453
FTransform WorldTransform
Definition GeometryCollectionSimulationCoreTypes.h:349
int32 GravityGroupIndex
Definition GeometryCollectionSimulationCoreTypes.h:428
FSharedSimulationParameters Shared
Definition GeometryCollectionSimulationCoreTypes.h:347
EObjectStateTypeEnum ObjectType
Definition GeometryCollectionSimulationCoreTypes.h:361
bool Simulating
Definition GeometryCollectionSimulationCoreTypes.h:384
bool bGenerateTrailingData
Definition GeometryCollectionSimulationCoreTypes.h:394
float SleepThresholdMultiplier
Definition GeometryCollectionSimulationCoreTypes.h:426
FCollisionFilterData SimulationFilterData
Definition GeometryCollectionSimulationCoreTypes.h:431
EDamageModelTypeEnum DamageModel
Definition GeometryCollectionSimulationCoreTypes.h:366
bool bGenerateCrumblingData
Definition GeometryCollectionSimulationCoreTypes.h:395
bool AllowPartialIslandSleep
Definition GeometryCollectionSimulationCoreTypes.h:407
FTransform PrevWorldTransform
Definition GeometryCollectionSimulationCoreTypes.h:350
bool UseInertiaConditioning
Definition GeometryCollectionSimulationCoreTypes.h:404
bool EnableClustering
Definition GeometryCollectionSimulationCoreTypes.h:385
bool bUseDamagePropagation
Definition GeometryCollectionSimulationCoreTypes.h:413
float InitialOverlapDepenetrationVelocity
Definition GeometryCollectionSimulationCoreTypes.h:425
float LinearDamping
Definition GeometryCollectionSimulationCoreTypes.h:423
int32 ClusterGroupIndex
Definition GeometryCollectionSimulationCoreTypes.h:357
bool bUsePerClusterOnlyDamageThreshold
Definition GeometryCollectionSimulationCoreTypes.h:388
bool bEnableStrainOnCollision
Definition GeometryCollectionSimulationCoreTypes.h:408
bool bGenerateBreakingData
Definition GeometryCollectionSimulationCoreTypes.h:392
float CollisionSampleFraction
Definition GeometryCollectionSimulationCoreTypes.h:375
Chaos::EDamageEvaluationModel DamageEvaluationModel
Definition GeometryCollectionSimulationCoreTypes.h:369
Chaos::FMaterialHandle PhysicalMaterialHandle
Definition GeometryCollectionSimulationCoreTypes.h:380
float CacheBeginTime
Definition GeometryCollectionSimulationCoreTypes.h:441
bool bGenerateCrumblingChildrenData
Definition GeometryCollectionSimulationCoreTypes.h:396
FVector3f InitialAngularVelocity
Definition GeometryCollectionSimulationCoreTypes.h:378
const FRecordedTransformTrack * RecordedTrack
Definition GeometryCollectionSimulationCoreTypes.h:438
bool bUseMaterialDamageModifiers
Definition GeometryCollectionSimulationCoreTypes.h:387
bool bUseSimplicialsWhenAvailable
Definition GeometryCollectionSimulationCoreTypes.h:411
int16 MaxClusterLevel
Definition GeometryCollectionSimulationCoreTypes.h:358