载入中...
搜索中...
未找到
Animation.cpp
浏览该文件的文档.
176ControlPose *Animation::newControlPose(AnimSkeleton *skeleton) { return new ControlPose(skeleton); }
Definition Exception.h:14
virtual std::string getName() const =0
static void registerPath(const std::string &path, AnimClip *clip)
Track a clip under a source path (keys are normalized).
Definition AnimClipRegistry.cpp:59
Keyframed skeletal animation clip (local TRS tracks per bone). Script type: AnimClip.
Definition AnimClip.h:17
void sample(float time, AnimPose *out, const AnimSkeleton *skeleton=nullptr) const
Sample local pose at time (seconds). If skeleton non-null, missing tracks fall back to bind pose; oth...
Definition AnimClip.cpp:276
void addScaleKey(int boneIndex, float time, float x, float y, float z)
Definition AnimClip.cpp:66
void addPositionKey(int boneIndex, float time, float x, float y, float z)
Definition AnimClip.cpp:35
int getRotationKeyCount(int boneIndex) const
Definition AnimClip.cpp:81
void applyPlanarRootMotion(int boneIndex, float speedX, float speedZ)
Bake planar root motion onto an existing position track (or create one). For each position key at tim...
Definition AnimClip.cpp:154
int getScaleKeyCount(int boneIndex) const
Definition AnimClip.cpp:86
void setSampleRate(float hz)
Sample rate hint used by MotionDatabase baking (Hz).
Definition AnimClip.cpp:23
int getPositionKeyCount(int boneIndex) const
Definition AnimClip.cpp:76
void addRotationKey(int boneIndex, float time, float x, float y, float z, float w)
Definition AnimClip.cpp:45
float wrapTime(float time) const
Wrap or clamp time according to loop flag.
Definition AnimClip.cpp:169
static AnimSkeleton * loadSkeletonFromModel(const model3d::ModelData *model)
Convenience: ModelData wrappers (implemented in AnimImporterModel.cpp).
Definition AnimImporterModel.cpp:8
static AnimClip * loadClipFromModel(const model3d::ModelData *model, const AnimSkeleton *skeleton, int animIndex=0)
Definition AnimImporterModel.cpp:13
static void importEvaFile(const std::string &path, AnimSkeleton **skeletonOut, AnimClip **clipOut)
Load from .eva file path.
Definition AnimImporter.cpp:275
void setDivisions(int divX, int divY, int divZ)
Changes divisions; resets all control points to identity and clears the bind.
Definition AnimLattice.cpp:46
float getDeformedPositionX(int vertexIndex) const
Cached deformed position component (requires updateDeformedPositions).
Definition AnimLattice.cpp:344
std::vector< float > getDeformedNormals() const
Copy of the cached deformed normals (xyz packed; empty when not updated).
Definition AnimLattice.cpp:370
std::vector< float > getDeformedPositions() const
Copy of the cached deformed positions (xyz packed; empty when not updated).
Definition AnimLattice.cpp:366
void setPointScale(int ix, int iy, int iz, float sx, float sy, float sz)
Per-control-point scale (squash / stretch about the lattice origin).
Definition AnimLattice.cpp:88
float getPointOffsetX(int ix, int iy, int iz) const
Definition AnimLattice.cpp:126
bool updateDeformedPositions()
Deform the bound bind positions into the internal cache.
Definition AnimLattice.cpp:321
float getBindPositionZ(int vertexIndex) const
Definition AnimLattice.cpp:197
void setOrigin(float ox, float oy, float oz)
Center of the lattice box in model space.
Definition AnimLattice.cpp:67
void setClamp(bool clamp)
When true (default), vertices outside the box are clamped to the boundary cells; when false,...
Definition AnimLattice.h:77
void bindModel(const model3d::ModelData *model, int meshIndex)
Binds the current lattice to meshIndex of model (uses current divisions).
Definition AnimLattice.cpp:155
bool updateDeformedNormals(const std::vector< float > &posXYZ, const std::vector< float > &inNrmXYZ)
Deform packed xyz normals (with packed positions for cell lookup) into the internal normal cache.
Definition AnimLattice.cpp:329
float getPointScaleX(int ix, int iy, int iz) const
Definition AnimLattice.cpp:114
float getPointOffsetY(int ix, int iy, int iz) const
Definition AnimLattice.cpp:130
float getDeformedPositionY(int vertexIndex) const
Definition AnimLattice.cpp:351
bool updateDeformedPositions(const std::vector< float > &inPosXYZ)
Deform an input packed xyz array into the internal cache (size vertexCount*3).
Definition AnimLattice.cpp:310
void setSize(float sx, float sy, float sz)
World-space size of the lattice box (components must be > 0).
Definition AnimLattice.cpp:58
float getDeformedPositionZ(int vertexIndex) const
Definition AnimLattice.cpp:358
void setPointOffset(int ix, int iy, int iz, float dx, float dy, float dz)
Per-control-point translation offset (local bulge / pinch).
Definition AnimLattice.cpp:96
bool hasDeformedPositions() const
True after a successful updateDeformedPositions().
Definition AnimLattice.h:157
float getPointScaleY(int ix, int iy, int iz) const
Definition AnimLattice.cpp:118
void setScale(float sx, float sy, float sz)
Applies one scale to every control point (whole-lattice squash & stretch).
Definition AnimLattice.cpp:104
static AnimLattice * fromModel(const model3d::ModelData *model, int meshIndex, int divX, int divY, int divZ)
Builds a lattice bound to meshIndex of model (Assimp vertices). Throws on null model / invalid mesh /...
Definition AnimLattice.cpp:139
float getBindPositionX(int vertexIndex) const
Bind-pose position component for vertex v (0..vertexCount-1).
Definition AnimLattice.cpp:189
float getPointOffsetZ(int ix, int iy, int iz) const
Definition AnimLattice.cpp:134
void reset()
Resets every control point to identity (offset 0, scale 1).
Definition AnimLattice.cpp:112
bool hasDeformedNormals() const
True after a successful updateDeformedNormals().
Definition AnimLattice.h:160
float getPointScaleZ(int ix, int iy, int iz) const
Definition AnimLattice.cpp:122
void bindPositions(const float *posXYZ, int count)
Binds a packed xyz array (count * 3 floats). Uses current divisions/size/origin.
Definition AnimLattice.cpp:169
float getBindPositionY(int vertexIndex) const
Definition AnimLattice.cpp:193
Single-clip (or cross-fading) 3D animation player. Script type: AnimPlayer.
Definition AnimPlayer.h:14
void crossFade(AnimClip *clip, float blendSeconds)
Cross-fade to clip over blendSeconds (keeps sampling previous until done).
Definition AnimPlayer.cpp:47
Evaluated local (and optional world) pose for an AnimSkeleton. Script type: AnimPose.
Definition AnimPose.h:15
float getLocalRotationX(int boneIndex) const
Definition AnimPose.cpp:122
float getWorldRotationX(int boneIndex) const
Definition AnimPose.cpp:180
float getWorldPositionZ(int boneIndex) const
Definition AnimPose.cpp:176
float getLocalScaleZ(int boneIndex) const
Definition AnimPose.cpp:146
float getLocalPositionZ(int boneIndex) const
Definition AnimPose.cpp:118
void blendFrom(const AnimPose *a, const AnimPose *b, float t)
Definition AnimPose.cpp:62
float getWorldMatrixElement(int boneIndex, int elementIndex) const
Column-major 4x4 world matrix for boneIndex after computeWorld(). elementIndex in [0,...
Definition AnimPose.cpp:202
float getLocalPositionX(int boneIndex) const
Definition AnimPose.cpp:110
float getLocalRotationW(int boneIndex) const
Definition AnimPose.cpp:134
float getWorldPositionX(int boneIndex) const
Definition AnimPose.cpp:168
void setLocalScale(int boneIndex, float x, float y, float z)
Definition AnimPose.cpp:102
float getLocalScaleX(int boneIndex) const
Definition AnimPose.cpp:138
float getWorldPositionY(int boneIndex) const
Definition AnimPose.cpp:172
void setLocalRotation(int boneIndex, float x, float y, float z, float w)
Definition AnimPose.cpp:92
float getWorldRotationW(int boneIndex) const
Definition AnimPose.cpp:192
float getWorldRotationZ(int boneIndex) const
Definition AnimPose.cpp:188
float getWorldRotationY(int boneIndex) const
Definition AnimPose.cpp:184
float getLocalScaleY(int boneIndex) const
Definition AnimPose.cpp:142
float getLocalRotationZ(int boneIndex) const
Definition AnimPose.cpp:130
void setLocalPosition(int boneIndex, float x, float y, float z)
Definition AnimPose.cpp:84
float getLocalPositionY(int boneIndex) const
Definition AnimPose.cpp:114
float getLocalRotationY(int boneIndex) const
Definition AnimPose.cpp:126
void computeWorld(const AnimSkeleton *skeleton)
Compute world transforms from local pose + skeleton hierarchy. World values readable via getWorld* af...
Definition AnimPose.cpp:151
3D bone hierarchy + bind-pose local TRS for skeletal animation. Independent of ik::Skeleton3D (FABRIK...
Definition AnimSkeleton.h:14
float getBindPositionY(int boneIndex) const
Definition AnimSkeleton.cpp:79
float getBindScaleX(int boneIndex) const
Definition AnimSkeleton.cpp:103
int getParent(int boneIndex) const
Definition AnimSkeleton.cpp:44
void setBindPosition(int boneIndex, float x, float y, float z)
Definition AnimSkeleton.cpp:49
float getBindPositionZ(int boneIndex) const
Definition AnimSkeleton.cpp:83
float getBindRotationW(int boneIndex) const
Definition AnimSkeleton.cpp:99
float getBindScaleY(int boneIndex) const
Definition AnimSkeleton.cpp:107
float getBindRotationY(int boneIndex) const
Definition AnimSkeleton.cpp:91
float getBindScaleZ(int boneIndex) const
Definition AnimSkeleton.cpp:111
float getBindPositionX(int boneIndex) const
Definition AnimSkeleton.cpp:75
float getBindRotationZ(int boneIndex) const
Definition AnimSkeleton.cpp:95
float getBindRotationX(int boneIndex) const
Definition AnimSkeleton.cpp:87
std::string getBoneName(int boneIndex) const
Definition AnimSkeleton.cpp:32
int findBone(const std::string &name) const
Definition AnimSkeleton.cpp:37
void setBindScale(int boneIndex, float x, float y, float z)
Definition AnimSkeleton.cpp:67
void setBindRotation(int boneIndex, float x, float y, float z, float w)
Definition AnimSkeleton.cpp:57
void applyBindPose(class AnimPose *pose) const
Fill pose locals with bind pose.
Definition AnimSkeleton.cpp:121
int addBone(const std::string &name, int parentIndex=-1)
Append a bone. parentIndex = -1 for root.
Definition AnimSkeleton.cpp:14
CPU linear-blend skinning binding for one mesh against an AnimSkeleton.
Definition AnimSkin.h:25
int getSkeletonBone(int skinBoneIndex) const
Skeleton bone index used by skin joint i (-1 if unused).
Definition AnimSkin.cpp:155
float getInverseBindElement(int skinBoneIndex, int elementIndex) const
Inverse-bind matrix element (column-major, 0..15) for skin joint i.
Definition AnimSkin.cpp:165
float getSkinnedPositionX(int vertexIndex) const
Cached skinned position component (requires updateSkinnedPositions).
Definition AnimSkin.cpp:266
float getBindPositionX(int vertexIndex) const
Bind-pose (unskinned) position component for vertex v (0..vertexCount-1).
Definition AnimSkin.cpp:173
int getVertexBone(int vertexIndex, int influenceIndex) const
Influence slot i (0..3) for vertex: skeleton bone index or -1.
Definition AnimSkin.cpp:186
bool hasSkinnedPositions() const
True after a successful updateSkinnedPositions().
Definition AnimSkin.h:74
bool updateSkinnedPositions(const AnimPose *pose)
Skin into an internal cache readable via getSkinnedPosition*. Returns false if pose is null or there ...
Definition AnimSkin.cpp:255
static AnimSkin * fromModel(const model3d::ModelData *model, int meshIndex, const AnimSkeleton *skeleton)
Build skin binding for meshIndex on model, mapping bone names onto skeleton. Throws if the mesh has n...
Definition AnimSkin.cpp:58
float getVertexWeight(int vertexIndex, int influenceIndex) const
Definition AnimSkin.cpp:198
std::string getSkinBoneName(int skinBoneIndex) const
Definition AnimSkin.cpp:160
float getBindPositionZ(int vertexIndex) const
Definition AnimSkin.cpp:181
float getSkinnedPositionZ(int vertexIndex) const
Definition AnimSkin.cpp:276
float getSkinnedPositionY(int vertexIndex) const
Definition AnimSkin.cpp:271
float getBindPositionY(int vertexIndex) const
Definition AnimSkin.cpp:177
Clip-driven animation state machine with float/bool/trigger parameters and cross-fade transitions....
Definition AnimStateMachine.h:19
void setHasExitTime(int transitionId, bool enabled)
Definition AnimStateMachine.cpp:179
float getFloat(const std::string &name) const
Definition AnimStateMachine.cpp:185
int addTransition(const std::string &from, const std::string &to, float blendSeconds)
Add transition from → to with blend duration.
Definition AnimStateMachine.cpp:124
std::string getCurrentState() const
Definition AnimStateMachine.h:32
void addTriggerCondition(int transitionId, const std::string ¶m)
Definition AnimStateMachine.cpp:163
bool hasState(const std::string &name) const
Definition AnimStateMachine.cpp:120
void resetTrigger(const std::string &name)
Definition AnimStateMachine.cpp:199
void addBoolCondition(int transitionId, const std::string ¶m, bool value)
Definition AnimStateMachine.cpp:152
float getStateTime() const
Definition AnimStateMachine.h:63
void setTrigger(const std::string &name)
Definition AnimStateMachine.cpp:197
void addFloatCondition(int transitionId, const std::string ¶m, const std::string &op, float threshold)
Comparison op: ">", ">=", "<", "<=", "==", "!=".
Definition AnimStateMachine.cpp:139
void setBool(const std::string &name, bool value)
Definition AnimStateMachine.cpp:190
int getStateCount() const
Definition AnimStateMachine.h:33
void setFloat(const std::string &name, float value)
Definition AnimStateMachine.cpp:183
void addState(const std::string &name, AnimClip *clip)
Definition AnimStateMachine.cpp:101
bool getBool(const std::string &name) const
Definition AnimStateMachine.cpp:192
void setEntry(const std::string &name)
Definition AnimStateMachine.cpp:111
void setExitTime(int transitionId, float normalizedTime)
Optional: require normalized local time in [0,1] >= exitTime before transition.
Definition AnimStateMachine.cpp:173
Motion trail / afterimage recorder + 2D trajectory drawer.
Definition AnimTrail.h:31
void setDuration(float seconds)
How long each sample lives (seconds). <= 0 keeps until capacity eviction.
Definition AnimTrail.cpp:27
void setCapacity(int capacity)
Max retained samples (ring). Clamped to >= 2.
Definition AnimTrail.cpp:19
void update(float dt)
Age samples by dt; drop expired (when duration > 0).
Definition AnimTrail.cpp:141
void addPoint3(float x, float y, float z)
Append a 3D sample (draw uses set plane / first two mapped axes via sampleBone).
Definition AnimTrail.cpp:78
void setDrawOffset(float ox, float oy)
Definition AnimTrail.cpp:71
void setMinDistance(float distance)
Skip new samples closer than this distance to the newest point (0 = always add).
Definition AnimTrail.cpp:31
void draw(graphics::Graphics *gfx)
Draw trajectory in 2D pixel/world space via Graphics.
Definition AnimTrail.cpp:235
void setColor(float r, float g, float b, float a=1.f)
Head (newest) color; alpha fades toward 0 along the trail when fade is on.
Definition AnimTrail.cpp:41
void sampleBone(const AnimPose *pose, int boneIndex, const std::string &plane="xy")
Sample bone world position after pose->computeWorld. plane maps axes to draw (x,y): "xy" | "xz" | "yz...
Definition AnimTrail.cpp:101
void setStyle(const std::string &style)
"line" | "points". Invalid → exception.
Definition AnimTrail.cpp:50
float getPointAlpha(int index) const
Effective draw alpha in [0, colorA] after fade.
Definition AnimTrail.cpp:188
float getPointX(int index) const
Index 0 = oldest retained sample; count-1 = newest.
Definition AnimTrail.cpp:162
void setDrawScale(float sx, float sy)
Applied at draw time: screen = (x,y) * scale + offset. Useful when sampling bone world units into pix...
Definition AnimTrail.cpp:66
float getPointAge(int index) const
Definition AnimTrail.cpp:177
void sampleBoneOffset(const AnimPose *pose, int boneIndex, float ox, float oy, float oz, const std::string &plane="xy")
Definition AnimTrail.cpp:105
Animation module — tween factory + 2D sprite-sheet / Spine + 3D skeletal playback (player / state mac...
Definition Animation.h:53
Tween * newTween(float duration=1.f)
Create a tween (duration in seconds). Returned pointer is owned by script GC.
Definition Animation.cpp:82
AnimLattice * newLattice(int divX=2, int divY=2, int divZ=2)
3D lattice scale-deformer (晶格缩放变形). divX/divY/divZ are the control-point divisions (each >= 2)....
Definition Animation.cpp:209
AnimSkeleton * newSkeletonFromModel(eve::model3d::ModelData *model)
Import skeleton/clip from Assimp-backed ModelData, or from compact .eva fixtures (see AnimImporter).
Definition Animation.cpp:178
AnimClip * newClipFromModel(eve::model3d::ModelData *model, AnimSkeleton *skeleton, int animIndex=0)
Definition Animation.cpp:182
SpineAtlas * newSpineAtlasFromFile(const std::string &path)
Load helpers (allocate + parse; false → empty object still returned? prefer nullable).
Definition Animation.cpp:112
void update(float dt)
Advance all registered tweens, sprite anims, and spine anims.
Definition Animation.cpp:261
AnimTrail * newTrail(int capacity=64)
Motion trail / afterimage (script GC owns returned object). capacity: max retained samples (>= 2).
Definition Animation.cpp:218
SpineSkeleton * newSpineSkeleton(SpineSkeletonData *data)
Definition Animation.cpp:102
SpriteClip * newSpriteClip(const std::string &name="")
Definition Animation.cpp:90
int getSpriteAnimCount() const
Definition Animation.h:135
AnimSkeleton * newSkeleton()
3D skeletal animation factories (script GC owns returned objects).
Definition Animation.cpp:152
ControlAnim * newControlAnim(float frequencyHz=3.f, float dampingZeta=1.f, float response=1.f)
Control-theory procedural animation (second-order / spring / PD). frequencyHz: natural frequency f (H...
Definition Animation.cpp:172
void clearAll()
Detach all tweens from the registry (does not delete Tween objects).
Definition Animation.cpp:305
AnimSkin * newSkinFromModel(eve::model3d::ModelData *model, int meshIndex, AnimSkeleton *skeleton)
CPU linear-blend skin binding for a skinned mesh on ModelData. meshIndex selects the Assimp mesh; bon...
Definition Animation.cpp:204
AnimClip * newClip(const std::string &name="")
Definition Animation.cpp:154
MotionDatabase * newMotionDatabase(AnimSkeleton *skeleton)
Definition Animation.cpp:164
SpineSkeletonData * newSpineSkeletonDataFromJson(const std::string &json)
Definition Animation.cpp:142
AnimPlayer * newPlayer(AnimSkeleton *skeleton)
Definition Animation.cpp:158
AnimClip * newClipFromEvaFile(const std::string &path)
Definition Animation.cpp:195
AnimStateMachine * newStateMachine(AnimSkeleton *skeleton)
Definition Animation.cpp:160
SpriteSheet * newSpriteSheet()
2D sprite-sheet animation factories (script GC owns returned objects).
Definition Animation.cpp:88
AnimLattice * newLatticeFromModel(eve::model3d::ModelData *model, int meshIndex, int divX=2, int divY=2, int divZ=2)
newLattice bound to meshIndex of model (Assimp vertices).
Definition Animation.cpp:213
SpineSkeletonData * newSpineSkeletonData()
Definition Animation.cpp:100
MotionMatcher * newMotionMatcher(AnimSkeleton *skeleton, MotionDatabase *database)
Definition Animation.cpp:168
void clearFinished()
Drop finished/stopped entries from the registry (does not delete Tween objects).
Definition Animation.cpp:292
SpineAnim * newSpineAnim(SpineSkeleton *skeleton)
Definition Animation.cpp:106
AnimSkeleton * newSkeletonFromEvaFile(const std::string &path)
Definition Animation.cpp:187
ControlPose * newControlPose(AnimSkeleton *skeleton)
Definition Animation.cpp:176
SpineAtlas * newSpineAtlasFromText(const std::string &text)
Definition Animation.cpp:122
SpineSkeletonData * newSpineSkeletonDataFromFile(const std::string &path)
Definition Animation.cpp:132
Control-theory procedural animation for named scalar properties.
Definition ControlAnim.h:23
float getVelocity(const std::string &name) const
Definition ControlAnim.cpp:107
void remove(const std::string &name)
Definition ControlAnim.cpp:122
void set(const std::string &name, float value)
Create/update a channel: current value snaps to value, velocity cleared.
Definition ControlAnim.cpp:65
void setTarget(const std::string &name, float value)
Move the tracking target (does not snap state). Creates channel if missing.
Definition ControlAnim.cpp:76
float get(const std::string &name) const
Definition ControlAnim.cpp:102
void setDamping(float dampingZeta)
Definition ControlAnim.cpp:19
void setFrequency(float frequencyHz)
Definition ControlAnim.cpp:14
int getPropertyCount() const
Definition ControlAnim.h:58
bool has(const std::string &name) const
Definition ControlAnim.cpp:98
float getTarget(const std::string &name) const
Definition ControlAnim.cpp:112
void setResponse(float response)
Definition ControlAnim.cpp:24
std::string getIntegrator() const
Definition ControlAnim.cpp:42
std::string getPropertyName(int index) const
Definition ControlAnim.cpp:127
void setIntegrator(const std::string &kind)
Integrator: "secondOrder" | "spring" | "pd". Invalid → exception.
Definition ControlAnim.cpp:29
void setTargetVelocity(const std::string &name, float velocity)
Optional explicit target velocity (used by secondOrder / pd).
Definition ControlAnim.cpp:87
void impulse(const std::string &name, float deltaVelocity)
Inject an instantaneous velocity impulse (procedural “hit”).
Definition ControlAnim.cpp:93
Control-theory procedural pose driver: tracks a target AnimPose with per-channel second-order / sprin...
Definition ControlPose.h:21
void setBoneWeight(int boneIndex, float weight)
Per-bone blend weight in [0,1]; 1 = full dynamics, 0 = hard snap to target.
Definition ControlPose.cpp:76
void setDamping(float dampingZeta)
Definition ControlPose.cpp:29
float getBoneWeight(int boneIndex) const
Definition ControlPose.cpp:81
void setTargetPose(const AnimPose *target)
Copy target pose. Channels without prior state snap; existing state keeps momentum.
Definition ControlPose.cpp:130
void snapToTarget()
Snap current state to the last target without changing the target.
Definition ControlPose.cpp:140
std::string getIntegrator() const
Definition ControlPose.cpp:52
void setResponse(float response)
Definition ControlPose.cpp:34
void setFrequency(float frequencyHz)
Definition ControlPose.cpp:24
void setIntegrator(const std::string &kind)
Definition ControlPose.cpp:39
Baked motion-matching feature database from one or more AnimClips. Feature layout per frame: [0....
Definition MotionDatabase.h:22
void setRootBoneByName(const std::string &name)
Definition MotionDatabase.cpp:42
void addFeatureBone(int boneIndex)
Include bone world position in pose features (by index).
Definition MotionDatabase.cpp:17
float getFrameTime(int frameIndex) const
Definition MotionDatabase.cpp:199
int getFeatureBoneCount() const
Definition MotionDatabase.h:58
int getFeatureSize() const
Definition MotionDatabase.h:52
void addFeatureBoneByName(const std::string &name)
Definition MotionDatabase.cpp:28
void bake()
Bake all clips into searchable frames. Call after addClip / feature bones.
Definition MotionDatabase.cpp:153
int getFeatureBone(int index) const
Definition MotionDatabase.cpp:71
int getFrameCount() const
Definition MotionDatabase.h:51
void setRootBone(int boneIndex)
Bone used for trajectory / velocity features (default 0). Mixamo clips typically want hips (mixamorig...
Definition MotionDatabase.cpp:34
int getFrameClipIndex(int frameIndex) const
Definition MotionDatabase.cpp:201
Runtime motion matching player: builds a query feature from current pose + desired trajectory,...
Definition MotionMatcher.h:17
void search()
Force an immediate search (also called periodically from update).
Definition MotionMatcher.cpp:146
void setBlendTime(float seconds)
Definition MotionMatcher.cpp:38
float getMatchedTime() const
Definition MotionMatcher.h:54
int getMatchedFrame() const
Definition MotionMatcher.h:52
float getDesiredVelocityX() const
Definition MotionMatcher.h:30
void setDesiredVelocity(float x, float z)
Desired planar velocity in character/world XZ (units/sec).
Definition MotionMatcher.cpp:26
void setVelocityWeight(float w)
Definition MotionMatcher.cpp:53
void setPoseWeight(float w)
Definition MotionMatcher.cpp:48
void setTrajectoryWeight(float w)
Definition MotionMatcher.cpp:43
float getSearchInterval() const
Definition MotionMatcher.h:38
void setIgnoreRadius(int frames)
Skip rematching the same frame / nearby frames to reduce jitter.
Definition MotionMatcher.cpp:58
float getDesiredYaw() const
Definition MotionMatcher.h:35
float getVelocityWeight() const
Definition MotionMatcher.h:46
int getIgnoreRadius() const
Definition MotionMatcher.h:50
int getMatchedClipIndex() const
Definition MotionMatcher.cpp:63
float getLastSearchCost() const
Definition MotionMatcher.h:55
float getPoseWeight() const
Definition MotionMatcher.h:44
void setSearchInterval(float seconds)
Definition MotionMatcher.cpp:33
float getTrajectoryWeight() const
Definition MotionMatcher.h:42
float getDesiredVelocityZ() const
Definition MotionMatcher.h:31
Spine animation player + 2D draw collector (region attachments).
Definition SpineAnim.h:32
void apply()
Apply current animation time to skeleton and update world transforms.
Definition SpineAnim.cpp:213
void setPageTexture(int pageIndex, graphics::Texture *texture)
Bind a GPU texture to an atlas page (by index or page image name).
Definition SpineAnim.cpp:35
graphics::Texture * getPageTexture(int pageIndex) const
Definition SpineAnim.cpp:55
float getDrawSlotHeight(int index) const
Definition SpineAnim.cpp:453
void setPageTextureByName(const std::string &pageName, graphics::Texture *texture)
Definition SpineAnim.cpp:44
float getDrawSlotX(int index) const
Definition SpineAnim.cpp:441
int getDrawSlotCount() const
Query posed draw slots without textures (for unit tests). Returns number of visible region attachment...
Definition SpineAnim.cpp:439
float getAnimationDuration() const
Definition SpineAnim.cpp:102
float getDrawSlotRotation(int index) const
Definition SpineAnim.cpp:457
float getDrawSlotY(int index) const
Definition SpineAnim.cpp:445
void setPosition(float x, float y)
Definition SpineAnim.cpp:107
bool play(const std::string &animationName)
Definition SpineAnim.cpp:60
float getDrawSlotWidth(int index) const
Definition SpineAnim.cpp:449
std::string getDrawSlotRegion(int index) const
Definition SpineAnim.cpp:465
void setColor(float r, float g, float b, float a=1.f)
Definition SpineAnim.cpp:117
void setFlipY(bool flip)
When true (default), Spine Y-up is flipped for screen Y-down draw items.
Definition SpineAnim.h:63
void draw(graphics::Graphics *gfx)
Draw the current pose into an existing frame without clearing or presenting it.
Definition SpineAnim.cpp:293
Esoteric Spine .atlas text parser (region rectangles + page metadata). Does not load image pixels — b...
Definition SpineAtlas.h:14
int getPageHeight(int pageIndex) const
Definition SpineAtlas.cpp:209
std::string getPageName(int pageIndex) const
Definition SpineAtlas.cpp:199
std::string getRegionName(int index) const
Definition SpineAtlas.cpp:219
int getPageWidth(int pageIndex) const
Definition SpineAtlas.cpp:204
bool getRegionRotate(int index) const
Definition SpineAtlas.cpp:269
int getRegionPage(int index) const
Definition SpineAtlas.cpp:224
int getRegionWidth(int index) const
Definition SpineAtlas.cpp:239
int getRegionHeight(int index) const
Definition SpineAtlas.cpp:244
int findRegion(const std::string &name) const
Definition SpineAtlas.cpp:214
Spine skeleton JSON data (bones / slots / skins / animations).
Definition SpineSkeletonData.h:21
float getAnimationDuration(int index) const
Definition SpineSkeletonData.cpp:148
int getSlotBone(int index) const
Definition SpineSkeletonData.cpp:131
std::string getSpineVersion() const
Definition SpineSkeletonData.h:33
int getSkinCount() const
Definition SpineSkeletonData.h:51
int findSkin(const std::string &name) const
Definition SpineSkeletonData.cpp:89
std::string getSkinName(int index) const
Definition SpineSkeletonData.cpp:140
int getBoneParent(int index) const
Definition SpineSkeletonData.cpp:102
int findAnimation(const std::string &name) const
Definition SpineSkeletonData.cpp:93
int getBoneCount() const
Definition SpineSkeletonData.h:35
std::string getSlotName(int index) const
Definition SpineSkeletonData.cpp:127
int findSlot(const std::string &name) const
Definition SpineSkeletonData.cpp:85
std::string getBoneName(int index) const
Definition SpineSkeletonData.cpp:98
std::string getAnimationName(int index) const
Definition SpineSkeletonData.cpp:144
int getAnimationCount() const
Definition SpineSkeletonData.h:56
int getSlotCount() const
Definition SpineSkeletonData.h:45
int findBone(const std::string &name) const
Definition SpineSkeletonData.cpp:81
Runtime Spine skeleton pose (local + world bone transforms, slot attachments). Script type: SpineSkel...
Definition SpineSkeleton.h:14
float getBoneWorldRotation(int index) const
Definition SpineSkeleton.cpp:147
bool setSkin(const std::string &name)
Definition SpineSkeleton.cpp:39
std::string getSlotAttachmentName(int slotIndex) const
Definition SpineSkeleton.cpp:169
float getBoneWorldY(int index) const
Definition SpineSkeleton.cpp:143
void updateWorldTransform()
Definition SpineSkeleton.cpp:60
SpineSkeletonData * getData() const
Definition SpineSkeleton.h:22
void setSlotAttachmentName(int slotIndex, const std::string &name)
Definition SpineSkeleton.cpp:174
float getBoneWorldX(int index) const
Definition SpineSkeleton.cpp:139
void bindQuad(graphics::Quad *quad)
Keep this Quad's viewport updated each update/play.
Definition SpriteAnim.cpp:74
bool update(float dt)
Advance playback. Returns true while still active (playing or paused). Auto-applies to boundQuad when...
Definition SpriteAnim.cpp:131
void setSheet(SpriteSheet *sheet)
Optional sheet used by applyToQuad / bindQuad.
Definition SpriteAnim.cpp:19
int getClipFrame() const
Index inside the current clip (0..clipFrameCount-1), or -1.
Definition SpriteAnim.h:53
graphics::Quad * getBoundQuad() const
Definition SpriteAnim.h:60
void applyToQuad(graphics::Quad *quad) const
Write current sheet frame into quad (requires sheet).
Definition SpriteAnim.cpp:81
Named 2D frame sequence referencing SpriteSheet frame indices. Script type: SpriteClip.
Definition SpriteClip.h:14
int getSheetFrame(int index) const
Definition SpriteClip.cpp:38
float wrapTime(float timeSeconds) const
Local time wrapped or clamped according to loop flag.
Definition SpriteClip.cpp:54
void addFrame(int sheetFrameIndex, float duration=0.1f)
Append one cell: sheetFrameIndex + display duration (seconds).
Definition SpriteClip.cpp:20
void setName(const std::string &name)
Definition SpriteClip.cpp:12
void addFrameByName(SpriteSheet *sheet, const std::string &frameName, float duration=0.1f)
Resolve name via sheet and append.
Definition SpriteClip.cpp:27
int frameAtTime(float timeSeconds) const
Map absolute time (seconds) into a clip frame index. When loop is false and t >= duration,...
Definition SpriteClip.cpp:66
float getFrameDuration(int index) const
Definition SpriteClip.cpp:43
Sprite-sheet / texture-atlas frame table (pixel rects).
Definition SpriteSheet.h:20
int addFrame(const std::string &name, int x, int y, int w, int h)
Append a named frame. Returns frame index. Empty name → "frameN".
Definition SpriteSheet.cpp:14
int setGrid(int columns, int rows, int frameW, int frameH, int margin=0, int spacing=0, int originX=0, int originY=0)
Generate frames in row-major order from a grid. frameW/frameH are cell sizes; margin is outer padding...
Definition SpriteSheet.cpp:30
std::string getFrameName(int index) const
Definition SpriteSheet.cpp:62
int getFrameWidth(int index) const
Definition SpriteSheet.cpp:77
int getFrameHeight(int index) const
Definition SpriteSheet.cpp:82
int findFrame(const std::string &name) const
Definition SpriteSheet.cpp:57
void applyToQuad(graphics::Quad *quad, int frameIndex) const
Write pixel viewport into an existing Quad (does not allocate).
Definition SpriteSheet.cpp:87
Property tween — interpolates named float properties from → to over time.
Definition Tween.h:21
void setFrom(const std::string &name, float value)
Definition Tween.cpp:34
void setDeltaAngle(const std::string &name, float deltaRadians)
Definition Tween.cpp:74
void setToAngle(const std::string &name, float radians)
Definition Tween.cpp:66
int getPropertyCount() const
Names of all property tracks (stable order = insertion order).
Definition Tween.h:92
bool update(float dt)
Advance by dt seconds. Returns true while the tween is still active (delayed / running / paused).
Definition Tween.cpp:259
void setFromAngle(const std::string &name, float radians)
Definition Tween.cpp:58
std::string getPropertyName(int index) const
Definition Tween.cpp:306
float evaluate(const std::string &name, float t) const
Sample property at linear t in [0,1] using current from/to (no state change).
Definition Tween.cpp:293
void setRepeat(int count)
Play count: 1 = once (default), N = N cycles, -1 = infinite. Values < -1 are clamped to -1.
Definition Tween.cpp:126
void setDelta(const std::string &name, float delta)
Relative change: end = start + delta (resolved when start() runs).
Definition Tween.cpp:50
float getDelta(const std::string &name) const
Definition Tween.cpp:103
CPU-side decoded 3D model (Assimp scene owned via medialoader::ModelScene). Does not upload to GPU — ...
Definition ModelData.h:23
Definition Animation.cpp:29