载入中...
搜索中...
未找到
eve::animation::AnimClip类 参考

Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip. 更多...

#include <AnimClip.h>

Public 成员函数

 AnimClip (std::string name="")
 
 ~AnimClip ()
 
 AnimClip (const AnimClip &)=delete
 
AnimClipoperator= (const AnimClip &)=delete
 
void setName (const std::string &name)
 
std::string getName () const
 
void setDuration (float seconds)
 
float getDuration () const
 
void setLoop (bool loop)
 
bool getLoop () const
 
void setSampleRate (float hz)
 Sample rate hint used by MotionDatabase baking (Hz).
 
float getSampleRate () const
 
void addPositionKey (int boneIndex, float time, float x, float y, float z)
 
void addRotationKey (int boneIndex, float time, float x, float y, float z, float w)
 
void addScaleKey (int boneIndex, float time, float x, float y, float z)
 
int getPositionKeyCount (int boneIndex) const
 
int getRotationKeyCount (int boneIndex) const
 
int getScaleKeyCount (int boneIndex) const
 
float getPositionKeyTime (int boneIndex, int keyIndex) const
 
float getPositionKeyX (int boneIndex, int keyIndex) const
 
float getPositionKeyY (int boneIndex, int keyIndex) const
 
float getPositionKeyZ (int boneIndex, int keyIndex) const
 
float getRotationKeyTime (int boneIndex, int keyIndex) const
 
float getRotationKeyX (int boneIndex, int keyIndex) const
 
float getRotationKeyY (int boneIndex, int keyIndex) const
 
float getRotationKeyZ (int boneIndex, int keyIndex) const
 
float getRotationKeyW (int boneIndex, int keyIndex) const
 
float getScaleKeyTime (int boneIndex, int keyIndex) const
 
float getScaleKeyX (int boneIndex, int keyIndex) const
 
float getScaleKeyY (int boneIndex, int keyIndex) const
 
float getScaleKeyZ (int boneIndex, int keyIndex) const
 
void applyPlanarRootMotion (int boneIndex, float speedX, float speedZ)
 Bake planar root motion onto an existing position track (or create one). For each position key at time t: x += speedX * t, z += speedZ * t. Useful when source clips are Mixamo in-place locomotion.
 
void sample (float time, AnimPose *out, const AnimSkeleton *skeleton=nullptr) const
 Sample local pose at time (seconds). If skeleton non-null, missing tracks fall back to bind pose; otherwise identity.
 
float wrapTime (float time) const
 Wrap or clamp time according to loop flag.
 
void adopt (AnimClip &other)
 Replace this clip's content with other's (payload moved, not copied). Used by hot reload so registered clip instances keep their identity while their content is refreshed. other is left drained and is destroyed by the caller.
 

详细描述

Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.

在文件 AnimClip.h17 行定义.

构造及析构函数说明

◆ AnimClip() [1/2]

eve::animation::AnimClip::AnimClip ( std::string  name = "")
explicit

在文件 AnimClip.cpp14 行定义.

◆ ~AnimClip()

eve::animation::AnimClip::~AnimClip ( )

在文件 AnimClip.cpp16 行定义.

引用了 eve::animation::AnimClipRegistry::unregister().

◆ AnimClip() [2/2]

eve::animation::AnimClip::AnimClip ( const AnimClip )
delete

成员函数说明

◆ addPositionKey()

void eve::animation::AnimClip::addPositionKey ( int  boneIndex,
float  time,
float  x,
float  y,
float  z 
)

在文件 AnimClip.cpp35 行定义.

引用了 a, b, x, y , 以及 z.

被这些函数引用 eve::animation::AnimImporter::importEva().

◆ addRotationKey()

void eve::animation::AnimClip::addRotationKey ( int  boneIndex,
float  time,
float  x,
float  y,
float  z,
float  w 
)

◆ addScaleKey()

void eve::animation::AnimClip::addScaleKey ( int  boneIndex,
float  time,
float  x,
float  y,
float  z 
)

在文件 AnimClip.cpp66 行定义.

引用了 a, b, x, y , 以及 z.

被这些函数引用 eve::animation::AnimImporter::importEva().

◆ adopt()

void eve::animation::AnimClip::adopt ( AnimClip other)

Replace this clip's content with other's (payload moved, not copied). Used by hot reload so registered clip instances keep their identity while their content is refreshed. other is left drained and is destroyed by the caller.

在文件 AnimClip.cpp289 行定义.

◆ applyPlanarRootMotion()

