载入中...
搜索中...
未找到
AnimSmrNeural.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Result.h"
4
5#include <cstddef>
6#include <string>
7
8namespace eve::animation {
9
10class AnimClip;
11class AnimRetargetProfile;
12class AnimSkeleton;
13class AnimSkin;
14
21 const AnimClip* sourceClip = nullptr;
22 AnimClip* targetClip = nullptr;
23 const AnimSkeleton* sourceSkeleton = nullptr;
24 const AnimSkeleton* targetSkeleton = nullptr;
25 const AnimRetargetProfile* profile = nullptr;
26 const AnimSkin* sourceSkin = nullptr;
27 const AnimSkin* targetSkin = nullptr;
28};
29
35 std::string backend;
36 std::size_t sensorCount = 0;
37 std::size_t pairCount = 0;
38};
39
50public:
51 static constexpr const char* capabilityName = "animation.ISmrNeuralRetarget";
52
54 virtual ~ISmrNeuralRetarget() = default;
55
57 [[nodiscard]] virtual std::string name() const = 0;
58
67 [[nodiscard]] virtual bool isReady(const AnimRetargetProfile* profile) const = 0;
68
75 [[nodiscard]] virtual Result<SmrNeuralResult> retarget(const SmrNeuralRequest& request) = 0;
76};
77
78} // namespace eve::animation
const GltfImportRequest & request
Move-only, checked operation results for the common layer.
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:145
Settings and diagnostics for offline skeletal animation retargeting.
Definition AnimClip.h:27
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
Optional MeshRet/SMR neural retarget provider (implemented by animation_tensor).
static constexpr const char * capabilityName
virtual bool isReady(const AnimRetargetProfile *profile) const =0
True when a model is loaded (ONNX path) or the builtin tensor MeshRet graph is usable.
virtual ~ISmrNeuralRetarget()=default
Releases ISmrNeuralRetarget resources.
virtual Result< SmrNeuralResult > retarget(const SmrNeuralRequest &request)=0
Run MeshRet-style inference and rewrite targetClip local rotations.
virtual std::string name() const =0
Stable backend label describing the live execution path.
Inputs for neural MeshRet-style skinned motion retarget.
const AnimSkeleton * sourceSkeleton
const AnimSkeleton * targetSkeleton
const AnimRetargetProfile * profile
const AnimSkin * sourceSkin
Optional LBS skin for denser SCS.
AnimClip * targetClip
FK-retargeted clip; overwritten on success.
Owning diagnostics from one neural retarget call.
std::string backend
"onnx" or "tensor-meshret".