A data processing method, device, apparatus, and readable storage medium
By automatically creating keyframes and updating playback time points in the virtual character animation creation interface, the cumbersome operation of changing the duration of displacement animation in video editing is solved, thus improving editing efficiency.
Patent Information
- Application Number
- CN202310431654.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-11
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2043-04-11
AI Technical Summary
In current video editing, changing the duration of motion animation requires manually modifying keyframes, which is cumbersome and inefficient.
In the virtual character animation creation interface, animation keyframes are automatically created and the character's position is fixed by marking. The playback time is automatically updated based on the animation duration to generate an animated video.
It improves the convenience and efficiency of video editing, reduces the tedious operation of manually adjusting keyframes, and enables automatic adaptation to changes in animation duration.
Smart Images

Figure CN118803373B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, in particular to a data processing method and device, equipment and readable storage medium. BACKGROUND
[0002] With the continuous development of computer technology, all kinds of videos are spread in all aspects of people's daily life. Therefore, the creation and editing of video has become a hot research topic in the field of video.
[0003] At present, in the video editing, when making a moving picture for a role, it is usually necessary to manually operate on the time axis. Specifically, it is necessary to add a moving picture for the role on the time axis, and manually mark the key frame of the moving picture and bind a specific time point for the key frame on the time axis. This way is very cumbersome and difficult to maintain. If the duration of the moving picture changes, the key frame points on the time axis need to be manually modified and aligned, which is cumbersome and inconvenient to adjust, resulting in low efficiency of video editing. Therefore, how to improve the efficiency of video editing is a problem to be solved at present. SUMMARY
[0004] The embodiments of the present application provide a data processing method, device, equipment and readable storage medium, which can improve the convenience of video editing and improve the efficiency of video editing.
[0005] The embodiments of the present application provide a data processing method, device, equipment and readable storage medium, which can improve the convenience of video editing and improve the efficiency of video editing.
[0006] In the animation production interface for the virtual role, a first animation moving path for a target added animation is displayed. The target added animation is an added configuration animation selected for the virtual role in the configuration animation set. The first animation moving path refers to a path from a first mark to a second mark. The first mark is used to fix the position of the virtual role in the first starting key frame, and the second mark is used to fix the position of the virtual role in the first ending key frame. The first starting key frame is the first frame of the target added animation, and the first ending key frame is the ending frame of the target added animation.
[0007] In response to an adjustment operation of the animation duration of the target added animation, an adjusted animation duration of the target added animation is obtained. The first playback time point for playing the first starting key frame and the second playback time point for playing the first ending key frame are updated based on the adjusted animation duration, to obtain a first updated playback time point corresponding to the first playback time point and a second updated playback time point corresponding to the second playback time point.
[0008] The first animation video is generated according to the position indicated by the first identifier in the first animation movement path, the position indicated by the second identifier in the first animation movement path, the first updated playing time point, the second updated playing time point, the virtual character and the target added animation; in the first animation video, a movement path of the virtual character is the first animation movement path, and a time length of the first animation video is equal to a playing time length between the first updated playing time point and the second updated playing time point.
[0009] The embodiment of the application provides a data processing device, comprising:
[0010] The path display module is configured to display the first animation movement path for the target added animation in an animation production interface for the virtual character; the target added animation is a selected and added configuration animation of the object in the configuration animation set for the virtual character; the first animation movement path refers to a path from the first identifier to the second identifier, the first identifier is used to fix a position of the virtual character in the first start key frame, and the second identifier is used to fix a position of the virtual character in the first end key frame; the first start key frame is a first frame of the target added animation, and the first end key frame is an end frame of the target added animation.
[0011] The time length adjustment module is configured to adjust the animation time length of the target added animation.
[0012] The time updating module is configured to update the first playing time point for playing the first start key frame and the second playing time point for playing the first end key frame based on the adjusted animation time length, to obtain a first updated playing time point corresponding to the first playing time point and a second updated playing time point corresponding to the second playing time point.
[0013] The animation video generation module is configured to generate a first animation video according to the position indicated by the first identifier in the first animation movement path, the position indicated by the second identifier in the first animation movement path, the first updated playing time point, the second updated playing time point, the virtual character and the target added animation; in the first animation video, a movement path of the virtual character is the first animation movement path, and a time length of the first animation video is equal to a playing time length between the first updated playing time point and the second updated playing time point.
[0014] In one embodiment, the first identifier is further used to fix a first character attribute feature of the virtual character in the first start key frame, and the second identifier is further used to fix a second character attribute feature of the virtual character in the first end key frame; in the first animation video, a character attribute feature of the virtual character at the first updated playing time point is the first character attribute feature, and a character attribute feature of the virtual character at the second updated playing time point is the second character attribute feature.
[0015] In one embodiment, the time updating module updates the first play time point for playing the first start key frame and the second play time point for playing the first end key frame based on the adjusted animation duration, to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point. The specific manner includes:
[0016] Obtain the split shot to which the virtual role belongs, and determine the script statement in which the target additive animation is located as a target script statement in the script statement set included in the split shot; the target script statement is used to indicate an additive animation set of the virtual role; the additive animation set includes the target additive animation;
[0017] Based on the adjusted animation duration, update the statement play time point corresponding to each script statement in the script statement set respectively to obtain a statement updated play time point corresponding to each script statement respectively;
[0018] Based on the statement updated play time point corresponding to the target script statement, update the first play time point for playing the first start key frame and the second play time point for playing the first end key frame, to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point.
[0019] In one embodiment, the target script statement is used to indicate an additive animation set of the virtual role, and the additive animation set includes M additive animations; M is a positive integer;
[0020] The specific implementation manner in which the time updating module updates the first play time point for playing the first start key frame and the second play time point for playing the first end key frame based on the statement updated play time point corresponding to the target script statement to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point includes:
[0021] Sort the M additive animations according to the animation play order of each additive animation in the target script statement, to obtain a first animation sequence;
[0022] Based on the sequence position of the target additive animation in the first animation sequence, sequence cut the first animation sequence to obtain a cut sub-sequence; in the cut sub-sequence, a sequence start animation is located at a sequence start position of the cut sub-sequence, and the target additive animation is located at a sequence end position of the cut sub-sequence; the sequence start animation refers to an additive animation located at the sequence start position in the first animation sequence;
[0023] The first sum duration is obtained by performing sum operation processing on current animation durations corresponding to each of the priority playing animations.
[0024] The first update playing time point corresponding to the first playing time point is obtained by performing operation processing on the statement update playing time point corresponding to the target script statement and the first sum duration.
[0025] The second sum duration is obtained by performing sum operation processing on the first sum duration and the adjustment animation duration of the target added animation, and the second update playing time point corresponding to the second playing time point is obtained by performing operation processing on the statement update playing time point corresponding to the target script statement and the second sum duration.
[0026] In an embodiment, the data processing apparatus can further include:
[0027] The drag response module is configured to, in response to the drag operation of the object on the first identifier, update the first animation moving path in real time to obtain a second animation moving path, and display the virtual character in a selected state at a first drag end position in the second animation moving path; the first drag end position refers to a position of the first identifier in the second animation moving path.
[0028] The feature adjustment module is configured to, in response to an adjustment operation of the object on the character attribute feature of the virtual character in the selected state at the first drag end position, obtain a first adjusted character attribute feature of the virtual character at the first drag end position.
[0029] The drag response module is further configured to, in response to a drag operation of the object on the second identifier, update the second animation moving path in real time to obtain a third animation moving path, and display the virtual character in a selected state at a second drag end position in the third animation moving path; the second drag end position refers to a position of the second identifier in the third animation moving path.
[0030] The feature adjustment module is further configured to, in response to an adjustment operation of the object on the character attribute feature of the virtual character in the selected state at the second drag end position, obtain a second adjusted character attribute feature of the virtual character at the second drag end position.
[0031] The video updating module is configured to update the first animation video according to the first dragging end position, the second dragging end position, the first adjusted role attribute feature, and the second adjusted role attribute feature, to obtain a second animation video; in the second animation video, a movement path of the virtual role is a third animation movement path, and a role attribute feature of the virtual role at a first updated playback time point is the first adjusted role attribute feature, and a role attribute feature of the virtual role at a second updated playback time point is the second adjusted role attribute feature.
[0032] In one embodiment, the data processing apparatus can further include:
[0033] The frame attribute determining module is configured to determine the first dragging end position and the first adjusted role attribute feature as frame attributes of a first start key frame, and determine the second dragging end position and the second adjusted role attribute feature as frame attributes of a first end key frame.
[0034] The character generating module is configured to obtain an animation character for uniquely representing the target added animation, generate a first frame attribute character for uniquely representing the frame attributes of the first start key frame, and a second frame attribute character for uniquely representing the frame attributes of the first end key frame, based on the animation character of the target added animation.
[0035] The relationship establishing module is configured to establish an association relationship between the animation character and the first updated playback time point, and establish an implicit dependency relationship between the animation character and the first frame attribute character.
[0036] The relationship establishing module is further configured to establish an association relationship between the animation character and the second updated playback time point, and establish an implicit dependency relationship between the animation character and the second frame attribute character.
[0037] In one embodiment, the path display module displays a specific implementation manner of the first animation movement path for the target added animation in the animation production interface for the virtual role, including:
[0038] The script statement set contained in the scene, and determine a script statement where the target added animation is located as a target script statement; the target script statement is used to indicate an added animation set of the virtual role; the added animation set contains M added animations, the M added animations contain the target added animation; M is a positive integer;
[0039] Count the number of animations of the priority added animations contained in the added animation set; the priority added animations refer to the added animations in the added animation set except the target added animation.
[0040] If the number of animations is an invalid value, a current line-of-sight direction of the virtual character is obtained, and based on the current line-of-sight direction of the virtual character, the first identifier, and the second identifier, the first animation movement path is displayed in the animation production interface for the virtual character.
[0041] If the number of animations is a valid value, based on the priority-added animations contained in the added set, the first animation movement path is displayed in the animation production interface for the virtual character.
[0042] In one embodiment, a specific implementation of the path display module for displaying the first animation movement path in the animation production interface for the virtual character based on the current line-of-sight direction of the virtual character, the first identifier, and the second identifier includes:
[0043] An interface position of the virtual character in the animation production interface is obtained, and the interface position of the virtual character is determined as a first identifier display position of the first identifier in the animation production interface.
[0044] A configuration path display length for the target-added animation is obtained, and based on the configuration path display length, the first identifier display position, and the current line-of-sight direction of the virtual character, a second identifier display position of the second identifier in the animation production interface is determined.
[0045] The first identifier is displayed at the first identifier display position, the second identifier is displayed at the second identifier display position, a pointing edge from the first identifier to the second identifier is displayed between the first identifier at the first identifier display position and the second identifier at the second identifier display position, and a movement path containing the first identifier, the second identifier, and the pointing edge from the first identifier to the second identifier is determined as the first animation movement path.
[0046] In one embodiment, a specific implementation of the path display module for displaying the first animation movement path in the animation production interface for the virtual character based on the priority-added animations contained in the added set includes:
[0047] M added animations are sorted according to an animation playing order of each added animation in a target script statement, to obtain a second animation sequence.
[0048] If the target-added animation is located at a sequence start position in the second animation sequence, based on an existing animation movement path of a subsequent animation in the animation production interface, the first animation movement path is displayed in the animation production interface for the virtual character; the subsequent animation refers to a next added animation of the target-added animation in the second animation sequence.
[0049] If the target added animation is located in the middle of the sequence in the second animation sequence, the first animation movement path is displayed in the animation production interface for the virtual character based on the existing animation movement path of the preceding animation and the succeeding animation in the animation production interface; the succeeding animation refers to the next added animation of the target added animation in the second animation sequence; the preceding animation refers to the previous added animation of the target added animation in the second animation sequence.
[0050] If the target added animation is located at the end of the sequence in the second animation sequence, the first animation movement path is displayed in the animation production interface for the virtual character based on the existing animation movement path of the preceding animation in the animation production interface; the preceding animation refers to the previous added animation of the target added animation in the second animation sequence.
[0051] In one embodiment, the path display module displays the first animation movement path in the animation production interface for the virtual character based on the existing animation movement path of the preceding animation and the succeeding animation in the animation production interface, and the specific implementation manner includes:
[0052] The existing animation movement path of the preceding animation in the animation production interface is determined as a preceding path, and the existing animation movement path of the succeeding animation in the animation production interface is determined as a succeeding path.
[0053] A third identifier in the preceding path and a fourth identifier in the succeeding path are obtained; the third identifier is used to fix the position of the virtual character in a second end key frame, and the second end key frame refers to an end frame of the preceding animation; the fourth identifier is used to fix the position of the virtual character in a second start key frame, and the second start key frame refers to a first frame of the succeeding animation.
[0054] A third identifier display position in the preceding path is determined as the position of the third identifier in the animation production interface, the character line-of-sight direction of the virtual character at the third identifier display position is obtained, and a configuration path display length of the target added animation is obtained.
[0055] The first updated identifier display position of the fourth identifier in the animation production interface is determined based on the character line-of-sight direction, the third identifier display position, and the configuration path display length.
[0056] The fourth identifier display position in the succeeding path is determined as the position of the fourth identifier in the animation production interface, and the display position of the fourth identifier is changed from the fourth identifier display position to the updated identifier display position; the succeeding path is updated in real time along with the update of the position of the fourth identifier.
[0057] Between the third identifier at the third identifier display position and the fourth identifier at the first update identifier display position, a pointing edge from the third identifier to the fourth identifier is displayed. The movement path containing the third identifier, the fourth identifier, and the pointing edge from the third identifier to the fourth identifier is determined as the first animation movement path.
[0058] In one embodiment, the first animated movement path further includes an animation label control for representing the addition of animation to the target;
[0059] The path display module is also used to respond to the object's trigger operation on the animation label control in the first animation movement path, and display the animation adjustment panel for adding animation to the target; the animation adjustment panel contains the animation deletion control for adding animation to the target;
[0060] The path display module is also used to respond to the object's trigger operation on the animation deletion control, and delete the first animation movement path in the animation production interface;
[0061] The path display module is also used to change the display position of the fourth identifier from the update identifier display position to the fourth identifier display position; the subsequent path is updated in real time as the position of the fourth identifier is updated.
[0062] In one embodiment, the first animated movement path further includes an animation label control for representing the addition of animation to the target;
[0063] The module for adjusting the duration of an animation responds to the target animation's duration adjustment operation. The specific implementation of obtaining the adjusted animation duration for the target animation includes:
[0064] In response to a trigger operation of the animation label control in the first animation movement path, display the animation adjustment panel for adding animation to the target; the animation duration of the target animation displayed in the animation adjustment panel is the initial animation duration;
[0065] The response object adjusts the initial animation duration of the animation added to the target in the animation adjustment panel, obtains the duration value entered by the object in the animation adjustment panel, and determines the duration value as the adjusted animation duration of the animation added to the target.
[0066] In one embodiment, the first animated movement path further includes an animation label control for representing the addition of animation to the target;
[0067] The data processing apparatus may also include:
[0068] The panel display module is used to respond to the triggering operation of the animation label control in the first animation movement path by the object, and to display the animation adjustment panel for adding animation to the target; the animation property of the target added to the animation displayed in the animation adjustment panel is the displacement property;
[0069] The attribute changing module is configured to change the animation attribute of the target from the displacement attribute to the keep-in-place attribute in response to an attribute adjustment operation of the object on the displacement attribute of the target added animation in the animation adjustment interface.
[0070] The position determining module is configured to determine a position where the first mark is located in the first animation movement path as the attribute switching position in the animation production interface.
[0071] The path deleting module is configured to delete the first animation movement path in the animation production interface and display the animation label control in a draggable state at the attribute switching position. During the process of dragging the animation label control in the draggable state, the position of the virtual character is updated in real time along with the position of the animation label control.
[0072] In an embodiment, the data processing apparatus can further include:
[0073] The script statement determining module is configured to obtain a shot to which the virtual character belongs, determine a script statement where the target added animation is located as a target script statement in a script statement set included in the shot, and use the target script statement to indicate an added animation set of the virtual character, wherein the added animation set includes the target added animation.
[0074] The time point updating module is configured to update an animation playing time point of a shot animation included in the shot in response to an animation update operation on the added animation set, wherein the animation update operation on the added animation set includes an animation adding operation, an animation deleting operation, and an animation adjustment operation.
[0075] In an embodiment, the animation update operation on the added animation set is the animation adding operation, and the shot animation included in the shot includes the target added animation in the target script statement.
[0076] The time point updating module updates the animation playing time point of the shot animation included in the shot in response to the animation update operation on the added animation set in the following specific implementation manners:
[0077] In response to the animation adding operation on the added animation set, the time point updating module is configured to obtain an added animation for the added animation set and an added animation duration of the added animation.
[0078] The time point updating module sorts the added animation set and the added animation according to an animation playing order of each added animation in the added animation set and the added animation in the target script statement to obtain a third animation sequence.
[0079] An animation playing time point of the target added animation is acquired, and an updated animation playing time point of the target added animation is determined based on arrangement positions between the newly added animation and the target added animation, a time length of the newly added animation, and the animation playing time point of the target added animation in the third animation sequence.
[0080] The animation playing time point of the target added animation in the target script statement is switched and updated to the updated animation playing time point.
[0081] Embodiments of the present application provide a computer device, including a processor and a memory.
[0082] The memory stores a computer program, and the computer program is executed by the processor to enable the processor to execute the method in the embodiments of the present application.
[0083] In an aspect, the embodiments of the present application provide a computer readable storage medium, which stores a computer program. The computer program includes program instructions, and the program instructions are executed by a processor to execute the method in the embodiments of the present application.
[0084] In an aspect, the embodiments of the present application provide a computer program product, which includes a computer program stored in a computer readable storage medium. A processor of a computer device reads the computer program from the computer readable storage medium, and the processor executes the computer program to enable the computer device to execute the method provided in an aspect of the embodiments of the present application.
[0085] In the embodiment of the present application, in the animation production interface for the virtual role, after the object selects a certain configuration animation for the virtual role, the object can add the configuration animation as a target animation. The present application can add a first animation movement path of the target animation in the animation production interface. The first animation movement path refers to a path from a first mark to a second mark. The first mark is used to fix the position of the virtual role in a first starting key frame, and the second mark is used to fix the position of the virtual role in a first ending key frame. The first starting key frame is the first frame of the target animation, and the first ending key frame is the ending frame of the target animation. That is, in the present application, after the object adds the target animation, the object can automatically create key frames before and after the target animation (the first frame and the ending frame). The object can quickly and accurately generate key frames without manually marking points on the timeline. At the same time, the present application can add a movement path of the animation in the animation production interface. The first mark and the second mark in the movement path can quickly switch different key frames, thereby fixing the position of the virtual role in the key frames. At the same time, when the target animation has an animation duration adjustment, the present application can automatically update the playback time points of the first starting key frame and the first ending key frame based on the adjusted animation duration, and then generate an animation video based on the updated playback time points. Thus, even if the animation duration of the target animation changes, the positions of the virtual role in the key frames in the generated animation video do not change (the movement path is still the first animation movement path). As can be seen, the present application innovatively uses the automatic creation of animation key frames to quickly and conveniently generate key frames of character animation. At the same time, the present application can display the movement path of the character animation to provide marks for fixing the position of the character, so that the object can fix the position of the character in each key frame through each mark. Compared with manually marking key frames on the timeline, the present application can improve the convenience of key frame marking. At the same time, the present application can automatically update the playback time points of the key frames based on the change of the animation duration, without manually correcting the key frames on the timeline, thereby improving the production efficiency of the animation video. In summary, the present application can improve the convenience of video editing, thereby improving the efficiency of video editing. BRIEF DESCRIPTION OF DRAWINGS
[0086] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor.
[0087] Figure 1A network architecture diagram of a data processing system provided by an embodiment of the present application;
[0088] Figure 2 A flowchart of a data processing method provided by an embodiment of the present application;
[0089] Figure 3 A schematic diagram of entering an animation production interface provided by an embodiment of the present application;
[0090] Figure 4 A schematic diagram of rotating a virtual character provided by an embodiment of the present application;
[0091] Figure 5 A scene schematic diagram of adjusting animation duration provided by an embodiment of the present application;
[0092] Figure 6 A schematic diagram of time duration progress bar and time axis inter-association provided by an embodiment of the present application;
[0093] Figure 7 A flowchart of displaying animation movement path provided by an embodiment of the present application;
[0094] Figure 8 A scene schematic diagram of displaying animation movement path provided by an embodiment of the present application;
[0095] Figure 9 A scene schematic diagram of displaying first animation movement path provided by an embodiment of the present application;
[0096] Figure 10 A scene schematic diagram of deleting animation movement path provided by an embodiment of the present application;
[0097] Figure 11 A scene schematic diagram of switching displacement attribute of animation provided by an embodiment of the present application;
[0098] Figure 12 A scene schematic diagram of displaying animation movement path after adding target added animation provided by an embodiment of the present application;
[0099] Figure 13 A scene schematic diagram of adjusting position of virtual character by dragging identifier provided by an embodiment of the present application;
[0100] Figure 14 A scene schematic diagram of converting mirror orientation direction of virtual character provided by an embodiment of the present application;
[0101] Figure 15 A scene schematic diagram of representing virtual character by avatar handle provided by an embodiment of the present application;
[0102] Figure 16 is a flowchart of updating an animation playback time point of an added animation in a split shot provided by an embodiment of the present application;
[0103] Figure 17 is a requirement class diagram of key frame maintenance provided by an embodiment of the present application;
[0104] Figure 18 is an exemplary flowchart of correcting an animation playback time point and an animation duration provided by an embodiment of the present application;
[0105] Figure 19 is a requirement class diagram of animation preview area rendering provided by an embodiment of the present application;
[0106] Figure 20 is a schematic diagram of a multi-fork tree provided by an embodiment of the present application;
[0107] Figure 21 is a schematic diagram of a multi-fork tree of an animation with a keep original position attribute provided by an embodiment of the present application;
[0108] Figure 22 is a schematic diagram of a multi-fork tree provided by an embodiment of the present application;
[0109] Figure 23 is a schematic diagram of another multi-fork tree provided by an embodiment of the present application;
[0110] Figure 24 is a structural schematic diagram of a data processing apparatus provided by an embodiment of the present application;
[0111] Figure 25 is a structural schematic diagram of a computer device provided by an embodiment of the present application. DETAILED DESCRIPTION
[0112] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor fall within the scope of protection of the present application.
[0113] The present application embodiments relate to artificial intelligence and related concepts. For ease of understanding, the following will first briefly describe artificial intelligence and related concepts:
[0114] Artificial Intelligence (AI) is the theory, method, technology and application system of using digital computer or machine controlled by digital computer to simulate, extend and expand human intelligence, perceive environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology of computer science, which attempts to understand the essence of intelligence and produce a new intelligent machine that can react in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines, so that machines have the functions of perception, reasoning and decision-making.
[0115] Artificial intelligence technology is a comprehensive discipline, involving a wide range of fields, both hardware and software technologies. Artificial intelligence basic technologies generally include technologies such as sensors, special artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction system, mechatronics, etc. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning, etc.
[0116] With the research and progress of artificial intelligence technology, artificial intelligence technology is researched and applied in many fields, such as common smart home, smart wearable device, virtual assistant, smart speaker, smart marketing, unmanned vehicle, autonomous vehicle, unmanned aerial vehicle, robot, intelligent medical treatment, intelligent customer service, etc. It is believed that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.
[0117] The scheme provided by the embodiments of the present application belongs to the computer vision technology (Computer Vision, CV) under the field of artificial intelligence.
[0118] Computer vision technology (Computer Vision, CV) Computer vision is a science that studies how to make machines "see". Further, it refers to using cameras and computers to replace human eyes to identify, measure and other machine vision targets, and further do image processing, so that the computer processing becomes more suitable for human eye observation or image transmission to instrument detection. As a scientific discipline, computer vision researches related theories and technologies, and tries to establish an artificial intelligence system that can obtain information from images or multidimensional data. Computer vision technology usually includes image processing, image recognition, image semantic understanding, image retrieval, OCR, video processing, video semantic understanding, video content / behavior recognition, three-dimensional object reconstruction, 3D technology, virtual reality, augmented reality, simultaneous localization and mapping, autonomous driving, intelligent transportation, etc. It also includes common face recognition, fingerprint recognition and other biometric identification technologies. The embodiments of the present application mainly relate to video processing technology in computer vision technology.
[0119] The scheme provided by the embodiments of the present application is mainly a scheme for quickly making a key frame animation. For ease of understanding, the related concepts will be briefly described first as follows:
[0120] Key frame: refers to a frame where a key action of a character or object motion or change is located, which is a computer animation term, equivalent to a layout in two-dimensional animation. According to the use, the key frame can be divided into a normal key frame (used for processing graphics images and animations) and a motion script key frame (used for storing a motion script, and the key frame can control a flash movie and a movie clip therein through the motion script).
[0121] Skeleton animation: a computer animation technology that divides a three-dimensional model into two parts: a skin used for drawing the model, and a skeleton used for controlling the motion. Different from traditional frame-by-frame animation, skeleton animation uses a built skeleton to apply to one or more pictures to make the pictures move, which saves a lot of time and effort compared to drawing one picture after another, and can make the pictures move more dynamically.
[0122] Spine: a 2D skeleton animation editing tool for game development, which provides a set of skeleton animation data definition and runtime library. In the present application, the skeleton animation can use the Spine skeleton animation, and the Spine data structure is used.
[0123] Property animation: an animation effect achieved by controlling the properties of a character. That is, any character property animation is changed over time (it should be noted that the properties involved in the present application can include rotation, scaling, etc.).
[0124] For ease of understanding, please refer to Figure 1 , Figure 1 is a network architecture diagram of a data processing system provided by the embodiments of the present application. As Figure 1 indicated, the network architecture can include a business server 1000 and a terminal device cluster, and the terminal device cluster can include one or more terminal devices, which will not be limited in number here. As Figure 1 indicated, the plurality of terminal devices can include a terminal device 100a, a terminal device 100b, a terminal device 100c, …, and a terminal device 100n; as Figure 1 indicated, the terminal device 100a, the terminal device 100b, the terminal device 100c, …, and the terminal device 100n can be respectively connected with the business server 1000 in a network, so that each terminal device can perform data interaction with the business server 1000 through the network connection. In addition, any terminal device in the terminal device cluster 100 can be an intelligent device running an operating system, and the operating system of the terminal device is not specifically limited in the embodiments of the present application.
[0125] AsFigure 1 The terminal devices in the data processing system shown can be smartphones, tablets, laptops, PDAs, desktop computers, mobile internet devices (MIDs), POS (Point of Sales) machines, smart speakers, smart TVs, smartwatches, smart in-vehicle terminals, virtual reality (VR) devices, augmented reality (AR) devices, etc., but are not limited to these. Terminal devices are often equipped with display devices, which can be monitors, displays, touchscreens, etc., and touchscreens can be touchscreens, touch panels, etc.
[0126] like Figure 1 The business server in the data processing system shown can be a single physical server, a server cluster consisting of multiple physical servers, or a distributed system. It can also be a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Terminal devices and business servers can be connected directly or indirectly via wired or wireless communication; this application does not impose any restrictions on this.
[0127] In a possible implementation, a client, such as a video client, a browser client, a game client, an education client, or the like, runs in a terminal device, such as the terminal device 100a, and in each embodiment of the present application, the video client is taken as an example for description. The terminal device 100a can display a Flutter interface (Flutter is a mobile UI (User Interface) framework that can quickly build high-quality native user interfaces on operating systems) to an object (the object can be a user, a robot, an artificial intelligence program, or the like) in the video client, and the Flutter interface can provide a video editing interface for video editing and can be used to display an animation video. When the object runs the video client through the terminal device, the business server 1000 can provide the terminal device with video materials (for example, an identifier of a virtual character, an action animation of the virtual character, a background of the virtual character, and the like) required in a video editing process, and the object can edit a video based on the materials provided by the business server 1000. Specifically, the object can add a background and an action animation to the virtual character based on the materials provided by the business server 1000, and finally generate an animation video containing the action animation and the background of the virtual character. In other words, the business server 1000 can deliver materials required by the object in the video editing process to the terminal device, the object can select and add the materials, and the terminal device can generate an animation video based on the materials selected and added by the object.
[0128] For ease of understanding, the following will take the terminal device 100a as an example to describe the interaction process between the terminal device and the business server 1000.
[0129] 1) First, the terminal device 100a can display a video editing interface. In the present application, the video editing interface can be used to add an action animation, a dialogue, a scene, or the like to a virtual character by the object.
[0130] 2) Subsequently, the object can select a certain virtual role in the video editing interface to make an animated video for the virtual role. In this case, the terminal device 100a can provide a role adding control for the virtual role in the video editing interface, and the object can select to add a certain virtual role (in this application, the virtual role selected by the object can be referred to as a target virtual role) through the role adding control. Of course, the terminal device 100a can also display the historical animated videos created by the object in the video editing interface, and the object can select a certain historical virtual role in a certain historical animated video as the virtual role (i.e., the target virtual role) to be animated. After the virtual role is determined, the terminal device 100a can obtain the related configuration information (such as the identifier and name of the virtual role) of the virtual role from the service server 1000, and the terminal device 100a can display the virtual role in the video editing interface.
[0131] 3) Subsequently, the object can add a configuration animation for the virtual role in the video editing interface. In this case, the terminal device 100a can display an animation adding control for the configuration animation in the video editing interface, and the object can add a certain configuration animation (which can be selected from a configuration animation set) for the virtual role through the animation adding control. Each configuration animation in the configuration animation set in this application can be understood as a Spine bone animation material, which can be generated based on a Spine data structure. Specifically, the configuration animation in the configuration animation set can be any action animation, for example, can include but is not limited to walking animation, running animation, waving animation, dancing animation, laughing animation, leaning against the wall to laugh animation, looking up animation, cheering animation, crying animation, covering mouth animation, sobbing animation, thinking animation, drinking water animation, etc. It should be understood that after the object triggers the animation adding control, the terminal device 100a can obtain these animation materials (configuration animation set) from the service server 1000, and then can display an animation making interface containing the configuration animation set, and the object can select a configuration animation for the virtual role in the configuration animation set contained in the animation making interface. The configuration animation selected by the object for the virtual role can be referred to as a target added animation.
[0132] 4) Further, the terminal 100a can automatically add key frames for the target animation, specifically, the terminal 100a can add the first frame of the target animation and the end frame of the target animation as key frames of the target animation, where the first frame can be referred to as the starting key frame of the target animation (for the sake of distinction, it can be referred to as the first starting key frame), and the end frame can be referred to as the ending key frame of the target animation (for the sake of distinction, it can be referred to as the first ending key frame). The terminal device 100a can display a movement route (which can be referred to as a first animation movement path) for the target animation in the animation making interface, which includes a first identifier and a second identifier, and the first identifier can be used to associate the first starting key frame, and through the first identifier, the position of the virtual character in the first starting key frame (the position of the virtual character can be adjusted by dragging the first identifier) and the character attribute features of the virtual character in the first starting key frame (the character attribute features are features used to describe the character attributes of the virtual character, which include but are not limited to size attributes and rotation angle attributes) can be fixed; the second identifier can be used to associate the first ending key frame, and through the second identifier, the position of the virtual character in the first ending key frame (the position of the virtual character can be adjusted by dragging the second identifier) and the character attribute features of the virtual character in the first ending key frame can be fixed. In other words, the object can quickly switch between the first starting key frame and the first ending key frame by clicking the first identifier and the second identifier, so that the position, size, and rotation angle of the virtual character in the first starting key frame can be finely adjusted through the first identifier, and the position, size, and rotation angle of the virtual character in the first ending key frame can be finely adjusted through the second identifier. It should be understood that when the position, size, and rotation angle of the virtual character in each key frame are determined, the animation video can be generated, and during the playback of the animation video, at the playback time point of the first starting key frame, the position of the virtual character is the position of the first identifier in the animation making interface, at the playback time point of the first ending key frame, the position of the virtual character is the position of the second identifier in the animation making interface, in addition, at the playback time point of the first starting key frame, the size and rotation angle of the virtual character are the size and rotation angle fixed by the first identifier, and at the playback time point of the second starting key frame, the size and rotation angle of the virtual character are the size and rotation angle fixed by the second identifier.
[0133] 5) For the target added animation, the object can also adjust the animation duration thereof. Specifically, after the object selects a target added animation for the virtual character, the animation duration of the target added animation is usually a default initial duration (the default initial duration can be artificially preset, such as 3s, 5s, 2s, etc.), and the object can adjust the animation duration (such as the default initial duration) of the target added animation, and the application can refer to the adjusted animation duration as an adjusted animation duration, and the terminal device 100a can update the playback time points of the first start key frame and the first end key frame based on the adjusted animation duration, so that the playback time points of the key frames can automatically change dynamically with the adjustment of the animation duration.
[0134] 6) Based on the updated playback time points of the first start key frame and the first end key frame, the animation video (which can be understood as a new animation video) can be generated again, and in the process of playing the animation video, the playback time points of the first start key frame and the first end key frame can be updated, and at the new playback time points, the position, size and rotation angle of the virtual character are the same as those at the previous playback time points. For example, at the updated playback time point of the first end key frame, the position of the virtual character is the position of the second identifier in the animation making interface, and in addition, at the updated playback time point of the first end key frame, the size and rotation angle of the virtual character are also the size and rotation angle fixed by the second identifier.
[0135] It should be understood that the embodiments of the present application specifically provide a method for making a keyframe animation video, through the keyframe animation video making scheme provided by the present application, keyframes can be automatically created for adding animation to a virtual character, keyframes of character animation can be quickly and conveniently generated, without manually dotting on the timeline, and the keyframes of the animation can be obtained. Meanwhile, the present application increases the display of the moving path of the character animation to provide an identifier for fixing the position of the character, so that the object can fix the position of the character at each keyframe through each identifier. Compared with the manual keyframe dotting method on the timeline, the present application can improve the convenience of keyframe dotting. Meanwhile, the present application can automatically dynamically update the play time point of the keyframe based on the change of the animation duration, without manually correcting the keyframe on the timeline, and can greatly improve the production efficiency of the animation video. It should be noted that in the related art, after the object adds a certain animation to the virtual character, the terminal device presents the related information (such as the animation duration) of the animation on the timeline, and the object needs to accurately dot the keyframes of the animation on the timeline (dotting can be understood as marking). For example, taking adding a waving hand animation to a virtual character as an example, the object can dot a point (make a mark) on the timeline at the start time point of the animation, and the point can be used to represent that the first frame is a keyframe of the waving hand animation, and the play time point of the keyframe is the time point dotted on the timeline. Then, the object can adjust the position, size, rotation angle, etc. of the virtual character at the start time point. Meanwhile, the object can also dot a point on the timeline at the end time point of the waving hand animation, and the point can be used to represent that the end frame is a keyframe of the animation, and the play time point of the keyframe is the end time point dotted on the timeline. Then, the object can adjust the position, size, rotation angle, etc. of the virtual character at the end time point. Thus, through the two keyframes on the timeline and the corresponding play time points, an animation video of a virtual character waving hands can be generated, in which the virtual character gradually moves from the position of the start time point to the position of the end time point, and gradually changes from the size of the start time point to the size of the end time point (the rotation angle also gradually changes). If the object changes the animation duration of the waving hand animation, the two keyframe points (i.e. one point dotted at the start time point and one point dotted at the end time point) will still exist on the timeline (the marked time points on the timeline will still exist on the timeline), but the duration of the waving hand animation has been adjusted, and the play time points of the two keyframes should also be changed, which will cause the position, size, rotation angle of the virtual character to be unable to match the time points of the keyframes. At this time, in order to realize the matching of the time points of the keyframes, the object needs to manually delete the original keyframe points on the timeline, and then manually add new keyframe points based on the new animation duration, which is tedious and inconvenient.Based on this, it can be seen that the key frame animation video production scheme provided by the application can automatically create key frames of character animation (such as the hand waving animation described above), and dynamically update the key frame time points based on the adjusted animation duration. Compared with the manual operation on the time axis described above, the convenience and efficiency of animation production can be improved, that is, the convenience and efficiency of video editing can be improved.
[0136] It can be understood that the method provided by the embodiments of the application can be executed by a computer device, which includes but is not limited to Figure 1 terminal device or service server mentioned in the background of the application.
[0137] It should be noted that in the specific embodiments of the application, the data related to user information, user data, etc. are all obtained after manual authorization and permission of the user (i.e. after the user's consent). That is, when the above embodiments of the application are applied to specific products or technologies, the method and related functions provided by the embodiments of the application are run under the permission or consent of the user (the functions provided by the embodiments of the application can be actively started by the user), and the collection, use and processing of related data need to comply with relevant laws, regulations and standards of relevant countries and regions.
[0138] For ease of understanding, the data processing method (video editing method, specifically key frame animation video production method) provided by the embodiments of the application will be described in detail below in combination with the drawings. Please refer to Figure 2 , Figure 2 is a flowchart of a data processing method provided by an embodiment of the application. The method can be executed by a terminal device (for example, any terminal device in the terminal device cluster shown in the terminal device 100a in the above Figure 1 , or a server (such as the service server 1000 in the above Figure 1 corresponding embodiment), or by a terminal device and a server together. For ease of understanding, the embodiment will be described by taking the method executed by the terminal device as an example. As shown in Figure 2 , the data processing method can at least include the following steps S101-S107:
[0139] Step S101: In the animation creation interface for the virtual character, the first animation movement path for adding animation to the target is displayed; the target animation is a configuration animation selected by the object for the virtual character in the configuration animation set; the first animation movement path refers to the path from the first identifier to the second identifier, the first identifier is used to fix the position of the virtual character in the first start keyframe, and the second identifier is used to fix the position of the virtual character in the first end keyframe; the first start keyframe is the first frame of the target animation, and the first end keyframe is the end frame of the target animation.
[0140] In this application, the animation production interface can refer to an interface running in a video client used to add animations to virtual characters. In one feasible embodiment, one can enter the video editing interface through the video client's creation homepage interface, and then enter the animation production interface through the video editing interface. The video editing interface can be an interface for creating a new video; it can also be an interface for modifying and updating historical videos. For example, please refer to... Figure 3 , Figure 3 This is a schematic diagram illustrating entry into an animation creation interface provided in an embodiment of this application. For example... Figure 3 The interface 2002 shown can be an exemplary interface for video editing. This video editing interface 2002 may include multiple (usually two or more) functional controls, such as scene addition controls, dialogue addition controls, storyboard addition controls, animation addition controls, etc. The scene addition control can be used to add a background (such as a background image) to a virtual character; the dialogue addition control can be used to select a virtual character and add corresponding dialogue; the storyboard addition control can be used to add a new storyboard (a storyboard can be directly translated as a storyboard, which can refer to various video media such as movies, animations, TV series, advertisements, music videos, etc., which, before actual shooting or drawing, uses a diagrammatic approach to illustrate the composition of the image, breaking down continuous shots into units of one camera movement, and marking the camera movement method, duration, dialogue, special effects, etc. In this application, one or more storyboards can form an animated video). It should be noted that, as Figure 3 The video editing interface shown may also include a character addition entry (such as a character management control). Objects can use this character management control to add a new virtual character in the corresponding storyboard, or delete or modify existing virtual characters in the storyboard.
[0141] It should be understood that, such as Figure 3The interface 2001 shown can be an example of a creation home interface of a video client. After the object starts running the video client in the terminal device, the terminal device can preferentially display the creation home interface 2001. In the creation home interface 2001, a video editing entry 2011 (which can be understood as a video editing control) can be provided. When the object triggers the video editing control 2011, the terminal device can display a video editing interface 2002 in response to the triggering operation. The object can enter an animation production interface through the video editing interface 2002. For example, when the object triggers an animation adding control in the animation production interface, the terminal device can display different virtual characters for the object to select in response to the triggering operation. After the object selects a virtual character, the terminal device can display a configuration animation set for the object to select to add a configuration animation to the virtual character.
[0142] In this application, the configuration animation set can be an animation material library developed based on the Spine data structure. In other words, the configuration animation set can be understood as an animation material library containing different action animations. Each configuration animation in the configuration animation set can be an action animation, such as a walking animation, a running animation, a waving animation, a dancing animation, a laughing animation, a leaning-on-wall laughing animation, a looking-up animation, a cheering animation, a crying animation, a covering-mouth animation, a sobbing animation, a thinking animation, a drinking animation, etc. It will not be repeated here. It should be understood that after the object selects a virtual character, the terminal device can display an animation production interface for the virtual character and display the configuration animation set in the animation production interface. The object can select a configuration animation as a target adding animation in the configuration animation set to give the virtual character a corresponding action. For example, the object selects a walking animation as a target adding animation in the configuration animation set, which means that the object expects to give the virtual character the action of walking. Then, an animation video of the virtual character walking can be generated.
[0143] In order to control the presentation effect of the animation video more flexibly, the key frames can be applied in the video editing process. Specifically, the position (e.g., the frame in the target added animation is the key frame, and the position of the key frame is equivalent to the arrangement position of the frame in the target added animation) and the time node (the time node can be understood as the time point of the key frame in the target added animation, i.e., the time point corresponding to the arrangement position of the frame) of the key frame can be defined in the animation (e.g., the target added animation) added for the virtual character (e.g., the target added animation), and then the position, size, etc. of the virtual character on the key frame can be set, so that the performance form and effect of the generated animation video can be changed through each defined key frame. For example, the object selects "walk animation" as the target added animation in the configuration animation set, and the animation duration of the target added animation is 3s. Then, the frame at the starting time point of the target added animation can be set as a key frame, and the frame at the ending time point of the target added animation can be set as a key frame. Then, the position 1, size 1, etc. of the virtual character at the starting time point (the position 1 and size 1, etc. of the virtual character at the starting time point can be understood as the position, size, etc. in the key frame) can be defined, and the position 2, size 2, etc. of the virtual character at the ending time point (the position 2 and size 2, etc. of the virtual character at the ending time point can be understood as the position, size, etc. in the key frame) can be defined. Based on the time points of the two key frames and the position, size, etc. of the virtual character in each key frame, an animation video can be generated. The total duration of the animation video is 3s, and in the animation video, the virtual character is at the position 1 at the starting time point, and at the position 2 at the ending time point. The size of the virtual character is size 1 at the starting time point, and size 2 at the ending time point. That is, in the animation video, the virtual character gradually moves from the position 1 to the position 2, and in the process of moving from the position 1 to the position 2, the size of the virtual character gradually changes from size 1 to size 2 (assuming that size 2 is larger than size 1, then the size of the virtual character gradually increases from size 1 to size 2).
[0144] Based on the above, in the animation production process of the virtual role, key frames can be applied to flexibly change the relevant information (such as position, size, etc.) of the virtual role at each time node in the animation video, so that the presentation effect of the animation video of the virtual role can be flexibly adjusted. In the present application, after the object adds the target adding animation to the virtual role, two key frames can be automatically created before and after the target adding animation, specifically, the first frame of the target adding animation (which can refer to the frame corresponding to the play starting time point of the target adding animation. For example, the animation play starting time point of the target adding animation is time point a, and the frame indicated by the animation play starting time point a is the first frame of the target adding animation) can be taken as a key frame (for the sake of distinction, it can be named as the first starting key frame, and the time point of the first starting key frame can be the play starting time point of the target adding animation, such as 5s), or the end frame of the target adding animation (which can refer to the frame corresponding to the play ending time point of the target adding animation. For example, the animation play ending time point of the target adding animation is time point b, and the frame indicated by the animation play ending time point b is the end frame of the target adding animation) can be taken as a key frame (which can be named as the first ending key frame, and the time point of the first ending key frame can be the play ending time point of the target adding animation, such as 8s. The time length between the time point corresponding to the first starting key frame and the time point corresponding to the first ending key frame is the animation time length of the target adding animation (such as the default initial time length of 3s)).
[0145] It can be understood that creating a key frame for the target added animation actually means that, based on the animation duration of the target added animation (such as the default initial duration) and the animation play starting time point of the target added animation, a frame corresponding to a certain play time point in the target added animation is taken as a key frame of the target added animation. In this application, the frame corresponding to the animation play starting time point and the frame corresponding to the animation play ending time point are taken as the key frames of the target added animation (that is, two key frames, specifically the first starting key frame and the first ending key frame, are automatically created before and after the animation of the target added animation). By automatically creating key frames for the target added animation, the convenience of creating key frames in the animation video production process can be improved. In addition, in order to improve the presentation effect of the animation video containing the virtual role, after adding the target added animation and determining the key frames of the target added animation, the relevant information (such as position, size, rotation angle, etc.) of the virtual role at each time point can be determined through the key frames of the target added animation. For example, for the first starting key frame, the application can refer to the play time point for playing the first starting key frame as the first play time point (because the first starting key frame is the first frame of the target added animation, so actually, the first play time point is consistent with the animation play starting time point of the target added animation), after the first starting key frame is created, the relevant information (such as position, size, rotation angle, etc.) of the virtual role at the first play time point corresponding to the first starting key frame can be adjusted. The relevant information of the virtual role at the time point corresponding to the key frame can also be understood as the information presented by the virtual role in the key frame (for example, the position, size, rotation angle, etc. of the virtual role at the first play time point can also be understood as the position, size, rotation angle, etc. presented by the virtual role in the first starting key frame).
[0146] Further, the terminal device can display the animation movement path (which can be referred to as a first animation movement path) of the target added animation in the animation production interface, and the first animation movement path can be used to represent the movement route of the virtual character after the target added animation is added to the virtual character. For example, after the object selects the walk animation to be added to the virtual character, the terminal device can display the walk path of the walk animation in the animation production interface. The animation movement path can include two marks, which can be used to represent the starting point of the path and the end point of the path. The mark representing the starting point of the path can be a first mark, which can correspond to a first play time point of a first starting key frame. In other words, the position of the first mark in the animation production interface, i.e., the position of the virtual character at the first play time point, can be clearly presented. The mark representing the end point of the path can be a second mark, which can correspond to a second play time point of a first ending key frame. The position of the second mark in the animation production interface, i.e., the position of the virtual character at the second play time point, can be clearly presented. In other words, through the first mark, the position of the virtual character at the first play time point can be clearly presented. The object can change the position of the first mark in the animation production interface through a drag and move operation on the first mark. In other words, the object can change the position of the virtual character at the first play time point through a drag and move operation on the first mark. The first mark can be used to fix (adjust) the position of the virtual character in the first starting key frame. Similarly, through the second mark, the position of the virtual character at the second play time point can be clearly presented. The object can change the position of the second mark in the animation production interface through a drag and move operation on the second mark. In other words, the object can change the position of the virtual character at the second play time point through a drag and move operation on the second mark. The second mark can be used to fix (adjust) the position of the virtual character in the first ending key frame.
[0147] It should be understood that the application can refer to the playback time point of each key frame as a key frame point (or a key frame time point, for example, the first playback time point corresponding to the first starting key frame, which can also be referred to as the key frame point of the first starting key frame). In order to further improve the convenience of animation video production, for the key frame point of the first starting key frame and the key frame point of the first ending key frame of the target to which the animation is added, the application can implicitly present in the animation production interface in the presentation mode of the moving path. By displaying the first animation moving path from the first identifier to the second identifier in the animation production interface, not only can the moving direction of the virtual character be clearly and intuitively presented, but also the moving starting point and the moving ending point of the virtual character can be intuitively presented. At the same time, the object can quickly switch the key frame point of the first starting key frame and the key frame point of the first ending key frame through the first identifier and the second identifier. Through the drag and move operation of the first identifier and the second identifier, the moving starting position (i.e. the position at the first playback time point) and the moving ending position (i.e. the position at the second playback time point) of the virtual character can be conveniently and quickly adjusted. It should be noted that in addition to being able to adjust the position of the virtual character at each playback time point, the first identifier and the second identifier can also be used to conveniently and quickly adjust the role attribute characteristics (size attribute and rotation angle attribute) of the virtual character at each playback time point. For example, the virtual character can lock the playback time point corresponding to the first starting key frame through the trigger operation of the first identifier, and then change the size, rotation angle, orientation direction, etc. information of the virtual character at that time point. That is, the first identifier is also used to fix the first role attribute characteristics of the virtual character in the first starting key frame, and the second identifier is also used to fix the second role attribute characteristics of the virtual character in the first ending key frame.
[0148] It should be noted that the position of the virtual role mentioned in the present application can be determined based on the display interface of the terminal device. Specifically, the action making interface refers to the terminal display interface of the terminal device, in which a coordinate system can be constructed with the interface vertex of the terminal display interface as the origin and the two intersecting edges of the interface vertex as the two coordinate axes. Of course, in addition to the interface vertex, other points in the terminal display interface can also be used as the origin, for example, the interface center point of the terminal display interface can be used as the origin to construct a coordinate system. The coordinate system with the interface center point of the terminal display interface as the origin can actually be understood as a translation of the vertex coordinate system (constructed with the interface vertex of the terminal display interface as the origin and the two intersecting edges of the interface vertex as the two coordinate axes). That is, whether the interface center point or the interface vertex is used as the origin, the two coordinate axes in the constructed coordinate system are parallel to the two interface edges of the terminal display interface, respectively. Further, the positions (such as the position of the first identifier in the animation making interface, the role position of the virtual role, etc.) can be determined based on the coordinate system in the terminal display interface. The rotation angle mentioned in the present application can be a rotation angle relative to the vertical posture, which can be determined based on a coordinate axis of the coordinate system. Specifically, a symmetry line for the virtual role can be constructed, and the intersection angle between the symmetry line and the coordinate axis can be used to determine whether the virtual role is in a vertical posture. For example, taking a virtual character as a virtual role, the coordinate system can include X and Y axes. Assuming that the X axis is used as a reference, a symmetry line for dividing the virtual role can be constructed based on the nose center point and the mouth center point of the virtual role. When the intersection angle between the symmetry line and the X axis is 90 degrees, it can be determined that the virtual role is in a vertical posture, and the virtual role does not have a tilt. Other postures except the vertical posture can be considered as a tilt of the virtual role, and the rotation angle of the virtual role can be determined based on the tilt angle of the virtual role relative to the vertical standing posture.
[0149] For the convenience of understanding the rotation angle of the virtual role, please refer to Figure 4 , Figure 4 is a schematic diagram provided by an embodiment of the present application for rotating a virtual role. As Figure 4 shown, in the animation making interface 3001 displayed by the terminal device, an animation preview area P1 is displayed, in which the selected virtual role of the object and the added scene can be displayed. As Figure 4 shown, for the animation making interface 3001, it is assumed that the interface vertex O of the terminal display interface (i.e., the animation making interface) is used as the origin, at which time two interface edges with the interface vertex O as the intersection point can be obtained, which can be used as the X and Y axes, respectively. AsFigure 4 As shown in the animation production interface 3001, a symmetry line Line 11 for the virtual character 30a can be constructed based on the nose center point and the mouth center point of the virtual character 30a. Since the symmetry line Line 11 intersects the X axis and is perpendicular to the X axis, the current posture of the virtual character 30a can be determined as a vertical posture (specifically, a vertical standing posture). Further, when the virtual character 30a is rotated counterclockwise by 45 degrees, the symmetry line Line 11 of the virtual character 30a will also be rotated, as shown in the animation production interface 3002. Figure 4 As shown, the symmetry line Line 22 can refer to the symmetry line Line 11 after rotation. At present, the included angle between the symmetry line Line 22 and the symmetry line 11 is 45 degrees, that is, the rotation angle of the virtual character 30a is counterclockwise rotation by 45 degrees.
[0150] It should be understood that the rotation angle of the virtual character as shown is an exemplary illustration for ease of understanding. The rotation angle of the virtual character can be defined based on the actual scene, which is not limited in the present application. Figure 4 It should be understood that the rotation angle of the virtual character as shown is an exemplary illustration for ease of understanding. The rotation angle of the virtual character can be defined based on the actual scene, which is not limited in the present application.
[0151] In summary, in the animation production interface for the virtual character, after the object selects and adds a target added animation for the virtual character, the terminal device can automatically create two key frames before and after the target added animation, and determine the key frame points corresponding to each key frame based on the animation playing start time point and the animation duration of the target added animation. Subsequently, the animation movement path of the target added animation can be displayed in the animation production interface, and the object can quickly switch to different key frame points in the animation movement path through the first identifier and the second identifier, and set the position and character attribute features (which can include size attribute and rotation angle attribute) of the virtual character at the key frame points. It should be noted that for the same virtual character, the configuration animation added for it can not be only one, that is, before the target added animation is added for the virtual character, the virtual character can have been added with other configuration animations (such as waving hand animation, leaning against the wall and laughing animation, etc.). At this time, in the animation production interface, the animation movement paths of these added configuration animations will also be displayed accordingly. Therefore, when the first animation movement path of the target added animation is displayed, it can be displayed based on the animation movement paths already displayed in the animation production interface. For the specific implementation manner of displaying the first animation movement path of the target added animation in the animation production interface, please refer to the description in the subsequent embodiments.
[0152] In step S102, in response to the adjustment operation on the animation duration of the target added animation, the adjusted animation duration of the target added animation is obtained, the first playback time point for playing the first start key frame and the second playback time point for playing the first end key frame are both updated based on the adjusted animation duration, the first updated playback time point corresponding to the first playback time point is obtained, and the second updated playback time point corresponding to the second playback time point is obtained.
[0153] In this application, the object can adjust the animation duration of the target added animation, and this application can automatically update the key frame points (key frame time points) of each key frame based on the adjusted animation duration. When displaying the animation movement path (such as the first animation movement path) of the target added animation, the terminal device can display the animation label control for representing the target added animation in addition to the first identifier and the second identifier. Through the triggering operation on the animation label control, the animation adjustment panel for the target added animation can be aroused, and the object can adjust the animation duration of the target added animation in the animation adjustment panel. In addition, the object can also adjust the animation duration of the target added animation on the timeline, and the adjustment method of the animation duration of the target added animation is not limited in this application.
[0154] As can be seen from the above, in response to the adjustment operation on the animation duration of the target added animation, the specific implementation of obtaining the adjusted animation duration of the target added animation can be that when the object generates a triggering operation on the animation label control in the first animation movement path, the terminal device can display the animation adjustment panel for the target added animation in response to the triggering operation on the animation label control in the first animation movement path. The animation duration of the target added animation displayed in the animation adjustment panel is the initial animation duration (such as the default initial duration of the target added animation). The object can adjust the initial animation duration in the animation adjustment panel, and the terminal device can obtain the time value input by the object in the animation adjustment panel in response to the adjustment operation of the object on the initial animation duration of the target added animation in the animation adjustment panel, and can determine the time value as the adjusted animation duration of the target added animation.
[0155] For the convenience of understanding the specific method of the object adjusting the animation duration of the target added animation in the animation adjustment panel, please refer to Figure 5 , Figure 5is a scene schematic diagram provided by an embodiment of the present application for adjusting the duration of an animation. Based on the above, when the first animation movement path is displayed in the animation production interface, it can be displayed based on the animation movement path (which can be referred to as an existing animation movement path) of the animation (which can be referred to as an added animation) that has been added in the animation production interface. If no animation has been added for the virtual character before the target animation is added (i.e., the target animation is the first animation added for the virtual character), the first animation movement path can be directly displayed in the animation production interface (and only the first animation movement path is displayed) at this time, and Figure 5 The embodiment shown is described by taking the scenario in which only the first animation movement path is displayed in the animation production interface as an example. As shown in Figure 5 The target animation is taken as a walking animation as an example. It is assumed that the animation production interface currently displayed by the terminal device is an animation production interface 3003 as shown in Figure 5 The animation production interface 3003 includes an animation preview area P1 in which a virtual character 30a is displayed, and an animation movement path for a walking animation is also displayed. The animation movement path can be a path from an identifier R301 to an identifier R302, and an animation label control R303 for representing the walking animation is also included in the animation movement path. In addition, the animation production interface 3003 can also include a configuration animation floating layer Q in which an avatar identifier and name (such as Gouz i) of the virtual character 30a, a configuration animation set (such as a hand reaching animation, a hand waving animation, a walking animation, etc.), and an animation input box P101 (in which it can be displayed which animations have been added for the virtual character 30a, for example, as shown in Figure 5 The current only walking animation has been added for the virtual character 30a, and the animation input box P101 only displays the text “walk” corresponding to the walking animation.
[0156] As shown in Figure 5 When the object a triggers an operation on the animation label control R303 in the animation production interface 3003, the terminal device can respond to the trigger operation and highlight the animation label control R303. At the same time, the terminal device can synchronously highlight the text “walk” corresponding to the walking animation in the animation input box P101. The highlighting can represent which animation is currently selected by the object a (when there are multiple walking animations, the synchronous highlighting can more clearly and intuitively display which walking animation is selected by the object a). Further, as shown in Figure 5As shown, the terminal device can also display an animation adjustment panel Q1 for the walking animation in the animation production interface 3003. It should be noted that, for the sake of distinction, the animation production interface containing the animation adjustment panel Q1 can be named as animation production interface 3004. The animation adjustment panel can be independently displayed in the animation production interface (and can be independently displayed in the configuration animation floating layer Q). The animation adjustment panel has a panel size adjustment attribute, and the object can change the position and size of the animation adjustment panel by dragging and moving. The panel size of the animation adjustment panel can be smaller than the size of the animation production interface (or smaller than the size of the configuration animation floating layer Q), or can be equal to the size of the configuration animation floating layer Q (i.e., completely covering the configuration animation floating layer), or even greater than or equal to the size of the animation production interface (i.e., completely covering the animation production interface). Similarly, the configuration animation floating layer Q can also be independently displayed in the animation production interface. The configuration animation floating layer Q has a panel size adjustment attribute, and the object can change the position and size of the configuration animation floating layer Q by dragging and moving. The panel size of the configuration animation floating layer Q can be smaller than the size of the animation production interface, or can be equal to the size of the animation production interface (i.e., completely covering the animation production interface).
[0157] As shown, the terminal device can also display an animation adjustment panel Q1 for the walking animation in the animation production interface 3003. It should be noted that, for the sake of distinction, the animation production interface containing the animation adjustment panel Q1 can be named as animation production interface 3004. The animation adjustment panel can be independently displayed in the animation production interface (and can be independently displayed in the configuration animation floating layer Q). The animation adjustment panel has a panel size adjustment attribute, and the object can change the position and size of the animation adjustment panel by dragging and moving. The panel size of the animation adjustment panel can be smaller than the size of the animation production interface (or smaller than the size of the configuration animation floating layer Q), or can be equal to the size of the configuration animation floating layer Q (i.e., completely covering the configuration animation floating layer), or even greater than or equal to the size of the animation production interface (i.e., completely covering the animation production interface). Similarly, the configuration animation floating layer Q can also be independently displayed in the animation production interface. The configuration animation floating layer Q has a panel size adjustment attribute, and the object can change the position and size of the configuration animation floating layer Q by dragging and moving. The panel size of the configuration animation floating layer Q can be smaller than the size of the animation production interface, or can be equal to the size of the animation production interface (i.e., completely covering the animation production interface). Figure 5 As shown, the terminal device can also display an animation adjustment panel Q1 for the walking animation in the animation production interface 3003. It should be noted that, for the sake of distinction, the animation production interface containing the animation adjustment panel Q1 can be named as animation production interface 3004. The animation adjustment panel can be independently displayed in the animation production interface (and can be independently displayed in the configuration animation floating layer Q). The animation adjustment panel has a panel size adjustment attribute, and the object can change the position and size of the animation adjustment panel by dragging and moving. The panel size of the animation adjustment panel can be smaller than the size of the animation production interface (or smaller than the size of the configuration animation floating layer Q), or can be equal to the size of the configuration animation floating layer Q (i.e., completely covering the configuration animation floating layer), or even greater than or equal to the size of the animation production interface (i.e., completely covering the animation production interface). Similarly, the configuration animation floating layer Q can also be independently displayed in the animation production interface. The configuration animation floating layer Q has a panel size adjustment attribute, and the object can change the position and size of the configuration animation floating layer Q by dragging and moving. The panel size of the configuration animation floating layer Q can be smaller than the size of the animation production interface, or can be equal to the size of the animation production interface (i.e., completely covering the animation production interface). Figure 5 As shown, the terminal device can also display an animation adjustment panel Q1 for the walking animation in the animation production interface 3003. It should be noted that, for the sake of distinction, the animation production interface containing the animation adjustment panel Q1 can be named as animation production interface 3004. The animation adjustment panel can be independently displayed in the animation production interface (and can be independently displayed in the configuration animation floating layer Q). The animation adjustment panel has a panel size adjustment attribute, and the object can change the position and size of the animation adjustment panel by dragging and moving. The panel size of the animation adjustment panel can be smaller than the size of the animation production interface (or smaller than the size of the configuration animation floating layer Q), or can be equal to the size of the configuration animation floating layer Q (i.e., completely covering the configuration animation floating layer), or even greater than or equal to the size of the animation production interface (i.e., completely covering the animation production interface). Similarly, the configuration animation floating layer Q can also be independently displayed in the animation production interface. The configuration animation floating layer Q has a panel size adjustment attribute, and the object can change the position and size of the configuration animation floating layer Q by dragging and moving. The panel size of the configuration animation floating layer Q can be smaller than the size of the animation production interface, or can be equal to the size of the animation production interface (i.e., completely covering the animation production interface). Figure 5In the embodiment, before the object adjusts the animation duration of the walking animation, in the animation production interface 3004, the position of the duration adjustment control 30PM on the duration progress bar can represent the current animation duration (initial animation duration) of the walking animation, and the dragging operation of the object on the duration adjustment control 30PM can be understood as the adjustment operation of the object on the initial animation duration. In response to the dragging operation of the object on the duration adjustment control 30PM, the terminal device can obtain the position of the duration adjustment control 30PM after being dragged on the duration progress bar. The position after being dragged is shown in the animation production interface 3005 as shown in Figure 5 In the animation production interface 3005, the adjusted animation duration of the walking animation can be determined based on the position of the duration adjustment control 30PM on the duration progress bar.
[0158] It should be noted that the application can link the duration on the duration progress bar with the animation duration displayed on the timeline. That is, the object can adjust the position of the duration adjustment control on the duration progress bar in the animation adjustment panel, or adjust the animation duration of the animation on the timeline. When the object adjusts the position of the duration adjustment control on the duration progress bar in the animation adjustment panel, the animation duration displayed on the timeline will also be updated accordingly. Similarly, when the object adjusts the duration of the animation on the timeline, the position of the duration adjustment control on the duration progress bar will also change after the animation adjustment panel is invoked. For ease of understanding, please refer to Figure 6 Figure 6 is a schematic diagram of the linkage between the duration progress bar and the timeline provided by the embodiment of the application. As shown in Figure 6 In the animation adjustment panel Q1 of the configuration animation floating window Q (the animation adjustment panel Q1 is the animation adjustment panel for the second walking animation), the duration progress bar and the duration adjustment control 30PM are displayed. When the object generates a dragging operation on the duration adjustment control 30PM, the animation duration of the second walking animation on the timeline displayed in the timeline display area T as shown in Figure 6 will also be updated accordingly.
[0159] Further, it should be understood that when the animation duration of the target added animation is adjusted, the playback time point of the corresponding key frame will also change, and in the present application, the playback time point of the key frame (including the first starting key frame and the first ending key frame) of the target added animation can be updated based on the adjusted animation duration of the target added animation. As can be known from the above, for an animation video containing virtual characters, it can be composed of one or more shots, and in a shot, there can be sentences of different virtual characters, each of which can be composed of an added animation of a virtual character, a dialogue, etc. That is, when making an animation video for a virtual character, a shot can be created first, then a scene can be added in the shot and different virtual characters can be added in the scene, for the scene in the shot, dialogue text or configured animation can be added for each virtual character, and under a shot, the dialogue text and the configured animation contained by a virtual character can jointly constitute a sentence. Therefore, it can be seen that different virtual characters can be created under a shot, and a virtual character can correspond to a sentence (which can be referred to as a script sentence in the present application). It should be noted that in a shot, two identical virtual characters (such as a virtual character rabbit) can be added, and the two identical virtual characters can correspond to two script sentences, and each script sentence can contain added animation and dialogue text of a virtual character. For the animation in a script sentence, it is not played simultaneously, but has a playback order, and similarly, in a shot, each script sentence is not played simultaneously, but has a playback order. Once the duration of a certain animation in a certain script sentence is adjusted, or a certain animation is added in a certain script sentence, or a certain animation in a certain script sentence is deleted, the playback time point of all script sentences in the shot can be affected, and therefore the playback time point of each animation contained in all script sentences in the shot (specifically, the playback time point of the key frame of each animation) needs to be updated.So for the application, for the specific implementation manner of updating the first play time point for playing the first start key frame and the second play time point for playing the first end key frame based on the adjusted animation duration, can be: the virtual character to which the virtual character belongs can be obtained, in the script statement set contained in the shot, the script statement in which the target added animation is located can be determined as the target script statement; wherein the target script statement is used to indicate the added animation set of the virtual character; the added animation set contains the target added animation; then, based on the adjusted animation duration, the script statement set can be updated respectively corresponding to the script statement of each script statement, thereby the script statement of each script statement respectively corresponding to the script update play time point can be obtained; based on the script update play time point corresponding to the target script statement, the first play time point for playing the first start key frame and the second play time point for playing the first end key frame can be updated, thereby obtaining the first update play time point corresponding to the first play time point and the second update play time point corresponding to the second play time point.
[0160] The adding animation set of the virtual role indicated by the target script statement contains M (M is a positive integer) adding animations. For updating the play time point based on the statement corresponding to the target script statement, the first play time point for playing the first starting key frame and the second play time point for playing the first ending key frame are both updated to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point. The specific implementation manner can be: according to the animation play order of each adding animation in the target script statement, the M adding animations are sorted to obtain a first animation sequence. Then, based on the sequence position of the target adding animation in the first animation sequence, the first animation sequence is sequence-splitted, thereby obtaining a split sub-sequence. In the split sub-sequence, a sequence starting animation is located at a sequence starting position of the split sub-sequence, and the target adding animation is located at a sequence ending position of the split sub-sequence. The sequence starting animation refers to an adding animation located at the sequence starting position in the first animation sequence. Further, each adding animation before the target adding animation in the split sub-sequence is determined as a priority play animation of the target adding animation. The current animation duration corresponding to each priority play animation is summed up, thereby obtaining a first sum duration. Then, the statement update play time point corresponding to the target script statement is operated with the first sum duration, thereby obtaining the first updated play time point corresponding to the first play time point. Then, the first sum duration is summed up with an adjustment animation duration of the target adding animation to obtain a second sum duration. The statement update play time point corresponding to the target script statement is operated with the second sum duration, thereby obtaining the second updated play time point corresponding to the second play time point.
[0161] For ease of understanding, the following will be combined with the following examples to illustrate the updating method of the playing time point of the key frame, assuming that the virtual character is virtual character A, and the script of which is script 22, there are three script statements in the script 22, which are script statement 1, script statement 2 and script statement 3, wherein the playing time point of the script statement 1 is earlier than that of the script statement 2, the playing time point of the script statement 2 is earlier than that of the script statement 3, and the script statement 1 contains waving hand animation, covering mouth laughing animation, the script statement 2 contains yawning animation, yawning animation, and the script statement 3 contains waving hand animation, leaning against the wall speaking animation. For the first yawning animation (the yawning animation to be played first, for ease of distinction, it can be called yawning animation 1, and the other yawning animation contained in the script statement 2 can be called yawning animation 2) in the script statement 2, an animation can be added as a target, and the animation duration of the yawning animation 1 is adjusted (except for the adjustment of the animation duration of the yawning animation 1, the durations of other animations in the script are not adjusted). At this time, the adjusted animation duration of the yawning animation 1 can be obtained, and based on the adjusted animation duration, the statement playing time points of all script statements in the script can be updated, so that the corresponding statement update playing time points of each script statement can be obtained. Since playing a script statement actually plays each animation contained in the script statement in sequence, the statement playing time point of each script statement can actually be understood as the animation playing starting time point of the first played animation in the script statement, for example, in the script statement 1, the playing order of the animation is to play the waving hand animation first and then play the covering mouth laughing animation, so the animation playing starting time point of the waving hand animation can be the statement playing time point of the script statement 1. It should be understood that since the script statement 1 is located before the script statement 2, it can be seen that the statement playing time point of the script statement 1 will not be affected by the script statement 2, so the statement update playing time point of the script statement 1 can be directly determined as the original statement playing time point of the script statement 1. Similarly, for the script statement 2, its corresponding statement playing time point will not change, and the statement update playing time point of the script statement 2 can be determined as the original statement playing time point. For the script statement 3, it is played after the script statement 2, so the corresponding statement playing time point of the script statement 3 will be updated based on the adjusted animation duration of the target added animation (yawning animation) (for example, the time duration difference absolute value between the animation duration before the yawning animation 1 is adjusted and the animation duration after the yawning animation 1 is adjusted can be determined, and the statement playing time point of the script statement 3 can be summed with the time duration difference absolute value to obtain the statement update playing time point of the script statement 3.Further, after determining the statement update play time points corresponding to the script statement 1, the script statement 2 and the script statement 3 respectively, the key frame play time points of each key frame of each animation in each script statement can be updated based on the statement update play time points of each script statement. For example, for the target added animation (hand waving animation) in the script statement 2, since the yawn animation 1 is played earlier than the yawn animation 2, after sorting the yawn animation 1 and the yawn animation 2 according to the play order, the obtained animation sequence can be {yawn animation 1, yawn animation 2}, based on the position of the yawn animation 1 in the animation sequence, the animation sequence can be split to obtain two split subsequences {yawn animation 1} and {yawn animation 2}, the split subsequence in which the target added animation (yawn animation 1) is located at the end of the sequence can be obtained, then, the total time length of the added animation before the yawn animation 1 in the split subsequence (i.e., corresponding to the first summed time length) can be obtained, since the yawn animation 1 is the only animation in the split subsequence, the first summed time length can be determined as 0; further, the first summed time length and the adjusted animation time length of the yawn animation 1 can be added to obtain a second summed time length (the first summed time length is 0, so the second summed time length here is the adjusted animation time length of the yawn animation 1), then, the first update play time point of the starting key frame of the yawn animation 1 (corresponding to the first starting key frame of the target added animation) can be determined by summing the statement update play time point corresponding to the script statement 2 and the first summed time length; and the second update play time point of the ending key frame of the yawn animation 1 (corresponding to the first ending key frame of the target added animation) can be determined by summing the statement update play time point corresponding to the script statement 2 and the second summed time length. Similarly, the update play time points of the key frames of each added animation contained in the script statement 3 can be determined, which will not be described here.
[0162] That is, in the present application, once a script statement in the shot is updated (such as adjusting the animation time length of the added animation contained, adding a configured animation in the script statement, or deleting an added added animation in the script statement), the statement play time points of all script statements in the shot will be affected, at this time, the statement play time points of all script statements in the shot need to be updated, and the play time points of the key frames of each added animation contained in each script statement also need to be updated globally.
[0163] In step S103, a first animation video is generated according to the position indicated by the first identifier in the first animation movement path, the position indicated by the second identifier in the first animation movement path, the first updated playback time point, the second updated playback time point, the virtual character, and the target added animation. In the first animation video, the movement path of the virtual character is the first animation movement path, and the time length of the first animation video is equal to the playback time length between the first updated playback time point and the second updated playback time point.
[0164] In this application, based on the position indicated by the first identifier in the first animation movement path, the position indicated by the second identifier in the first animation movement path, the first updated playback time point, the second updated playback time point, the virtual character, and the target added animation, an animation video can be generated. For the sake of distinction, this animation video can be referred to as the first animation video. The time length of the first animation video is equal to the playback time length between the first updated playback time point and the second updated playback time point, in other words, the starting time point of the first animation video is the first updated playback time point, and the ending time point of the first animation video is the second updated playback time point. During the playback of the first animation video, the movement path of the virtual character is the first animation movement path. When the virtual character reaches the first updated playback time point, the virtual character is at the position indicated by the first identifier in the first animation movement path, and at this position, the role attribute characteristics of the virtual character are the first role attribute characteristics (the size is the first size, and the rotation angle is the first rotation angle). When the virtual character reaches the second updated playback time point, the virtual character is at the position indicated by the second identifier in the first animation movement path, and at this position, the role attribute characteristics of the virtual character are the second role attribute characteristics (the size is the second size, and the rotation angle is the second rotation angle). Therefore, during the playback of the first animation video, the virtual character gradually moves from the position of the first identifier to the position of the second identifier with the action (such as a waving hand action) of the target added animation, and in the process of moving, the size of the virtual character gradually changes from the first size to the second size, and the rotation angle gradually changes from the first rotation angle to the second rotation angle.
[0165] It can be understood that the object can adjust the position of the virtual role at the playing time point of each key frame and the role attribute feature. In this application, the virtual role can change the position of the first identifier in the animation making interface through the dragging operation on the first identifier, so as to adjust the position of the virtual role at the playing time point of the first starting key frame. Similarly, the virtual role can change the position of the second identifier in the animation making interface through the dragging operation on the second identifier, so as to adjust the position of the virtual role at the playing time point of the first ending key frame. When the object drags the first identifier to the ideal position, the virtual role can also adjust the role attribute feature of the virtual role at the position through the triggering operation on the first identifier or the second identifier.
[0166] Specifically, for the first animation movement path, when the object generates a trigger operation on the first identifier in the first animation movement path, the terminal device can update the first animation movement path in real time in response to the drag operation of the object on the first identifier, thereby obtaining a second animation movement path, and the virtual character in a selected state can be displayed at a first drag end position in the second animation movement path; the first drag end position refers to the position of the first identifier in the second animation movement path (that is, the position of the first identifier when the drag ends), and it should be noted that when the virtual character is in the selected state, it can be used to represent that the virtual character has an adjustable attribute at this time, and the object can adjust the size and rotation angle of the virtual character; when the object adjusts the size or rotation angle of the virtual character and increases, it is considered that the object adjusts the role attribute feature of the virtual character, and the terminal device can obtain the first adjusted role attribute feature of the virtual character at the first drag end position in response to the adjustment operation of the object on the virtual character in the selected state at the first drag end position; similarly, the object can also drag the second identifier, and the terminal device can update the second animation movement path in real time in response to the drag operation of the object on the second identifier, thereby obtaining a third animation movement path, and the virtual character in the selected state is displayed at a second drag end position in the third animation movement path; the second drag end position refers to the position of the second identifier in the third animation movement path; if the object adjusts the role attribute feature of the virtual character at the second drag end position, the terminal device also obtains the second adjusted role attribute feature of the virtual character at the second drag end position in response to the adjustment operation of the object on the virtual character in the selected state at the second drag end position; according to the first drag end position, the second drag end position, the first adjusted role attribute feature, and the second adjusted role attribute feature, the first animation video can be updated, thereby obtaining a second animation video; in the second animation video, the movement path of the virtual character is the third animation movement path, the role attribute feature of the virtual character at the first updated playback time point is the first adjusted role attribute feature, and the role attribute feature of the virtual character at the second updated playback time point is the second adjusted role attribute feature. That is, the starting time point of the second animation video is the first updated playback time point, and the ending time point of the second animation video is the second updated playback time point.and in the playing process of the second animation video, the moving path of the virtual character is the third animation moving path, when the virtual character reaches the first updated playing time point, the virtual character is at the position indicated by the first mark in the third animation moving path (i.e. the first dragging end position), and when the virtual character is at the position, the character attribute feature of the virtual character is the first adjusted character attribute feature; and when the virtual character reaches the second updated playing time point, the virtual character is at the position indicated by the second mark in the third animation moving path, and when the virtual character is at the position, the character attribute feature of the virtual character is the second character attribute feature. Then in the playing process of the second animation video, the virtual character gradually moves from the first dragging end position to the second dragging end position with the action (such as waving hand action) of the target added animation, and in the moving process, the character attribute feature of the virtual character gradually changes from the first adjusted character attribute feature to the second adjusted character attribute feature.
[0167] It should be noted that the application can determine the position, size, rotation angle and other information of the virtual character in a certain key frame as the frame attribute of the key frame, and in order to better automatically maintain each key frame, the application can establish an association relationship between the key frame of the animation and the frame attribute, so as to automatically associate and maintain each key frame. Specifically, taking the above target added animation as an example, the first dragging end position and the first adjusted character attribute feature can be determined as the frame attribute of the first starting key frame, and the second dragging end position and the second adjusted character attribute feature can be determined as the frame attribute of the first ending key frame; then, the animation character for uniquely representing the target added animation can be obtained, based on the animation character of the target added animation, the first frame attribute character for uniquely representing the frame attribute of the first starting key frame and the second frame attribute character for uniquely representing the frame attribute of the first ending key frame can be generated; further, an association relationship can be established between the animation character and the first updated playing time point, and an implicit dependency relationship can be established between the animation character and the first frame attribute character (thus, an association relationship between the playing time point of the target added animation and the frame attribute of the first starting key frame can be established); an association relationship can also be established between the animation character and the second updated playing time point, and an implicit dependency relationship can be established between the animation character and the second frame attribute character (thus, an association relationship between the playing time point of the target added animation and the frame attribute of the first ending key frame can be established). Based on these association relationships, when the playing time point of each key frame is updated, the frame attribute of the new playing time point can be determined in real time based on the association relationship, so that the accurate attribute positioning of the virtual character can be realized, and the problem of mismatch between the position, size and other information of the virtual character and the time point can be reduced.
[0168] In the embodiments of the present application, the innovative automatic creation of animation key frames can quickly and conveniently generate key frames of character animation. Meanwhile, the present application can display the moving path of the character animation to provide an identifier for fixing the position of the character, so that the object can fix the position of the character at each key frame through each identifier. Compared with the manual key frame dotting on the timeline, the present application can improve the convenience of key frame dotting. Meanwhile, the present application can automatically update the playback time point of the key frame based on the change of the animation duration or based on the addition or deletion of animation, without manually correcting the key frame on the timeline, which can greatly improve the production efficiency of the animation video. In summary, the present application can improve the convenience of video editing (improve the production of animation video), thereby improving the efficiency of video editing.
[0169] Further, please refer to Figure 7 , Figure 7 is a flowchart of displaying an animation moving path provided by the embodiments of the present application. The flowchart can correspond to the embodiments of the above Figure 2 corresponding embodiments, for displaying a first animation moving path of a target added animation in an animation production interface of a virtual character. As shown in Figure 7 , the flowchart can include at least the following steps S601-S605:
[0170] Step S601: Obtain a scene of a virtual character, and determine a script statement where a target added animation is located as a target script statement in a script statement set included in the scene; the target script statement is used to indicate a set of added animations of the virtual character; the set of added animations includes M added animations, the M added animations include the target added animation; M is a positive integer.
[0171] Specifically, after the object selects the target added animation for the virtual character, the terminal device can obtain the scene of the virtual character, and obtain the script statement where the target added animation is located in the scene (that is, when adding a configuration animation for the virtual character, the configuration animation needs to be added to a script statement as an added animation in the script statement). The script statement where the target added animation is located can be referred to as a target script statement, and the added animations included in the target script statement can form a set of added animations. Here, for the sake of subsequent description, it is exemplified that the set of added animations includes M added animations. Since the set of added animations will definitely include the target added animation, M here can be a positive integer greater than or equal to 1.
[0172] Step S602: Count the number of priority added animations included in the set of added animations; the priority added animation refers to an added animation in the set of added animations except the target added animation.
[0173] Specifically, for the adding animation set in the target script statement, the adding animation set can be traversed to query whether there is other adding animation (i.e., whether other configuration animation has been added to the virtual character before the target adding animation is added to the virtual character) except the target adding animation, and the priority adding animation here can be understood as a certain configuration animation added to the virtual character before the target adding animation is added, and then the number of animations of the priority adding animation contained in the adding animation set can be understood as the number of configuration animations added to the virtual character before the target adding animation is added.
[0174] Step S603, determine whether the number of animations is a valid value.
[0175] Specifically, the valid value in the present application can be a non-zero numerical value, and the invalid value can be the index value 0. After determining the number of animations of the priority adding animation contained in the adding animation set, it can be judged whether the number of animations is 0. If it is 0, it can be determined that the target script statement only contains the target adding animation, and then step S604 can be executed, that is, the first animation movement path can be directly generated and displayed in the animation production interface. If the number of animations is a valid value, it can be determined that the target script statement contains the pre-added configuration animation, and the animation movement path of the priority adding animation is also displayed in the animation production interface. At this time, the first animation movement path needs to be displayed based on the animation movement path of the priority adding animation displayed in the animation production interface.
[0176] Step S604, if the number of animations is an invalid value, the current line-of-sight direction of the virtual character is obtained, and the first animation movement path is displayed in the animation production interface for the virtual character based on the current line-of-sight direction of the virtual character, the first identifier and the second identifier.
[0177] Specifically, when the number of animations is an invalid value, a current line of sight direction of the virtual character can be acquired, and based on the current line of sight direction of the virtual character, the first identifier, and the second identifier, a first animation movement path is displayed in the animation production interface for the virtual character. The specific implementation manner can be that the position of the virtual character in the character interface in the animation production interface can be acquired, and the position of the virtual character in the character interface can be determined as the first identifier display position of the first identifier in the animation production interface. Subsequently, the configuration path display length for adding an animation to the target can be acquired, and based on the configuration path display length, the first identifier display position, and the current line of sight direction of the virtual character, the second identifier display position of the second identifier in the animation production interface can be determined. The first identifier can be displayed at the first identifier display position, and the second identifier can be displayed at the second identifier display position. Subsequently, a pointing edge from the first identifier to the second identifier can be displayed between the first identifier at the first identifier display position and the second identifier at the second identifier display position. Finally, the movement path including the first identifier, the second identifier, and the pointing edge from the first identifier to the second identifier can be determined as the first animation movement path.
[0178] It can be understood that the current line of sight direction in the present application can be determined based on the mirror orientation direction of the virtual character. The direction indicated by the current line of sight direction is consistent with the mirror orientation direction of the virtual character (the mirror orientation direction of the virtual character can be understood as the face direction of the virtual character). Based on the above, the present application can construct a symmetry line of the virtual character based on the two points of the nose center point and the mouth center point of the virtual character, and the current line of sight direction in the present application is perpendicular to the symmetry line. The configuration path display length in the present application can be a default initial distance (such as 2 cm, 1 cm, 0.5 cm, etc.) configured for the virtual character to move. Displaying the first animation movement path in the animation production interface can be understood as displaying the first identifier, the second identifier, and the directed edge from the first identifier to the second identifier in the animation production interface. Therefore, it is necessary to determine the display position of the first identifier and the display position of the second identifier in the animation production interface. Based on this, the position of the virtual character in the character interface in the animation production interface at the moment (that is, at the moment of displaying the first movement animation path) can be used as the identifier display position of the first identifier (which can be referred to as the first identifier display position). Subsequently, the current line of sight direction of the virtual character can be acquired, and a ray can be constructed along the current line of sight direction of the virtual character with the first identifier display position as the starting point. Based on the configuration path display length, the identifier display position (the second identifier display position) of the second identifier on the ray can be determined, and the length between the first identifier display position and the second identifier display position is the configuration path display length.
[0179] For ease of understanding, please refer toFigure 8 , Figure 8 is a scene schematic diagram provided by an embodiment of the present application for displaying an animation movement path. As shown in Figure 8 , in the animation production interface 7002, a virtual character 30a is displayed, the virtual character belongs to a shot 1, and the animation production interface 7002 displays a configuration animation layer Q. When a trigger operation on a walking animation in the configuration animation layer Q is generated, the terminal device can display an animation movement path of the walking animation in the animation production interface 7002 in response to the trigger operation. Specifically, for the sake of distinction, the animation production interface in which the animation movement path of the walking animation is displayed can be referred to as an animation production interface 7003. As shown in Figure 8 , in the animation production interface 7003, an identifier R701 (which can be a first identifier), an identifier R702 (which can be understood as a second identifier), and an edge from the identifier R701 to the identifier R702 (the edge between the first identifier and the second identifier can be an undirected edge or a directed edge. When the edge between the first identifier and the second identifier is a directed edge, the edge between the first identifier and the second identifier can be referred to as a pointing edge. Then, corresponding to this, the edge between the identifier R701 and the identifier R702 can also be an undirected edge or a directed edge) can jointly constitute an animation movement path of the walking animation. The pointing direction of the animation movement path is parallel to the current line of sight direction of the virtual character, and the animation movement path is perpendicular to the symmetry line Line33 of the virtual character. It should be noted that, as shown in Figure 8 , the animation movement path of the walking animation also includes an animation label control R703 for representing the walking animation. The animation label control R703 includes the text “walk” (the name of the walking animation), and through the animation label control R703, the animation movement path can intuitively and clearly indicate that the animation movement path indicates the walking animation.
[0180] In step S605, if the number of animations is a valid value, a first animation movement path is displayed in the animation production interface for the virtual character based on the priority-added animations included in the added set.
[0181] Specifically, when the number of animations is a valid value, the first animation movement path can be displayed in the animation production interface for the virtual character based on the priority-added animations contained in the added set. The specific implementation manner can be: according to the animation playing order of each added animation in the target script statement in M added animations, the M added animations can be sorted, so as to obtain a second animation sequence; if the target added animation is located at the sequence start position in the second animation sequence, the first animation movement path can be displayed in the animation production interface for the virtual character based on the existing animation movement path of the subsequent animation in the animation production interface; wherein the subsequent animation refers to the next added animation of the target added animation in the second animation sequence; and if the target added animation is located at the sequence intermediate position in the second animation sequence, the first animation movement path can be displayed in the animation production interface for the virtual character based on the existing animation movement paths of the preceding animation and the subsequent animation in the animation production interface; wherein the subsequent animation refers to the next added animation of the target added animation in the second animation sequence; and the preceding animation refers to the previous added animation of the target added animation in the second animation sequence; and if the target added animation is located at the sequence end position in the second animation sequence, the first animation movement path can be displayed in the animation production interface for the virtual character based on the existing animation movement path of the preceding animation in the animation production interface; and the preceding animation refers to the previous added animation of the target added animation in the second animation sequence.
[0182] That is, when the first animation movement path is displayed, the first identifier of the target added animation can be displayed at the movement end position of the previous animation (to represent that the target added animation is played immediately after the previous animation), and the identifier at the movement start position of the next animation is taken as a second identifier of the first animation movement path. The display position of the identifier at the movement start position of the next animation can be replaced to the identifier display position of the second identifier (so as to represent that the next animation of the target added animation is played immediately after the target added animation).
[0183] For ease of understanding, the manner of displaying the first animation movement path will be described below in combination with the accompanying drawings. Please refer to Figure 9 , Figure 9 is a scene schematic diagram provided by an embodiment of the present application for displaying the first animation movement path. As Figure 9 indicated, the scene is an exemplary description of displaying the first animation movement path when the target added animation is located at the sequence end position in the second animation sequence. As Figure 9As shown, for the virtual role Gouz i (virtual role 30a), a walk animation has been added for it, in the animation making interface 9003, an animation movement path of the walk animation is displayed, in the animation movement path, the mark R901, the mark R902 and an animation label control R903 representing the walk animation are contained; meanwhile, in the animation making interface 9003, a configuration animation floating layer Q is also contained, on the configuration animation floating layer Q, different configuration animations (such as a stretch hand animation, a wave hand animation and the walk animation) and an animation input box P101 can be displayed (in the animation input box P101, it can be displayed which animations are currently added for the virtual role Gouz i (virtual role 30a) contains, for example, as shown in the figure Figure 9 As shown, currently only the walk animation is added for the virtual role 30a, so in the animation input box P101, only the text “walk” corresponding to the walk animation is displayed. As shown Figure 9 As shown, when the object a expects to add another walk animation for the virtual role Gouz i, a trigger operation can be generated on the walk animation displayed on the configuration animation floating layer Q, and the terminal device can respond to the trigger operation to display an animation movement path of the walk animation (here, for the sake of distinction, the newly added walk animation can be named as walk animation 2, and the previously added walk animation can be named as walk animation 1) in the animation making interface 9003, and a text “walk” can be displayed again in the animation input box, for representing that two walk animations have been added for the virtual role Gouz i.
[0184] Wherein, the play order of the walk animation 2 is later than that of the walk animation 1, so the animation movement path of the walk animation 2 can be displayed immediately after the animation movement path of the walk animation 1. For example, as shown in the figure Figure 9As shown, the identifier on the end position in the animation moving path of the walking animation 1 (i.e., the identifier R902) can be acquired, and then the identifier representing the start key frame of the walking animation 2 (such as the identifier R904) can be acquired. In the animation moving path of the walking animation 1, the identifier R902 on the end position can be replaced and displayed as the identifier R904 (by replacement, it can be indicated that the walking animation 2 is played after the walking animation 1 is played). Further, based on the position of the identifier R904, the current line-of-sight direction of the virtual character dog, and the configuration path display length of the walking animation 2, the position of the identifier representing the end key frame of the walking animation 2 (assuming the identifier R905) can be determined in the animation production interface. The identifier R905 can be displayed at the position. Then, an edge (directed edge or undirected edge, in the present application, to more intuitively indicate the moving direction, the edge can be preferentially constructed as a directed edge) can be constructed between the identifier R904 and the identifier R905 in the animation production interface 9003. Thus, an animation moving path of the walking animation 2 can be obtained. It should be noted that in the animation moving path of the walking animation 2, an animation label control (such as the animation label control R906 shown in the figure) representing the walking animation 2 can also be displayed. Figure 9 The animation label control R906 shown in the figure, in the animation label control R906, the text "walking" can also be synchronously displayed, for indicating that the action indicated by the walking animation 2 is walking.
[0185] Similarly, it can be inferred that when the target added animation is located in the middle position of the second animation sequence, for the existing animation movement path of the predecessor animation and the successor animation in the animation production interface respectively, the specific implementation manner of displaying the first animation movement path in the animation production interface for the virtual character can be: the existing animation movement path of the predecessor animation in the animation production interface can be determined as the predecessor path, or the existing animation movement path of the successor animation in the animation production interface can be determined as the successor path; then, the third identifier in the predecessor path and the fourth identifier in the successor path can be obtained; wherein the third identifier is used to fix the position of the virtual character in the second end key frame, and the second end key frame refers to the end frame of the predecessor animation; the fourth identifier is used to fix the position of the virtual character in the second start key frame, and the second start key frame refers to the first frame of the successor animation; further, the position of the third identifier in the predecessor path in the animation production interface can be determined as the third identifier display position, the line of sight direction of the virtual character when the third identifier is in the third identifier display position can be obtained, and the configuration path display length of the target added animation can be obtained; based on the line of sight direction of the character, the third identifier display position and the configuration path display length, the first updated identifier display position of the fourth identifier in the animation production interface can be determined; then, the position of the fourth identifier in the successor path in the animation production interface can be determined as the fourth identifier display position, and the display position of the fourth identifier can be changed from the fourth identifier display position to the updated identifier display position; it should be noted that in the process of updating the fourth identifier, the successor path will be updated in real time with the updating of the position of the fourth identifier; further, a pointing edge from the third identifier to the fourth identifier can be displayed between the third identifier at the third identifier display position and the fourth identifier at the first updated identifier display position, and finally the movement path containing the third identifier, the fourth identifier and the pointing edge from the third identifier to the fourth identifier can be determined as the first animation movement path.
[0186] That is to say, when the target added animation is in the middle of the second animation sequence, the animation moving path of the preceding animation can be determined as a preceding path, the identity used to represent the end key frame of the preceding animation (i.e. the second end key frame) in the preceding path can be referred to as a third identity, and the position of the third identity in the preceding path can be the starting position of the playing of the target added animation (the position of the virtual character in the first starting key frame, i.e. the third identity display position of the first identity). Based on the current line of sight direction of the virtual character when the third identity display position (referred to as the character line of sight direction), and the display length of the configuration path, the end position of the playing of the target added animation (i.e. the position of the virtual character in the first end key frame) can be determined. Since the playing of the succeeding animation will be played immediately after the playing of the target added animation, the identity of the starting key frame of the succeeding animation (i.e. the fourth identity) can be directly displayed at the end position of the playing of the target added animation. In other words, before the target added animation is added, the starting position of the playing of the succeeding animation is the end position of the playing of the preceding animation, and after the target added animation is added, the starting position of the playing of the succeeding animation should be changed to the end position of the playing of the target added animation. Therefore, based on this, the display position of the fourth identity needs to be updated from the original position (i.e. the fourth identity display position, actually, the fourth identity display position and the third identity display position are the same position, and the identity displayed at the third identity display position or the fourth identity display position is actually the fourth identity) to the end position of the playing of the target added animation. The updated identity display position of the fourth identity in the present application is the end position of the playing of the target added animation (i.e. the position of the virtual character in the first end key frame, which is the position where the second identity should be located).
[0187] It should be noted that in the present application, the identities used to represent the starting key frames of the configuration animations can be the same identity (e.g. the same pattern, such as yellow small dots), and the identities used to represent the end key frames of the configuration animations can also be the same identity (e.g. yellow triangular arrows).
[0188] The above describes a way of displaying the animation movement path of the target added animation in a scenario where an animation (such as a target added animation) is added to a virtual character. For an added animation of a virtual character, if there is a deletion case, the animation movement path of the virtual character in the animation making interface also needs to be updated (specifically, the animation movement path of the deleted animation needs to be deleted). Taking the deletion of the above target added animation as an example, the first animation movement path can be deleted by the present application. It should be noted that after the first animation movement path is deleted, the animation movement paths of other animations in the animation making interface will also be updated accordingly. For example, the animation making interface contains three animation movement paths (i.e., three paths) of walking animations. Assuming that the second path is deleted, the end position of the first path will become the start position of the third path.
[0189] In the present application, the deletion operation of an animation can be performed through the animation tag control in the animation movement path. Taking the first animation movement path as an example, the object can delete the target added animation through the animation tag control in the first animation movement path. Taking the deletion of the target added animation as an example, when the object triggers the animation tag control in the first animation movement path, the terminal device can display an animation adjustment panel for the target added animation in response to the triggering operation of the object on the animation tag control in the first animation movement path. In the animation adjustment panel, there can be an animation deletion control for the target added animation. Further, when the object triggers the deletion control, the terminal device can delete the first animation movement path in the animation making interface in response to the triggering operation of the object on the animation deletion control. Subsequently, the terminal device can change the display position of the fourth identifier from the updated identifier display position to the fourth identifier display position. The subsequent path is updated in real time along with the update of the position of the fourth identifier.
[0190] For ease of understanding, please refer to Figure 10 , Figure 10 is a scene diagram provided by an embodiment of the present application for deleting an animation movement path. It should be understood that in the embodiment shown in Figure 9 , the walking animation 2 can be understood as a target added animation, and the animation movement path from the identifier R904 to the identifier R905 can be understood as the first animation movement path. When the object a triggers the animation tag control R906 in the first animation movement path, the terminal device can highlight the animation tag control R906 in the first animation movement path in response to the triggering operation, and highlight the text "walk" in the configuration animation floating layer Q for representing the walking animation 2. At the same time, as Figure 10As shown, the terminal device can also display an animation adjustment panel Q1 for the walking animation 2 in the animation production interface 9003. In the animation adjustment panel Q1, a progress bar (containing a time length adjustment control 30PM for adjusting the animation time length of the walking animation 2) can be displayed. In the animation adjustment panel Q1, a delete control for the walking animation 2 can also be displayed. When the object triggers an operation on the delete control, the terminal device can delete the first animation movement path in the animation production interface 9003 in response to the trigger operation. At the same time, the terminal device can re-display the end key frame identifier (i.e., identifier R902) of the walking animation 1 at the end position of the walking animation 1.
[0191] It should be noted that in this application, after adding an animation to a virtual character, the virtual character will usually move a default distance (such as a default movement distance equal to the display length of the configuration path) by default, that is, the virtual character will perform an action indicated by the animation (such as performing a hand waving action) while moving. In fact, the virtual character can also perform the action indicated by the animation while staying in place. In order to improve the convenience of producing an animation video, this application can provide a stay-in-place setting control for an animation. The object can change the animation property of the animation to a stay-in-place property by using the control. Specifically, a stay-in-place setting control for an animation can be provided in an animation adjustment panel of the animation. The animation adjustment panel can be triggered to be displayed by an animation label control in an animation movement path. Taking the first animation movement path as an example, when the object triggers an operation on the animation label control in the first animation movement path, the terminal device can display an animation adjustment panel for the target added animation in response to the trigger operation of the object on the animation label control in the first animation movement path. The animation property of the target added animation displayed in the animation adjustment panel is a displacement property. The object can adjust the displacement property, specifically by changing it to a stay-in-place property. The terminal device can change the animation property of the target added animation from the displacement property to the stay-in-place property in response to the property adjustment operation of the object on the displacement property in the animation adjustment interface. Subsequently, the terminal device can determine the position of the first identifier in the first animation movement path in the animation production interface as a property switching position. Then, the terminal device can delete the first animation movement path in the animation production interface and display the animation label control in a draggable state at the property switching position. During the dragging of the animation label control in the draggable state, the position of the virtual character is updated in real time along with the position update of the animation label control.
[0192] It should be noted that in this application, the identifier used to represent the starting point of the path of different configuration animations can be the same identifier (such as a yellow small dot pattern), and the identifier used to represent the ending point of the path of different configuration animations can also be the same identifier (such as a yellow triangular arrow pattern).
[0193] For ease of understanding, please refer to Figure 11 , Figure 11 is a scene schematic diagram provided by an embodiment of the present application for switching the displacement attribute of an animation. As shown in Figure 11 , in the animation production interface 11003, an animation movement path (the path indicated by identifier R1101 to identifier R1102) of a target added animation (a walking animation) is displayed, and a configuration animation floating layer Q is also displayed, which contains different configuration animations and an animation input box P101 (in which the text "walk" for the walking animation is displayed). The animation movement path contains an animation label control R1103, and when the object triggers the animation label control R1103, the terminal device can respond to the trigger operation, highlight the animation label control R1103, and highlight the text "walk" in the animation input box P101, to represent that the object a has selected the walking animation at this time, and related adjustments can be made to the walking animation. As shown in Figure 11 , the terminal device can display an animation adjustment panel Q1 for the walking animation, and the animation production interface in which the animation adjustment panel Q1 is displayed can be named animation production interface 11004. In the animation adjustment panel Q1, the current animation attribute of the walking animation is displayed as a displacement attribute, and a stay-in-place control is also included. When the object a triggers the stay-in-place control, the terminal device can respond to the trigger operation, delete the animation movement path displayed in the animation production interface 11004, and determine the position of identifier R1101 in the animation movement path as an attribute switching position. The terminal device can display the virtual character at the attribute switching position, and display the animation label control R1103 at the attribute switching position, and highlight the animation label control R1103 when it is displayed (the animation label control R1103 in the highlighted state can represent that the animation label control R1103 is draggable, and when the animation label control R1103 is dragged, the virtual character Gouzi will move accordingly).
[0194] In the embodiment of the present application, the innovative way of automatically creating animation key frames can quickly and conveniently generate key frames of character animation. Meanwhile, the present application can increase the display of the moving path of the character animation to provide an identifier for fixing the position of the character, so that the object can fix the position of the character at each key frame through each identifier. Compared with the manual key frame dotting method on the timeline, the present application can improve the convenience of key frame dotting. Meanwhile, the present application can automatically update the playback time point of the key frame based on the change of the animation duration or based on the addition or deletion of animation, without manually correcting the key frame on the timeline, which can greatly improve the production efficiency of the animation video. In summary, the present application can improve the convenience of video editing (improve the production of animation video), thereby improving the efficiency of video editing.
[0195] To facilitate understanding of the specific way in which the object adds the target added animation to display the animation moving path, please see Figure 12 , Figure 12 is a scene diagram provided by the embodiment of the present application for displaying the animation moving path after adding the target added animation. As shown in Figure 12 , it is assumed that in the embodiment corresponding to the above Figure 2 , the object a creates a shot 1, and adds a scene "sorrow gray" and virtual characters 30a (i.e. virtual character Gouz i) and virtual character Meixiaomei in the shot 1. For the virtual character Gouz i, the object a adds the dialogue text "Have you had dinner?". For the virtual character Meixiaomei, the object a adds the dialogue text "Green pepper and shredded pork is the favorite". For the virtual character Gouz i, a script statement 3011 (which contains the dialogue text "Have you had dinner?") can be corresponded. For the virtual character Meixiaomei, a script statement 3012 (which contains the dialogue text "Green pepper and shredded pork is the favorite") can be corresponded. In the animation production interface 12001 as shown in Figure 12 , the scene "sorrow gray" can be displayed in the shot 1, and the script statement 3011 and the script statement 3012 in the shot 1 can be displayed. In the animation production interface 12001, an animation preview area P1 can also be displayed, and the terminal device can display the virtual character 30a in the animation preview area P1.
[0196] Further, as shown in Figure 12As shown, when object a triggers the script statement 3011, it indicates that object a expects to adjust the virtual character 30a (i.e., the virtual character dog) (e.g., add animation, add dialogue, delete or modify existing dialogue, etc.). At this time, the terminal device can respond to this trigger operation and display the configuration animation overlay Q in the animation production interface 12001. In this embodiment, the animation production interface that displays the configuration animation overlay Q can be named the animation production interface 12002.
[0197] Furthermore, such as Figure 12 As shown, in the configuration animation overlay Q of the animation production interface 12002, the terminal device can also display different configuration animations (such as reaching out animation, waving animation, and walking animation). Simultaneously, the terminal device can also display an animation input box P101. Whenever an object selects a configuration animation for a virtual character, the text of the added configuration animation can be displayed in the animation input box P101. For example... Figure 12 As shown, when object a triggers an action on the walking animation, the terminal device can respond to this action and display the animation path of the walking animation in the animation preview area P1. The animation creation interface that displays the animation path of the walking animation can be named Animation Creation Interface 12003, as shown below. Figure 12 As shown, the animation creation interface 12003 includes an animation movement path from identifier R1201 to identifier R1202. An animation label control R1203 can also be displayed along this animation movement path. Furthermore, in the animation input box P101, the terminal device displays the text "Walking," indicating that a walking animation has been added to the virtual character dog.
[0198] As explained above, for each marker in the animation movement path, the object can be dragged to change the position of the marker, thereby adjusting the position of the virtual character at each keyframe point. For a better understanding, please refer to [the documentation / reference needed]. Figure 13 , Figure 13 This is a schematic diagram illustrating a scenario where a virtual character's position is adjusted by dragging a marker, as provided in an embodiment of this application. Figure 13 As shown above, in the above Figure 12 In the corresponding embodiment, after the terminal device displays the first animation movement path (the animation movement path from identifier R1201 to identifier R1202), the object can drag identifiers R1201 and R1202 to adjust the position of the virtual character at the first start keyframe (the position at the playback time of the first start keyframe) and the position at the first end keyframe (the position at the playback time of the first end keyframe). For example, as Figure 13As shown, when the object a first generates a trigger operation on the identifier R1202 to drag the identifier R1202, the terminal device can first display the virtual character 30a (i.e., the virtual character Gouz i) at the position where the identifier R1202 is located, at this time, the virtual character is in a selected state (a selected box M of the virtual character 30a is displayed in the animation production interface), it should be understood that in the selected box M, there are a direction adjustment control 300a (which can be used to adjust the mirror orientation direction of the virtual character (for converting the face direction of the virtual character)), a rotation adjustment control 300b (which can be used to adjust the rotation angle of the virtual character), and a zoom control 300c (which can be used to control the zoom of the virtual character, i.e., to adjust the size of the virtual character). In Figure 12 In the embodiment corresponding to the above
[0199] In the embodiment corresponding to the above Figure 13 , it can be known that the object can adjust the size, mirror orientation direction, and rotation angle of the virtual character at a certain position. For ease of understanding, please refer to the following Figure 14 , Figure 14 is a scene schematic diagram for converting the mirror orientation direction of a virtual character provided by an embodiment of the present application. As shown in Figure 14 , in the animation production interface 4001, the virtual character Gouz i is in a selected state, and a selected box M for the virtual character Gouz i is displayed in the animation production interface 4001, and the selected box M includes a direction adjustment control 300a, a rotation adjustment control 300b, and a zoom control 300c, as shown in Figure 14 , after the object a generates a trigger operation on the direction adjustment control 300a, the terminal device can respond to the trigger operation to switch the orientation direction of the virtual character Gouz i, as shown in the animation production interface 4002, the orientation direction of the virtual character Gouz i is a mirror direction opposite to the orientation direction in the animation production interface 4001. Figure 14
[0200] In the embodiment corresponding to the above Figure 13 , it can be known that the object can adjust the size, mirror orientation direction, and rotation angle of the virtual character at a certain position. When the size of the virtual character is gradually enlarged to cause the center point of the virtual character to overflow outside the animation production interface (i.e., outside the screen of the terminal device), the present application can use an avatar handle to represent the virtual character, and at the same time, through the avatar handle, it is also convenient for the object to pull the virtual character back to display in the screen, or it is more convenient to more explicitly know that the virtual character will be displaced to a place outside the screen. For ease of understanding, please refer to the following Figure 15 , Figure 15 is a scene schematic diagram for representing a virtual role by using an avatar handle provided by an embodiment of the present application. As shown in Figure 15 , in the animation preview area P1 of the animation production interface 5002, an avatar handle SQ is displayed, which can be used to represent that the size of the virtual role dog is too large and the center point overflows out of the screen. The object can pull the virtual role back to be displayed in the animation preview area P1 through the avatar handle SQ. As shown in Figure 15 , when the object triggers an operation on the avatar handle SQ, the terminal device can respond to the trigger operation to pull the virtual role dog back to be displayed in the animation preview area P1, so that the animation production interface 5003 displaying the virtual role dog can be obtained, and in the animation production interface 5003, the virtual role dog is in a selected state.
[0201] Further, based on the above embodiments, it can be known that an animation video can be composed of one or more shots, and a shot includes different script sentences, and a script sentence can include a configuration animation added for a virtual role, that is, a script sentence can include an added animation set. In the present application, based on an added configuration animation for a virtual role, an animation video can be generated, based on all added animations (that is, an added animation set) included in a script sentence, an animation video corresponding to the script sentence (which can be referred to as a sentence animation video, composed of an animation video of each added animation) can be generated, and based on the sentence animation videos of all script sentences in a shot, an animation video corresponding to the shot (which can be referred to as a shot animation video) can be generated. The final total animation video can be obtained by concatenating each shot animation video. The first animation video in the present application can be understood as a small animation video based on a certain animation (target added animation). It should be understood that for a certain script sentence in a shot, the animation duration of a certain added animation in the script sentence can be adjusted, a new configuration animation can be inserted in the added animations included in the script sentence, or a certain configuration animation in the script sentence can be deleted. Whether the existing animation is adjusted in duration, a new animation is added in the script sentence, or a certain configuration animation in the script sentence is deleted, it can be understood as an update of the added animation set in the script sentence. Once there is an update of a certain script sentence in a shot, the sentence play time of all script sentences in the shot needs to be updated, and the animation play time point of each added animation included in each script sentence also needs to be updated, wherein the update of the animation play time point of the added animation can be understood as the update of the play time points corresponding to the start key frame and the end key frame of the added animation. For the sake of understanding the specific process, the following will be described in conjunction with the accompanying Figure 16 . Please refer toFigure 16 , Figure 16 is a flowchart of updating an animation playing time point of an added animation in a split shot, provided by an embodiment of the present application. The flow is described by taking an example of a virtual character to which a target added animation is added. As shown in Figure 16 , the flow can include at least the following steps S701-S702:
[0202] In step S701, a split shot to which a virtual character belongs is obtained, and a script statement in which a target added animation is located is determined as a target script statement in a script statement set included in the split shot. The target script statement is used to indicate an added animation set of the virtual character, and the added animation set includes the target added animation.
[0203] Specifically, after the target added animation is added to the virtual character, the split shot to which the virtual character belongs (i.e., the split shot to which the script statement in which the target added animation is located belongs) can be obtained, and then the script statement in which the target added animation is located can be determined as the target script statement.
[0204] In step S702, in response to an animation update operation on the added animation set, an animation playing time point of a split shot animation included in the split shot is updated. The animation update operation on the added animation set includes an animation adding operation, an animation deleting operation, and an animation adjusting operation.
[0205] Specifically, when the target script statement has an animation update operation, the animation play time points of the added animations (which can be referred to as the script animation, that is, each configuration animation added for different virtual characters in each script statement of the script) included in the script can be updated. Here, the animation update operation can include animation addition operation, animation deletion operation, and animation adjustment operation, etc., and the animation addition operation can refer to adding a certain configuration animation in the target script statement; the animation deletion operation can refer to deleting a certain added animation in the target script statement; and the animation adjustment operation can refer to adjusting the animation duration of a certain added animation in the target script statement. Taking the animation addition operation as an example, for the added animation set, the specific implementation of updating the animation play time points of the script animation included in the script in response to the animation update operation of the added animation set can be as follows: when the added animation set has an animation addition operation, the terminal device can respond to the animation addition operation of the added animation set to obtain the added animation (that is, adding a certain configuration animation for the virtual character) of the added animation set and the added animation duration (which can be the default initial duration or the adjusted animation duration after object adjustment) of the added animation; the added animation set and the added animation are sorted according to the animation play order of each added animation and the added animation in the target script statement, thereby obtaining a third animation sequence; further, the animation play time point of the target added animation can be obtained, and based on the arrangement position between the added animation and the target added animation in the third animation sequence, the added animation duration, and the animation play time point of the target added animation, the updated animation play time point of the target added animation can be determined; then, the animation play time point of the target added animation in the target script statement can be switched and updated to the updated animation play time point.
[0206] The above updating of the animation play time point of each added animation can actually be understood as updating the play time points of the start key frame and the end key frame of each added animation. Since the added animations are played in series according to the animation play order in the script and the script statement, the end key frame of the current added animation can be used as the play time point of the start key frame of the next added animation when the current added animation ends and the next added animation starts immediately. Therefore, in a feasible embodiment, when updating the play time points of the start key frame and the end key frame, only the play time point of the end key frame can be updated. The updating of the play time point of the key frame can be understood as automatic maintenance and dynamic adjustment of the key frame. For ease of understanding, the following will be described in combination with the accompanying drawings. Figure 17The way of maintaining key frames is described, wherein, Figure 17 is a requirement class diagram of key frame maintenance provided by an embodiment of the present application. In the requirement class diagram as shown in Figure 17 , there are included a split screen class, a role attribute component class, a script statement class, a role interface attribute component class, and an animation component class. For the convenience of understanding, the content included by each class and the implementation function thereof will be described below:
[0207] The role interface attribute component class (SVRoleUIProperty, i.e., a role UI attribute class) defines the position x / y coordinate information of a virtual role (i.e., the position of the virtual role) and the role attribute characteristics of the virtual role (the role attribute characteristics such as a scale size scale, a rotation angle rotate, etc., and actually the position coordinate information of the virtual role and the role attribute characteristics can be collectively referred to as the role attribute information of the virtual role) in the role interface attribute class. It should be understood that through the data included by the role interface attribute class, it can be indicated how to draw the virtual role in a rendering area (such as an animation preview area). And for each key frame, the data included by the role interface attribute class is required, which can specifically refer to the role UI attribute information of a specific time point (the play time point of the key frame), and can also be understood as the snapshot information of the role on the rendering area at this time point.
[0208] The animation component class (SVRoleAnimationComponent) specifically includes six items a-f:
[0209] a: resource ID (resId) of an animation resource. Each configured animation is generated based on a certain Spine skeletal animation material, and the resource ID can be understood as a certain resource material (Spine skeletal animation material) associated with a certain configured animation.
[0210] b: unique representation ID (componentId, i.e., animation character) of the configured animation, which is a globally unique identification ID and has uniqueness, and can be used to uniquely represent a configured animation. (It should be noted that the "componentId" of the key frame SVRolePropertyComponent (frame attribute character) mentioned in the following is generated based on this field (i.e., generated based on the animation character), which is the basis for mutual lookup of the implicit dependency chain of SVRoleAnimationComponent and SVRolePropertyComponent).
[0211] c: animation description (desc), the text displayed in the script and on the animation label control in the rendering area (animation preview area) is provided by this field (animation description field), for example, in the above exemplary scenario embodiment of adding a walk animation as the target (such as Figure 5 the field can provide the text "walk" on the walk control (animation label control).
[0212] d: configure the relative start time point (startTime) of the animation in the script statement, which is the relative start time point of a certain configured animation in the current script statement (animation play start time point of the animation in the script statement). When generating keyframes before and after a configured animation, this field is needed (i.e. after adding a certain configured animation in the script statement, the relative start time point of the configured animation can be obtained based on the play order of the configured animation in the script statement, and the relative start time point of the configured animation can be used as the animation play start time point of the configured animation, and based on the animation play start time point and the animation duration of the configured animation, the play time points of the start keyframe and the end keyframe can be determined).
[0213] e: animation duration (duration), duration, which can be used to adjust the animation duration of the configured animation.
[0214] f: animation type (parameterType), animation type mainly refers to the displacement attribute of the configured animation, mainly including default type (default attribute), displacement type (displacement attribute), and keep original type (keep original attribute). It is a field used to represent whether the configured animation is a normal animation or a displacement animation. For example, the waving hand animation does not need to move in actual demand, so it does not need to generate keyframes automatically, and it can be configured as the default type; for the walk animation, it needs to move, so it can generate keyframes automatically, and it can be configured as the displacement type; for the configured animation with the displacement type, the keep original control can be set in the corresponding animation adjustment panel, which can quickly and conveniently switch the displacement attribute to the keep original attribute, at which time the field will change from the displacement type to the keep original type, and the distinction between keep original and not is needed when generating keyframes SVRoleUIProperty automatically later.
[0215] Role property component class (SVRolePropertyComponent), the rendering layer determines how to render the role property (position, size, rotation angle) at a certain specific time point according to the content contained in the class. The following content can be included in the role property component class:
[0216] Role UI property information (roleUIProperty): the above-mentioned SVRoleUIProperty is only simple property information without time concept, while the above-mentioned SVRolePropertyComponent contains property information and time information, stores key frame information of the virtual role, and is also associated with configuration animation and the like.
[0217] Property component type (type): the property component type contains shot default self-contained type, associated displacement type and associated keep original place type. The shot default self-contained type indicates that the internal roleUIProperty needs to be corrected. The meaning of the shot default self-contained type is that, for a virtual role, even if no configuration animation is added to the virtual role, the virtual role should at least have one property component object (that is, the virtual role should at least have a shot self-contained property such as being in a certain initial position). In short, it can be understood as the starting key frame of the virtual role.
[0218] Frame property character (componentId): when the type is the shot default self-contained type, a random global unique identification ID is automatically assigned to it; when the type is the associated displacement type or the associated keep original place type, the frame property character can be concatenated based on the componentId of the above-mentioned SVRoleAnimationComponent object with implicit dependency relationship and “_1”.
[0219] Relative start time point (startTime): when the type is the shot default self-contained type, the startTime is 0; when the type is the associated displacement type or the associated keep original place type, it is the absolute time of the final time axis of the implicitly dependent SVRoleAnimationComponent object (that is, the startTime of the SVRoleAnimationComponent+ the timelineGap of the script statement (SVRoleStatement), wherein the timelineGap refers to the statement playing time point of the script statement in the shot).
[0220] Property transition duration (animationDuration): it can refer to the transition duration from the previous property to the current property, which is only for the associated displacement type when the type is not 1, and the specific value can be the duration in the associated animation SVRoleAnimationComponent.
[0221] Attribute duration: the duration of the current attribute, including the animationDuration duration.
[0222] Script statement class (SVRoleStatement), which contains all the information related to the configuration animation in this script statement, and timelineGap refers to the starting time point of this script statement on the timeline (the statement playback time point of the script statement). The startTime in SVRoleAnimationComponent is the relative time in the script statement.
[0223] Storyboard class (SVStoryBoard), which is composed of multiple script statements and also contains the role attribute information of the virtual role involved.
[0224] Based on the above Figure 17The requirement class diagram in the corresponding embodiment, in the embodiment of the present application, the main steps of automatically generating key frames of animation and maintaining key frames mainly can include the following four steps: 1, generating association. For any one configuration animation SVRoleAnimationComponent (animation component), a corresponding role attribute component SVRolePropertyComponent (including all attributes of virtual role) is automatically associated, specifically including the key frame information of the corresponding end state (such as arm punching, arm bending, arm straightening state) of the configuration animation. The life cycle of the configuration animation component and the role attribute component is completely the same, and they are also deleted at the same time. For the animation component and the role attribute component, implicit association mapping is generated through componentId; 2, automatically correcting the play starting time point: any editing of script statements (including inserting or deleting configuration animation, editing operation of modifying any existing configuration animation) needs to traverse all script statements in the storyboard to correct the timelineGap (statement play time point) of each script statement. After updating the timelineGap of each script statement, the role property component list (rolePropertyList) in SVStoryboard (storyboard) is traversed and corrected. Specifically, the startTime (relative starting time point) and animationDuration (animation duration) in SVRolePropertyComponent need to be corrected (when correcting, the associated animation component SVRoleAnimationComponent needs to be found through componentId, and the startTime and duration are corrected according to the associated animation component SVRoleAnimationComponent); 3, automatically correcting the duration: after traversing and correcting the startTime of SVRolePropertyComponent, the sorted startTime is sorted in ascending order, and based on the sorted startTime, the duration of each configuration animation is corrected (this step mainly finds the attribute component chain of the same virtual role, and finds the next node (the node corresponding to the next key frame point) from the attribute component chain, and calculates the duration according to the startTime of the two nodes); 4, automatically correcting the position coordinates: if the type is the keep original position type, the position coordinates need to be corrected when traversing, and the previous node needs to be found to calculate the position coordinates.
[0225] In the embodiments of the present application, the innovative way of automatically creating animation key frames can quickly and conveniently generate key frames of character animation. Meanwhile, the present application can display the moving path of the character animation to provide an identifier for fixing the position of the character, so that the object can fix the position of the character at each key frame through each identifier. Compared with the manual key frame dotting method on the timeline, the present application can improve the convenience of key frame dotting. Meanwhile, the present application can automatically update the play time point of the key frame based on the change of animation duration or based on the addition or deletion of animation, without the need for manual correction of the key frame on the timeline, which can greatly improve the production efficiency of animation video. In summary, the present application can improve the convenience of video editing (improve the production of animation video), thereby improving the efficiency of video editing.
[0226] Further, based on the above, when any editing (including insertion or deletion of configuration animation, editing operation of modifying any existing configuration animation) is performed on the script statement, all script statements in the shot need to be traversed to correct the timelineGap (statement play time point) of each script statement, and then correct the startTime and duration of each added animation. That is, the animation play time point of all added animations in the shot needs to be updated, and the animation duration of each added animation also needs to be updated. For a better understanding of the specific process, please refer to Figure 18 , Figure 18 is an exemplary flowchart of correcting the animation play time point and the animation duration provided by the embodiments of the present application. As shown in Figure 18 , the flowchart can include at least the following steps S81-S85:
[0227] Step S81, edit a script statement and insert a configuration animation.
[0228] Specifically, a script statement can be edited, and specifically, a new configuration animation can be inserted in the script statement. At this time, a new SVAnimationComponent A can be added in the current script statement SVRoleStatement. Then, the key frame SVStoryBoard.rolePropertyList array of the inserted new configuration animation can be automatically added, and a new SVRolePropertyComponent P (wherein the SVRolePropertyComponent P can be equal to the component ID+_1 of the SVAnimationComponent A) can be added.
[0229] Step S82, traverse all script statements in the split shot, and correct the statement playback time point of each script statement.
[0230] Step S83, update the relative start time point of each added animation in each script statement.
[0231] Specifically, the relative start time point (startTime) of the added animation in the script statement, that is, the playback time point of the added animation in the script statement (which can include the playback time point of the start key frame and the end key frame).
[0232] When updating the playback time point (startTime) of the added animation, it needs to be determined whether the animation type of the added animation is the split shot default type, if so, the startTime of the added animation can be corrected, and the animation duration of the added animation can be directly assigned as the duration of the split shot; if the animation type of the added animation is not the split shot default type, then all script statements in the split shot can be traversed, based on the component ID, the SVAnimationComponent A with an implicit association relationship can be found, and then based on the statement update playback time point (new timelineGap) of the script statement, the new startTime (relative start time point) can be determined.
[0233] Step S84, sort the character attribute components in ascending order according to the relative start time point.
[0234] Step S85, correct the duration of the character attribute component.
[0235] Specifically, when correcting the duration of a certain character attribute component, the next character attribute node (which can be understood as the next attribute node configured with animation) of the same virtual character can be found based on the roleID and startTime, and then the duration of the character attribute component can be assigned as (the startTime of the next character attribute node minus the startTime of the current character attribute node). When the animation type of the character attribute component is not the split shot default type, the position coordinates of the character attribute component also need to be updated. Specifically, the previous character attribute node of the same virtual character can be determined based on the roleID and startTime, if the animation type of the character attribute component is the keep original position type, then the current position coordinate information can be assigned as the position coordinate information of the previous character attribute node; if the animation type of the character attribute component is the displacement type, then the current position coordinate information can be calculated based on the position coordinate information and rotation angle, character mirror orientation direction, etc. of the previous character attribute node.
[0236] It should be understood that the above description is for the case of adding a configuration animation, the modification of the animation playing time point (startTime) and the attribute duration, and when deleting a configuration animation, the process is similar to the above process, the difference is in the first two steps of the process, the bit motion animation needs to be deleted, and then the SVRoleAnimationComponent componentId is found to find the implicitly associated SVRolePropertyComponent, which is also deleted synchronously, and then the subsequent traversal modification process of the flowchart can be followed. Similarly, when the animation duration of a certain added configuration animation is adjusted, the process is similar to the process of adding a new animation. The difference is in the first two steps of the process, there is no new bit motion animation, and there is no need to generate a new role UI attribute component, only the duration of the bit motion animation SVRoleAnimationComponent needs to be updated, and then the subsequent traversal modification process of the flowchart can be followed. When the animation attribute of the configuration animation is changed to the original attribute, the process is similar to the above process, the difference is in the first two steps of the process. If the displacement attribute is changed to the original attribute, the type of the animation component SVRoleAnimationComponent needs to be modified from the displacement attribute to the original attribute, and the subsequent process of the above process has corresponding processing logic (which will modify the position coordinates in the process of traversing and modifying the position coordinates, and assign the position coordinates to the position coordinates of the previous role attribute node, to achieve the effect of "keeping the original position"). If the original attribute is changed to the displacement attribute, the type needs to be modified from the original attribute to the displacement attribute, and the subsequent process of the above process has corresponding processing logic (which will find the previous role attribute node in the process of traversing and modifying the position coordinates, and calculate a new position coordinates according to the current rotation attribute, mirror direction information, etc., to achieve the effect of changing from the original position to the displacement).
[0237] Further, based on the above, for the key frame associated role attribute information (such as the position, size, rotation angle, etc. of the virtual role), it needs to be rendered in the rendering area (animation preview area). In order to better understand the UI rendering process in the rendering area, the present application will combine the attached Figure 19 to elaborate on the UI rendering process of the rendering area. Please see Figure 19 , Figure 19 is a requirement class diagram for rendering of the animation preview area provided by an embodiment of the present application. In the like Figure 19The shown requirement class diagram contains an animation interface management class, a virtual management class, a dotted interface controller, an abstract interface node tree, an abstract interface node, a role attribute component class, an attribute transition class, a role attribute state class, a button management class, and a button interface controller. For ease of understanding, each part will be described below:
[0238] The animation interface management class (AnimationPathManager) is a UI management class that configures animations, and is mainly responsible for maintaining the creation, clearing, and attribute modification of UI.
[0239] The abstract interface node (AnimationPathNode) is used to represent nodes of each button in the UI. One node represents one button (here, the button can refer to an animation label control or two markers (such as a first marker and a second marker) used to fix the position of a virtual character).
[0240] The abstract interface node tree (AnimationNodeTree) is a node tree. Each node in the node tree is an AnimationPathNode (representing a button).
[0241] The attribute transition class (AnimationSegmentData) represents a segment of configured animation (an animation with displacement attributes or an animation with keep-in-place attributes). In this attribute transition class, at least the following eight items A-H can be included:
[0242] A: propertyID, used to represent the id of the end state RolePropertyComponent. This ID is a unique identifier.
[0243] B: isSitu, which can be used to determine whether the configured animation is a keep-in-place attribute.
[0244] C: startPosition, start point coordinates (i.e., the animation start position of the configured animation).
[0245] D: endPosition, end point coordinates (i.e., the animation end position of the configured animation).
[0246] E: startTime, animation start time (i.e., the animation play start time point in the script statement of the configured animation).
[0247] F: endTime, animation end time (i.e., the animation play end time point in the script statement of the configured animation).
[0248] G: description, animation description, such as the text "walk" in the walk control.
[0249] H: isDirty, dirty data identifier, indicating whether the data is updated.
[0250] CustomButtonController, button controller, used for controlling the UI and position coordinates, drag movement, etc. of the button.
[0251] Button management class, used for managing various buttons.
[0252] DottedLinePainter, dotted line controller, used for controlling the dotted line UI and position attributes. Specifically, the dotted line here can refer to the edge between two markers in the animation movement path, and in the UI presentation, the edge can be presented in a dotted line.
[0253] Dotted line management class, used for managing the related information of the dotted line.
[0254] Character attribute component class, which can be referred to the description of the character attribute component class in the above Figure 17 corresponding embodiments.
[0255] Character attribute state class, used for storing the character attribute information (position, size, rotation angle, etc.) of the virtual character at various time points.
[0256] It should be understood that since an animation needs to define two character states (key frames) of the start and end to define, the present application can reassemble the data of the SVRolePropertyComponent into a RolePropertyComponent. The RolePropertyComponent, in addition to having the data of the SVRolePropertyComponent, also carries the character properties of the start state (since the SVRolePropertyComponent represents the character properties of the end state), and can encapsulate both the start state and the end state into a data structure PropertyState. The data structure PropertyState encapsulates the relevant information of the character properties that can be transitioned, such as the position coordinates (x direction and y direction), rotation, scaling, and the time point corresponding to the state. Specifically, each time an object is added, modified, or deleted, the rendering area will receive the incremental data of the SVRolePropertyComponent. The incremental data will mark which SVRolePropertyComponent is added, updated, or deleted. For ease of explanation, assume that the type of the SVRolePropertyComponent is a displacement type. Then, for the newly added SVRolePropertyComponent, a new RolePropertyComponent needs to be created and inserted into the RolePropertyComponent list in ascending order of startTime. For the modified existing RolePropertyComponent, the corresponding properties need to be updated, and at this time the properties of the RolePropertyComponent need to be copied into the end state endState (since the properties of this SVRolePropertyComponent define the properties of the end state). Further, with the end state and end time of the animation, the start state and start time of the animation also need to be obtained to define a complete animation. At this time, the previous animation of the RolePropertyComponent in the RolePropertyComponent list can be found, and the properties and time of the animation can be copied into the startState of itself as the start state and start time of the animation, and for the first RolePropertyComponent in the list, the previous element of it can be defined as itself. Based on this, it can be extended to all cases, and for ease of processing, the original animation, the animation with displacement properties, and the non-animation can all be regarded as a change in properties: the original animation and the non-animation can all be regarded as a transition from the property of itself to the property of itself, i.e., staying in place and not moving.The animation of keeping original position, the animation with displacement attribute, and the RolePropertyComponent without animation can be processed by the same logic, thereby reducing development and maintenance costs.
[0257] It should be noted that when playing the animation video, the current time can be substituted into the function to evaluate, that is, the value of the attribute at the time point can be obtained. Specifically, when playing, the current time can be substituted into the linear function of the attribute, thereby the expected attribute value at the current time can be calculated, which can be compared with the current value, and if different, the role attribute is updated, thereby part of the overhead can be reduced.
[0258] It can be understood that based on the above, in the embodiment of the application, when the animation attribute of a certain configured animation is changed from the displacement attribute to the keep original position attribute, or the animation attribute of a certain configured animation is changed from the keep original position attribute to the displacement attribute, the UI of the corresponding animation movement path will also change accordingly. In the present application, a multi-way tree is introduced to abstractly represent the animation movement path presented in the animation making interface, thereby assisting the UI side to update. Specifically, the present application can divide the animation movement path in the UI into two categories of dashed lines and buttons, and the UI attribute of the button will affect the dashed line (such as dragging the button to change the length of the dashed line), so as long as the position of the button (point) is determined, the dashed line (the line between two points) can be determined. Among them, the button here can correspond to the identifier (such as the first identifier and the second identifier) for fixing the virtual role in the embodiment of the application, and the dashed line can be used to represent the edge between two identifiers. For ease of understanding, please see Figure 20 , Figure 20 is a schematic diagram of a multi-way tree provided in an embodiment of the application.
[0259] As shown in Figure 20 each node corresponds to a button in the UI. Specifically, Figure 20 the B nodes (including 1B node, 2B node, 3B node, 4B node, and 5B node) in Figure 20In this embodiment, the B node is an "end point" and the L node is a "non-end point".
[0260] In combination with the above-mentioned requirement class diagram, the creation process of the multi-ary tree can include: finding the RolePropertyComponent of the virtual role that adds the animation, and converting it into AnimationSegmentData, where the AnimationSegmentData represents the information of a segment of animation (such as Figure 20 The case shown in FIG. 6B can represent four segments of animation, where the 1L node is used to describe the fourth segment of animation, the 2L node is used to describe the third segment of animation, the 3L node is used to describe the second segment of animation, and the 4L node is used to describe the first segment of animation; subsequently, the AnimationSegmentData can be used to construct the AnimationNodeTree. For the first played AnimationSegmentData, two markers (respectively representing the start point of the animation and the end point of the animation) and a label button (representing the animation label control of the animation) need to be created, and the corresponding AnimationNodeTree is two B nodes and one L node; for each of the subsequent AnimationSegmentData, only one marker (the end point of the animation, because the start point of the animation has been created by the previous AnimationSegmentData) and a label button need to be created, and the corresponding AnimationNodeTree is one B node and one L node. When the UI is drawn based on the multi-ary tree, only the child nodes of the root node (Root node) need to be taken out, that is, the B node and the L node shown in FIG. 6B, and drawn according to the rules specified in advance, the B node can be drawn into the corresponding pattern (such as the yellow origin), the L node can be drawn into the corresponding label control, and the animation description can be displayed, the last B node can be drawn into the pattern representing the end state (such as the yellow triangular arrow), and finally the various end points can be connected by patterns to construct the multi-ary tree. Figure 20
[0261] It should be noted that when a certain configuration animation is set to keep the original position attribute, the corresponding UI will also change accordingly, and for the multi-ary tree, each node in the multi-ary tree also needs to be changed. For example, after the second played animation is set to keep the original position attribute, for the above-mentioned Figure 20 In the multi-branch tree shown, nodes 4B, 5B, and 4L represent the UI path of the first played animation (4L is its label button); nodes 3B, 4B, and 3L represent the UI path of the second played animation (3L is its label button); nodes 2B, 3B, and 2L represent the UI path of the third played animation (2L is its label button); and nodes 2B, 1B, and 1L represent the UI path of the fourth played animation (1L is its label button). Based on this, the sibling nodes of node 3L (nodes 3B and 4B) need to be its left and right subtrees. At the same time, nodes 3B and 4B should be modified to non-endpoints, and node 3L should be modified to an endpoint. This is because, according to product logic, node 3L, nodes 2B, and 5B will form two dashed line segments, which are also draggable. Following this logic, the multi-branch tree can be modified to obtain the following... Figure 21 The multi-branch tree shown is an example of this. Among them, Figure 21 This is a schematic diagram of a multi-branch tree with animations that maintain in-place properties, provided in an embodiment of this application. For example... Figure 21 As shown, the child nodes of the root node do not include the two endpoints in the second animation (the UI corresponding to this multi-branch tree also corresponds to the expected UI).
[0262] Similarly, further, assuming the third animation is set to remain in place, we can also use the sibling nodes of node 2L (nodes 2B and 3L) as its left and right subtrees, setting 2B and 3L as non-endpoints and 2L as an endpoint. This will give us the following result: Figure 22 The example shown is a multi-branch tree. Figure 22 This is a schematic diagram of a multi-branch tree provided in an embodiment of this application. Figure 22 In the animation, the child nodes of the root node do not include the two endpoints in the third animation (the UI corresponding to this multi-branch tree is also the same as the expected UI).
[0263] Correspondingly, if an animation is changed from a "stay in place" attribute back to a "displacement" attribute, the modification to the multi-branch tree can be deduced by working backward from the UI effect. For example, regarding the above... Figure 22the second played animation is restored to the displacement attribute, the L node represented by the animation tag (i.e., the 3L node) can be found. Since the 3L node is the right child of its parent node (the 2L node), the 3L node can be first lifted as the right sibling of the 2L node. Further, after the above operation, the right child of the 2L node is empty, and therefore, the left child of the 3L node needs to be set as the right child of the 2L node to fill the vacancy. Here, to maintain the balance of the tree (the 2L node must have both left and right children or have no children), the right child of the 3L node is also set as the right sibling of the 3L node. Thus, the multiway tree shown in Figure 23 is obtained. That is, Figure 23 is another multiway tree provided by the embodiments of the present application. As shown in Figure 23 , for the child nodes of the root node, one end point in the second segment of the animation is included (the UI corresponding to the multiway tree is also consistent with the expected UI).
[0264] It should be understood that after the above multiway tree is updated, the difference between the child nodes of the root node before and after the update can be used to incrementally update the UI. Since the nodes are pure data classes, the difference or the creation of new nodes has much less overhead than the creation and rendering of the UI. Moreover, since the tree is only an abstract representation of the buttons, to facilitate processing, the dashed segments are first removed, and only the buttons are kept. The intersection, the difference set of A with respect to B, and the difference set of B with respect to A are performed on the child nodes of the root node before and after the update (denoted as A before the update and B after the update). The difference set of A with respect to B represents the nodes that are added in A compared with B, and specifically represents the deleted buttons. The difference set of B with respect to A represents the nodes that are added in B compared with A, and specifically represents the added buttons. It can be understood that the intersection only indicates that the buttons still exist, but the position and the end point attribute can be changed, and the buttons still need to be updated, but do not need to be cleared or displayed. After the buttons are updated according to the three sets, the dashed segments are reconnected to complete the UI update, and the overall performance overhead is small, which can well reduce the cost of the overhead. Meanwhile, the object pool idea is introduced: the dashed segments and the buttons are only hidden and put into the idle object pool, and are taken from the object pool when needed, which can further reduce the overhead of object creation. It can be seen that the introduction of the multiway tree can well reduce the rendering overhead of the UI.
[0265] Further, referring to Figure 24 , Figure 24 is a structural schematic diagram of a data processing apparatus provided by the embodiments of the present application. The data processing apparatus can be a computer program (including program code) running in a computer device, for example, the data processing apparatus is an application software. The data processing apparatus can be used to execute the method shown in Figure 3 . As shown in Figure 24As shown, the data processing apparatus 1 can include a path display module 11, an adjustment duration acquisition module 12, a time updating module 13, and an animation video generation module 14.
[0266] The path display module 11 is configured to display a first animation movement path for adding an animation to a target in an animation production interface for a virtual character. The target added animation is a configuration animation selected and added by the virtual character in a configuration animation set. The first animation movement path refers to a path from a first mark to a second mark, the first mark is used to fix the position of the virtual character in a first start key frame, and the second mark is used to fix the position of the virtual character in a first end key frame. The first start key frame is the first frame of the target added animation, and the first end key frame is the end frame of the target added animation.
[0267] The adjustment duration acquisition module 12 is configured to acquire an adjusted animation duration of the target added animation in response to an adjustment operation of the animation duration of the target added animation.
[0268] The time updating module 13 is configured to update a first play time point for playing the first start key frame and a second play time point for playing the first end key frame based on the adjusted animation duration, to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point.
[0269] The animation video generation module 14 is configured to generate a first animation video according to the position indicated by the first mark in the first animation movement path, the position indicated by the second mark in the first animation movement path, the first updated play time point, the second updated play time point, the virtual character, and the target added animation. In the first animation video, the movement path of the virtual character is the first animation movement path, and the duration of the first animation video is equal to the play duration between the first updated play time point and the second updated play time point.
[0270] The specific implementation of the path display module 11, the adjustment duration acquisition module 12, the time updating module 13, and the animation video generation module 14 can be referred to the description of steps S101-S103 in the above-mentioned Figure 2 corresponding embodiments, which will not be described here.
[0271] In one embodiment, the first mark is also used to fix a first character attribute feature of the virtual character in the first start key frame, and the second mark is also used to fix a second character attribute feature of the virtual character in the first end key frame. In the first animation video, the character attribute feature of the virtual character at the first updated play time point is the first character attribute feature, and the character attribute feature of the virtual character at the second updated play time point is the second character attribute feature.
[0272] In one embodiment, the time updating module 13 updates the first play time point for playing the first start key frame and the second play time point for playing the first end key frame based on the adjusted animation duration, to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point. The specific manner includes:
[0273] Obtain the shot to which the virtual role belongs, determine the script statement in which the target add animation is located as the target script statement in the script statement set included in the shot; the target script statement is used to indicate the add animation set of the virtual role; the add animation set includes the target add animation;
[0274] Based on the adjusted animation duration, update the statement play time point corresponding to each script statement in the script statement set respectively to obtain the statement updated play time point corresponding to each script statement respectively;
[0275] Based on the statement updated play time point corresponding to the target script statement, update the first play time point for playing the first start key frame and the second play time point for playing the first end key frame, to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point.
[0276] In one embodiment, the add animation set of the virtual role indicated by the target script statement includes M add animations; M is a positive integer;
[0277] The specific implementation manner in which the time updating module 13 updates the first play time point for playing the first start key frame and the second play time point for playing the first end key frame based on the statement updated play time point corresponding to the target script statement to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point includes:
[0278] Sort the M add animations according to the animation play order of each add animation in the target script statement to obtain a first animation sequence;
[0279] Based on the sequence position of the target add animation in the first animation sequence, sequence cut the first animation sequence to obtain a cut sub-sequence; in the cut sub-sequence, a sequence start animation is located at a sequence start position of the cut sub-sequence, and the target add animation is located at a sequence end position of the cut sub-sequence; the sequence start animation refers to an add animation located at the sequence start position in the first animation sequence;
[0280] The first sum duration is obtained by performing sum operation processing on current animation durations corresponding to each of the priority playing animations.
[0281] The first update playing time point corresponding to the first playing time point is obtained by performing operation processing on the statement update playing time point corresponding to the target script statement and the first sum duration.
[0282] The second sum duration is obtained by performing sum operation processing on the first sum duration and the adjustment animation duration of the target added animation. The second update playing time point corresponding to the second playing time point is obtained by performing operation processing on the statement update playing time point corresponding to the target script statement and the second sum duration.
[0283] In one embodiment, the data processing apparatus 1 can further include a drag response module 15, a feature adjustment module 16, and a video update module 17.
[0284] The drag response module 15 is configured to, in response to a drag operation of the object on the first identifier, update the first animation moving path in real time to obtain a second animation moving path, and display the virtual character in a selected state at a first drag end position in the second animation moving path. The first drag end position refers to a position of the first identifier in the second animation moving path.
[0285] The feature adjustment module 16 is configured to, in response to an adjustment operation of the object on the character attribute feature of the virtual character in the selected state at the first drag end position, obtain a first adjusted character attribute feature of the virtual character at the first drag end position.
[0286] The drag response module 15 is further configured to, in response to a drag operation of the object on the second identifier, update the second animation moving path in real time to obtain a third animation moving path, and display the virtual character in a selected state at a second drag end position in the third animation moving path. The second drag end position refers to a position of the second identifier in the third animation moving path.
[0287] The feature adjustment module 16 is further configured to, in response to an adjustment operation of the object on the character attribute feature of the virtual character in the selected state at the second drag end position, obtain a second adjusted character attribute feature of the virtual character at the second drag end position.
[0288] The video updating module 17 is configured to update the first animation video according to the first dragging end position, the second dragging end position, the first adjusted character attribute feature, and the second adjusted character attribute feature, to obtain a second animation video; in the second animation video, a movement path of the virtual character is a third animation movement path, and a character attribute feature of the virtual character at a first updated playing time point is the first adjusted character attribute feature, and a character attribute feature of the virtual character at a second updated playing time point is the second adjusted character attribute feature.
[0289] The specific implementation manners of the dragging response module 15, the feature adjusting module 16, and the video updating module 17 can be referred to the descriptions of the corresponding embodiments of the above Figure 2 The specific implementation manners of the dragging response module 15, the feature adjusting module 16, and the video updating module 17 can be referred to the descriptions of the corresponding embodiments of the above
[0290] In an embodiment, the data processing apparatus 1 can further include a frame attribute determining module 18, a character generating module 19, and a relationship establishing module 20.
[0291] The frame attribute determining module 18 is configured to determine the first dragging end position and the first adjusted character attribute feature as frame attributes of a first starting key frame, and determine the second dragging end position and the second adjusted character attribute feature as frame attributes of a first ending key frame.
[0292] The character generating module 19 is configured to obtain an animation character for uniquely representing the target added animation, generate a first frame attribute character for uniquely representing the frame attributes of the first starting key frame, and a second frame attribute character for uniquely representing the frame attributes of the first ending key frame, based on the animation character of the target added animation.
[0293] The relationship establishing module 20 is configured to establish an association relationship between the animation character and the first updated playing time point, and establish an implicit dependency relationship between the animation character and the first frame attribute character.
[0294] The relationship establishing module 20 is further configured to establish an association relationship between the animation character and the second updated playing time point, and establish an implicit dependency relationship between the animation character and the second frame attribute character.
[0295] The specific implementation manners of the frame attribute determining module 18, the character generating module 19, and the relationship establishing module 20 can be referred to the descriptions of the corresponding embodiments of the above Figure 2 The specific implementation manners of the frame attribute determining module 18, the character generating module 19, and the relationship establishing module 20 can be referred to the descriptions of the corresponding embodiments of the above
[0296] In an embodiment, the specific implementation manner of the path display module 11 for displaying the first animation movement path for the target added animation in the animation production interface for the virtual character includes:
[0297] The script statement where the target animation is added is determined as a target script statement in the script statement set included in the split shot to which the virtual role belongs; the target script statement is used to indicate a set of added animations of the virtual role; the set of added animations includes M added animations, the M added animations include the target added animation; M is a positive integer;
[0298] The number of animations of the priority added animations included in the set of added animations is counted; the priority added animations refer to the added animations in the set of added animations except the target added animation;
[0299] If the number of animations is an invalid value, the current line-of-sight direction of the virtual role is obtained, and based on the current line-of-sight direction of the virtual role, the first identifier, and the second identifier, the first animation movement path is displayed in the animation production interface for the virtual role.
[0300] If the number of animations is a valid value, based on the priority added animations included in the added set, the first animation movement path is displayed in the animation production interface for the virtual role.
[0301] In one embodiment, the specific implementation of the path display module 11 displaying the first animation movement path in the animation production interface for the virtual role based on the current line-of-sight direction of the virtual role, the first identifier, and the second identifier includes:
[0302] The role interface position of the virtual role in the animation production interface is obtained, and the role interface position is determined as the first identifier display position of the first identifier in the animation production interface;
[0303] The configuration path display length for the target added animation is obtained, and based on the configuration path display length, the first identifier display position, and the current line-of-sight direction of the virtual role, the second identifier display position of the second identifier in the animation production interface is determined;
[0304] The first identifier is displayed at the first identifier display position, the second identifier is displayed at the second identifier display position, a pointing edge from the first identifier to the second identifier is displayed between the first identifier at the first identifier display position and the second identifier at the second identifier display position, and a movement path including the first identifier, the second identifier, and the pointing edge from the first identifier to the second identifier is determined as the first animation movement path.
[0305] In one embodiment, the specific implementation of the path display module 11 displaying the first animation movement path in the animation production interface for the virtual role based on the priority added animations included in the added set includes:
[0306] The M added animations are sorted according to the animation playing order of each added animation in the target script statement in the M added animations, and a second animation sequence is obtained.
[0307] If the target added animation is located at a sequence start position in the second animation sequence, the first animation movement path is displayed in the animation production interface for the virtual character based on existing animation movement paths of the preceding and succeeding animations in the animation production interface; the succeeding animation refers to a next added animation of the target added animation in the second animation sequence;
[0308] If the target added animation is located at a sequence middle position in the second animation sequence, the first animation movement path is displayed in the animation production interface for the virtual character based on existing animation movement paths of the preceding and succeeding animations in the animation production interface; the succeeding animation refers to a next added animation of the target added animation in the second animation sequence; the preceding animation refers to a previous added animation of the target added animation in the second animation sequence;
[0309] If the target added animation is located at a sequence end position in the second animation sequence, the first animation movement path is displayed in the animation production interface for the virtual character based on an existing animation movement path of the preceding animation in the animation production interface; the preceding animation refers to a previous added animation of the target added animation in the second animation sequence.
[0310] In one embodiment, the path display module 11 displays the first animation movement path in the animation production interface for the virtual character based on existing animation movement paths of the preceding and succeeding animations in the animation production interface, and the specific implementation manner includes:
[0311] The existing animation movement path of the preceding animation in the animation production interface is determined as a preceding path, and the existing animation movement path of the succeeding animation in the animation production interface is determined as a succeeding path;
[0312] A third identifier in the preceding path and a fourth identifier in the succeeding path are obtained; the third identifier is used to fix the position of the virtual character in a second end key frame, and the second end key frame refers to an end frame of the preceding animation; the fourth identifier is used to fix the position of the virtual character in a second start key frame, and the second start key frame refers to a first frame of the succeeding animation;
[0313] A position of the third identifier in the preceding path in the animation production interface is determined as a third identifier display position, a character line-of-sight direction of the virtual character at the third identifier display position is obtained, and a configuration path display length of the target added animation is obtained;
[0314] A first updated identifier display position of the fourth identifier in the animation production interface is determined based on the character line-of-sight direction, the third identifier display position, and the configuration path display length;
[0315] The position of the fourth identifier in the subsequent path in the animation production interface is determined as a fourth identifier display position, and the display position of the fourth identifier is changed from the fourth identifier display position to an updated identifier display position; the subsequent path is updated in real time as the position of the fourth identifier is updated.
[0316] A pointing edge from the third identifier to the fourth identifier is displayed between the third identifier at the third identifier display position and the fourth identifier at the first updated identifier display position, and a moving path including the third identifier, the fourth identifier, and the pointing edge from the third identifier to the fourth identifier is determined as a first animation moving path.
[0317] In an embodiment, the first animation moving path further includes an animation label control for representing the target added animation.
[0318] The path display module 11 is further configured to display an animation adjustment panel for the target added animation in response to a triggering operation of the animation label control in the first animation moving path.
[0319] The path display module 11 is further configured to delete the first animation moving path in the animation production interface in response to a triggering operation of the animation deletion control.
[0320] The path display module 11 is further configured to change the display position of the fourth identifier from the updated identifier display position to the fourth identifier display position, and update the subsequent path in real time as the position of the fourth identifier is updated.
[0321] In an embodiment, the first animation moving path further includes an animation label control for representing the target added animation.
[0322] The adjustment duration acquisition module 12 acquires a specific implementation of an adjusted animation duration of the target added animation in response to an adjustment operation of the animation duration of the target added animation, including:
[0323] The animation adjustment panel for the target added animation is displayed in response to a triggering operation of the animation label control in the first animation moving path, and the animation duration of the target added animation displayed in the animation adjustment panel is the initial animation duration.
[0324] The duration value input by the object in the animation adjustment panel is determined as the adjusted animation duration of the target added animation in response to an adjustment operation of the initial animation duration of the target added animation by the object in the animation adjustment panel.
[0325] In an embodiment, the first animation moving path further includes an animation label control for representing the target added animation.
[0326] The data processing apparatus 1 can further comprise a panel display module 21, an attribute changing module 22, a position determining module 23, and a path deleting module 24.
[0327] The panel display module 21 is configured to display an animation adjustment panel for the target added animation in response to a triggering operation of the animation label control in the first animation movement path by the object.
[0328] The attribute changing module 22 is configured to change the animation attribute of the target added animation from the displacement attribute to the keep-in-place attribute in response to an attribute adjustment operation of the displacement attribute of the target added animation by the object in the animation adjustment interface.
[0329] The position determining module 23 is configured to determine the position of the first mark in the first animation movement path as the attribute switching position in the animation production interface.
[0330] The path deleting module 24 is configured to delete the first animation movement path in the animation production interface and display the animation label control in a draggable state at the attribute switching position. During the dragging of the animation label control in the draggable state, the position of the virtual character is updated in real time along with the position of the animation label control.
[0331] The specific implementation of the panel display module 21, the attribute changing module 22, the position determining module 23, and the path deleting module 24 can be referred to the description of step S605 in the above-mentioned Figure 7 embodiment, which will not be repeated here.
[0332] In one embodiment, the data processing apparatus 1 can further comprise a script statement determining module 25 and a time point updating module 26.
[0333] The script statement determining module 25 is configured to obtain a shot to which the virtual character belongs, and determine a script statement in which the target added animation is located as a target script statement in a script statement set contained in the shot. The target script statement is used to indicate an added animation set of the virtual character. The added animation set contains the target added animation.
[0334] The time point updating module 26 is configured to update an animation playing time point of a shot animation contained in the shot in response to an animation updating operation on the added animation set. The animation updating operation on the added animation set includes an animation adding operation, an animation deleting operation, and an animation adjusting operation.
[0335] The specific implementation of the script statement determining module 25 and the time point updating module 26 can be referred to the description of step S605 in the above-mentioned Figure 16The description of steps S701-S702 in the corresponding embodiment will not be repeated here.
[0336] In one embodiment, the animation update operation for adding an animation set is an animation addition operation; the shot animation contained in the shot includes a target animation addition in the target script statement.
[0337] The time point updating module 26 updates the animation playing time point of the shot animation contained in the shot in response to the animation update operation for adding an animation set. The specific implementation manner includes:
[0338] In response to the animation addition operation for adding an animation set, the newly added animation for adding an animation set and the newly added animation duration of the newly added animation are obtained.
[0339] The added animation set and the newly added animation are sorted according to the animation playing order of each added animation and the newly added animation in the target script statement, to obtain a third animation sequence.
[0340] The animation playing time point of the target animation addition is obtained, and the updated animation playing time point of the target animation addition is determined based on the arrangement position between the newly added animation and the target animation addition in the third animation sequence, the newly added animation duration, and the animation playing time point of the target animation addition.
[0341] The animation playing time point of the target animation addition in the target script statement is switched and updated to the updated animation playing time point.
[0342] In the embodiments of the present application, the automatic creation of animation key frames is innovatively adopted, which can quickly and conveniently generate key frames of character animation. At the same time, the present application can increase the display of the moving path of the character animation to provide an identifier for fixing the position of the character, so that the object can fix the position of the character at each key frame through each identifier. Compared with the manual key frame dotting method on the time axis, the present application can improve the convenience of key frame dotting. At the same time, the present application can automatically dynamically update the playing time point of the key frame based on the change of the animation duration or based on the change of the newly added animation and the deleted animation, without manually correcting the key frame on the time axis, which can greatly improve the production efficiency of the animation video. In summary, the present application can improve the convenience of video editing (improve the production of animation video), thereby improving the efficiency of video editing.
[0343] Further, please refer to Figure 25 , Figure 25 is a structural schematic diagram of a computer device provided by an embodiment of the present application. As shown in Figure 25As shown, the computer device 8000 can include a processor 8001, a network interface 8004 and a memory 8005, and in some embodiments, the computer device 8000 further includes a user interface 8003 and at least one communication bus 8002. The communication bus 8002 is used to realize the connection communication between the components. The user interface 8003 can include a display, a keyboard, and optionally the user interface 8003 can further include a standard wired interface, a wireless interface. The network interface 8004 can optionally include a standard wired interface, a wireless interface (such as a WI-FI interface). The memory 8005 can be a high-speed RAM memory, or a non-volatile memory, for example at least one disk storage. The memory 8005 can be optionally at least one storage device located away from the aforementioned processor 8001. For example Figure 25 As shown, the memory 8005 as a computer readable storage medium can include an operating system, a network communication module, a user interface module and a device control application.
[0344] In Figure 25 As shown in the computer device 8000, the network interface 8004 can provide network communication functions; the user interface 8003 is mainly used to provide an input interface for the user; and the processor 8001 can be used to call the device control application stored in the memory 8005 to realize:
[0345] In the animation production interface for the virtual role, a first animation movement path for adding an animation to a target is displayed; the target added animation is a configuration animation selected and added by the virtual role in the configuration animation set; the first animation movement path refers to a path from a first mark to a second mark, the first mark is used to fix the position of the virtual role in the first start key frame, and the second mark is used to fix the position of the virtual role in the first end key frame; the first start key frame is the first frame of the target added animation, and the first end key frame is the end frame of the target added animation;
[0346] In response to an adjustment operation of an animation duration of the target added animation, an adjusted animation duration of the target added animation is obtained, and based on the adjusted animation duration, a first playback time point for playing the first start key frame and a second playback time point for playing the first end key frame are both updated to obtain a first updated playback time point corresponding to the first playback time point and a second updated playback time point corresponding to the second playback time point;
[0347] The first animation video is generated according to a position indicated by the first identifier in the first animation movement path, a position indicated by the second identifier in the first animation movement path, the first updated playing time point, the second updated playing time point, the virtual character, and the target added animation. In the first animation video, the movement path of the virtual character is the first animation movement path, and the time length of the first animation video is equal to the playing time length between the first updated playing time point and the second updated playing time point.
[0348] It should be understood that the computer device 8000 described in the embodiments of the present application can execute the foregoing Figures 2 to 16 The description of the data processing method in the corresponding embodiments can also execute the foregoing Figure 24 The description of the data processing device 1 in the corresponding embodiments will not be repeated here. In addition, the beneficial effects of using the same method will not be repeated.
[0349] In addition, it should be noted here that the embodiments of the present application also provide a computer readable storage medium, and the aforementioned computer readable storage medium stores the computer program executed by the aforementioned computer device 8000 for data processing, and the aforementioned computer program includes program instructions, and when the aforementioned processor executes the aforementioned program instructions, the foregoing Figures 2 to 16 The description of the data processing method in the corresponding embodiments will not be repeated here. In addition, the beneficial effects of using the same method will not be repeated. For technical details not disclosed in the computer readable storage medium embodiments involved in the present application, please refer to the description of the method embodiments of the present application.
[0350] The aforementioned computer readable storage medium can be an internal storage unit of the aforementioned computer device, such as a hard disk or a memory of the computer device. The computer readable storage medium can also be an external storage device of the computer device, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device. Further, the computer readable storage medium can include both the internal storage unit and the external storage device of the computer device. The computer readable storage medium is used to store the computer program and other programs and data required by the computer device. The computer readable storage medium can also be used to temporarily store data that has been output or will be output.
[0351] In an aspect of the present application, a computer program product is provided, which includes a computer program stored in a computer readable storage medium. A processor of a computer device reads the computer program from the computer readable storage medium, and the processor executes the computer program to enable the computer device to perform the method provided in an aspect of the embodiments of the present application.
[0352] The terms "first", "second", and the like in the description and in the claims of the present application and the drawings are used to distinguish between similar objects, not to describe a particular sequential order. Moreover, the terms "include", and "comprise", and any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of steps or elements is not necessarily limited to the listed steps or elements, but can optionally include additional steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
[0353] Those of ordinary skill in the art will realize that the units and algorithm steps of the examples described in connection with the embodiments disclosed herein can be embodied in electronic hardware, computer software, or a combination of both. The disclosure will be described in general terms in the following description, which will be understood to include general descriptions of the units and steps of the examples in terms of their functionality. Whether the functionality is performed in hardware or software depends on the particular application and design constraints imposed on the overall system. Skilled artisans can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
[0354] The methods and related apparatuses provided by the embodiments of the present application are described with reference to the method flowcharts and / or structural schematic diagrams provided by the embodiments of the present application. Each flow and / or block in the method flowcharts and / or structural schematic diagrams, and the combination of the flows and / or blocks in the flowcharts and / or block diagrams can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a means for implementing the functions specified in the flowcharts and / or blocks in the flowcharts and / or block diagrams. These computer program instructions can also be stored in a computer readable memory capable of causing a computer or other programmable data processing devices to work in a specific manner, so that the instructions stored in the computer readable memory produce a manufactured product including instruction means, which implements the functions specified in the flowcharts and / or blocks in the flowcharts and / or block diagrams. Figure one The functions specified in one flow or multiple flows and / or structural schematic Figure one The functions specified in one flow or multiple flows and / or structural schematic Figure one The functions specified in one flow or multiple flows and / or structural schematic Figure oneThe computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the operations specified in the flowchart block or blocks. Figure one The computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the operations specified in the flowchart block or blocks.
[0355] The above disclosure is merely preferred embodiments of the application and is not intended in any way to limit the scope of protection of the application. Any equivalent changes made according to the claims of the application are still within the scope of the application.
Claims
1. A data processing method, characterized by, The method comprises the following steps: In an animation production interface for a virtual role, a first animation movement path for adding an animation to a target is displayed; The target added animation is a configuration animation selected and added to the virtual role in a configuration animation set; the first animation movement path refers to a path from a first mark to a second mark, the first mark is used to fix the position of the virtual role in a first start key frame, and the second mark is used to fix the position of the virtual role in a first end key frame; the first start key frame is the first frame of the target added animation, and the first end key frame is the end frame of the target added animation; In response to an adjustment operation of the animation duration of the target added animation, an adjusted animation duration of the target added animation is obtained, a scene to which the virtual role belongs is obtained, and a script statement in which the target added animation is located is determined as a target script statement in a script statement set contained in the scene; the target script statement is used to indicate an added animation set of the virtual role; the added animation set contains the target added animation; Based on the adjusted animation duration, the statement play time point corresponding to each script statement in the script statement set is updated to obtain a statement updated play time point corresponding to each script statement; Based on the statement updated play time point corresponding to the target script statement, a first play time point for playing the first start key frame and a second play time point for playing the first end key frame are both updated to obtain a first updated play time point corresponding to the first play time point and a second updated play time point corresponding to the second play time point; A first animation video is generated according to the position indicated by the first mark in the first animation movement path, the position indicated by the second mark in the first animation movement path, the first updated play time point, the second updated play time point, the virtual role, and the target added animation; in the first animation video, the movement path of the virtual role is the first animation movement path, and the duration of the first animation video is equal to the play duration between the first updated play time point and the second updated play time point.
2. The method of claim 1, wherein, The first mark is also used to fix a first role attribute feature of the virtual role in the first start key frame, and the second mark is also used to fix a second role attribute feature of the virtual role in the first end key frame; in the first animation video, the role attribute feature of the virtual role at the first updated play time point is the first role attribute feature, and the role attribute feature of the virtual role at the second updated play time point is the second role attribute feature.
3. The method of claim 1, wherein, The added animation set of the virtual role indicated by the target script statement contains M added animations; M is a positive integer; The method further comprises: updating the first animation moving path in real time in response to the object's dragging operation on the first identifier, to obtain a second animation moving path, and displaying the virtual character in a selected state at a first dragging end position in the second animation moving path; the first dragging end position refers to the position of the first identifier in the second animation moving path; in response to the object's adjustment operation on the character attribute feature of the virtual character in the selected state at the first dragging end position, obtaining a first adjusted character attribute feature of the virtual character at the first dragging end position; updating the second animation moving path in real time in response to the object's dragging operation on the second identifier, to obtain a third animation moving path, and displaying the virtual character in a selected state at a second dragging end position in the third animation moving path; the second dragging end position refers to the position of the second identifier in the third animation moving path; in response to the object's adjustment operation on the character attribute feature of the virtual character in the selected state at the second dragging end position, obtaining a second adjusted character attribute feature of the virtual character at the second dragging end position; 4. The method of claim 1, wherein, According to the first drag end position, the second drag end position, the first adjusted role attribute feature and the second adjusted role attribute feature, the first animation video is updated to obtain a second animation video; in the second animation video, the moving path of the virtual role is the third animation moving path, and the role attribute feature of the virtual role at the first updated playing time point is the first adjusted role attribute feature, and the role attribute feature of the virtual role at the second updated playing time point is the second adjusted role attribute feature.
5. The method of claim 4, wherein, The method further comprises: The first drag end position and the first adjusted role attribute feature are determined as frame attributes of the first starting key frame, and the second drag end position and the second adjusted role attribute feature are determined as frame attributes of the first ending key frame; An animation character used for uniquely representing the target added animation is obtained, first frame attribute character used for uniquely representing the frame attributes of the first starting key frame and second frame attribute character used for uniquely representing the frame attributes of the first ending key frame are generated based on the animation character of the target added animation; An association relationship is established between the animation character and the first updated playing time point, and an implicit dependency relationship is established between the animation character and the first frame attribute character; An association relationship is established between the animation character and the second updated playing time point, and an implicit dependency relationship is established between the animation character and the second frame attribute character.
6. The method of claim 1, wherein, The first animation moving path for the target added animation is displayed in the animation production interface for the virtual role, comprising: A scene to which the virtual role belongs is obtained, and a script statement in which the target added animation is located is determined as a target script statement in a script statement set contained in the scene; the target script statement is used to indicate an added animation set of the virtual role; the added animation set contains M added animations, and the M added animations contain the target added animation; M is a positive integer; The number of animation of a priority added animation contained in the added animation set is counted; the priority added animation refers to an added animation in the added animation set except the target added animation; If the number of animation is an invalid value, the current line of sight direction of the virtual role is obtained, and the first animation moving path is displayed in the animation production interface for the virtual role based on the current line of sight direction of the virtual role, the first identifier and the second identifier; If the number of animation is a valid value, the first animation moving path is displayed in the animation production interface for the virtual role based on the priority added animation contained in the added animation set.
7. The method of claim 6, wherein, The first animation moving path is displayed in the animation production interface for the virtual role based on the current line of sight direction of the virtual role, the first identifier and the second identifier, comprising: obtaining a character interface position of the virtual character in the animation interface, determining the character interface position as a first mark display position of the first mark in the animation interface; obtaining a configuration path display length of the target added animation, determining a second mark display position of the second mark in the animation interface based on the configuration path display length, the first mark display position and a current line of sight direction of the virtual character; displaying the first mark at the first mark display position, displaying the second mark at the second mark display position, and displaying a pointing edge from the first mark to the second mark between the first mark at the first mark display position and the second mark at the second mark display position, determining a first animation movement path as the movement path containing the first mark, the second mark and the pointing edge from the first mark to the second mark.
8. The method of claim 6, wherein, The displaying of the first animation movement path in the animation interface for the virtual character based on the priority added animation contained in the added animation set comprises: sequencing the M added animations according to the animation play order of each added animation in the target script statement to obtain a second animation sequence; if the target added animation is located at a sequence start position in the second animation sequence, displaying the first animation movement path in the animation interface for the virtual character based on the existing animation movement path of the subsequent animation in the animation interface; the subsequent animation refers to the next added animation of the target added animation in the second animation sequence; if the target added animation is located at a sequence middle position in the second animation sequence, displaying the first animation movement path in the animation interface for the virtual character based on the existing animation movement paths of the preceding animation and the subsequent animation in the animation interface; the subsequent animation refers to the next added animation of the target added animation in the second animation sequence; the preceding animation refers to the previous added animation of the target added animation in the second animation sequence; if the target added animation is located at a sequence end position in the second animation sequence, displaying the first animation movement path in the animation interface for the virtual character based on the existing animation movement path of the preceding animation in the animation interface; the preceding animation refers to the previous added animation of the target added animation in the second animation sequence.
9. The method of claim 8, wherein, The displaying of the first animation movement path in the animation interface for the virtual character based on the existing animation movement paths of the preceding animation and the subsequent animation in the animation interface comprises: determining the existing animation movement path of the preceding animation in the animation interface as a preceding path and the existing animation movement path of the subsequent animation in the animation interface as a subsequent path; acquire a third identifier in the preceding path and a fourth identifier in the succeeding path; the third identifier is used to fix the position of the virtual character in a second end key frame, which refers to the end frame of the preceding animation; the fourth identifier is used to fix the position of the virtual character in a second start key frame, which refers to the first frame of the succeeding animation; determine the position of the third identifier in the preceding path in the animation production interface as a third identifier display position, acquire the character line of sight direction of the virtual character at the third identifier display position, and the configuration path display length of the target added animation; determine a first updated identifier display position of the fourth identifier in the animation production interface based on the character line of sight direction, the third identifier display position, and the configuration path display length; determine the position of the fourth identifier in the succeeding path in the animation production interface as a fourth identifier display position, and change the display position of the fourth identifier from the fourth identifier display position to the updated identifier display position; the succeeding path is updated in real time along with the update of the position of the fourth identifier; display a pointing edge from the third identifier to the fourth identifier between the third identifier at the third identifier display position and the fourth identifier at the first updated identifier display position, and determine a first animation movement path containing the third identifier, the fourth identifier, and the pointing edge from the third identifier to the fourth identifier as the first animation movement path.
10. The method of claim 9, wherein, The first animation movement path further contains an animation label control for representing the target added animation. The method further comprises: in response to the trigger operation of the object on the animation label control in the first animation movement path, display an animation adjustment panel for the target added animation; the animation adjustment panel contains an animation deletion control for the target added animation; in response to the trigger operation of the object on the animation deletion control, delete the first animation movement path in the animation production interface; change the display position of the fourth identifier from the updated identifier display position to the fourth identifier display position; the succeeding path is updated in real time along with the update of the position of the fourth identifier.
11. The method of claim 1, wherein, The first animation movement path further contains an animation label control for representing the target added animation. The response to the adjustment operation of the animation duration of the target added animation acquires an adjusted animation duration of the target added animation, which comprises: in response to the trigger operation of the animation label control in the first animation movement path, display an animation adjustment panel for the target added animation; the animation duration of the target added animation displayed in the animation adjustment panel is an initial animation duration; In response to the object adding an animation adjustment operation on the initial animation duration of the target animation in the animation adjustment panel, a duration value input by the object in the animation adjustment panel is obtained, and the duration value is determined as the adjusted animation duration of the target animation.
12. The method of claim 1, wherein, The first animation movement path further includes an animation label control for characterizing the target animation; The method further includes: In response to the object triggering the animation label control in the first animation movement path, an animation adjustment panel for the target animation is displayed; the animation attribute of the target animation displayed in the animation adjustment panel is a displacement attribute; In response to the object performing an attribute adjustment operation on the displacement attribute of the target animation in the animation adjustment panel, the animation attribute of the target animation is changed from the displacement attribute to a stay-in-place attribute; In the animation production interface, a position of the first identifier in the first animation movement path is determined as an attribute switching position; The first animation movement path in the animation production interface is deleted, and the animation label control in a draggable state is displayed at the attribute switching position; during dragging of the animation label control in the draggable state, the position of the virtual character is updated in real time according to the position of the animation label control.
13. The method of claim 1, wherein, The method further includes: A scene to which the virtual character belongs is obtained, a script statement in which the target animation is located in a script statement set included in the scene is determined as a target script statement; the target script statement is used to indicate a set of added animations of the virtual character; the set of added animations includes the target animation; In response to an animation update operation on the set of added animations, an animation playback time point of a scene animation included in the scene is updated; the animation update operation on the set of added animations includes an animation addition operation, an animation deletion operation, and an animation adjustment operation.
14. The method of claim 13, wherein, The animation update operation on the set of added animations is an animation addition operation; the scene animation included in the scene includes the target animation in the target script statement. The response to the animation update operation on the set of added animations includes: In response to an animation addition operation on the set of added animations, a newly added animation for the set of added animations and an addition animation duration of the newly added animation are obtained; According to an animation playback order of each added animation in the set of added animations and the newly added animation in the target script statement, the set of added animations and the newly added animation are sorted to obtain a third animation sequence; An animation playback time point of the target animation is obtained, and based on an arrangement position between the newly added animation and the target animation in the third animation sequence, the addition animation duration, and the animation playback time point of the target animation, an updated animation playback time point of the target animation is determined. Switching and updating the animation playing time point of the target added animation in the target script statement to the updated animation playing time point.
15. A data processing apparatus, characterized by: The method comprises the following steps: The path display module is configured to display a first animation movement path for a target added animation in an animation production interface for a virtual character. The target added animation is a selected configuration animation of the virtual character in a configuration animation set; the first animation movement path is a path from a first marker to a second marker, the first marker is used to fix the position of the virtual character in a first start key frame, and the second marker is used to fix the position of the virtual character in a first end key frame; the first start key frame is the first frame of the target added animation, and the first end key frame is the end frame of the target added animation. The adjustment time length acquisition module is configured to acquire an adjusted animation time length of the target added animation in response to an adjustment operation of the animation time length of the target added animation. The time updating module is configured to acquire a shot to which the virtual character belongs, determine a script statement in which the target added animation is located as a target script statement in a script statement set contained in the shot; the target script statement is used to indicate an added animation set of the virtual character; and the added animation set contains the target added animation. Based on the adjusted animation time length, the statement playing time points corresponding to each script statement in the script statement set are updated respectively to obtain statement updated playing time points corresponding to each script statement respectively. Based on the statement updated playing time point corresponding to the target script statement, a first playing time point for playing the first start key frame and a second playing time point for playing the first end key frame are updated to obtain a first updated playing time point corresponding to the first playing time point and a second updated playing time point corresponding to the second playing time point. The animation video generation module is configured to generate a first animation video according to the position indicated by the first marker in the first animation movement path, the position indicated by the second marker in the first animation movement path, the first updated playing time point, the second updated playing time point, the virtual character, and the target added animation; in the first animation video, the movement path of the virtual character is the first animation movement path, and the time length of the first animation video is equal to the playing time length between the first updated playing time point and the second updated playing time point.
16. A computer device, comprising: The computer device comprises a processor, a memory, and a network interface. The processor is connected with the memory and the network interface, wherein the network interface is configured to provide network communication function, the memory is configured to store a computer program, and the processor is configured to call the computer program to enable the computer device to execute the method in any one of claims 1-14. The computer readable storage medium stores a computer program, and the computer program is adapted to be loaded by the processor and execute the method in any one of claims 1-14.
17. A computer-readable storage medium, characterized in that, 18. A computer program product, characterised in that, The computer program product comprises a computer program stored in a computer readable storage medium, the computer program being adapted to be read and executed by a processor to cause a computer device having the processor to perform the method of any one of claims 1-14.
Citation Information
Patent Citations
Animation generation method and device, computer equipment and storage medium
CN115618155A
Animation Keyframing Using Physics
US20130120404A1