载入中...
搜索中...
未找到
MontagePlayer.h
浏览该文件的文档.
122 [[nodiscard]] Result<void> prepare(action::ActionTimeline timeline, std::vector<MontageClipAsset>&& clips);
127 [[nodiscard]] Result<void> prepare(action::ActionTimeline timeline, IMontageClipProvider& provider);
156 [[nodiscard]] Result<MontageAdvance> present(const action::ActionAdvance& advance, SimulationTick tick);
161 [[nodiscard]] Result<MontageAdvance> jumpToTime(action::ActionExecutionId executionId, Duration target,
164 [[nodiscard]] Result<MontageAdvance> jumpToSection(action::ActionExecutionId executionId, std::size_t sectionIndex,
167 [[nodiscard]] Result<MontageAdvance> evaluateSectionProgress(action::ActionExecutionId executionId,
188 void setRootMotionReceiver(IMontageRootMotionReceiver& receiver) noexcept { receiver_ = &receiver; }
198 [[nodiscard]] MontageRootMotionMask getRootMotionMask() const noexcept { return rootMotionMask_; }
206 [[nodiscard]] RootMotionPolicy getRootMotionPolicy() const noexcept { return rootMotionPolicy_; }
233 [[nodiscard]] bool footIkEnabled() const noexcept { return timeline_ && timeline_->montage.footIk; }
Renderer- and ruleset-neutral gameplay action pipeline.
Move-only, checked operation results for the common layer.
Common time values and an injectable deterministic simulation clock.
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:145
Single-clip (or cross-fading) 3D animation player. Script type: AnimPlayer.
Definition AnimPlayer.h:30
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
Synchronous ownership-transfer port used to resolve montage clip URIs.
Definition MontagePlayer.h:40
virtual Result< std::unique_ptr< AnimClip > > load(std::string_view uri, const AnimSkeleton &skeleton)=0
Resolve one URI into a clip compatible with the borrowed skeleton.
virtual ~IMontageClipProvider()=default
Releases IMontageClipProvider resources.
Optional receiver for filtered per-step root motion.
Definition MontagePlayer.h:76
virtual void applyMontageRootMotion(const TransformTRS &delta) noexcept=0
Consume one borrowed filtered root-motion delta.
virtual ~IMontageRootMotionReceiver()=default
Releases IMontageRootMotionReceiver resources.
Presentation-only montage player over an ActionTimeline.
Definition MontagePlayer.h:107
RootMotionPolicy getRootMotionPolicy() const noexcept
Copy of the active root-motion policy.
Definition MontagePlayer.h:206
bool footIkEnabled() const noexcept
Whether the host should run its terrain-specific foot-IK provider after this pose.
Definition MontagePlayer.h:233
bool isPlaying() const noexcept
Whether the prepared montage is actively playing.
Definition MontagePlayer.h:219
std::size_t animationLayer() const noexcept
Authored output layer requested by the prepared montage, or zero before preparation.
Definition MontagePlayer.h:229
Duration time() const noexcept
Current derived montage presentation time.
Definition MontagePlayer.h:217
MontagePlayer & operator=(const MontagePlayer &)=delete
MontageRootMotionMask getRootMotionMask() const noexcept
Compatibility projection of the active policy lock bits.
Definition MontagePlayer.h:198
void clearRootMotionReceiver() noexcept
Clear the borrowed root-motion receiver before its owner is destroyed.
Definition MontagePlayer.h:190
void setGapPolicy(MontageGapPolicy policy) noexcept
Select the explicit pose policy used in gaps between animation sections.
Definition MontagePlayer.h:213
bool isFinished() const noexcept
Whether playback completed naturally while retaining its final weighted pose.
Definition MontagePlayer.h:223
bool isBlendingOut() const noexcept
Whether playback is in externally requested blend-out.
Definition MontagePlayer.h:221
MontagePlayer(const MontagePlayer &)=delete
Definition Animation.cpp:58
MontageGapPolicy
Pose behavior while the authoritative action cursor is between authored sections.
Definition MontagePlayer.h:63
@ HoldPose
Keep the last evaluated pose until another section starts.
Definition Container.h:602
Owning per-step sample of one currently active timeline state.
Definition ActionTimeline.h:159
Objective animation segment placed on the montage presentation lane.
Definition ActionTimeline.h:58
Montage-wide presentation settings persisted with the action timeline.
Definition ActionTimeline.h:36
Canonical action timeline asset shared by runtime and editor.
Definition ActionTimeline.h:178
Owning observation returned by one montage presentation step.
Definition MontagePlayer.h:88
std::vector< action::ActionTimelineEvent > events
Definition MontagePlayer.h:92
std::optional< LogicalId > sectionId
Definition MontagePlayer.h:91
std::vector< MontageActiveBlock > activeBlocks
Definition MontagePlayer.h:93
Owning clip supplied while transactionally preparing a montage.
Definition MontagePlayer.h:28
Compatibility-only axis enable mask for montage root motion.
Definition MontagePlayer.h:55
Policy applied after raw root-bone delta extraction. @ownership Value type; owned by AnimPlayer or th...
Definition RootMotionPolicy.h:62
Local TRS used by skeletal animation (quaternion xyzw).
Definition AnimMath.h:9