Animation generation method and device driven by simulation engine, equipment and storage medium
Patent Information
- Application Number
- CN202611014886.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-08
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2046-07-08
AI Technical Summary
[0004]本公开提供了一种仿真引擎驱动的动画生成方法、装置、设备以及存储介质,以解决或缓解现有技术中的一项或更多项技术问题
[0004] This disclosure provides a simulation engine-driven animation generation method, apparatus, device, and storage medium to solve or alleviate one or more technical problems in the prior art.
Smart Images

Figure CN122530389B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to the fields of animation generation and event simulation. Background Technology
[0002] With the continuous iteration and development of simulation technology, event simulation technology has been widely applied in many fields such as industrial manufacturing, intelligent transportation, logistics scheduling, and system operation and maintenance.
[0003] Compared to traditional physical experiments and field tests, this technology offers advantages such as low cost, short cycle time, high repeatability, and no risk of interference. Especially when dealing with complex application scenarios, this technology can support parallel verification across multiple scenarios, providing core support for subsequent planning. Summary of the Invention
[0004] This disclosure provides a simulation engine-driven animation generation method, apparatus, device, and storage medium to solve or alleviate one or more technical problems in the prior art.
[0005] According to one aspect of this disclosure, a simulation engine-driven animation generation method is provided, comprising: During the execution of multiple simulation events by the simulation engine, multiple logical state frames for each simulation event are obtained based on the state data of each simulation event. These multiple logical state frames include the start frame when the simulation event begins execution, the end frame when the simulation event ends execution, and the intermediate frame from the start of the simulation event to the end of execution. Each logical state frame is used to describe the logical state data of at least one simulation object involved in the simulation event. Based on the simulation time corresponding to each logic state frame, all logic state frames of multiple simulation events are arranged to obtain a sequence of state frames arranged in time order. Based on the state frame sequence, an animation is generated that is temporally consistent with the logical state data of at least one simulation object expressed by each logical state frame.
[0006] According to another aspect of this disclosure, a simulation engine-driven animation generation apparatus is provided, comprising: The acquisition module is used to acquire multiple logical state frames for each simulation event based on the state data of each simulation event during the execution of multiple simulation events by the simulation engine. The multiple logical state frames include the start frame when the simulation event starts to execute, the end frame when the simulation event ends to execute, and the intermediate frame from the start of the simulation event to the end of the execution. Each logical state frame is used to describe the logical state data of at least one simulation object involved in the simulation event. The orchestration module is used to orchestrate all logical state frames of multiple simulation events based on the simulation time corresponding to each logical state frame, so as to obtain a sequence of state frames arranged in time order. The generation module is used to generate an animation based on a sequence of state frames that is time-sequentially consistent with the logical state data of at least one simulation object expressed by each logical state frame.
[0007] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0008] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments provided according to this disclosure and should not be construed as limiting the scope of this disclosure.
[0009] Figure 1 This is a flowchart illustrating the animation generation method driven by a simulation engine according to the first embodiment of this disclosure; Figure 2 This is a flowchart illustrating the process of obtaining multiple logic state frames for each simulation event according to the second embodiment of this disclosure; Figure 3 This is a flowchart illustrating the process of obtaining a state frame sequence according to a third embodiment of the present disclosure; Figure 4 This is a schematic diagram of the process for generating animation based on state frames according to the fourth embodiment of this disclosure; Figure 5 This is a flowchart illustrating the process of generating an animation clip with logical state data of multiple logical state frames as keyframes, according to the fifth embodiment of this disclosure. Figure 6 This is a schematic diagram of the overall process of the simulation engine-driven animation generation method according to the seventh embodiment of this disclosure; Figure 7 This is a schematic diagram of the structure of an animation generation device driven by a simulation engine according to the eighth embodiment of this disclosure; Figure 8 This is a schematic diagram of an electronic device structure based on the simulation engine-driven animation generation method according to the ninth embodiment of this disclosure. Detailed Implementation
[0010] The present disclosure will now be described in further detail with reference to the accompanying drawings. The same reference numerals in the drawings denote elements that have the same or similar functions. Although various aspects of embodiments are shown in the drawings, they are not necessarily drawn to scale unless specifically indicated otherwise.
[0011] Furthermore, to better illustrate this disclosure, numerous specific details are set forth in the following detailed description. Those skilled in the art will understand that this disclosure can be practiced without certain specific details. In some instances, methods, means, components, and circuits well known to those skilled in the art have not been described in detail in order to highlight the main points of this disclosure.
[0012] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this disclosure, "multiple" means two or more, unless otherwise explicitly specified.
[0013] It should be noted that, unless it is explicitly stated that there is a sequential order of execution between different operations, or that there is a sequential order of execution between different operations in terms of technical implementation, the execution order between multiple operations may not be significant, and multiple operations may be executed simultaneously.
[0014] Traditional event simulation systems and mainstream simulation software mostly focus on verifying and optimizing simulation logic, emphasizing the accuracy of simulation event execution logic and data calculation results, but neglect the optimization of simulation event visualization rendering. They lack efficient animation rendering support capabilities adapted to the characteristics of event simulation, resulting in many defects in simulation visualization effects.
[0015] On the one hand, simulation execution and animation rendering are disconnected from each other. The animation display is only for illustration and cannot follow the temporal logic of simulation events well, nor can it reflect the dynamic changes of the simulation state, resulting in the visualization process being out of touch with the actual operation.
[0016] On the other hand, over-reliance on preset rules for batch generation makes it difficult to dynamically respond to random triggering and state transitions during simulation. Therefore, in related technologies, the animations generated for simulation events are merely rough illustrations and cannot follow the dynamic changes of simulation events, resulting in poor flexibility in animation generation and display, and low fidelity to complex and ever-changing real-world simulation scenarios.
[0017] In view of this, this disclosure proposes an animation generation method driven by a simulation engine, which can extract the logical state data of each simulation event throughout its entire lifecycle and arrange and generate animations during the execution of multiple simulation events by the simulation engine, thereby solving at least one of the above-mentioned problems.
[0018] like Figure 1 The diagram shown is a flowchart illustrating the simulation engine-driven animation generation method provided in this disclosure, including the following: S101, during the execution of multiple simulation events by the simulation engine, based on the state data of each simulation event executed by the simulation engine, multiple logical state frames for each simulation event are obtained; the multiple logical state frames include the start frame when the simulation event begins to execute, the end frame when the simulation event ends to execute, and the intermediate frame from the start of the simulation event to the end of the execution; each logical state frame is used to describe the logical state data of at least one simulation object involved in the simulation event.
[0019] A simulation engine is a core driving system that supports the operation of various simulation services, schedules and executes multiple simulation events, and records the state data of the entire simulation process.
[0020] In this embodiment of the disclosure, the simulation engine may include components such as an event manager, an event handler, a state frame listener, and a state frame sequence orchestrator. Wherein: The event manager is used to uniformly manage the scheduling and execution of all simulation events.
[0021] Event handlers are used to parse and execute business actions corresponding to various simulation events.
[0022] The status frame listener is used to capture the state changes of the simulation object before, during, and after the execution of simulation events, and to complete the data recording.
[0023] The state frame sequence arranger is used to uniformly organize and time-series arrange the logic state frames generated by all simulation events.
[0024] A simulation event is the smallest simulation execution unit that is scheduled and executed independently by the simulation engine in a single instance. Multiple simulation events can be executed sequentially according to preset simulation logic (which may include parallel or serial execution) to complete the complete simulation business process.
[0025] A logic state frame represents the logical state of all simulation objects involved in a single simulation event at a specific moment during the execution of that event. Logical state refers to a comprehensive description of the operational state and key parameters of a simulation object at a specific moment during the execution of a simulation event, presented at the business logic level. Its specific content is carried by the logic state data, which is determined based on the business logic of the simulation event.
[0026] In this embodiment, the logical state frame includes a start frame when the simulation event begins execution, an end frame when the simulation event ends execution, and intermediate frames from the start of the simulation event to its end. The start frame corresponds to the initial moment when the simulation event scheduling begins but before any computations have been performed, and is used to record the initial state of the simulation object in the simulation event. The end frame corresponds to the termination moment when all computational logic of the simulation event has been executed and its state no longer changes with the simulation event, and is used to record the final completed state of the simulation event. The intermediate frames from the start of the simulation event to its end are state frames at any time between the start and end frames, and are a set of logical state frames used to record the phased state changes during the execution of the simulation event. A single simulation event can generate one or more intermediate frames based on the number of steps in the execution plan information.
[0027] Logical state data comprises data that constitutes a single logical state frame. It describes the operational status and key parameters of each simulation object involved in the simulation event at the business logic level during the simulation time corresponding to that logical state frame. For example, in a smart warehouse simulation scenario, the simulation object is an AGV (Automated Guided Vehicle), and the logical state data may include the vehicle's location, motion status (such as speed and steering), and task progress.
[0028] A simulation object is a physical entity with an independent logical state within a simulation scenario, capable of participating in various simulation events under the scheduling of the simulation engine. Examples of simulation objects include, but are not limited to, AGVs, robotic arms, and robots. In practice, a simulation event can be associated with one or more simulation objects.
[0029] During implementation, the simulation engine monitors and collects the logical state data of each simulation object involved in the simulation event in real time through various components in the simulation engine during the execution of the simulation event, so as to obtain multiple logical state frames for each simulation event.
[0030] S102, based on the simulation time corresponding to each logic state frame, arrange all logic state frames of multiple simulation events to obtain a sequence of state frames arranged in time sequence.
[0031] Simulation time refers to the virtual clock value maintained by the simulation engine to represent the execution process of various simulation events within the simulation scenario. The same simulation time corresponds to a logic state frame generated by the simulation engine for sampling the logic state of one or more simulation objects. The logic state data of each simulation object within this logic state frame is marked with the same simulation timestamp.
[0032] The state frame sequence is an ordered data sequence formed by integrating all logical state frames of all simulation events and sorting them unidirectionally according to simulation time.
[0033] During implementation, the state frame sequence arranger in the simulation engine can be used to sort all the logical state frames generated by each simulation event, with simulation time as the unified sorting dimension, so as to generate a continuous and ordered state frame sequence.
[0034] It is understandable that if multiple simulation events are executed in parallel, or if multiple simulation objects within the same simulation event execute simulation tasks in parallel, the temporal relationship of parallel execution will also be reflected in the state frame sequence.
[0035] S103, Based on the state frame sequence, generate an animation that matches the logical state data of at least one simulation object expressed by each logical state frame in terms of timing.
[0036] During implementation, the animation keyframe arranger can first traverse the sequence of state frames arranged in time order, read the logical state data of the simulation object corresponding to each frame in turn, and then convert the structured logical state data into animation keyframe parameters. Based on the animation keyframe parameters, the keyframes corresponding to the simulation time are rendered. Finally, the keyframes are output continuously in the order of simulation time. The continuity of the animation visuals can be improved by interpolation between keyframes. Of course, the state of the simulation engine can also be used for frame interpolation to generate a simulation animation that matches the logical state data.
[0037] In this embodiment, by collecting logical state frames, including start frames, intermediate frames, and end frames, based on the state data of each simulation event during the execution of multiple simulation events in the simulation engine, the logical state changes of the simulation object throughout the entire lifecycle of the simulation event can be completely captured. By arranging all the logical state frames of multiple simulation events according to the simulation time, a time-sequential sequence of state frames is obtained, establishing a strict temporal correspondence, which can effectively solve the problem of the generated animation being disconnected from the simulation logic. Based on the state frame sequence, a time-sequential simulation animation that highly matches the logical state data of the simulation object in each logical state frame is generated, which can realize the mapping between simulation logic and animation visualization effects, achieve seamless integration of simulation logic and animation rendering, and improve the accuracy of the animation in reflecting the actual simulation state.
[0038] It is understood that the animation generated by the simulation engine in this embodiment of the present disclosure is allowed to have a certain lag relative to the execution of simulation events, and is not required to be strictly synchronized with the real-time changes in the simulation state. Therefore, the animation can be generated asynchronously and gradually as the logic state frames are gradually acquired during the execution of simulation events by the simulation engine, or it can be generated uniformly after all simulation events have been executed and a complete sequence of state frames has been obtained. This embodiment of the present disclosure does not limit this.
[0039] In this embodiment of the disclosure, the logical state data includes pose and at least one of the following: execution progress, logical host, logical point, and motion state information.
[0040] Pose, in particular, is used to represent the spatial position and orientation of a simulated object within a simulated scene. For example, pose data may include spatial state parameters such as the simulated object's spatial coordinates, deflection angle, orientation, relative positional relationships between different parts of the same simulated object, and part postures.
[0041] Execution progress indicates the current degree of completion of a simulation event in which the simulation object participates. For example, execution progress may include progress information such as event start identifier, current execution stage, completion percentage, and remaining execution time. Execution progress can be used to control the playback duration of animation clips for that simulation event.
[0042] A logical host is a entity that represents the home of a simulated object within the simulation system. For example, when goods are placed on a conveyor belt, the logical host is the conveyor belt; when an AGV picks up and transports goods, the logical host is the AGV.
[0043] Logical points, distinct from physical spatial poses, represent the logical positions of simulated objects within simulated business process nodes. For example, when the simulated object is an AGV (Automated Guided Vehicle) and the corresponding simulated event is a delivery event, logical points can be specifically represented as pick-up logical points and unloading logical points. These identify the logical positions of the AGV during the delivery event process when it completes pick-up and unloading actions, respectively, expressing the relative positional relationship between the AGV and the goods. In short, logical points can be understood as the relative positional relationship between different simulated objects upon contact.
[0044] Motion state information is state data used to characterize the dynamic motion characteristics of a simulated object. For example, motion state information may include dynamic attributes such as the start / stop state and speed of the simulated object.
[0045] In this embodiment of the disclosure, by introducing at least one of pose and execution progress, logical host, logical point position, and motion state information into the logical state data, the logical state frame can simultaneously carry the spatial information and behavioral information of the simulation object, thereby supporting the generation of animation to perform differentiated rendering according to the simulation object at different stages of the simulation event. This overcomes the shortcomings of traditional simulation animations that only reflect position changes and cannot express the execution state and behavioral details of the object, and improves the ability of the generated animation to realistically reproduce complex simulation processes.
[0046] During implementation, based on the state data of each simulation event executed by the simulation engine, multiple logical state frames for each simulation event are obtained, such as... Figure 2As shown, the following steps may be included: S201, for each simulation event, before executing the simulation event, record the logical state data of at least one simulation object to obtain the start frame.
[0047] During implementation, the running nodes before the simulation event starts can be monitored through the state frame listener in the simulation engine, and the logical state data of the simulation object before the simulation event is executed can be collected and recorded to obtain the start frame.
[0048] S202, Obtain the execution plan information for the simulation event.
[0049] Execution planning information is a set of rules pre-configured by the simulation engine to constrain the execution logic of a single simulation event throughout its entire process. Different simulation events can be configured differently based on their corresponding business scenarios and execution logic.
[0050] In implementation, taking a simulated object capable of moving autonomously according to a planned path in space as an example, the simulation engine first extracts the real-time logical state data of the simulated object. Then, it combines this data with the business requirements of the current simulation event to populate various navigation input parameters, constructing a navigation request that includes constraints such as start and end logical points, road network usage rules, road network start point, and end point. Based on this navigation request, complete simulation event execution planning information is generated. Here, the road network refers to the standardized traffic topology network preset for the simulated object in the simulation environment.
[0051] S203, based on the execution planning information, obtain the logical state data of at least one preset type operation to obtain an intermediate frame; the preset type operation is preset information that causes at least one simulation object to undergo a state change.
[0052] Preset type operations refer to standardized operational behaviors that the simulation engine can directly drive state changes of simulation objects during simulation events. For example, taking a simulation object that can move autonomously according to a planned path, preset type operations could include changes in the simulation object's speed, changes in its direction of travel, etc. For a simulation object fixed in a specific spatial location, its state changes can include changes in the relative positions and postures of different components, and the interaction states with other simulation objects.
[0053] During implementation, various simulation events can be driven by the event handler in the simulation engine. When a preset type of operation occurs, the logical state data of the simulation object after the change can be collected and recorded in real time to obtain intermediate frames.
[0054] S204, at the end of the simulation time, record the logical state data of at least one simulation object to obtain the end frame.
[0055] During implementation, the state frame listener in the simulation engine can be used to listen for the completion node of the simulation event, collect and record the logical state data of the simulation object after the event is executed, and obtain the end frame.
[0056] In this embodiment, by recording the logical state data of the simulation object before, during, and after the execution of the simulation event, a complete logical state sequence is constructed, including a start frame, an intermediate frame generated based on execution planning information, and an end frame. The start frame provides accurate initial data for animation generation; the intermediate frames generated based on execution planning information capture the phased state changes of the simulation object during event execution, supplementing the transitional process data; and the end frame provides the stable state after the simulation event is completed, forming a closed-loop state data record covering the entire event lifecycle. This enables refined modeling of the entire lifecycle of the simulation event, allowing the generated animation to coherently and realistically reproduce the entire process of the simulation event from triggering, evolution, to termination. This effectively solves the problems of screen jumps, state distortion, and untraceable processes caused by the lack of process details in traditional simulation animations.
[0057] During implementation, based on the simulation time corresponding to each logic state frame, all logic state frames of multiple simulation events are arranged to obtain a time-sequential sequence of state frames, such as... Figure 3 As shown, the following steps may be included: S301, for any simulation event, execute separately: when the simulation event involves multiple simulation objects, arrange multiple logic state frames of each simulation object under the same time base to obtain the state frame subsequence corresponding to the simulation event.
[0058] A state frame subsequence refers to an ordered sequence of state frames formed by mapping the logical state frames generated by multiple simulation objects involved in a single simulation event to a unified simulation time base and arranging them in chronological order of the simulation time.
[0059] During implementation, for each simulation event, if the current simulation event contains only a single simulation object, the timing-ordered logic state frames of that simulation object are directly used as the state frame subsequence of the simulation event. If the current simulation event involves two or more simulation objects, all logic state frames corresponding to each simulation object are extracted separately. Then, using the simulation engine's state frame sequence arranger, these frames are uniformly sorted and integrated according to the simulation time corresponding to each logic state frame in chronological order, under the same time reference, to generate the state frame subsequence of the simulation event.
[0060] S302, arrange the state frame subsequences of multiple simulation events under the same time base to obtain the state frame sequence.
[0061] During implementation, the state frame sequence arranger of the simulation engine arranges the state frame sub-sequences of multiple simulation events in the order of the simulation time corresponding to the logical state frames, under the same time base, to obtain the state frame sequence.
[0062] In this embodiment, for any simulation event involving multiple simulation objects, the logical state frames of each simulation object are arranged based on a unified time base to form a state frame subsequence. This enables the timing alignment of the logical state frames of each simulation object within a single simulation event, and can more accurately reproduce the synchronous linkage and step-by-step coordination of state changes among multiple simulation objects within a single simulation event. By further integrating and arranging the state frame subsequences corresponding to multiple simulation events globally based on the same time base, the independent state frame subsequences corresponding to a single simulation event can be regularized into a unified and coherent state frame sequence. This effectively solves the problem of asynchronous animations of multiple simulation objects within the same simulation event, ensuring that the generated animation strictly follows the time progression logic of discrete event simulation. This improves the timing accuracy and realism of simulation visualization in complex multi-simulation object and multi-simulation event scenarios.
[0063] During implementation, based on the state frame sequence, an animation is generated that corresponds in timing to the logical state data of at least one simulated object expressed by each logical state frame, such as... Figure 4 As shown, the following steps may be included: S401, for each simulation event, generate an animation clip with the logical state data of the multiple logical state frames as keyframes in the target space of each simulation object involved in the simulation event execution process of the simulation engine, based on the multiple logical state frames of each simulation object.
[0064] The target space is a unified space constructed by the simulation engine. In this embodiment, it is used to host the operation, state evolution, position changes, and interactive behaviors of multiple simulation objects within the same simulation scene. This target space has a unified world coordinate system and rendering rules, providing a standardized spatial carrier for all simulation objects and events.
[0065] An animation clip refers to a time-continuous animation unit generated in real time through an animation generation algorithm interface after receiving specific control parameters from a parametric animation clip.
[0066] S402, arranges animation clips from multiple simulated events according to the simulation time of each event to obtain an animation.
[0067] During implementation, all independent animation segments corresponding to simulation events are extracted in batches, and the start and end simulation times of each animation segment are read. Based on the global simulation timeline, all animation segments are sequentially integrated and arranged, connecting sequentially occurring animation segments. For simulation events executed in parallel, they are merged according to parallel timing. After arrangement, a visually continuous simulation scene animation that globally matches the logical state frame sequence of multiple simulation events is output.
[0068] In this embodiment, by generating independent animation clips for each simulation event using the logical state frames of each simulation object as keyframes within a unified target space, the mapping of the state changes of simulation objects throughout the entire lifecycle of a single simulation event is achieved. This effectively avoids problems such as state interference and clipping during the interaction of multiple simulation objects in the same simulation scenario. Furthermore, by chronologically arranging and fusing the animation clips of all simulation events according to their simulation times, fragmented segments can be integrated into a coherent overall simulation animation. This can more accurately reproduce the true temporal logic and causal relationships of multiple simulation events in serial, parallel, and interleaved execution scenarios.
[0069] During implementation, for each simulation event, each simulation object involved in the simulation event is placed in the target space during the simulation engine's execution of the simulation event. Based on multiple logical state frames of each simulation object, an animation clip is generated, with the logical state data of multiple logical state frames as keyframes. For example... Figure 5 As shown, the following steps may be included: S501: For each simulation object in each simulation event, retrieve the parameterized animation clips corresponding to the simulation object and simulation event from the animation clip set.
[0070] An animation clip collection refers to a pre-built and stored parametric animation resource collection adapted to various simulation events and objects within the simulation system's resource library. This collection does not contain any pre-made video data, sequence frames, or fixed keyframe animations; it only retains animation generation templates that can be dynamically calculated using control parameters.
[0071] Parametric animation clips are standardized, reusable animation generation templates configured to receive custom control parameters and dynamically adjust the spatial transformations, motion amplitudes, and motion time scaling ratios of simulated objects based on these parameters. Unlike fixed-frame animation clips, parametric animation clips are not bound to the static state values or fixed trajectories of any specific simulated object; instead, they are generated in real-time using control parameters passed in at runtime as driving variables.
[0072] In this embodiment of the disclosure, the parametric animation may include the following four components: motion rule model, motion state identifier, driveable parameter interface, and simulation object description file. The functions of each component are as follows: (1) Motion rule model The motion rule model is the core algorithmic component of parametric animation clips. It defines the mathematical calculation rules for the spatial pose of a simulated object as it performs a specific action state over time. This motion rule model can specifically include two categories: rigid body motion rules and component motion rules. For a specific simulation object, rigid body motion rules and / or component motion rules can be defined according to requirements.
[0073] Among them, the rigid body motion rule is applicable to scenarios where the simulation object as a whole undergoes displacement in space. The rigid body motion rule has a built-in path planning algorithm, which can calculate the movement path of the simulation object in the road network based on the input start pose and end pose, and determine the pose changes at each moment on the path by combining the velocity parameters.
[0074] Component motion rules are applicable to scenarios where the base of the simulated object is fixed and only its internal sub-components move. Component motion rules define the kinematic constraints between sub-components and can inversely calculate the motion trajectory of each joint or moving component based on the target pose.
[0075] During the generation of parametric animation clips, the motion rule model can receive pose parameters, velocity parameters, and load parameters from external sources, and dynamically adjust the calculation process based on these parameters.
[0076] (2) Action status indicator Action state refers to the independent and distinct dynamic behavioral states of a simulated object at different execution stages within a single simulation event execution cycle. For example, taking an AGV (Automated Guided Vehicle) as an example, its action state may include: Load (Pickup) status: The pickup action has been executed; Unload status: The unloading action has been performed; TravelEmpty status: Driving without a load; TravelFull status: Driving fully loaded; Wait (standby) state: waiting in standby mode.
[0077] Different action states of the same simulation object correspond to different parametric animation segments, so as to independently control the animation generation of each state.
[0078] (3) Driven parameter interface A driveable parameter interface is used to receive control parameters. The parameter types supported by the driveable parameter interface may include: The pose parameter interface is used to receive the spatial coordinates of the pickup or drop-off point, the target orientation, etc. The speed parameter interface is used to receive time control parameters such as motion speed, acceleration, and deceleration; The load parameter interface is used to receive physical property parameters such as the weight and size of the load. The initial state parameter interface is used to receive data to initialize the current state of the simulation object, ensuring that the animation starts from the correct state.
[0079] (4) Simulation object description file The simulation object description file is a unified robot description format file that associates parametric animation clips with simulation objects. This file uses the standard XML (Extensible Markup Language) format to describe the simulation object's 3D geometric model, joint structure, component hierarchy, and kinematic parameters. When generating animation, the motion rule model uses this description file as a basis to map the calculated motion parameters to specific components of the simulation object, driving each component to move according to preset rules.
[0080] In practice, when the simulation object includes multiple action states in the corresponding simulation event, the animation sub-segments corresponding to each action state of the simulation object in the simulation event can be obtained to obtain a parametric animation clip constructed from multiple action sub-segments.
[0081] An animation sub-segment is the smallest animation unit corresponding to a single, independent action state of a simulated object. This animation sub-segment is generated based on a parametric animation template and takes the logical state frames of the simulated object in a specific action state as input, calculating the animation data sequence in real time. Therefore, the parametric animation segments in the animation segment set can be generated according to the specific business logic of different simulated objects.
[0082] Continuing with the AGV (Automated Guided Vehicle) as an example, its corresponding simulation events can include: going to the loading point event, picking up goods event, delivering goods event, and unloading event.
[0083] During implementation, a mapping relationship between the action state and animation clips can be pre-established for the simulation object. The specific mapping relationship is as follows: Load state: The animation sub-fragment corresponding to the pickup event is bound; Unload state: Binds the animation sub-fragment corresponding to the unloading event; TravelEmpty state: Binds the empty travel animation sub-fragment corresponding to the event to go to the loading point; TravelFull state: Binds the fully loaded driving animation sub-fragment corresponding to the delivery event; Wait state: Binds a waiting animation sub-fragment.
[0084] Building upon this, taking the animation segment corresponding to the retrieval event bound to the Load state as an example, the animation segment corresponding to the Load state of the simulation object in the retrieval simulation event is obtained. Specifically, Load start is used as the starting frame and Load end as the ending frame. Based on the real-time pose, speed, and load change parameters of the AGV in the Load state, the corresponding parametric animation template is called to generate the animation segment corresponding to the simulation event in real time. Finally, according to the simulation time of the simulation event, the animation segments generated by all the action states of the simulation object are arranged to obtain the parametric animation clips corresponding to the simulation object and the simulation event.
[0085] In this embodiment, in a simulation event where the simulated object includes multiple action states, animation sub-segments corresponding to each action state are obtained and combined into a parameterized animation segment for the simulation event. This maps the action states of the simulated object in the simulation event to matching animation sub-segments. This avoids the loss of process details and performance distortion caused by simple linear interpolation of complex events in traditional simulation animation, while also allowing for flexible configuration of animation sub-segments according to action states. The generated parameterized segments can distinguish and restore the differentiated performance of different action states of the simulated object, thereby ensuring the realism and integrity of the subsequently generated simulation animation.
[0086] S502 uses the target space as a reference, and generates control parameters for parameterized animation clips based on multiple logic state frames of the simulation objects on the same simulation time reference for all simulation objects.
[0087] Control parameters are structured input datasets used to drive the execution of parametric animation clips and determine the animation generation results. These control parameters may include pose parameters, velocity parameters, and load parameters.
[0088] Among them, pose parameters are used to represent the pose information of the simulated object in the simulated event. For example, pose parameters can be the AGV's pick-up point, drop-off point, and direction of movement.
[0089] Speed parameters are used to represent the dynamic motion characteristics of a simulated object during the execution of simulated events. For example, speed parameters can be the average speed, linear speed, acceleration, etc., of an AGV (Automated Guided Vehicle); or the rotational speed of a robotic arm.
[0090] Load parameters are business attributes used to represent the load on a simulated object during the execution of simulated events. For example, load parameters can be the weight, dimensions, etc. of the load.
[0091] It is understandable that, in the generated control parameters, the logical states expressed by multiple logical state frames of each simulation object can be used to generate keyframes in animation clips through the control parameters.
[0092] In this embodiment, by inputting the pose parameters of the simulated object in the simulated event, the spatial coordinates and attitude data of the simulated object throughout the entire process of the simulated event can be defined, ensuring that the generated animation clips accurately reflect the actual execution process of the simulated event. By inputting the velocity parameters of the simulated object in the simulated event, it can be ensured that the generated animation clips have a reasonable execution duration, while restoring the true motion logic of the simulated object and avoiding distortion of action duration. By inputting the load parameters of the simulated object in the simulated event, it can be ensured that the generated animation clips exhibit animation effects under different load states.
[0093] S503, the control parameterized animation clip is generated based on the control parameters.
[0094] During implementation, the control parameters generated in the previous stage, including pose parameters, velocity parameters, load parameters, and initial state parameters, can be first passed as input to the acquired parameterized animation clip. Then, motion calculations are performed dimensionally. For pose parameters, they can be passed to the motion rule model via a driveable parameter interface. The motion rule model then uses these pose parameters as target constraints for the motion. For rigid body motion, the motion rule model uses the current position in the initial state parameters as the starting point and the target point specified by the pose parameters as the ending point. It can use data outside the logical state frames in the motion planning information as constraints to generate interpolated frames with higher fidelity. For component motion, the motion rule model calculates the displacement and rotation angle required for each moving component by comparing the current component pose in the initial state parameters with the target component pose specified by the pose parameters, generating component-level motion trajectories.
[0095] For velocity parameters, these parameters can be passed to the motion rule model via a driveable parameter interface. The motion rule model then uses these parameters as the control basis for the time axis. Based on the average velocity, linear velocity, or rotational velocity specified in the velocity parameters, and combined with the calculated total length of the motion path or the total travel distance of the component, the animation duration required to complete the action is calculated. After the animation duration is determined, the motion rule model discretizes the entire motion process along the time axis, generating the pose of the simulation object at each moment, forming a keyframe sequence indexed by the time series.
[0096] For load parameters, they can be passed to the motion rule model via the driveable parameter interface, where they are used as motion constraints. Based on the weight and dimension information in the load parameters, the motion rule model queries a pre-defined load motion constraint table to determine the maximum speed limit, acceleration limit, and component rotation speed limit under the current load conditions. During animation duration calculation, the motion rule model checks whether these constraints are triggered. If triggered, it automatically reduces the speed value in the speed parameters to limit the motion speed within a safe range and recalculates the animation duration and keyframe sequence.
[0097] After completing the multi-dimensional parameter calculation, the parameterized animation clip generation algorithm dynamically calculates and outputs multiple frames of continuous animation data based on the input control parameters, forming an animation clip of the simulated event. The keyframes in this animation clip correspond precisely in time to the logical state data of the simulated object expressed by the start frame, intermediate frames, and end frame of the simulated event. The intermediate frames are smoothly transitioned through an interpolation algorithm, thus visually presenting the state change process of the simulated object continuously.
[0098] In this embodiment, by relying on a unified target space and simulation time base, and combining multi-frame logic state data of the simulation object to generate adapted parametric animation control parameters, the mapping between the logic state data of the simulation object and the animation rendering parameters can be realized. This ensures that the control parameters perfectly match the real-time state changes and spatial temporal logic of the simulation object, thereby improving the content quality of the generated animation. Controlling parametric animation segments can improve the efficiency of animation generation.
[0099] During implementation, in step S402, generating control parameters for parameterized animation clips based on multiple logic state frames of the simulation object may include the following steps: Step A1: If there is a reference simulation event associated with the simulation object that occurred before the current simulation event of the simulation object, obtain the reference logic state of the simulation object from the end frame of the reference simulation event. The current simulation event refers to the target simulation event that is currently being executed and requires the generation of a corresponding animation clip.
[0100] A reference simulation event refers to a historical simulation event that has a business relationship and a state continuity relationship with the same simulation object and has been fully executed before the current simulation event execution sequence.
[0101] During implementation, for each simulation object associated with the current simulation event, the simulation timing chain is traversed to search for whether there is a reference simulation event that is timing-preceded, business-related, and has been completed. If a valid reference simulation event is found, the reference logical state data of the simulation object, including pose and motion state information, is extracted from the end frame of the reference simulation event.
[0102] Step A2: In the control parameters, the reference logic state is used as the starting state parameter of the simulation object in the animation clip; The initial state parameters refer to the parameters used to constrain the initial state of the animation segment corresponding to the current simulation event. They are used to determine the spatial pose, motion state information, and other parameters of the simulation object at the beginning of the current simulation event, and to ensure that the current simulation event and the reference simulation event can be seamlessly connected.
[0103] During implementation, the acquired reference logic state can be written into the control parameters as the initial state parameter, overwriting the original initial state parameter of the current simulation event.
[0104] Step A3: Based on the initial state parameters and the multi-frame logic state frames of the simulation object, generate the control parameters for the animation clip.
[0105] During implementation, the target space constructed by the simulation engine can be used as a unified world coordinate system to reduce the spatial pose data of all simulation objects to the target space; the simulation time maintained by the simulation engine can be used as a unified time reference to align the multiple logical state frames of each simulation object within the same simulation event to the same simulation time axis.
[0106] Subsequently, by reading multiple logic state frames of the simulation object involved in the current simulation event, the pose data recorded therein is obtained. The spatial coordinates of the picking point, placing point, or target point of the simulation object's current action are determined from the pose difference between the start frame and the end frame, forming pose parameters.
[0107] By reading the motion state information in the logic state data, and combining the preset average speed, linear motion speed, rotational speed, and acceleration / deceleration characteristics of the simulation object, the reasonable time required for the simulation object to execute the current action is calculated, thus forming speed parameters.
[0108] By reading the load physical properties of the simulated object, and based on the weight and size of the load, the motion limitations of the simulated object when performing the current action are determined, such as the maximum travel speed and the upper limit of the component rotation speed, thus forming load parameters.
[0109] Finally, the initial state parameters, along with the pose, velocity, and load parameters obtained from the multi-frame logic state frames of the simulation object, are uniformly encapsulated into a structured input dataset to generate the control parameters for the animation clip.
[0110] In this embodiment of the disclosure, by retrieving the reference simulation events preceding the simulation object and extracting the reference logical state from the corresponding end frame, and using the reference logical state as the starting state parameter of the current animation segment, the logical state data of consecutive simulation events can be seamlessly inherited, ensuring that the initial state of the same simulation object remains consistent throughout multiple consecutive simulation events.
[0111] In summary, the simulation engine-driven animation generation method provided in this embodiment of the present disclosure, such as Figure 6 As shown, it can include three components: simulation engine, animation system, and animation choreography. The functions and interaction logic of each component are as follows: (1) Simulation engine The simulation engine is the core module for simulation event execution and state data acquisition. It contains sub-components such as an event manager, event handlers, state frame listeners, and state frame sequence orchestrators. These components work together to schedule, execute, and generate state frames for simulation events. The event manager is used to uniformly manage the scheduling and execution of all simulation events.
[0112] Event handlers are used to parse and execute business actions corresponding to various simulation events.
[0113] The state frame listener is used to capture the state changes of the simulation object before and after the execution of simulation events in real time, and to complete the data recording.
[0114] The state frame sequence arranger is used to uniformly organize and time-series arrange the logic state frames generated by all simulation events.
[0115] During implementation, during the execution of multiple simulation events by the simulation engine, such as Figure 6 The process shown, such as delivery → pickup → delivery → pause → delivery → unloading, is monitored and collected in real time by various components in the simulation engine to obtain multiple logical state frames for each simulation event.
[0116] (2) Animation System The animation system's core function is to transform the logic state frames output by the simulation engine into visual animation clips.
[0117] like Figure 6 As shown, the input to the animation system includes the following data: The logic state frames provided by the simulation engine; The simulation time provided by the simulation engine is used to control the time synchronization of the generated animation; Animation generation data, such as control parameters and URDF (Unified Robot Description Format) model data.
[0118] The animation system can generate animation clips corresponding to each action state of the simulation object based on the logical state frames and simulation time provided by the simulation engine and control parameters.
[0119] (3) Animation choreography The core of animation choreography is to integrate discrete animation clips into a coherent scene animation. It contains an animation keyframe arranger, and the arrangement logic is as follows: First, the animation keyframe arranger can be used to traverse the sequence of state frames arranged in time, read the logical state data of the simulation object corresponding to each frame in turn, convert the structured logical state data into animation keyframe parameters, and render the corresponding simulation moment frame based on the keyframe parameters; finally, each frame is output continuously in the simulation time order to generate a simulation animation that matches the logical state data.
[0120] In summary, the simulation engine-driven animation generation method provided in this disclosure can achieve seamless integration of simulation logic and animation rendering, ensuring the mapping of animation to simulation state; through the event-driven dynamic keyframe generation mechanism, the real-time performance and accuracy of animation are improved; at the same time, it supports multiple types of simulation object entities and calculates animation based on actual load pose changes, taking into account both the versatility of the system and the physical realism of the animation; in addition, relying on parameterized animation segment design and the "state-animation segment" mapping mechanism, it can flexibly generate high-precision animations for different inputs, effectively improving the efficiency and reliability of animation generation, and providing efficient technical support for the visualization presentation of complex simulation scenarios.
[0121] Based on the same technical concept, this disclosure also provides a simulation engine-driven animation generation device 700, such as... Figure 7 As shown, it includes: The acquisition module 701 is used to acquire multiple logical state frames for each simulation event based on the state data of each simulation event during the execution of multiple simulation events by the simulation engine. The multiple logical state frames include the start frame when the simulation event starts to execute, the end frame when the simulation event ends to execute, and the intermediate frame from the start of the simulation event to the end of the execution. Each logical state frame is used to describe the logical state data of at least one simulation object involved in the simulation event. The orchestration module 702 is used to orchestrate all logical state frames of multiple simulation events based on the simulation time corresponding to each logical state frame, so as to obtain a state frame sequence arranged in time order. The generation module 703 is used to generate an animation based on the state frame sequence that is in time consistent with the logical state data of at least one simulation object expressed by each logical state frame.
[0122] The acquisition module is specifically used for: For each simulation event, before executing the simulation event, the logical state data of at least one simulation object is recorded to obtain the start frame; Obtain execution planning information for simulation events; Based on the execution planning information, obtain the logical state data of at least one preset type operation to obtain an intermediate frame; the preset type operation is a preset information that causes at least one simulation object to undergo a state change; At the end of the simulation time, the logical state data of at least one simulation object is recorded to obtain the end frame.
[0123] The orchestration module is specifically used for: For any simulation event, the following steps are performed: When a simulation event involves multiple simulation objects, the multiple logical state frames of each simulation object are arranged on the same time base to obtain the state frame subsequence corresponding to the simulation event. The state frame subsequences of multiple simulation events are arranged on the same time base to obtain the state frame sequence.
[0124] The generation module includes: The generation unit is used to generate animation clips with the logical state data of multiple logical state frames as keyframes for each simulation object involved in the simulation event in the target space during the execution of the simulation event by the simulation engine, based on multiple logical state frames of each simulation object. The editing unit is used to arrange animation clips from multiple simulated events according to the simulation time of each event to obtain an animation.
[0125] The generation unit is specifically used for: For each simulation object in each simulation event, retrieve the parameterized animation clips corresponding to the simulation object and simulation event from the animation clip set; Using the target space as a reference, control parameters for parameterized animation clips are generated based on multiple logic state frames of the simulation objects, with all simulation objects on the same simulation time reference. The control parameterized animation clips are generated based on the control parameters.
[0126] The generation unit is specifically used for: If there is a reference simulation event associated with the simulation object that occurred before the current simulation event of the simulation object, obtain the reference logic state of the simulation object from the end frame of the reference simulation event; In the control parameters, the reference logic state is used as the initial state parameter of the simulated object in the animation segment; Based on the initial state parameters, the control parameters for generating animation clips are generated from the multi-frame logic state frames of the simulated object.
[0127] The generation unit is specifically used for: When a simulation object has multiple action states in a corresponding simulation event, the animation sub-segment corresponding to each action state of the simulation object in the simulation event is obtained, resulting in a parametric animation clip constructed from multiple action sub-segments.
[0128] The control parameters include pose parameters, velocity parameters, and load parameters.
[0129] Logical state data includes pose and at least one of the following: Execution progress, logical host, logical point, and motion status information.
[0130] Figure 8 This is a structural block diagram of an electronic device according to an embodiment of the present disclosure. Figure 8 As shown, the electronic device includes a memory 810 and a processor 820. The memory 810 stores a computer program that can run on the processor 820. The number of memories 810 and processors 820 can be one or more. The memory 810 can store one or more computer programs, which, when executed by the electronic device, cause the electronic device to perform the methods provided in the above-described method embodiments. The electronic device may also include a communication interface 830 for communicating with external devices and performing data exchange and transmission.
[0131] If the memory 810, processor 820, and communication interface 830 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 8 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0132] Optionally, in a specific implementation, if the memory 810, processor 820, and communication interface 830 are integrated on a single chip, then the memory 810, processor 820, and communication interface 830 can communicate with each other through an internal interface.
[0133] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting Advanced Reduced Instruction Set Machines (ARM) architecture.
[0134] Further, optionally, the aforementioned memory may include read-only memory and random access memory, and may also include non-volatile random access memory. The memory may be volatile or non-volatile, or may include both. Non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which serves as an external cache. Many forms of RAM are available by way of example, but not limitation. Examples include Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate Synchronous DRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct RAMBUS RAM (DR RAM).
[0135] In the description of the embodiments of this disclosure, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this disclosure. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of those different embodiments or examples.
[0136] In the description of the embodiments disclosed herein, unless otherwise stated, " / " means "or". For example, A / B can mean A or B. The "and / or" in this document is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone.
[0137] In the description of embodiments of this disclosure, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of embodiments of this disclosure, unless otherwise stated, "a plurality of" means two or more.
[0138] The above description is merely an exemplary embodiment of this disclosure and is not intended to limit this disclosure. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this disclosure should be included within the protection scope of this disclosure.
Claims
1. A simulation engine-driven animation generation method, comprising: During the execution of multiple simulation events by the simulation engine, multiple logical state frames for each simulation event are obtained based on the state data of the simulation engine when executing each simulation event. The plurality of logical state frames include a start frame when the simulation event begins execution, an end frame when the simulation event ends execution, and an intermediate frame from the start of the simulation event to the end of execution. Each logic state frame is used to describe the logic state data of at least one simulation object involved in the simulation event; For each simulation event, before executing the simulation event, the logical state data of at least one simulation object is recorded to obtain the start frame; Obtain the execution planning information of the simulation event; Based on the execution planning information, logical state data of at least one preset type operation is obtained to obtain the intermediate frame; the preset type operation is preset information that causes the state of the at least one simulation object to change. When the simulation event ends, the logical state data of the at least one simulation object is recorded to obtain the end frame; Based on the simulation time corresponding to each logic state frame, all logic state frames of the multiple simulation events are arranged to obtain a sequence of state frames arranged in time order. Based on the state frame sequence, an animation is generated that matches the logical state data of the at least one simulation object expressed by each logical state frame in terms of timing.
2. The method according to claim 1, wherein, The step of arranging all the logic state frames of the multiple simulation events based on the simulation time corresponding to each logic state frame to obtain a time-ordered sequence of state frames includes: For any simulation event, the following steps are performed: when the simulation event involves multiple simulation objects, multiple logical state frames of each simulation object are arranged on the same time base to obtain the state frame subsequence corresponding to the simulation event; The state frame sequence is obtained by arranging the state frame subsequences of multiple simulation events under the same time base.
3. The method according to claim 1, wherein, The step of generating an animation based on the state frame sequence that corresponds in time to the logical state data of the at least one simulation object expressed by each logical state frame includes: For each simulation event, each simulation object involved in the simulation event is placed in the target space during the simulation engine's execution of the simulation event. Based on multiple logical state frames of each simulation object, an animation clip is generated with the logical state data of the multiple logical state frames as keyframes. The animation is obtained by arranging the animation clips of the multiple simulated events according to the simulation time of each simulated event.
4. The method according to claim 3, wherein, For each simulation event, the process of generating an animation clip with the logical state data of the multiple logical state frames as keyframes for each simulation object involved in the simulation event in the target space during the execution of the simulation event by the simulation engine includes: For each simulation object in each simulation event, a parameterized animation clip corresponding to the simulation object and the simulation event is obtained from the animation clip set. Using the target space as a reference, control parameters for the parameterized animation clip are generated based on multiple logical state frames of the simulation objects, on the same simulation time reference for all simulation objects. The parameterized animation clip is generated based on the control parameters.
5. The method according to claim 4, wherein, The control parameters for generating the parameterized animation clip based on multiple logic state frames of the simulation object include: If there is a reference simulation event associated with the simulation object that occurred before the current simulation event of the simulation object, obtain the reference logic state of the simulation object from the end frame of the reference simulation event; The reference logic state is used as the starting state parameter of the simulation object in the animation segment in the control parameters. Based on the initial state parameters, the control parameters of the animation clip are generated from the multi-frame logic state frames of the simulation object.
6. The method according to claim 4, wherein, The step of retrieving the parameterized animation clips corresponding to the simulation object and the simulation event from the animation clip set includes: When the simulation object includes multiple action states in the corresponding simulation event, the animation sub-segment corresponding to each action state of the simulation object in the simulation event is obtained, and the parameterized animation segment constructed by the multiple action sub-segments is obtained.
7. The method according to claim 4 or 5, wherein the control parameters include pose parameters, velocity parameters, and load parameters.
8. The method according to claim 1, wherein, The logical state data includes pose and at least one of the following: Execution progress, logical host, logical point, and motion status information.
9. An animation generation device driven by a simulation engine, comprising: The acquisition module is used to acquire multiple logical state frames for each simulation event based on the state data of the simulation engine when executing each simulation event during the execution of multiple simulation events in the simulation engine. The plurality of logical state frames include a start frame when the simulation event begins execution, an end frame when the simulation event ends execution, and an intermediate frame from the start of the simulation event to the end of execution. Each logic state frame is used to describe the logic state data of at least one simulation object involved in the simulation event; For each simulation event, before executing the simulation event, the logical state data of at least one simulation object is recorded to obtain the start frame; Obtain the execution planning information of the simulation event; Based on the execution planning information, logical state data of at least one preset type operation is obtained to obtain the intermediate frame; the preset type operation is preset information that causes the state of the at least one simulation object to change. When the simulation event ends, the logical state data of the at least one simulation object is recorded to obtain the end frame; The orchestration module is used to orchestrate all the logical state frames of the multiple simulation events based on the simulation time corresponding to each logical state frame, so as to obtain a state frame sequence arranged in time order. The generation module is used to generate an animation based on the state frame sequence that is time-sequentially consistent with the logical state data of the at least one simulation object expressed by each logical state frame.
10. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.
11. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-8.
12. A computer program product comprising a computer program that, when executed by a processor, implements the method according to any one of claims 1-8.
Citation Information
Patent Citations
Three-dimensional animation creation method
CN115578491A