void eve::animation::AnimClip::applyPlanarRootMotion ( int  boneIndex,
float  speedX,
float  speedZ 
)

Bake planar root motion onto an existing position track (or create one). For each position key at time t: x += speedX * t, z += speedZ * t. Useful when source clips are Mixamo in-place locomotion.

在文件 AnimClip.cpp154 行定义.

◆ getDuration()

float eve::animation::AnimClip::getDuration ( ) const
inline

◆ getLoop()

bool eve::animation::AnimClip::getLoop ( ) const
inline

在文件 AnimClip.h32 行定义.

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getName()

std::string eve::animation::AnimClip::getName ( ) const
inline

在文件 AnimClip.h26 行定义.

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getPositionKeyCount()

int eve::animation::AnimClip::getPositionKeyCount ( int  boneIndex) const

◆ getPositionKeyTime()

float eve::animation::AnimClip::getPositionKeyTime ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp99 行定义.

引用了 getPositionKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getPositionKeyX()

float eve::animation::AnimClip::getPositionKeyX ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp103 行定义.

引用了 getPositionKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getPositionKeyY()

float eve::animation::AnimClip::getPositionKeyY ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp107 行定义.

引用了 getPositionKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getPositionKeyZ()

float eve::animation::AnimClip::getPositionKeyZ ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp111 行定义.

引用了 getPositionKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getRotationKeyCount()

int eve::animation::AnimClip::getRotationKeyCount ( int  boneIndex) const

◆ getRotationKeyTime()

float eve::animation::AnimClip::getRotationKeyTime ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp116 行定义.

引用了 getRotationKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getRotationKeyW()

float eve::animation::AnimClip::getRotationKeyW ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp132 行定义.

引用了 getRotationKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getRotationKeyX()

float eve::animation::AnimClip::getRotationKeyX ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp120 行定义.

引用了 getRotationKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getRotationKeyY()

float eve::animation::AnimClip::getRotationKeyY ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp124 行定义.

引用了 getRotationKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getRotationKeyZ()

float eve::animation::AnimClip::getRotationKeyZ ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp128 行定义.

引用了 getRotationKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getSampleRate()

float eve::animation::AnimClip::getSampleRate ( ) const
inline

在文件 AnimClip.h36 行定义.

被这些函数引用 eve::animation::MotionDatabase::bake() , 以及 eve::animation::AnimImporter::exportEva().

◆ getScaleKeyCount()

int eve::animation::AnimClip::getScaleKeyCount ( int  boneIndex) const

◆ getScaleKeyTime()

float eve::animation::AnimClip::getScaleKeyTime ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp137 行定义.

引用了 getScaleKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getScaleKeyX()

float eve::animation::AnimClip::getScaleKeyX ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp141 行定义.

引用了 getScaleKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getScaleKeyY()

float eve::animation::AnimClip::getScaleKeyY ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp145 行定义.

引用了 getScaleKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ getScaleKeyZ()

float eve::animation::AnimClip::getScaleKeyZ ( int  boneIndex,
int  keyIndex 
) const

在文件 AnimClip.cpp149 行定义.

引用了 getScaleKeyCount().

被这些函数引用 eve::animation::AnimImporter::exportEva().

◆ operator=()

AnimClip & eve::animation::AnimClip::operator= ( const AnimClip )
delete

◆ sample()

void eve::animation::AnimClip::sample ( float  time,
AnimPose out,
const AnimSkeleton skeleton = nullptr 
) const

◆ setDuration()

void eve::animation::AnimClip::setDuration ( float  seconds)

◆ setLoop()

void eve::animation::AnimClip::setLoop ( bool  loop)
inline

在文件 AnimClip.h31 行定义.

被这些函数引用 eve::animation::AnimImporter::importEva().

◆ setName()

void eve::animation::AnimClip::setName ( const std::string &  name)
inline

在文件 AnimClip.h25 行定义.

引用了 name.

◆ setSampleRate()

void eve::animation::AnimClip::setSampleRate ( float  hz)

Sample rate hint used by MotionDatabase baking (Hz).

在文件 AnimClip.cpp23 行定义.

被这些函数引用 eve::animation::AnimImporter::importEva().

◆ wrapTime()

float eve::animation::AnimClip::wrapTime ( float  time) const

Wrap or clamp time according to loop flag.

在文件 AnimClip.cpp169 行定义.

引用了 eve::animation::clampf().

被这些函数引用 sample().


该类的文档由以下文件生成: