载入中...
搜索中...
未找到
AnimImporter.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4
5#include <string>
6#include <vector>
7
8struct aiScene;
9struct aiNode;
10
11namespace eve {
12namespace model3d {
13class ModelData;
14}
15} // namespace eve
16
17namespace eve::animation {
18
19class AnimSkeleton;
20class AnimClip;
21
31public:
36 static AnimSkeleton *loadSkeleton(const aiScene *scene);
37
42 static AnimClip *loadClip(const aiScene *scene, const AnimSkeleton *skeleton, int animIndex = 0);
43
45 static AnimSkeleton *loadSkeletonFromModel(const model3d::ModelData *model);
47 static AnimClip *loadClipFromModel(const model3d::ModelData *model, const AnimSkeleton *skeleton,
48 int animIndex = 0);
50 static int getAnimationCountFromModel(const model3d::ModelData *model);
52 static std::string getAnimationNameFromModel(const model3d::ModelData *model, int animIndex);
53
55 static int getAnimationCount(const aiScene *scene);
57 static std::string getAnimationName(const aiScene *scene, int animIndex);
58
63 static std::string exportAnimationFixtureText(const AnimSkeleton *skeleton, const AnimClip *clip);
64
66 static void importAnimationFixtureText(const std::string &text, AnimSkeleton **skeletonOut,
67 AnimClip **clipOut);
68
70 static void importAnimationFixtureTextFile(const std::string &path, AnimSkeleton **skeletonOut,
71 AnimClip **clipOut);
72
73private:
74 static void collectBones(const aiNode *node, int parent, AnimSkeleton *skeleton,
75 std::vector<const aiNode *> &order);
76};
77
78} // namespace eve::animation
#define EVENGINE_API_WORLD
Definition Export.h:109
glm::vec4 clip
std::string text
std::int32_t parent
std::vector< std::int32_t > order
std::string path
Definition PlayHost.cpp:110
std::weak_ptr< PrimitiveScene > scene
glm::mat4 model
const RoadNode * node
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:145
Animation import helpers.
3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK...
CPU-side decoded 3D model (Assimp scene owned via medialoader::ModelScene). Does not upload to GPU — ...
Definition ModelData.h:39
Build metadata (engine git commit, build time, third-party version).
Definition Build.cpp:16