载入中...
搜索中...
未找到
eve::animation::detail 命名空间参考

类

struct  MotionSchemaState
 MotionSchemaState public API. 更多...
 
struct  PoseInertia
 PoseInertia public API. 更多...
 

函数

eve::Result< float > secondsForStep (const eve::SimulationStep &step, bool hasLastTick, eve::SimulationTick lastTick, const char *owner)
 Validate a scheduler step before an animation object mutates state.
 
eve::Result< eve::SimulationStep > legacyStep (float seconds, bool hasLastTick, eve::SimulationTick lastTick, const char *owner)
 Convert a legacy seconds call to the next local scheduler step.
 
template<class Body >
int parallelAnimationItems (std::size_t count, int requested, Body &&body)
 Parallel animation items.
 
TransformTRS mulTRS (const TransformTRS &parent, const TransformTRS &local)
 Mul trs.
 
float featureYaw (const TransformTRS &t)
 Feature yaw.
 
std::array< float, 3 > featureLocal (float x, float y, float z, float yaw)
 
std::array< float, 3 > featurePosition (const TransformTRS &bone, const TransformTRS &root)
 
void encodeLocomotionPose (std::span< float > out, const std::array< TransformTRS, 4 > &now, const std::array< TransformTRS, 4 > &past, float interval)
 Encode locomotion pose.
 
template<class Sample >
void encodeLocomotionTrajectory (std::span< float > out, const std::array< Sample, 5 > &samples, float yaw)
 Encode locomotion trajectory.
 
float locomotionWeight (int index)
 Locomotion weight.
 
std::array< float, 3 > schemaRotate (const std::array< float, 3 > &p, const TransformTRS &q, bool inverse=false)
 
std::array< float, 3 > schemaDifference (const TransformTRS &a, const TransformTRS &b, const TransformTRS &root)
 
void schemaEncode (std::span< float > output, const MotionFeatureChannel &channel, std::array< float, 3 > value, float lengthScale)
 Schema encode.
 
std::array< float, 3 > schemaHeading (const TransformTRS &bone, const TransformTRS &root, int axis)
 

变量

constexpr int locomotionPoseOffset = 19
 
constexpr int locomotionFeatureCount = 30
 
constexpr std::array< float, 5 > locomotionHorizons {-0.05f, 0.f, 0.35f, 0.7f, 1.f}
 

函数说明

◆ encodeLocomotionPose()

void eve::animation::detail::encodeLocomotionPose ( std::span< float >  out,
const std::array< TransformTRS, 4 > &  now,
const std::array< TransformTRS, 4 > &  past,
float  interval 
)
inline

Encode locomotion pose.

Feature yaw.

在文件 MotionFeatureInternal.h 第 28 行定义.

引用了 current, featureLocal(), featurePosition(), featureYaw(), heading, left, previous, q , 以及 right.

◆ encodeLocomotionTrajectory()

template<class Sample >
void eve::animation::detail::encodeLocomotionTrajectory ( std::span< float >  out,
const std::array< Sample, 5 > &  samples,
float  yaw 
)
inline

Encode locomotion trajectory.

Yaw to forward.

Velocity.

Position.

Heading.

Position.

Heading.

Position.

Velocity.

Heading.

在文件 MotionFeatureInternal.h 第 48 行定义.

引用了 featureLocal(), heading, offset, p, position, v, vx, vy, vz, x, y, yaw, eve::animation::yawToForward() , 以及 z.

◆ featureLocal()

std::array< float, 3 > eve::animation::detail::featureLocal ( float  x,
float  y,
float  z,
float  yaw 
)
inline

在文件 MotionFeatureInternal.h 第 17 行定义.

引用了 x, y, yaw , 以及 z.

被这些函数引用 encodeLocomotionPose(), encodeLocomotionTrajectory() , 以及 featurePosition().

◆ featurePosition()

std::array< float, 3 > eve::animation::detail::featurePosition ( const TransformTRS &  bone,
const TransformTRS &  root 
)
inline

Feature local.

在文件 MotionFeatureInternal.h 第 21 行定义.

引用了 bone, featureLocal(), featureYaw() , 以及 root.

被这些函数引用 encodeLocomotionPose().

◆ featureYaw()

float eve::animation::detail::featureYaw ( const TransformTRS &  t)
inline

Feature yaw.

Atan 2.

在文件 MotionFeatureInternal.h 第 13 行定义.

引用了 t.

被这些函数引用 encodeLocomotionPose() , 以及 featurePosition().

◆ legacyStep()

◆ locomotionWeight()

float eve::animation::detail::locomotionWeight ( int  index)
inline

Locomotion weight.

在文件 MotionFeatureInternal.h 第 85 行定义.

引用了 index.

◆ mulTRS()

◆ parallelAnimationItems()

template<class Body >
int eve::animation::detail::parallelAnimationItems ( std::size_t  count,
int  requested,
Body &&  body 
)

Parallel animation items.

Errors.

Body.

Run.

在文件 AnimParallelInternal.h 第 14 行定义.

引用了 body, count, error, index, limit , 以及 run.

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

◆ schemaDifference()

std::array< float, 3 > eve::animation::detail::schemaDifference ( const TransformTRS &  a,
const TransformTRS &  b,
const TransformTRS &  root 
)
inline

Schema rotate.

在文件 MotionSchemaInternal.h 第 34 行定义.

引用了 a, b, root , 以及 schemaRotate().

被这些函数引用 eve::animation::MotionMatcher::setFeatureQuery().

◆ schemaEncode()

void eve::animation::detail::schemaEncode ( std::span< float >  output,
const MotionFeatureChannel &  channel,
std::array< float, 3 >  value,
float  lengthScale 
)
inline

◆ schemaHeading()

std::array< float, 3 > eve::animation::detail::schemaHeading ( const TransformTRS &  bone,
const TransformTRS &  root,
int  axis 
)
inline

Schema rotate.

在文件 MotionSchemaInternal.h 第 48 行定义.

引用了 bone, direction, root , 以及 schemaRotate().

被这些函数引用 eve::animation::MotionMatcher::setFeatureQuery().

◆ schemaRotate()

std::array< float, 3 > eve::animation::detail::schemaRotate ( const std::array< float, 3 > &  p,
const TransformTRS &  q,
bool  inverse = false 
)
inline

◆ secondsForStep()

变量说明

◆ locomotionFeatureCount

constexpr int eve::animation::detail::locomotionFeatureCount = 30
inlineconstexpr

在文件 MotionFeatureInternal.h 第 9 行定义.

◆ locomotionHorizons

constexpr std::array<float, 5> eve::animation::detail::locomotionHorizons {-0.05f, 0.f, 0.35f, 0.7f, 1.f}
inlineconstexpr

在文件 MotionFeatureInternal.h 第 10 行定义.

◆ locomotionPoseOffset

constexpr int eve::animation::detail::locomotionPoseOffset = 19
inlineconstexpr

在文件 MotionFeatureInternal.h 第 8 行定义.

被这些函数引用 eve::animation::MotionMatcher::search().