载入中...
搜索中...
未找到
eve::animation 命名空间参考

命名空间

namespace  detail
 
namespace  hair
 Convenience helpers for hair/tail/accessory spring chains on DynamicBoneSolver.
 

类

class  Animation
 Animation module — tween factory + 2D sprite-sheet / Spine + 3D skeletal playback (player / state machine / motion matching) + control-theory procedural drivers + motion trails + per-frame pump. Script: anim <- eve.Animation(); 更多...
 
class  AnimationTensor
 Manager-owned MeshRet neural retarget satellite (animation + tensor). @thread Owner/composition thread only; revokes capability before destruction. 更多...
 
struct  AnimationTrackInput
 One synchronous borrowed batch input; destination and bytes must outlive the call. 更多...
 
class  AnimBatch
 Parallel batch evaluator for independent character clip poses. Script type: AnimBatch. 更多...
 
class  AnimBoneMask
 Per-bone weights used by override and additive animation layers. 更多...
 
class  AnimClip
 Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip. 更多...
 
class  AnimClipBinaryAccess
 
class  AnimClipRegistry
 Weak path→clip registry for animation hot reload. 更多...
 
class  AnimConstraintStack
 Ordered main-thread post-process stack with aim, limb IK and foot planting. 更多...
 
class  AnimCurveLibrary
 Owned scalar animation curves indexed by stable source and channel names. 更多...
 
class  AnimGraph
 Composable runtime pose graph supporting clips, blends, additive layers, per-bone masks, one-shots and 1D/2D blend spaces. Script type: AnimGraph. 更多...
 
class  AnimImporter
 Animation import helpers. 更多...
 
class  AnimInertializer
 Finite-duration pose transition relative to a continuously sampled target. 更多...
 
class  AnimLattice
 CPU 3D lattice scale-deformer (晶格缩放变形). 更多...
 
class  AnimLayerMixer
 Combines a borrowed base pose source with ordered override/additive layers. 更多...
 
class  AnimPlayer
 Single-clip (or cross-fading) 3D animation player. Script type: AnimPlayer. 更多...
 
class  AnimPose
 Evaluated local (and optional world) pose for an AnimSkeleton. Script type: AnimPose. 更多...
 
class  AnimRetargetProfile
 Settings and diagnostics for offline skeletal animation retargeting. 更多...
 
class  AnimSkeleton
 3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK). Script type: AnimSkeleton. 更多...
 
class  AnimSkin
 CPU linear-blend skinning binding for one mesh against an AnimSkeleton. 更多...
 
struct  AnimSkinStreamData
 Owned native streams for constructing a skin outside the model importer. 更多...
 
struct  AnimSmrIkChain
 Two-bone IK chain used to realize an interaction correction. 更多...
 
struct  AnimSmrSensor
 One semantically consistent sensor attached to a bone (classical SCS stand-in). 更多...
 
class  AnimSmrSensorCloud
 Bone-attached sensor cloud for skinned-motion-retarget interaction queries. Script type: AnimSmrSensorCloud. 更多...
 
class  AnimStateMachine
 Clip-driven animation state machine with float/bool/trigger parameters and cross-fade transitions. Script type: AnimStateMachine. 更多...
 
class  AnimSyncGroup
 Marker-aware synchronization group for locomotion animation players. 更多...
 
class  AnimTrail
 Motion trail / afterimage recorder + 2D trajectory drawer. 更多...
 
class  ColorPointerSink
 Sink that writes into borrowed RGBA float pointers. @ownership Does not own the pointers; caller must keep them alive while bound. 更多...
 
class  ControlAnim
 Control-theory procedural animation for named scalar properties. 更多...
 
class  ControlPose
 Control-theory procedural pose driver: tracks a target AnimPose with per-channel second-order / spring / PD dynamics (same laws as ControlAnim). Script type: ControlPose. 更多...
 
struct  DampedSpringStep
 Closed-form coefficients for one damped-spring time step (Juckett). 更多...
 
struct  DynamicBoneChainConfig
 Persisted name-based dynamic-bone chain configuration. 更多...
 
struct  DynamicBoneColliderConfig
 Persisted fixed or bone-following sphere/capsule configuration. 更多...
 
struct  DynamicBoneConfig
 Versioned, forward-compatible dynamic-bone asset definition. 更多...
 
struct  DynamicBoneDebugCollider
 One immutable model-space collider in a dynamic-bone debug snapshot. 更多...
 
struct  DynamicBoneDebugParticle
 One immutable model-space particle in a dynamic-bone debug snapshot. 更多...
 
struct  DynamicBoneDebugSnapshot
 Owning renderer-neutral snapshot safe after the solver changes. 更多...
 
class  DynamicBoneForceField
 Read-only spatial force provider sampled by dynamic bone particles. 更多...
 
struct  DynamicBoneParticleConfig
 Persisted particle profile for one dynamic-bone chain particle. 更多...
 
class  DynamicBoneSolver
 World-space spring-chain solver that writes results as local bone rotations. 更多...
 
struct  DynamicBoneUpdateStats
 Last-update counters for profiling and distance-culling verification. 更多...
 
class  FloatBufferSink
 Sink that writes into buffer[index] (batch-friendly contiguous target). @ownership Does not own buffer; caller must keep the span alive while bound. 更多...
 
class  FloatPointerSink
 Sink that writes into a borrowed float*. @ownership Does not own target; caller must keep it alive while bound. 更多...
 
struct  FootIKConfig
 Persisted paired-foot IK settings; runtime providers are intentionally excluded. 更多...
 
struct  FootIKDebugFoot
 Immutable model-space state for one foot in a tooling snapshot. 更多...
 
struct  FootIKDebugSnapshot
 Owning renderer-neutral paired-foot tooling snapshot. 更多...
 
class  FootIKGroundProvider
 Physics-neutral downward ground-query provider for Foot IK. 更多...
 
struct  FootIKLegConfig
 Persisted name-based leg and optional toe mapping. 更多...
 
class  FootIKSolver
 Paired-foot IK with contact smoothing and pelvis compensation. 更多...
 
class  IAnimPoseSource
 Borrowed pose provider consumed by AnimLayerMixer. 更多...
 
class  IMontageClipProvider
 Synchronous ownership-transfer port used to resolve montage clip URIs. 更多...
 
class  IMontageRootMotionReceiver
 Optional receiver for filtered per-step root motion. 更多...
 
class  IMotionColorSink
 Push target for a MotionColor motion. 更多...
 
class  IMotionFloatSink
 Push target for a float motion. Lifetime is borrowed by MotionRuntime. 更多...
 
class  IMotionQuatSink
 Push target for a MotionQuat motion. 更多...
 
class  IMotionVec2Sink
 Push target for a MotionVec2 motion. 更多...
 
class  IMotionVec3Sink
 Push target for a MotionVec3 motion. 更多...
 
class  ISmrNeuralRetarget
 Optional MeshRet/SMR neural retarget provider (implemented by animation_tensor). 更多...
 
struct  Mat4
 Column-major 4x4 matrix (OpenGL / glTF / Assimp-compatible layout). Elements: m[col * 4 + row]. 更多...
 
struct  MontageAdvance
 Owning observation returned by one montage presentation step. 更多...
 
struct  MontageClipAsset
 Owning clip supplied while transactionally preparing a montage. 更多...
 
class  MontageCoordinator
 Owns a fixed two-slot ping-pong topology for every animation layer. 更多...
 
struct  MontageHandleTag
 MontageHandleTag public API. 更多...
 
class  MontagePlayer
 Presentation-only montage player over an ActionTimeline. 更多...
 
struct  MontageRootMotionMask
 Compatibility-only axis enable mask for montage root motion. 更多...
 
class  MotionBuilder
 Configure then bind/run a float motion into a MotionRuntime. 更多...
 
