Open 3D Engine EMotionFX Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
EMotionFX::PlayBackInfo Class Reference

#include <PlayBackInfo.h>

Public Member Functions

 PlayBackInfo ()
 
 ~PlayBackInfo ()
 

Public Attributes

float m_blendInTime
 
float m_blendOutTime
 
float m_playSpeed
 
float m_targetWeight
 
float m_eventWeightThreshold
 
float m_maxPlayTime
 
float m_clipStartTime
 
float m_clipEndTime
 
float m_freezeAtTime
 
uint32 m_numLoops
 
uint32 m_priorityLevel
 
EMotionBlendMode m_blendMode
 
EPlayMode m_playMode
 
bool m_mirrorMotion
 
bool m_mix
 
bool m_playNow
 
bool m_motionExtractionEnabled
 
bool m_retarget
 
bool m_freezeAtLastFrame
 
bool m_enableMotionEvents
 
bool m_blendOutBeforeEnded
 
bool m_canOverwrite
 
bool m_deleteOnZeroWeight
 
bool m_inPlace
 

Detailed Description

The playback information, which are used when playing a motion on an actor. You have to pass an object of this class to the Actor::PlayMotion(...) method.

Constructor & Destructor Documentation

◆ PlayBackInfo()

EMotionFX::PlayBackInfo::PlayBackInfo ( )
inline

The constructor. Automatically initializes all members on the following default values.

