UInterpTrackMove

Track containing data for moving an actor around over time.

Windows
MacOS
Linux

Inheritance Hierarchy

References

Module

Engine

Header

/Engine/Source/Runtime/Engine/Classes/Matinee/InterpTrackMove.h

Include

#include "Matinee/InterpTrackMove.h"

Syntax

class UInterpTrackMove : public UInterpTrack

Remarks

Track containing data for moving an actor around over time.

Variables

Name Description

Public variable

float

 

AngCurveTension

Controls the tightness of the curve for the rotation path.

Public variable

uint32: 1

 

bDisableMovement

Disable previewing of this track - will always position AActor at Time=0.0.

Public variable

uint32: 1

 

bHide3DTrack

If true, 3D representation of this track in the 3D viewport is disabled.

Public variable

uint32: 1

 

bShowArrowAtKeys

In the editor, show a small arrow at each keyframe indicating the rotation at that key.

Public variable

uint32: 1

 

bShowRotationOnCurveEd

If false, when this track is displayed on the Curve Editor in Matinee, do not show the Rotation tracks.

Public variable

uint32: 1

 

bShowTranslationOnCurveEd

If false, when this track is displayed on the Curve Editor in Matinee, do not show the Translation tracks.

Public variable

uint32: 1

 

bUseQuatInterpolation

Use a Quaternion linear interpolation between keys.

Public variable

FInterpCurveVec...

 

EulerTrack

Actual rotation keyframe data, stored as Euler angles in degrees, for easy editing on curve.

Public variable

float

 

LinCurveTension

Controls the tightness of the curve for the translation path.

Public variable

FName

 

LookAtGroupName

When using IMR_LookAtGroup, specifies the Group which this track should always point its actor at.

Public variable

FInterpLookupTr...

 

LookupTrack

Public variable

FInterpCurveVec...

 

PosTrack

Actual position keyframe data.

Public variable

TEnumAsByte< en...

 

RotMode

Constructors

Name Description

Public function

UInterpTrackMove

(
    const FObjectInitializer& ObjectIn...
)

Functions

Name Description

Public function Const

int32

 

CalcSubIndex

(
    bool bPos,
    int32 InIndex
)

Public function Virtual

void

 

ClearLookupKeyGroupName

(
    int32 KeyIndex
)

Clears the lookup group name for a movement track keyframe.

Public function

void

 

ComputeWorldSpaceKeyTransform

(
    UInterpTrackInstMove* MoveTrac...,
    const FVector& RelativeSpacePos,
    const FRotator& RelativeSpaceRot,
    FVector& OutPos,
    FRotator& OutRot
)

Compute the world space coordinates for a key; handles keys that use IMF_RelativeToInitial, basing, etc.

Public function

FVector

 

EvalPositionAtTime

(
    UInterpTrackInst* TrInst,
    float Time
)

Replacement for the PosTrack eval function that uses GetKeyframePosition.

Public function

FVector

 

EvalRotationAtTime

(
    UInterpTrackInst* TrInst,
    float Time
)

Replacement for the EulerTrack eval function that uses GetKeyframeRotation.

Public function

float

 

FindBestMatchingTimefromPosition

(
    UInterpTrackInst* TrInst,
    const FVector& Pos,
    int32 StartKeyIndex,
    EAxisList::Type WeightAxis
)

Find Best Matching Time From Position This function simply try to find Time from input Position using simple Lerp

Public function

void

 

GetKeyframePosition

(
    UInterpTrackInst* TrInst,
    int32 KeyIndex,
    float& OutTime,
    FVector& OutPos,
    FVector* OutArriveTangent,
    FVector* OutLeaveTangent
)

Get the position of a keyframe given its key index.

Public function

void

 

GetKeyframeRotation

(
    UInterpTrackInst* TrInst,
    int32 KeyIndex,
    float& OutTime,
    FVector& OutRot,
    FVector* OutArriveTangent,
    FVector* OutLeaveTangent
)

Get the rotation of a keyframe given its key index.

Public function Virtual

void

 

GetKeyTransformAtTime

(
    UInterpTrackInst* TrInst,
    float Time,
    FVector& OutPos,
    FRotator& OutRot
)

Get the keyed relative transform at the specified time - this does not include any special rotation mode support.

Public function Virtual

bool

 

GetLocationAtTime

