Open 3D Engine MotionMatching 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::MotionMatching::PoseWriterCsv Class Reference

#include <CsvSerializers.h>

Inherits EMotionFX::MotionMatching::CsvWriterBase.

Classes

struct  WriteSettings
 

Public Member Functions

bool Begin (const char *filename, ActorInstance *actorInstance, const WriteSettings &writeSettings)
 
void WritePose (Pose &pose, const ETransformSpace transformSpace)
 
void End () override
 

Additional Inherited Members

- Protected Member Functions inherited from EMotionFX::MotionMatching::CsvWriterBase
bool OpenFile (const char *filename, int openMode)
 
virtual void End ()
 
bool IsReady () const
 
void WriteLine (AZStd::string &line)
 
void WriteVector3ToString (const AZ::Vector3 &vec, AZStd::string &text)
 
void WriteFloatArrayToString (const AZStd::vector< float > &values, AZStd::string &text)
 
- Protected Attributes inherited from EMotionFX::MotionMatching::CsvWriterBase
AZ::IO::SystemFile m_file
 
AZStd::string m_tempBuffer
 

Detailed Description

Store a list of skeletal poses in a table The first row contains the value component names, e.g. "LeftArm.Position.X" Each following row represents a skeletal pose Position and rotation values for all enabled joints are stored (scale is skipped). Position XYZ is stored in 3x columns. Rotation which internally is stored as a quaternion is converted to a rotation matrix and the XY-axes of it are stored as 6x components/columns. To reconstruct the rotation quaternion, we first need the cross-product of the X and Y axes to get the Z axis, create a rotation matrix from that and then convert it back to a quaternion.

Member Function Documentation

◆ End()

void EMotionFX::MotionMatching::PoseWriterCsv::End ( )
overridevirtual

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