载入中...
搜索中...
未找到
AnimInertializer.h
浏览该文件的文档.
1#pragma once
2#include "common/Export.h"
3
4#include <memory>
5#include <span>
6#include "common/Result.h"
7
8namespace eve::animation {
9class AnimPose;
10
19public:
26
38 [[nodiscard]] eve::Result<void> begin(const AnimPose& source, const AnimPose& previousSource,
39 const AnimPose& target, const AnimPose& previousTarget, float historySeconds,
40 float durationSeconds, std::span<const float> boneTimeFactors = {});
41
48 [[nodiscard]] eve::Result<void> evaluate(const AnimPose& target, float elapsedSeconds);
49
53 [[nodiscard]] const AnimPose& pose() const noexcept;
54
55private:
56 struct Impl;
57 std::unique_ptr<Impl> impl_;
58};
59} // namespace eve::animation
LogicalId target
eve::EntitySpatialPose pose
#define EVENGINE_API_WORLD
Definition Export.h:109
float begin
Move-only, checked operation results for the common layer.
const UnitySourceAsset & source
Move-only operation result carrying either a value or Status.
Definition Result.h:155
Finite-duration pose transition relative to a continuously sampled target.
~AnimInertializer()
Release owned samples; no external objects are accessed.
AnimInertializer(const AnimInertializer &)=delete
AnimInertializer & operator=(const AnimInertializer &)=delete
Evaluated local (and optional world) pose for an AnimSkeleton. Script type: AnimPose.
Definition AnimPose.h:17