19#include "AnimMontage.generated.h"
26class USkeletalMeshComponent;
45#if WITH_EDITORONLY_DATA
48 float StartTime_DEPRECATED;
52 UPROPERTY(VisibleAnywhere, Category=Section)
59 UPROPERTY(Category=Section, Instanced, EditAnywhere)
66#if WITH_EDITORONLY_DATA
67 , StartTime_DEPRECATED(0.0f)
104 UPROPERTY(EditAnywhere, Category=BranchingPoint)
107#if WITH_EDITORONLY_DATA
117 float GetTriggerTime()
const {
return GetTime() + TriggerTimeOffset; }
218 float Cached_CombinedPlayRate;
221 bool bPlayingForward;
223 int32 CurrentSectionIndex;
224 float CurrentSectionStartTime;
225 float CurrentSectionLength;
226 bool bReachedEndOfSection;
227 bool bHasValidTimeStretchCurveData;
229 int32 TimeStretchMarkerIndex;
234 float Cached_P_Target;
235 float Cached_P_Original;
241 : MontageInstance(nullptr)
244 , Cached_CombinedPlayRate(0.f)
247 , bPlayingForward(
true)
249 , CurrentSectionStartTime(0.f)
250 , CurrentSectionLength(0.f)
251 , bReachedEndOfSection(
false)
252 , bHasValidTimeStretchCurveData(
false)
265 float GetRemainingPlayTimeToSectionEnd(
const float In_P_Original);
279 void ConditionallyUpdateTimeStretchCurveCachedData();
293 float FindMontagePosition_Original(
float In_P_Target);
299 float GetCurrSectionEndPosition_Target()
const;
305 float GetCurrSectionStartPosition_Target()
const;
321 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category =
"Blend", meta = (DisplayAfter =
"Blend"))
325 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
Blend", meta = (DisplayAfter = "BlendMode"))
355 float DefaultBlendTimeMultiplier;
367 bool bDidUseMarkerSyncThisTick;
370 bool bEnableAutoBlendOut;
409 float PreviousWeight;
416 float BlendStartAlpha;
433 int32 DisableRootMotionCount;
456 float GetWeight()
const {
return Blend.GetBlendedValue(); }
477 uint32 MontageSyncUpdateFrameCounter;
480 ENGINE_API bool MontageSync_HasBeenUpdatedThisFrame()
const;
484 ENGINE_API void MontageSync_PerformSyncToLeader();
609 static ENGINE_API UAnimMontage*
PreviewSequencerMontagePosition(
FName SlotName, USkeletalMeshComponent* SkeletalMeshComponent,
UAnimInstance*
AnimInstance,
int32&
InOutInstanceId,
UAnimSequenceBase*
InAnimSequence,
float InFromPosition,
float InToPosition,
float Weight,
bool bLooping,
bool bFireNotifies,
bool bPlaying);
629 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = BlendOption)
632 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = BlendOption)
636 UPROPERTY(EditAnywhere, Category=BlendOption)
639#if WITH_EDITORONLY_DATA
645 UPROPERTY(EditAnywhere, Category=BlendOption)
648#if WITH_EDITORONLY_DATA
656 UPROPERTY(EditAnywhere, Category = BlendOption)
659 UFUNCTION(BlueprintPure, Category =
"Montage")
662 UFUNCTION(BlueprintPure, Category =
"Montage")
665 UFUNCTION(BlueprintPure, Category =
"Montage")
668 UFUNCTION(BlueprintCallable, Category =
"Montage")
690#if WITH_EDITORONLY_DATA
705 UPROPERTY(EditAnywhere, Category = BlendOption)
720#if WITH_EDITORONLY_DATA
732 UFUNCTION(BlueprintPure, Category =
"Montage")
740#if WITH_EDITORONLY_DATA
746 virtual FFrameRate GetSamplingFrameRate()
const override;
758 virtual bool IsValidAdditive()
const override;
763 UE_DEPRECATED(5.0,
"Use other GetMarkerSyncPositionfromMarkerIndicies signature")
768 virtual void RefreshCacheData()
override;
769 virtual bool CanBeUsedInComposition()
const {
return false; }
793 UFUNCTION(BlueprintPure, Category =
"Montage")
819 UFUNCTION(BlueprintCallable, Category =
"Montage")
874 UFUNCTION(BlueprintPure, Category =
"Montage")
914 void PropagateChanges();
961 virtual void InvalidateRecursiveAsset()
override;
963 virtual void SetCompositeLength(
float InLength)
override;
973 UFUNCTION(BlueprintCallable, Category =
"Animation")
988 FName TimeStretchCurveName;
UAnimMontage bool UAnimMontage UAnimMontage Montage
Definition AnimInstance.h:84
EMontageSubStepResult
Definition AnimMontage.h:175
EMontageBlendMode
Definition AnimMontage.h:135
#define check(expr)
Definition AssertionMacros.h:314
EBlendProfileMode
Definition BlendProfile.h:23
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:57
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
#define DECLARE_MULTICAST_DELEGATE(DelegateName)
Definition DelegateCombinations.h:23
#define DECLARE_DELEGATE_ThreeParams(DelegateName, Param1Type, Param2Type, Param3Type)
Definition DelegateCombinations.h:66
return true
Definition ExternalRpcRegistry.cpp:601
void * FDelegateUserObject
Definition IDelegateInstance.h:107
const bool
Definition NetworkReplayStreaming.h:178
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UFUNCTION(...)
Definition ObjectMacros.h:745
#define GENERATED_UCLASS_BODY(...)
Definition ObjectMacros.h:768
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
#define USTRUCT(...)
Definition ObjectMacros.h:746
#define GENERATED_USTRUCT_BODY(...)
Definition ObjectMacros.h:767
@ Stop
Definition PrecomputedVolumetricLightmapStreaming.cpp:26
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
#define UE_SMALL_NUMBER
Definition UnrealMathUtility.h:130
Definition Engine.Build.cs:7
Definition Archive.h:1208
Definition NameTypes.h:617
Definition ObjectSaveContext.h:244
Definition UnrealType.h:3087
Definition UObjectGlobals.h:2492
Definition EnumAsByte.h:22
Definition UnrealString.h.inl:34
Definition ScriptInterface.h:139
Definition AnimCompositeBase.h:313
Definition AnimInstance.h:353
Definition AnimNotifyState.h:25
Definition AnimSequenceBase.h:37
Definition AnimSequence.h:203
Definition BlendProfile.h:132
Definition MirrorDataTable.h:102
Definition AnimTypes.h:36
Type
Definition AnimTypes.h:38
Definition AnimMontage.h:123
Type
Definition AnimMontage.h:125
Definition AnimEnums.h:12
@ false
Definition radaudio_common.h:23
Definition AlphaBlend.h:41
Definition AlphaBlend.h:71
Definition AnimationAsset.h:850
Definition AnimLinkableElement.h:40
Definition AnimMontage.h:335
const FAnimMontageInstance * GetMontageSyncLeader() const
Definition AnimMontage.h:538
FDeltaTimeRecord DeltaTimeRecord
Definition AnimMontage.h:358
int32 GetInstanceID() const
Definition AnimMontage.h:532
ENGINE_API bool SetNextSectionName(FName const &SectionName, FName const &NewNextSectionName)
Definition AnimMontage.cpp:1816
ENGINE_API int32 GetNextSectionID(int32 const &CurrentSectionID) const
Definition AnimMontage.cpp:1901
bool IsPlaying() const
Definition AnimMontage.h:517
void SetWeight(float InValue)
Definition AnimMontage.h:464
ENGINE_API FName GetCurrentSection() const
Definition AnimMontage.cpp:1866
ENGINE_API void Terminate()
Definition AnimMontage.cpp:1725
const FAlphaBlend & GetBlend() const
Definition AnimMontage.h:469
bool IsActive() const
Definition AnimMontage.h:522
const UBlendProfile * GetActiveBlendProfile() const
Definition AnimMontage.h:539
static ENGINE_API UAnimMontage * SetSequencerMontagePosition(FName SlotName, USkeletalMeshComponent *SkeletalMeshComponent, int32 &InOutInstanceId, UAnimSequenceBase *InAnimSequence, float InFromPosition, float InToPosition, float Weight, bool bLooping, bool bPlaying)
Definition AnimMontage.cpp:2964
const EBlendProfileMode GetActiveBlendProfileMode() const
Definition AnimMontage.h:540
void SetPosition(float const &InPosition)
Definition AnimMontage.h:545
ENGINE_API void Advance(float DeltaTime, struct FRootMotionMovementParams *OutRootMotionParams, bool bBlendRootMotion)
Definition AnimMontage.cpp:2496
float GetDeltaMoved() const
Definition AnimMontage.h:535
float GetPosition() const
Definition AnimMontage.h:533
void SetDesiredWeight(float InValue)
Definition AnimMontage.h:466
ENGINE_API void UpdateWeight(float DeltaTime)
Definition AnimMontage.cpp:2015
float GetDesiredWeight() const
Definition AnimMontage.h:457
ENGINE_API void HandleEvents(float PreviousTrackPos, float CurrentTrackPos, const FBranchingPointMarker *BranchingPointMarker)
Definition AnimMontage.cpp:2740
float GetBlendStartAlpha() const
Definition AnimMontage.h:537
ENGINE_API bool CanUseMarkerSync() const
Definition AnimMontage.cpp:3178
FName GetSyncGroupName() const
Definition AnimMontage.h:461
bool bEnableAutoBlendOut
Definition AnimMontage.h:370
bool IsRootMotionDisabled() const
Definition AnimMontage.h:551
ENGINE_API FName GetSectionNameFromID(int32 const &SectionID) const
Definition AnimMontage.cpp:1906
float GetBlendTime() const
Definition AnimMontage.h:458
bool bPlaying
Definition AnimMontage.h:351
ENGINE_API FName GetNextSection() const
Definition AnimMontage.cpp:1882
bool IsValid() const
Definition AnimMontage.h:516
ENGINE_API void AddReferencedObjects(FReferenceCollector &Collector)
Definition AnimMontage.cpp:1717
void SetNextPositionWithEvents(float InPosition)
Definition AnimMontage.h:554
ENGINE_API bool SetNextSectionID(int32 const &SectionID, int32 const &NewNextSectionID)
Definition AnimMontage.cpp:1824
void SetNextPositionWithEvents(float InFromPosition, float InToPosition)
Definition AnimMontage.h:556
void SetPlayRate(float const &InPlayRate)
Definition AnimMontage.h:546
FMarkerTickRecord MarkerTickRecord
Definition AnimMontage.h:361
float GetPreviousPosition() const
Definition AnimMontage.h:536
void SetPlaying(bool bInPlaying)
Definition AnimMontage.h:518
void PopDisableRootMotion()
Definition AnimMontage.h:550
static ENGINE_API UAnimMontage * PreviewSequencerMontagePosition(FName SlotName, USkeletalMeshComponent *SkeletalMeshComponent, int32 &InOutInstanceId, UAnimSequenceBase *InAnimSequence, float InFromPosition, float InToPosition, float Weight, bool bLooping, bool bFireNotifies, bool bPlaying)
Definition AnimMontage.cpp:2954
void PushDisableRootMotion()
Definition AnimMontage.h:549
ENGINE_API bool JumpToSectionName(FName const &SectionName, bool bEndOfSection=false)
Definition AnimMontage.cpp:1793
ENGINE_API FAnimMontageInstance()
Definition AnimMontage.cpp:1435
bool IsStopped() const
Definition AnimMontage.h:519
ENGINE_API bool SimulateAdvance(float DeltaTime, float &InOutPosition, struct FRootMotionMovementParams &OutRootMotionParams) const
Definition AnimMontage.cpp:2049
float GetPlayRate() const
Definition AnimMontage.h:534
Definition AnimNotifyQueue.h:22
Definition AnimTypes.h:277
Definition AnimNotifyQueue.h:161
Definition AnimationAsset.h:411
Definition AnimCompositeBase.h:230
Definition AnimationPoseData.h:16
Definition AnimMontage.h:146
FBranchingPointMarker(int32 InNotifyIndex, float InTriggerTime, EAnimNotifyEventType::Type InNotifyEventType)
Definition AnimMontage.h:165
Definition AnimMontage.h:101
Definition AnimMontage.h:38
const TArray< class UAnimMetaData * > & GetMetaData() const
Definition AnimMontage.h:75
Definition AnimationAsset.h:98
float Delta
Definition AnimationAsset.h:110
float GetPrevious() const
Definition AnimationAsset.h:107
Definition FrameRate.h:21
Definition AnimationAsset.h:56
Definition AnimationAsset.h:361
Definition AnimTypes.h:638
Definition AnimationAsset.h:67
void Reset()
Definition AnimationAsset.h:78
Definition AnimMontage.h:313
Definition AnimMontage.h:212
bool HasReachedEndOfSection() const
Definition AnimMontage.h:264
float GetDeltaMove() const
Definition AnimMontage.h:268
float GetRemainingTime() const
Definition AnimMontage.h:262
int32 GetCurrentSectionIndex() const
Definition AnimMontage.h:269
FMontageSubStepper()
Definition AnimMontage.h:240
void ClearCachedData()
Definition AnimMontage.h:272
bool GetbPlayingForward() const
Definition AnimMontage.h:267
void AddEvaluationTime(float InDeltaTime)
Definition AnimMontage.h:260
bool HasTimeRemaining() const
Definition AnimMontage.h:261
Definition AnimationAsset.h:400
Definition UnrealType.h:6865
Definition ResourceSize.h:31
Definition AnimationAsset.h:711
Definition AnimMontage.h:84
Definition TimeStretchCurve.h:244
Definition TimeStretchCurve.h:197
Definition ObjectPtr.h:488
Definition Optional.h:131
Definition WeakObjectPtrTemplates.h:25