Multi-track controllable animation control system and method independent of three-dimensional engine

Through a multi-track controllable animation control system that does not rely on a three-dimensional engine, the problems of high system coupling and low control accuracy in existing technologies are solved, a high degree of decoupling and portability is achieved, multiple animation behaviors and event-driven support are supported, and the accuracy and scalability of animation control are improved.

CN120612408AActive Publication Date: 2025-09-09山东捷瑞信息技术产业研究院有限公司
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202511120415.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-12
Publication Date
2025-09-09
Estimated Expiration
2045-08-12

AI Technical Summary

Technical Problem

The existing animation control system relies on a 3D engine, resulting in a high degree of system coupling, difficulty in cross-platform deployment, the inability to customize and expand animation tracks, limited control accuracy, inability to achieve precise rewinding, skipping, and multi-event synchronization, and the inability to save and configure data outside the 3D engine.

Method used

A multi-track controllable animation control system that does not rely on a 3D engine is provided, which includes an animation control module, an animation track module, a keyframe data module, an interpolation processing module, and a module for adding animation track events. Animation time management, event triggering, and track control are achieved through the animation control class, animation track class, interpolation processing class, and event callback mechanism.

Benefits of technology

It achieves a high degree of decoupling and portability, supports animation forward playback, reverse playback, time jump, pause and other behaviors, improves the accuracy and controllability of animation control, supports arbitrary types of attribute control and interpolation methods, has strong scalability, supports event-driven animation logic embedding, and is suitable for complex performances and dynamic feedback scenarios.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The invention relates to the technical field of animation control, in particular to a multi-track controllable animation control system and method independent of a three-dimensional engine, and the system comprises an animation control module, an animation track module, a key frame data module, an interpolation processing module, and an animation track event adding module. The animation control module is used for controlling time advancing, time jump setting and animation playing pause of an animation track; the animation track module is used for packaging to-be-executed track attributes into animation tracks and calling corresponding modules to execute the animation tracks according to the time parameters and the to-be-executed track attributes; the key frame data module is used for storing the value of the attribute at any time point and the interpolation type adopted by the current key frame segment. The multi-track controllable animation control system is completely independent of a graphic engine, realizes pure logic, is suitable for any system with a code execution environment, and has high decoupling and transportability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of animation control technology, and in particular to a multi-track controllable animation control system and method that does not rely on a three-dimensional engine. Background Art

[0002] Most existing animation control systems rely on 3D engines. The time drive, track management, and event control of such systems are deeply coupled to the internal structure of the engine, resulting in the following problems: the system is highly coupled, making cross-platform deployment difficult; animation tracks cannot be customized and extended, resulting in high modification costs; control accuracy is limited, making it impossible to achieve precise rewinding, skipping, and multi-event synchronization; and data cannot be saved and configured outside the 3D engine. Summary of the Invention

[0003] In response to the shortcomings of the existing technology, the present invention provides a multi-track controllable animation control system and method that does not rely on a three-dimensional engine to solve the problem that the existing animation control system relies on a three-dimensional engine and cannot achieve precise animation management and customizable execution in a pure code environment.

[0004] The technical solution of the present invention to solve the above technical problems is as follows: On the one hand, it provides a multi-track controllable animation control system that does not rely on a 3D engine, including an animation control module, an animation track module, a key frame data module, an interpolation processing module, and an animation track event adding module; The animation control module is used to maintain the current animation time, total animation duration, and playback speed, and to control the time advancement, time jump setting, and animation playback pause of the animation track; The animation track module is used to encapsulate the track properties to be executed into animation tracks, and call the corresponding module to execute the animation track according to the time parameters and the track properties to be executed; The keyframe data module is used to store the value of the attribute at any point in time and the interpolation type used in the current keyframe segment; The interpolation processing module is used to provide a time-value mapping function. According to the key frame interval to which the current time belongs, the interpolation between two key frames is calculated based on the mapping function. Through interpolation, the animation transition between frames is smoothed to generate a continuous animation effect. Added animation track event module to control animation event triggering through event callback.

[0005] The animation control module is constructed based on the core components that create the animation control class.

[0006] The core components of the animation control class include animation control properties and animation control methods; Animation control properties include current animation playback time, total animation duration, playback speed, playback status flag, and stored animation track collection; Animation control methods include adding animation tracks, starting or pausing playback, jumping to a specified time point and updating all track states, time advancement, and multi-track registration and calling.

[0007] The animation control module controls the time advancement of the animation track in the following ways: Check whether the animation is in the playing state; if it is playing, calculate the time increment of the current animation playing time based on the playing speed and the frame time difference. Time increment = Speed ​​× frame time difference. When Speed ​​is positive, play forward; when Speed ​​is negative, play backward. Determine whether the current time is limited to the range of 0 to the total animation duration; if so, traverse all animation tracks and call the current animation playback time of each animation track.

[0008] The animation control module controls the time jump setting of the animation track, and its specific method is as follows: Receive the target time parameter of the time jump, determine whether the target time parameter is limited to the range of 0 to the total duration of the animation, if so, set the current time as the target time parameter, traverse all animation tracks, and pass the call status of each animation track to the current animation playback time.

[0009] The animation track module is built based on the animation track class properties, which include interpolation processing method, callback events, and animation track execution.

[0010] The interpolation processing module is constructed by defining interpolation processing attributes and methods, and the interpolation processing attributes include a key frame set and an interpolation processing algorithm.

[0011] The interpolation processing module calculates the interpolation between two key frames based on the mapping function according to the key frame interval to which the current time belongs, specifically in the following manner: Receive the current time parameter, locate the current time parameter in the key frame set, and find the previous key frame that is less than or equal to the current time parameter and the next key frame that is greater than the current time parameter; Calculate the time ratio based on the key frame interval obtained by positioning, where the time ratio is the difference between the current time and the previous key frame time divided by the difference between the next key frame time and the previous key frame time; The previous key frame value, the next key frame value, the time ratio, and the interpolation type of the current frame segment of the key frame interval are substituted into the interpolation processing algorithm to calculate the interpolation value.

[0012] The adding animation track event module controls the triggering of animation events, and its specific method is as follows: Add event triggering time points based on the total duration of the animation; Receive the current time parameter and traverse all event triggering time points. If the current time is greater than or equal to the event triggering time and there is an untriggered event, call the event immediately and mark the event as triggered.

[0013] On the other hand, a multi-track controllable animation control method that does not rely on a 3D engine is provided, which is applied to the above-mentioned multi-track controllable animation control system that does not rely on a 3D engine, including: Step 1. Initialize the properties of the animation control class and set the total duration of the animation; Step 2: Create animation tracks for interpolation processing and event triggering classes; Step 3: Add keyframe data and event callback properties to the animation track and store them in the animation control class; Step 4: Set the animation control class to running state and start animation playback; Step 5: The animation control module controls the event advancement of the animation track and updates the current time; the interpolation processing module performs interpolation calculations based on the current time to control the frame transition of the animation track; the animation track time module performs event callbacks based on the current time to control the event triggering callbacks of the animation track; Step 6: The animation control module controls the animation play / pause according to the play status identifier and the play speed; Step 7. End playback.

[0014] Beneficial effects: The present invention provides a multi-track controllable animation control system and method that does not rely on a three-dimensional engine. The multi-track controllable animation control system is completely independent of a graphics engine, implements pure logic, is applicable to any system with a code execution environment, and has a high degree of decoupling and portability.

[0015] It supports animation behaviors such as forward playback, reverse playback, time jump, and pause, significantly improving the accuracy and controllability of animation control, adapting to complex performances and dynamic feedback scenarios, and has a flexible animation control mechanism.

[0016] The track structure supports arbitrary types of property control and interpolation methods, and can be extended as needed to achieve highly configurable multi-dimensional animation behaviors.

[0017] It supports event-driven animation logic embedding. Through the event track mechanism, the system can realize function triggering, process control, state change, etc. at any time point, and supports complete decoupling of presentation and logic. DETAILED DESCRIPTION

[0018] Exemplary embodiments of the present disclosure will be described in more detail below. The examples given are only used to illustrate the present invention and are not used to limit the scope of the present invention.

[0019] This embodiment provides a multi-track controllable animation control system that does not rely on a three-dimensional engine, including an animation control module, an animation track module, a key frame data module, an interpolation processing module, and an animation track event adding module.

[0020] Among them, the animation control module serves as the global scheduling core of the animation, which is used to maintain the current animation time, total animation duration, and playback speed, and control the time advancement, time jump setting, and animation playback pause of the animation track.

[0021] The animation control module is constructed based on the core components of the animation control class, which includes animation control properties and animation control methods.

