Animation generation method and device
By determining the animation object and reading its animation track events in animation technology, and creating animation files according to the hierarchical structure, the problem of animation track dispersion in animation scenes is solved, and the efficiency and experience of animation creation are improved.
Patent Information
- Application Number
- CN202111113011.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-18
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2041-09-18
AI Technical Summary
In the existing animation technology, the animation tracks in the animation scene are scattered, resulting in users needing to actively type and group, affecting the efficiency and experience of animation creation.
By receiving animation creation instructions, determining the animation object, and reading the animation events pre-created by its corresponding animation tracks, creating target animation files according to the hierarchical structure of animation objects, animation tracks, and animation events, realizing the division and management of animation levels.
It improves the efficiency and interpretability of animation creation, makes the animation creation process more intuitive and improves the user experience.
Smart Images

Figure CN113808237B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to an animation generation method and device. Background Art
[0002] With the development of animation technology, the design of animation scenes is becoming more and more complex. At present, when dealing with complex animation scenes, the animation tracks used in the animation scenes are scattered. Users are required to actively layout the animation tracks, or actively group the animation tracks to indicate the functional relevance between these animation tracks. In this case, not only the efficiency of animation creation is affected, but also the user's animation creation experience. Summary of the invention
[0003] In view of this, embodiments of the present application provide an animation generation method and apparatus, a computing device, and a computer-readable storage medium to solve the technical defects existing in the prior art.
[0004] According to a first aspect of an embodiment of the present application, there is provided an animation generation method, comprising:
[0005] Determine an animation object based on the received animation creation instruction;
[0006] Reading an animation event pre-created for the animation track corresponding to the animation object;
[0007] A target animation file is created based on the animation object, the animation track, and the animation event.
[0008] Optionally, the reading of the animation event pre-created for the animation track corresponding to the animation object includes:
[0009] Reading a basic animation event pre-created for a main animation track corresponding to the animation object, and reading an extended animation event pre-created for a sub-animation track associated with a target animation object, wherein the target animation object is an animation object associated with a sub-animation track in the animation object;
[0010] Accordingly, the creating a target animation file based on the animation object, the animation track and the animation event includes:
[0011] A target animation file is created based on the animation object, the main animation track, the basic animation event, the sub-animation track, and the extended animation event.
[0012] Optionally, in the case of pre-configuring animation resources of a preset type, before creating a target animation file based on the animation object, the animation track, and the animation event, the method further includes:
[0013] Taking the animation object, the animation track and the animation event as animation elements;
[0014] Determine a target animation resource of the preset type associated with at least one target animation element in the animation elements, and read resource information of the target animation resource;
[0015] According to the association relationship between the target animation resource and the at least one target animation element, updating the at least one target animation element through the resource information;
[0016] updating the animation object, the animation track, and the animation event based on the updated at least one target animation element;
[0017] The updated animation object, animation track, and animation event are used as the animation object, the animation track, and the animation event.
[0018] Optionally, the at least one target animation element is determined in the following manner:
[0019] An animation element associated with the animation resource of the preset type is selected from the animation object, the animation track, and the animation event as at least one target animation element.
[0020] Optionally, in the case of pre-configured prefab resources, before creating a target animation file based on the animation object, the animation track, and the animation event, the method further includes:
[0021] Taking the animation object, the animation track and the animation event as animation elements;
[0022] Determine a target prefab resource associated with at least one prefab animation element in the animation elements, and determine a resource path of the target prefab resource;
[0023] According to the association relationship between the target prefab resource and the at least one prefab animation element, updating the at least one prefab animation element through the resource path;
[0024] updating the animation object, the animation track, and the animation event based on the updated at least one prefab animation element;
[0025] The updated animation object, animation track, and animation event are used as the animation object, the animation track, and the animation event.
[0026] Optionally, any animation sub-event in the animation event is queried in the following manner:
[0027] Receive event query instructions submitted by users in the event operation area;
[0028] By traversing the event quadtree corresponding to the event operation area, the position information in the event query instruction is compared with the event operation sub-area corresponding to the node in the event quadtree;
[0029] Wherein, the event operation sub-region is the position of the operation sub-region corresponding to the animation sub-event in the animation event;
[0030] According to the comparison result, a target animation sub-event is determined in the animation sub-events and displayed.
[0031] Optionally, the event quadtree is updated in the following manner:
[0032] After creating any one animation sub-event in the animation event, determining a target node corresponding to the event operation sub-region of the any one animation sub-event in the event quadtree;
[0033] The target node is updated according to the event operation sub-region of any one of the animation sub-events to obtain an updated event quadtree.
[0034] Optionally, any one of the animation objects is created in the following manner:
[0035] In response to the received object creation instruction, display an animation object type list, wherein the animation object type list includes but is not limited to director type, camera type, actor type, special effect type and lighting type;
[0036] An animation object corresponding to the target animation object type is created based on the target animation object type selected in the animation object type list.
[0037] Optionally, any one of the sub-animation tracks is created in the following manner:
[0038] receiving a sub-track creation instruction for any one of the animation objects;
[0039] In response to the sub-track creation instruction, displaying a sub-track type list associated with the object property of any one animation object;
[0040] A sub-animation track corresponding to the target sub-track type is created based on the target sub-track type selected in the sub-track type list.
[0041] Optionally, the target animation object is determined in the following manner:
[0042] An animation object associated with a sub-animation track is selected from the animation objects and determined as a target animation object.
[0043] Optionally, any basic animation sub-event in the basic animation event is created in the following manner:
[0044] For any one of the animation objects, receiving a basic sub-event creation instruction for a main animation track corresponding to the any one of the animation objects;
[0045] In response to the basic sub-event creation instruction, display a basic sub-event type list corresponding to the main animation track corresponding to any one animation object;
[0046] A basic animation sub-event corresponding to the target basic sub-event type is created based on the target basic sub-event type selected in the basic sub-event type list.
[0047] Optionally, any extended animation sub-event in the extended animation event is created in the following manner:
[0048] For any one of the target animation objects, receiving an extended sub-event creation instruction for a sub-animation track associated with the any one of the target animation objects;
[0049] In response to the extended sub-event creation instruction, displaying a corresponding extended sub-event type list of the sub-animation track associated with any one of the target animation objects;
[0050] An extended animation sub-event corresponding to the target extended sub-event type is created based on the target extended sub-event type selected in the extended sub-event type list.
[0051] According to a second aspect of an embodiment of the present application, there is provided an animation generating device, comprising:
[0052] A determination module, configured to determine an animation object based on the received animation creation instruction;
[0053] A reading module, configured to read an animation event pre-created for an animation track corresponding to the animation object;
[0054] The creation module is configured to create a target animation file based on the animation object, the animation track and the animation event.
[0055] According to a third aspect of an embodiment of the present application, a computing device is provided, comprising a memory, a processor, and computer instructions stored in the memory and executable on the processor, wherein the processor implements the steps of the animation generation method when executing the computer instructions.
[0056] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, which stores computer instructions, and when the computer instructions are executed by a processor, the steps of the animation generation method are implemented.
[0057] The animation generation method provided in the embodiment of the present application determines the created animation object based on the received animation creation instruction, and reads the animation event pre-created for the animation track corresponding to the animation object; then creates the target animation file based on the animation object, the animation track and the animation event according to the hierarchical structure of the animation object, the animation track and the animation event, thereby making the animation creation process more intuitive and more interpretable by dividing the animation hierarchy, and also improving the animation creation efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0058] Figure 1 is a structural block diagram of a computing device provided in an embodiment of the present application;
[0059] Figure 2 is a flowchart of the animation generation method provided in an embodiment of the present application;
[0060] Figure 3 is a schematic diagram of an interface of an animation editor in the animation generation method provided in an embodiment of the present application;
[0061] Figure 4 is a schematic diagram of an event operation area in the animation generation method provided in an embodiment of the present application;
[0062] Figure 5 is a processing flow chart of an animation generation method applied to an animation editor provided in an embodiment of the present application;
[0063] Figure 6 It is a structural schematic diagram of the animation generating device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0064] Many specific details are described in the following description to facilitate a full understanding of the present application. However, the present application can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of the present application, so the present application is not limited by the specific implementation disclosed below.
[0065] The terms used in one or more embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of the present application. The singular forms of "a", "said" and "the" used in one or more embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in one or more embodiments of the present application refers to any or all possible combinations of one or more associated listed items.
[0066] It should be understood that, although the terms first, second, etc. may be used to describe various information in one or more embodiments of the present application, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of the present application, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0067] In the present application, an animation generation method and apparatus, a computing device, and a computer-readable storage medium are provided, which are described in detail one by one in the following embodiments.
[0068] Figure 1 The structure block diagram of a computing device 100 according to an embodiment of the present application is shown. The components of the computing device 100 include but are not limited to a memory 110 and a processor 120. The processor 120 is connected to the memory 110 via a bus 130, and the database 150 is used to store data.
[0069] The computing device 100 also includes an access device 140 that enables the computing device 100 to communicate via one or more networks 160. Examples of these networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. The access device 140 may include one or more of any type of network interface (e.g., a network interface card (NIC)) whether wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a World Wide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, a near field communication (NFC) interface, and the like.
[0070] In one embodiment of the present application, the above components of the computing device 100 and Figure 1 Other components not shown in the figure may also be connected to each other, for example, via a bus. It should be understood that Figure 1The computing device structure block diagram shown is only for the purpose of illustration, and is not intended to limit the scope of the present application. Those skilled in the art may add or replace other components as needed.
[0071] The computing device 100 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smart phone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or PC. The computing device 100 may also be a mobile or stationary server.
[0072] The processor 120 may execute Figure 2 The steps in the animation generation method shown. Figure 2 A flowchart of an animation generation method provided according to an embodiment of the present application is shown, which specifically includes the following steps:
[0073] Step 202: Determine an animation object based on the received animation creation instruction.
[0074] The animation creation instruction refers to an instruction for creating a playable animation file; the animation object can be understood as animation resources such as animation characters, cameras, and animation props. In actual applications, when the animation editor receives the animation creation instruction, it is necessary to determine the animation data used to create the animation file, and then create the animation file based on the animation data. The animation editor can be an animation editor for animation execution, or it can be a plug-in editor in an animation editor for other animations, and there is no limitation here.
[0075] During specific implementation, in order to optimize the user's animation creation process and facilitate the user to manage the animation elements (including animation objects) in the animation, the animation object can be created first, and then other animation elements that affect the animation object are created based on the created animation object, so that various animation elements can be classified and managed based on the animation object.
[0076] Therefore, how to create animation objects has a significant impact on the animation creation process. If the created animation objects can classify the animation elements well and meet the creation requirements, the efficiency of users in creating animations can be greatly improved. In specific implementation, some animation resources that are mainly or frequently used in the animation creation process can be divided into types according to functions or categories, and then animation objects are created based on the divided animation object types. In the embodiment of the present application, any animation object is created in the following way:
[0077] In response to the received object creation instruction, display an animation object type list, wherein the animation object type list includes but is not limited to director type, camera type, actor type, special effect type and lighting type;
[0078] An animation object corresponding to the target animation object type is created based on the target animation object type selected in the animation object type list.
[0079] Among them, the object creation instruction refers to the instruction for creating an animation object. In actual application, after the user submits the object creation instruction, the user is shown the types of animation objects that can be created. These animation object types are displayed in the form of an animation object list. Specifically, the animation object type list includes but is not limited to director type, camera type, actor type, special effect type, and lighting type animation object types. Furthermore, the director type animation object is used to control the entire animation, such as controlling the camera switching in the animation, the animation playback speed, etc.; the camera type animation object determines the viewing angle and display range of the animation playback; the actor type animation object refers to the virtual object in the animation; the special effect type animation object determines the special effect effect in the animation; the lighting type animation object determines the lighting effect in the animation; in addition, the animation object type list can also include scene type animation object types used for scene setting, etc., which are not limited here.
[0080] Based on this, the user can select the animation object type (ie, target animation object type) that he wants to create in the animation object type list, and then create an animation object based on the target animation object type.
[0081] In specific implementation, the above main animation object types are abstracted in the animation editor. During the animation editing process, animation objects required by the animation scene requirements can be created based on these animation object types.
[0082] For example: receiving an object creation instruction submitted by user U in an animation editor, displaying a list of animation object types pre-set in the animation editor in response to the object creation instruction, the list of animation object types including: director type, camera type, actor type, special effects type and lighting type, receiving the actor type selected by user U in the animation object type list as the target animation object type, and creating an animation object of the actor type: Actor 1.
[0083] In summary, in response to a received object creation instruction, a list of animation object types is displayed, and an animation object corresponding to a target animation object type is created based on the target animation object type selected in the animation object type list, thereby creating corresponding animation objects based on pre-divided animation object types, achieving type division of animation objects, and enabling flexible selection of the required animation object type from a variety of animation object types to create animation objects, thereby increasing the flexibility of creating animation objects.
[0084] Step 204: Read the animation event pre-created for the animation track corresponding to the animation object. Specifically, based on the above-mentioned determination of the animation object, in order to avoid the mutual influence between animation objects during animation editing and to increase the difficulty of animation creation due to improper management of animation elements, the animation editor hierarchically manages other animation elements based on the animation object. Therefore, when creating an animation file, the corresponding animation elements can be read according to these hierarchical relationships, and then the animation file can be created.
[0085] The animation track refers to a timeline set for an animation object, and the animation track can be used to manage animation events of the animation object. The animation event refers to a set of pre-configured events used to enable the animation object to perform a specific animation function at a specific moment.
[0086] In specific implementation, since the types of animation sub-events in the animation event set are diverse, these animation sub-events are intertwined, which is not conducive to animation creation and management of animation elements. In order to further improve the efficiency of animation creation and the convenience of management of animation elements, these animation sub-events can be further classified and managed. In the embodiment of the present application, it is specifically implemented in the following way: read the basic animation event pre-created for the main animation track corresponding to the animation object, and read the extended animation event pre-created for the sub-animation track associated with the target animation object, wherein the target animation object is the animation object associated with the sub-animation track in the animation object; specifically, the animation track is divided into two track types: main animation track and sub-animation track, and the animation event is divided into two event type sets: basic animation event and extended animation event, wherein any basic animation sub-event in the basic animation event is an animation sub-event, and any extended animation sub-event in the extended animation event is also an animation sub-event.
[0087] In actual applications, each animation object corresponds to a main animation track, and several basic animation sub-events can be created or configured on the main animation track, and these basic animation sub-events constitute a basic animation event. In addition, when the basic animation event cannot meet the configuration requirements of the animation object, at least one associated sub-animation track can be created or added for the animation object, so as to create or configure at least one corresponding extended animation sub-event on each sub-animation track, and these sub-extended animation sub-events constitute an extended animation event.
[0088] Among them, the main animation track refers to the basic timeline set for the animation object for basic animation event management, which is used to manage the basic animation events of the animation object during the animation playback. Correspondingly, the basic animation sub-events in the basic animation event are used to enable the animation object to perform basic animation functions such as binding objects, binding actors, and following. The sub-animation track refers to the extended timeline set for the animation object for extended animation event management, which is used to manage the extended animation events of the animation object during the animation playback. The number of the sub-animation tracks can be one or more, and there is no restriction here. Correspondingly, the extended animation sub-events in the extended animation event are used to enable the animation object to perform extended animation functions such as actions, skeletal actions, and facial animations. In actual applications, which animation sub-events belong to basic animation sub-events and which animation sub-events belong to extended sub-events are pre-set in the animation editor according to the type of animation sub-event.
[0089] In the specific implementation, considering that there are various types of extended animation sub-events, in order to avoid managing multiple types of extended animation sub-events on one sub-animation track, thereby affecting the editing efficiency of the animation, the sub-animation track type can be set in advance according to the type of extended animation sub-event corresponding to each animation object type, and then the sub-animation track is created according to the sub-animation track type. In the embodiment of the present application, any sub-animation track is created in the following way:
[0090] receiving a sub-track creation instruction for any one of the animation objects;
[0091] In response to the sub-track creation instruction, displaying a sub-track type list associated with the object property of any one animation object;
[0092] A sub-animation track corresponding to the target sub-track type is created based on the target sub-track type selected in the sub-track type list.
[0093] Among them, the sub-track creation instruction refers to the instruction to create a sub-animation track. In actual applications, since the sub-animation track depends on the animation object, it is used to manage the extended animation events of the animation object. Therefore, the sub-track creation instruction can be submitted for the animation object that is configured to create an extended animation sub-event. The purpose of creating a sub-animation track is to create an extended animation sub-event on it and manage the extended animation sub-event through the sub-animation track.
[0094] Furthermore, since each animation object can correspond to multiple types of animation implementations, and these different types of animation implementations are usually related to the object properties of the animation object (such as function, object part, etc.). Therefore, multiple sub-animation track types can be pre-divided according to the object properties of each animation object, and these sub-animation track types can be formed into a sub-animation track list. So that corresponding types of extended animation events can be managed on different types of sub-animation tracks. When creating a sub-animation track for any animation object, a list of sub-animation tracks associated with the object properties of any animation object can be displayed. Then, based on the target sub-track type selected by the user in the sub-track type list, a sub-animation track corresponding to the target sub-track type is created, and the created sub-animation track is used as the sub-animation track associated with any of the above animation objects.
[0095] Continuing with the above example: Based on the creation of the animation object: Actor 1, a sub-track creation instruction submitted by user U for Actor 1 in the animation editor is received, and in response to the sub-track creation instruction, a sub-animation track type list pre-set in the animation editor and associated with the functions and parts of Actor 1 is displayed, and the sub-animation track type list includes: action type, facial action type, etc. The action type selected by user U in the sub-animation track type list is received as the target sub-animation track type, and a sub-animation track of the action type is created: action track, and the created action track is used as the sub-animation track associated with the animation object Actor.
[0096] In summary, by receiving a sub-track creation instruction for any one of a plurality of animation objects and responding to the sub-track creation instruction, a sub-track type list associated with the object attribute of the any one of the animation objects is displayed, and then a sub-animation track is created based on the target sub-track type selected in the sub-track type list. This realizes the classification of sub-animation tracks, and realizes the flexible selection of the required sub-animation track type from a plurality of sub-animation track types to create a sub-animation track, thereby increasing the flexibility of creating sub-animation tracks.
[0097] In actual applications, since some animation objects may be associated with sub-animation tracks, while some animation objects do not create associated sub-animation tracks, in order to read the extended animation events pre-created on the sub-animation tracks, it is necessary to first determine the animation objects associated with the sub-animation tracks (i.e., the target animation objects). In an embodiment of the present application, the animation objects associated with the sub-animation tracks are selected from the animation objects and determined as the target animation objects, so as to read the data related to the sub-animation tracks for this part of the animation objects and create animations.
[0098] In specific implementation, on the basis of creating an animation object, since different basic functions can be implemented for each animation object, in order to avoid mutual influence between different basic functions, different basic functions of the animation object can be divided into different basic sub-event types in advance, and then basic animation sub-events are created according to the basic sub-event types. In the embodiment of the present application, any basic animation sub-event is created in the following manner:
[0099] For any one of the animation objects, receiving a basic sub-event creation instruction for a main animation track corresponding to the any one of the animation objects;
[0100] In response to the basic sub-event creation instruction, display a basic sub-event type list corresponding to the main animation track corresponding to any one animation object;
[0101] A basic animation sub-event corresponding to the target basic sub-event type is created based on the target basic sub-event type selected in the basic sub-event type list.
[0102] Among them, the basic sub-event adding instruction refers to the instruction to add a basic animation sub-event. In actual applications, since any basic animation sub-event has a time interval for event execution, the time interval is composed of the event start time and the event end time. This time interval can be reflected on the animation timeline. And the basic animation sub-event is used to realize the basic functions of the animation object, so the basic animation sub-event is created on the basic timeline (main animation track) corresponding to the animation object. Therefore, when creating a basic animation sub-event, it is necessary to submit a basic sub-event creation instruction for the basic timeline (main animation track).
[0103] Furthermore, since the event types of the basic animation sub-events corresponding to each animation object are various, and different types of basic animation sub-events may need to set different properties. In order to avoid mutual influence between different types of basic animation sub-events, it is necessary to divide the basic animation sub-events into at least one basic sub-event type according to the animation object, and form a basic sub-event type list of these basic sub-event types. Then, when creating a basic animation sub-event on the main animation track corresponding to any animation object, the basic sub-event type list corresponding to the main animation track corresponding to the animation object can be displayed. Then, based on the target basic sub-event type selected by the user in the basic sub-event type list, create a basic animation sub-event corresponding to the target basic sub-event type. It should be noted that at least one basic animation sub-event can be created for the main animation track, and the collection of these basic animation sub-events is called a basic animation event.
[0104] Continuing with the above example: Based on the creation of the animation object: Actor 1, the basic sub-event creation instruction submitted by user U in the animation editor for the main animation track corresponding to Actor 1 is received. In response to the basic sub-event creation instruction, a list of basic sub-event types corresponding to the main animation track of Actor 1 pre-set in the animation editor is displayed. The list of basic sub-event types includes: bound object type, bound actor type, and follow type. The bound object type selected by user U in the list of basic sub-event types is received as the target basic sub-event type, and a basic animation sub-event of the bound object type is created: bound object A. Specifically, bound object A means that object A will be displayed in the scene during the time interval corresponding to the event.
[0105] In summary, by receiving a basic sub-event creation instruction for a main animation track corresponding to any one of the multiple animation objects, and responding to the basic sub-event creation instruction, creating the corresponding basic animation sub-event by using the target basic sub-event type selected in the basic sub-event type list, the basic animation sub-events of the animation objects are divided into types, and the basic sub-event type required is flexibly selected from a plurality of basic sub-event types to create a basic animation sub-event, thereby increasing the flexibility of creating basic animation sub-events.
[0106] Similarly, on the basis of creating an animation object, since different extended functions can be implemented for each animation object, in order to avoid mutual influence between different extended functions, different extended functions of the animation object can be divided into different extended sub-event types in advance, and then the extended animation sub-event is created according to the extended sub-event type. In the embodiment of the present application, any extended animation sub-event is created in the following manner:
[0107] For any one of the target animation objects, receiving an extended sub-event creation instruction for a sub-animation track associated with the any one of the target animation objects;
[0108] In response to the extended sub-event creation instruction, displaying a corresponding extended sub-event type list of the sub-animation track associated with any one of the target animation objects;
[0109] An extended animation sub-event corresponding to the target extended sub-event type is created based on the target extended sub-event type selected in the extended sub-event type list.
[0110] Among them, the extended sub-event creation instruction refers to the instruction to add an extended animation sub-event. In actual applications, since any extended animation sub-event has a time interval for event execution, the time interval is also composed of the event start time and the event end time. This time interval also needs to be reflected on the animation timeline. And the extended animation sub-event is used to realize the extended function of the animation object, so the extended animation sub-event is created on the extended timeline (i.e., the sub-animation track) associated with the animation object. Therefore, when creating an extended animation sub-event, it is necessary to submit an extended sub-event creation instruction for the sub-animation track.
[0111] Furthermore, since the event types of extended animation sub-events are diverse, and different types of extended animation sub-events may need to set different properties. In order to avoid mutual influence between different types of extended animation sub-events, it is necessary to divide the extended animation sub-events into at least one extended sub-event type according to the animation object, and form an extended sub-event type list of these extended sub-event types. Then, when creating an extended animation sub-event on a sub-animation track associated with any animation object, the extended sub-event type list corresponding to the sub-animation track associated with the animation object can be displayed. Then, based on the target extended sub-event type selected by the user in the extended sub-event type list, create an extended animation sub-event corresponding to the target extended sub-event type. It should be noted that at least one extended animation sub-event can also be created for the sub-animation track, and the collection of these extended animation sub-events is called an extended animation event.
[0112] Continuing with the above example: based on the creation of the animation object: actor 1, an extended sub-event creation instruction submitted by user U in the animation editor for the action track associated with actor 1 is received, and in response to the extended sub-event creation instruction, a list of extended sub-event types corresponding to the action track of actor 1 pre-set in the animation editor is displayed, and the extended sub-event type list includes: leg action type, hand action type, head action type. The leg action type selected by user U in the extended sub-event type list is received as the target extended sub-event type, and an extended animation sub-event of the leg action type is created: a kicking sub-event. The kicking sub-event indicates that actor 1 is controlled to perform a kicking action within the time interval corresponding to the event.
[0113] Specific as Figure 3 In the animation editor shown, an animation object has been created: actor 1, and the animation image of actor 1 is displayed in the animation display area of the animation editor. In addition, actor 1 has a corresponding main animation track and sub-animation track, and a basic animation sub-event: binding object A is created for the main animation track corresponding to actor 1, and an extended animation sub-event: kicking sub-event is created for the sub-animation track associated with actor 1.
[0114] In summary, by receiving an extended sub-event creation instruction for a sub-animation track associated with any one of the multiple target animation objects, and responding to the extended sub-event creation instruction, creating a corresponding extended animation sub-event by using the target extended sub-event type selected in the extended sub-event type list, the extended animation sub-events of the animation objects are divided into types, and the required extended sub-event type is flexibly selected from a plurality of extended sub-event types to create an extended animation sub-event, thereby increasing the flexibility of creating extended animation sub-events.
[0115] In practical applications, it may be necessary to view the created animation sub-events (basic animation sub-events or extended animation sub-events). When editing animation sub-events in an animation editor, it takes a long time to linearly traverse the event operation sub-area of each animation sub-event to determine the animation sub-event that matches the user's click. Therefore, the event operation sub-area of each animation sub-event can be traversed in the form of a quadtree. The embodiment of the present application also includes:
[0116] Receive event query instructions submitted by users in the event operation area;
[0117] By traversing the event quadtree corresponding to the event operation area, the position information in the event query instruction is compared with the event operation sub-area corresponding to the node in the event quadtree;
[0118] Wherein, the event operation sub-region is the position of the operation sub-region corresponding to the animation sub-event in the animation event;
[0119] According to the comparison result, a target animation sub-event is determined in the animation sub-events and displayed.
[0120] The event operation area refers to the interface area in the animation editor that can operate at least one animation sub-event. The event query instruction refers to the instruction to query any animation sub-event (basic animation sub-event or extended animation sub-event); each event operation sub-area refers to the operation sub-area corresponding to any sub-event in the created animation sub-event in the event operation area; the event operation sub-area can also be understood as an event bounding box.
[0121] In actual applications, in order to query the animation sub-events that have been created, the animation sub-events that have been created are usually mapped in the editing interface of the animation editor in the form of event operation sub-areas, so that when the user submits an event query instruction by operating in the event operation sub-area corresponding to any animation sub-event, the user can view any animation sub-event. However, the animation sub-event that the user wants to view is determined based on the user's operation position. Therefore, it is necessary to compare the location information carried in the user's event query instruction with the event operation sub-area of the animation sub-event contained in the event operation area to determine the event operation sub-area that matches the location information. And the animation sub-event corresponding to the matching event operation sub-area is used as the animation sub-event corresponding to the event query instruction.
[0122] In specific implementation, the event quadtree can be traversed, and the event quadtree is formed based on the event operation sub-area corresponding to the created animation sub-event, that is, by traversing the event quadtree corresponding to the event operation area, the location information carried in the event query instruction (such as the click location information carried in the event query instruction submitted by clicking) is compared with the event operation sub-area corresponding to each leaf node in the event quadtree, and the event operation sub-area corresponding to the location information is determined. The animation sub-event corresponding to the corresponding event operation sub-area is used as the target animation sub-event, and the target animation sub-event (target basic animation sub-event or target extended animation sub-event) is displayed. Specifically, the target animation sub-event can be displayed by displaying the event panel of the target animation sub-event.
[0123] Furthermore, the user can also edit the queried animation sub-event in the displayed event panel. After the editing is completed, the animation editor updates the queried animation sub-event based on the event information in the event panel.
[0124] Continuing with the above example, assume that two basic animation sub-events and three extended animation sub-events have been created for actor 1. The two basic animation sub-events are: bind object A and follow object B; the three extended animation sub-events are: kick sub-event, nod sub-event and wave hand sub-event. Figure 4 In the event operation area of the animation editor shown, the binding object A corresponds to the event operation sub-area cr1, the following object B corresponds to the event operation sub-area cr2; the kicking sub-event corresponds to the event operation sub-area cr3, the nodding sub-event corresponds to the event operation sub-area cr4, and the waving sub-event corresponds to the event operation sub-area cr5. These animation sub-events are displayed in the event operation area of the animation editor in the form of event operation sub-areas. The event query instruction submitted by the user U in the event operation area is received, and the event quadtree created in advance for the event operation area and the event operation sub-areas of the five animation sub-events is traversed. The position information d1 carried in the event query instruction is compared with the five event operation sub-areas corresponding to the nodes of the event quadtree, and it is determined that the position information d1 matches the event operation sub-area cr4, and then the event panel corresponding to the nodding sub-event corresponding to the event operation sub-area cr4 is displayed.
[0125] In summary, by traversing the quadtree to query the animation sub-events to be viewed, the query efficiency of the animation sub-events corresponding to the query event query instruction is improved.
[0126] In specific implementation, the event quadtree needs to include each created animation sub-event. In order to avoid the need to rebuild the event quadtree every time a new animation sub-event is created, a new animation sub-event can be created each time, and the created event quadtree can be updated based on the event operation sub-area of the newly created animation sub-event. In the embodiment of the present application, the event quadtree is updated in the following manner:
[0127] After creating any one animation sub-event in the animation event, determining a target node corresponding to the event operation sub-region of the any one animation sub-event in the event quadtree;
[0128] The target node is updated according to the event operation sub-region of any one of the animation sub-events to obtain an updated event quadtree.
[0129] In practical applications, since each leaf node in the event quadtree corresponds to a node area within the event operation area, and each leaf node corresponds to an event operation sub-area contained in this node area. Therefore, it is necessary to determine the node area where the operation event sub-area of the newly created animation sub-event (basic animation sub-event or extended animation sub-event) is located, and then determine the target node corresponding to the node area in the event quadtree. And by adding the operation event sub-area position of the newly created animation sub-event to the target node for updating, the event quadtree is updated to obtain an updated event quadtree. For example, the target node originally corresponds to 1 event operation sub-area. After the target node is updated by the operation event sub-area of the newly created animation sub-event, the target node corresponds to 2 event operation sub-areas.
[0130] Using the above example, assume that there are 4 leaf nodes in the event quadtree, and these 4 leaf nodes are leaf node A, leaf node B, leaf node C and leaf node D, where leaf node A corresponds to event operation sub-area cr1, leaf node B corresponds to event operation sub-area cr3, leaf node C corresponds to event operation sub-area cr2, and leaf node D corresponds to event operation sub-area cr4. After creating the extended animation sub-event: waving sub-event, it is determined that the event operation sub-area cr5 of the waving sub-event is in the node area corresponding to leaf node C, and leaf node C is used as the target node. The leaf node C originally corresponds to the event operation sub-area cr2 of the following object B, and the leaf node C is updated by adding the event operation sub-area r5 to the leaf node C. The updated leaf node C corresponds to the event operation sub-area cr2 of the following object B and the event operation sub-area cr5 of the waving sub-event. Further, by updating the leaf node C in the event quadtree, an updated event quadtree is obtained.
[0131] In summary, after the event quadtree is created for the first time, it is only necessary to update the event quadtree through the event operation sub-region corresponding to the newly created animation sub-event after each animation sub-event is created, which indirectly improves the efficiency of event viewing.
[0132] Step 206: Create a target animation file based on the animation object, the animation track, and the animation event.
[0133] Specifically, based on the animation event reading described above, in order to include all animation elements in the created target animation file, a playable animation (ie, target animation file) is created based on animation elements such as animation objects, animation tracks, and animation events.
[0134] In specific implementation, a blank initial animation file can be created first, and then the animation data corresponding to the animation object, animation track, and animation event can be read from the memory, and these animation data can be added to the initial animation file according to a preset format to generate a target animation file. Furthermore, the target animation file can be played by calling a playback interface to play the created target animation.
[0135] On the basis that the animation track is divided into the main animation track and the sub-animation track, and the animation events are divided into the basic animation events and the extended animation events, in order to make the created target animation file include all the animation elements created in the animation editing process, the embodiment of the present application creates the target animation file based on the animation object, the main animation track, the basic animation event, the sub-animation track and the extended animation event. Make the created target animation file have clear hierarchy and stronger interpretability. In specific implementation, in the process of editing and creating the animation through the animation editor, some preset types of animation resources in the animation editor may be referenced, such as: material resources, map resources, animation clip resources, etc. pre-imported or configured in the animation editor. If only the reference relationship is saved for these resources in the process of creating the animation file, it is not conducive to the transplantation of the animation file. Therefore, the resource information of these referenced original resources can be directly saved in the animation file. The embodiment of the present application is specifically implemented in the following way:
[0136] Taking the animation object, the animation track and the animation event as animation elements;
[0137] Determine a target animation resource of the preset type associated with at least one target animation element in the animation elements, and read resource information of the target animation resource;
[0138] According to the association relationship between the target animation resource and the at least one target animation element, updating the at least one target animation element through the resource information;
[0139] updating the animation object, the animation track, and the animation event based on the updated at least one target animation element;
[0140] The updated animation object, animation track, and animation event are used as the animation object, the animation track, and the animation event.
[0141] The preset type refers to the resource type of the pre-set animation resource. In actual applications, the resource type that is relatively independent of the animation editor can be set as the preset type. In this case, it is also relatively simple to read the resource information therein, so the resource information of these animation resources can be directly read.
[0142] In specific implementation, the created animation objects, animation tracks and animation events are taken as animation elements, and each of these animation elements may reference animation resources. Therefore, it is necessary to select an animation element associated with a preset type of animation resource from the animation objects, the animation tracks and the animation events as at least one target animation element, so as to read the preset type of animation resources (i.e., target animation resources) associated (referenced or dependent) with these target animation elements, and read the resource information of these target animation resources.
[0143] Then, according to the association relationship (reference relationship or dependency relationship) between the target animation resource and at least one target animation element, the target animation element with the association relationship is updated through the read resource information. Then, based on the updated at least one target animation element, the animation object, the animation track and the animation elements corresponding to the animation event are updated to obtain the updated animation elements, so as to create the target animation file based on the updated animation elements.
[0144] Continuing with the above example, the animation creation instruction submitted by user U is received. In response to the animation creation instruction, all animation objects created in the animation editor are determined. These animation objects include: actor 1, director 1, and camera 1. The basic animation events pre-created for the main animation tracks corresponding to these three animation objects are read. The basic animation events include: binding object A (basic animation sub-event). The animation object associated with the sub-animation track is selected from these three animation objects: actor 1, and the animation object: actor 1 is used as the target animation object. The extended animation event pre-created for the action track (sub-animation track) associated with the target animation object actor 1 is read. The extended animation event includes: kicking sub-event (extended animation sub-event).
[0145] The three animation objects, the main animation tracks corresponding to the three animation objects, the action track associated with actor 1, the bound object A, and the kicking sub-event are taken as animation elements. When the preset types of animation resources of the texture type and the material type are pre-configured in these animation elements, the target animation element of the animation resource associated with the preset type in these animation elements is determined to be the bound object A. The target animation resource of the preset type configured (associated) in the bound object A is determined to be the file A, and the file information contained in the file A is read. The bound object A is updated based on the read file information to obtain the updated bound object A.
[0146] In summary, by reading the resource information of the target animation resource associated with the target animation element and updating the target animation element based on the resource information, the created target animation file directly includes the resource information of the animation resource, which facilitates the transplantation of the target animation file.
[0147] In addition, there are animation elements associated with prefab resources in the animation elements. Since these prefab resources are pre-created by the animation editor, the stored information needs to be parsed by the animation editor. Therefore, for such prefab resources, in order to avoid spending too much time and resources on parsing, the resource paths of these prefab resources can be saved. In the embodiment of the present application, this is specifically implemented in the following manner:
[0148] Taking the animation object, the animation track and the animation event as animation elements;
[0149] Determine a target prefab resource associated with at least one prefab animation element in the animation elements, and determine a resource path of the target prefab resource;
[0150] According to the association relationship between the target prefab resource and the at least one prefab animation element, updating the at least one prefab animation element through the resource path;
[0151] updating the animation object, the animation track, and the animation event based on the updated at least one prefab animation element;
[0152] The updated animation object, animation track, and animation event are used as the animation object, the animation track, and the animation event.
[0153] Since prefab resources are more dependent on the animation editor, it is difficult to read the resource information therein, especially when the animation editor is a plug-in editor and the prefab resources are pre-created by the original editor corresponding to the plug-in editor, it is difficult to parse the resource information therein. Therefore, the resource path of these prefab resources can be directly determined.
[0154] In specific implementation, the created animation objects, main animation tracks, basic animation events, sub-animation tracks, and extended animation events are taken as animation elements, and each of these animation elements may also reference prefab resources. Therefore, it is necessary to select the animation elements associated with the prefab resources from the animation objects, main animation tracks, basic animation events, sub-animation tracks, and extended animation events as at least one prefab animation element, so as to determine the resource path of the target prefab resources associated (referenced or dependent) with these prefab animation elements.
[0155] Then, according to the association relationship (reference relationship or dependency relationship) between the target prefab resource and at least one prefab animation element, the associated prefab animation element is updated through the determined resource path. Then, based on the updated at least one prefab animation element, the animation object, the animation track and the animation elements corresponding to the animation event are updated to obtain updated animation elements, so as to create a target animation file based on the updated animation elements.
[0156] Using the above example, three animation objects, the main animation tracks corresponding to the three animation objects, the action track associated with actor 1, the bound object A, and the kicking sub-event are taken as animation elements, and the prefab element associated with the prefab resource among these animation elements is determined to be actor 1. The target prefab resource file B configured (associated) in the actor 1 is determined, and the resource path p1 of the target prefab resource file B is determined. Actor 1 is updated based on the resource path p1 to obtain the updated actor 1.
[0157] In summary, by determining the resource path of the target prefab resource associated with the prefab animation element and updating the prefab animation element based on the resource path, the created target animation file directly includes the resource path of the prefab resource, thereby ensuring the generation efficiency of the target animation file.
[0158] To summarize, the animation generation method provided in the embodiment of the present application determines the created animation object based on the received animation creation instruction, and reads the animation event pre-created for the animation track corresponding to the animation object; then creates the target animation file based on the animation object, the animation track and the animation event according to the hierarchical structure of the animation object, the animation track and the animation event, thereby realizing the creation of the target animation file according to the hierarchical structure of the animation track and the animation event corresponding to the animation object, making the animation hierarchy more intuitive and easy to understand, improving the efficiency of the user in creating animation, and enhancing the user's creation experience.
[0159] Figure 5 A processing flow chart of an animation generation method applied to an animation editor provided by an embodiment of the present application is shown. The animation generation method is described by taking the animation editor as an example, and specifically includes the following steps:
[0160] Step 502: Receive an object creation instruction submitted by a user.
[0161] Specifically, the object creation instruction refers to an object creation instruction submitted by a user by operating an object creation control in an animation editor.
[0162] Step 504: In response to the object creation instruction, display an animation object type list, wherein the animation object type list includes a director type, a camera type, an actor type, a special effect type, and a lighting type.
[0163] Specifically, director type, camera type, actor type, special effect type, and lighting type are all animation types in the animation object type list.
[0164] Step 506: Create a camera 01 corresponding to the camera type based on the camera type selected by the user in the animation object type list.
[0165] Specifically, camera 01 is an animation object corresponding to the created camera type. In actual applications, the created camera 01 directly corresponds to a main animation track.
[0166] Step 508: Receive a sub-track creation instruction from the user for camera 01.
[0167] Specifically, the sub-track creation instruction refers to a sub-track creation instruction submitted by a user by operating a sub-track creation control for camera 01 in an animation editor.
[0168] Step 510 : In response to the sub-track creation instruction, a sub-track type list associated with the function of camera 01 is displayed.
[0169] Specifically, the sub-track type list may include sub-track types such as a moving track type and a display track type.
[0170] Step 512: Create a mobile track 1 corresponding to the mobile track type based on the mobile track type selected by the user in the sub-track type list.
[0171] Step 514: Receive a user's basic sub-event creation instruction for the main animation track corresponding to camera 01.
[0172] In practical applications, when camera 01 is created, its corresponding main animation track can be automatically created.
[0173] Step 516: In response to the basic sub-event creation instruction, a list of basic sub-event types corresponding to the main animation track corresponding to camera 01 is displayed.
[0174] Specifically, the basic sub-event type list includes basic sub-event types such as lens parameter type and depth of field type.
[0175] Step 518: Create a lens parameter sub-event corresponding to the lens parameter type based on the lens parameter type selected by the user in the basic sub-event type list.
[0176] Step 520 : receiving a user instruction to create an extended sub-event for movement track 1 associated with camera 01 .
[0177] Step 522: In response to the extended sub-event creation instruction, a list of extended sub-event types corresponding to the moving track 1 associated with the camera 01 is displayed.
[0178] Specifically, the extended sub-event type list may include extended sub-event types such as displacement type, straight-ahead type, turning type, and speed-change displacement.
[0179] Step 524: Create a turn sub-event corresponding to the turn type based on the turn type selected by the user in the expanded sub-event type list.
[0180] Specifically, the turning sub-event is an extended animation sub-event.
[0181] Step 526: Based on the received animation creation instruction, three animation objects, namely, camera 01, director 01 and actor 01, are determined.
[0182] In specific implementation, in addition to the camera 01 created in the animation editor, two animation objects, director 01 and actor 01, are also created in the animation editor before receiving the animation creation instruction.
[0183] Step 528: Read the lens parameter sub-event pre-created for the universal track corresponding to each animation object, and read the turning sub-event pre-created for the moving track 1 associated with the camera 01 in the three animation objects.
[0184] Step 530: Determine that the three animation objects, namely, camera 01, director 01, and actor 01, and the corresponding general track, moving track 1, lens parameter sub-event, and turning sub-event of these three animation objects are associated with a preset type of animation resource, namely, the turning sub-event, and read the resource information of the target animation resource associated with the turning sub-event.
[0185] Specifically, the preset types include: resource types such as material type, map type and / or animation clip type, which are not limited here. The target animation resource is an animation resource of a preset type associated with the turning sub-event.
[0186] Step 532: According to the association relationship between the target animation resource and the turning sub-event, the turning sub-event is updated through the resource information.
[0187] Step 534: Create a target animation file based on the three animation objects, camera 01, director 01 and actor 01, and the common tracks, moving tracks 1, lens parameter sub-events, and updated turning sub-events corresponding to the three animation objects.
[0188] In summary, the animation generation method provided in the embodiment of the present application, based on the creation of an animation object, creates a basic animation sub-event for the main animation track corresponding to the animation object, and creates an extended animation sub-event for the sub-animation track corresponding to the animation track. Then, based on the received animation creation instruction, according to the hierarchical structure of the animation object, the main animation track, and the basic animation event, and according to the hierarchical structure of the animation object, the sub-animation track, and the extended animation event, the created animation object, the main animation track, the basic animation event, the sub-animation track, and the extended animation event are read to create a target animation file, thereby making the animation creation process more intuitive and more interpretable by dividing the animation hierarchy, and also improving the animation creation efficiency.
[0189] Corresponding to the above method embodiment, the present application also provides an animation generation device embodiment, Figure 6 FIG. 1 is a schematic diagram showing the structure of an animation generating device provided by an embodiment of the present application. Figure 6 As shown, the device 600 includes:
[0190] The determination module 602 is configured to determine the animation object based on the received animation creation instruction;
[0191] The reading module 604 is configured to read the animation event pre-created for the animation track corresponding to the animation object;
[0192] The creation module 606 is configured to create a target animation file based on the animation object, the animation track and the animation event.
[0193] Optionally, the reading module 604 is further configured to:
[0194] Reading a basic animation event pre-created for a main animation track corresponding to the animation object, and reading an extended animation event pre-created for a sub-animation track associated with a target animation object, wherein the target animation object is an animation object associated with a sub-animation track in the animation object;
[0195] Accordingly, the creation module 606 is further configured to:
[0196] A target animation file is created based on the animation object, the main animation track, the basic animation event, the sub-animation track, and the extended animation event.
[0197] Optionally, in the case of pre-configuring animation resources of a preset type, the animation generating device includes:
[0198] The information reading module is configured to use the animation object, the animation track and the animation event as animation elements; determine the target animation resource of the preset type associated with at least one target animation element among the animation elements, and read the resource information of the target animation resource;
[0199] A first updating module is configured to update the at least one target animation element through the resource information according to the association relationship between the target animation resource and the at least one target animation element;
[0200] The second updating module is configured to update the animation object, the animation track and the animation event based on the updated at least one target animation element; and use the updated animation object, animation track and animation event as the animation object, the animation track and the animation event.
[0201] Optionally, the at least one target animation element is determined by running the following modules:
[0202] The selection module is configured to select an animation element associated with the animation resource of the preset type from among the animation object, the animation track and the animation event as at least one target animation element.
[0203] Optionally, in the case of pre-configured prefab resources, the animation generating device includes:
[0204] A path determination module is configured to use the animation object, the animation track, and the animation event as animation elements; determine a target prefab resource associated with at least one prefab animation element in the animation elements, and determine a resource path of the target prefab resource;
[0205] A third updating module is configured to update the at least one prefab animation element through the resource path according to the association relationship between the target prefab resource and the at least one prefab animation element;
[0206] The fourth updating module is configured to update the animation object, the animation track and the animation event based on the updated at least one prefab animation element; and use the updated animation object, animation track and animation event as the animation object, the animation track and the animation event.
[0207] Optionally, any animation sub-event in the animation event is queried by running the following module:
[0208] A first receiving module is configured to receive an event query instruction submitted by a user in an event operation area;
[0209] A comparison module is configured to compare the position information in the event query instruction with the event operation sub-region corresponding to the node in the event quadtree by traversing the event quadtree corresponding to the event operation region; wherein the event operation sub-region is the position of the operation sub-region corresponding to the animation sub-event in the animation event;
[0210] The sub-event determination module is configured to determine and display a target animation sub-event in the animation sub-events according to the comparison result.
[0211] Optionally, the event quadtree is updated by running the following modules:
[0212] A node determination module is configured to determine, after creating any animation sub-event in the animation event, a target node corresponding to the event operation sub-region of the any animation sub-event in the event quadtree;
[0213] The fifth updating module is configured to update the target node according to the event operation sub-region of any one of the animation sub-events to obtain an updated event quadtree.
[0214] Optionally, any one of the animation objects is created by running the following modules:
[0215] A first display module is configured to display an animation object type list in response to a received object creation instruction, wherein the animation object type list includes but is not limited to director type, camera type, actor type, special effect type and lighting type;
[0216] The object creation module is configured to create an animation object corresponding to the target animation object type based on the target animation object type selected in the animation object type list.
[0217] Optionally, any one of the sub-animation tracks is created in the following manner:
[0218] A second receiving module is configured to receive a sub-track creation instruction for any one of the animation objects;
[0219] A second display module is configured to display a sub-track type list associated with the object property of any one animation object in response to the sub-track creation instruction;
[0220] The track creation module is configured to create a sub-animation track corresponding to the target sub-track type based on the target sub-track type selected in the sub-track type list.
[0221] Optionally, the target animation object is determined by running the following modules:
[0222] The object selection module is configured to select an animation object associated with a sub-animation track from the animation objects and determine it as a target animation object.
[0223] Optionally, any basic animation sub-event in the basic animation event is created by running the following modules:
[0224] A third receiving module is configured to receive, for any one of the animation objects, a basic sub-event creation instruction for a main animation track corresponding to the any one of the animation objects;
[0225] A third display module is configured to display a list of basic sub-event types corresponding to the main animation track corresponding to any one of the animation objects in response to the basic sub-event creation instruction;
[0226] The first sub-event creation module is configured to create a basic animation sub-event corresponding to the target basic sub-event type based on the target basic sub-event type selected in the basic sub-event type list.
[0227] Optionally, any extended animation sub-event in the extended animation event is created by running the following modules:
[0228] A fourth receiving module is configured to receive, for any one of the target animation objects, an extended sub-event creation instruction for a sub-animation track associated with the any one of the target animation objects;
[0229] a fourth display module, configured to display a corresponding extended sub-event type list of the sub-animation track associated with any one of the target animation objects in response to the extended sub-event creation instruction;
[0230] The second sub-event creation module is configured to create an extended animation sub-event corresponding to the target extended sub-event type based on the target extended sub-event type selected in the extended sub-event type list.
[0231] To sum up, the animation generation device provided in the embodiment of the present application determines the created animation object based on the received animation creation instruction, and reads the animation event pre-created for the animation track corresponding to the animation object; then creates the target animation file based on the animation object, the animation track and the animation event according to the hierarchical structure of the animation object, the animation track and the animation event, thereby making the animation creation process more intuitive and more interpretable by dividing the animation hierarchy, and also improving the animation creation efficiency.
[0232] The above is a schematic scheme of an animation generation device of this embodiment. It should be noted that the technical scheme of the animation generation device and the technical scheme of the above animation generation method belong to the same concept, and the details not described in detail in the technical scheme of the animation generation device can be referred to the description of the technical scheme of the above animation generation method.
[0233] In one embodiment of the present application, a computing device is also provided, including a memory, a processor, and computer instructions stored in the memory and executable on the processor, wherein the processor implements the steps of the animation generation method when executing the computer instructions.
[0234] The above is a schematic scheme of a computing device of this embodiment. It should be noted that the technical scheme of the computing device and the technical scheme of the above animation generation method belong to the same concept, and the details not described in detail in the technical scheme of the computing device can be referred to the description of the technical scheme of the above animation generation method.
[0235] An embodiment of the present application further provides a computer-readable storage medium storing computer instructions, which implement the steps of the animation generation method as described above when executed by a processor.
[0236] The above is a schematic scheme of a computer-readable storage medium of this embodiment. It should be noted that the technical scheme of the storage medium and the technical scheme of the above animation generation method belong to the same concept, and the details not described in detail in the technical scheme of the storage medium can be referred to the description of the technical scheme of the above animation generation method.
[0237] The above describes specific embodiments of the present application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0238] The computer instructions include computer program codes, which may be in source code form, object code form, executable files or some intermediate forms, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media do not include electric carrier signals and telecommunication signals.
[0239] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described action sequence, because according to the present application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0240] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0241] The preferred embodiments of the present application disclosed above are only used to help explain the present application. The optional embodiments do not describe all the details in detail, nor do they limit the invention to the specific implementation methods described. Obviously, many modifications and changes can be made according to the content of the present application. The present application selects and specifically describes these embodiments in order to better explain the principles and practical applications of the present application, so that those skilled in the art can understand and use the present application well. The present application is only limited by the claims and their full scope and equivalents.
Claims
1. An animation generation method, characterized in that: include: Determine an animation object based on the received animation creation instruction; Reading the animation event pre-created for the animation track corresponding to the animation object, including: Reading a basic animation event pre-created for the main animation track corresponding to the animation object, and reading an extended animation event pre-created for the sub-animation track associated with the target animation object, wherein the target animation object is an animation object associated with the sub-animation track in the animation object; wherein the animation track refers to a timeline set for the animation object, the animation track includes the main animation track and the sub-animation track, the sub-animation track is created according to a selected sub-animation track type, and the sub-animation track type is divided according to the object properties of the animation object; Creating a target animation file based on the animation object, the animation track, and the animation event includes: creating a target animation file based on the animation object, the main animation track, the basic animation event, the sub-animation track, and the extended animation event.
2. The animation generation method according to claim 1, characterized in that: In the case of pre-configuring animation resources of a preset type, before creating a target animation file based on the animation object, the animation track and the animation event, the method further includes: Taking the animation object, the animation track and the animation event as animation elements; Determine a target animation resource of the preset type associated with at least one target animation element in the animation elements, and read resource information of the target animation resource; According to the association relationship between the target animation resource and the at least one target animation element, updating the at least one target animation element through the resource information; updating the animation object, the animation track, and the animation event based on the updated at least one target animation element; The updated animation object, animation track, and animation event are used as the animation object, the animation track, and the animation event.
3. The animation generation method according to claim 2, characterized in that: The at least one target animation element is determined in the following manner: An animation element associated with the animation resource of the preset type is selected from the animation object, the animation track, and the animation event as at least one target animation element.
4. The animation generation method according to claim 1, characterized in that: In the case of pre-configuring the prefab resource, before creating the target animation file based on the animation object, the animation track and the animation event, the method further includes: Taking the animation object, the animation track and the animation event as animation elements; Determine a target prefab resource associated with at least one prefab animation element in the animation elements, and determine a resource path of the target prefab resource; According to the association relationship between the target prefab resource and the at least one prefab animation element, updating the at least one prefab animation element through the resource path; updating the animation object, the animation track, and the animation event based on the updated at least one prefab animation element; The updated animation object, animation track, and animation event are used as the animation object, the animation track, and the animation event.
5. The animation generation method according to claim 1, characterized in that: Any animation sub-event in the animation event can be queried in the following way: Receive event query instructions submitted by users in the event operation area; By traversing the event quadtree corresponding to the event operation area, the position information in the event query instruction is compared with the event operation sub-area corresponding to the node in the event quadtree; Wherein, the event operation sub-region is the position of the operation sub-region corresponding to the animation sub-event in the animation event; According to the comparison result, a target animation sub-event is determined in the animation sub-events and displayed.
6. The animation generation method according to claim 5, characterized in that: The event quadtree is updated in the following way: After creating any one animation sub-event in the animation event, determining a target node corresponding to the event operation sub-region of the any one animation sub-event in the event quadtree; The target node is updated according to the event operation sub-region of any one of the animation sub-events to obtain an updated event quadtree.
7. The animation generation method according to claim 1, characterized in that: Any animation object in the animation objects is created in the following way: In response to the received object creation instruction, display an animation object type list, wherein the animation object type list includes but is not limited to director type, camera type, actor type, special effect type and lighting type; An animation object corresponding to the target animation object type is created based on the target animation object type selected in the animation object type list.
8. The animation generation method according to claim 1, characterized in that: Any sub-animation track in the sub-animation track is created in the following way: receiving a sub-track creation instruction for any one of the animation objects; In response to the sub-track creation instruction, displaying a sub-track type list associated with the object property of any one animation object; A sub-animation track corresponding to the target sub-track type is created based on the target sub-track type selected in the sub-track type list.
9. The animation generation method according to claim 1, characterized in that: The target animation object is determined in the following way: An animation object associated with a sub-animation track is selected from the animation objects and determined as a target animation object.
10. The animation generation method according to claim 1, characterized in that: Any basic animation sub-event in the basic animation event is created in the following way: For any one of the animation objects, receiving a basic sub-event creation instruction for a main animation track corresponding to the any one of the animation objects; In response to the basic sub-event creation instruction, display a basic sub-event type list corresponding to the main animation track corresponding to any one animation object; A basic animation sub-event corresponding to the target basic sub-event type is created based on the target basic sub-event type selected in the basic sub-event type list.
11. The animation generation method according to claim 1, characterized in that: Any extended animation sub-event in the extended animation event is created in the following way: For any one of the target animation objects, receiving an extended sub-event creation instruction for a sub-animation track associated with the any one of the target animation objects; In response to the extended sub-event creation instruction, displaying a corresponding extended sub-event type list of the sub-animation track associated with any one of the target animation objects; An extended animation sub-event corresponding to the target extended sub-event type is created based on the target extended sub-event type selected in the extended sub-event type list.
12. An animation generating device, characterized in that: include: A determination module, configured to determine an animation object based on the received animation creation instruction; The reading module is configured to read the animation event pre-created for the animation track corresponding to the animation object, including: Reading a basic animation event pre-created for the main animation track corresponding to the animation object, and reading an extended animation event pre-created for the sub-animation track associated with the target animation object, wherein the target animation object is an animation object associated with the sub-animation track in the animation object; wherein the animation track refers to a timeline set for the animation object, the animation track includes the main animation track and the sub-animation track, the sub-animation track is created according to a selected sub-animation track type, and the sub-animation track type is divided according to the object properties of the animation object; A creation module is configured to create a target animation file based on the animation object, the animation track and the animation event, including: creating a target animation file based on the animation object, the main animation track, the basic animation event, the sub-animation track and the extended animation event.
13. A computing device comprising a memory, a processor, and computer instructions stored in the memory and executable on the processor, characterized in that: When the processor executes the computer instructions, the steps of the method according to any one of claims 1 to 11 are implemented.
14. A computer-readable storage medium storing computer instructions, characterized in that: When the computer instructions are executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.