struct  MotionColor
 Compact RGBA color used by motion adapters. 更多...
 
class  MotionColorBuilder
 Color fluent builder (Tween / lerp only). 更多...
 
struct  MotionCostOverride
 Copied clip-time interval overriding a matching cost, with inclusive start and exclusive end. 更多...
 
class  MotionDatabase
 Baked motion-matching feature database from one or more AnimClips. Feature layout per frame: [0..1] root velocity xz [2..7] trajectory pos xz at +0.33/+0.66/+1.0s (character space) [8..9] trajectory facing dir xz at +1.0s [10..] selected joint world positions (xyz each) The optional locomotion layout has 19 trajectory and 11 pose dimensions; see setLocomotionFeatures(). Existing databases retain the basic layout. Script type: MotionDatabase. 更多...
 
struct  MotionFeatureChannel
 Owning configuration for one ordered motion feature channel. 更多...
 
struct  MotionFeatureCurveSample
 Copied evaluated scalar curve query at a schema-relative time. 更多...
 
struct  MotionFeatureLayout
 Owning ordered feature layout; copied atomically by a database. 更多...
 
struct  MotionFeatureTrajectorySample
 Copied trajectory sample at an explicit offset from the current frame. 更多...
 
struct  MotionHandle
 Generation-checked slot identity for a live motion. 更多...
 
struct  MotionLocomotionSample
 Copied world displacement, velocity (metres/second), and yaw for a locomotion horizon. 更多...
 
class  MotionMatcher
 Runtime motion matching player: builds a query feature from current pose + desired trajectory, searches MotionDatabase, inertializes into the moving best match. Script type: MotionMatcher. 更多...
 
struct  MotionNormalizationRange
 Copied clip-time interval contributing once to feature normalization; endpoints inclusive. 更多...
 
struct  MotionQuat
 Compact quaternion used by motion adapters (xyzw). 更多...
 
class  MotionQuatBuilder
 Quaternion fluent builder (Tween / slerp only). 更多...
 
class  MotionRuntime
 Owns typed motion slots and applies SimulationStep updates. 更多...
 
struct  MotionSearchRange
 Owning candidate interval in seconds in a database clip; endpoints inclusive. 更多...
 
class  MotionSequence
 Schedule unspawned builders onto a shared MotionRuntime timeline. 更多...
 
class  MotionSequenceHandle
 Playback handle for a sequence's child motions. 更多...
 
struct  MotionTrajectorySample
 Predicted world-space displacement and facing at a fixed future horizon. 更多...
 
struct  MotionTransitionBlock
 Copied clip-time interval forbidding new matches, with inclusive start and exclusive end. 更多...
 
struct  MotionVec2
 Compact float2 used by motion adapters (avoids graphics math deps). 更多...
 
class  MotionVec2Builder
 Vec2 fluent builder. 更多...
 
struct  MotionVec3
 Compact float3 used by motion adapters. 更多...
 
class  MotionVec3Builder
 Vec3 fluent builder. 更多...
 
class  OrientationWarping
 Planar orientation warp applied after motion matching, never fed back into search. 更多...
 
class  PhysicalBalancePose
 Authored-pose overlay that wobbles from world impulses and recovers balance. 更多...
 
class  QuatPointerSink
 Sink that writes into borrowed quaternion xyzw float pointers. @ownership Does not own the pointers; caller must keep them alive while bound. 更多...
 
struct  RootMotionPolicy
 Policy applied after raw root-bone delta extraction. @ownership Value type; owned by AnimPlayer or the caller. @thread Owner thread only; no callbacks. 更多...
 
struct  SecondOrderCoeffs
 Control-theory helpers for procedural animation. 更多...
 
struct  SmrFeatureBatch
 Packed MeshRet-style features for one retarget inference window. 更多...
 
struct  SmrMeshRetConfig
 Hyperparameters for the builtin MeshRet-style graph. 更多...
 
class  SmrMeshRetNet
 Builtin MeshRet-style PointNet + Transformer retarget (links eve::tensor). @thread Owner thread; not re-entrant. 更多...
 
class  SmrNeuralProvider
 Capability provider selecting ONNX MeshRet or builtin tensor MeshRet. @ownership Owned by AnimationTensor; registered via cap::provide until revoke. @thread Owner/composition thread only; no callbacks while holding locks. 更多...
 
struct  SmrNeuralRequest
 Inputs for neural MeshRet-style skinned motion retarget. 更多...
 
struct  SmrNeuralResult
 Owning diagnostics from one neural retarget call. 更多...
 
class  SmrOnnxRunner
 MeshRet-compatible ONNX runner on CPU via eve::tensor::OnnxModel. 更多...
 
class  SpineAnim
 Spine animation player + 2D draw collector (region attachments). 更多...
 
class  SpineAtlas
 Esoteric Spine .atlas text parser (region rectangles + page metadata). Does not load image pixels — bind GPU textures by page name/index in SpineAnim. Script type: SpineAtlas. 更多...
 
class  SpineSkeleton
 Runtime Spine skeleton pose (local + world bone transforms, slot attachments). Script type: SpineSkeleton. 更多...
 
class  SpineSkeletonData
 Spine skeleton JSON data (bones / slots / skins / animations). 更多...
 
class  SpriteAnim
 2D sprite-sheet clip player. 更多...
 
class  SpriteClip
 Named 2D frame sequence referencing SpriteSheet frame indices. Script type: SpriteClip. 更多...
 
class  SpriteSheet
 Sprite-sheet / texture-atlas frame table (pixel rects). 更多...
 
struct  TransformTRS
 Local TRS used by skeletal animation (quaternion xyzw). 更多...
 
class  Tween
 Property tween — interpolates named float properties from → to over time. 更多...
 
class  Vec2PointerSink
 Sink that writes into borrowed float x/y pointers. @ownership Does not own the pointers; caller must keep them alive while bound. 更多...
 
class  Vec3PointerSink
 Sink that writes into borrowed float x/y/z pointers. @ownership Does not own the pointers; caller must keep them alive while bound. 更多...
 

类型定义

using MontageHandle = RuntimeHandle< MontageHandleTag >
 Generation-qualified identity owned by one MontageCoordinator.
 
using MontageActiveBlock = action::ActionActiveBlock
 Compatibility name for the canonical action-owned active block projection.
 

枚举

enum class  AnimBlendCurve : std::uint8_t { Linear , EaseInOut }
 Deterministic built-in curve used by cross-fade pose interpolation. 更多...
 
enum class  AnimAdditiveReference { BindPose , Identity }
 Reference pose used when converting an additive sample into a delta. 更多...
 
enum class  AnimSmrBodyPart {
  Torso = 0 , Arm , Leg , Head ,
  Other
}
 Coarse body-part tag used to select MeshRet-style interaction pairs. 更多...
 
enum class  FootIKGroundQueryStatus { Unavailable , NoHit , Hit }
 Result of a Foot IK ground query. 更多...
 
enum class  MontageGapPolicy : std::uint8_t { HoldPose , BindPose }
 Pose behavior while the authoritative action cursor is between authored sections. 更多...
 
enum class  MotionFeatureKind : std::uint8_t { Position , Velocity , Heading , Curve }
 Vector or scalar operation encoded by a motion-search channel. 更多...
 
enum class  MotionFeatureSource : std::uint8_t { Pose , Trajectory }
 Source of a channel's samples. 更多...
 
enum class  MotionFeatureQuery : std::uint8_t { Character , Continuing }
 Query data policy while a valid continuing pose exists. 更多...
 
enum class  MotionLoopMode : std::uint8_t { Restart = 0 , Yoyo = 1 }
 Loop behaviour after a cycle completes. 更多...
 
