Resumes animation playback (continues from current frame, opposite of b3dPauseAnimSeq).
Takes entity (animated mesh entity handle).
Returns nothing.
3D Graphics
Parameters & Returns
Parameters
entityInt
Returns
Void
Quick Summary
Resumes animation playback (continues from current frame, opposite of b3dPauseAnimSeq).
Takes entity (animated mesh entity handle).
Returns nothing.
Technical Exegesis...
Resumes animation playback (continues from current frame, opposite of b3dPauseAnimSeq). Takes entity (animated mesh entity handle). Returns nothing. Sets entity.animatedMesh.playing = true (enables time advancement, currentTime continues from pause point). Use to unpause character animation (resume after game pause, continue after cutscene freeze), implement conditional animation (resume walk when character moves), or control animation timing (pause/resume for manual control).
Resumes animation playback (continues from current frame, opposite of b3dPauseAnimSeq). Takes entity (animated mesh entity handle). Returns nothing. Sets entity.animatedMesh.playing = true (enables time advancement, currentTime continues from pause point). Use to unpause character animation (resume after game pause, continue after cutscene freeze), implement conditional animation (resume walk when character moves), or control animation timing (pause/resume for manual control). Resume behavior: sets playing = true (animation resumes advancing, UpdateAnimations processes this entity), continues from currentTime (playback position preserved from pause, no reset), all playback state restored (looping/pingPong/speed/sequenceIndex unchanged from pause, animation continues as before pause), skeleton pose updates (joints interpolate from current frame, smooth continuation). Use cases: (1) Game unpause (For Each entity: b3dResumeAnimSeq(entity) resume all when game unpaused), (2) Conditional animation (If moving Then b3dResumeAnimSeq(player) resume walk when player moves), (3) Cutscene end (b3dResumeAnimSeq(npc) resume animation after camera returns), (4) Frame-by-frame control (resume after manual time adjustment via b3dSetAnimTime). Common patterns: unpause game = For i = 1 To entityCount: b3dResumeAnimSeq(entities[i]) resume all; conditional = If playerSpeed > 0 Then b3dResumeAnimSeq(player) resume if moving. Pause/resume workflow: play animation (b3dAnimateSeq starts playback), pause (b3dPauseAnimSeq freezes at current frame), resume (this function, continues from paused position), pause/resume cycle (can repeat multiple times, each resume continues from last pause). Difference from replay: resume continues from pause point (currentTime unchanged, seamless continuation), replay would require b3dAnimateSeq (resets to start, begins animation again), resume for temporary pause (game pause, conditional control), replay for switching animations. Validation: only affects ENTITY_ANIMATED_MESH (non-animated entities ignored), silent if entity not found (invalid handle or wrong type, no error), safe to call multiple times (calling resume on already-playing animation no-op, harmless). Safe to resume non-paused: calling resume on playing animation (no effect, playing already true, harmless redundancy), useful for state management (always call resume when condition met, don't need to check if already playing). Performance: resumed animations processed in UpdateAnimations (normal CPU cost, advances time and interpolates keyframes), no overhead for resume call itself (just flag set, instant operation). Related: b3dPauseAnimSeq pauses playback (freezes at current frame, opposite of this function), b3dAnimateSeq starts playback (initial playback start, can pause/resume after), b3dAnimate alternative playback (can also be paused/resumed with these functions), b3dAnimating queries playback state (returns 1 if playing after resume, 0 if paused).