UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ConstraintTypes.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
7#include "EngineDefines.h"
10#include "ConstraintTypes.generated.h"
11
12USTRUCT()
14{
16
17
18 UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Constraint, meta = (editcondition = "bSoftConstraint", ClampMin = "0.0"))
19 float Stiffness;
20
22 UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Constraint, meta = (editcondition = "bSoftConstraint", ClampMin = "0.0"))
23 float Damping;
24
26 UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Constraint, meta = (ClampMin = "0.0", ClampMax = "1.0"))
27 float Restitution;
28
30 UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Constraint, meta = (ClampMin = "0.0"))
31 float ContactDistance;
32
34 UPROPERTY(EditAnywhere, AdvancedDisplay, Category = Constraint)
35 uint8 bSoftConstraint : 1;
36
38};
39
41USTRUCT()
43{
45
46
47 UPROPERTY(EditAnywhere, Category = Linear, meta = (ClampMin = "0.0"))
48 float Limit;
49
51 UPROPERTY(EditAnywhere, Category = Linear, meta = (DisplayName= "X Motion"))
53
55 UPROPERTY(EditAnywhere, Category = Linear, meta = (DisplayName= "Y Motion"))
57
59 UPROPERTY(EditAnywhere, Category = Linear, meta = (DisplayName= "Z Motion"))
61
63
65 ENGINE_API void UpdateLinearLimit_AssumesLocked(const FPhysicsConstraintHandle& InConstraintRef, float AverageMass, float Scale) const;
66};
67
68
70USTRUCT()
72{
74
75
76 UPROPERTY(EditAnywhere, Category = Angular, meta = (ClampMin = "0.0", ClampMax = "180.0", DisplayName = "Swing 1 Limit"))
77 float Swing1LimitDegrees;
78
80 UPROPERTY(EditAnywhere, Category = Angular, meta = (ClampMin = "0.0", ClampMax = "180.0"), DisplayName = "Swing 2 Limit")
81 float Swing2LimitDegrees;
82
84 UPROPERTY(EditAnywhere, Category = Angular, meta = (DisplayName= "Swing 1 Motion"))
86
88 UPROPERTY(EditAnywhere, Category = Angular, meta = (DisplayName= "Swing 2 Motion"))
90
92
94 ENGINE_API void UpdateConeLimit_AssumesLocked(const FPhysicsConstraintHandle& InConstraintRef, float AverageMass) const;
95};
96
98USTRUCT()
100{
102
103
104 UPROPERTY(EditAnywhere, Category = Angular, meta = (ClampMin = "0.0", ClampMax = "180.0", DisplayName = "Twist Limit"))
105 float TwistLimitDegrees;
106
108 UPROPERTY(EditAnywhere, Category = Angular)
110
112
114 ENGINE_API void UpdateTwistLimit_AssumesLocked(const FPhysicsConstraintHandle& InConstraintRef, float AverageMass) const;
115};
116
117#define RB_MinSizeToLockDOF (0.1)
118#define RB_MinAngleToLockDOF (5.0)
EAngularConstraintMotion
Definition ChaosEngineInterface.h:114
ELinearConstraintMotion
Definition ChaosEngineInterface.h:187
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define X(Name, Desc)
Definition FormatStringSan.h:47
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition ChaosEngineInterface.h:247
Definition EnumAsByte.h:22
Definition ConstraintTypes.h:72
Definition ConstraintTypes.h:14
Definition ConstraintTypes.h:43
Definition ConstraintTypes.h:100