(
    UInterpTrackInst* TrInst,
    float Time,
    FVector& OutPos,
    FRotator& OutRot
)

Calculate the world-space location/rotation at the specified time, including.

Public function Virtual

FRotator

 

GetLookAtRotation

(
    UInterpTrackInst* TrInst
)

Calculate the world space rotation needed to look at the current LookAtGroupName target.

Public function Virtual

FName

 

GetLookupKeyGroupName

(
    int32 KeyIndex
)

Public function Virtual

FTransform

 

GetMoveRefFrame

(
    UInterpTrackInstMove* MoveTrac...
)

Return the reference frame that the animation is currently working within.

Public function Virtual

void

 

SetLookupKeyGroupName

(
    int32 KeyIndex,
    const FName& NewGroupName
)

Sets the lookup group name for a movement track keyframe.

Public function

void

 

SplitTranslationAndRotation()

Split this movment track in to seperate tracks for translation and rotation

Overridden from UInterpTrack

Name Description

Public function Virtual

int32

 

AddChildKeyframe

(
    UInterpTrack* ChildTrack,
    float Time,
    UInterpTrackInst* TrackInst,
    EInterpCurveMode InitInterpMode
)

Adds a keyframe to a child track

Public function Virtual

int32

 

AddKeyframe

(
    float Time,
    UInterpTrackInst* TrInst,
    EInterpCurveMode InitInterpMode
)

Adds a keyframe at the given time to the track.

Public function Virtual

void

 

ApplyWorldOffset

(
    const FVector& InOffset,
    bool bWorldShift
)

Called by owning actor on position shifting

Public function Virtual

bool

 

CanAddChildKeyframe

(
    UInterpTrackInst* TrackInst
)

Can a keyframe be added to a child track?

Public function Virtual

bool

 

CanAddKeyframe

(
    UInterpTrackInst* TrackInst
)

Can a keyframe be added to the track?

Public function Virtual

void

 

ConditionalPreviewUpdateTrack

(
    float NewPosition,
    UInterpTrackInst* TrInst
)

Conditionally calls PreviewUpdateTrack depending on whether or not the track is enabled.

Public function Virtual

void

 

CreateSubTracks

(
    bool bCopy
)

Create and adds subtracks to this track

Public function Virtual

void

 

DrawTrack

(
    FCanvas* Canvas,
    UInterpGroup* Group,
    const FInterpTrackDrawParams& Para...
)

Draw this track with the specified parameters

Public function Virtual

int32

 

DuplicateKeyframe

(
    int32 KeyIndex,
    float NewKeyTime,
    UInterpTrack* ToTrack
)

Duplicates the given key.

Public function Virtual

bool

 

GetClosestSnapPosition

(
    float InPosition,
    TArray< int32 >& IgnoreKeys,
    float& OutPosition
)

Gets the position of the closest key with snapping incorporated.

Public function Virtual Const

FColor

 

GetKeyframeColor

(
    int32 KeyIndex
)

Public function Virtual Const

int32

 

GetKeyframeIndex

(
    float KeyTime
)

Get the index of the keyframe with the given time.

Public function Virtual Const

float

 

GetKeyframeTime

(
    int32 KeyIndex
)

Get the time of the keyframe with the given index.

Public function Virtual Const

int32

 

GetNumKeyframes()

Public function Virtual Const

void

 

GetTimeRange

(
    float& StartTime,
    float& EndTime
)

Gathers the range that spans all keyframes.

Public function Virtual Const

float

 

GetTrackEndTime()

Public function Virtual Const

UTexture2D &...

 

GetTrackIcon()

Public function Virtual

void

 

PreviewUpdateTrack

(
    float NewPosition,
    UInterpTrackInst* TrInst
)

Updates the instance of this track based on the new position. This is for editor preview.

Public function Virtual

void

 

ReduceKeys

(
    float IntervalStart,
    float IntervalEnd,
    float Tolerance
)

Reduce Keys within Tolerance

Public function Virtual

void

 

RemoveKeyframe

(
    int32 KeyIndex
)

Removes the given key from the array of keys in the track.

Public function Virtual

void

 

Render3DTrack

(
    UInterpTrackInst* TrInst,
    const FSceneView* View,
    FPrimitiveDrawInterface* PDI,
    int32 TrackIndex,
    const FColor& TrackColor,
    TArray< struct FInterpEdSelKey >& ...
)

For drawing track information into the 3D scene.

Public function Virtual

int32

 

SetKeyframeTime

(
    int32 KeyIndex,
    float NewKeyTime,
    bool bUpdateOrder
)

Changes the time of the given key with the new given time.

Public function Virtual

void

 

SetTrackToSensibleDefault()

Set this track to sensible default values. Called when track is first created.

Public function Virtual

void

 

UpdateChildKeyframe

(
    UInterpTrack* ChildTrack,
    int32 KeyIndex,
    UInterpTrackInst* TrackInst
)

Updates a child track keyframe

Public function Virtual

void

 

UpdateKeyframe

(
    int32 KeyIndex,
    UInterpTrackInst* TrInst
)

Changes the value of an existing keyframe.

Public function Virtual

void

 

UpdateTrack

(
    float NewPosition,
    UInterpTrackInst* TrInst,
    bool bJump
)

Updates the instance of this track based on the new position.

Overridden from UObject

Name Description

Public function Virtual

void

 

PostEditChangeProperty

(
    FPropertyChangedEvent& PropertyCha...
)

Called when a property on this object has been modified externally

Public function Virtual

void

 

PostEditImport()

Called after importing property values for this object (paste, duplicate or .t3d import) Allow the object to perform any cleanup for properties which shouldn't be duplicated or are unsupported by the script serialization

Overridden from FCurveEdInterface

Name Description

Public function Virtual

int32

 

CreateNewKey

(
    float KeyIn
)

Add a new key to the curve with the specified input.

Public function Virtual

void

 

DeleteKey

(
    int32 KeyIndex
)

Remove the specified key from the curve. KeyIndex must be within range ie >=0 and < NumKeys.

Public function Virtual

float

 

EvalSub

(
    int32 SubIndex,
    float InVal
)

Evaluate a subcurve at an arbitary point.

Public function Virtual Const

void

 

GetInRange

(
    float& MinIn,
    float& MaxIn
)

Get input range of keys. Outside this region curve continues constantly the start/end values.

Public function Virtual

FColor

 

GetKeyColor

(
    int32 SubIndex,
    int32 KeyIndex,
    const FColor& CurveColor
)

Provides the color for the given key at the given sub-curve.

Public function Virtual

float

 

GetKeyIn

(
    int32 KeyIndex
)

Get the input value for the Key with the specified index.

Public function Virtual Const

EInterpCurve...

 

GetKeyInterpMode

(
    int32 KeyIndex
)

Get the interpolation mode of the specified keyframe.

Public function Virtual

float

 

GetKeyOut

(
    int32 SubIndex,
    int32 KeyIndex
)

Get the output value for the key with the specified index on the specified sub-curve.

Public function Virtual Const

int32

 

GetNumKeys()

Get number of keyframes in curve.

Public function Virtual Const

int32

 

GetNumSubCurves()

Get number of 'sub curves' in this Curve.

Public function Virtual Const

void

 

GetOutRange

(
    float& MinOut,
    float& MaxOut
)

Get overall range of output values.

Public function Virtual Const

FColor

 

GetSubCurveButtonColor

(
    int32 SubCurveIndex,
    bool bIsSubCurveHidden
)

Provides the color for the sub-curve button that is present on the curve tab.

Public function Virtual Const

void

 

GetTangents

(
    int32 SubIndex,
    int32 KeyIndex,
    float& ArriveTangent,
    float& LeaveTangent
)

Get the incoming and outgoing tangent for the given subcurve and key.

Public function Virtual

int32

 

SetKeyIn

(
    int32 KeyIndex,
    float NewInVal
)

Set the input value of the specified Key.

Public function Virtual

void

 

SetKeyInterpMode

(
    int32 KeyIndex,
    EInterpCurveMode NewMode
)

Set the method to use for interpolating between the give keyframe and the next one.

Public function Virtual

void

 

SetKeyOut

(
    int32 SubIndex,
    int32 KeyIndex,
    float NewOutVal
)

Set the output values of the specified key.

Public function Virtual

void

 

SetTangents

(
    int32 SubIndex,
    int32 KeyIndex,
    float ArriveTangent,
    float LeaveTangent
)

Set the incoming and outgoing tangent for the given subcurve and key.

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback