Animation processing method, device, medium and electronic equipment
By analyzing script animation configuration information and matching with standard animation correspondence, controlling virtual objects to execute animations, the problem of poor code reusability caused by tight coupling of animation and model in the prior art is solved, and flexible separation and efficient reuse of animation and model are achieved.
Patent Information
- Application Number
- CN202111017630.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-08-30
- Publication Date
- 2025-05-16
- Estimated Expiration
- 2041-08-30
AI Technical Summary
In the existing three-dimensional virtual human technology, animation keyframes are bound to the model, resulting in the modification of model image and actions that require redesign and encoding, and the code reusability is poor.
By analyzing the script to be played, the script animation configuration information is determined, including lip shape, expression and skeleton animation configuration information, and based on the correspondence between these configuration information and standard animation, the animation to be played is determined, and the virtual object to be played is controlled to execute the animation.
It separates the model from the animation design of business scenarios, improves the reusability of business code, and allows flexible replacement of virtual objects.
Smart Images

Figure CN113643413B_ABST
Abstract
Description
Background Art
[0002] With the development of computer technology, many three-dimensional interactive products have begun to emerge, among which the most representative three-dimensional interactive product is the three-dimensional virtual human.
[0003] In the relevant technical solutions of 3D virtual human, the virtual human's mouth shape and expressions such as blinking and smiling are simulated through deformation animation; the virtual human's body movements such as waving and welcoming are simulated through skeletal animation. In this technical solution, the relevant animation actions involved in the virtual human are pre-set and imported into the model file, and the specified sequence of animations is played to achieve the animation control effect when used.
[0004] However, since the animation keyframes of this technical solution are bound to the model, for new business scenarios that require modification of the model's image and actions, the coding needs to be redesigned to implement the new business scenarios, and the code reusability is poor.
[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to ordinary technicians in the field. Summary of the invention
[0006] The purpose of the embodiments of the present disclosure is to provide an animation processing method, an animation processing device, a computer-readable medium and an electronic device, so as to separate the animation design of the model and the business scenario at least to a certain extent, and improve the reusability of the business code.
[0007] Other features and advantages of the present disclosure will become apparent from the following detailed description, or may be learned in part by the practice of the present disclosure.
[0008] According to a first aspect of an embodiment of the present disclosure, there is provided an animation processing method, comprising: parsing a script to be played, determining script animation configuration information corresponding to the script to be played, the script animation configuration information comprising: one or more of lip animation configuration information, facial expression animation configuration information and skeletal animation configuration information; determining an animation to be played corresponding to the script to be played based on a correspondence between the animation configuration information and a standard animation, the standard animation comprising one or more of a standard lip animation, a standard facial expression animation and a standard skeletal animation; and controlling a virtual object to execute the animation to be played.
[0009] According to the first aspect, in some example embodiments, determining the animation to be played corresponding to the script to be played based on the correspondence between the animation configuration information and the standard animation includes: determining the lip animation to be played corresponding to the script to be played based on the correspondence between the lip animation configuration information and the standard lip animation; and / or, determining the expression animation to be played corresponding to the script to be played based on the correspondence between the expression animation configuration information and the standard expression animation; and / or, determining the skeletal animation to be played corresponding to the script to be played based on the correspondence between the skeletal animation configuration information and the standard skeletal animation.
[0010] According to the first aspect, in some example embodiments, determining the lip animation to be played corresponding to the script to be played based on the correspondence between the lip animation configuration information and the standard lip animation includes: determining the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object based on the correspondence between the lip animation configuration information and the standard lip animation; determining the lip animation to be played corresponding to the script to be played by linear interpolation based on the current deformation weight value of the deformation object and the target deformation weight value.
[0011] According to the first aspect, in some example embodiments, the lip animation to be played corresponding to the script to be played is determined by linear interpolation based on the current deformation weight value of the deformation object and the target deformation weight value, including: determining the deformation time according to the end time of the standard lip animation and the current time; determining a mixed deformation factor according to the deformation time and the current deformation weight value and the target deformation weight value corresponding to the deformation object, the mixed deformation factor being used to determine the deformation weight value of the deformation object that currently needs to be changed; and determining the lip animation to be played corresponding to the script to be played according to the mixed deformation factor.
[0012] According to the first aspect, in some example embodiments, the lip animation configuration information includes the pronunciation of the current text of the script to be played, and determining the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object based on the correspondence between the lip animation configuration information and the standard lip animation includes: determining the standard lip animation corresponding to the script to be played based on the correspondence between the pronunciation and the pronunciation of the standard lip animation; determining the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object from the standard lip animation configuration information based on the identification of the standard lip animation, wherein the standard lip animation configuration information includes the deformation objects corresponding to each standard lip shape and the target deformation weight value.
[0013] According to the first aspect, in some example embodiments, determining the facial expression animation to be played corresponding to the script to be played based on the correspondence between the facial expression animation configuration information and the standard facial expression animation includes: determining the deformation object of the standard facial expression animation corresponding to the script to be played and the target deformation weight value of the deformation object based on the correspondence between the facial expression animation configuration information and the standard facial expression animation; determining the facial expression animation to be played corresponding to the script to be played by linear interpolation based on the current deformation weight value of the deformation object and the target deformation weight value.
[0014] According to the first aspect, in some example embodiments, the skeletal animation configuration information includes action identifiers of skeletal animations, and determining the skeletal animation to be played corresponding to the script to be played based on the correspondence between the skeletal animation configuration information and the standard skeletal animation includes: determining the standard skeletal animation corresponding to the script to be played based on the correspondence between the action identifiers of the skeletal animations and the action identifiers of the standard skeletal animations; and determining the action state and animation frame configuration of the skeletal animation corresponding to the script to be played from the standard skeletal animation configuration information based on the action identifiers of the standard skeletal animations, wherein the standard skeletal animation configuration information includes the action state and animation frame configuration of each standard skeletal animation.
[0015] According to the first aspect, in some example embodiments, the method further includes: controlling the virtual object to execute the skeletal animation to be played based on the action state and animation frame configuration of the skeletal animation corresponding to the script to be played; determining the current animation frame of the current skeletal animation of the virtual object; determining whether the virtual object has completed the action state based on the current animation frame; if the action state is completed, determining the next skeletal animation corresponding to the script to be played.
[0016] According to a second aspect of an embodiment of the present disclosure, there is provided an animation processing device, comprising: a script parsing module, for parsing a script to be played, and determining script animation configuration information corresponding to the script to be played, wherein the script animation configuration information comprises one or more of lip animation configuration information, facial expression animation configuration information, and skeletal animation configuration information; an animation determination module, for determining the animation to be played corresponding to the script to be played according to a correspondence between the animation configuration information and a standard animation, wherein the standard animation comprises one or more of a standard lip animation, a standard facial expression animation, and a standard skeletal animation; and an animation playing module, for controlling a virtual object to execute the animation to be played.
[0017] According to the second aspect, in some example embodiments, the animation determination module further includes: a lip animation determination unit, which is used to determine the lip animation to be played corresponding to the script to be played according to the correspondence between the lip animation configuration information and the standard lip animation; and / or, an expression animation determination unit, which is used to determine the expression animation to be played corresponding to the script to be played according to the correspondence between the expression animation configuration information and the standard expression animation; and / or, a skeletal animation determination unit, which is used to determine the skeletal animation to be played corresponding to the script to be played according to the correspondence between the skeletal animation configuration information and the standard skeletal animation.
[0018] According to the second aspect, in some example embodiments, the lip animation determination unit includes: a weight determination unit, which is used to determine the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object according to the correspondence between the lip animation configuration information and the standard lip animation; a linear deformation unit, which is used to determine the lip animation to be played corresponding to the script to be played by linear interpolation according to the current deformation weight value of the deformation object and the target deformation weight value.
[0019] According to the second aspect, in some example embodiments, the linear deformation unit is also used to: determine the deformation time according to the end time of the standard lip animation and the current time; determine the mixed deformation factor according to the deformation time and the current deformation weight value and target deformation weight value corresponding to the deformation object, and the mixed deformation factor is used to determine the deformation weight value of the deformation object that currently needs to be changed; determine the lip animation to be played corresponding to the script to be played according to the mixed deformation factor.
[0020] According to the second aspect, in some example embodiments, the lip animation configuration information includes the pronunciation of the current text of the script to be played, and the weight determination unit is further used to: determine the standard lip animation corresponding to the script to be played based on the correspondence between the pronunciation and the pronunciation of the standard lip animation; determine the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object from the standard lip animation configuration information based on the identification of the standard lip animation, wherein the standard lip animation configuration information includes the deformation object corresponding to each standard lip shape and the target deformation weight value.
[0021] According to the second aspect, in some example embodiments, the facial expression animation determination unit is also used to: determine the deformation object of the standard facial expression animation corresponding to the script to be played and the target deformation weight value of the deformation object according to the correspondence between the facial expression animation configuration information and the standard facial expression animation; determine the facial expression animation to be played corresponding to the script to be played by linear interpolation according to the current deformation weight value of the deformation object and the target deformation weight value.
[0022] According to the second aspect, in some example embodiments, the skeletal animation configuration information includes action identifiers of the skeletal animation, and the skeletal animation determination unit is further used to: determine the standard skeletal animation corresponding to the script to be played based on the correspondence between the action identifiers of the skeletal animation and the action identifiers of the standard skeletal animation; based on the action identifiers of the standard skeletal animation, determine the action state and animation frame configuration of the skeletal animation corresponding to the script to be played from the standard skeletal animation configuration information, wherein the standard skeletal animation configuration information includes the action state and animation frame configuration of each standard skeletal animation.
[0023] According to the second aspect, in some example embodiments, the device further includes: a skeletal animation playback module, which is used to control the virtual object to execute the skeletal animation to be played based on the action state and animation frame configuration of the skeletal animation corresponding to the script to be played; determine the current animation frame of the current skeletal animation of the virtual object; determine whether the virtual object has completed the action state based on the current animation frame; if the action state is completed, determine the next skeletal animation corresponding to the script to be played.
[0024] According to a third aspect of an embodiment of the present disclosure, a computer-readable medium is provided, on which a computer program is stored. When the program is executed by a processor, the animation processing method as described in the first aspect of the embodiment is implemented.
[0025] According to the fourth aspect of an embodiment of the present disclosure, there is provided an electronic device, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the animation processing method as described in the first aspect of the above embodiment.
[0026] The technical solution provided by the embodiments of the present disclosure may have the following beneficial effects:
[0027] In some embodiments of the present disclosure, on the one hand, the script to be played is parsed to determine the script animation configuration information corresponding to the script to be played, so that the animation configuration information of the script corresponding to the business scenario can be obtained according to the specific business scenario; on the other hand, based on the correspondence between the script animation configuration information and the standard animation, the animation to be played corresponding to the script to be played is determined, and the virtual object is controlled to execute the animation to be played, so that the virtual object model can be separated from the animation design of the business scenario, thereby improving the reusability of the business code; on another hand, since the virtual object model is separated from the animation design of the business scenario, the virtual object can be flexibly replaced.
[0028] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0030] Figure 1 A schematic diagram showing an application scenario of the animation processing method in an exemplary embodiment of the present disclosure;
[0031] Figure 2 A schematic flow chart of an animation processing method according to some example embodiments of the present disclosure is shown;
[0032] Figure 3 A flowchart of lip animation driving according to some example embodiments of the present disclosure is shown;
[0033] Figure 4 A flowchart of skeletal animation driving according to some example embodiments of the present disclosure is shown;
[0034] Figure 5 A schematic diagram showing standard lip animation configuration information according to some example embodiments of the present disclosure;
[0035] Figure 6 A schematic diagram showing standard skeletal animation configuration information according to some example embodiments of the present disclosure;
[0036] Figure 7 A schematic flow chart showing an animation processing method according to some further example embodiments of the present disclosure is shown;
[0037] Figure 8A schematic structural diagram of an animation processing device according to an embodiment of the present disclosure is shown;
[0038] Fig. 9 A schematic structural diagram of an electronic device in an exemplary embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0039] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be implemented in a variety of forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be more comprehensive and complete and will fully convey the concept of the example embodiments to those skilled in the art.
[0040] In addition, the described features, structures or characteristics may be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present disclosure. However, those skilled in the art will appreciate that the technical solutions of the present disclosure may be practiced without one or more of the specific details, or other methods, components, devices, steps, etc. may be adopted. In other cases, known methods, devices, implementations or operations are not shown or described in detail to avoid blurring the various aspects of the present disclosure.
[0041] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0042] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0043] In order to clearly illustrate the technical solutions in the embodiments of the present disclosure, before specifically describing the embodiments of the present disclosure, some terms used in the embodiments are first described.
[0044] The following is a detailed description of the animation processing method in the exemplary embodiment of the present disclosure with reference to the accompanying drawings.
[0045] Figure 1 A schematic diagram of an application scenario provided according to some embodiments of the present disclosure is shown.
[0046] The application scenario 100 may include: a terminal device 110 and a server 120. The terminal device 110 may be, for example, a mobile phone, a PC (Personal Computer), a tablet computer, a laptop computer, a vehicle-mounted terminal, etc. The server 120 may be a single server, or a server cluster consisting of multiple servers, or a cloud computing service center. The terminal device 110 and the server 120 may communicate with each other via a network 130. The network 130 may be a wired network or a wireless network, and the network 130 may be a PSTN (Public Switched Telephone Network) or the Internet.
[0047] The terminal device 110 is installed with a user client, such as a user client capable of playing a video. The server 120 is used to provide background services for the user client in the terminal device 110. For example, the server 120 may be a background server of the user client.
[0048] Taking the commodity introduction business scenario as an example, the virtual object is a virtual digital human, and the virtual digital human introduces the commodity, such as a mobile phone. In this scenario, the terminal device 110 parses the commodity introduction script, determines the script animation configuration information corresponding to the script to be played, and the script animation configuration information includes: one or more of lip animation configuration information, expression animation configuration information, and skeletal animation configuration information; determines the animation to be played corresponding to the script to be played according to the correspondence between the script animation configuration information and the standard animation; and controls the virtual digital human to execute the animation to be played.
[0049] It should be noted that although the product introduction scenario is taken as an example, ordinary technicians in this field should understand that the technical solutions in the embodiments of the present disclosure can also be applied to other appropriate video playback scenarios such as news broadcasts, weather broadcasts, and live broadcast services, which are also within the scope of protection of the present disclosure.
[0050] Figure 2 The flowchart of the animation processing method according to some example embodiments of the present disclosure is shown. The execution subject of the animation processing method provided by the embodiment of the present disclosure may be a computing device with computing processing function, such as Figure 1 The animation processing method includes steps S210 to S230. The animation processing method in the exemplary embodiment is described in detail below with reference to the accompanying drawings.
[0051] Reference Figure 2 As shown, in step S210, the script to be played is parsed to determine the script animation configuration information corresponding to the script to be played.
[0052] In an example embodiment, the script to be played may be a product introduction script, a news broadcast script, a live broadcast script, etc. The script animation configuration information corresponding to the script to be played includes: one or more of lip animation configuration information, expression animation configuration information, and skeletal animation configuration information.
[0053] In some embodiments, the script to be played is parsed to obtain the text corresponding to the script to be played, and the expression animation configuration information of the virtual object corresponding to each time point is determined according to the semantic information of the text. The expression animation configuration information may include animation configuration information corresponding to expressions such as happy, surprised, angry, sad, and calm.
[0054] The pronunciation of the virtual object at each time point is determined according to the pronunciation information of the text, and the pronunciation of the virtual object is the lip animation configuration information. For example, the script "hello everyone" may include "d", "a", "j", "ia", "h", and "ao".
[0055] Furthermore, in some embodiments, the script to be played is parsed to determine the action instruction information corresponding to each time point of the script to be played. For example, the action instruction information can be set in the text of the script to be played in advance, and the text of the script to be played is parsed to obtain the pre-set action instruction information corresponding to each time point of the script to be played.
[0056] In addition, in other example embodiments, the action indication information corresponding to each time point of the script to be played can be determined based on the semantic information of the text. For example, if there is a "welcome" text in the script to be played, it can be determined based on the text that there is a welcome action at the corresponding time point of the script to be played.
[0057] In step S220, the animation to be played corresponding to the script to be played is determined based on the correspondence between the script animation configuration information and the standard animation.
[0058] In an example embodiment, the standard animation includes one or more of a standard lip animation, a standard facial expression animation, and a standard skeletal animation. According to the correspondence between the lip animation configuration information and the standard lip animation, the lip animation to be played corresponding to the script to be played is determined; and / or, according to the correspondence between the facial expression animation configuration information and the standard facial expression animation, the facial expression animation to be played corresponding to the script to be played is determined; and / or, according to the correspondence between the skeletal animation configuration information and the standard skeletal animation, the skeletal animation to be played corresponding to the script to be played is determined.
[0059] For example, according to the correspondence between the lip animation configuration information and the standard lip animation, the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object are determined; according to the current deformation weight value and the target deformation weight value, the lip animation corresponding to the script to be played is determined by linear interpolation. The deformation object can be one or more nodes of the head model of the virtual object of the standard lip animation object, and the deformation weight value is used to represent the degree of deformation of the deformation object.
[0060] In step S230, the virtual object is controlled to execute the animation to be played.
[0061] In an example embodiment, the animation to be played includes one or more of lip animation, facial expression animation, and skeletal animation. One or more of lip deformation weight, expression deformation weight, and action state corresponding to the animation to be played is obtained, and the virtual object is controlled to perform lip animation according to the lip deformation weight; the virtual object is controlled to perform facial expression animation according to the expression deformation weight; and the virtual object is controlled to perform skeletal animation according to the action state.
[0062] For example, the deformation weight value that needs to be changed for the deformation object of the standard lip animation corresponding to the animation to be played can be obtained, and the deformation object of the standard lip animation is processed according to the deformation weight value to execute the corresponding lip animation.
[0063] It should be noted that the virtual object may be a virtual digital person, or other appropriate three-dimensional virtual object, such as a virtual pet, which is also within the protection scope of the present disclosure.
[0064] according to Figure 2 The technical solution in the example embodiment, on the one hand, parses the script to be played, determines the animation configuration information corresponding to the script to be played, and can obtain the animation configuration information of the script corresponding to the business scenario according to the specific business scenario; on the other hand, according to the correspondence between the animation configuration information and the standard animation, determines the animation to be played corresponding to the script to be played, controls the virtual object to execute the animation to be played, and can separate the virtual object model from the animation design of the business scenario, thereby improving the reusability of the business code; on the other hand, since the virtual object model is separated from the animation design of the business scenario, the virtual object can be flexibly replaced.
[0065] Furthermore, in an example embodiment, the lip animation to be played corresponding to the script to be played is determined by linear interpolation based on the current deformation weight value and the target deformation weight value of the deformation object, including: determining the deformation time based on the end time of the standard lip animation and the current time; determining a mixed deformation factor based on the deformation time and the current deformation weight value and the target deformation weight value corresponding to the standard lip animation, the mixed deformation factor being used to determine the deformation weight value that currently needs to be changed for the deformation object; and determining the current lip animation corresponding to the script to be played based on the mixed deformation factor.
[0066] The lip animation to be played is determined by means of linear interpolation, and the deformation weight values related to the lip shape, such as the BlendShape weight value, can be linearly transitioned according to the lip animation configuration information in the script, so as to achieve a more realistic and natural lip animation effect.
[0067] Further, in an example embodiment, the lip animation configuration information includes the pronunciation of the current text of the script to be played, and the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object are determined according to the correspondence between the lip animation configuration information and the standard lip animation, including: determining the standard lip animation corresponding to the script to be played according to the correspondence between the pronunciation of the current text and the pronunciation of the standard lip animation; determining the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object from the standard lip animation configuration information according to the identification of the standard lip animation, wherein the standard lip animation configuration information includes the deformation objects and target deformation weight values corresponding to each standard lip shape.
[0068] In this example embodiment, the unified standard lip animation configuration is combined with the variable script lip animation configuration, which can adapt to various business scenarios and further improve the reuse rate of business codes.
[0069] In addition, in some example embodiments, based on the correspondence between expression animation configuration information and standard expression animation, the expression animation corresponding to the script to be played is determined, including: based on the correspondence between expression animation configuration information and standard expression animation, determining the deformation object of the standard expression animation corresponding to the script to be played and the target deformation weight value of the deformation object; based on the current deformation weight value and the target deformation weight value, determining the current expression animation corresponding to the script to be played by linear interpolation.
[0070] Furthermore, in this example embodiment, according to the current deformation weight value and the target deformation weight value of the deformation object, the current expression animation corresponding to the script to be played is determined by linear interpolation, including: determining the deformation time according to the end time of the standard expression animation and the current time; determining the mixed deformation factor according to the deformation time and the current deformation weight value and the target deformation weight value corresponding to the deformation object, the mixed deformation factor being used to determine the deformation weight value that currently needs to be changed of the deformation object; and determining the current expression animation corresponding to the script to be played according to the mixed deformation factor.
[0071] In this example embodiment, on the one hand, the unified standard expression animation configuration is combined with the changeable script expression animation configuration, which can adapt to a variety of business scenarios and further improve the reuse rate of business codes; on the other hand, the expression animation to be played is determined by means of linear difference, and the deformation weight values related to the expression, such as the BlendShape weight value, can be linearly transitioned according to the expression configuration information in the script, so as to achieve a more realistic and natural expression animation effect.
[0072] Figure 3 A flowchart of lip animation driving according to some example embodiments of the present disclosure is shown.
[0073] Reference Figure 3 As shown, in step S305, the virtual object model is loaded.
[0074] In step S310 , a deformation object of the blend deformer is initialized.
[0075] In an exemplary embodiment, the blend deformer is used to perform deformation processing on the lip animation, and initialize the parameters, such as weight values, of the deformation objects, such as one or more model nodes, corresponding to the lip animation.
[0076] In step S315, the standard lip animation configuration information is parsed.
[0077] In an exemplary embodiment, the standard lip animation configuration information includes target deformation weight values corresponding to each standard lip animation, and the standard lip animation configuration information is parsed to determine deformation objects corresponding to each standard lip and target deformation weight values.
[0078] For example, refer to Figure 5 As shown in the figure, the viseme field under the blend_shape node of the blend deformer is used to define the deformation object such as the Morph object and the deformation weight value bound to a specific pronunciation in the standard mouth shape animation list. The node name of the deformation object is "ys_head_01", and the standard mouth shapes include: "a", "er", "er", "ang" and other mouth shapes, among which the target deformation weight value corresponding to the standard mouth shape "a" is 1.0.
[0079] In step S320, the lip animation configuration of the script is analyzed.
[0080] In an example embodiment, the lip animation configuration of the script to be played is analyzed to determine the pronunciation of the virtual object corresponding to each time unit in the script to be played.
[0081] In step S325, lip syncing is performed through the virtual object.
[0082] In step S330, a standard lip animation corresponding to the script is selected according to the current time.
[0083] In an exemplary embodiment, the pronunciation of the current text in the script is determined according to the current time, and the standard lip animation corresponding to the script is determined according to the correspondence between the pronunciation and the pronunciation of the standard lip animation.
[0084] In step S335, a blending deformation factor is calculated according to the end time of the current standard lip animation and the current time.
[0085] In an example embodiment, the deformation time is determined according to the end time of the standard lip animation and the current time; the mixed deformation factor Alpha value is determined according to the deformation time and the current deformation weight value and target deformation weight value corresponding to the deformation object, and the mixed deformation factor is used to determine the deformation weight value that currently needs to be changed for the deformation object.
[0086] In step S340, the deformation weight value corresponding to the deformed object is calculated frame by frame according to the mixed deformation factor.
[0087] In an exemplary embodiment, a deformation weight value corresponding to a deformation object, ie, a BlendShape object, is calculated frame by frame according to the blend deformation factor.
[0088] In step S345, the current time is advanced.
[0089] In an example embodiment, as the current time advances the corresponding lip sync animation is played.
[0090] In step S350, the lip-syncing ends.
[0091] according to Figure 3 The technical solution in the example embodiment, on the one hand, combines a unified standard lip animation configuration with a changeable script lip animation configuration, which can adapt to a variety of business scenarios and further improve the reuse rate of business codes; on the other hand, the lip animation to be played is determined by means of linear difference, and the deformation weight values related to the lip shape, such as the BlendShape weight value, can be linearly transitioned according to the lip configuration information in the script, thereby achieving a more realistic and natural lip animation effect.
[0092] Figure 4A schematic diagram of a skeletal animation driving process according to some example embodiments of the present disclosure is shown.
[0093] Reference Figure 4 As shown, in step S405, the virtual object model is loaded.
[0094] In step S410 , a virtual object is initialized.
[0095] In an exemplary embodiment, a skeleton node (SkinnedNode) of a virtual object is initialized.
[0096] In step S415, the standard skeletal animation configuration information is parsed.
[0097] In an exemplary embodiment, the standard skeleton animation configuration information includes the action state and animation frame configuration of each standard skeleton animation. The standard skeleton animation configuration information is parsed to determine the action state and animation frame configuration corresponding to each standard skeleton animation. Figure 6 As shown, the standard skeleton animation configuration information includes skin_mesh node configuration information. The ani_list field under the skin_mesh node configuration information is used to define the group type animation configuration, supporting the same action type to correspond to multiple animation capabilities, for example, "introduction action" corresponds to multiple introduction animations. Among them, the action identifier "ani_name" of the action state is "idle", the frame configuration includes the start frame "beg_frame" is 0, the end frame "end_frame" is 60, and whether it is looped "is_loop" is no.
[0098] It should be noted that, when the same action type corresponds to multiple animations, one animation may be randomly selected from the multiple animations, or one animation may be selected from the multiple animations according to the virtual object and the business scenario.
[0099] In step S420, the animation configuration of the script is parsed.
[0100] In an example embodiment, the script to be played is parsed to determine the action indication information corresponding to each time unit in the script to be played. For example, the action indication information can be set in advance in the text of the script to be played, such as setting the indication information of the "welcome action", and the text of the script to be played is parsed to obtain the action indication information corresponding to each time point of the pre-set script to be played.
[0101] In addition, in other example embodiments, the action indication information corresponding to each time point of the script to be played can be determined based on the semantic information of the text. For example, if there is a "welcome" text in the script to be played, it can be determined based on the text that there is a welcome action at the corresponding time point of the script to be played.
[0102] In step S425, the skeleton animation is played.
[0103] In step S430, a standard skeletal animation corresponding to the script is determined according to the current time.
[0104] In an example embodiment, the corresponding action indication information in the script is determined according to the current time, and the standard skeletal animation corresponding to the script is determined according to the action indication information. For example, if it is determined according to the current time that there is a "welcome" text in the script to be played, it can be determined according to the text that there is a welcome action at the corresponding time point of the script to be played.
[0105] In step S435, the current standard skeletal animation is started and the current animation frame is calculated.
[0106] In step S440, it is determined whether the action state is completed according to the current animation frame.
[0107] In an exemplary embodiment, it is determined whether the virtual object has completed the action state according to the current animation frame. For example, if the action state is "welcome action", it is determined whether the "welcome action" has been completed according to the current animation frame.
[0108] In step S445, the current time is advanced.
[0109] In an exemplary embodiment, if the action state is completed and if there is a next action state, return to step S430 to determine the next skeletal animation corresponding to the script to be played, or the action state can be played in a loop; if there is no next action state, proceed to step S450.
[0110] In step S450, the animation ends.
[0111] according to Figure 4 The technical solution in the example embodiment, on the one hand, combines a unified standard skeletal animation configuration with multilateral script animation, and can adopt flexible animation scene configuration design and general code-driven implementation solutions to complete virtual digital human body movements; on the other hand, the same action type can correspond to multiple animations, and can implement multi-category and multi-group animation design solutions; on the other hand, it determines whether the action state is executed according to the current animation frame, and can use the animation frame information to dynamically play the animation of the specified interval.
[0112] Figure 7 The flowchart of the animation control method according to some example embodiments of the present disclosure is shown.
[0113] Reference Figure 7 As shown, in step S705, the control script for animation control is initialized.
[0114] In an exemplary embodiment, the animation control of the virtual digital human can be implemented by Lua scripting language, or by other appropriate scripts such as Python scripting language or Ruby scripting language.
[0115] In step S710, the three-dimensional engine is initialized.
[0116] In step S715, standard lip animation configuration information and standard skeletal animation configuration information are loaded.
[0117] In an exemplary embodiment, the standard lip animation configuration information includes target deformation weight values corresponding to each standard lip animation. The standard skeletal animation configuration information includes action states and animation frame configurations of each standard skeletal animation.
[0118] In step S720, the virtual object model configuration list is asynchronously loaded.
[0119] In an exemplary embodiment, the virtual object model is a virtual digital human, and the model configuration list of the virtual object is loaded asynchronously.
[0120] In step S725, a model loading result message is sent.
[0121] In an example embodiment, after the model loading is completed, a model loading completion message is sent to the business party.
[0122] In step S730, a background node is created.
[0123] In an example embodiment, a background node of the current scene of the virtual object is created.
[0124] In step S735, the animation control subsystem and message monitoring are initialized.
[0125] In an example embodiment, initializing the animation control subsystem includes initializing the 3D engine rendering, the BlendShape animation subsystem, and the skeletal animation subsystem, as well as parsing the standard lip animation configuration information and the standard skeletal animation configuration information. The standard lip animation configuration information is parsed to determine the deformation object corresponding to each standard lip shape and the target deformation weight value; the standard skeletal animation configuration information is parsed to determine the action state and animation frame configuration corresponding to each standard skeletal animation.
[0126] Message monitoring includes dynamic message monitoring of lip shape and skeletal animation, including model loading monitoring, script playback monitoring and animation control monitoring. Among them, model loading monitoring is used to obtain engine-related blend deformer BlendShape object and skinmesh object after the model loading is completed, which are used for subsequent lip shape interpolation and animation playback. Among them, BlendShape object is the deformation object of lip shape animation, and skinmesh object is the skeletal animation object; script playback monitoring is used to dynamically monitor the content of the specified script being played; animation control monitoring is used to facilitate users to control animation.
[0127] In step S740, the lip animation and the skeletal animation are updated frame by frame.
[0128] In an exemplary embodiment, the standard lip animation and skeletal animation corresponding to the script are obtained according to the current time, and the lip animation and skeletal animation of the corresponding virtual object are updated frame by frame.
[0129] For example, it is determined whether the virtual object has completed the action state according to the current animation frame, and if the action state is completed, the next skeletal animation corresponding to the script to be played is determined. Among them, the same action state can correspond to multiple animation capabilities, for example, "introduction action" corresponds to multiple introduction animations.
[0130] In step S745, scene rendering is performed.
[0131] In step S750, resources are released.
[0132] according to Figure 7 The technical solution in the example embodiment, on the one hand, adopts the rules of scene animation configuration and code reuse, and extracts the model-related settings of the virtual human animation drive part from the scene animation configuration list, so as to achieve the purpose of flexibly replacing the virtual image; on the other hand, a solution combining a unified standard lip configuration with changeable script lip information is adopted, and the BlendShape weight value related to the lip information in the script is used to linearly transition the lip information to achieve the effect of natural lip animation; on the other hand, a multi-category and multi-group animation design method is adopted, and the animation frame information is used to dynamically play the animation of the specified interval.
[0133] It should be noted that the above figures are only schematic illustrations of the processes included in the method according to the exemplary embodiment of the present disclosure, and are not intended to be limiting. It is easy to understand that the processes shown in the above figures do not indicate or limit the time sequence of these processes. In addition, it is also easy to understand that these processes can be performed synchronously or asynchronously, for example, in multiple modules.
[0134] The following introduces an embodiment of a device of the present disclosure, which can be used to execute the above-mentioned animation processing method of the present disclosure.
[0135] Figure 8 A schematic structural diagram of an animation processing device according to an embodiment of the present disclosure is shown.
[0136] Reference Figure 8 As shown, this example embodiment provides an animation processing device 800, which includes: a script parsing module 810, used to parse the script to be played, and determine the script animation configuration information corresponding to the script to be played, wherein the script animation configuration information includes one or more of lip animation configuration information, facial expression animation configuration information and skeletal animation configuration information; an animation determination module 820, used to determine the animation to be played corresponding to the script to be played according to the correspondence between the animation configuration information and the standard animation, wherein the standard animation includes one or more of standard lip animation, standard facial expression animation and standard skeletal animation; an animation playing module 830, used to control the virtual object to execute the animation to be played.
[0137] In some example embodiments, the animation determination module 820 also includes: a lip animation determination unit, which is used to determine the lip animation to be played corresponding to the script to be played according to the correspondence between the lip animation configuration information and the standard lip animation; and / or, an expression animation determination unit, which is used to determine the expression animation to be played corresponding to the script to be played according to the correspondence between the expression animation configuration information and the standard expression animation; and / or, a skeletal animation determination unit, which is used to determine the skeletal animation to be played corresponding to the script to be played according to the correspondence between the skeletal animation configuration information and the standard skeletal animation.
[0138] In some example embodiments, the lip animation determination unit includes: a weight determination unit, which is used to determine the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object according to the correspondence between the lip animation configuration information and the standard lip animation; a linear deformation unit, which is used to determine the lip animation to be played corresponding to the script to be played by linear interpolation according to the current deformation weight value of the deformation object and the target deformation weight value.
[0139] In some example embodiments, the linear deformation unit is also used to: determine the deformation time according to the end time of the standard lip animation and the current time; determine the mixed deformation factor according to the deformation time and the current deformation weight value and target deformation weight value corresponding to the deformation object, the mixed deformation factor being used to determine the deformation weight value of the deformation object that currently needs to be changed; determine the lip animation to be played corresponding to the script to be played according to the mixed deformation factor.
[0140] In some example embodiments, the lip animation configuration information includes the pronunciation of the current text of the script to be played, and the weight determination unit is further used to: determine the standard lip animation corresponding to the script to be played based on the correspondence between the pronunciation and the pronunciation of the standard lip animation; determine the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object from the standard lip animation configuration information based on the identification of the standard lip animation, wherein the standard lip animation configuration information includes the deformation object corresponding to each standard lip shape and the target deformation weight value.
[0141] In some example embodiments, the facial expression animation determination unit is also used to: determine the deformation object of the standard facial expression animation corresponding to the script to be played and the target deformation weight value of the deformation object according to the correspondence between the facial expression animation configuration information and the standard facial expression animation; determine the facial expression animation to be played corresponding to the script to be played by linear interpolation according to the current deformation weight value of the deformation object and the target deformation weight value.
[0142] In some example embodiments, the skeletal animation configuration information includes action identifiers of the skeletal animation, and the skeletal animation determination unit is further used to: determine the standard skeletal animation corresponding to the script to be played based on the correspondence between the action identifiers of the skeletal animation and the action identifiers of the standard skeletal animation; based on the action identifiers of the standard skeletal animation, determine the action state and animation frame configuration of the skeletal animation corresponding to the script to be played from the standard skeletal animation configuration information, wherein the standard skeletal animation configuration information includes the action state and animation frame configuration of each standard skeletal animation.
[0143] In some example embodiments, the device 800 also includes: a skeletal animation playback module, which is used to control the virtual object to execute the skeletal animation to be played based on the action state and animation frame configuration of the skeletal animation corresponding to the script to be played; determine the current animation frame of the current skeletal animation of the virtual object; determine whether the virtual object has completed the action state based on the current animation frame; if the action state is completed, determine the next skeletal animation corresponding to the script to be played.
[0144] Since the various functional modules of the animation processing device 800 of the example embodiment of the present disclosure correspond to the steps of the example embodiment of the above-mentioned animation processing method, for details not disclosed in the embodiment of the device of the present disclosure, please refer to the embodiment of the above-mentioned animation processing method of the present disclosure.
[0145] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0146] In addition, although the steps of the method in the present disclosure are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all the steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps, etc.
[0147] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the implementation of the present disclosure.
[0148] In the exemplary embodiments of the present disclosure, a computer storage medium capable of implementing the above method is also provided. A program product capable of implementing the above method of the present specification is stored thereon. In some possible embodiments, various aspects of the present disclosure may also be implemented in the form of a program product, which includes a program code. When the above program product is run on a terminal device, the above program code is used to enable the above terminal device to execute the steps according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of the present specification.
[0149] The program product may be in a portable compact disk read-only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present disclosure is not limited thereto, and in this document, a readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0150] The above program product can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium can be, for example, but not limited to, a system, device or device of electricity, magnetism, light, electromagnetic, infrared, or semiconductor, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0151] Computer readable signal media may include data signals propagated in baseband or as part of a carrier wave, in which readable program code is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Readable signal media may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device.
[0152] The program code embodied on the readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the foregoing.
[0153] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages such as Java, C++, etc., and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0154] After introducing the method, apparatus, and medium of the exemplary embodiment of the present disclosure, next, a computing device according to another exemplary embodiment of the present disclosure is introduced.
[0155] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods or program products. Therefore, various aspects of the present disclosure may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software, which may be collectively referred to herein as "circuits", "modules" or "systems".
[0156] In some possible embodiments, a computing device according to an embodiment of the present disclosure may include at least one processor and at least one memory. The memory stores program code, and when the program code is executed by the processor, the processor executes the steps of the voice verification method according to various exemplary embodiments of the present disclosure described in the above “Exemplary Method” section of this specification. For example, the processor may execute the following steps: Figure 2 The steps shown in: Step S210, parse the script to be played and determine the script animation configuration information corresponding to the script to be played; Step S220, determine the animation to be played corresponding to the script to be played based on the correspondence between the script animation configuration information and the standard animation; Step S230, control the virtual object to execute the animation to be played.
[0157] Refer to the following Fig. 9 An electronic device 900 according to an example embodiment of the present disclosure is described. Fig. 9 The electronic device 900 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0158] like Fig. 9 As shown, the electronic device 900 is in the form of a general computing device. The components of the electronic device 900 may include but are not limited to: at least one processing unit 910, at least one storage unit 920, and a bus 930 connecting different system components (including the storage unit 920 and the processing unit 910).
[0159] Bus 930 represents one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures.
[0160] The storage unit 920 may include a readable medium in the form of a volatile memory, such as a RAM (Random Access Memory) 921 and / or a cache memory 922 , and may further include a ROM (Read-Only Memory) 923 .
[0161] The storage unit 920 may also include a program / utility 925 having a set (at least one) of program modules 924, such program modules 924 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.
[0162] The electronic device 900 may also communicate with one or more external devices 940 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 900, and / or communicate with any device that enables the electronic device 900 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 950. Furthermore, the electronic device 900 may also communicate with one or more networks (e.g., local area networks, wide area networks, and / or public networks, such as the Internet) via a network adapter 960. As shown, the network adapter 960 communicates with other modules of the electronic device 900 via a bus 930. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID (Redundant Arrays of Independent Disks, independent redundant disk array) systems, tape drives, and data backup storage systems.
[0163] It should be noted that although several units or subunits of the voice verification device are mentioned in the above detailed description, this division is merely exemplary and not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be embodied.
[0164] In addition, although the operations of the disclosed method are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0165] Although the spirit and principle of the present disclosure have been described with reference to several specific embodiments, it should be understood that the present disclosure is not limited to the disclosed specific embodiments, and the division of various aspects does not mean that the features in these aspects cannot be combined to benefit, and such division is only for the convenience of expression. The present disclosure is intended to cover various modifications and equivalent arrangements included in the spirit and scope of the attached claims.
Claims
1. An animation processing method, characterized in that: include: Parse the script to be played, and determine the script animation configuration information corresponding to the script to be played, wherein the script animation configuration information includes skeletal animation configuration information; Determine the animation to be played corresponding to the script to be played according to the correspondence between the script animation configuration information and the standard animation, wherein the standard animation includes a standard skeletal animation; Determining the animation to be played corresponding to the script to be played according to the correspondence between the script animation configuration information and the standard animation includes: Determine the skeletal animation to be played corresponding to the script to be played according to the correspondence between the skeletal animation configuration information and the standard skeletal animation; The skeletal animation configuration information includes an action identifier of the skeletal animation, and determining the skeletal animation to be played corresponding to the script to be played according to the corresponding relationship between the skeletal animation configuration information and the standard skeletal animation, comprises: Determine the standard skeletal animation corresponding to the script to be played according to the corresponding relationship between the action identifier of the skeletal animation and the action identifier of the standard skeletal animation; Based on the action identifier of the standard skeletal animation, determining the action state and animation frame configuration of the skeletal animation corresponding to the script to be played from the standard skeletal animation configuration information, wherein the standard skeletal animation configuration information includes the action state and animation frame configuration of each standard skeletal animation; The virtual object is controlled to execute the animation to be played.
2. The method according to claim 1, characterized in that The script animation configuration information also includes lip animation configuration information and / or facial expression animation configuration information; The standard animation also includes standard lip animation and / or standard facial expression animation; The step of determining the animation to be played corresponding to the script to be played according to the correspondence between the script animation configuration information and the standard animation also includes: Determine the lip animation to be played corresponding to the script to be played according to the correspondence between the lip animation configuration information and the standard lip animation; and / or, According to the correspondence between the facial expression animation configuration information and the standard facial expression animation, the facial expression animation to be played corresponding to the script to be played is determined.
3. The method according to claim 2, characterized in that The step of determining the lip animation to be played corresponding to the script to be played according to the correspondence between the lip animation configuration information and the standard lip animation comprises: Determine, according to the correspondence between the lip animation configuration information and the standard lip animation, a deformation object of the standard lip animation corresponding to the script to be played and a target deformation weight value of the deformation object; According to the current deformation weight value of the deformation object and the target deformation weight value, the lip animation to be played corresponding to the script to be played is determined by linear interpolation.
4. The method according to claim 3, characterized in that The method of determining the lip animation to be played corresponding to the script to be played by linear interpolation according to the current deformation weight value of the deformation object and the target deformation weight value comprises: Determining the deformation time according to the end time of the standard lip animation and the current time; Determine a mixed deformation factor according to the deformation time and the current deformation weight value and the target deformation weight value corresponding to the deformation object, wherein the mixed deformation factor is used to determine the deformation weight value of the deformation object that needs to be changed currently; The lip animation to be played corresponding to the script to be played is determined according to the mixed deformation factor.
5. The method according to claim 3, characterized in that: The lip animation configuration information includes the pronunciation of the current text of the script to be played, and the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object are determined according to the correspondence between the lip animation configuration information and the standard lip animation, including: Determine the standard lip animation corresponding to the script to be played according to the corresponding relationship between the pronunciation and the pronunciation of the standard lip animation; According to the identification of the standard lip animation, the deformation object of the standard lip animation corresponding to the script to be played and the target deformation weight value of the deformation object are determined from the standard lip animation configuration information, wherein the standard lip animation configuration information includes the deformation object corresponding to each standard lip shape and the target deformation weight value.
6. The method according to claim 2, characterized in that The step of determining the expression animation to be played corresponding to the script to be played according to the correspondence between the expression animation configuration information and the standard expression animation comprises: Determine the deformation object of the standard facial expression animation corresponding to the script to be played and the target deformation weight value of the deformation object according to the correspondence between the facial expression animation configuration information and the standard facial expression animation; According to the current deformation weight value of the deformation object and the target deformation weight value, the facial expression animation to be played corresponding to the script to be played is determined by linear interpolation.
7. The method according to claim 1, characterized in that The method further comprises: Based on the action state and animation frame configuration of the skeletal animation corresponding to the script to be played, controlling the virtual object to execute the skeletal animation to be played; Determining a current animation frame of a current skeletal animation of the virtual object; Determining whether the virtual object has completed the action state according to the current animation frame; If the action state is completed, the next skeletal animation corresponding to the script to be played is determined.
8. An animation processing device, characterized in that: include: A script parsing module, used to parse the script to be played, and determine the script animation configuration information corresponding to the script to be played, wherein the script animation configuration information includes skeletal animation configuration information; An animation determination module, used for determining the animation to be played corresponding to the script to be played according to the correspondence between the script animation configuration information and the standard animation, wherein the standard animation includes a standard skeletal animation; The animation determination module is used to determine the to-be-played skeletal animation corresponding to the to-be-played script according to the correspondence between the skeletal animation configuration information and the standard skeletal animation; The skeletal animation configuration information includes an action identifier of the skeletal animation, and the animation determination module is used to determine the standard skeletal animation corresponding to the script to be played according to the corresponding relationship between the action identifier of the skeletal animation and the action identifier of the standard skeletal animation; Based on the action identifier of the standard skeletal animation, determining the action state and animation frame configuration of the skeletal animation corresponding to the script to be played from the standard skeletal animation configuration information, wherein the standard skeletal animation configuration information includes the action state and animation frame configuration of each standard skeletal animation; The animation playing module is used to control the virtual object to execute the animation to be played.
9. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the animation processing method according to any one of claims 1 to 7 is implemented.
10. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more programs, when the one or more programs are executed by the one or more processors, enables the one or more processors to implement the animation processing method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Video production method, device and terminal for explaining virtual image
CN109118562A
Realistic virtual human multi-modal interaction implementation method based on UE4
CN111724457A
Virtual object display method and device, equipment and medium
CN112541959A
Method and program for making the real-time face of 3D avatar
KR1020170062089A