enum class  MotionStyle : std::uint8_t { Tween = 0 , Punch = 1 , Shake = 2 }
 Evaluation style for a motion slot. 更多...
 
enum class  RootMotionLockAxes : std::uint8_t {
  None = 0 , X = 1u << 0 , Y = 1u << 1 , Z = 1u << 2 ,
  HorizontalXZ = static_cast<std::uint8_t>(X) | static_cast<std::uint8_t>(Z) , VerticalY = Y , All = static_cast<std::uint8_t>(X) | static_cast<std::uint8_t>(Y) | static_cast<std::uint8_t>(Z)
}
 Per-axis translation locks for extracted root-motion deltas. 更多...
 
enum class  RootMotionApplySpace : std::uint8_t { BoneLocal = 0 , CharacterFacing = 1 }
 Coordinate space used when publishing root-motion translation. 更多...
 

函数

 Module_IMPL (Animation, new Animation())
 
void exposeAnimationModelImportBindings (ssq::Class &cls)
 Register ModelData/Assimp import factories when AnimationModelImport.cpp is linked (OPTIONAL_DEPS model3d).
 
void exposeAnimClipBindings (ssq::Table &table)
 Register AnimClip's authoring and playback-neutral Squirrel surface.
 
void exposeAnimCurveLibraryBindings (ssq::Table &table)
 Register the owned scalar animation curve library and checked loader.
 
void exposeMotionMatcherBindings (ssq::Table &table)
 Register the synchronous MotionMatcher Squirrel surface.
 
void exposeAnimInertializerBindings (ssq::Table &table)
 Register the owning AnimInertializer Squirrel surface.
 
void exposeOrientationWarpingBindings (ssq::Table &table)
 Register the owning OrientationWarping Squirrel surface.
 
void exposeAnimPlayerBindings (ssq::Table &table)
 Register playback, sampling and event inspection for AnimPlayer.
 
void exposePhysicalBalancePoseBindings (ssq::Table &table)
 Register the impulse/balance pose overlay Squirrel surface.
 
eve::Result< int > loadAnimationTrackBatch (std::span< const AnimationTrackInput > inputs, const AnimSkeleton &skeleton, int workerCount=0)
 Decode independent clips in parallel, then publish all or none in input order.
 
eve::Result< void > loadAnimationTracks (AnimClip &destination, std::span< const std::byte > bytes, const AnimSkeleton &skeleton)
 Atomically replace a clip from the little-endian eve.animation-tracks/1 format (EVAC, version 1).
 
SecondOrderCoeffs makeSecondOrderCoeffs (float frequencyHz, float dampingZeta, float response)
 Build second-order coefficients from frequency (Hz), damping ζ, response r.
 
void stepSecondOrder (float dt, float x, float xd, const SecondOrderCoeffs &c, float &y, float &yd)
 Stable semi-implicit Euler step for a second-order tracker. Estimates input velocity from consecutive targets when xdEstimate is used by caller. k2 is clamped (k2_stable) so large dt cannot explode the integrator.
 
DampedSpringStep makeDampedSpringStep (float dt, float angularFrequency, float dampingRatio)
 Make damped spring step.
 
void stepDampedSpring (float dt, float target, float angularFrequency, float dampingRatio, float &pos, float &vel)
 Advance position/velocity relative to a set-point using closed-form spring step.
 
void pdGainsFromOmegaZeta (float omega, float zeta, float &kp, float &kd)
 Unit-mass PD gains from natural frequency ω (rad/s) and damping ratio ζ.
 
void stepPd (float dt, float target, float targetVel, float kp, float kd, float &y, float &yd)
 Semi-implicit Euler PD step (unit mass): a = Kp (target − y) + Kd (targetVel − yd), then integrate.
 
float hzToOmega (float frequencyHz)
 ω (rad/s) from frequency in Hz.
 
float clampf (float v, float lo, float hi)
 Clampf.
 
float lerpf (float a, float b, float t)
 Lerpf.
 
void slerpQuat (float ax, float ay, float az, float aw, float bx, float by, float bz, float bw, float t, float &ox, float &oy, float &oz, float &ow)
 Slerp quat.
 
TransformTRS blendTRS (const TransformTRS &a, const TransformTRS &b, float t)
 Blend trs.
 
void multiplyQuat (float ax, float ay, float az, float aw, float bx, float by, float bz, float bw, float &ox, float &oy, float &oz, float &ow)
 Hamilton product a * b for unit quaternions (xyzw).
 
void applyAdditiveTRS (TransformTRS &base, const TransformTRS &sample, const TransformTRS &reference, float weight)
 Apply an additive sample onto base using reference.
 
void yawToForward (float yaw, float &fx, float &fz)
 Rotate unit +Z by yaw (radians) around Y — used for planar facing.
 
float length2 (float x, float z)
 Length 2.
 
int smrRefineRetargetedClip (const AnimClip &sourceClip, AnimClip &targetClip, const AnimSkeleton *sourceSkeleton, const AnimSkeleton *targetSkeleton, AnimRetargetProfile &profile)
 Refine an FK-retargeted clip so source body-part proximity/contact is preserved on the target.
 
void exposeMotionScriptBindings (ssq::Table &table, ssq::Class &animationClass)
 Register Motion / MotionSequence script types and Animation factories.
 
float evaluateMotionEase (float t, const char *kind)
 Evaluate an ease curve; kinds match Math.ease / Tween.
 
float evaluateMotionOscillation (float t, int frequency, float dampingRatio)
 LitMotion-style damped sine envelope in [0,1] progress.
 
float evaluateMotionShakeSign (std::uint32_t seed, int frequency, float t, int axis)
 Deterministic shake sign in [-1,1] for axis (0..n).
 
MotionColor lerpMotionColor (MotionColor a, MotionColor b, float t)
 Component-wise lerp for MotionColor.
 
MotionQuat slerpMotionQuat (MotionQuat a, MotionQuat b, float t)
 Spherical linear interpolation for MotionQuat (shortest path).
 
eve::Result< void > validateRootMotionPolicy (const RootMotionPolicy &policy)
 Validate policy fields.
 
TransformTRS applyRootMotionPolicy (const TransformTRS &rawDelta, const RootMotionPolicy &policy)
 Filter a raw root-bone delta into a controller-facing delta.
 
eve::Result< void > bakeRootMotionIntoPose (AnimPose &pose, int boneIndex, const TransformTRS &referenceRoot, const RootMotionPolicy &policy)
 Remove extracted root motion from a pose when bake flags are set.
 
eve::Result< RootMotionLockAxes > parseRootMotionLockAxes (std::string_view name)
 Parse a script/C++ lock-axis name.
 
eve::Result< RootMotionApplySpace > parseRootMotionApplySpace (std::string_view name)
 Parse a script/C++ apply-space name.
 
constexpr RootMotionLockAxes operator| (RootMotionLockAxes a, RootMotionLockAxes b) noexcept
 Bitwise OR for RootMotionLockAxes masks.
 
constexpr RootMotionLockAxes operator& (RootMotionLockAxes a, RootMotionLockAxes b) noexcept
 Bitwise AND for RootMotionLockAxes masks.
 
constexpr bool hasLock (RootMotionLockAxes mask, RootMotionLockAxes axis) noexcept
 True when mask contains the given axis bit.
 
 Module_IMPL (AnimationTensor, new AnimationTensor())
 
void quatToRot6d (float qx, float qy, float qz, float qw, float out[6])
 Convert unit quaternion to MeshRet-style rotation-6D.
 
void rot6dToQuat (const float in[6], float &qx, float &qy, float &qz, float &qw)
 Convert rotation-6D back to a unit quaternion.
 
