Navigation
Unreal Engine C++ API Reference > Runtime > Engine > Animation
Inheritance Hierarchy
- UObjectBase
- UObjectBaseUtility
- UObject
- UAnimationAsset
- UAnimSequenceBase
- UAnimCompositeBase
- UAnimMontage
References
Module | Engine |
Header | /Engine/Source/Runtime/Engine/Classes/Animation/AnimMontage.h |
Include | #include "Animation/AnimMontage.h" |
Syntax
class UAnimMontage : public UAnimCompositeBase
Remarks
Any property you're adding to AnimMontage and parent class has to be considered for Child Asset
Child Asset is considered to be only asset mapping feature using everything else in the class For example, you can just use all parent's setting for the montage, but only remap assets This isn't magic bullet unfortunately and it is consistent effort of keeping the data synced with parent If you add new property, please make sure those property has to be copied for children. If it does, please add the copy in the function RefreshParentAssetData
Variables
Type | Name | Description | |
---|---|---|---|
![]() |
bool | bEnableAutoBlendOut | When it hits end, it automatically blends out. |
![]() |
bool | bEnableRootMotionRotation | If this is on, it will allow extracting root motion rotation. |
![]() |
bool | bEnableRootMotionTranslation | If this is on, it will allow extracting root motion translation. |
![]() |
FAlphaBlend | BlendIn | Blend in option. |
![]() |
EMontageBlendMode | BlendModeIn | |
![]() |
EMontageBlendMode | BlendModeOut | |
![]() |
FAlphaBlend | BlendOut | Blend out option. |
![]() |
float | BlendOutTriggerTime | Time from Sequence End to trigger blend out. |
![]() |
TObjectPtr< UBlendProfile > | BlendProfileIn | The blend profile to use. |
![]() |
TObjectPtr< UBlendProfile > | BlendProfileOut | The blend profile to use. |
![]() |
TArray< int32 > | BranchingPointStateNotifyIndices | Keep track of which AnimNotify_State are marked as BranchingPoints, so we can update their state when the Montage is ticked |
![]() |
TArray< FCompositeSection > | CompositeSections | Composite section. |
![]() |
FMarkerSyncData | MarkerData | |
![]() |
TObjectPtr< UAnimSequence > | PreviewBasePose | Preview Base pose for additive BlendSpace |
![]() |
TEnumAsByte< ERootMotionRootLock::Type > | RootMotionRootLock | Root Bone will be locked to that position when extracting root motion. |
![]() |
TArray< struct FSlotAnimationTrack > | SlotAnimTracks | Slot data, each slot contains anim track |
![]() |
FName | SyncGroup | If you're using marker based sync for this montage, make sure to add sync group name. |
![]() |
int32 | SyncSlotIndex | Index of the slot track used for collecting sync markers |
![]() |
FTimeStretchCurve | TimeStretchCurve | Time stretch curve will only be used when the montage has a non-default play rate |
![]() |
FName | TimeStretchCurveName | Name of optional TimeStretchCurveName to look for in Montage. |
Constructors
Type | Name | Description | |
---|---|---|---|
![]() |
UAnimMontage
(
const FObjectInitializer& ObjectInitializer |
Functions
Type | Name | Description | |
---|---|---|---|
![]() |
int32 | AddAnimCompositeSection
(
FName InSectionName, |
Add Composite section with InSectionName returns index of added item returns INDEX_NONE if failed. |
![]() |
FSlotAnimationTrack & | Add new slot track to this montage. | |
![]() ![]() |
float | CalculatePos
(
FCompositeSection& Section, |
Utility function to calculate Animation Pos from Section, PosWithinCompositeSection |
![]() |
float | Gets the sequence length of the montage by calculating it from the lengths of the segments in the montage. | |
![]() ![]() |
bool | ||
![]() |
void | Update markers | |
![]() ![]() |
UAnimMontage * | CreateSlotAnimationAsDynamicMontage
(
UAnimSequenceBase* Asset, |
Utility function to create dynamic montage from AnimSequence |
![]() ![]() |
UAnimMontage * | CreateSlotAnimationAsDynamicMontage_WithBlendSettings
(
UAnimSequenceBase* Asset, |
Utility function to create dynamic montage from AnimSequence with blend in settings |
![]() |
bool | DeleteAnimCompositeSection
(
int32 SectionIndex |
Delete Composite section with InSectionName return true if success, false otherwise |
![]() ![]() |
FTransform | ExtractRootMotionFromTrackRange
(
float StartTrackPosition, |
Extract RootMotion Transform from a contiguous Track position range. |
![]() |
void | FilterOutNotifyBranchingPoints
(
TArray< FAnimNotifyEventReference >& InAnimNotifies |
Filter out notifies from array that are marked as 'BranchingPoints' |
![]() ![]() |
const FBranchingPointMarker * | FindFirstBranchingPointMarker
(
float StartTrackPos, |
Find first branching point marker between track positions |
![]() ![]() |
const FAnimTrack * | GetAnimationData
(
FName SlotName |
Prototype function to get animation data - this will need rework |
![]() |
FCompositeSection & | GetAnimCompositeSection
(
int32 SectionIndex |
Get FCompositeSection with InSectionName |
![]() ![]() |
const FCompositeSection & | GetAnimCompositeSection
(
int32 SectionIndex |
Get FCompositeSection with InSectionName |
![]() ![]() |
int32 | GetAnimCompositeSectionIndexFromPos
(
float CurrentTime, |
Get Section Index from CurrentTime with PosWithinCompositeSection |
![]() ![]() |
FAlphaBlendArgs | ||
![]() ![]() |
FAlphaBlendArgs | ||
![]() ![]() |
float | ||
![]() ![]() |
float | ||
![]() ![]() |
FName | GetGroupName () |
Get the Montage's Group Name. This is the group from the first slot.Get Montage's Group Name |
![]() ![]() |
int32 | Returns the number of sections this montage has | |
![]() ![]() |
int32 | GetSectionIndex
(
FName InSectionName |
Get SectionIndex from SectionName. Returns INDEX_None if not found |
![]() ![]() |
int32 | GetSectionIndexFromPosition
(
float Position |
Return Section Index from Position |
![]() ![]() |
float | GetSectionLength
(
int32 SectionIndex |
|
![]() |
const TArray< class UAnimMetaData * > | GetSectionMetaData
(
FName SectionName, |
Get Section Metadata for the montage including metadata belong to the anim reference This will remove redundant entry if found - i.e. multiple same anim reference is used |
![]() ![]() |
FName | GetSectionName
(
int32 SectionIndex |
Get SectionName from SectionIndex. Returns NAME_None if not found |
![]() ![]() |
void | GetSectionStartAndEndTime
(
int32 SectionIndex, |
|
![]() |
float | GetSectionTimeLeftFromPos
(
float Position |
Return time left to end of section from given position. -1.f if not a valid position |
![]() ![]() |
bool | True if valid, false otherwise. Will log warning if not valid. | |
![]() ![]() |
bool | IsValidAdditiveSlot
(
const FName& SlotNodeName |
Check if this slot has a valid additive animation for the specified slot. |
![]() ![]() |
bool | IsValidSectionIndex
(
int32 SectionIndex |
|
![]() ![]() |
bool | IsValidSectionName
(
FName InSectionName |
|
![]() ![]() |
bool | IsValidSlot
(
FName InSlotName |
Return true if valid slot |
![]() |
void | RegisterOnMontageChanged
(
const FOnMontageChanged& Delegate |
Registers a delegate to be called after notification has changed |
![]() |
void | UnregisterOnMontageChanged
(
void* Unregister |
|
![]() |
void | Update all linkable elements contained in the montage | |
![]() |
void | UpdateLinkableElements
(
int32 SlotIdx, |
Update linkable elements that rely on a specific segment. |
Overridden from UAnimCompositeBase
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | ContainRecursive
(
TArray< UAnimCompositeBase* >& CurrentAccumulatedList |
This is recursive function that look thorough internal assets and clear the reference if recursive is found. |
![]() ![]() |
void | This is to prevent anybody adding recursive asset to anim composite as a result of anim composite being a part of anim sequence base | |
![]() ![]() |
void | SetCompositeLength
(
float InLength |
Overridden from UAnimSequenceBase
Type | Name | Description | |
---|---|---|---|
![]() ![]() ![]() |
EAnimEventTriggerOffsets::Type | CalculateOffsetForNotify
(
float NotifyDisplayTime |
Calculates what (if any) offset should be applied to the trigger time of a notify given its display time |
![]() ![]() ![]() |
bool | ||
![]() ![]() ![]() |
void | GetAnimationPose
(
FAnimationPoseData& OutPoseData, |
|
![]() ![]() ![]() |
void | GetMarkerIndicesForTime
(
float CurrentTime, |
|
![]() ![]() ![]() |
FMarkerSyncAnimPosition | GetMarkerSyncPositionFromMarkerIndicies
(
int32 PrevMarker, |
|
![]() ![]() ![]() |
FFrameRate | Return rate at which the animation is sampled | |
![]() ![]() ![]() |
bool | Returns whether the anim sequences this montage have root motion enabled | |
![]() ![]() |
void | PopulateWithExistingModel
(
TScriptInterface< IAnimationDataModel > ExistingDataModel |
|
![]() ![]() |
void | Update cache data (notify tracks, sync markers) |
Overridden from UAnimationAsset
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
bool | GetAllAnimationSequencesReferred
(
TArray< UAnimationAsset* >& AnimationSequences, |
Retrieve all animations that are used by this asset |
![]() ![]() |
TArray< FName > * | Return a list of unique marker names for blending compatibility | |
![]() ![]() ![]() |
bool | Return true if this is valid additive animation false otherwise | |
![]() ![]() |
void | ReplaceReferredAnimations
(
const TMap< UAnimationAsset*, UAnimationAsset* >& ReplacementMap |
Replace this assets references to other animations based on ReplacementMap |
![]() ![]() ![]() |
void | TickAssetPlayer
(
FAnimTickRecord& Instance, |
Advances the asset player instance |
Overridden from UObject
Type | Name | Description | |
---|---|---|---|
![]() ![]() |
void | GetResourceSizeEx
(
FResourceSizeEx& CumulativeResourceSize |
Get the size of the object/resource for use in memory tools or to display to artists/LDs in the Editor This is the extended version which separates up the used memory into different memory regions (the actual definition of which may be platform specific). |
![]() ![]() |
void | PostEditChangeProperty
(
FPropertyChangedEvent& PropertyChangedEvent |
Called when a property on this object has been modified externally |
![]() ![]() |
void | PostLoad () |
Do any object-specific cleanup required immediately after loading an object. |
![]() ![]() |
void | PreSave
(
FObjectPreSaveContext SaveContext |
Presave function. |
Typedefs
Name | Description |
---|---|
FOnMontageChanged | |
FOnMontageChangedMulticaster |
Deprecated Variables
Type | Name | Description | |
---|---|---|---|
![]() |
float | BlendInTime_DEPRECATED | |
![]() |
float | BlendOutTime_DEPRECATED | |
![]() |
TArray< struct FBranchingPoint > | BranchingPoints_DEPRECATED | Remove this when VER_UE4_MONTAGE_BRANCHING_POINT_REMOVAL is removed. |
Deprecated Functions
Type | Name | Description | |
---|---|---|---|
![]() |
void | FilterOutNotifyBranchingPoints
(
TArray< const FAnimNotifyEvent* >& InAnimNotifies |
Use the GetAnimNotifiesFromTrackPositions that takes FAnimNotifyEventReferences instead |
![]() ![]() ![]() |
FMarkerSyncAnimPosition | GetMarkerSyncPositionfromMarkerIndicies
(
int32 PrevMarker, |
Use other GetMarkerSyncPositionfromMarkerIndicies signature |
![]() ![]() |
PRAGMA_DISABLE_DEPRECATION_WARNINGSvoid | PreSave
(
const ITargetPlatform* TargetPlatform |
Use version that takes FObjectPreSaveContext instead. |