UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UGeometryCollectionComponent Class Reference

#include <GeometryCollectionComponent.h>

+ Inheritance diagram for UGeometryCollectionComponent:

Public Member Functions

virtual GEOMETRYCOLLECTIONENGINE_API ~UGeometryCollectionComponent ()
 
virtual GEOMETRYCOLLECTIONENGINE_API void Serialize (FArchive &Ar) override
 
virtual GEOMETRYCOLLECTIONENGINE_API bool ShouldCreateRenderState () const override
 
virtual GEOMETRYCOLLECTIONENGINE_API void CreateRenderState_Concurrent (FRegisterComponentContext *Context) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void SendRenderDynamicData_Concurrent () override
 
FORCEINLINE void SetRenderStateDirty ()
 
virtual GEOMETRYCOLLECTIONENGINE_API void SetCollisionObjectType (ECollisionChannel Channel) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnActorEnableCollisionChanged () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void BeginPlay () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void EndPlay (const EEndPlayReason::Type ReasonEnd) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnVisibilityChanged () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnActorVisibilityChanged () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnHiddenInGameChanged () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void GetLifetimeReplicatedProps (TArray< FLifetimeProperty > &OutLifetimeProps) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API void GetResourceSizeEx (FResourceSizeEx &CumulativeResourceSize) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnComponentDestroyed (bool bDestroyingHierarchy) override
 
virtual GEOMETRYCOLLECTIONENGINE_API bool IsNavigationRelevant () const override
 
virtual GEOMETRYCOLLECTIONENGINE_API FBoxSphereBounds CalcBounds (const FTransform &LocalToWorld) const override
 
virtual FBoxSphereBounds CalcLocalBounds () const
 
virtual GEOMETRYCOLLECTIONENGINE_API bool HasAnySockets () const override
 
virtual GEOMETRYCOLLECTIONENGINE_API bool DoesSocketExist (FName InSocketName) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API FTransform GetSocketTransform (FName InSocketName, ERelativeTransformSpace TransformSpace=RTS_World) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API void QuerySupportedSockets (TArray< FComponentSocketDescription > &OutSockets) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API void TickComponent (float DeltaTime, enum ELevelTick TickType, FActorComponentTickFunction *ThisTickFunction) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void AsyncPhysicsTickComponent (float DeltaTime, float SimTime) override
 
virtual GEOMETRYCOLLECTIONENGINE_API FPrimitiveSceneProxyCreateSceneProxy () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnRegister () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnUnregister () override
 
virtual GEOMETRYCOLLECTIONENGINE_API FBodyInstanceGetBodyInstance (FName BoneName=NAME_None, bool bGetWelded=true, int32 Index=-1) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API void SetNotifyRigidBodyCollision (bool bNewNotifyRigidBodyCollision) override
 
virtual GEOMETRYCOLLECTIONENGINE_API bool CanEditSimulatePhysics () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void SetSimulatePhysics (bool bEnabled) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void SetEnableGravity (bool bGravityEnabled) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void AddForce (FVector Force, FName BoneName=NAME_None, bool bAccelChange=false) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void AddForceAtLocation (FVector Force, FVector WorldLocation, FName BoneName=NAME_None) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void AddImpulse (FVector Impulse, FName BoneName=NAME_None, bool bVelChange=false) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void AddImpulseAtLocation (FVector Impulse, FVector WorldLocation, FName BoneName=NAME_None) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void AddRadialForce (FVector Origin, float Radius, float Strength, ERadialImpulseFalloff Falloff, bool bAccelChange=false) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void AddRadialImpulse (FVector Origin, float Radius, float Strength, enum ERadialImpulseFalloff Falloff, bool bVelChange=false) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void AddTorqueInRadians (FVector Torque, FName BoneName=NAME_None, bool bAccelChange=false) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void PostLoad () override
 
virtual GEOMETRYCOLLECTIONENGINE_API void SetPhysMaterialOverride (UPhysicalMaterial *NewPhysMaterial) override
 
virtual GEOMETRYCOLLECTIONENGINE_API int32 GetNumMaterials () const override
 
virtual GEOMETRYCOLLECTIONENGINE_API UMaterialInterfaceGetMaterial (int32 MaterialIndex) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API void GetUsedMaterials (TArray< UMaterialInterface * > &OutMaterials, bool bGetDebugMaterials=false) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API FMaterialRelevance GetMaterialRelevance (ERHIFeatureLevel::Type InFeatureLevel) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API FMaterialRelevance GetMaterialRelevance (EShaderPlatform InShaderPlatform) const override
 
FBox GetLocalBounds () const
 
GEOMETRYCOLLECTIONENGINE_API void ApplyExternalStrain (int32 ItemIndex, const FVector &Location, float Radius=0, int32 PropagationDepth=0, float PropagationFactor=1, float Strain=0)
 
GEOMETRYCOLLECTIONENGINE_API void ApplyInternalStrain (int32 ItemIndex, const FVector &Location, float Radius=0, int32 PropagationDepth=0, float PropagationFactor=1, float Strain=0)
 
GEOMETRYCOLLECTIONENGINE_API void CrumbleCluster (int32 ItemIndex)
 
GEOMETRYCOLLECTIONENGINE_API void CrumbleActiveClusters ()
 
GEOMETRYCOLLECTIONENGINE_API void SetAnchoredByIndex (int32 Index, bool bAnchored)
 
GEOMETRYCOLLECTIONENGINE_API void SetAnchoredByBox (FBox WorldSpaceBox, bool bAnchored, int32 MaxLevel=-1)
 
GEOMETRYCOLLECTIONENGINE_API void SetAnchoredByTransformedBox (FBox Box, FTransform Transform, bool bAnchored, int32 MaxLevel=-1)
 
GEOMETRYCOLLECTIONENGINE_API void RemoveAllAnchors ()
 
GEOMETRYCOLLECTIONENGINE_API void ApplyBreakingLinearVelocity (int32 ItemIndex, const FVector &LinearVelocity)
 
GEOMETRYCOLLECTIONENGINE_API void ApplyBreakingAngularVelocity (int32 ItemIndex, const FVector &AngularVelocity)
 
GEOMETRYCOLLECTIONENGINE_API void ApplyLinearVelocity (int32 ItemIndex, const FVector &LinearVelocity)
 
GEOMETRYCOLLECTIONENGINE_API void ApplyAngularVelocity (int32 ItemIndex, const FVector &AngularVelocity)
 
GEOMETRYCOLLECTIONENGINE_API int32 GetInitialLevel (int32 ItemIndex)
 
GEOMETRYCOLLECTIONENGINE_API int32 GetRootIndex () const
 
GEOMETRYCOLLECTIONENGINE_API FTransform GetRootInitialTransform () const
 
GEOMETRYCOLLECTIONENGINE_API FTransform GetRootCurrentTransform () const
 
GEOMETRYCOLLECTIONENGINE_API FTransform GetRootCurrentComponentSpaceTransform () const
 
GEOMETRYCOLLECTIONENGINE_API FTransform GetRootParticleMassOffset () const
 
bool IsRootBroken () const
 
GEOMETRYCOLLECTIONENGINE_API TArray< FTransformGetInitialLocalRestTransforms () const
 
GEOMETRYCOLLECTIONENGINE_API TArray< FTransformGetLocalRestTransforms (bool bInitialTransforms=false) const
 
GEOMETRYCOLLECTIONENGINE_API void SetLocalRestTransforms (const TArray< FTransform > &Transforms, bool bOnlyLeaves)
 
GEOMETRYCOLLECTIONENGINE_API void GetMassAndExtents (int32 ItemIndex, float &OutMass, FBox &OutExtents)
 
virtual GEOMETRYCOLLECTIONENGINE_API float GetMass () const override
 
virtual GEOMETRYCOLLECTIONENGINE_API float CalculateMass (FName BoneName=NAME_None) override
 
GEOMETRYCOLLECTIONENGINE_API void SetRestCollection (const UGeometryCollection *RestCollectionIn, bool bApplyAssetDefaults=true)
 
GEOMETRYCOLLECTIONENGINE_API void ResetState ()
 
GEOMETRYCOLLECTIONENGINE_API FString GetDebugInfo ()
 
const UGeometryCollectionGetRestCollection () const
 
FGeometryCollectionEdit EditRestCollection (GeometryCollection::EEditUpdate EditUpdate=GeometryCollection::EEditUpdate::RestPhysicsDynamic, bool bShapeIsUnchanged=false)
 
GEOMETRYCOLLECTIONENGINE_API void SetEnableDamageFromCollision (bool bValue)
 
GEOMETRYCOLLECTIONENGINE_API void SetAbandonedParticleCollisionProfileName (FName CollisionProfile)
 
GEOMETRYCOLLECTIONENGINE_API void SetPerLevelCollisionProfileNames (const TArray< FName > &ProfileNames)
 
GEOMETRYCOLLECTIONENGINE_API void SetPerParticleCollisionProfileName (const TArray< int32 > &BoneIds, FName ProfileName)
 
GEOMETRYCOLLECTIONENGINE_API void SetPerParticleCollisionProfileName (const TSet< int32 > &BoneIds, FName ProfileName)
 
GEOMETRYCOLLECTIONENGINE_API void SetParticleCollisionProfileName (int32 BoneId, FName ProfileName, FGCCollisionProfileScopedTransaction &InProfileNameUpdateTransaction)
 
GEOMETRYCOLLECTIONENGINE_API int32 GetNumElements (FName Group) const
 
GEOMETRYCOLLECTIONENGINE_API void UpdateCachedBounds ()
 
COPY_ON_WRITE_ATTRIBUTES GEOMETRYCOLLECTIONENGINE_API int32 GetParent (int32 Index) const
 
GEOMETRYCOLLECTIONENGINE_API const TManagedArray< int32 > & GetParentArrayRest () const
 
GEOMETRYCOLLECTIONENGINE_API void ApplyAssetDefaults ()
 
GEOMETRYCOLLECTIONENGINE_API void SetGravityGroupIndex (int32 InGravityGroupIndex)
 
GEOMETRYCOLLECTIONENGINE_API void SetOneWayInteractionLevel (int32 InOneWayInteractionLevel)
 
GEOMETRYCOLLECTIONENGINE_API void SetDensityFromPhysicsMaterial (bool bInDensityFromPhysicsMaterial)
 
GEOMETRYCOLLECTIONENGINE_API void SetDamageModel (EDamageModelTypeEnum InDamageModel)
 
TArray< floatGetDamageThreshold () const
 
GEOMETRYCOLLECTIONENGINE_API void SetDamageThreshold (const TArray< float > &InDamageThreshold)
 
GEOMETRYCOLLECTIONENGINE_API void SetUseMaterialDamageModifiers (bool bInUseMaterialDamageModifiers)
 
GEOMETRYCOLLECTIONENGINE_API void SetDamagePropagationData (const FGeometryCollectionDamagePropagationData &InDamagePropagationData)
 
GEOMETRYCOLLECTIONENGINE_API void ApplyKinematicField (UPARAM(DisplayName="Field Radius") float Radius, UPARAM(DisplayName="Center Position") FVector Position)
 
GEOMETRYCOLLECTIONENGINE_API void ApplyPhysicsField (UPARAM(DisplayName="Enable Field") bool Enabled, UPARAM(DisplayName="Physics Type") EGeometryCollectionPhysicsTypeEnum Target, UPARAM(DisplayName="Meta Data") UFieldSystemMetaData *MetaData, UPARAM(DisplayName="Field Node") UFieldNodeBase *Field)
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FNotifyGeometryCollectionPhysicsStateChange, UGeometryCollectionComponent *, FracturedComponent)
 