Member Name           - Default Value
---------------------------------
m_blendInTime          - 0.3 (seconds)
m_blendOutTime         - 0.3 (seconds)
m_playSpeed            - 1.0 (original speed)
m_targetWeight         - 1.0 (fully blend in)
m_eventWeightThreshold - 0.0 (allow all events even with low motion instance weight values)
m_maxPlayTime          - 0.0 (disabled when zero or negative)
m_clipStartTime        - 0.0 (start and loop from the beginning of the motion)
m_clipEndTime          - 0.0 (set to negative or zero to play the full range of the motion)
m_numLoops             - EMFX_LOOPFOREVER
m_blendMode            - BLENDMODE_OVERWRITE (overwrites motions)
m_playMode             - PLAYMODE_FORWARD (regular forward playing motion)
m_mirrorMotion         - false (disable motion mirroring)
m_playNow              - true (start playing immediately)
m_mix                  - false (non mixing motion)
m_priorityLevel        - 0 (no priority)
m_motionExtractionEnabled - true
m_retarget             - false (no motion retargeting allowed)
m_freezeAtLastFrame    - true (motion freezes in last frame when not looping forever)
m_enableMotionEvents   - true (all motion events will be processed for this motion instance
m_blendOutBeforeEnded  - true (blend out so that it faded out at the end of the motion).
m_canOverwrite         - true (can overwrite other motion instances when reaching a weight of 1.0)
m_deleteOnZeroWeight   - true (delete this motion instance when it reaches a weight of 0.0)
m_freezeAtTime;        - -1.0 (Freeze at a given time offset in seconds. The current play time would continue running though, and a blend out would be triggered, unlike the m_freezeAtLastFrame. Set to negative value to disable.

You can adjust these settings.

◆ ~PlayBackInfo()

EMotionFX::PlayBackInfo::~PlayBackInfo ( )
inline

The destructor.

Member Data Documentation

◆ m_blendInTime

float EMotionFX::PlayBackInfo::m_blendInTime

The time, in seconds, which it will take to fully have blended to the target weight.

◆ m_blendMode

EMotionBlendMode EMotionFX::PlayBackInfo::m_blendMode

The motion blend mode. Please read the MotionInstance::SetBlendMode(...) method for more information.

◆ m_blendOutBeforeEnded

bool EMotionFX::PlayBackInfo::m_blendOutBeforeEnded

Set to true if you want the motion to be stopped so that it exactly faded out when the motion/loop fully finished. If set to false it will fade out after the loop has completed (and starts repeating). The default is true.

◆ m_blendOutTime

float EMotionFX::PlayBackInfo::m_blendOutTime

The time, in seconds, which it takes to smoothly fadeout the motion, after it has been stopped playing.

◆ m_canOverwrite

bool EMotionFX::PlayBackInfo::m_canOverwrite

Set to true if you want this motion to be able to delete other underlaying motion instances when this motion instance reaches a weight of 1.0.

◆ m_clipEndTime

float EMotionFX::PlayBackInfo::m_clipEndTime

The end playback time in seconds. It will jump back to the clip start time after reaching this playback time.

◆ m_clipStartTime

float EMotionFX::PlayBackInfo::m_clipStartTime

The start playback time in seconds. Also in case of looping it will jump to this position on a loop.

◆ m_deleteOnZeroWeight

bool EMotionFX::PlayBackInfo::m_deleteOnZeroWeight

Set to true if you wish to delete this motion instance once it reaches a weight of 0.0.

◆ m_enableMotionEvents

bool EMotionFX::PlayBackInfo::m_enableMotionEvents

Set to true to enable motion events, or false to disable processing of motion events for this motion instance.

◆ m_eventWeightThreshold

float EMotionFX::PlayBackInfo::m_eventWeightThreshold

The motion event weight threshold. If the motion instance weight is lower than this value, no motion events will be executed for this motion instance.

◆ m_freezeAtLastFrame

bool EMotionFX::PlayBackInfo::m_freezeAtLastFrame

Set to true if you like the motion to freeze at the last frame, for example in case of a death motion.

◆ m_freezeAtTime

float EMotionFX::PlayBackInfo::m_freezeAtTime

Freeze at a given time offset in seconds. The current play time would continue running though, and a blend out would be triggered, unlike the m_freezeAtLastFrame. Set to negative value to disable. Default=-1.

◆ m_inPlace

bool EMotionFX::PlayBackInfo::m_inPlace

Set to true if you want the motion to play in place. This means the root of the motion will not move.

◆ m_maxPlayTime

float EMotionFX::PlayBackInfo::m_maxPlayTime

The maximum play time, in seconds. Set to zero or a negative value to disable it.

◆ m_mirrorMotion

bool EMotionFX::PlayBackInfo::m_mirrorMotion

Is motion mirroring enabled or not? When set to true, the m_mirrorPlaneNormal is used as mirroring axis.

◆ m_mix

bool EMotionFX::PlayBackInfo::m_mix

Set to true if you want this motion to mix or not.

◆ m_motionExtractionEnabled

bool EMotionFX::PlayBackInfo::m_motionExtractionEnabled

Set to true if you want this motion to move and rotate the actor instance, otherwise set to false.

◆ m_numLoops

uint32 EMotionFX::PlayBackInfo::m_numLoops

The number of times you want to play this motion. A value of EMFX_LOOPFOREVER means it will loop forever.

◆ m_playMode

EPlayMode EMotionFX::PlayBackInfo::m_playMode

The motion playback mode. This means forward or backward playback.

◆ m_playNow

bool EMotionFX::PlayBackInfo::m_playNow

Set to true if you want to start playing the motion right away. If set to false it will be scheduled for later by inserting it into the motion queue.

◆ m_playSpeed

float EMotionFX::PlayBackInfo::m_playSpeed

The playback speed factor. A value of 1 stands for the original speed, while for example 2 means twice the original speed.

◆ m_priorityLevel

uint32 EMotionFX::PlayBackInfo::m_priorityLevel

The priority level, the higher this value, the higher priority it has on overwriting other motions.

◆ m_retarget

bool EMotionFX::PlayBackInfo::m_retarget

Set to true if you want to enable motion retargeting. Read the manual for more information.

◆ m_targetWeight

float EMotionFX::PlayBackInfo::m_targetWeight

The target weight, where 1 means fully active, and 0 means not active at all.


The documentation for this class was generated from the following file: