Methods and devices for creating facial expressions

By configuring timelines and resource paths for facial expression models, dividing facial expression objects, and receiving editing instructions, the problem of low efficiency in creating character facial expressions is solved, achieving efficient resource utilization and vivid facial expression performance, and reducing development costs.

CN114140564BActive Publication Date: 2025-11-14ZHUHAI KINGSOFT ONLINE GAME TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111481961.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-06
Publication Date
2025-11-14
Estimated Expiration
2041-12-06

AI Technical Summary

Technical Problem

Current technologies suffer from low efficiency in character facial expression production, poor resource utilization, poor facial expression performance under skeletal control, and a huge workload and severe resource consumption when there are many bones.

Method used

By configuring a timeline and resource path for the target facial expression model, receiving editing instructions to edit facial expression parameters, dividing facial expression objects based on mapping relationships, and generating facial expression animations, repetitive work is reduced, and resource utilization and editing efficiency are improved.

Benefits of technology

It improves the efficiency of content production in the role-playing game, CG film and animation, and virtual AI avatar industries, reduces development costs, and generates more vivid and flexible expressions, resulting in higher market acceptance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114140564B_ABST
    Figure CN114140564B_ABST
Patent Text Reader

Abstract

This application provides a method and apparatus for creating facial expressions. The method includes: acquiring a target facial expression model and configuring a timeline and resource path for the target facial expression model; receiving an editing instruction submitted through an editing area corresponding to the timeline; editing the facial expression parameters of the target facial expression model configured with the resource path based on the editing instruction; and rendering the target facial expression model based on the editing result of the facial expression parameters to generate an facial expression animation of the target facial expression model. This improves the efficiency of content production in industries such as role-playing games, CG film and animation, and virtual AI characters, reduces development costs, and allows for the reuse of existing resources, maximizing resource utilization and development efficiency. The generated character facial expressions are more vivid and flexible, more popular in the market, and have higher public acceptance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of graphics modeling technology, and in particular to a method for creating facial expressions. This application also relates to an expression creation apparatus, a computing device, and a computer-readable storage medium. Background Technology

[0002] With the development of internet technology, the storytelling of virtual characters has become increasingly elaborate and complex. Storytelling has evolved from traditional character portrait UI presentations to real-time performances within Live2D or 3D scenes. These real-time performances contain a wealth of details. Regarding character expressions, current technology breaks them down into multiple modules, using skeletal control to create facial expressions. Each expression is drawn frame-by-frame using 3D modeling software to achieve the animation effect on the screen, ultimately resulting in a single expression displayed as a model in the modeling software. However, drawing character expressions frame-by-frame is inefficient, increases development costs, and leads to unsatisfactory resource utilization and development efficiency. Furthermore, when using skeletal control to create facial expressions, with a limited number of bones, it's insufficient to accurately represent character expressions. With a large number of bones, the workload of integrating and controlling expressions becomes extremely large, resulting in resource waste. Summary of the Invention

[0003] In view of this, embodiments of this application provide a method for creating facial expressions to address the technical deficiencies in the prior art. Embodiments of this application also provide an apparatus for creating facial expressions, a computing device, and a computer-readable storage medium.

[0004] According to a first aspect of the embodiments of this application, an expression creation method is provided, including:

[0005] Obtain the target facial expression model and configure the timeline and resource path for the target facial expression model;

[0006] Receive editing instructions submitted through the editing area corresponding to the timeline, and edit the expression parameters of the target expression model configured with the resource path based on the editing instructions;

[0007] The target facial expression model is rendered based on the editing results of the facial expression parameters to generate an facial expression animation of the target facial expression model.

[0008] Optionally, it also includes:

[0009] The target expression model is divided based on the expression nodes of the target expression model to obtain at least one expression object;

[0010] Based on preset naming rules and attribute information of at least one expression object, the target expression model and the at least one expression object are named respectively;

[0011] Establish a mapping relationship between the target facial expression model and the at least one facial expression object;

[0012] The process of editing the expression parameters of the target expression model configured with the resource path based on the editing instructions includes:

[0013] Based on the editing instructions, edit the facial expression parameters of at least one facial expression object in the target facial expression model configured with the resource path.

[0014] Optionally, the step of dividing the target expression model based on the expression nodes of the target expression model to obtain at least one expression object includes:

[0015] Query all nodes in the target facial expression model, and identify the nodes whose parameters can change as facial expression nodes;

[0016] Identify adjacent expression nodes among the expression nodes, and group adjacent expression nodes into the same expression object set;

[0017] Based on the set of expression objects, at least one expression object of the target expression model is determined.

[0018] Optionally, receiving editing instructions submitted through the editing area corresponding to the timeline includes:

[0019] Receive click commands submitted through the editing area corresponding to the timeline;

[0020] A time point on the timeline is determined based on the click instruction;

[0021] Receive editing instructions submitted at the stated time point.

[0022] Optionally, editing the expression parameters of the target expression model configured with the resource path based on the editing instructions includes:

[0023] The editing object in the target facial expression model is determined based on the editing instructions;

[0024] The target value set for the edited object is determined based on the editing instructions;

[0025] When the editing instruction ends, the facial expression parameters are determined based on the editing object and the target value.

[0026] Optionally, it also includes:

[0027] Upon receiving a call instruction submitted for the state auxiliary machine, a target time interval is determined in response to the call instruction;

[0028] The state-assisted machine configures the expression parameters for the target expression model within the target time interval;

[0029] Once the expression parameters are configured, the step of rendering the target expression model based on the editing results of the expression parameters and generating the expression animation of the target expression model is performed.

[0030] Optionally, rendering the target facial expression model based on the edited facial expression parameters includes:

[0031] Configure materials for the target facial expression model;

[0032] Determine the body model associated with the target facial expression model, and then stitch the body model and the target facial expression model together.

[0033] Determine the rendering scene where the spliced ​​body model and the target expression model are located, and adjust the rendering controls in the rendering scene.

[0034] Based on the adjusted rendering controls, the scene to be rendered, which includes the stitched body model and the target facial expression model, is rendered and displayed.

[0035] According to a second aspect of the embodiments of this application, an expression creation apparatus is provided, comprising:

[0036] The acquisition module is configured to acquire a target facial expression model and configure a timeline and resource path for the target facial expression model.

[0037] The receiving module is configured to receive editing instructions submitted through the editing area corresponding to the timeline, and edit the expression parameters of the target expression model configured with the resource path based on the editing instructions;

[0038] The rendering module is configured to render the target expression model based on the editing results of the expression parameters, and generate the expression animation of the target expression model.

[0039] According to a third aspect of the embodiments of this application, a computing device is provided, comprising:

[0040] Memory and processor;

[0041] The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the steps of any one of the expression creation methods of claims 1-7.

[0042] According to a fourth aspect of the embodiments of this application, a computer-readable storage medium is provided, which stores computer instructions, characterized in that, when executed by a processor, the instructions implement the steps of the expression creation method of any one of claims 1-7.

[0043] According to a fifth aspect of the present application, a chip is provided that stores a computer program, which, when executed by the chip, implements the steps of the expression creation method.

[0044] The emoticon creation method provided in this application configures a timeline and resource path for the acquired target emoticon model, receives editing instructions submitted by the editing area corresponding to the timeline, locates the target emoticon model corresponding to the editing instructions based on the resource path, edits the emoticon parameters of the target emoticon model according to the editing instructions, and renders the edited target emoticon model to generate an emoticon animation. This improves the efficiency of content production in industries such as role-playing games, CG film and animation, and virtual AI characters, reduces development costs, and allows for the reuse of existing resources, maximizing resource utilization and development efficiency. The generated character emoticons are more vivid and flexible, more popular in the market, and have higher public acceptance. Attached Figure Description

[0045] Figure 1 This is a flowchart of an embodiment of an expression creation method provided in this application;

[0046] Figure 2 This is a flowchart illustrating a method for creating facial expressions in a game scene, provided by an embodiment of this application.

[0047] Figure 3 This is a schematic diagram of the operation interface of an expression creation method provided in an embodiment of this application;

[0048] Figure 4 This is a schematic diagram of the structure of an expression creation device provided in one embodiment of this application;

[0049] Figure 5 This is a structural block diagram of a computing device provided in one embodiment of this application. Detailed Implementation

[0050] Many specific details are set forth in the following description to provide a full understanding of this application. However, this application can be implemented in many other ways different from those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this application; therefore, this application is not limited to the specific embodiments disclosed below.

[0051] The terminology used in one or more embodiments of this application is for the purpose of describing particular embodiments only and is not intended to limit the scope of one or more embodiments of this application. The singular forms “a,” “the,” and “the” used in one or more embodiments of this application and in the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” used in one or more embodiments of this application refers to and includes any or all possible combinations of one or more associated listed items.

[0052] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of this application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of this application, and similarly, second may also be referred to as first.

[0053] First, the terminology used in one or more embodiments of the present invention will be explained.

[0054] PBR (Physically Based Rendering) refers to a collection of rendering techniques that are based to varying degrees on fundamental theories that are more consistent with the physical principles of the real world.

[0055] SSS (Sub-Surface Scattering) describes the illumination phenomenon where light is scattered when it passes through a transparent / semi-transparent surface. It refers to the process by which light enters an object from the surface, is scattered internally, and then exits through other vertices on the object's surface.

[0056] The timeline is a key feature of Flash. In traditional animation production, each frame is typically drawn manually or created programmatically. Flash, however, uses keyframe technology. By creating keyframes on the timeline, Flash automatically generates moving animation frames, saving production staff significant time and improving efficiency. Above the timeline is a red line; that's the playback position head. Dragging the head allows you to observe the animation, a crucial step in the production process.

[0057] FBX files are the format used by the FilmBoX software suite, later renamed MotionBuilder. Their main purpose is to facilitate the exchange of models, materials, motion, and camera information between software such as Max, Maya, and Softimage, thus leveraging the advantages of software like Max and Maya.

[0058] This application provides a method for creating facial expressions. This application also relates to an expression creation apparatus, a computing device, and a computer-readable storage medium, which will be described in detail in the following embodiments.

[0059] Figure 1 A flowchart of an expression creation method according to an embodiment of this application is shown, which specifically includes the following steps:

[0060] Step S102: Obtain the target facial expression model and configure the timeline and resource path for the target facial expression model.

[0061] This application is applied to the client side, which uses an expression editing program to call, edit, and render the target expression model.

[0062] The timeline provides temporal support for the facial expression changes of the target facial expression model, ensuring that each frame of the configured target facial expression model has a sequential order, thus guaranteeing the realization of the facial expression changes. The facial expression editing program can view and edit each frame of the target facial expression model based on the timeline. The resource path is a separate storage path for the target facial expression model, which can be used for unified management. The resource path serves as the unique identifier for the target facial expression model, and the target facial expression model can be accessed by linking to the resource path.

[0063] Based on this, the facial expression editing program acquires at least one facial expression model and configures a resource path for each model, specifying the storage path for each model. This allows for unified management of all facial expression models. The program can access any facial expression model via its resource path. The model requiring editing is referred to as the target facial expression model. For each target model, the program can configure a new resource path to differentiate it from the others. The program also configures a timeline for the target model, enabling it to visualize the facial expression changes during editing and view and edit each frame based on the timeline.

[0064] Furthermore, in the editing of several target expression models, where not all expression nodes need to be changed, or where only some expression nodes need to be changed, editing all expression nodes of all target expression models individually would significantly impact processing efficiency and waste system resources. Dividing the target expression model into reusable and freely combinable parts solves this problem. In this embodiment, the specific implementation is as follows:

[0065] The target expression model is divided based on the expression nodes of the target expression model to obtain at least one expression object; the target expression model and the at least one expression object are named according to the preset naming rules and the attribute information of the at least one expression object; and a mapping relationship between the target expression model and the at least one expression object is established.

[0066] Among them, facial expression nodes are nodes in the target facial expression model whose relative position information can be changed. By changing the facial expression nodes, the position of the facial expression nodes in the target facial expression model can be controlled to change. Facial expression objects are a set of adjacent facial expression nodes in the target facial expression model, such as the mouth and eyes in a face model.

[0067] Based on this, the expression editing program queries the expression nodes in the target expression model, divides the target expression model according to the expression nodes, obtains at least one expression object, names the obtained at least one expression object, and establishes a mapping relationship between the obtained expression object and its corresponding target expression model.

[0068] For example, during the expression editing process of a target expression model, the expression editing program edits a face model. The program queries the expression nodes on the face model, obtaining expression nodes for the lips, eyes, nose, and eyebrows. Then, based on these expression nodes, the face model is divided into four expression objects: lips, eyes, nose, and eyebrows. After obtaining these four expression objects, the program names them, resulting in the files mouth.fbx, eye.fbx, nose.fbx, and eyebrow.fbx.

[0069] In summary, dividing the target expression model into expression objects allows for resource reuse, reduces waste, increases editing efficiency, and makes editing the target expression model more flexible and simple.

[0070] Furthermore, editing the expression parameters of the target expression model configured with the resource path based on the editing instructions includes:

[0071] Based on the editing instructions, edit the facial expression parameters of at least one facial expression object in the target facial expression model configured with the resource path.

[0072] Since a mapping relationship is established between the expression object and the corresponding target expression model, when editing the target expression model, the expression object corresponding to the target expression model to be edited can also be found according to the mapping relationship. The expression editing program can then perform targeted editing on the expression objects that require expression parameter editing.

[0073] Based on this, when the expression editing program edits the target expression model, it obtains the expression object corresponding to the target expression model according to the mapping relationship between the target expression model and the corresponding expression object, determines the expression object whose expression parameters need to be edited based on the editing instructions, and edits the selected expression object.

[0074] Following the previous example, after the facial expression editing program divides the face model, it obtains the corresponding facial expression objects. In the subsequent editing process of the face objects, the corresponding facial expression objects mouth.fbx, eye.fbx, nose.fbx, and eyebrow.fbx are obtained through the mapping relationship of the face objects. Based on the received editing instructions, the facial expression editing program determines that the facial expression object whose facial expression parameters need to be edited is eye.fbx, and then edits the facial expression parameters of eye.fbx according to the editing instructions.

[0075] Furthermore, the acquisition of expression objects is not limited to the face segmentation by the expression editing program. It can also obtain the segmented expression objects from other systems or programs. For example, the expression editing program can obtain the expression object eye.fbx from the expression object editing program, store it in the expression creation engine, and edit and render the expression object eye.fbx in the expression creation engine. It should be noted that this embodiment does not limit the system and program for obtaining expression objects.

[0076] Furthermore, the facial expression editing program allows for the separate storage and editing of different facial expression parameters based on the same facial expression object. For example, the same facial expression object eye.fbx can be stored as eye1.fbx and eye2.fbx respectively because it has different facial expression parameters. Here, eye1.fbx can represent the eyes in a smiling face, while eye2.fbx can represent the eyes in a crying face. The facial expression editing model can select either eye1.fbx or eye2.fbx for editing based on the requirements and map it onto the face model. It should be noted that this embodiment does not limit the types and number of parameters of the stored and edited facial expression objects.

[0077] In summary, by opening up the acquisition channels for emoticon objects, the acquisition of emoticon objects becomes more diverse, emoticon editing becomes more convenient, and by storing, calling, and editing emoticon objects with different parameters, resources can be reused, resource waste can be reduced, the editing efficiency of the target emoticon model can be increased, and the editing of the target emoticon model becomes more free and simple.

[0078] Furthermore, in the process of dividing the target expression model into expression objects, the expression editing program needs to determine the correspondence between each expression object and the target expression model to ensure accurate division. In this embodiment, the specific implementation method is as follows:

[0079] Query all nodes in the target expression model and identify the nodes with variable parameters as expression nodes; identify adjacent expression nodes among the expression nodes and group the adjacent expression nodes into the same expression object set; based on the expression object set, determine at least one expression object of the target expression model.

[0080] The set of emoticon objects is the set of emoticon nodes corresponding to the preset rules.

[0081] Based on this, the facial expression editing program queries all nodes in the target facial expression model and identifies the nodes with editable facial expression parameters as facial expression nodes. In other words, facial expression nodes are points in the face model whose positions can change, such as the corners of the mouth and the ends of the eyebrows. Based on the concept of facial expression nodes, it can be known that facial expression objects are composed of a series of facial expression nodes in the target facial expression model. Therefore, adjacent facial expression nodes are assigned to the same set of facial expression objects, and then each set of facial expression objects is used to obtain the individual facial expression objects in the target facial expression model.

[0082] For example, the facial expression editing program queries all nodes a1, a2, ..., b1, b2, ..., c1, c2, ..., d1, d2, ... in the acquired target facial expression model, and determines that the nodes whose facial expression parameters can be edited are the facial expression nodes a2, a3, ..., b3, b9, ..., c2, c6, ..., d7, d11, ... The program then divides consecutive facial expression nodes into different facial expression object sets U1, U2, U3, U4, and obtains individual facial expression objects mouth.fbx, eye.fbx, nose.fbx, and eyebrow.fbx based on the facial expression object sets U1, U2, U3, U4.

[0083] In summary, by determining expression nodes based on the nodes in the target expression model, and then defining consecutive parts of the expression nodes as an expression object, the expression objects in the target expression model can be obtained clearly and effectively.

[0084] Step S104: Receive the editing instruction submitted through the editing area corresponding to the timeline, and edit the expression parameters of the target expression model configured with the resource path based on the editing instruction.

[0085] Specifically, after determining the timeline and resource path for the target expression model, the expression editing program can query and call the location information of the target expression object based on the resource path, and then edit the parameters of the target expression model based on the timeline configured for the target expression model.

[0086] The editing instructions contain the resource path of the target facial expression model and information on how to edit the facial expression parameters. The editing area corresponding to the timeline is the time range in which the facial expression editing program edits the target facial expression model.

[0087] Based on this, the expression editing program receives an editing instruction to edit the target expression model. Based on the information in the editing instruction to edit the expression parameters in the corresponding time region of the target expression model, it determines the time region in the target expression model that needs to be edited, as well as the expression parameters in the target expression model that need to be edited, and finally edits the target expression model.

[0088] Furthermore, after the expression editing program receives the editing instructions, it determines the time period information for which the target expression model needs to be edited. It also needs to select the corresponding time region on the timeline of the target expression model based on this time period information. In this embodiment, the specific implementation method is as follows:

[0089] Receive a click instruction submitted through the editing area corresponding to the timeline; determine a time point on the timeline based on the click instruction; and receive an editing instruction submitted at the time point.

[0090] The click command is a selection command made by the expression editing program for the target expression model based on the time area information determined by the editing command. This time area information marks the time period during which the expression parameters of the target expression model need to be edited.

[0091] Based on this, the expression editing program obtains the click instruction, selects the corresponding time point in the timeline of the target expression model according to the click instruction, and obtains the editing instruction corresponding to this time point.

[0092] For example, when an expression editing program receives an editing instruction, it determines that the target expression model to be edited is a face model based on the resource path information carried in the editing instruction. Then, it determines the time points T1, T2, ... in the face model that need to be edited. Based on the known time points, the expression editing program introduces the editing instructions corresponding to each time point.

[0093] In summary, based on editing instructions, the time points within the target facial expression model that require editing can be determined. By introducing the editing information corresponding to these time points, the facial expression parameters within each required editing time point in the target facial expression model can be precisely edited. This saves system computing resources and allows for targeted editing of facial expression parameters.

[0094] Furthermore, after the expression editing program selects the timeline region corresponding to the expression editing model that needs to be edited, it is necessary to edit the expression parameter model based on the editing instructions. In this embodiment, the specific implementation method is as follows:

[0095] The editing object in the target expression model is determined based on the editing instructions; the target value set for the editing object is determined based on the editing instructions; and when the editing instructions end, the expression parameters are determined based on the editing object and the target value.

[0096] The editing target is the part of the target facial expression model that needs to be edited, selected through the resource path.

[0097] Based on this expression editing program, the program selects the editable object in the target expression model based on the editing instructions, and determines the target value that the expression parameters in the editable object need to be set based on the editing instructions. Then, the expression editing program edits the expression parameters of the editable object in the target expression model based on the target value.

[0098] For example, an expression editing program determines the area on a face image that needs to be edited as the editing object through editing instructions, then obtains the target value of the expression parameters of the editing object carried in the editing instructions, and edits the expression parameters of the editing object based on the target value.

[0099] In summary, by obtaining the target value in the editing instructions, the target expression model can be edited to obtain the desired expression parameters.

[0100] Step S106: Render the target expression model based on the editing results of the expression parameters to generate an expression animation of the target expression model.

[0101] Specifically, after the facial expression parameters in the target facial expression model have been edited, the target facial expression model still needs to be rendered to make it a facial expression animation.

[0102] The facial expression editing program obtains the target facial expression model based on the editing instructions to edit the facial expression parameters, renders the target facial expression model, and generates the facial expression animation of the target facial expression model.

[0103] Furthermore, in the animation production process, many looping animated expressions are frequently encountered, such as speaking and breathing. If all looping animations need to be produced, this would undoubtedly be a huge workload and affect the efficiency of animation production. Therefore, it is necessary to alleviate the heavy burden of repetitive production of looping animations. In this embodiment, the specific implementation method is as follows:

[0104] Upon receiving a call instruction submitted to the state auxiliary machine, a target time interval is determined in response to the call instruction; the state auxiliary machine configures the expression parameters for the target expression model within the target time interval; and upon completion of the expression parameter configuration, the step of rendering the target expression model based on the editing results of the expression parameters to generate the expression animation of the target expression model is executed.

[0105] Among them, the state auxiliary machine is used to assist in completing the program script for repetitive animation editing.

[0106] Based on this, after the state auxiliary machine is invoked, it confirms the repetition time interval of the target expression model after the expression parameter editing is completed, obtains the target time interval, and automatically generates several segments of the target expression model that are exactly the same as it according to the parameter changes of the target expression model within this time interval. The generated segments of the target expression model are spliced ​​together to form an animation data of the change of expression parameters of the target expression model within the repetition target time interval. Then, this data is rendered to obtain a repetitive loop expression animation.

[0107] In other words, the state-assisted machine can set playback modes, which include loop and non-loop modes. The loop mode is generally used for expressions that need to be played repeatedly, such as speech, while the non-loop mode is generally used for expressions that are played only once.

[0108] For example, the state auxiliary machine is invoked to confirm the repetitive time interval of the face model after the expression parameters have been edited. It is known that the mouth of the face model goes from open to closed and then open again. Based on this, the state auxiliary machine copies the face model on this time axis and splices the time axes of the copied face models together to obtain a face model with a mouth that keeps opening and closing. Rendering this face model results in a face model with a speaking expression.

[0109] In summary, with the assistance of a state-assisted machine, the workload of creating repetitive and looping facial animations can be reduced, and work efficiency can be improved.

[0110] Furthermore, during the rendering process of facial expression animation, due to the different environments and scenes in which the animated characters are located, there will be different lighting and shadows for different environments and scenes. Therefore, the rendering process must also take into account scene and environmental factors. In this embodiment, the specific implementation method is as follows:

[0111] Configure materials for the target facial expression model; determine the body model associated with the target facial expression model and stitch the body model and the target facial expression model together; determine the scene to be rendered where the stitched body model and the target facial expression model are located, and adjust the rendering controls in the scene to be rendered; based on the adjusted rendering controls, render and display the scene to be rendered containing the stitched body model and the target facial expression model.

[0112] Among them, the material refers to the portrait parameters of the target expression model presented on the character's avatar, especially based on PBR and SSS rendering.

[0113] Specifically, the expression editing program configures the material for the character's head based on the scene information and preset parameters, and splices the character's head with the character's body model to determine the spliced ​​character image. Then, based on the scene information, it adjusts the rendering controls in the rendering scene, including but not limited to the lighting system and camera system. Finally, the spliced ​​character image is rendered in the rendering scene, and the resulting animation is displayed in the rendering scene.

[0114] For example, the facial expression editing program renders a face model whose facial expression parameters have been edited. It sets the surface scattering (PBR) and internal scattering (SSS) parameters related to the face model's head, that is, it configures the material for the head. Then, it stitches the head and the body model to obtain the character image. Based on the scene information, it adjusts the lighting system and camera system. Finally, it renders the obtained character model to obtain the character animation with the preset expression.

[0115] In summary, through the above rendering process, we can obtain facial animations of any character in any scene.

[0116] The emoticon creation method provided in this application configures a timeline and resource path for the acquired target emoticon model, receives editing instructions submitted by the editing area corresponding to the timeline, locates the target emoticon model corresponding to the editing instructions based on the resource path, edits the emoticon parameters of the target emoticon model according to the editing instructions, and renders the edited target emoticon model to generate an emoticon animation. This improves the efficiency of content production in industries such as role-playing games, CG film and animation, and virtual AI characters, reduces development costs, and allows for the reuse of existing resources, maximizing resource utilization and development efficiency. The generated character emoticons are more vivid and flexible, more popular in the market, and have higher public acceptance.

[0117] The following is in conjunction with the appendix Figure 2Taking the application of the expression creation method provided in this application to the generation of facial model animation as an example, the expression creation method will be further explained. Figure 2 The diagram illustrates a processing flowchart of an expression creation method for a game scene according to an embodiment of this application, which specifically includes the following steps:

[0118] Step S202: Query all nodes in the target expression model, and determine the nodes whose parameters can change as expression nodes.

[0119] Specifically, the expression editing program queries all nodes a1, a2, ..., b1, b2, ..., c1, c2, ... in the acquired target expression model, and determines the nodes whose expression parameters can be edited as expression nodes a2, a3, ..., b3, b9, ..., c2, c6, ...

[0120] Step S204: Determine the adjacent expression nodes in the expression node and assign the adjacent expression nodes to the same expression object set.

[0121] Specifically, the emoji editing program divides consecutive emoji nodes into different emoji object sets U1, U2, and U3.

[0122] Step S206: Based on the set of expression objects, determine at least one expression object of the target expression model.

[0123] Specifically, the emoticon editing program obtains each emoticon object based on the emoticon object set U1, U2, U3.

[0124] Step S208: Based on preset naming rules and attribute information of at least one expression object, name the target expression model and the at least one expression object respectively.

[0125] Specifically, the expression editing program names the face model and the resulting expression objects based on preset naming rules. The expression editing program determines that the expression names of the expression objects in the face model are not dedicated expression names, so a unified expression name is used when there is no dedicated expression name. Therefore, the expression names of the expression objects in the face model are configured as c.fbx and c1.fbx, c2.fbx, and c3.fbx, respectively.

[0126] It's important to note that emotes are divided into general emotes and dedicated emotes. Dedicated emotes are character-specific, such as those exclusive to a particular character. General emotes, on the other hand, are emotes that can be used by all characters and can be indexed by a unified emote name. This means that when switching scenes or characters within a scene, only dedicated emotes require reconfiguration; the general emotes do not need special adjustments. For example, if character A does not have dedicated emotes and can only use general emotes L1.fbx, L2.fbx, L3.fbx, L4.fbx, and L5.fbx, and after a scene change, the character changes from A to B, and we know that character B has a dedicated emote BB.fbx, then character B can now use emotes BB.fbx, L1.fbx, L2.fbx, L3.fbx, L4.fbx, and L5.fbx. When applying emotes, only the dedicated emote BB.fbx needs specific configuration; general emotes, under normal circumstances, do not require additional configuration.

[0127] Step S210: Establish a mapping relationship between the target facial expression model and the at least one facial expression object.

[0128] Specifically, the facial expression editing program determines that facial expression objects c1.fbx, c2.fbx, and c3.fbx are partitioned from the face model c.fbx. Then, it establishes a mapping relationship between the facial expression objects c1.fbx, c2.fbx, and c3.fbx and the face model c.fbx, such as... Figure 3 The resource path area shown includes c.fbx and c1.fbx, c2.fbx, and c3.fbx.

[0129] Step S212: Determine the editing object based on the editing instructions.

[0130] Specifically, the facial expression editing program determines the editing object c1.fbx on the face model c.fbx.

[0131] Step S214: Receive a click command submitted through the editing area corresponding to the timeline.

[0132] Specifically, the emoticon editing program receives a click instruction on the corresponding editing area of ​​the timeline of the emoticon object c1.fbx.

[0133] Step S216: Determine a time point on the time axis based on the click instruction.

[0134] Specifically, the emoji editing program determines a time point T1 on the timeline based on a click command, such as... Figure 3 As shown in the timeline area.

[0135] Step S218: Receive the editing instruction submitted at the said time point.

[0136] Specifically, the facial expression editing program determines the editing content of the facial expression parameters of the facial expression object c1.fbx at time point T1 in the editing instructions.

[0137] Step S220: Determine the target value set for the edit object based on the editing instructions.

[0138] Specifically, the expression editing program modifies the target value of the expression parameters of the expression object c1.fbx at time point T1 based on the editing instructions.

[0139] Step S222: Determine the expression parameters based on the edit object and the target value.

[0140] Specifically, the facial expression editing program modifies the target values ​​of the facial expression parameters of the facial expression object c1.fbx at time point T1 based on editing instructions. For example... Figure 3 The parameter editing area is shown below.

[0141] Step S224: Upon receiving a call instruction submitted for the state auxiliary machine, determine the target time interval in response to the call instruction.

[0142] Specifically, the expression editing program determines that the editing of expression object c1.fbx in the editing instructions is cyclic, while the editing of expression objects c2.fbx and c3.fbx is not cyclic. At this time, the expression editing program calls the state auxiliary machine, so that the state auxiliary machine responds to the time interval of the cyclic editing of expression object c1.fbx.

[0143] Step S226: Configure the expression parameters of the target expression model for the target time interval through the state auxiliary machine.

[0144] Specifically, the facial expression editing program instructs the state auxiliary machine to copy the time interval of the cyclic editing of the facial expression object c1.fbx, and then splices the timelines of the copied cyclic editing time intervals of the facial expression object c1.fbx together to obtain the cyclic time interval of the facial expression object c1.fbx.

[0145] Step S228: Configure materials for the target facial expression model.

[0146] Specifically, the expression editing program configures the materials of the expression object c1.fbx edited by the state-assisted machine and the normally edited expression objects c2.fbx and c3.fbx to obtain the character's avatar.

[0147] Step S230: Determine the body model associated with the target facial expression model, and splice the body model and the target facial expression model together.

[0148] Specifically, the facial expression editing program stitches together a person's head image with an associated body model to obtain the person's model.

[0149] Step S232: Determine the rendering scene where the spliced ​​body model and the target expression model are located, and adjust the rendering controls in the rendering scene.

[0150] Specifically, the expression editing program determines that the scene to be rendered is an empty scene and adjusts the lighting system and camera system in the scene to be rendered.

[0151] Step S234: Based on the adjusted rendering controls, render and display the scene to be rendered, which includes the spliced ​​body model and the target expression model.

[0152] Specifically, the facial expression editing program renders and displays the character model within the scene to be rendered. The rendering and display location is as follows: Figure 3 Expression rendering area.

[0153] During the display of emoticon object c1.fbx, it is necessary to hide the actions of emoticon object c2.fbx. In this case, the timeline of the actions of emoticon object c2.fbx is blocked, so that the actions of emoticon object c2.fbx are not displayed. After a period of time, emoticon object c1.fbx needs to stop its actions, and emoticon object c2.fbx needs to start its actions. In this case, the timeline of emoticon object c1.fbx is blocked, and the timeline of emoticon object c2.fbx is displayed.

[0154] Furthermore, if c2.fbx represents the mouth movement for a normal facial expression, and c1.fbx represents the mouth movement for a speaking facial expression, then during game runtime, the engine attaches the facial expression nodes of the character's face to the timelines of normal and speaking facial expressions respectively. When the character is speaking, the mouth movement c2.fbx for the normal facial expression is hidden, while the mouth movement c1.fbx for the speaking facial expression is displayed. In non-speaking states, the mouth movement c2.fbx for the normal facial expression is restored, and the mouth movement c1.fbx for the speaking facial expression is hidden. When the character model stops using facial expressions, the timeline stops running to save runtime resources. When the character model leaves the scene, the timeline is cleared, waiting to be reused. Considering that a character model in the same scene may use facial expressions multiple times, the control system is not destroyed to avoid repeatedly loading resources each time a story scene is entered. Destruction occurs when switching scenes.