GEOMETRYCOLLECTIONENGINE_API bool GetIsObjectDynamic () const
 
 DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam (FNotifyGeometryCollectionPhysicsLoadingStateChange, UGeometryCollectionComponent *, FracturedComponent)
 
bool GetIsObjectLoading ()
 
bool GetNotifyTrailing () const
 
void SetShowBoneColors (bool ShowBoneColorsIn)
 
bool GetShowBoneColors () const
 
bool GetEnableBoneSelection () const
 
GEOMETRYCOLLECTIONENGINE_API bool GetSuppressSelectionMaterial () const
 
const int GetBoneSelectedMaterialID () const
 
GEOMETRYCOLLECTIONENGINE_API FPhysScene_ChaosGetInnerChaosScene () const
 
GEOMETRYCOLLECTIONENGINE_API AChaosSolverActorGetPhysicsSolverActor () const
 
const FGeometryCollectionPhysicsProxyGetPhysicsProxy () const
 
FGeometryCollectionPhysicsProxyGetPhysicsProxy ()
 
const TArray< bool > & GetDisabledFlags () const
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnCreatePhysicsState () override
 
GEOMETRYCOLLECTIONENGINE_API void RegisterAndInitializePhysicsProxy ()
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnDestroyPhysicsState () override
 
virtual GEOMETRYCOLLECTIONENGINE_API bool ShouldCreatePhysicsState () const override
 
virtual GEOMETRYCOLLECTIONENGINE_API bool HasValidPhysicsState () const override
 
virtual GEOMETRYCOLLECTIONENGINE_API bool MoveComponentImpl (const FVector &Delta, const FQuat &NewRotation, bool bSweep, FHitResult *Hit, EMoveComponentFlags MoveFlags, ETeleportType Teleport) override
 
virtual GEOMETRYCOLLECTIONENGINE_API void OnUpdateTransform (EUpdateTransformFlags UpdateTransformFlags, ETeleportType Teleport=ETeleportType::None) override
 
GEOMETRYCOLLECTIONENGINE_API void SetNotifyBreaks (bool bNewNotifyBreaks)
 
GEOMETRYCOLLECTIONENGINE_API void SetNotifyRemovals (bool bNewNotifyRemovals)
 
GEOMETRYCOLLECTIONENGINE_API void SetNotifyCrumblings (bool bNewNotifyCrumblings, bool bNewCrumblingEventIncludesChildren=false)
 
GEOMETRYCOLLECTIONENGINE_API void SetNotifyGlobalBreaks (bool bNewNotifyGlobalBreaks)
 
GEOMETRYCOLLECTIONENGINE_API void SetNotifyGlobalCollision (bool bNewNotifyGlobalCollisions)
 
GEOMETRYCOLLECTIONENGINE_API void SetNotifyGlobalRemovals (bool bNewNotifyGlobalRemovals)
 
GEOMETRYCOLLECTIONENGINE_API void SetNotifyGlobalCrumblings (bool bNewNotifyGlobalCrumblings, bool bGlobalNewCrumblingEventIncludesChildren)
 
virtual void NotifyBreak (const FChaosBreakEvent &Event)
 
virtual void NotifyRemoval (const FChaosRemovalEvent &Event)
 
GEOMETRYCOLLECTIONENGINE_API bool IsFullyDecayed () const
 
GEOMETRYCOLLECTIONENGINE_API void DispatchBreakEvent (const FChaosBreakEvent &Event)
 
GEOMETRYCOLLECTIONENGINE_API void DispatchRemovalEvent (const FChaosRemovalEvent &Event)
 
GEOMETRYCOLLECTIONENGINE_API void DispatchCrumblingEvent (const FChaosCrumblingEvent &Event)
 
GEOMETRYCOLLECTIONENGINE_API bool DoCustomNavigableGeometryExport (FNavigableGeometryExport &GeomExport) const override
 
GEOMETRYCOLLECTIONENGINE_API UPhysicalMaterialGetPhysicalMaterial () const
 
GEOMETRYCOLLECTIONENGINE_API void InitializeEmbeddedGeometry ()
 
GEOMETRYCOLLECTIONENGINE_API void RefreshEmbeddedGeometry ()
 
GEOMETRYCOLLECTIONENGINE_API void GetRestTransforms (TArray< FMatrix44f > &OutRestTransforms) const
 
GEOMETRYCOLLECTIONENGINE_API void SetRestState (TArray< FTransform > &&InRestTransforms)
 
GEOMETRYCOLLECTIONENGINE_API void ResetRestTransforms ()
 
GEOMETRYCOLLECTIONENGINE_API void SetDynamicState (const Chaos::EObjectStateType &NewDynamicState)
 
GEOMETRYCOLLECTIONENGINE_API void SetInitialTransforms (const TArray< FTransform > &InitialTransforms)
 
GEOMETRYCOLLECTIONENGINE_API void SetInitialClusterBreaks (const TArray< int32 > &ReleaseIndices)
 
TArray< FMatrixGetGlobalMatrices ()
 
GEOMETRYCOLLECTIONENGINE_API TArray< FTransformGetComponentSpaceTransforms ()
 
GEOMETRYCOLLECTIONENGINE_API const TArray< FTransform3f > & GetComponentSpaceTransforms3f ()
 
GEOMETRYCOLLECTIONENGINE_API const FGeometryDynamicCollectionGetDynamicCollection () const
 
GEOMETRYCOLLECTIONENGINE_API FGeometryDynamicCollectionGetDynamicCollection ()
 
void SetUpdateNavigationInTick (const bool bUpdateInTick)
 
void SetUseRootProxyForNavigation (const bool bUseRootProxyForNav)
 
bool GetUseStaticMeshCollisionForTraces () const
 
GEOMETRYCOLLECTIONENGINE_API void SetUseStaticMeshCollisionForTraces (bool bInUseStaticMeshCollisionForTraces)
 
IGeometryCollectionExternalRenderInterfaceGetCustomRenderer ()
 
GEOMETRYCOLLECTIONENGINE_API void ForceBrokenForCustomRenderer (bool bForceBroken)
 
bool IsForceBrokenForCustomRenderer () const
 
bool FindLeafTransformByLineTrace (const FVector Start, const FVector End, int32 &LeafTransformIndex, FName &LeafTransformName) const
 
GEOMETRYCOLLECTIONENGINE_API void SetRootProxyComponentSpaceTransform (int32 Index, const FTransform &RootProxyTransform)
 
GEOMETRYCOLLECTIONENGINE_API void SetRootProxyLocalTransform (int32 Index, const FTransform3f &RootProxyTransform)
 
GEOMETRYCOLLECTIONENGINE_API void ClearRootProxyLocalTransforms ()
 
void SetUpdateCustomRendererOnPostPhysicsSync (bool bValue)
 
bool GetUpdateCustomRendererOnPostPhysicsSync () const
 
void SetUpdateCustomRenderer (bool bValue)
 
 UFUNCTION (BlueprintCallable, Category="Physics", meta=(DeprecatedFunction, DeprecationMessage="Please use ForceBrokenForCustomRenderer() instead")) void EnableRootProxyForCustomRenderer(bool bEnable)
 
bool ShouldUpdateComponentTransformToRootBone () const
 
double GetRootBrokenElapsedTimeInMs () const
 
void SetEnableReplication (bool bInEnableReplication)
 
void SetReplicationAbandonAfterLevel (int32 InReplicationAbandonAfterLevel)
 
void SetReplicationMaxPositionAndVelocityCorrectionLevel (int32 InReplicationMaxPositionAndVelocityCorrectionLevel)
 
GEOMETRYCOLLECTIONENGINE_API const FTransformGetPreviousComponentToWorld () const
 
GEOMETRYCOLLECTIONENGINE_API void ReceivePhysicsCollision (const FChaosPhysicsCollisionInfo &CollisionInfo)
 
virtual GEOMETRYCOLLECTIONENGINE_API void DispatchChaosPhysicsCollisionBlueprintEvents (const FChaosPhysicsCollisionInfo &CollisionInfo) override
 
GEOMETRYCOLLECTIONENGINE_API void RefreshCustomRenderer ()
 
GEOMETRYCOLLECTIONENGINE_API void RefreshRootProxies ()
 
virtual GEOMETRYCOLLECTIONENGINE_API Chaos::FPhysicsObjectGetPhysicsObjectById (Chaos::FPhysicsObjectId Id) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API Chaos::FPhysicsObjectGetPhysicsObjectByName (const FName &Name) const override
 
virtual GEOMETRYCOLLECTIONENGINE_API TArray< Chaos::FPhysicsObject * > GetAllPhysicsObjects () const override
 
virtual GEOMETRYCOLLECTIONENGINE_API Chaos::FPhysicsObjectId GetIdFromGTParticle (Chaos::FGeometryParticle *Particle) const override
 
GEOMETRYCOLLECTIONENGINE_API void RebaseDynamicCollectionTransformsOnNewWorldTransform ()
 
- Public Member Functions inherited from UMeshComponent
virtual ENGINE_API TArray< class UMaterialInterface * > GetMaterials () const
 
virtual bool UseNaniteOverrideMaterials () const
 
virtual ENGINE_API int32 GetNumOverrideMaterials () const
 
ENGINE_API class UMaterialInterfaceGetOverlayMaterial () const
 
ENGINE_API void SetOverlayMaterial (class UMaterialInterface *NewOverlayMaterial)
 
ENGINE_API float GetOverlayMaterialMaxDrawDistance () const
 
ENGINE_API void SetOverlayMaterialMaxDrawDistance (float InMaxDrawDistance)
 
ENGINE_API void GetMaterialSlotsOverlayMaterial (TArray< TObjectPtr< class UMaterialInterface > > &OutMaterialSlotOverlayMaterials) const
 
ENGINE_API void EmptyOverrideMaterials ()
 
ENGINE_API bool HasOverrideMaterials ()
 
virtual ENGINE_API UMaterialInterfaceGetMaterialByName (FName MaterialSlotName) const override
 
virtual ENGINE_API void SetMaterial (int32 ElementIndex, UMaterialInterface *Material) override
 
virtual ENGINE_API void SetMaterialByName (FName MaterialSlotName, class UMaterialInterface *Material) override
 
virtual ENGINE_API void SetTextureForceResidentFlag (bool bForceMiplevelsToBeResident)
 
virtual ENGINE_API void PrestreamTextures (float Seconds, bool bPrioritizeCharacterTextures, int32 CinematicTextureGroups=0)
 
virtual bool PrestreamMeshLODs (float Seconds)
 
virtual ENGINE_API void RegisterLODStreamingCallback (FLODStreamingCallback &&Callback, int32 LODIdx, float TimeoutSecs, bool bOnStreamIn)
 
virtual ENGINE_API void RegisterLODStreamingCallback (FLODStreamingCallback &&CallbackStreamingStart, FLODStreamingCallback &&CallbackStreamingDone, float TimeoutStartSecs, float TimeoutDoneSecs)
 
virtual bool GetMaterialStreamingData (int32 MaterialIndex, FPrimitiveMaterialInfo &MaterialData) const
 
ENGINE_API void GetStreamingTextureInfoInner (FStreamingTextureLevelContext &LevelContext, const TArray< FStreamingTextureBuildInfo > *PreBuiltData, float ComponentScaling, TArray< FStreamingRenderAssetPrimitiveInfo > &OutStreamingTextures) const
 
ENGINE_API FColor GetWireframeColorForSceneProxy () const
 
virtual ENGINE_API void LogMaterialsAndTextures (FOutputDevice &Ar, int32 Indent) const
 
virtual UTextureGetMeshPaintTexture () const
 
virtual void SetMeshPaintTexture (UTexture *Texture)
 
virtual void SetMeshPaintTextureOverride (UTexture *OverrideTexture)
 
virtual int32 GetMeshPaintTextureCoordinateIndex () const
 
ENGINE_API void SetScalarParameterValueOnMaterials (const FName ParameterName, const float ParameterValue)
 
ENGINE_API void SetVectorParameterValueOnMaterials (const FName ParameterName, const FVector ParameterValue)
 
ENGINE_API void SetColorParameterValueOnMaterials (const FName ParameterName, const FLinearColor ParameterValue)
 
float GetScalarParameterDefaultValue (const FName ParameterName)
 
ENGINE_API const TArray< TObjectPtr< UMaterialInterface > > & GetComponentMaterialSlotsOverlayMaterial () const
 
virtual void GetDefaultMaterialSlotsOverlayMaterial (TArray< TObjectPtr< UMaterialInterface > > &OutMaterialSlotOverlayMaterials) const
 
- Public Member Functions inherited from IChaosNotifyHandlerInterface
virtual void NotifyPhysicsCollision (const FChaosPhysicsCollisionInfo &CollisionInfo)
 
CHAOSSOLVERENGINE_API void HandlePhysicsCollision (const FChaosPhysicsCollisionInfo &CollisionInfo)
 

Static Public Member Functions

static GEOMETRYCOLLECTIONENGINE_API void ReregisterAllCustomRenderers ()
 

Public Attributes

TObjectPtr< AChaosSolverActorChaosSolverActor
 
TObjectPtr< const UGeometryCollectionRestCollection
 
TArray< TObjectPtr< const AFieldSystemActor > > InitializationFields
 
bool Simulating_DEPRECATED
 
ESimulationInitializationState InitializationState
 
EObjectStateTypeEnum ObjectType
 
int32 GravityGroupIndex
 
int32 OneWayInteractionLevel
 
bool bDensityFromPhysicsMaterial
 
bool bForceMotionBlur
 
bool EnableClustering
 
int32 ClusterGroupIndex
 
int32 MaxClusterLevel
 
int32 MaxSimulatedLevel
 
EDamageModelTypeEnum DamageModel
 
TArray< floatDamageThreshold
 
bool bUseSizeSpecificDamageThreshold
 
bool bUseMaterialDamageModifiers
 
FGeometryCollectionDamagePropagationData DamagePropagationData
 
bool bEnableDamageFromCollision
 
bool bAllowRemovalOnSleep
 
bool bAllowRemovalOnBreak
 
bool bForceUpdateActiveTransforms
 
EClusterConnectionTypeEnum ClusterConnectionType_DEPRECATED
 
int32 CollisionGroup
 
float CollisionSampleFraction
 
float LinearEtherDrag_DEPRECATED
 
TObjectPtr< const UChaosPhysicalMaterialPhysicalMaterial_DEPRECATED
 
EInitialVelocityTypeEnum InitialVelocityType
 
FVector InitialLinearVelocity
 
FVector InitialAngularVelocity
 
TObjectPtr< UPhysicalMaterialPhysicalMaterialOverride_DEPRECATED
 
FGeomComponentCacheParameters CacheParameters
 
TArray< FTransformRestTransforms
 
FNotifyGeometryCollectionPhysicsStateChange NotifyGeometryCollectionPhysicsStateChange
 
FNotifyGeometryCollectionPhysicsLoadingStateChange NotifyGeometryCollectionPhysicsLoadingStateChange
 
TArray< boolDisabledFlags
 
int32 BaseRigidBodyIndex
 
int32 NumParticlesAdded
 
FOnChaosBreakEvent OnChaosBreakEvent
 
FOnChaosRemovalEvent OnChaosRemovalEvent
 
FOnChaosCrumblingEvent OnChaosCrumblingEvent
 
FOnChaosBreakEvent OnRootBreakEvent
 
FOnGeometryCollectionFullyDecayedEvent OnFullyDecayedEvent
 
FOnGeometryCollectionRootMovedEvent OnRootMovedEvent
 
FOnGeometryCollectionRootMovedNativeEvent OnRootMovedNativeEvent
 
float DesiredCacheTime
 
bool CachePlayback
 
FOnChaosPhysicsCollision OnChaosPhysicsCollision
 
bool bNotifyBreaks
 
bool bNotifyCollisions
 
bool bNotifyTrailing
 
bool bNotifyRemovals
 
bool bNotifyCrumblings
 
bool bCrumblingEventIncludesChildren
 
bool bNotifyGlobalBreaks
 
bool bNotifyGlobalCollisions
 
bool bNotifyGlobalRemovals
 
bool bNotifyGlobalCrumblings
 
bool bGlobalCrumblingEventIncludesChildren
 
bool bStoreVelocities
 
bool bIsCurrentlyNavigationRelevant = true
 
float AngularEtherDrag_DEPRECATED
 
- Public Attributes inherited from UMeshComponent
TArray< TObjectPtr< class UMaterialInterface > > OverrideMaterials
 
TObjectPtr< class UMaterialInterfaceOverlayMaterial
 
float OverlayMaterialMaxDrawDistance
 
TArray< TObjectPtr< class UMaterialInterface > > MaterialSlotsOverlayMaterial
 
uint8 bEnableMaterialParameterCaching: 1
 

Static Public Attributes

static GEOMETRYCOLLECTIONENGINE_API FName DefaultCollisionProfileName
 

Protected Member Functions

virtual GEOMETRYCOLLECTIONENGINE_API void OnComponentCollisionSettingsChanged (bool bUpdateOverlaps=true) override
 
virtual GEOMETRYCOLLECTIONENGINE_API bool CanBeUsedInPhysicsReplication (const FName BoneName=NAME_None) const override
 
void CheckFullyDecayed ()
 
virtual GEOMETRYCOLLECTIONENGINE_API void CollectPSOPrecacheData (const FPSOPrecacheParams &BasePrecachePSOParams, FMaterialInterfacePSOPrecacheParamsList &OutParams) override
 
GEOMETRYCOLLECTIONENGINE_API FGeometryCollectionDynamicDataInitDynamicData (bool bInitialization=false)
 
GEOMETRYCOLLECTIONENGINE_API void ResetDynamicCollection ()
 
GEOMETRYCOLLECTIONENGINE_API void GetInitializationCommands (TArray< FFieldSystemCommand > &CombinedCommmands)
 
GEOMETRYCOLLECTIONENGINE_API void DispatchFieldCommand (const FFieldSystemCommand &InCommand)
 
void CalculateLocalBounds ()
 
GEOMETRYCOLLECTIONENGINE_API FBox ComputeBoundsFromGlobalMatrices (const FMatrix &LocalToWorldWithScale, const TArray< FMatrix > &GlobalMatricesArray) const
 
GEOMETRYCOLLECTIONENGINE_API FBox ComputeBoundsFromComponentSpaceTransforms (const FTransform &LocalToWorldWithScale, const TArray< FTransform > &ComponentSpaceTransformsArray) const
 
FBox ComputeBoundsFromComponentSpaceTransforms (const FTransform &LocalToWorldWithScale, const TArray< FTransform3f > &ComponentSpaceTransformsArray) const
 
GEOMETRYCOLLECTIONENGINE_API FBox ComputeBounds (const FMatrix &LocalToWorldWithScale) const
 
GEOMETRYCOLLECTIONENGINE_API FBox ComputeBounds (const FTransform &LocalToWorldWithScale) const
 
GEOMETRYCOLLECTIONENGINE_API void RegisterForEvents ()
 
GEOMETRYCOLLECTIONENGINE_API void UpdateRBCollisionEventRegistration ()
 
GEOMETRYCOLLECTIONENGINE_API void UpdateGlobalCollisionEventRegistration ()
 
GEOMETRYCOLLECTIONENGINE_API void UpdateGlobalRemovalEventRegistration ()
 
GEOMETRYCOLLECTIONENGINE_API void OnRep_RepData ()
 
GEOMETRYCOLLECTIONENGINE_API void OnRep_RepStateData ()
 
GEOMETRYCOLLECTIONENGINE_API void OnRep_RepDynamicData ()
 
GEOMETRYCOLLECTIONENGINE_API void RequestUpdateRepData ()
 
virtual GEOMETRYCOLLECTIONENGINE_API void UpdateRepData ()
 
virtual GEOMETRYCOLLECTIONENGINE_API void UpdateRepStateAndDynamicData ()
 
virtual GEOMETRYCOLLECTIONENGINE_API void ResetRepData ()
 
virtual GEOMETRYCOLLECTIONENGINE_API void ProcessRepData ()
 
virtual GEOMETRYCOLLECTIONENGINE_API bool ProcessRepData (float DeltaTime, float SimTime)
 
- Protected Member Functions inherited from UMeshComponent
virtual ENGINE_API void BeginDestroy () override
 
virtual UMaterialInterfaceGetDefaultOverlayMaterial () const
 
virtual float GetDefaultOverlayMaterialMaxDrawDistance () const
 
ENGINE_API void CacheMaterialParameterNameIndices ()
 
ENGINE_API void MarkCachedMaterialParameterNameIndicesDirty ()
 

Static Protected Member Functions

static GEOMETRYCOLLECTIONENGINE_API Chaos::FPhysicsSolverGetSolver (const UGeometryCollectionComponent &GeometryCollectionComponent)
 

Protected Attributes

bool bShowBoneColors
 
bool bUpdateComponentTransformToRootBone
 
bool bUseRootProxyForNavigation
 
bool bUpdateNavigationInTick
 
uint8 bForceBrokenForCustomRenderer: 1
 
uint8 bUpdateCustomRendererOnPostPhysicsSync: 1
 
uint8 bCustomRendererCanUseNativeFallback: 1
 
uint8 bCustomRendererShouldUseNativeFallback: 1
 
uint8 bForceNativeRenderer: 1
 
bool bEnableReplication
 
bool bEnableAbandonAfterLevel
 
FName AbandonedCollisionProfileName
 
TObjectPtr< AISMPoolActorISMPool_DEPRECATED
 
TObjectPtr< UClassCustomRendererType
 
bool bOverrideCustomRenderer = false
 
bool bAutoAssignISMPool_DEPRECATED = false
 
bool bAlreadyFullyDecayed = false
 
bool bUseStaticMeshCollisionForTraces = false
 
int32 ReplicationAbandonClusterLevel_DEPRECATED
 
TScriptInterface< IGeometryCollectionExternalRenderInterfaceCustomRenderer
 
TArray< FNameCollisionProfilePerLevel
 
TArray< FNameCollisionProfilePerParticle
 
int32 ReplicationAbandonAfterLevel
 
int32 ReplicationMaxPositionAndVelocityCorrectionLevel
 
FGeometryCollectionRepData RepData
 
FGeometryCollectionRepStateData RepStateData
 
FGeometryCollectionRepDynamicData RepDynamicData
 
int32 VersionProcessed = INDEX_NONE
 
int32 DynamicRepDataVersionProcessed = INDEX_NONE
 
int64 LastAsyncPhysicsTickMs = 0
 
- Protected Attributes inherited from UMeshComponent
uint8 bCachedMaterialParameterIndicesAreDirty: 1
 
TSortedMap< FName, FMaterialParameterCache, FDefaultAllocator, FNameFastLessMaterialParameterCache
 

Friends

class FGeometryCollectionEdit
 
class FGeometryCollectionCommands
 
class FGeometryCollectionSceneProxyBase
 
struct FGCCollisionProfileScopedTransaction
 

Detailed Description

GeometryCollectionComponent

Constructor & Destructor Documentation

◆ ~UGeometryCollectionComponent()

PRAGMA_DISABLE_DEPRECATION_WARNINGS UGeometryCollectionComponent::~UGeometryCollectionComponent ( )
virtual

Member Function Documentation

◆ AddForce()

void UGeometryCollectionComponent::AddForce ( FVector  Force,
FName  BoneName = NAME_None,
bool  bAccelChange = false 
)
overridevirtual

◆ AddForceAtLocation()

void UGeometryCollectionComponent::AddForceAtLocation ( FVector  Force,
FVector  WorldLocation,
FName  BoneName = NAME_None 
)
overridevirtual

◆ AddImpulse()

void UGeometryCollectionComponent::AddImpulse ( FVector  Impulse,
FName  BoneName = NAME_None,
bool  bVelChange = false 
)
overridevirtual

◆ AddImpulseAtLocation()

void UGeometryCollectionComponent::AddImpulseAtLocation ( FVector  Impulse,
FVector  WorldLocation,
FName  BoneName = NAME_None 
)
overridevirtual

◆ AddRadialForce()

void UGeometryCollectionComponent::AddRadialForce ( FVector  Origin,
float  Radius,
float  Strength,
ERadialImpulseFalloff  Falloff,
bool  bAccelChange = false 
)
overridevirtual

◆ AddRadialImpulse()

void UGeometryCollectionComponent::AddRadialImpulse ( FVector  Origin,
float  Radius,
float  Strength,
enum ERadialImpulseFalloff  Falloff,
bool  bVelChange = false 
)
overridevirtual

◆ AddTorqueInRadians()

void UGeometryCollectionComponent::AddTorqueInRadians ( FVector  Torque,
FName  BoneName = NAME_None,
bool  bAccelChange = false 
)
overridevirtual

◆ ApplyAngularVelocity()

void UGeometryCollectionComponent::ApplyAngularVelocity ( int32  ItemIndex,
const FVector AngularVelocity 
)

Apply angular velocity on specific piece

Parameters
ItemIndexitem index ( from HitResult) of the piece to apply velocity on
AngularVelocitylinear velocity to apply

◆ ApplyAssetDefaults()

void UGeometryCollectionComponent::ApplyAssetDefaults ( )

Apply default values from asset ( damage related data and physics material )

◆ ApplyBreakingAngularVelocity()

void UGeometryCollectionComponent::ApplyBreakingAngularVelocity ( int32  ItemIndex,
const FVector AngularVelocity 
)

Apply linear velocity on breaking pieces for a specific cluster If ItemIndex does not represent a cluster this will do nothing

Parameters
ItemIndexitem index ( from HitResult) of the cluster owning the breaking pieces to apply velocity on
AngularVelocitylinear velocity to apply

◆ ApplyBreakingLinearVelocity()

void UGeometryCollectionComponent::ApplyBreakingLinearVelocity ( int32  ItemIndex,
const FVector LinearVelocity 
)

Apply linear velocity on breaking pieces for a specific cluster If ItemIndex does not represent a cluster this will do nothing

Parameters
ItemIndexitem index ( from HitResult) of the cluster owning the breaking pieces to apply velocity on
LinearVelocitylinear velocity to apply

◆ ApplyExternalStrain()

void UGeometryCollectionComponent::ApplyExternalStrain ( int32  ItemIndex,
const FVector Location,
float  Radius = 0,
int32  PropagationDepth = 0,
float  PropagationFactor = 1,
float  Strain = 0 
)

Apply an external strain to specific piece of the geometry collection

Parameters
ItemIndexitem index ( from HitResult) of the piece to apply strain on
Locationworld location of where to apply the strain
Radiusradius from the location point to apply the strain to ( using the center of mass of the pieces )
PropagationDepthHow many level of connection to follow to propagate the strain through
PropagationFactorwhen using propagation, the factor to multiply the strain from one level to the other, allowing falloff effect
Strainstrain / damage to apply

◆ ApplyInternalStrain()

void UGeometryCollectionComponent::ApplyInternalStrain ( int32  ItemIndex,
const FVector Location,
float  Radius = 0,
int32  PropagationDepth = 0,
float  PropagationFactor = 1,
float  Strain = 0 
)

Apply an internal strain to specific piece of the geometry collection

Parameters
ItemIndexitem index ( from HitResult) of the piece to apply strain on
Locationworld location of where to apply the strain
Radiusradius from the location point to apply the strain to ( using the center of mass of the pieces )
PropagationDepthHow many level of connection to follow to propagate the strain through
PropagationFactorwhen using propagation, the factor to multiply the strain from one level to the other, allowing falloff effect
Strainstrain / damage to apply

◆ ApplyKinematicField()

void UGeometryCollectionComponent::ApplyKinematicField ( UPARAM(DisplayName="Field Radius") float  Radius,
UPARAM(DisplayName="Center Position") FVector  Position 
)

SetDynamicState This function will dispatch a command to the physics thread to apply a kinematic to dynamic state change for the geo collection particles within the field.

Parameters
RadiusRadial influence from the position
PositionThe location of the command

◆ ApplyLinearVelocity()

void UGeometryCollectionComponent::ApplyLinearVelocity ( int32  ItemIndex,
const FVector LinearVelocity 
)

Apply linear velocity on specific piece

Parameters
ItemIndexitem index ( from HitResult) of the piece to apply velocity on
LinearVelocitylinear velocity to apply

◆ ApplyPhysicsField()

void UGeometryCollectionComponent::ApplyPhysicsField ( UPARAM(DisplayName="Enable Field") bool  Enabled,
UPARAM(DisplayName="Physics Type") EGeometryCollectionPhysicsTypeEnum  Target,
UPARAM(DisplayName="Meta Data") UFieldSystemMetaData MetaData,
UPARAM(DisplayName="Field Node") UFieldNodeBase Field 
)

AddPhysicsField This function will dispatch a command to the physics thread to apply a generic evaluation of a user defined transient field network. See documentation, for examples of how to recreate variations of the above generic fields using field networks

Parameters
EnabledIs this force enabled for evaluation.
TargetType of field supported by the solver.
MetaDataMeta data used to assist in evaluation
FieldBase evaluation node for the field network.

◆ AsyncPhysicsTickComponent()

void UGeometryCollectionComponent::AsyncPhysicsTickComponent ( float  DeltaTime,
float  SimTime 
)
overridevirtual

◆ BeginPlay()

void UGeometryCollectionComponent::BeginPlay ( )
overridevirtual

◆ CalcBounds()

FBoxSphereBounds UGeometryCollectionComponent::CalcBounds ( const FTransform LocalToWorld) const
overridevirtual

◆ CalcLocalBounds()

virtual FBoxSphereBounds UGeometryCollectionComponent::CalcLocalBounds ( ) const
inlinevirtual

◆ CalculateLocalBounds()

void UGeometryCollectionComponent::CalculateLocalBounds ( )
inlineprotected

◆ CalculateMass()

float UGeometryCollectionComponent::CalculateMass ( FName  BoneName = NAME_None)
overridevirtual

Returns the calculated mass in kg. This is not 100% exactly the mass physx will calculate, but it is very close ( difference < 0.1kg ).

◆ CanBeUsedInPhysicsReplication()

bool UGeometryCollectionComponent::CanBeUsedInPhysicsReplication ( const FName  BoneName = NAME_None) const
overrideprotectedvirtual

◆ CanEditSimulatePhysics()

bool UGeometryCollectionComponent::CanEditSimulatePhysics ( )
overridevirtual

◆ CheckFullyDecayed()

void UGeometryCollectionComponent::CheckFullyDecayed ( )
protected

◆ ClearRootProxyLocalTransforms()

void UGeometryCollectionComponent::ClearRootProxyLocalTransforms ( )

clear all the root proxies local transforms - all proxies will now have the same default transform

◆ CollectPSOPrecacheData()

void UGeometryCollectionComponent::CollectPSOPrecacheData ( const FPSOPrecacheParams BasePrecachePSOParams,
FMaterialInterfacePSOPrecacheParamsList OutParams 
)
overrideprotectedvirtual

Collect all the PSO precache data used by the geometry collection

◆ ComputeBounds() [1/2]

FBox UGeometryCollectionComponent::ComputeBounds ( const FMatrix LocalToWorldWithScale) const
protected

◆ ComputeBounds() [2/2]

FBox UGeometryCollectionComponent::ComputeBounds ( const FTransform LocalToWorldWithScale) const
protected

◆ ComputeBoundsFromComponentSpaceTransforms() [1/2]

FBox UGeometryCollectionComponent::ComputeBoundsFromComponentSpaceTransforms ( const FTransform LocalToWorldWithScale,
const TArray< FTransform > &  ComponentSpaceTransformsArray 
) const
protected

◆ ComputeBoundsFromComponentSpaceTransforms() [2/2]

FBox UGeometryCollectionComponent::ComputeBoundsFromComponentSpaceTransforms ( const FTransform LocalToWorldWithScale,
const TArray< FTransform3f > &  ComponentSpaceTransformsArray 
) const
protected

◆ ComputeBoundsFromGlobalMatrices()

FBox UGeometryCollectionComponent::ComputeBoundsFromGlobalMatrices ( const FMatrix LocalToWorldWithScale,
const TArray< FMatrix > &  GlobalMatricesArray 
) const
protected

◆ CreateRenderState_Concurrent()

void UGeometryCollectionComponent::CreateRenderState_Concurrent ( FRegisterComponentContext Context)
overridevirtual

◆ CreateSceneProxy()

FPrimitiveSceneProxy * UGeometryCollectionComponent::CreateSceneProxy ( )
overridevirtual

◆ CrumbleActiveClusters()

void UGeometryCollectionComponent::CrumbleActiveClusters ( )

Crumbe active clusters for this entire geometry collection this will apply to internal and regular clusters

◆ CrumbleCluster()

void UGeometryCollectionComponent::CrumbleCluster ( int32  ItemIndex)

Crumbe a cluster into all its pieces

Parameters
ItemIndexitem index ( from HitResult) of the cluster to crumble

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [1/2]

UGeometryCollectionComponent::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FNotifyGeometryCollectionPhysicsLoadingStateChange  ,
UGeometryCollectionComponent ,
FracturedComponent   
)

◆ DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam() [2/2]

UGeometryCollectionComponent::DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam ( FNotifyGeometryCollectionPhysicsStateChange  ,
UGeometryCollectionComponent ,
FracturedComponent   
)

Blueprint event

◆ DispatchBreakEvent()

void UGeometryCollectionComponent::DispatchBreakEvent ( const FChaosBreakEvent Event)

◆ DispatchChaosPhysicsCollisionBlueprintEvents()

void UGeometryCollectionComponent::DispatchChaosPhysicsCollisionBlueprintEvents ( const FChaosPhysicsCollisionInfo CollisionInfo)
overridevirtual

Implementing classes should override to dispatch whatever blueprint events they choose to offer

Reimplemented from IChaosNotifyHandlerInterface.

◆ DispatchCrumblingEvent()

void UGeometryCollectionComponent::DispatchCrumblingEvent ( const FChaosCrumblingEvent Event)

◆ DispatchFieldCommand()

void UGeometryCollectionComponent::DispatchFieldCommand ( const FFieldSystemCommand InCommand)
protected

Issue a field command for the physics thread

◆ DispatchRemovalEvent()

void UGeometryCollectionComponent::DispatchRemovalEvent ( const FChaosRemovalEvent Event)

◆ DoCustomNavigableGeometryExport()

bool UGeometryCollectionComponent::DoCustomNavigableGeometryExport ( FNavigableGeometryExport GeomExport) const
override

◆ DoesSocketExist()

bool UGeometryCollectionComponent::DoesSocketExist ( FName  InSocketName) const
overridevirtual

◆ EditRestCollection()

FGeometryCollectionEdit UGeometryCollectionComponent::EditRestCollection ( GeometryCollection::EEditUpdate  EditUpdate = GeometryCollection::EEditUpdate::RestPhysicsDynamic,
bool  bShapeIsUnchanged = false 
)
inline

◆ EndPlay()

void UGeometryCollectionComponent::EndPlay ( const EEndPlayReason::Type  ReasonEnd)
overridevirtual

◆ FindLeafTransformByLineTrace()

bool UGeometryCollectionComponent::FindLeafTransformByLineTrace ( const FVector  Start,
const FVector  End,
int32 LeafTransformIndex,
FName LeafTransformName 
) const

Find a leaf transform from a line trace

Parameters
StartStart position for the line trace
Endposition for the line trace
LeafTransformIndexthe index of leaf transform found by the line trace
LeafTransformNamethe name of leaf transform found by the line trace
Returns
true if a leaf was found

◆ ForceBrokenForCustomRenderer()

void UGeometryCollectionComponent::ForceBrokenForCustomRenderer ( bool  bForceBroken)

Force any custom renderer to render using the broken/decayed path. This can be set at runtime

◆ GetAllPhysicsObjects()

TArray< Chaos::FPhysicsObject * > UGeometryCollectionComponent::GetAllPhysicsObjects ( ) const
overridevirtual

◆ GetBodyInstance()

FBodyInstance * UGeometryCollectionComponent::GetBodyInstance ( FName  BoneName = NAME_None,
bool  bGetWelded = true,
int32  Index = -1 
) const
overridevirtual

◆ GetBoneSelectedMaterialID()

const int UGeometryCollectionComponent::GetBoneSelectedMaterialID ( ) const
inline

◆ GetComponentSpaceTransforms()

TArray< FTransform > UGeometryCollectionComponent::GetComponentSpaceTransforms ( )

◆ GetComponentSpaceTransforms3f()

const TArray< FTransform3f > & UGeometryCollectionComponent::GetComponentSpaceTransforms3f ( )

◆ GetCustomRenderer()

IGeometryCollectionExternalRenderInterface * UGeometryCollectionComponent::GetCustomRenderer ( )
inline

Get any custom renderer. Returns nullptr if none is set.

◆ GetDamageThreshold()

TArray< float > UGeometryCollectionComponent::GetDamageThreshold ( ) const
inline

◆ GetDebugInfo()

FString UGeometryCollectionComponent::GetDebugInfo ( )

RestCollection

◆ GetDisabledFlags()

const TArray< bool > & UGeometryCollectionComponent::GetDisabledFlags ( ) const
inline

◆ GetDynamicCollection() [1/2]

FGeometryDynamicCollection * UGeometryCollectionComponent::GetDynamicCollection ( )

◆ GetDynamicCollection() [2/2]

const FGeometryDynamicCollection * UGeometryCollectionComponent::GetDynamicCollection ( ) const

◆ GetEnableBoneSelection()

bool UGeometryCollectionComponent::GetEnableBoneSelection ( ) const
inline

◆ GetGlobalMatrices()

TArray< FMatrix > UGeometryCollectionComponent::GetGlobalMatrices ( )
inline

Used by Niagara DI to query global matrices rather than recalculating them again

◆ GetIdFromGTParticle()

Chaos::FPhysicsObjectId UGeometryCollectionComponent::GetIdFromGTParticle ( Chaos::FGeometryParticle Particle) const
overridevirtual

◆ GetInitializationCommands()

void UGeometryCollectionComponent::GetInitializationCommands ( TArray< FFieldSystemCommand > &  CombinedCommmands)
protected

Combine the commands from the input field assets

◆ GetInitialLevel()

int32 UGeometryCollectionComponent::GetInitialLevel ( int32  ItemIndex)

Get the initial level of a specific piece Initial level means the level as it is in the unbroken state

Parameters
ItemIndexitem index ( from HitResult) of the cluster to get level from
Levelof the piece ( 0 for root level and positive for the rest )

◆ GetInitialLocalRestTransforms()

TArray< FTransform > UGeometryCollectionComponent::GetInitialLocalRestTransforms ( ) const

Get the initial rest transforms in component (local) space space, they are the transforms as defined in the rest collection asset

◆ GetInnerChaosScene()

FPhysScene_Chaos * UGeometryCollectionComponent::GetInnerChaosScene ( ) const

◆ GetIsObjectDynamic()

bool UGeometryCollectionComponent::GetIsObjectDynamic ( ) const

◆ GetIsObjectLoading()

bool UGeometryCollectionComponent::GetIsObjectLoading ( )
inline

◆ GetLifetimeReplicatedProps()

void UGeometryCollectionComponent::GetLifetimeReplicatedProps ( TArray< FLifetimeProperty > &  OutLifetimeProps) const
overridevirtual

◆ GetLocalBounds()

FBox UGeometryCollectionComponent::GetLocalBounds ( ) const
inline

Get local bounds of the geometry collection

◆ GetLocalRestTransforms()

TArray< FTransform > UGeometryCollectionComponent::GetLocalRestTransforms ( bool  bInitialTransforms = false) const

Get the rest transforms in component (local) space space, if none have been set by SetLocalRestTransforms or if RestTransform property is empty , then the initial ones are returned

Parameters
bInitialTransformforce the initial transforms to be returned ( false by default )

◆ GetMass()

float UGeometryCollectionComponent::GetMass ( ) const
overridevirtual

Returns the mass of this component in kg.

◆ GetMassAndExtents()

void UGeometryCollectionComponent::GetMassAndExtents ( int32  ItemIndex,
float OutMass,
FBox OutExtents 
)

Get mass and extent of a specific piece

Parameters
ItemIndexitem index ( from HitResult) of the cluster to get level from
Levelof the piece ( 0 for root level and positive for the rest )

◆ GetMaterial()

UMaterialInterface * UGeometryCollectionComponent::GetMaterial ( int32  MaterialIndex) const
overridevirtual

Reimplemented from UMeshComponent.

◆ GetMaterialRelevance() [1/2]

FMaterialRelevance UGeometryCollectionComponent::GetMaterialRelevance ( ERHIFeatureLevel::Type  InFeatureLevel) const
overridevirtual

Accesses the scene relevance information for the materials applied to the mesh. Valid from game thread only.

Reimplemented from UMeshComponent.

◆ GetMaterialRelevance() [2/2]

FMaterialRelevance UGeometryCollectionComponent::GetMaterialRelevance ( EShaderPlatform  InShaderPlatform) const
overridevirtual

Reimplemented from UMeshComponent.

◆ GetNotifyTrailing()

bool UGeometryCollectionComponent::GetNotifyTrailing ( ) const
inline

◆ GetNumElements()

int32 UGeometryCollectionComponent::GetNumElements ( FName  Group) const

API for getting at geometry collection data

◆ GetNumMaterials()

int32 UGeometryCollectionComponent::GetNumMaterials ( ) const
overridevirtual

Reimplemented from UMeshComponent.

◆ GetParent()

COPY_ON_WRITE_ATTRIBUTES int32 UGeometryCollectionComponent::GetParent ( int32  Index) const

◆ GetParentArrayRest()

const TManagedArray< int32 > & UGeometryCollectionComponent::GetParentArrayRest ( ) const

◆ GetPhysicalMaterial()

UPhysicalMaterial * UGeometryCollectionComponent::GetPhysicalMaterial ( ) const

Gets the physical material to use for this geometry collection, taking into account instance overrides and render materials

◆ GetPhysicsObjectById()

Chaos::FPhysicsObject * UGeometryCollectionComponent::GetPhysicsObjectById ( Chaos::FPhysicsObjectId  Id) const
overridevirtual

◆ GetPhysicsObjectByName()

Chaos::FPhysicsObject * UGeometryCollectionComponent::GetPhysicsObjectByName ( const FName Name) const
overridevirtual

◆ GetPhysicsProxy() [1/2]

FGeometryCollectionPhysicsProxy * UGeometryCollectionComponent::GetPhysicsProxy ( )
inline

◆ GetPhysicsProxy() [2/2]

const FGeometryCollectionPhysicsProxy * UGeometryCollectionComponent::GetPhysicsProxy ( ) const
inline

◆ GetPhysicsSolverActor()

AChaosSolverActor * UGeometryCollectionComponent::GetPhysicsSolverActor ( ) const

◆ GetPreviousComponentToWorld()

const FTransform & UGeometryCollectionComponent::GetPreviousComponentToWorld ( ) const

◆ GetResourceSizeEx()

void UGeometryCollectionComponent::GetResourceSizeEx ( FResourceSizeEx CumulativeResourceSize)
overridevirtual

◆ GetRestCollection()

const UGeometryCollection * UGeometryCollectionComponent::GetRestCollection ( ) const
inline

◆ GetRestTransforms()

void UGeometryCollectionComponent::GetRestTransforms ( TArray< FMatrix44f > &  OutRestTransforms) const

◆ GetRootBrokenElapsedTimeInMs()

double UGeometryCollectionComponent::GetRootBrokenElapsedTimeInMs ( ) const
inline

◆ GetRootCurrentComponentSpaceTransform()

FTransform UGeometryCollectionComponent::GetRootCurrentComponentSpaceTransform ( ) const

◆ GetRootCurrentTransform()

FTransform UGeometryCollectionComponent::GetRootCurrentTransform ( ) const

Get the root item current world transform

◆ GetRootIndex()

int32 UGeometryCollectionComponent::GetRootIndex ( ) const

Get the root item index of the hierarchy

◆ GetRootInitialTransform()

FTransform UGeometryCollectionComponent::GetRootInitialTransform ( ) const

Get the root item initial transform in world space

◆ GetRootParticleMassOffset()

FTransform UGeometryCollectionComponent::GetRootParticleMassOffset ( ) const

◆ GetShowBoneColors()

bool UGeometryCollectionComponent::GetShowBoneColors ( ) const
inline

◆ GetSocketTransform()

FTransform UGeometryCollectionComponent::GetSocketTransform ( FName  InSocketName,
ERelativeTransformSpace  TransformSpace = RTS_World 
) const
overridevirtual

◆ GetSolver()

PRAGMA_ENABLE_DEPRECATION_WARNINGS Chaos::FPhysicsSolver * UGeometryCollectionComponent::GetSolver ( const UGeometryCollectionComponent GeometryCollectionComponent)
staticprotected

◆ GetSuppressSelectionMaterial()

bool UGeometryCollectionComponent::GetSuppressSelectionMaterial ( ) const

◆ GetUpdateCustomRendererOnPostPhysicsSync()

bool UGeometryCollectionComponent::GetUpdateCustomRendererOnPostPhysicsSync ( ) const
inline

◆ GetUsedMaterials()

void UGeometryCollectionComponent::GetUsedMaterials ( TArray< UMaterialInterface * > &  OutMaterials,
bool  bGetDebugMaterials = false 
) const
overridevirtual

Reimplemented from UMeshComponent.

◆ GetUseStaticMeshCollisionForTraces()

bool UGeometryCollectionComponent::GetUseStaticMeshCollisionForTraces ( ) const
inline

◆ HasAnySockets()

bool UGeometryCollectionComponent::HasAnySockets ( ) const
overridevirtual

◆ HasValidPhysicsState()

bool UGeometryCollectionComponent::HasValidPhysicsState ( ) const
overridevirtual

◆ InitDynamicData()

FGeometryCollectionDynamicData * UGeometryCollectionComponent::InitDynamicData ( bool  bInitialization = false)
protected

Populate the dynamic particle data for the render thread.

◆ InitializeEmbeddedGeometry()

void UGeometryCollectionComponent::InitializeEmbeddedGeometry ( )

Update component structure to reflect any changes to the embedded geometry

◆ IsForceBrokenForCustomRenderer()

bool UGeometryCollectionComponent::IsForceBrokenForCustomRenderer ( ) const
inline

◆ IsFullyDecayed()

bool UGeometryCollectionComponent::IsFullyDecayed ( ) const

◆ IsNavigationRelevant()

bool UGeometryCollectionComponent::IsNavigationRelevant ( ) const
overridevirtual

◆ IsRootBroken()

bool UGeometryCollectionComponent::IsRootBroken ( ) const
inline

return true if the root cluster is not longer active at runtime

◆ MoveComponentImpl()

bool UGeometryCollectionComponent::MoveComponentImpl ( const FVector Delta,
const FQuat NewRotation,
bool  bSweep,
FHitResult Hit,
EMoveComponentFlags  MoveFlags,
ETeleportType  Teleport 
)
overridevirtual

◆ NotifyBreak()

virtual void UGeometryCollectionComponent::NotifyBreak ( const FChaosBreakEvent Event)
inlinevirtual

Overrideable native notification

◆ NotifyRemoval()

virtual void UGeometryCollectionComponent::NotifyRemoval ( const FChaosRemovalEvent Event)
inlinevirtual

Overrideable native notification

◆ OnActorEnableCollisionChanged()

void UGeometryCollectionComponent::OnActorEnableCollisionChanged ( )
overridevirtual

◆ OnActorVisibilityChanged()

void UGeometryCollectionComponent::OnActorVisibilityChanged ( )
overridevirtual

◆ OnComponentCollisionSettingsChanged()

void UGeometryCollectionComponent::OnComponentCollisionSettingsChanged ( bool  bUpdateOverlaps = true)
overrideprotectedvirtual

◆ OnComponentDestroyed()

void UGeometryCollectionComponent::OnComponentDestroyed ( bool  bDestroyingHierarchy)
overridevirtual

◆ OnCreatePhysicsState()

void UGeometryCollectionComponent::OnCreatePhysicsState ( )
overridevirtual

◆ OnDestroyPhysicsState()

void UGeometryCollectionComponent::OnDestroyPhysicsState ( )
overridevirtual

◆ OnHiddenInGameChanged()

void UGeometryCollectionComponent::OnHiddenInGameChanged ( )
overridevirtual

◆ OnRegister()

void UGeometryCollectionComponent::OnRegister ( )
overridevirtual

◆ OnRep_RepData()

void UGeometryCollectionComponent::OnRep_RepData ( )
protected

Called post solve to allow authoritative components to update their replication data

◆ OnRep_RepDynamicData()

void UGeometryCollectionComponent::OnRep_RepDynamicData ( )
protected

◆ OnRep_RepStateData()

void UGeometryCollectionComponent::OnRep_RepStateData ( )
protected

◆ OnUnregister()

void UGeometryCollectionComponent::OnUnregister ( )
overridevirtual

◆ OnUpdateTransform()

void UGeometryCollectionComponent::OnUpdateTransform ( EUpdateTransformFlags  UpdateTransformFlags,
ETeleportType  Teleport = ETeleportType::None 
)
overridevirtual

◆ OnVisibilityChanged()

void UGeometryCollectionComponent::OnVisibilityChanged ( )
overridevirtual

◆ PostLoad()

void UGeometryCollectionComponent::PostLoad ( )
overridevirtual

◆ ProcessRepData() [1/2]

void UGeometryCollectionComponent::ProcessRepData ( )
protectedvirtual

◆ ProcessRepData() [2/2]

bool UGeometryCollectionComponent::ProcessRepData ( float  DeltaTime,
float  SimTime 
)
protectedvirtual

◆ QuerySupportedSockets()

void UGeometryCollectionComponent::QuerySupportedSockets ( TArray< FComponentSocketDescription > &  OutSockets) const
overridevirtual

◆ RebaseDynamicCollectionTransformsOnNewWorldTransform()

void UGeometryCollectionComponent::RebaseDynamicCollectionTransformsOnNewWorldTransform ( )

Currently, component space transforms for every particle is compute relative to the component transform. By default, this means that when the component transform changes, every particle is shifted along with the component. However, there are times when you may change the component transform but instead want every particle to stay in the same world position. In those cases, RebaseDynamicCollectionTransformsOnNewWorldTransform can be called.

◆ ReceivePhysicsCollision()

GEOMETRYCOLLECTIONENGINE_API void UGeometryCollectionComponent::ReceivePhysicsCollision ( const FChaosPhysicsCollisionInfo CollisionInfo)

◆ RefreshCustomRenderer()

void UGeometryCollectionComponent::RefreshCustomRenderer ( )

Updates the custom renderer to the reflect the current state of the Geometry Collection

◆ RefreshEmbeddedGeometry()

void UGeometryCollectionComponent::RefreshEmbeddedGeometry ( )

Update instanced static mesh components to reflect internal embedded geometry state.

◆ RefreshRootProxies()

void UGeometryCollectionComponent::RefreshRootProxies ( )

Refresh root proxies whether they are drawn through the custom renderer or normal static mesh components

◆ RegisterAndInitializePhysicsProxy()

void UGeometryCollectionComponent::RegisterAndInitializePhysicsProxy ( )

◆ RegisterForEvents()

void UGeometryCollectionComponent::RegisterForEvents ( )
protected

◆ RemoveAllAnchors()

void UGeometryCollectionComponent::RemoveAllAnchors ( )

this will remove anchors on all the pieces ( including the static and kinematic initial states ones ) of the geometry colection

◆ RequestUpdateRepData()

void UGeometryCollectionComponent::RequestUpdateRepData ( )
protected

◆ ReregisterAllCustomRenderers()

void UGeometryCollectionComponent::ReregisterAllCustomRenderers ( )
static

Force all GC components to reregister their custom renderer objects.

◆ ResetDynamicCollection()

void UGeometryCollectionComponent::ResetDynamicCollection ( )
protected

Reset the dynamic collection from the current rest state.

◆ ResetRepData()

void UGeometryCollectionComponent::ResetRepData ( )
protectedvirtual

Clear all rep data, this is required if the physics proxy has been recreated

◆ ResetRestTransforms()

void UGeometryCollectionComponent::ResetRestTransforms ( )

◆ ResetState()

void UGeometryCollectionComponent::ResetState ( )

Reset the state of the component : object will be rest to be unbroken and physics will reset accordingly

◆ SendRenderDynamicData_Concurrent()

void UGeometryCollectionComponent::SendRenderDynamicData_Concurrent ( )
overridevirtual

◆ Serialize()

void UGeometryCollectionComponent::Serialize ( FArchive Ar)
overridevirtual

◆ SetAbandonedParticleCollisionProfileName()

void UGeometryCollectionComponent::SetAbandonedParticleCollisionProfileName ( FName  CollisionProfile)

◆ SetAnchoredByBox()

void UGeometryCollectionComponent::SetAnchoredByBox ( FBox  WorldSpaceBox,
bool  bAnchored,
int32  MaxLevel = -1 
)

Set all pieces within a world space bounding box to be anchored or not

◆ SetAnchoredByIndex()

void UGeometryCollectionComponent::SetAnchoredByIndex ( int32  Index,
bool  bAnchored 
)

Set a piece or cluster to be anchored or not

◆ SetAnchoredByTransformedBox()

void UGeometryCollectionComponent::SetAnchoredByTransformedBox ( FBox  Box,
FTransform  Transform,
bool  bAnchored,
int32  MaxLevel = -1 
)

Set all pieces within a world transformed bounding box to be anchored or not

◆ SetCollisionObjectType()

void UGeometryCollectionComponent::SetCollisionObjectType ( ECollisionChannel  Channel)
overridevirtual

◆ SetDamageModel()

void UGeometryCollectionComponent::SetDamageModel ( EDamageModelTypeEnum  InDamageModel)

◆ SetDamagePropagationData()

void UGeometryCollectionComponent::SetDamagePropagationData ( const FGeometryCollectionDamagePropagationData InDamagePropagationData)

◆ SetDamageThreshold()

void UGeometryCollectionComponent::SetDamageThreshold ( const TArray< float > &  InDamageThreshold)

◆ SetDensityFromPhysicsMaterial()

void UGeometryCollectionComponent::SetDensityFromPhysicsMaterial ( bool  bInDensityFromPhysicsMaterial)

◆ SetDynamicState()

void UGeometryCollectionComponent::SetDynamicState ( const Chaos::EObjectStateType NewDynamicState)

Set the dynamic state for all bodies in the DynamicCollection.

◆ SetEnableDamageFromCollision()

void UGeometryCollectionComponent::SetEnableDamageFromCollision ( bool  bValue)

◆ SetEnableGravity()

void UGeometryCollectionComponent::SetEnableGravity ( bool  bGravityEnabled)
overridevirtual

◆ SetEnableReplication()

void UGeometryCollectionComponent::SetEnableReplication ( bool  bInEnableReplication)
inline

Attn: these replication methods are helpers meant to be called before the component is fully registered, like a constructor!

◆ SetGravityGroupIndex()

void UGeometryCollectionComponent::SetGravityGroupIndex ( int32  InGravityGroupIndex)

◆ SetInitialClusterBreaks()

void UGeometryCollectionComponent::SetInitialClusterBreaks ( const TArray< int32 > &  ReleaseIndices)

Modify DynamicCollection transform hierarchy to effect cluster breaks releasing the specified indices.

◆ SetInitialTransforms()

void UGeometryCollectionComponent::SetInitialTransforms ( const TArray< FTransform > &  InitialTransforms)

Set transforms for all bodies in the DynamicCollection.

◆ SetLocalRestTransforms()

void UGeometryCollectionComponent::SetLocalRestTransforms ( const TArray< FTransform > &  Transforms,
bool  bOnlyLeaves 
)

Set the local rest transform, this may be different from the rest collection If the geometry collection is already simulating those matrices will be overriden by the physics state updates

◆ SetNotifyBreaks()

void UGeometryCollectionComponent::SetNotifyBreaks ( bool  bNewNotifyBreaks)

Changes whether or not this component will get future break notifications.

◆ SetNotifyCrumblings()

void UGeometryCollectionComponent::SetNotifyCrumblings ( bool  bNewNotifyCrumblings,
bool  bNewCrumblingEventIncludesChildren = false 
)

Changes whether or not this component will get future crumbling notifications.

◆ SetNotifyGlobalBreaks()

void UGeometryCollectionComponent::SetNotifyGlobalBreaks ( bool  bNewNotifyGlobalBreaks)

Changes whether or not this component will get future global break notifications.

◆ SetNotifyGlobalCollision()

void UGeometryCollectionComponent::SetNotifyGlobalCollision ( bool  bNewNotifyGlobalCollisions)

Changes whether or not this component will get future global collision notifications.

◆ SetNotifyGlobalCrumblings()

void UGeometryCollectionComponent::SetNotifyGlobalCrumblings ( bool  bNewNotifyGlobalCrumblings,
bool  bGlobalNewCrumblingEventIncludesChildren 
)

Changes whether or not this component will get future global crumbling notifications.

◆ SetNotifyGlobalRemovals()

void UGeometryCollectionComponent::SetNotifyGlobalRemovals ( bool  bNewNotifyGlobalRemovals)

Changes whether or not this component will get future global removal notifications.

◆ SetNotifyRemovals()

void UGeometryCollectionComponent::SetNotifyRemovals ( bool  bNewNotifyRemovals)

Changes whether or not this component will get future removal notifications.

◆ SetNotifyRigidBodyCollision()

void UGeometryCollectionComponent::SetNotifyRigidBodyCollision ( bool  bNewNotifyRigidBodyCollision)
overridevirtual

◆ SetOneWayInteractionLevel()

void UGeometryCollectionComponent::SetOneWayInteractionLevel ( int32  InOneWayInteractionLevel)

◆ SetParticleCollisionProfileName()

void UGeometryCollectionComponent::SetParticleCollisionProfileName ( int32  BoneId,
FName  ProfileName,
FGCCollisionProfileScopedTransaction InProfileNameUpdateTransaction 
)

◆ SetPerLevelCollisionProfileNames()

void UGeometryCollectionComponent::SetPerLevelCollisionProfileNames ( const TArray< FName > &  ProfileNames)

◆ SetPerParticleCollisionProfileName() [1/2]

void UGeometryCollectionComponent::SetPerParticleCollisionProfileName ( const TArray< int32 > &  BoneIds,
FName  ProfileName 
)

◆ SetPerParticleCollisionProfileName() [2/2]

void UGeometryCollectionComponent::SetPerParticleCollisionProfileName ( const TSet< int32 > &  BoneIds,
FName  ProfileName 
)

◆ SetPhysMaterialOverride()

void UGeometryCollectionComponent::SetPhysMaterialOverride ( UPhysicalMaterial NewPhysMaterial)
overridevirtual

◆ SetRenderStateDirty()

FORCEINLINE void UGeometryCollectionComponent::SetRenderStateDirty ( )
inline

◆ SetReplicationAbandonAfterLevel()

void UGeometryCollectionComponent::SetReplicationAbandonAfterLevel ( int32  InReplicationAbandonAfterLevel)
inline

◆ SetReplicationMaxPositionAndVelocityCorrectionLevel()

void UGeometryCollectionComponent::SetReplicationMaxPositionAndVelocityCorrectionLevel ( int32  InReplicationMaxPositionAndVelocityCorrectionLevel)
inline

◆ SetRestCollection()

void UGeometryCollectionComponent::SetRestCollection ( const UGeometryCollection RestCollectionIn,
bool  bApplyAssetDefaults = true 
)

RestCollection

◆ SetRestState()

void UGeometryCollectionComponent::SetRestState ( TArray< FTransform > &&  InRestTransforms)

◆ SetRootProxyComponentSpaceTransform()

void UGeometryCollectionComponent::SetRootProxyComponentSpaceTransform ( int32  Index,
const FTransform RootProxyTransform 
)

blueprint function to set a specific root proxy local transform warning: when called from C++ and calling it on multiple root proxies it is recommended to use SetRootProxyLocalTransform instead and then call RefreshCustomRenderer to avoid the cost of refreshing the renderer each time

◆ SetRootProxyLocalTransform()

void UGeometryCollectionComponent::SetRootProxyLocalTransform ( int32  Index,
const FTransform3f RootProxyTransform 
)

Set a specific root proxy local transform

◆ SetShowBoneColors()

void UGeometryCollectionComponent::SetShowBoneColors ( bool  ShowBoneColorsIn)
inline

◆ SetSimulatePhysics()

void UGeometryCollectionComponent::SetSimulatePhysics ( bool  bEnabled)
overridevirtual

◆ SetUpdateCustomRenderer()

void UGeometryCollectionComponent::SetUpdateCustomRenderer ( bool  bValue)
inline

◆ SetUpdateCustomRendererOnPostPhysicsSync()

void UGeometryCollectionComponent::SetUpdateCustomRendererOnPostPhysicsSync ( bool  bValue)
inline

update of the custom renderer when post physics sync callback is executing ( valid if custom redner is being used ) - true by default

◆ SetUpdateNavigationInTick()

void UGeometryCollectionComponent::SetUpdateNavigationInTick ( const bool  bUpdateInTick)
inline

◆ SetUseMaterialDamageModifiers()

void UGeometryCollectionComponent::SetUseMaterialDamageModifiers ( bool  bInUseMaterialDamageModifiers)

◆ SetUseRootProxyForNavigation()

void UGeometryCollectionComponent::SetUseRootProxyForNavigation ( const bool  bUseRootProxyForNav)
inline

◆ SetUseStaticMeshCollisionForTraces()

void UGeometryCollectionComponent::SetUseStaticMeshCollisionForTraces ( bool  bInUseStaticMeshCollisionForTraces)

◆ ShouldCreatePhysicsState()

bool UGeometryCollectionComponent::ShouldCreatePhysicsState ( ) const
overridevirtual

◆ ShouldCreateRenderState()

bool UGeometryCollectionComponent::ShouldCreateRenderState ( ) const
overridevirtual

◆ ShouldUpdateComponentTransformToRootBone()

bool UGeometryCollectionComponent::ShouldUpdateComponentTransformToRootBone ( ) const
inline

◆ TickComponent()

void UGeometryCollectionComponent::TickComponent ( float  DeltaTime,
enum ELevelTick  TickType,
FActorComponentTickFunction ThisTickFunction 
)
overridevirtual

◆ UFUNCTION()

UGeometryCollectionComponent::UFUNCTION ( BlueprintCallable  ,
Category  = "Physics",
meta  = (DeprecatedFunction, DeprecationMessage = "Please use ForceBrokenForCustomRenderer() instead") 
)
inline

◆ UpdateCachedBounds()

void UGeometryCollectionComponent::UpdateCachedBounds ( )

◆ UpdateGlobalCollisionEventRegistration()

void UGeometryCollectionComponent::UpdateGlobalCollisionEventRegistration ( )
protected

◆ UpdateGlobalRemovalEventRegistration()

void UGeometryCollectionComponent::UpdateGlobalRemovalEventRegistration ( )
protected

◆ UpdateRBCollisionEventRegistration()

void UGeometryCollectionComponent::UpdateRBCollisionEventRegistration ( )
protected

◆ UpdateRepData()

void UGeometryCollectionComponent::UpdateRepData ( )
protectedvirtual

◆ UpdateRepStateAndDynamicData()

void UGeometryCollectionComponent::UpdateRepStateAndDynamicData ( )
protectedvirtual

Friends And Related Symbol Documentation

◆ FGCCollisionProfileScopedTransaction

◆ FGeometryCollectionCommands

friend class FGeometryCollectionCommands
friend

◆ FGeometryCollectionEdit

◆ FGeometryCollectionSceneProxyBase

Member Data Documentation

◆ AbandonedCollisionProfileName

FName UGeometryCollectionComponent::AbandonedCollisionProfileName
protected

Whether abandoned particles on the client should continue to have collision (i.e. still be in the external/internal acceleration structure).

◆ AngularEtherDrag_DEPRECATED

float UGeometryCollectionComponent::AngularEtherDrag_DEPRECATED

Uniform angular ether drag.

◆ bAllowRemovalOnBreak

bool UGeometryCollectionComponent::bAllowRemovalOnBreak

Allow removal on break for the instance if the rest collection has it enabled

◆ bAllowRemovalOnSleep

bool UGeometryCollectionComponent::bAllowRemovalOnSleep

Allow removal on sleep for the instance if the rest collection has it enabled

◆ bAlreadyFullyDecayed

bool UGeometryCollectionComponent::bAlreadyFullyDecayed = false
protected

◆ BaseRigidBodyIndex

int32 UGeometryCollectionComponent::BaseRigidBodyIndex

◆ bAutoAssignISMPool_DEPRECATED

bool UGeometryCollectionComponent::bAutoAssignISMPool_DEPRECATED = false
protected

Deprecated for CustomRendererType.

◆ bCrumblingEventIncludesChildren

bool UGeometryCollectionComponent::bCrumblingEventIncludesChildren

If this and bNotifyCrumblings are true, the crumbling events will contain released children indices.

◆ bCustomRendererCanUseNativeFallback

uint8 UGeometryCollectionComponent::bCustomRendererCanUseNativeFallback
protected

Custom renderer flag to specify if custom renderer can ever require native fallback.

◆ bCustomRendererShouldUseNativeFallback

uint8 UGeometryCollectionComponent::bCustomRendererShouldUseNativeFallback
protected

Custom renderer flag to specify if custom renderer should use native fallback.

◆ bDensityFromPhysicsMaterial

bool UGeometryCollectionComponent::bDensityFromPhysicsMaterial

when true, density will be used to compute mass using the assigned physics material

◆ bEnableAbandonAfterLevel

bool UGeometryCollectionComponent::bEnableAbandonAfterLevel
protected

Enables use of ReplicationAbandonAfterLevel to stop providing network updates to clients when the updated particle is of a level higher then specified.

◆ bEnableDamageFromCollision

bool UGeometryCollectionComponent::bEnableDamageFromCollision

Whether or not collisions against this geometry collection will apply strain which could cause the geometry collection to fracture.

◆ bEnableReplication

bool UGeometryCollectionComponent::bEnableReplication
protected

◆ bForceBrokenForCustomRenderer

uint8 UGeometryCollectionComponent::bForceBrokenForCustomRenderer
protected

Force the broken state for custom renderer rendering.

◆ bForceMotionBlur

bool UGeometryCollectionComponent::bForceMotionBlur

If ForceMotionBlur is on, motion blur will always be active, even if the GeometryCollection is at rest.

◆ bForceNativeRenderer

uint8 UGeometryCollectionComponent::bForceNativeRenderer
protected

Force native geometry collection rendering. This is used in the editor fracture mode.

◆ bForceUpdateActiveTransforms

bool UGeometryCollectionComponent::bForceUpdateActiveTransforms

Update transforms of active particles even when they are not moving. Has performance implications. Use only when GC is a child of a moving actor, to prevent released particle 'following the actor around'

◆ bGlobalCrumblingEventIncludesChildren

bool UGeometryCollectionComponent::bGlobalCrumblingEventIncludesChildren

If this and bNotifyGlobalCrumblings are true, the crumbling events will contain released children indices.

◆ bIsCurrentlyNavigationRelevant

bool UGeometryCollectionComponent::bIsCurrentlyNavigationRelevant = true

◆ bNotifyBreaks

bool UGeometryCollectionComponent::bNotifyBreaks

If true, this component will generate breaking events that other systems may subscribe to.

◆ bNotifyCollisions

bool UGeometryCollectionComponent::bNotifyCollisions

If true, this component will generate collision events that other systems may subscribe to.

◆ bNotifyCrumblings

bool UGeometryCollectionComponent::bNotifyCrumblings

If true, this component will generate crumbling events that other systems may subscribe to.

◆ bNotifyGlobalBreaks

bool UGeometryCollectionComponent::bNotifyGlobalBreaks

If true, this component will generate breaking events that will be listened by the global event relay.

◆ bNotifyGlobalCollisions

bool UGeometryCollectionComponent::bNotifyGlobalCollisions

If true, this component will generate collision events that will be listened by the global event relay.

◆ bNotifyGlobalCrumblings

bool UGeometryCollectionComponent::bNotifyGlobalCrumblings

If true, this component will generate crumbling events that will be listened by the global event relay.

◆ bNotifyGlobalRemovals

bool UGeometryCollectionComponent::bNotifyGlobalRemovals

If true, this component will generate removal events that will be listened by the global event relay.

◆ bNotifyRemovals

bool UGeometryCollectionComponent::bNotifyRemovals

If true, this component will generate removal events that other systems may subscribe to.

◆ bNotifyTrailing

bool UGeometryCollectionComponent::bNotifyTrailing

If true, this component will generate trailing events that other systems may subscribe to.

◆ bOverrideCustomRenderer

bool UGeometryCollectionComponent::bOverrideCustomRenderer = false
protected

If true, CustomRendererType will be used. If false, CustomRendererType comes from the RestCollection.

◆ bShowBoneColors

bool UGeometryCollectionComponent::bShowBoneColors
protected

Display Bone Colors instead of assigned materials

◆ bStoreVelocities

bool UGeometryCollectionComponent::bStoreVelocities

If true, this component will save linear and angular velocities on its DynamicCollection.

◆ bUpdateComponentTransformToRootBone

bool UGeometryCollectionComponent::bUpdateComponentTransformToRootBone
protected

Relocate the component so that the original offset to the root bone is maintained This only works when the root bone is moving whole being dynamically simulated Note: Once the root element is broken, the component will no longer update its position

◆ bUpdateCustomRendererOnPostPhysicsSync

uint8 UGeometryCollectionComponent::bUpdateCustomRendererOnPostPhysicsSync
protected

Whether to refresh the custom renderer on physics updates.

◆ bUpdateNavigationInTick

bool UGeometryCollectionComponent::bUpdateNavigationInTick
protected

◆ bUseMaterialDamageModifiers

bool UGeometryCollectionComponent::bUseMaterialDamageModifiers

When on , use the modifiers on the material to adjust the user defined damage threshold values

◆ bUseRootProxyForNavigation

bool UGeometryCollectionComponent::bUseRootProxyForNavigation
protected

◆ bUseSizeSpecificDamageThreshold

bool UGeometryCollectionComponent::bUseSizeSpecificDamageThreshold

Damage threshold for clusters at different levels.

◆ bUseStaticMeshCollisionForTraces

bool UGeometryCollectionComponent::bUseStaticMeshCollisionForTraces = false
protected

◆ CacheParameters

FGeomComponentCacheParameters UGeometryCollectionComponent::CacheParameters

◆ CachePlayback

bool UGeometryCollectionComponent::CachePlayback

◆ ChaosSolverActor

TObjectPtr<AChaosSolverActor> UGeometryCollectionComponent::ChaosSolverActor

Chaos RBD Solver override. Will use the world's default solver actor if null.

◆ ClusterConnectionType_DEPRECATED

EClusterConnectionTypeEnum UGeometryCollectionComponent::ClusterConnectionType_DEPRECATED

◆ ClusterGroupIndex

int32 UGeometryCollectionComponent::ClusterGroupIndex

Cluster group index - Geometry Collections using the same index will simulate as one single cluster.

◆ CollisionGroup

int32 UGeometryCollectionComponent::CollisionGroup

◆ CollisionProfilePerLevel

TArray<FName> UGeometryCollectionComponent::CollisionProfilePerLevel
protected

A per-level collision profile name. If the name is set to NONE or an invalid collision profile, nothing will be changed. If the there are more levels than elements in this array, then each level will use the index that best matches it. For example, if the particle is level 2, and there is only 1 element in the array, then the particle will use the 0th collision profile. AbandonedCollisionProfileName will override this on the client when relevant.

◆ CollisionProfilePerParticle

TArray<FName> UGeometryCollectionComponent::CollisionProfilePerParticle
protected

A per-particle collision profile name. If the per-particle collision profile name exists, it will override the per-level profile name.

◆ CollisionSampleFraction

float UGeometryCollectionComponent::CollisionSampleFraction

Fraction of collision sample particles to keep

◆ CustomRenderer

TScriptInterface<IGeometryCollectionExternalRenderInterface> UGeometryCollectionComponent::CustomRenderer
protected

A custom renderer object created from CustomRenderType.

◆ CustomRendererType

TObjectPtr<UClass> UGeometryCollectionComponent::CustomRendererType
protected

Custom class type that will be used to render the geometry collection instead of using the native rendering.

◆ DamageModel

EDamageModelTypeEnum UGeometryCollectionComponent::DamageModel

Damage model to use for evaluating destruction.

◆ DamagePropagationData

FGeometryCollectionDamagePropagationData UGeometryCollectionComponent::DamagePropagationData

Data about how damage propagation shoudl behave.

◆ DamageThreshold

TArray<float> UGeometryCollectionComponent::DamageThreshold

◆ DefaultCollisionProfileName

FName UGeometryCollectionComponent::DefaultCollisionProfileName
static

◆ DesiredCacheTime

float UGeometryCollectionComponent::DesiredCacheTime

◆ DisabledFlags

TArray<bool> UGeometryCollectionComponent::DisabledFlags

◆ DynamicRepDataVersionProcessed

int32 UGeometryCollectionComponent::DynamicRepDataVersionProcessed = INDEX_NONE
protected

◆ EnableClustering

bool UGeometryCollectionComponent::EnableClustering

◆ GravityGroupIndex

int32 UGeometryCollectionComponent::GravityGroupIndex

◆ InitialAngularVelocity

FVector UGeometryCollectionComponent::InitialAngularVelocity

◆ InitializationFields

TArray<TObjectPtr<const AFieldSystemActor> > UGeometryCollectionComponent::InitializationFields

◆ InitializationState

ESimulationInitializationState UGeometryCollectionComponent::InitializationState

◆ InitialLinearVelocity

FVector UGeometryCollectionComponent::InitialLinearVelocity

◆ InitialVelocityType

EInitialVelocityTypeEnum UGeometryCollectionComponent::InitialVelocityType

◆ ISMPool_DEPRECATED

TObjectPtr<AISMPoolActor> UGeometryCollectionComponent::ISMPool_DEPRECATED
protected

Deprecated for CustomRendererType.

◆ LastAsyncPhysicsTickMs

int64 UGeometryCollectionComponent::LastAsyncPhysicsTickMs = 0
protected

◆ LinearEtherDrag_DEPRECATED

float UGeometryCollectionComponent::LinearEtherDrag_DEPRECATED

Uniform linear ether drag.

◆ MaxClusterLevel

int32 UGeometryCollectionComponent::MaxClusterLevel

Maximum level for cluster breaks.

◆ MaxSimulatedLevel

int32 UGeometryCollectionComponent::MaxSimulatedLevel

The maximum level to create rigid bodies that could be simulated. Example: If we have a Geometry Collection with 2 levels, where: 0 = Root 1 = Clusters 2 = Leaf Nodes A setting of '1' would only generate a physics representation of the Root transform and Level 1 clusters. The leaf nodes on Level 2 would never be created on the solver, and would therefore never be considered as part of the simulation.

◆ NotifyGeometryCollectionPhysicsLoadingStateChange

FNotifyGeometryCollectionPhysicsLoadingStateChange UGeometryCollectionComponent::NotifyGeometryCollectionPhysicsLoadingStateChange

◆ NotifyGeometryCollectionPhysicsStateChange

FNotifyGeometryCollectionPhysicsStateChange UGeometryCollectionComponent::NotifyGeometryCollectionPhysicsStateChange

◆ NumParticlesAdded

int32 UGeometryCollectionComponent::NumParticlesAdded

◆ ObjectType

EObjectStateTypeEnum UGeometryCollectionComponent::ObjectType

ObjectType defines how to initialize the rigid objects state, Kinematic, Sleeping, Dynamic.

◆ OnChaosBreakEvent

FOnChaosBreakEvent UGeometryCollectionComponent::OnChaosBreakEvent

◆ OnChaosCrumblingEvent

FOnChaosCrumblingEvent UGeometryCollectionComponent::OnChaosCrumblingEvent

◆ OnChaosPhysicsCollision

FOnChaosPhysicsCollision UGeometryCollectionComponent::OnChaosPhysicsCollision

◆ OnChaosRemovalEvent

FOnChaosRemovalEvent UGeometryCollectionComponent::OnChaosRemovalEvent

◆ OneWayInteractionLevel

int32 UGeometryCollectionComponent::OneWayInteractionLevel

◆ OnFullyDecayedEvent

FOnGeometryCollectionFullyDecayedEvent UGeometryCollectionComponent::OnFullyDecayedEvent

◆ OnRootBreakEvent

FOnChaosBreakEvent UGeometryCollectionComponent::OnRootBreakEvent

◆ OnRootMovedEvent

FOnGeometryCollectionRootMovedEvent UGeometryCollectionComponent::OnRootMovedEvent

◆ OnRootMovedNativeEvent

FOnGeometryCollectionRootMovedNativeEvent UGeometryCollectionComponent::OnRootMovedNativeEvent

◆ PhysicalMaterial_DEPRECATED

TObjectPtr<const UChaosPhysicalMaterial> UGeometryCollectionComponent::PhysicalMaterial_DEPRECATED

Physical Properties

◆ PhysicalMaterialOverride_DEPRECATED

TObjectPtr<UPhysicalMaterial> UGeometryCollectionComponent::PhysicalMaterialOverride_DEPRECATED

◆ RepData

FGeometryCollectionRepData UGeometryCollectionComponent::RepData
protected

◆ RepDynamicData

FGeometryCollectionRepDynamicData UGeometryCollectionComponent::RepDynamicData
protected

◆ ReplicationAbandonAfterLevel

int32 UGeometryCollectionComponent::ReplicationAbandonAfterLevel
protected

If replicating - the cluster level after which replication will not happen

See also
bEnableAbandonAfterLevel

◆ ReplicationAbandonClusterLevel_DEPRECATED

int32 UGeometryCollectionComponent::ReplicationAbandonClusterLevel_DEPRECATED
protected

If replicating - the cluster level to stop sending corrections for geometry collection chunks. recommended for smaller leaf levels when the size of the objects means they are no longer gameplay relevant to cut down on required bandwidth to update a collection.

See also
bEnableAbandonAfterLevel

◆ ReplicationMaxPositionAndVelocityCorrectionLevel

int32 UGeometryCollectionComponent::ReplicationMaxPositionAndVelocityCorrectionLevel
protected

If replicating - the maximum level where clusters will have their position and velocity send over to the client for tracking and correcting When breaking, client will only receive the initial break velocity This helps save bandwidth where only the destruction state of the GC is to be replicated but the falling pieces do not need to be tracked precisely

Note
This will have an effect only if set to a value less than ReplicationAbandonAfterLevel
See also
ReplicationAbandonAfterLevel

◆ RepStateData

FGeometryCollectionRepStateData UGeometryCollectionComponent::RepStateData
protected

◆ RestCollection

TObjectPtr<const UGeometryCollection> UGeometryCollectionComponent::RestCollection

◆ RestTransforms

TArray<FTransform> UGeometryCollectionComponent::RestTransforms

Optional transforms to initialize scene proxy if difference from the RestCollection.

◆ Simulating_DEPRECATED

bool UGeometryCollectionComponent::Simulating_DEPRECATED

◆ VersionProcessed

int32 UGeometryCollectionComponent::VersionProcessed = INDEX_NONE
protected

The documentation for this class was generated from the following files: