UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GeometryCollectionSimulationTypes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
7
8#include "GeometryCollectionSimulationTypes.generated.h"
9
10UENUM()
12{
13 Chaos_Volumetric UMETA(DisplayName = "Implicit-Implicit"),
14 Chaos_Surface_Volumetric UMETA(DisplayName = "Particle-Implicit"),
15 //
17};
18
19UENUM(BlueprintType)
21{
22 Chaos_Implicit_Box UMETA(DisplayName = "Box"),
23 Chaos_Implicit_Sphere UMETA(DisplayName = "Sphere"),
24 Chaos_Implicit_Capsule UMETA(DisplayName = "Capsule"),
25 Chaos_Implicit_LevelSet UMETA(DisplayName = "Level Set"),
26 Chaos_Implicit_None UMETA(DisplayName = "None"),
27 Chaos_Implicit_Convex UMETA(DisplayName = "Convex"),
28 //
30};
31
32UENUM(BlueprintType)
34{
35 Chaos_NONE = 0 UMETA(Hidden, DisplayName = "None"),
36 Chaos_Object_Sleeping = 1 UMETA(DisplayName = "Sleeping"),
37 Chaos_Object_Kinematic = 2 UMETA(DisplayName = "Kinematic"),
38 Chaos_Object_Static = 3 UMETA(DisplayName = "Static"),
39 Chaos_Object_Dynamic = 4 UMETA(DisplayName = "Dynamic"),
40 Chaos_Object_UserDefined = 100 UMETA(DisplayName = "User Defined"),
41 //
43};
44
45UENUM(BlueprintType)
47{
48 Chaos_AngularVelocity UMETA(DisplayName = "Angular Velocity", ToolTip = "Add a vector field to the particles angular velocity."),
49 Chaos_DynamicState UMETA(DisplayName = "Dynamic State", ToolTip = "Set the dynamic state of a particle (static, dynamic, kinematic...)"),
50 Chaos_LinearVelocity UMETA(DisplayName = "Linear Velocity", ToolTip = "Add a vector field to the particles linear velocity."),
51 Chaos_InitialAngularVelocity UMETA(DisplayName = "Initial Angular Velocity", ToolTip = "Initial particles angular velocity."),
52 Chaos_InitialLinearVelocity UMETA(DisplayName = "Initial Linear Velocity", ToolTip = "Initial particles linear velocity."),
53 Chaos_CollisionGroup UMETA(DisplayName = "Collision Group", ToolTip = "Set the particles collision group."),
54 Chaos_LinearForce UMETA(DisplayName = "Linear Force", ToolTip = "Add a vector field to the particles linear force."),
55 Chaos_AngularTorque UMETA(DisplayName = "Angular Torque", ToolTip = "Add a vector field to the particles angular torque."),
56 Chaos_DisableThreshold UMETA(DisplayName = "Disable Threshold", ToolTip = "Disable the particles if their linear and angular velocity are less than the threshold."),
57 Chaos_SleepingThreshold UMETA(DisplayName = "Sleeping Threshold", ToolTip = "Set particles in sleeping mode if their linear and angular velocity are less than the threshold."),
58 Chaos_ExternalClusterStrain UMETA(DisplayName = "External Strain", ToolTip = "Apply an external strain over the particles. If this strain is over the internal one, the cluster will break."),
59 Chaos_InternalClusterStrain UMETA(DisplayName = "Internal Strain", ToolTip = "Add a strain field to the particles internal one."),
60 Chaos_LinearImpulse UMETA(DisplayName = "Linear Impulse", ToolTip = "Add a vector field to apply an impulse to the particles."),
61 //
63};
64
65
67{
69 EFieldPhysicsType::Field_AngularVelociy,
70 EFieldPhysicsType::Field_DynamicState,
71 EFieldPhysicsType::Field_LinearVelocity,
72 EFieldPhysicsType::Field_InitialAngularVelocity,
73 EFieldPhysicsType::Field_InitialLinearVelocity,
74 EFieldPhysicsType::Field_CollisionGroup,
75 EFieldPhysicsType::Field_LinearForce,
76 EFieldPhysicsType::Field_AngularTorque,
77 EFieldPhysicsType::Field_DisableThreshold,
78 EFieldPhysicsType::Field_SleepingThreshold,
79 EFieldPhysicsType::Field_ExternalClusterStrain,
80 EFieldPhysicsType::Field_InternalClusterStrain,
81 EFieldPhysicsType::Field_LinearImpulse,
82 EFieldPhysicsType::Field_PhysicsType_Max
83 };
84
86}
87
88UENUM(BlueprintType)
90{
91 //Chaos_Initial_Velocity_Animation UMETA(DisplayName = "Animation"),
92 Chaos_Initial_Velocity_User_Defined UMETA(DisplayName = "User Defined"),
93 //Chaos_Initial_Velocity_Field UMETA(DisplayName = "Field"),
94 Chaos_Initial_Velocity_None UMETA(DisplayName = "None"),
95 //
97};
98
99
100UENUM(BlueprintType)
102{
103 Chaos_Emission_Pattern_First_Frame UMETA(DisplayName = "First Frame"),
104 Chaos_Emission_Pattern_On_Demand UMETA(DisplayName = "On Demand"),
105 //
107};
108
109
110UENUM(BlueprintType)
112{
114 Chaos_Damage_Model_UserDefined_Damage_Threshold UMETA(DisplayName = "User-Defined Damage Threshold"),
115
117 Chaos_Damage_Model_Material_Strength_And_Connectivity_DamageThreshold UMETA(DisplayName = "Material Strength And Connectivity Damage Threshold"),
118
120};
121
122// convert user level damage model to chaos damage evaluation model
124{
125 switch (DamageModel)
126 {
127 case EDamageModelTypeEnum::Chaos_Damage_Model_UserDefined_Damage_Threshold:
129 case EDamageModelTypeEnum::Chaos_Damage_Model_Material_Strength_And_Connectivity_DamageThreshold:
131 default:
132 ensure(false); // unexpected
134 }
135}
#define ensure( InExpression)
Definition AssertionMacros.h:464
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EFieldPhysicsType
Definition FieldSystemTypes.h:148
EDamageModelTypeEnum
Definition GeometryCollectionSimulationTypes.h:112
ECollisionTypeEnum
Definition GeometryCollectionSimulationTypes.h:12
EObjectStateTypeEnum
Definition GeometryCollectionSimulationTypes.h:34
EInitialVelocityTypeEnum
Definition GeometryCollectionSimulationTypes.h:90
EFieldPhysicsType GetGeometryCollectionPhysicsType(const EGeometryCollectionPhysicsTypeEnum GeoCollectionType)
Definition GeometryCollectionSimulationTypes.h:66
EEmissionPatternTypeEnum
Definition GeometryCollectionSimulationTypes.h:102
Chaos::EDamageEvaluationModel GetDamageEvaluationModel(const EDamageModelTypeEnum DamageModel)
Definition GeometryCollectionSimulationTypes.h:123
EImplicitTypeEnum
Definition GeometryCollectionSimulationTypes.h:21
EGeometryCollectionPhysicsTypeEnum
Definition GeometryCollectionSimulationTypes.h:47
#define UENUM(...)
Definition ObjectMacros.h:749
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition Array.h:670
EDamageEvaluationModel
Definition PBDRigidClusteringTypes.h:9