SmrFeatureBatch buildSmrFeatures (const AnimClip &sourceClip, const AnimSkeleton *sourceSkeleton, const AnimSkeleton *targetSkeleton, const AnimSkin *sourceSkin, const AnimSkin *targetSkin, int ringsPerBone=2, int pointsPerRing=4)
 Build dense SCS + DMI tensors from skeletons/clip (no tensor headers).
 

类型定义说明

◆ MontageActiveBlock

Compatibility name for the canonical action-owned active block projection.

在文件 MontagePlayer.h 第 85 行定义.

◆ MontageHandle

Generation-qualified identity owned by one MontageCoordinator.

在文件 MontageCoordinator.h 第 24 行定义.

枚举类型说明

◆ AnimAdditiveReference

Reference pose used when converting an additive sample into a delta.

  • BindPose: sample is an absolute local pose; delta = sample ⊖ bind (AnimLayerMixer default).
  • Identity: sample is already a delta in local space (AnimGraph additive default).
枚举值
BindPose 
Identity 

在文件 AnimPoseSource.h 第 60 行定义.

◆ AnimBlendCurve

enum class eve::animation::AnimBlendCurve : std::uint8_t
strong

Deterministic built-in curve used by cross-fade pose interpolation.

枚举值
Linear 
EaseInOut 

在文件 AnimPlayer.h 第 18 行定义.

◆ AnimSmrBodyPart

Coarse body-part tag used to select MeshRet-style interaction pairs.

枚举值
Torso 
Arm 
Leg 
Head 
Other 

在文件 AnimSmr.h 第 18 行定义.

◆ FootIKGroundQueryStatus

Result of a Foot IK ground query.

枚举值
Unavailable 
NoHit 
Hit 

在文件 FootIKSolver.h 第 10 行定义.

◆ MontageGapPolicy

enum class eve::animation::MontageGapPolicy : std::uint8_t
strong

Pose behavior while the authoritative action cursor is between authored sections.

枚举值
HoldPose 

Keep the last evaluated pose until another section starts.

BindPose 

Restore the skeleton bind pose on entering a gap.

在文件 MontagePlayer.h 第 63 行定义.

◆ MotionFeatureKind

enum class eve::animation::MotionFeatureKind : std::uint8_t
strong

Vector or scalar operation encoded by a motion-search channel.

枚举值
Position 
Velocity 
Heading 
Curve 

在文件 MotionFeatureLayout.h 第 8 行定义.

◆ MotionFeatureQuery

enum class eve::animation::MotionFeatureQuery : std::uint8_t
strong

Query data policy while a valid continuing pose exists.

枚举值
Character 
Continuing 

在文件 MotionFeatureLayout.h 第 12 行定义.

◆ MotionFeatureSource

enum class eve::animation::MotionFeatureSource : std::uint8_t
strong

Source of a channel's samples.

枚举值
Pose 
Trajectory 

在文件 MotionFeatureLayout.h 第 10 行定义.

◆ MotionLoopMode

enum class eve::animation::MotionLoopMode : std::uint8_t
strong

Loop behaviour after a cycle completes.

枚举值
Restart 

Jump back to start each cycle.

Yoyo 

Alternate direction each cycle.

在文件 MotionTypes.h 第 68 行定义.

◆ MotionStyle

enum class eve::animation::MotionStyle : std::uint8_t
strong

Evaluation style for a motion slot.

注解
Punch/Shake treat to as oscillation strength about from (LitMotion semantics).
枚举值
Tween 

Lerp/slerp from -> to.

Punch 

Finite damped sine punch about from.

Shake 

Punch with per-axis deterministic random sign.

在文件 MotionTypes.h 第 77 行定义.

◆ RootMotionApplySpace

enum class eve::animation::RootMotionApplySpace : std::uint8_t
strong

Coordinate space used when publishing root-motion translation.

BoneLocal keeps the delta in the root bone's sampled local axes. CharacterFacing rotates the planar XZ components by characterYaw around +Y so forward matches Motion Matching: (sin(yaw), 0, cos(yaw)).

枚举值
BoneLocal 
CharacterFacing 

在文件 RootMotionPolicy.h 第 52 行定义.

◆ RootMotionLockAxes

enum class eve::animation::RootMotionLockAxes : std::uint8_t
strong

Per-axis translation locks for extracted root-motion deltas.

Locked axes are zeroed in the published controller delta (after CharacterFacing rotation). When bake-into-pose is enabled, locked pose-local axes keep their animated translation so vertical bob can remain while unlocked axes are planted on the skeleton bind pose.

枚举值
None 
X 
Y 
Z 
HorizontalXZ 
VerticalY 
All 

在文件 RootMotionPolicy.h 第 21 行定义.

函数说明

◆ applyAdditiveTRS()

void eve::animation::applyAdditiveTRS ( TransformTRS &  base,
const TransformTRS &  sample,
const TransformTRS &  reference,
float  weight 
)
inline

Apply an additive sample onto base using reference.

reference is TransformTRS::identity() for Identity-mode deltas, or the skeleton bind local for BindPose-mode absolute samples. Translation adds (sample - reference); scale multiplies by sample/reference (or sample when reference is identity); rotation right-multiplies the slerped identity-to-delta quaternion.

参数
baseAccumulated transform mutated in place.
sampleEvaluated additive-layer transform.
referenceReference transform used as the additive identity.
weightFinite blend influence, clamped to [0,1].

Multiply quat.

Slerp quat.

Multiply quat.

在文件 AnimMath.h 第 114 行定义.

引用了 ax, ay, az, clampf(), dx, dy, dz, lerpf(), multiplyQuat(), eve::animation::TransformTRS::normalizeRotation(), eve::animation::TransformTRS::px, eve::animation::TransformTRS::py, eve::animation::TransformTRS::pz, eve::animation::TransformTRS::qw, qw, eve::animation::TransformTRS::qx, qx, eve::animation::TransformTRS::qy, qy, eve::animation::TransformTRS::qz, qz, reference, slerpQuat(), eve::animation::TransformTRS::sx, eve::animation::TransformTRS::sy, eve::animation::TransformTRS::sz , 以及 weight.

被这些函数引用 eve::animation::MontageCoordinator::compose().

◆ applyRootMotionPolicy()

EVENGINE_API_WORLD TransformTRS eve::animation::applyRootMotionPolicy ( const TransformTRS &  rawDelta,
const RootMotionPolicy &  policy 
)

Filter a raw root-bone delta into a controller-facing delta.

Optional rotation lock, then CharacterFacing yaw, then axis locks in the published space. Does not modify any pose. Non-finite input components become zeroed components.

在文件 RootMotionPolicy.cpp 第 61 行定义.

引用了 eve::animation::RootMotionPolicy::applySpace, CharacterFacing, eve::animation::RootMotionPolicy::characterYaw, hasLock(), eve::animation::RootMotionPolicy::lockAxes, eve::animation::RootMotionPolicy::lockRotation, eve::animation::TransformTRS::px, eve::animation::TransformTRS::py, eve::animation::TransformTRS::pz, eve::animation::TransformTRS::qw, eve::animation::TransformTRS::qx, eve::animation::TransformTRS::qy, eve::animation::TransformTRS::qz, X, Y , 以及 Z.

◆ bakeRootMotionIntoPose()

EVENGINE_API_WORLD eve::Result< void > eve::animation::bakeRootMotionIntoPose ( AnimPose &  pose,
int  boneIndex,
const TransformTRS &  referenceRoot,
const RootMotionPolicy &  policy 
)

Remove extracted root motion from a pose when bake flags are set.

参数
poseMutable local pose; borrowed for this call only.
boneIndexRoot-motion bone; must be in range.
referenceRootStable local TRS for unlocked axes, typically skeleton bind.
policyBake and lock flags; locked translation axes are not baked.
返回
Applied, NoOp when nothing changes, or InvalidArgument for a bad bone.

