载入中...
搜索中...
未找到
SmrFeatures.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4#include "animation/AnimSmr.h"
5
6#include <vector>
7
8namespace eve::animation {
9
10class AnimClip;
11class AnimSkeleton;
12class AnimSkin;
13
16 int frames = 0;
17 int joints = 0;
18 int sensors = 0;
19 int pairs = 0;
20
21 std::vector<float> sourceRot6d;
22 std::vector<float> sourceGeom;
23 std::vector<float> targetGeom;
24 std::vector<float> sourceDmi;
25 std::vector<int> jointMap;
26};
27
41 const AnimSkeleton* sourceSkeleton,
42 const AnimSkeleton* targetSkeleton,
43 const AnimSkin* sourceSkin, const AnimSkin* targetSkin,
44 int ringsPerBone = 2, int pointsPerRing = 4);
45
47EVENGINE_API_ORCHESTRATION void quatToRot6d(float qx, float qy, float qz, float qw, float out[6]);
48
50EVENGINE_API_ORCHESTRATION void rot6dToQuat(const float in[6], float& qx, float& qy, float& qz, float& qw);
51
52} // namespace eve::animation
#define EVENGINE_API_ORCHESTRATION
Definition Export.h:111
float qy
float qx
float qw
float qz
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:145
3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK...
CPU linear-blend skinning binding for one mesh against an AnimSkeleton.
Definition AnimSkin.h:47
SmrFeatureBatch buildSmrFeatures(const AnimClip &sourceClip, const AnimSkeleton *sourceSkeleton, const AnimSkeleton *targetSkeleton, const AnimSkin *, const AnimSkin *, int ringsPerBone, int pointsPerRing)
Build dense SCS + DMI tensors from skeletons/clip (no tensor headers).
void rot6dToQuat(const float in[6], float &qx, float &qy, float &qz, float &qw)
Convert rotation-6D back to a unit quaternion.
void quatToRot6d(float qx, float qy, float qz, float qw, float out[6])
Convert unit quaternion to MeshRet-style rotation-6D.
Packed MeshRet-style features for one retarget inference window.
Definition SmrFeatures.h:15
std::vector< float > targetGeom
[S*7]
Definition SmrFeatures.h:23
std::vector< float > sourceRot6d
[T*J*6]
Definition SmrFeatures.h:21
std::vector< float > sourceDmi
[T*P*10]
Definition SmrFeatures.h:24
std::vector< int > jointMap
target joint -> source joint (-1 if unmatched)
Definition SmrFeatures.h:25
std::vector< float > sourceGeom
[S*7]
Definition SmrFeatures.h:22