载入中...
搜索中...
未找到
MotionDatabaseLocomotion.cpp
浏览该文件的文档.
11eve::Result<void> MotionDatabase::setLocomotionFeatures(int leftFoot, int rightFoot, int pelvis) {
13 if (baked_ || leftFoot < 0 || rightFoot < 0 || pelvis < 0 || leftFoot >= count || rightFoot >= count ||
16 eve::DiagnosticCode::InvalidArgument, "locomotion features require three distinct valid bones before bake",
26void MotionDatabase::extractLocomotionFeature(AnimClip* clip, float time, std::vector<float>& out, float& rootX,
36 auto poseAt = [&](int bone, float t) { return world(world, bone, clampf(clip->wrapTime(t), 0.f, duration)); };
159 const float inverse = static_cast<float>(deviation > minimum ? 1.0 / deviation : (unitVector ? 1.0 : 100.0));
std::map< std::string, std::vector< Key >, std::less<> > channels
Definition AnimCurveLibrary.cpp:19
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:145
void normalizeFeature(std::vector< float > &feature) const
Normalize a query with statistics computed by bake().
Definition MotionDatabase.cpp:263
eve::Result< void > setLocomotionFeatures(int leftFoot, int rightFoot, int pelvis)
Configure the locomotion layout before baking or creating matchers.
Definition MotionDatabaseLocomotion.cpp:11
constexpr std::array< float, 5 > locomotionHorizons
Definition MotionFeatureInternal.h:10
TransformTRS mulTRS(const TransformTRS &parent, const TransformTRS &local)
Mul trs.
Definition AnimTransformInternal.h:8
constexpr int locomotionFeatureCount
Definition MotionFeatureInternal.h:9
void encodeLocomotionPose(std::span< float > out, const std::array< TransformTRS, 4 > &now, const std::array< TransformTRS, 4 > &past, float interval)
Encode locomotion pose.
Definition MotionFeatureInternal.h:28
void encodeLocomotionTrajectory(std::span< float > out, const std::array< Sample, 5 > &samples, float yaw)
Encode locomotion trajectory.
Definition MotionFeatureInternal.h:48
Definition Animation.cpp:58
@ InvalidArgument
@ Applied
Local TRS used by skeletal animation (quaternion xyzw).
Definition AnimMath.h:9