在文件 RootMotionPolicy.cpp 第 75 行定义.

引用了 eve::Applied, eve::animation::RootMotionPolicy::bakeRotationIntoPose, eve::animation::RootMotionPolicy::bakeTranslationIntoPose, eve::Diagnostic::error(), eve::Result< T >::failure(), hasLock(), eve::InvalidArgument, eve::animation::RootMotionPolicy::lockAxes, eve::animation::RootMotionPolicy::lockRotation, eve::NoOp, pose, eve::animation::TransformTRS::px, eve::animation::TransformTRS::py, eve::animation::TransformTRS::pz, eve::animation::TransformTRS::qw, eve::animation::TransformTRS::qx, eve::animation::TransformTRS::qy, eve::animation::TransformTRS::qz, root, eve::Status::success(), eve::Result< T >::success(), X, Y , 以及 Z.

◆ blendTRS()

◆ buildSmrFeatures()

EVENGINE_API_ORCHESTRATION SmrFeatureBatch eve::animation::buildSmrFeatures ( const AnimClip &  sourceClip,
const AnimSkeleton *  sourceSkeleton,
const AnimSkeleton *  targetSkeleton,
const AnimSkin *  sourceSkin,
const AnimSkin *  targetSkin,
int  ringsPerBone = 2,
int  pointsPerRing = 4 
)

Build dense SCS + DMI tensors from skeletons/clip (no tensor headers).

参数
sourceSkeletonBorrowed; must outlive the call. Required.
targetSkeletonBorrowed; must outlive the call. Required.
sourceSkinOptional borrowed LBS skin for denser SCS; nullptr skips skin rings.
targetSkinOptional borrowed LBS skin; nullptr skips skin rings.
返回
Owning packed feature batch.
异常
Exceptionon null required skeletons or empty clip. @ownership Does not retain any input pointers after return. @lifetime All raw pointers are borrowed for the duration of this call only. @thread Owner thread.

在文件 SmrFeatures.cpp 第 129 行定义.

引用了 a, eve::animation::AnimSkeleton::applyBindPose(), ax, ay, az, b, eve::animation::AnimSmrSensor::boneIndex, bx, by, bz, eve::animation::AnimPose::computeWorld(), duration, dx, dy, dz, eve::animation::AnimSmrSensorCloud::evaluateWorldPositions(), first, eve::animation::SmrFeatureBatch::frames, eve::animation::AnimSmrSensorCloud::fromSkeletonDense(), eve::animation::AnimSkeleton::getBoneCount(), eve::animation::AnimClip::getDuration(), eve::animation::AnimClip::getSampleRate(), eve::animation::AnimSmrSensorCloud::getSensor(), eve::animation::AnimSmrSensorCloud::getSensorCount(), eve::animation::AnimSmrSensorCloud::getSensorPart(), eve::animation::SmrFeatureBatch::jointMap, eve::animation::SmrFeatureBatch::joints, local, p, eve::animation::SmrFeatureBatch::pairs, pose, quatToRot6d(), rate, eve::animation::AnimClip::sample(), second, eve::animation::SmrFeatureBatch::sensors, eve::animation::SmrFeatureBatch::sourceDmi, eve::animation::SmrFeatureBatch::sourceGeom, eve::animation::SmrFeatureBatch::sourceRot6d, t, eve::animation::SmrFeatureBatch::targetGeom, time, vx, vy , 以及 vz.

被这些函数引用 eve::animation::SmrNeuralProvider::retarget().

◆ clampf()

◆ evaluateMotionEase()

EVENGINE_API_WORLD float eve::animation::evaluateMotionEase ( float  t,
const char *  kind 
)

Evaluate an ease curve; kinds match Math.ease / Tween.

在文件 MotionTypes.cpp 第 63 行定义.

引用了 kind, M_PI, s, t, u , 以及 x.

◆ evaluateMotionOscillation()

EVENGINE_API_WORLD float eve::animation::evaluateMotionOscillation ( float  t,
int  frequency,
float  dampingRatio 
)

LitMotion-style damped sine envelope in [0,1] progress.

参数
tNormalized progress (typically eased). Returns 0 at t<=0 and t>=1 when frequency is integral.
frequencyOscillation count until end (>= 1).
dampingRatio0 = no damping, 1 = fully damped (LitMotion default).

在文件 MotionTypes.cpp 第 177 行定义.

引用了 M_PI , 以及 t.

◆ evaluateMotionShakeSign()

EVENGINE_API_WORLD float eve::animation::evaluateMotionShakeSign ( std::uint32_t  seed,
int  frequency,
float  t,
int  axis 
)

Deterministic shake sign in [-1,1] for axis (0..n).

注解
Stable across SimulationStep replay for the same seed/progress/frequency.

在文件 MotionTypes.cpp 第 186 行定义.

引用了 h, seed, step, t , 以及 u.

◆ exposeAnimationModelImportBindings()

void eve::animation::exposeAnimationModelImportBindings ( ssq::Class &  cls)

◆ exposeAnimClipBindings()

void eve::animation::exposeAnimClipBindings ( ssq::Table &  table)

Register AnimClip's authoring and playback-neutral Squirrel surface.

在文件 AnimationClipBindings.cpp 第 29 行定义.

引用了 eve::animation::AnimRetargetProfile::addBoneMapping(), eve::animation::AnimClip::addEvent(), eve::animation::AnimRetargetProfile::addInteractionIkChain(), eve::animation::AnimClip::addPositionKey(), eve::animation::AnimClip::addRotationKey(), eve::animation::AnimClip::addScaleKey(), eve::animation::AnimClip::addSyncMarker(), eve::animation::AnimClip::applyPlanarRootMotion(), eve::animation::AnimRetargetProfile::clearBoneMappings(), eve::animation::AnimRetargetProfile::clearInteractionIkChains(), eve::animation::AnimClip::clearTrack(), clip, eve::animation::AnimClip::compress(), error, exposeAnimCurveLibraryBindings(), eve::animation::AnimRetargetProfile::getAutoRootScale(), eve::animation::AnimClip::getDuration(), eve::animation::AnimClip::getEventCount(), eve::animation::AnimClip::getEventName(), eve::animation::AnimClip::getEventPayload(), eve::animation::AnimClip::getEventTime(), eve::animation::AnimRetargetProfile::getInteractionContactThreshold(), eve::animation::AnimRetargetProfile::getInteractionCorrectionCount(), eve::animation::AnimRetargetProfile::getInteractionCorrectionWeight(), eve::animation::AnimClip::getLoop(), eve::animation::AnimRetargetProfile::getMatchedBoneCount(), eve::animation::AnimClip::getName(), eve::animation::AnimRetargetProfile::getNeuralBackend(), eve::animation::AnimRetargetProfile::getNeuralInferenceCount(), eve::animation::AnimRetargetProfile::getNeuralModelPath(), eve::animation::AnimRetargetProfile::getNeuralRetargetEnabled(), eve::animation::AnimRetargetProfile::getNormalizedNameMatching(), eve::animation::AnimClip::getPositionKeyCount(), eve::animation::AnimClip::getPositionKeyTime(), eve::animation::AnimClip::getPositionKeyX(), eve::animation::AnimClip::getPositionKeyY(), eve::animation::AnimClip::getPositionKeyZ(), eve::animation::AnimRetargetProfile::getRootHorizontalScale(), eve::animation::AnimRetargetProfile::getRootVerticalScale(), eve::animation::AnimClip::getRotationKeyCount(), eve::animation::AnimClip::getRotationKeyTime(), eve::animation::AnimClip::getRotationKeyW(), eve::animation::AnimClip::getRotationKeyX(), eve::animation::AnimClip::getRotationKeyY(), eve::animation::AnimClip::getRotationKeyZ(), eve::animation::AnimClip::getSampleRate(), eve::animation::AnimClip::getScaleKeyCount(), eve::animation::AnimClip::getScaleKeyTime(), eve::animation::AnimClip::getScaleKeyX(), eve::animation::AnimClip::getScaleKeyY(), eve::animation::AnimClip::getScaleKeyZ(), eve::animation::AnimRetargetProfile::getSkinnedInteractionPreserve(), eve::animation::AnimClip::getSyncMarkerCount(), eve::animation::AnimClip::getSyncMarkerName(), eve::animation::AnimClip::getSyncMarkerTime(), eve::animation::AnimClip::getTrackCount(), eve::animation::AnimRetargetProfile::getUnmatchedBoneCount(), eve::animation::AnimRetargetProfile::getUnmatchedTargetBone(), eve::animation::AnimRetargetProfile::getUseSkeletonSpaceRotation(), eve::animation::AnimClip::hasCompatibleSyncMarkers(), inputs, loadAnimationTrackBatch(), loadAnimationTracks(), eve::animation::AnimClip::mapSyncTimeTo(), path, paths, eve::script::projectResult(), eve::animation::AnimClip::removeEvent(), eve::animation::AnimClip::removePositionKey(), eve::animation::AnimClip::removeRotationKey(), eve::animation::AnimClip::removeScaleKey(), eve::animation::AnimClip::removeSyncMarker(), eve::animation::AnimClip::retarget(), eve::animation::AnimClip::retargetWithProfile(), eve::animation::AnimClip::sample(), eve::animation::AnimClip::sampleLod(), eve::animation::AnimRetargetProfile::setAutoRootScale(), eve::animation::AnimClip::setDuration(), eve::animation::AnimClip::setEvent(), eve::animation::AnimRetargetProfile::setInteractionContactThreshold(), eve::animation::AnimRetargetProfile::setInteractionCorrectionWeight(), eve::animation::AnimClip::setLoop(), eve::animation::AnimClip::setName(), eve::animation::AnimRetargetProfile::setNeuralBackend(), eve::animation::AnimRetargetProfile::setNeuralModelPath(), eve::animation::AnimRetargetProfile::setNeuralRetargetEnabled(), eve::animation::AnimRetargetProfile::setNormalizedNameMatching(), eve::animation::AnimClip::setPositionKey(), eve::animation::AnimRetargetProfile::setRootBones(), eve::animation::AnimRetargetProfile::setRootTranslationScale(), eve::animation::AnimClip::setRotationKey(), eve::animation::AnimClip::setSampleRate(), eve::animation::AnimClip::setScaleKey(), eve::animation::AnimRetargetProfile::setSkinnedInteractionPreserve(), eve::animation::AnimClip::setSyncMarker(), eve::animation::AnimRetargetProfile::setUseSkeletonSpaceRotation() , 以及 eve::animation::AnimClip::wrapTime().

◆ exposeAnimCurveLibraryBindings()

void eve::animation::exposeAnimCurveLibraryBindings ( ssq::Table &  table)

◆ exposeAnimInertializerBindings()

◆ exposeAnimPlayerBindings()

void eve::animation::exposeAnimPlayerBindings ( ssq::Table &  table)

Register playback, sampling and event inspection for AnimPlayer.

在文件 AnimationPlayerBindings.cpp 第 38 行定义.

引用了 eve::animation::AnimPlayer::clearEvents(), eve::animation::AnimPlayer::consumeEvent(), eve::animation::AnimPlayer::crossFade(), enabled, eve::animation::AnimPlayer::getClip(), eve::animation::AnimPlayer::getEventCount(), eve::animation::AnimPlayer::getEventName(), eve::animation::AnimPlayer::getEventPayload(), eve::animation::AnimPlayer::getLoop(), eve::animation::AnimPlayer::getPose(), eve::animation::AnimPlayer::getRootMotionBone(), eve::animation::AnimPlayer::getRootMotionRotationW(), eve::animation::AnimPlayer::getRootMotionRotationX(), eve::animation::AnimPlayer::getRootMotionRotationY(), eve::animation::AnimPlayer::getRootMotionRotationZ(), eve::animation::AnimPlayer::getRootMotionX(), eve::animation::AnimPlayer::getRootMotionY(), eve::animation::AnimPlayer::getRootMotionZ(), eve::animation::AnimPlayer::getSpeed(), eve::animation::AnimPlayer::getTime(), eve::animation::AnimPlayer::getUpdateRate(), eve::animation::AnimPlayer::isPaused(), eve::animation::AnimPlayer::isPlaying(), eve::animation::AnimPlayer::pause(), eve::animation::AnimPlayer::play(), eve::animation::AnimPlayer::resume(), eve::animation::AnimPlayer::setLoop(), eve::animation::AnimPlayer::setRootMotionBone(), eve::animation::AnimPlayer::setSpeed(), eve::animation::AnimPlayer::setTime(), eve::animation::AnimPlayer::setUpdateRate(), eve::animation::AnimPlayer::stop(), eve::animation::AnimPlayer::update(), vm , 以及 yaw.

◆ exposeMotionMatcherBindings()

void eve::animation::exposeMotionMatcherBindings ( ssq::Table &  table)

Register the synchronous MotionMatcher Squirrel surface.

在文件 AnimationMotionBindings.cpp 第 30 行定义.

引用了 eve::animation::MotionDatabase::addClip(), eve::animation::MotionDatabase::addFeatureBone(), eve::animation::MotionDatabase::addFeatureBoneByName(), eve::animation::MotionDatabase::bake(), c, Character, Continuing, count, current, Curve, entries, error, exposeAnimInertializerBindings(), exposeOrientationWarpingBindings(), eve::animation::MotionMatcher::getBlendTime(), eve::animation::MotionDatabase::getClipCount(), eve::animation::MotionMatcher::getDesiredVelocityX(), eve::animation::MotionMatcher::getDesiredVelocityZ(), eve::animation::MotionMatcher::getDesiredYaw(), eve::animation::MotionDatabase::getFeatureBone(), eve::animation::MotionDatabase::getFeatureBoneCount(), eve::animation::MotionDatabase::getFeatureSize(), eve::animation::MotionDatabase::getFrameClipIndex(), eve::animation::MotionDatabase::getFrameCount(), eve::animation::MotionDatabase::getFrameTime(), eve::animation::MotionMatcher::getIgnoreRadius(), eve::animation::MotionMatcher::getLastSearchCost(), eve::animation::MotionMatcher::getMatchedClipIndex(), eve::animation::MotionMatcher::getMatchedFrame(), eve::animation::MotionMatcher::getMatchedTime(), eve::animation::MotionMatcher::getPlayRate(), eve::animation::MotionMatcher::getPlayRateMaximum(), eve::animation::MotionMatcher::getPlayRateMinimum(), eve::animation::MotionMatcher::getPose(), eve::animation::MotionMatcher::getPoseReselectHistory(), eve::animation::MotionMatcher::getPoseWeight(), eve::animation::MotionDatabase::getRootBone(), eve::animation::MotionMatcher::getSearchInterval(), eve::animation::MotionMatcher::getTrajectoryWeight(), eve::animation::MotionMatcher::getVelocityWeight(), eve::animation::MotionDatabase::hasFeatureLayout(), eve::animation::MotionDatabase::hasLocomotionFeatures(), Heading, eve::animation::MotionDatabase::isBaked(), kind, layout, left, maximum, minimum, path, Pose, pose, Position, previous, eve::script::projectResult(), range, rate, right, eve::animation::MotionFeatureLayout::sampleRate, eve::animation::MotionMatcher::search(), eve::animation::MotionMatcher::setBlendTime(), eve::animation::MotionMatcher::setDesiredVelocity(), eve::animation::MotionMatcher::setDesiredYaw(), eve::animation::MotionDatabase::setFeatureCurves(), eve::animation::MotionDatabase::setFeatureLayout(), eve::animation::MotionDatabase::setFeatureNormalizationRanges(), eve::animation::MotionMatcher::setIgnoreRadius(), eve::animation::MotionDatabase::setLocomotionFeatures(), eve::animation::MotionMatcher::setPoseWeight(), eve::animation::MotionDatabase::setRootBone(), eve::animation::MotionDatabase::setRootBoneByName(), eve::animation::MotionMatcher::setSearchInterval(), eve::animation::MotionMatcher::setTrajectoryWeight(), eve::animation::MotionMatcher::setVelocityWeight(), source, Trajectory, eve::animation::MotionSearchRange::transitionBlocks, eve::animation::MotionMatcher::update(), value, values , 以及 Velocity.

◆ exposeMotionScriptBindings()

void eve::animation::exposeMotionScriptBindings ( ssq::Table &  table,
ssq::Class &  animationClass 
)

◆ exposeOrientationWarpingBindings()

◆ exposePhysicalBalancePoseBindings()

void eve::animation::exposePhysicalBalancePoseBindings ( ssq::Table &  table)

Register the impulse/balance pose overlay Squirrel surface.

在文件 PhysicalBalancePoseBindings.cpp 第 12 行定义.

引用了 bone, eve::animation::PhysicalBalancePose::getBalanceBone(), eve::animation::PhysicalBalancePose::getBoneMass(), eve::animation::PhysicalBalancePose::getCenterOfMassX(), eve::animation::PhysicalBalancePose::getCenterOfMassY(), eve::animation::PhysicalBalancePose::getCenterOfMassZ(), eve::animation::PhysicalBalancePose::getGravity(), eve::animation::PhysicalBalancePose::getInertia(), eve::animation::PhysicalBalancePose::getLeanVelocityX(), eve::animation::PhysicalBalancePose::getLeanVelocityZ(), eve::animation::PhysicalBalancePose::getLeanX(), eve::animation::PhysicalBalancePose::getLeanZ(), eve::animation::PhysicalBalancePose::getMaxLean(), eve::animation::PhysicalBalancePose::getPendulumHeight(), eve::animation::PhysicalBalancePose::getPose(), eve::animation::PhysicalBalancePose::getRecoilDamping(), eve::animation::PhysicalBalancePose::getRecoilFrequency(), eve::animation::PhysicalBalancePose::getRecoilInertia(), eve::animation::PhysicalBalancePose::getRecoveryDamping(), eve::animation::PhysicalBalancePose::getRecoveryFrequency(), eve::animation::PhysicalBalancePose::getSkeleton(), eve::animation::PhysicalBalancePose::getSupportBone(), eve::animation::PhysicalBalancePose::getSupportX(), eve::animation::PhysicalBalancePose::getSupportY(), eve::animation::PhysicalBalancePose::getSupportZ(), eve::animation::PhysicalBalancePose::getTargetPose(), gravity, height, inertia, pose, px, py, pz, target, eve::animation::PhysicalBalancePose::update() , 以及 vm.

◆ hasLock()

constexpr bool eve::animation::hasLock ( RootMotionLockAxes  mask,
RootMotionLockAxes  axis 
)
constexprnoexcept

True when mask contains the given axis bit.

在文件 RootMotionPolicy.h 第 42 行定义.

引用了 mask.

被这些函数引用 applyRootMotionPolicy() , 以及 bakeRootMotionIntoPose().

◆ hzToOmega()

float eve::animation::hzToOmega ( float  frequencyHz)
inline

ω (rad/s) from frequency in Hz.

在文件 AnimControlMath.h 第 147 行定义.

◆ length2()

float eve::animation::length2 ( float  x,
float  z 
)
inline

Length 2.

在文件 AnimMath.h 第 150 行定义.

引用了 x , 以及 z.

◆ lerpf()

float eve::animation::lerpf ( float  a,
float  b,
float  t 
)
inline

Lerpf.

在文件 AnimMath.h 第 40 行定义.

引用了 a, b , 以及 t.

被这些函数引用 applyAdditiveTRS(), eve::animation::AnimPose::blendFrom(), blendTRS(), eve::animation::AnimClip::compress() , 以及 slerpQuat().

◆ lerpMotionColor()

MotionColor eve::animation::lerpMotionColor ( MotionColor  a,
MotionColor  b,
float  t 
)

Component-wise lerp for MotionColor.

在文件 MotionTypes.cpp 第 204 行定义.

引用了 a, b, eve::animation::MotionColor::r , 以及 t.

◆ loadAnimationTrackBatch()

EVENGINE_API_WORLD eve::Result< int > eve::animation::loadAnimationTrackBatch ( std::span< const AnimationTrackInput >  inputs,
const AnimSkeleton &  skeleton,
int  workerCount = 0 
)

Decode independent clips in parallel, then publish all or none in input order.

参数
inputsBorrowed unique destinations and immutable bytes, at most 64 clips and 256 MiB total.
skeletonBorrowed immutable skeleton, used only until all workers join.
workerCountZero selects up to eight hardware threads; 1 forces serial; valid range 0..8.
返回
Applied with actual worker count, or diagnostic leaving every destination unchanged. @thread Synchronous owner-thread entry, outside sampling/mutation. Workers touch only private candidates and immutable inputs. No VM, filesystem, callbacks, retained jobs, or reentrancy.

Uses the same version-1 codec and exact sampling as loadAnimationTracks.

在文件 AnimClipBinary.cpp 第 85 行定义.

引用了 eve::Applied, bytes, error, eve::Diagnostic::error(), eve::Result< T >::failure(), inputs, eve::InvalidArgument, eve::animation::detail::parallelAnimationItems(), eve::Status::success() , 以及 eve::Result< T >::success().

被这些函数引用 exposeAnimClipBindings().

◆ loadAnimationTracks()

EVENGINE_API_WORLD eve::Result< void > eve::animation::loadAnimationTracks ( AnimClip &  destination,
std::span< const std::byte >  bytes,
const AnimSkeleton &  skeleton 
)

Atomically replace a clip from the little-endian eve.animation-tracks/1 format (EVAC, version 1).

参数
destinationBorrowed existing clip; unchanged on rejection, owns decoded tracks on success.
bytesBorrowed complete encoded bytes, valid for this synchronous call only; never retained.
skeletonBorrowed bone-name mapping, valid for this call; never retained.
返回
Applied or a diagnostic for invalid version, bounds, names, times, or values. @thread Owner animation thread, outside sampling; no callbacks or reentrancy.

Unknown versions/flags/trailing bytes are rejected. No implicit migration. Float32 tracks retain source sampling precision; the offline encoder only removes exactly constant keys.

在文件 AnimClipBinary.cpp 第 112 行定义.

引用了 eve::animation::AnimClip::adopt(), eve::Applied, bone, bytes, count, duration, error, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::animation::AnimSkeleton::findBone(), eve::animation::AnimSkeleton::getBoneCount(), eve::InvalidArgument, key, kind, previous, rate, eve::animation::AnimClipBinaryAccess::resize(), eve::animation::AnimClip::setDuration(), eve::animation::AnimClip::setLoop(), eve::animation::AnimClip::setSampleRate(), eve::Status::success(), eve::Result< T >::success(), time, w, eve::animation::AnimClipBinaryAccess::write(), x, y , 以及 z.

被这些函数引用 exposeAnimClipBindings().

◆ makeDampedSpringStep()

DampedSpringStep eve::animation::makeDampedSpringStep ( float  dt,
float  angularFrequency,
float  dampingRatio 
)
inline

Make damped spring step.

在文件 AnimControlMath.h 第 61 行定义.

