UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ChaosVDCharacterGroundConstraintDataWrappers.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "UObject/Class.h"
8
9#include "ChaosVDCharacterGroundConstraintDataWrappers.generated.h"
10
11#ifndef CVD_IMPLEMENT_SERIALIZER
12 #define CVD_IMPLEMENT_SERIALIZER(Type) \
13 inline FArchive& operator<<(FArchive& Ar, Type& Data) \
14 {\
15 Data.Serialize(Ar); \
16 return Ar; \
17 } \
18 template<>\
19 struct TStructOpsTypeTraits<Type> : public TStructOpsTypeTraitsBase2<Type> \
20 {\
21 enum\
22 {\
23 WithSerializer = true,\
24 };\
25 };\
26
27#endif
28
29
30USTRUCT()
32{
34public:
35
37
38 //TODO: Make the island data visible when we add support to record that data
39
40 int32 Island = INDEX_NONE;
43 int32 IslandSize = INDEX_NONE;
44
45 UPROPERTY(VisibleAnywhere, Category=ConstraintState)
46 bool bDisabled = false;
47
48 UPROPERTY(VisibleAnywhere, Category= ConstraintState)
49 FVector SolverAppliedForce = FVector::ZeroVector;
50 UPROPERTY(VisibleAnywhere, Category= ConstraintState)
51 FVector SolverAppliedTorque = FVector::ZeroVector;
52};
54
55
56USTRUCT()
58{
60public:
62
63 UPROPERTY(VisibleAnywhere, Category = Settings)
65
66 UPROPERTY(VisibleAnywhere, Category = Settings, meta = (ForceUnits = "cm"))
67 double TargetHeight = 0.0;
68
69 UPROPERTY(VisibleAnywhere, Category = Settings, meta = (ForceUnits = "Newtons"))
70 double RadialForceLimit = 0.0;
71
72 UPROPERTY(VisibleAnywhere, Category = Settings, meta = (ForceUnits = "Newtons"))
73 double FrictionForceLimit = 0.0;
74
75 UPROPERTY(VisibleAnywhere, Category = Settings, meta = (ForceUnits = "NewtonMeters"))
76 double TwistTorqueLimit = 0.0;
77
78 UPROPERTY(VisibleAnywhere, Category = Settings, meta = (ForceUnits = "NewtonMeters"))
79 double SwingTorqueLimit = 0.0;
80
81 UPROPERTY(VisibleAnywhere, Category = Settings)
82 double CosMaxWalkableSlopeAngle = 0.0;
83
84 UPROPERTY(VisibleAnywhere, Category = Settings)
85 double DampingFactor = 0.0;
86
87 UPROPERTY(VisibleAnywhere, Category = Settings, meta = (ForceUnits = "cm"))
88 double AssumedOnGroundHeight = 0.0;
89};
91
92USTRUCT()
94{
96public:
98
99 UPROPERTY(VisibleAnywhere, Category = Data)
101
102 UPROPERTY(VisibleAnywhere, Category = Data, meta = (ForceUnits = "cm"))
103 FVector TargetDeltaPosition = FVector(ForceInitToZero);
104
105 UPROPERTY(VisibleAnywhere, Category = Data, meta = (ForceUnits = "radians"))
106 double TargetDeltaFacing = 0.0;
107
108 UPROPERTY(VisibleAnywhere, Category = Data, meta = (ForceUnits = "cm"))
109 double GroundDistance = 0.0;
110
111 UPROPERTY(VisibleAnywhere, Category = Data)
112 double CosMaxWalkableSlopeAngle = 0.0;
113};
115
116
117USTRUCT()
119{
121public:
122
124
126
127 int32 SolverID = INDEX_NONE;
128
129 UPROPERTY(VisibleAnywhere, Category="General")
130 int32 ConstraintIndex = INDEX_NONE;
131
132 int32 CharacterParticleIndex = INDEX_NONE;
133 int32 GroundParticleIndex = INDEX_NONE;
134
135 UPROPERTY(VisibleAnywhere, Category=State)
137
138 UPROPERTY(VisibleAnywhere, Category=Settings)
140
141 UPROPERTY(VisibleAnywhere, Category=Data)
143
144 virtual int32 GetSolverID() const override { return SolverID; }
145 CHAOSVDRUNTIME_API virtual int32 GetParticleIDAtSlot(EChaosVDParticlePairIndex IndexSlot) const override;
146 virtual int32 GetConstraintIndex () const override {return ConstraintIndex; }
147};
148
150
151
152
#define CVD_IMPLEMENT_SERIALIZER(Type)
Definition ChaosVDDataSerializationMacros.h:30
EChaosVDParticlePairIndex
Definition ChaosVDParticleDataWrapper.h:90
@ INDEX_NONE
Definition CoreMiscDefines.h:150
@ ForceInitToZero
Definition CoreMiscDefines.h:156
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
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define USTRUCT(...)
Definition ObjectMacros.h:746
@ NewtonMeters
Definition Archive.h:1208
@ false
Definition radaudio_common.h:23
Definition ChaosVDCharacterGroundConstraintDataWrappers.h:94
Definition ChaosVDCharacterGroundConstraintDataWrappers.h:58
Definition ChaosVDCharacterGroundConstraintDataWrappers.h:32
Definition ChaosVDCharacterGroundConstraintDataWrappers.h:119
static CHAOSVDRUNTIME_API FStringView WrapperTypeName
Definition ChaosVDCharacterGroundConstraintDataWrappers.h:123
virtual int32 GetConstraintIndex() const override
Definition ChaosVDCharacterGroundConstraintDataWrappers.h:146
Definition ChaosVDParticleDataWrapper.h:98
Definition ChaosVDParticleDataWrapper.h:76