[0155] The facial expression creation method provided in this application improves the efficiency of content production in industries such as role-playing games, CG film and animation, and virtual AI characters, reduces development costs, and allows for the reuse of existing resources, maximizing resource utilization and development efficiency. The generated character expressions are more vivid and flexible, making them more appealing to the market and gaining wider public acceptance.

[0156] Corresponding to the above method embodiments, this application also provides an embodiment of an expression creation device. Figure 4 A schematic diagram of the structure of an expression creation device according to an embodiment of this application is shown. Figure 4 As shown, the device includes:

[0157] The acquisition module 402 is configured to acquire a target facial expression model and configure a timeline and resource path for the target facial expression model.

[0158] The receiving module 404 is configured to receive editing instructions submitted through the editing area corresponding to the timeline, and edit the expression parameters of the target expression model configured with the resource path based on the editing instructions;

[0159] The rendering module 406 is configured to render the target expression model based on the editing results of the expression parameters, and generate the expression animation of the target expression model.

[0160] In an optional embodiment, the facial expression creation device further includes:

[0161] The segmentation module is configured to segment the target expression model based on the expression nodes of the target expression model to obtain at least one expression object; to name the target expression model and the at least one expression object respectively based on a preset naming rule and the attribute information of the at least one expression object; and to establish a mapping relationship between the target expression model and the at least one expression object; wherein, editing the expression parameters of the target expression model configured with the resource path based on the editing instruction includes: editing the expression parameters of the at least one expression object in the target expression model configured with the resource path based on the editing instruction.

[0162] In an optional embodiment, the partitioning module is further configured to:

[0163] Query all nodes in the target expression model and identify the nodes with variable parameters as expression nodes; identify adjacent expression nodes among the expression nodes and group the adjacent expression nodes into the same expression object set; based on the expression object set, determine at least one expression object of the target expression model.

[0164] In an optional embodiment, the receiving module 404 is further configured to:

[0165] Receive a click instruction submitted through the editing area corresponding to the timeline; determine a time point on the timeline based on the click instruction; and receive an editing instruction submitted at the time point.

[0166] In an optional embodiment, the receiving module 404 is further configured to:

[0167] The editing object in the target expression model is determined based on the editing instructions; the target value set for the editing object is determined based on the editing instructions; and when the editing instructions end, the expression parameters are determined based on the editing object and the target value.

[0168] In an optional embodiment, the expression creation device further includes:

[0169] The auxiliary module is configured to, upon receiving a call instruction submitted to the state auxiliary machine, determine a target time interval in response to the call instruction; configure the expression parameters of the target expression model for the target time interval through the state auxiliary machine; and, upon completion of the expression parameter configuration, execute the step of rendering the target expression model based on the editing results of the expression parameters to generate the expression animation of the target expression model.

[0170] In an optional embodiment, the rendering module 406 is further configured to:

[0171] Configure materials for the target facial expression model; determine the body model associated with the target facial expression model and stitch the body model and the target facial expression model together; determine the scene to be rendered where the stitched body model and the target facial expression model are located, and adjust the rendering controls in the scene to be rendered; based on the adjusted rendering controls, render and display the scene to be rendered containing the stitched body model and the target facial expression model.

[0172] The facial expression creation device provided in this application configures a timeline and resource path for the acquired target facial expression model, receives editing instructions submitted by the editing area corresponding to the timeline, locates the target facial expression model corresponding to the editing instructions according to the resource path, edits the facial expression parameters of the target facial expression model according to the editing instructions, and renders the edited target facial expression model to generate facial expression animation. This improves the efficiency of content production in industries such as role-playing games, CG film and animation, and virtual AI characters, reduces development costs, and allows for the reuse of existing resources, maximizing resource utilization and development efficiency. The generated character facial expressions are more vivid and flexible, more popular in the market, and have higher public acceptance.

[0173] The above is an illustrative scheme of an expression creation device according to this embodiment. It should be noted that the technical solution of this expression creation device and the technical solution of the aforementioned expression creation method belong to the same concept. Details not described in detail in the technical solution of the expression creation device can be found in the description of the technical solution of the aforementioned expression creation method. Furthermore, the components in the device embodiment should be understood as functional modules necessary to implement each step of the program flow or each step of the method; these functional modules are not actual functional divisions or separations. The device claim defined by such a set of functional modules should be understood as a functional module architecture that primarily implements the solution through the computer program described in the specification, and not as a physical device that primarily implements the solution through hardware.

[0174] Figure 5 A structural block diagram of a computing device 500 according to an embodiment of this application is shown. The components of the computing device 500 include, but are not limited to, a memory 510 and a processor 520. The processor 520 is connected to the memory 510 via a bus 530, and a database 550 is used to store data.

[0175] The computing device 500 also includes an access device 540, which enables the computing device 500 to communicate via one or more networks 560. 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 540 may include one or more of any type of wired or wireless network interface (e.g., a Network Interface Card (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) interface, a 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 so on.

[0176] In one embodiment of this application, the aforementioned components of the computing device 500 and Figure 5 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 5 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this application. Those skilled in the art can add or replace other components as needed.

[0177] The computing device 500 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or PCs. The computing device 500 can also be a mobile or stationary server.

[0178] The above is an illustrative scheme of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the above-described expression creation method belong to the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the above-described expression creation method.

[0179] The above is an illustrative embodiment of a computer-readable storage medium. It should be noted that the technical solution of this storage medium belongs to the same concept as the technical solution of the above-described expression creation method. Details not described in detail in the technical solution of the storage medium can be found in the description of the technical solution of the above-described expression creation method.

[0180] An embodiment of this application also provides a chip that stores a computer program, which, when executed by the chip, implements the steps of the expression creation method.

[0181] The foregoing has described specific embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired results. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0182] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added to or subtracted 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 may not include electrical carrier signals and telecommunication signals.

[0183] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0184] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0185] The preferred embodiments disclosed above are merely illustrative of this application. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the content of this application. These embodiments are selected and specifically described in this application to better explain the principles and practical applications of this application, thereby enabling those skilled in the art to better understand and utilize this application. This application is limited only by the claims and their full scope and equivalents.

Claims

1. A method for creating emoticons, characterized in that, include: Obtaining a target facial expression model and dividing the target facial expression model according to facial expression nodes to obtain at least one facial expression object includes: querying all nodes in the target facial expression model and identifying nodes with variable parameters as facial expression nodes; identifying adjacent facial expression nodes among the facial expression nodes and grouping adjacent facial expression nodes into the same set of facial expression objects; and determining at least one facial expression object of the target facial expression model based on the set of facial expression objects, wherein the facial expression node is a node in the target facial expression model whose relative position information can be changed, and the position of the facial expression nodes in the target facial expression model is controlled by changing the facial expression node; Establish a mapping relationship between the target facial expression model and the at least one facial expression object; Configure the timeline and resource path for the target facial expression model; Receive editing instructions submitted through the editing area corresponding to the timeline, determine the target value that the expression parameters of the at least one expression object need to be set based on the editing instructions, and edit the expression parameters of the at least one expression object in the target expression model of the resource path based on the target value; The target facial expression model is rendered based on the editing results of the facial expression parameters to generate an facial expression animation of the target facial expression model.

2. The method according to claim 1, characterized in that, The step of establishing the mapping relationship between the target facial expression model and the at least one facial expression object includes: Based on preset naming rules and attribute information of at least one expression object, the target expression model and the at least one expression object are named respectively; Establish a mapping relationship between the target facial expression model and the at least one facial expression object.

3. The method according to claim 1, characterized in that, The receiving of editing instructions submitted through the editing area corresponding to the timeline includes: Receive click commands submitted through the editing area corresponding to the timeline; A time point on the timeline is determined based on the click instruction; Receive editing instructions submitted at the stated time point.

4. The method according to claim 1, characterized in that, The step of editing the expression parameters of at least one expression object in the target expression model configured with the resource path based on the editing instructions includes: The editing object in the target facial expression model is determined based on the editing instructions; The target value set for the edited object is determined based on the editing instructions; When the editing instruction ends, the facial expression parameters are determined based on the editing object and the target value.

5. The method according to claim 1, characterized in that, Before rendering the target expression model based on the editing results of the expression parameters and generating the expression animation of the target expression model, the method further includes: Upon receiving a call instruction submitted for the state auxiliary machine, a target time interval is determined in response to the call instruction; The state-assisted machine configures the expression parameters for the target expression model within the target time interval; Once the expression parameters are configured, the step of rendering the target expression model based on the editing results of the expression parameters and generating the expression animation of the target expression model is performed.

6. The method according to claim 1, characterized in that, The rendering of the target facial expression model based on the edited facial expression parameters includes: Configure materials for the target facial expression model; Determine the body model associated with the target facial expression model, and then stitch the body model and the target facial expression model together. Determine the rendering scene where the spliced ​​body model and the target expression model are located, and adjust the rendering controls in the rendering scene. Based on the adjusted rendering controls, the scene to be rendered, which includes the stitched body model and the target facial expression model, is rendered and displayed.

7. An expression creation device, characterized in that, include: The acquisition module is configured to acquire a target facial expression model, and divide the target facial expression model according to facial expression nodes to obtain at least one facial expression object. The facial expression node is a node in the target facial expression model whose relative position information can be changed. The position of the facial expression nodes in the target facial expression model can be changed by changing the facial expression node. A mapping relationship between the target facial expression model and the at least one facial expression object is established. Configure the timeline and resource path for the target facial expression model; The partitioning module is configured to query all nodes in the target expression model and identify nodes with variable parameters as expression nodes; identify adjacent expression nodes among the expression nodes and partition the adjacent expression nodes into the same expression object set; and based on the expression object set, identify at least one expression object of the target expression model. The receiving module is configured to receive editing instructions submitted through the editing area corresponding to the time axis, determine the target value that the expression parameters of the at least one expression object need to be set based on the editing instructions, and edit the expression parameters of the at least one expression object in the target expression model of the resource path based on the target value; The rendering module is configured to render the target expression model based on the editing results of the expression parameters, and generate the expression animation of the target expression model.

8. A computing device, characterized in that, include: Memory and processor; The memory is used to store computer-executable instructions, and the processor is used to execute the computer-executable instructions to implement the steps of the expression creation method according to any one of claims 1-6.

9. A computer-readable storage medium storing computer instructions, characterized in that, When executed by the processor, this instruction implements the steps of any one of the expression creation methods of claims 1-6.

10. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of the facial expression creation method of any one of claims 1-6.

Citation Information

Patent Citations

  • Expression animation generation method and device, storage medium and electronic device

    CN107657651A

  • Virtual simulation experiment making system based on Unity platform

    CN111524221A