引用了 s.

被这些函数引用 stepDampedSpring().

◆ makeSecondOrderCoeffs()

SecondOrderCoeffs eve::animation::makeSecondOrderCoeffs ( float  frequencyHz,
float  dampingZeta,
float  response 
)
inline

Build second-order coefficients from frequency (Hz), damping ζ, response r.

在文件 AnimControlMath.h 第 27 行定义.

引用了 c, f, eve::animation::SecondOrderCoeffs::k1 , 以及 z.

◆ Module_IMPL() [1/2]

eve::animation::Module_IMPL ( Animation  ,
new   Animation() 
)

◆ Module_IMPL() [2/2]

eve::animation::Module_IMPL ( AnimationTensor  ,
new   AnimationTensor() 
)

◆ multiplyQuat()

void eve::animation::multiplyQuat ( float  ax,
float  ay,
float  az,
float  aw,
float  bx,
float  by,
float  bz,
float  bw,
float &  ox,
float &  oy,
float &  oz,
float &  ow 
)
inline

Hamilton product a * b for unit quaternions (xyzw).

在文件 AnimMath.h 第 94 行定义.

引用了 ax, ay, az, bx, by, bz, ox , 以及 oy.

被这些函数引用 applyAdditiveTRS().

◆ operator&()

constexpr RootMotionLockAxes eve::animation::operator& ( RootMotionLockAxes  a,
RootMotionLockAxes  b 
)
constexprnoexcept

Bitwise AND for RootMotionLockAxes masks.

在文件 RootMotionPolicy.h 第 37 行定义.

引用了 a, b , 以及 operator&().

被这些函数引用 operator&().

◆ operator|()

constexpr RootMotionLockAxes eve::animation::operator| ( RootMotionLockAxes  a,
RootMotionLockAxes  b 
)
constexprnoexcept

Bitwise OR for RootMotionLockAxes masks.

在文件 RootMotionPolicy.h 第 32 行定义.

引用了 a, b , 以及 operator|().

被这些函数引用 operator|().

◆ parseRootMotionApplySpace()

EVENGINE_API_WORLD eve::Result< RootMotionApplySpace > eve::animation::parseRootMotionApplySpace ( std::string_view  name)

Parse a script/C++ apply-space name.

Accepts boneLocal/local and characterFacing/facing.

在文件 RootMotionPolicy.cpp 第 133 行定义.

引用了 BoneLocal, CharacterFacing, eve::Diagnostic::error(), eve::Result< T >::failure(), eve::InvalidArgument, name , 以及 eve::Result< T >::success().

◆ parseRootMotionLockAxes()

EVENGINE_API_WORLD eve::Result< RootMotionLockAxes > eve::animation::parseRootMotionLockAxes ( std::string_view  name)

Parse a script/C++ lock-axis name.

Accepts none, x, y/vertical, z, xz/horizontal, xy, yz, xyz/all.

在文件 RootMotionPolicy.cpp 第 113 行定义.

引用了 All, eve::Diagnostic::error(), eve::Result< T >::failure(), HorizontalXZ, eve::InvalidArgument, name, None, eve::Result< T >::success(), VerticalY, X, Y , 以及 Z.

◆ pdGainsFromOmegaZeta()

void eve::animation::pdGainsFromOmegaZeta ( float  omega,
float  zeta,
float &  kp,
float &  kd 
)
inline

Unit-mass PD gains from natural frequency ω (rad/s) and damping ratio ζ.

在文件 AnimControlMath.h 第 127 行定义.

引用了 w , 以及 z.

◆ quatToRot6d()

EVENGINE_API_ORCHESTRATION void eve::animation::quatToRot6d ( float  qx,
float  qy,
float  qz,
float  qw,
float  out[6] 
)

Convert unit quaternion to MeshRet-style rotation-6D.

在文件 SmrFeatures.cpp 第 52 行定义.

引用了 qw, qx, qy, qz, w, wx, wy, wz, x, y , 以及 z.

被这些函数引用 buildSmrFeatures().

◆ rot6dToQuat()

EVENGINE_API_ORCHESTRATION void eve::animation::rot6dToQuat ( const float  in[6],
float &  qx,
float &  qy,
float &  qz,
float &  qw 
)

Convert rotation-6D back to a unit quaternion.

在文件 SmrFeatures.cpp 第 66 行定义.

引用了 n, qw, qx, qy, qz, s, trace , 以及 v.

◆ slerpMotionQuat()

MotionQuat eve::animation::slerpMotionQuat ( MotionQuat  a,
MotionQuat  b,
float  t 
)

Spherical linear interpolation for MotionQuat (shortest path).

在文件 MotionTypes.cpp 第 209 行定义.

引用了 a, b, q, t , 以及 eve::animation::MotionQuat::x.

◆ slerpQuat()

void eve::animation::slerpQuat ( float  ax,
float  ay,
float  az,
float  aw,
float  bx,
float  by,
float  bz,
float  bw,
float  t,
float &  ox,
float &  oy,
float &  oz,
float &  ow 
)
inline

Slerp quat.

在文件 AnimMath.h 第 43 行定义.

引用了 ax, ay, az, bx, by, bz, clampf(), lerpf(), ox, oy , 以及 t.

被这些函数引用 applyAdditiveTRS(), eve::animation::AnimPose::blendFrom(), blendTRS() , 以及 eve::animation::AnimClip::compress().

◆ smrRefineRetargetedClip()

int eve::animation::smrRefineRetargetedClip ( const AnimClip &  sourceClip,
AnimClip &  targetClip,
const AnimSkeleton *  sourceSkeleton,
const AnimSkeleton *  targetSkeleton,
AnimRetargetProfile &  profile 
)

Refine an FK-retargeted clip so source body-part proximity/contact is preserved on the target.

Classical stand-in for MeshRet's DMI alignment: detect close sensor pairs on the source, map them to the target, and pull tip bones with two-bone IK. Returns the number of frames that received at least one chain correction.

异常
Exceptionon null skeleton arguments. @thread Owner thread; not re-entrant on the same targetClip.

在文件 AnimSmr.cpp 第 344 行定义.

◆ stepDampedSpring()

void eve::animation::stepDampedSpring ( float  dt,
float  target,
float  angularFrequency,
float  dampingRatio,
float &  pos,
float &  vel 
)
inline

Advance position/velocity relative to a set-point using closed-form spring step.

在文件 AnimControlMath.h 第 115 行定义.

引用了 makeDampedSpringStep(), pos, s , 以及 target.

◆ stepPd()

void eve::animation::stepPd ( float  dt,
float  target,
float  targetVel,
float  kp,
float  kd,
float &  y,
float &  yd 
)
inline

Semi-implicit Euler PD step (unit mass): a = Kp (target − y) + Kd (targetVel − yd), then integrate.

在文件 AnimControlMath.h 第 138 行定义.

引用了 a, target , 以及 y.

◆ stepSecondOrder()

void eve::animation::stepSecondOrder ( float  dt,
float  x,
float  xd,
const SecondOrderCoeffs &  c,
float &  y,
float &  yd 
)
inline

Stable semi-implicit Euler step for a second-order tracker. Estimates input velocity from consecutive targets when xdEstimate is used by caller. k2 is clamped (k2_stable) so large dt cannot explode the integrator.

在文件 AnimControlMath.h 第 44 行定义.

引用了 c, x , 以及 y.

◆ validateRootMotionPolicy()

◆ yawToForward()

void eve::animation::yawToForward ( float  yaw,
float &  fx,
float &  fz 
)
inline

Rotate unit +Z by yaw (radians) around Y — used for planar facing.

在文件 AnimMath.h 第 144 行定义.

引用了 yaw.

被这些函数引用 eve::animation::detail::encodeLocomotionTrajectory().