UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
LiveLinkAnimationBlueprintStructs.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "Containers/Map.h"
7#include "CoreMinimal.h"
8#include "HAL/Platform.h"
9#include "ILiveLinkSource.h"
10#include "LiveLinkTypes.h"
11#include "Math/Transform.h"
12#include "Misc/FrameRate.h"
13#include "Misc/Timecode.h"
16#include "UObject/NameTypes.h"
18
19#include "LiveLinkAnimationBlueprintStructs.generated.h"
20
21class FString;
22
23USTRUCT(BlueprintType)
25{
27
28 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LiveLink")
29 TMap<FName, FString> StringMetadata;
30
31 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LiveLink")
32 FTimecode SceneTimecode;
33
34 UPROPERTY(BlueprintReadWrite, EditAnywhere, Category = "LiveLink")
35 FFrameRate SceneFramerate;
36};
37
38USTRUCT()
40{
42
44
46
47 virtual ~FCachedSubjectFrame() = default;
48
49 void SetCurvesFromCache(TMap<FName, float>& OutCurves) const;
50
51 bool GetCurveValueByName(FName InCurveName, float& OutCurveValue) const;
52
53 void GetSubjectMetadata(FSubjectMetadata& OutSubjectMetadata) const;
54
55 int32 GetNumberOfTransforms() const;
56
57 void GetTransformNames(TArray<FName>& OutTransformNames) const;
58
59 void GetTransformName(const int32 InTransformIndex, FName& OutName) const;
60
61 int32 GetTransformIndexFromName(FName InTransformName) const;
62
63 int32 GetParentTransformIndex(const int32 InTransformIndex) const;
64
65 void GetChildTransformIndices(const int32 InTransformIndex, TArray<int32>& OutChildIndices) const;
66
67 void GetTransformParentSpace(const int32 InTransformIndex, FTransform& OutTransform) const;
68
69 void GetTransformRootSpace(const int32 InTransformIndex, FTransform& OutTransform) const;
70
71 int32 GetRootIndex() const;
72
73 const FLiveLinkSkeletonStaticData& GetSourceSkeletonData() const { return SourceSkeletonData; }
74
75 const FLiveLinkAnimationFrameData& GetSourceAnimationFrameData() const { return SourceAnimationFrameData; }
76
77private:
78 FLiveLinkSkeletonStaticData SourceSkeletonData;
79 FLiveLinkAnimationFrameData SourceAnimationFrameData;
80
81 // Cache. Does not affect the underlying frame data
82 mutable TArray<TPair<bool, FTransform>> CachedRootSpaceTransforms;
83 mutable TArray<TPair<bool, TArray<int32>>> CachedChildTransformIndices;
84 mutable TMap<FName, float> CachedCurves;
85 mutable bool bHaveCachedCurves;
86
87 void CacheCurves() const;
88
89 bool IsValidTransformIndex(int32 InTransformIndex) const;
90};
91
92USTRUCT(BlueprintType)
94{
96
98
99 virtual ~FLiveLinkTransform() = default;
100
101 LIVELINKINTERFACE_API void GetName(FName& Name) const;
102
103 LIVELINKINTERFACE_API void GetTransformParentSpace(FTransform& OutTransform) const;
104
105 LIVELINKINTERFACE_API void GetTransformRootSpace(FTransform& OutTransform) const;
106
107 LIVELINKINTERFACE_API bool HasParent() const;
108
109 LIVELINKINTERFACE_API void GetParent(FLiveLinkTransform& OutParentTransform) const;
110
111 LIVELINKINTERFACE_API int32 GetChildCount() const;
112
114
116
117 LIVELINKINTERFACE_API void SetTransformIndex(const int32 InTransformIndex);
118
119 LIVELINKINTERFACE_API int32 GetTransformIndex() const;
120
121private:
123 int32 TransformIndex;
124};
125
126USTRUCT(BlueprintType)
128{
130
132
134
135 LIVELINKINTERFACE_API void GetCurves(TMap<FName, float>& OutCurves) const;
136
137 LIVELINKINTERFACE_API bool GetCurveValueByName(FName CurveName, float& CurveValue) const;
138
139 LIVELINKINTERFACE_API void GetSubjectMetadata(FSubjectMetadata& OutMetadata) const;
140
141 LIVELINKINTERFACE_API int32 GetNumberOfTransforms() const;
142
143 LIVELINKINTERFACE_API void GetTransformNames(TArray<FName>& OutTransformNames) const;
144
146
148
150
152
153 LIVELINKINTERFACE_API const FLiveLinkSkeletonStaticData* GetSourceSkeletonStaticData() const;
154
155 LIVELINKINTERFACE_API const FLiveLinkAnimationFrameData* GetSourceAnimationFrameData() const;
156
157private:
158 TSharedPtr<FCachedSubjectFrame> CachedFrame;
159};
160
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
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
Definition NameTypes.h:617
Definition Array.h:670
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition LiveLinkAnimationBlueprintStructs.h:40
virtual ~FCachedSubjectFrame()=default
const FLiveLinkAnimationFrameData & GetSourceAnimationFrameData() const
Definition LiveLinkAnimationBlueprintStructs.h:75
const FLiveLinkSkeletonStaticData & GetSourceSkeletonData() const
Definition LiveLinkAnimationBlueprintStructs.h:73
Definition FrameRate.h:21
Definition LiveLinkAnimationTypes.h:50
Definition LiveLinkTypes.h:286
Definition LiveLinkAnimationTypes.h:14
Definition LiveLinkAnimationBlueprintStructs.h:94
virtual ~FLiveLinkTransform()=default
Definition LiveLinkAnimationBlueprintStructs.h:128
Definition LiveLinkAnimationBlueprintStructs.h:25
Definition Timecode.h:19