[0022] The animation control properties include the current animation play time, the total animation duration, the play speed, the play status flag, and the stored animation track set, which are respectively represented as: float CurrentTime; / / Current animation playback time, float Duration; / / Total duration of animation, float Speed; / / playback speed, bool IsPlaying; / / Play status flag, List <itrack>tracks = new List <itrack>(); / / Store animation track collection.

[0023] The animation control method includes adding animation tracks, starting or pausing playback, jumping to a specified time point and updating all track states, time advancement, and multi-track registration and calling, which are respectively expressed as: AddTrack(ITrack track); / / Add animation track, void Play(); / / Start playing, void Pause(); / / Pause playback, void Seek(float time); / / Jump to the specified time point and update all track states, void Tick(float deltaTime); / / Time advances, Evaluate(time); / / Multi-track call.

[0024] The animation control module controls the time advancement of all animation tracks through Tick (float deltaTime), the specific method is as follows: Check whether the animation is in the playing state; if it is playing, calculate the time increment of the current animation playing time based on the playing speed and the frame time difference. Time increment = Speed ​​× frame time difference. When Speed ​​is positive, play forward; when Speed ​​is negative, play backward; determine whether the current time is limited to the range of 0 to the total animation duration; if so, traverse all animation tracks and call the current animation playing time of each animation track.

[0025] The animation control module controls the time jump setting of the animation track through Seek (float time), and the specific method is as follows: Receive the target time parameter of the time jump, determine whether the target time parameter is limited to the range of 0 to the total animation duration, if so, set the current time as the target time parameter, traverse all animation tracks, and pass the call status of each animation track to the current animation playback time.

[0026] The animation control module controls the playback and pause of the animation through Play() and Pause(). Specifically, to start playback, the playback status flag is set to true, and the playback mode is determined according to the positive and negative values ​​of the playback speed; to transient playback, the playback status flag is set to false.

[0027] The animation track module is used to encapsulate the track properties to be executed as an animation track, and call the corresponding module to execute the animation track according to the time parameters and the track properties to be executed.

[0028] The animation track module is built based on the animation track class properties. The animation track class properties include interpolation processing mode, callback events and animation track execution, which are respectively represented as: CustomCurve <float>curve; / / Current animation track interpolation processing method Action <float>onUpdate; / / callback event when each frame of animation is played void Evaluate(float time); / / animation track execution Create animation tracks based on your needs and set the interpolation method when creating them. Try to keep the same animation track responsible for only one type of animation for easier overall management. Callback events can be omitted if not needed. The system will check whether the event status is empty and only execute the callback event if it is.

[0029] Furthermore, optimize the number of animation tracks created by doing the following: First, track attributes are classified according to animation behaviors, and track attributes belonging to the same animation behavior are divided into the same group.

[0030] Then, the time parameters of the track attributes in the same group are obtained and arranged in order of the start time from earliest to latest.

[0031] Compare the start time of the latter track property with the end time of the previous track property. If the start time is after the end time, all track properties that meet this condition are encapsulated into the same animation track and arranged in the order of start time.

[0032] Based on the above operations, you can also optimize the number of animation tracks created by the following operations: For track attributes that don't belong to the same animation behavior, we obtain the similarity of all animation behaviors. We can then encapsulate the track attributes corresponding to animation behaviors with similarity below a threshold into the same animation track and arrange them in order of start time. The similarity of animation behaviors can be characterized using the DTW (Dynamic Time Warping) distance; smaller distances indicate greater similarity.

[0033] The keyframe data module is used to store the value of the attribute at any point in time and the interpolation type used in the current keyframe segment (that is, from this keyframe to the next keyframe).

[0034] The key frame data module is constructed based on key frame data class attributes, which include key frame timestamp, key frame value and key frame interpolation type, which are respectively expressed as: float Time; / / Key frame timestamp, T Value; / / Key frame value, InterpolationType Interpolation; / / Interpolation type of the current frame segment.

[0035] Keyframe data is the fundamental data unit in animation systems, used to record the state and interpolation type of a property at a specific point in time. Each animation track consists of multiple keyframes, forming a discrete sequence of time-value mappings. The interpolation processing module automatically selects the corresponding algorithm based on the keyframe interpolation type, allowing animation tracks to produce different animation effects. This avoids explicitly defining property values ​​for each frame, conserving data storage and improving animation generation efficiency.

[0036] The key frame interpolation types include linear interpolation, constant interpolation, eased interpolation, and custom interpolation.

[0037] Specifically, linear interpolation (Linear): linear transition of values; constant interpolation (Step): no change, maintain the current value; easing interpolation (EaseInOut): non-linear interpolation; custom interpolation (Custom): can be passed in to external functions for custom interpolation.

[0038] The interpolation processing module is used to provide a time-value mapping function. According to the key frame interval to which the current time belongs, the interpolation between two key frames is calculated based on the mapping function. Through interpolation, the animation transition between frames is smoothed to generate a continuous animation effect. The interpolation processing module is constructed by defining interpolation processing attributes and methods. The interpolation processing attributes include a key frame set and an interpolation processing algorithm, which is expressed as: List <Keyframe <t>>keyframes; / / key frame collection, Func<T, T, float, T> lerpFunc; / / Interpolation processing algorithm.

[0039] The interpolation processing module calculates the interpolation between two key frames based on the mapping function according to the key frame interval to which the current time belongs. The specific method is as follows: Receive the current time parameter, locate the current time parameter in the key frame set, and find the previous key frame that is less than or equal to the current time parameter and the next key frame that is greater than the current time parameter; Calculate the time ratio based on the key frame interval obtained by positioning. The time ratio is the difference between the current time and the previous key frame time divided by the difference between the next key frame time and the previous key frame time, that is, time ratio = (current time - previous key frame time) ÷ (next key frame time - previous key frame time); The previous key frame value, the next key frame value, the time ratio, and the interpolation type of the current frame segment of the key frame interval are substituted into the interpolation processing algorithm to calculate the interpolation value.

[0040] The interpolation processing module records the different keyframe segments within a single track. Each keyframe structure contains the keyframe time, keyframe value, and interpolation type. During the Evaluate operation, the system automatically selects the corresponding algorithm based on the interpolation type of the current time segment, such as linear interpolation, constant interpolation, and ease interpolation, thereby achieving richer and more expressive animation transition effects.

[0041] Added animation track event module to control animation event triggering through event callback.

[0042] The module for adding animation track events is constructed based on event callback properties and methods. The event callback properties include storing event time points and callback functions, and triggered event sets, which are represented as follows: Dictionary<float, Action> events; / / Store event time points and callback functions, HashSet <float>triggered; / / Triggered event collection.

[0043] The module for adding animation track events controls the triggering of animation events through the event callback method, and the specific method is as follows: Add event triggering time points based on the total duration of the animation; Receive the current time parameter and traverse all event triggering time points. If the current time is greater than or equal to the event triggering time and there is an untriggered event, call the event immediately and mark the event as triggered.

[0044] The Add Animation Track Event module allows users to define a set of event nodes (time point → callback function) on the animation timeline. When the animation reaches this time point, the system automatically triggers the corresponding logical event, synchronizing animation playback control with functional logic. This module is primarily used to improve the scalability of the animation system, reduce the coupling between the animation presentation layer and other logic control layers, and enhance the system's modular structure. It can be used in scenarios such as complex dynamic content display, interactive feedback, and process control. If other modules do not interact with the animation control system, this module can be set to be unused without affecting the overall operation of the animation system.

[0045] In addition, this embodiment is based on the above-mentioned multi-track controllable animation control system to implement a multi-track controllable animation control method that does not rely on a 3D engine. The specific implementation steps are as follows: Step 1. Initialize the properties of the animation control class and set the total duration of the animation; Step 2: Create animation tracks for interpolation processing and event triggering classes; Step 3: Add keyframe data and event callback properties to the animation track and store them in the animation control class; Step 4: Set the animation control class to running state and start animation playback; Step 5: The animation control module controls the event advancement of the animation track and updates the current time; the interpolation processing module performs interpolation calculations based on the current time to control the frame transition of the animation track; the animation track time module performs event callbacks based on the current time to control the event triggering callbacks of the animation track; Step 6: The animation control module controls the animation play / pause according to the play status identifier and the play speed; Step 7. End playback.< / float> < / t> < / float> < / float> < / itrack> < / itrack>

Claims

1. A multi-track controllable animation control system that does not rely on a 3D engine, characterized in that: Including animation control module, animation track module, key frame data module, interpolation processing module, and animation track event adding module; The animation control module is used to maintain the current animation time, total animation duration, and playback speed, and to control the time advancement, time jump setting, and animation playback pause of the animation track; The animation track module is used to encapsulate the track properties to be executed into animation tracks, and call the corresponding module to execute the animation track according to the time parameters and the track properties to be executed; The keyframe data module is used to store the value of the attribute at any point in time and the interpolation type used in the current keyframe segment; The interpolation processing module is used to provide a time-value mapping function. According to the key frame interval to which the current time belongs, the interpolation between two key frames is calculated based on the mapping function. Through interpolation, the animation transition between frames is smoothed to generate a continuous animation effect. Added animation track event module to control animation event triggering through event callback.

2. The multi-track controllable animation control system according to claim 1, characterized in that: The animation control module is constructed based on the core components that create the animation control class.

3. The multi-track controllable animation control system according to claim 2, characterized in that: The core components of the animation control class include animation control properties and animation control methods; Animation control properties include current animation playback time, total animation duration, playback speed, playback status flag, and stored animation track collection; Animation control methods include adding animation tracks, starting or pausing playback, jumping to a specified time point and updating all track states, time advancement, and multi-track registration and calling.

4. The multi-track controllable animation control system according to claim 1, characterized in that: The animation control module controls the time advancement of the animation track in the following ways: Check whether the animation is in the playing state; if it is playing, calculate the time increment of the current animation playing time based on the playing speed and the frame time difference. Time increment = Speed ​​× frame time difference. When Speed ​​is positive, play forward; when Speed ​​is negative, play backward. Determine whether the current time is limited to the range of 0 to the total animation duration; if so, traverse all animation tracks and call the current animation playback time of each animation track.

5. The multi-track controllable animation control system according to claim 1, characterized in that: The animation control module controls the time jump setting of the animation track, and its specific method is as follows: Receive the target time parameter of the time jump, determine whether the target time parameter is limited to the range of 0 to the total animation duration, if so, set the current time as the target time parameter, traverse all animation tracks, and pass the call status of each animation track to the current animation playback time.

6. The multi-track controllable animation control system according to claim 1, characterized in that: The animation track module is constructed based on animation track class properties, which include interpolation processing mode, callback events and animation track execution.

7. The multi-track controllable animation control system according to claim 1, characterized in that: The interpolation processing module is constructed by defining interpolation processing attributes and methods, and the interpolation processing attributes include a key frame set and an interpolation processing algorithm.

8. The multi-track controllable animation control system according to claim 7, characterized in that: The interpolation processing module calculates the interpolation between two key frames based on the mapping function according to the key frame interval to which the current time belongs, specifically in the following manner: Receive the current time parameter, locate the current time parameter in the key frame set, and find the previous key frame that is less than or equal to the current time parameter and the next key frame that is greater than the current time parameter; Calculate the time ratio based on the key frame interval obtained by positioning, where the time ratio is the difference between the current time and the previous key frame time divided by the difference between the next key frame time and the previous key frame time; The previous key frame value, the next key frame value, the time ratio, and the interpolation type of the current frame segment of the key frame interval are substituted into the interpolation processing algorithm to calculate the interpolation value.

9. The multi-track controllable animation control system according to claim 1, characterized in that: The adding animation track event module controls the triggering of animation events, and its specific method is as follows: Add event triggering time points based on the total duration of the animation; Receive the current time parameter and traverse all event triggering time points. If the current time is greater than or equal to the event triggering time and there is an untriggered event, call the event immediately and mark the event as triggered.

10. A multi-track controllable animation control method that does not rely on a 3D engine, applied to the multi-track controllable animation control system that does not rely on a 3D engine as claimed in claim 1, characterized in that: include: Step 1. Initialize the properties of the animation control class and set the total duration of the animation; Step 2: Create animation tracks for interpolation processing and event triggering classes; Step 3: Add keyframe data and event callback properties to the animation track and store them in the animation control class; Step 4: Set the animation control class to running state and start animation playback; Step 5: The animation control module controls the event advancement of the animation track and updates the current time; the interpolation processing module performs interpolation calculations based on the current time to control the frame transition of the animation track; the animation track time module performs event callbacks based on the current time to control the event triggering callbacks of the animation track; Step 6: The animation control module controls the animation play / pause according to the play status identifier and the play speed; Step 7. End playback.

Citation Information

Patent Citations

  • Animation managing system and method based on template

    CN103617041A

  • Method and device for controlling animated cartoon playing speed

    CN107562417A

  • Monocular vision SLAM (Simultaneous Localization and Mapping) method for dynamic environment

    CN115471748A

  • File import method and device, electronic equipment and computer readable medium

    CN117873972A

  • Visualization method for realizing 3D (three-dimensional) object and UI (user interface) animation event

    CN119027555A