载入中...
搜索中...
未找到
AnimImporterModel.cpp
浏览该文件的文档.
2
3#include "common/Exception.h"
4#include "model3d/ModelData.h"
5
6namespace eve::animation {
7
9 if (!model) throw Exception("AnimImporter.loadSkeletonFromModel: model is null");
10 return loadSkeleton(model->getScene());
11}
12
14 const AnimSkeleton *skeleton, int animIndex) {
15 if (!model) throw Exception("AnimImporter.loadClipFromModel: model is null");
16 return loadClip(model->getScene(), skeleton, animIndex);
17}
18
22
24 int animIndex) {
25 return model ? getAnimationName(model->getScene(), animIndex) : std::string();
26}
27
28} // namespace eve::animation
glm::mat4 model
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:17
static int getAnimationCount(const aiScene *scene)
static AnimSkeleton * loadSkeletonFromModel(const model3d::ModelData *model)
Convenience: ModelData wrappers (implemented in AnimImporterModel.cpp).
static AnimClip * loadClipFromModel(const model3d::ModelData *model, const AnimSkeleton *skeleton, int animIndex=0)
static std::string getAnimationNameFromModel(const model3d::ModelData *model, int animIndex)
static AnimClip * loadClip(const aiScene *scene, const AnimSkeleton *skeleton, int animIndex=0)
Load clip by index; maps node-name channels onto skeleton bones.
static int getAnimationCountFromModel(const model3d::ModelData *model)
static std::string getAnimationName(const aiScene *scene, int animIndex)
static AnimSkeleton * loadSkeleton(const aiScene *scene)
Build skeleton from the scene node hierarchy (depth-first).
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:23