UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AnimRootMotionProvider.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6#include "CoreMinimal.h"
9
10class UAnimSequence;
11
12struct FDeltaTimeRecord;
13
14namespace UE { namespace Anim {
15
16struct FStackAttributeContainer;
17
18// Modular feature interface for AnimationWarping
20{
21public:
22 static ENGINE_API const FName ModularFeatureName; // "AnimationWarping"
24
26
27 static ENGINE_API bool IsAvailable();
29
30 // Given the specified time range, sequence, and looping behavior, sample a root motion delta and store it in the specified attribute container
31 virtual void SampleRootMotion(const FDeltaTimeRecord& SampleRange, const UAnimSequence& Sequence, bool bLoopingSequence, FStackAttributeContainer& OutAttributes) const = 0;
32
33 // Directly sets the root motion attribute. Does not require root motion to exist already.
34 virtual bool SetRootMotion(const FTransform& RootMotionDelta, FStackAttributeContainer& OutAttributes) const { return false; }
35
36 // Override the currently stored root motion delta in the specified attribute container. Requires root motion to exist prior to overriding.
37 virtual bool OverrideRootMotion(const FTransform& RootMotionDelta, FStackAttributeContainer& OutAttributes) const = 0;
38
39 // Extract the currently stored root motion delta in the specified attribute container.
41
42 // Query whether or not a computed root motion delta exists within the specified attribute container.
43 virtual bool HasRootMotion(const FStackAttributeContainer& Attributes) const = 0;
44};
45}}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition NameTypes.h:617
Definition IModularFeature.h:12
Definition AnimSequence.h:203
Definition AnimRootMotionProvider.h:20
virtual ~IAnimRootMotionProvider()
Definition AnimRootMotionProvider.h:25
virtual bool SetRootMotion(const FTransform &RootMotionDelta, FStackAttributeContainer &OutAttributes) const
Definition AnimRootMotionProvider.h:34
static ENGINE_API const FName AttributeName
Definition AnimRootMotionProvider.h:23
static ENGINE_API bool IsAvailable()
Definition AnimRootMotionProvider.cpp:23
virtual bool ExtractRootMotion(const FStackAttributeContainer &Attributes, FTransform &OutRootMotionDelta) const =0
virtual bool OverrideRootMotion(const FTransform &RootMotionDelta, FStackAttributeContainer &OutAttributes) const =0
virtual bool HasRootMotion(const FStackAttributeContainer &Attributes) const =0
static ENGINE_API const FName ModularFeatureName
Definition AnimRootMotionProvider.h:22
static ENGINE_API const IAnimRootMotionProvider * Get()
Definition AnimRootMotionProvider.cpp:13
virtual void SampleRootMotion(const FDeltaTimeRecord &SampleRange, const UAnimSequence &Sequence, bool bLoopingSequence, FStackAttributeContainer &OutAttributes) const =0
Definition AdvancedWidgetsModule.cpp:13
Definition AnimationAsset.h:98
Definition AttributesRuntime.h:57
Definition AttributesRuntime.h:40