载入中...
搜索中...
未找到
AnimGraph.cpp
浏览该文件的文档.
126void AnimGraph::setWeight(int node, float weight) { requireNode(node).weight = clampf(weight, 0.f, 1.f); }
147void AnimGraph::blendMasked(AnimPose& out, const AnimPose& base, const AnimPose& overlay, float weight,
160 eve::DiagnosticCode::InvalidArgument, "AnimGraph.setAdditiveReference requires an Additive node"));
167 eve::DiagnosticCode::InvalidArgument, "AnimGraph additive reference must be \"bind\" or \"identity\""));
187void AnimGraph::applyAdditive(AnimPose& out, const AnimPose& base, const AnimPose& delta, float weight,
195 const TransformTRS& ref = reference == AnimAdditiveReference::BindPose ? skeleton_->bindLocal(i) : identity;
221 blendMasked(node.cache, evaluate(a.child), evaluate(b.child), (node.x - a.x) / (b.x - a.x), nullptr);
253 case Kind::Blend: blendMasked(node.cache, evaluate(node.a), evaluate(node.b), node.weight, nullptr); break;
254 case Kind::Layer: blendMasked(node.cache, evaluate(node.a), evaluate(node.b), node.weight, &node.mask); break;
264 const float duration = requireNode(node.b).clip ? requireNode(node.b).clip->getDuration() : 0.f;
static Diagnostic error(DiagnosticCode code, std::string message, std::string path={}, DiagnosticDetails details={}, std::string source={})
Construct an error diagnostic with the standard error severity.
Definition Diagnostic.h:125
void ignore(std::string_view reason={}) const noexcept
Explicitly discard this result after documenting the reason.
Definition Result.h:537
static Result failure(Status status)
Construct a failed result from a structured status.
Definition Result.h:175
static Status success(StatusCode code=StatusCode::Ok)
Construct a successful status with an explicit non-error outcome.
Definition Status.h:81
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:145
void addBlendSpace2DPoint(int node, float x, float y, int child)
Adds blend space 2 d point.
Definition AnimGraph.cpp:99
void setBoneMask(int node, int boneIndex, float weight, bool includeChildren=false)
Sets the bone mask.
Definition AnimGraph.cpp:106
int addOneShot(int base, int shot, float fadeIn=0.1f, float fadeOut=0.1f)
Adds one shot.
Definition AnimGraph.cpp:77
eve::Result< void > setAdditiveReference(int node, const std::string &reference)
Set additive reference for an Additive node: "bind" or "identity". Defaults to identity (sample is al...
Definition AnimGraph.cpp:156
void addBlendSpace1DPoint(int node, float x, int child)
Adds blend space 1 d point.
Definition AnimGraph.cpp:92
eve::Result< void > advance(const eve::SimulationStep &step) override
Evaluate the graph using one scheduler-owned deterministic step.
Definition AnimGraph.cpp:296
void update(float dt)
Legacy seconds facade; explicitly forwards to advance().
Definition AnimGraph.cpp:305
std::string getAdditiveReference(int node) const
Return "bind" / "identity", or empty for non-additive / invalid nodes.
Definition AnimGraph.cpp:180
bool setAdditiveReferenceCompat(int node, const std::string &reference)
Compatibility facade over setAdditiveReference.
Definition AnimGraph.cpp:171
Evaluated local (and optional world) pose for an AnimSkeleton. Script type: AnimPose.
Definition AnimPose.h:17
3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK...
Definition AnimSkeleton.h:16
void applyBindPose(class AnimPose *pose) const
Fill pose locals with bind pose.
Definition AnimSkeleton.cpp:132
eve::Result< eve::SimulationStep > legacyStep(float seconds, bool hasLastTick, eve::SimulationTick lastTick, const char *owner)
Convert a legacy seconds call to the next local scheduler step.
Definition AnimationTime.h:34
eve::Result< float > secondsForStep(const eve::SimulationStep &step, bool hasLastTick, eve::SimulationTick lastTick, const char *owner)
Validate a scheduler step before an animation object mutates state.
Definition AnimationTime.h:13
Definition Animation.cpp:58
TransformTRS blendTRS(const TransformTRS &a, const TransformTRS &b, float t)
Blend trs.
Definition AnimMath.h:79
AnimAdditiveReference
Reference pose used when converting an additive sample into a delta.
Definition AnimPoseSource.h:60
void applyAdditiveTRS(TransformTRS &base, const TransformTRS &sample, const TransformTRS &reference, float weight)
Apply an additive sample onto base using reference.
Definition AnimMath.h:114
@ Exception
@ InvalidArgument
@ Applied
Local TRS used by skeletal animation (quaternion xyzw).
Definition AnimMath.h:9