A method, device and storage medium for producing skeletal animation

By creating and scaling the target model in MMORPG, forming a mesh model and performing dynamic simulation solutions, the fabric distortion problem in skeletal animation is solved, and a more realistic dynamic simulation effect is achieved.

CN114255309BActive Publication Date: 2025-03-21BEIJING BEINGFUNGAMES TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111580669.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-22
Publication Date
2025-03-21
Estimated Expiration
2041-12-22

AI Technical Summary

Technical Problem

The simulation effect of the clothes worn by characters in skeletal animation in MMORPG is not ideal, and fabric distortion often occurs.

Method used

By creating bones in the target model and skinning, a grid model is formed based on the representative points of each bone, and attaching the bones to the patch of the grid model, re-topology of the parts that need to be dynamically solved, and dynamic simulation is performed. The model after the solution is used to drive the grid model to transmit the dynamic simulation effect, and bake the target model through the bone-driven target model to generate skeleton animation.

Benefits of technology

It improves the authenticity of dynamic simulation in skeletal animation and realizes the real fabric simulation effect in the game.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114255309B_ABST
    Figure CN114255309B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a method, device and storage medium for making skeletal animation. A mesh model can be formed based on representative points on each bone contained in a target model, and each bone contained in the target model can be attached to the nearest patch in the mesh model; the part of the target model that needs to be dynamically solved is retopologically to obtain a model to be solved; on this basis, a dynamic simulation solution can be performed based on the model to be solved to obtain a solved model, and the solved model is used to drive the mesh model. In this way, a linkage relationship between the solved model-mesh model (patch)-bone-target model can be constructed, so that the real dynamics of the skeleton simulation can be controlled by the patch in the mesh model, and the target model can be driven by the skeleton. This can effectively improve the authenticity of the dynamic simulation in skeletal animation, and reflect the real cloth simulation effect on the character cloth in the game.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of game development technology, and in particular to a method, device and storage medium for producing skeletal animation. Background Art

[0002] Skeletal animation is a type of model animation. In skeletal animation, the model has a skeletal structure composed of interconnected bones, and animation can be generated for the model by changing the direction and position of the bones.

[0003] In MMORPG (Multiplayer Online Role-Playing Game), higher requirements are placed on the simulation effect of the clothes worn by the characters in skeletal animation. At present, the collision effect can usually be simulated by using Spromg-MAX skeletal chain solver plug-in, ezcloth and other skeletal-based cloth solver plug-ins, but the simulation effect of these methods is not ideal, and the problem of cloth distortion often occurs. Summary of the invention

[0004] Multiple aspects of the present application provide a method, device and storage medium for producing skeletal animation, so as to improve the authenticity of dynamic simulation in skeletal animation.

[0005] The present application provides a method for producing skeletal animation, including:

[0006] Create bones and skin the target model;

[0007] Building a mesh model based on representative points on each bone included in the target model;

[0008] Attach each bone included in the target model to the nearest face in the mesh model;

[0009] Retopologically resolving the part of the target model that needs to be dynamically solved to obtain a model to be solved;

[0010] Performing dynamic simulation and solving based on the model to be solved to obtain a solved model;

[0011] Using the solved model to drive the mesh model, so as to transfer the dynamic simulation effect to the bones in the target model through the solved model and the mesh model and drive the target model through the bones;

[0012] The driven target model is baked to generate a skeletal animation corresponding to the target model.

[0013] The embodiment of the present application also provides a computing device, including a memory and a processor;

[0014] The memory is used to store one or more computer instructions;

[0015] The processor is coupled to the memory and configured to execute the one or more computer instructions for:

[0016] Create bones and skin the target model;

[0017] Building a mesh model based on representative points on each bone included in the target model;

[0018] Attach each bone included in the target model to the nearest face in the mesh model;

[0019] Retopologically resolving the part of the target model that needs to be dynamically solved to obtain a model to be solved;

[0020] Performing dynamic simulation and solving based on the model to be solved to obtain a solved model;

[0021] Using the solved model to drive the mesh model, so as to transfer the dynamic simulation effect to the bones in the target model through the solved model and the mesh model and drive the target model through the bones;

[0022] The driven target model is baked to generate a skeletal animation corresponding to the target model.

[0023] An embodiment of the present application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the aforementioned skeletal animation production method.

[0024] In an embodiment of the present application, a mesh model can be constructed based on the representative points on each skeleton included in the target model, and each skeleton included in the target model is attached to the nearest patch in the mesh model; the part of the target model that needs to be dynamically solved is retopologically to obtain a model to be solved; on this basis, a dynamic simulation solution can be performed based on the model to be solved to obtain a solved model, and the solved model is used to drive the mesh model. In this way, a linkage relationship between the solved model-mesh model (patch)-bone-target model can be constructed, so that only the model to be solved needs to be dynamically simulated and solved, and the real dynamics of the skeleton can be controlled by the patch in the mesh model to simulate the real dynamics, and the target model can be driven by the skeleton. This can effectively improve the authenticity of the dynamic simulation in the skeletal animation, and the real cloth simulation effect is reflected on the character cloth in the game. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0026] Figure 1 A schematic flow chart of a method for producing skeletal animation provided by an exemplary embodiment of the present application;

[0027] Figure 2 A schematic diagram of a grid model constructed for a target model in an exemplary embodiment of the present application;

[0028] Figure 3 A schematic diagram of the effect of optimizing a network model provided by an exemplary embodiment of the present application;

[0029] Figure 4 A schematic diagram of an attachment point model provided by an exemplary embodiment of the present application;

[0030] Figure 5 A schematic diagram of a smoothing effect provided by an exemplary embodiment of the present application;

[0031] Figure 6 A schematic diagram of the structure of a computing device is provided for yet another exemplary embodiment of the present application. DETAILED DESCRIPTION

[0032] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0033] At present, the simulation effect of cloth in skeletal animation is not ideal enough, and the problem of cloth distortion often occurs. For this reason, in some embodiments of the present application: a mesh model can be formed based on the representative points on each skeleton included in the target model, and each skeleton included in the target model is attached to the nearest patch in the mesh model respectively; the part that needs to be dynamically solved in the target model is retopologically to obtain the model to be solved; on this basis, dynamic simulation can be solved based on the model to be solved to obtain the solved model, and the solved model is used to drive the mesh model. In this way, the linkage relationship between the solved model-mesh model (patch)-skeleton-target model can be constructed, so that only the model to be solved needs to be dynamically simulated and solved, and the real dynamics of the skeleton can be controlled by the patch in the mesh model to simulate the real dynamics, and the target model is driven by the skeleton. This can effectively improve the authenticity of the dynamic simulation in skeletal animation, and the real cloth simulation effect is reflected on the character cloth in the game.

[0034] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0035] Figure 1 A flowchart of a method for producing skeletal animation provided by an exemplary embodiment of the present application is provided. The method can be executed by a data processing device. The data processing device can be implemented as a combination of software and / or hardware. The data processing device can be integrated in a computing device. Figure 1 , the method may include:

[0036] Step 100, create bones in the target model and perform skinning;

[0037] Step 101, constructing a mesh model based on representative points on each skeleton included in the target model;

[0038] Step 102, attaching each bone included in the target model to the nearest face in the mesh model;

[0039] Step 103, retopologically reconstructing the part of the target model that needs to be dynamically solved to obtain a model to be solved;

[0040] Step 104: Perform dynamic simulation based on the model to be solved to obtain a solved model;

[0041] Step 105: Use the solved model to drive the mesh model, so as to transfer the dynamic simulation effect to the bones in the target model through the solved model and the mesh model, and drive the target model through the bones;

[0042] Step 106: Bake the driven target model to generate a skeletal animation corresponding to the target model.

[0043] The skeletal animation production solution provided in this embodiment can be applied to various game development scenarios with dynamic simulation requirements, such as MMORPG (Multiplayer Online Role-Playing Game, generally refers to massively multiplayer online role-playing games) development scenarios, etc. This embodiment does not limit the application scenarios.

[0044] refer to Figure 1 In step 100, a skeleton can be created in the target model and skinned. Here, a model with dynamic simulation requirements can be defined as a target model. For example, the target model can be a character, NPC, etc. in a game. The type, attributes, etc. of the target model are not limited in this embodiment. In this embodiment, the number of bones required by the target model can be determined according to the dynamic simulation accuracy and / or wiring density required by the target model. For example, if the target model has high requirements for dynamic simulation accuracy, we can create more bones for it; if the target model has high requirements for wiring density, we can create more bones for it. By creating skeletons, the target model will contain multiple skeleton chains, each of which can correspond to a root skeleton. These are all basic concepts in skeletal animation and will not be described in detail here. On the basis of creating the skeleton, the skeleton can also be skinned. For different application scenarios, the skin can contain clothing, accessories, etc. that may collide with the collision body dynamically and produce deformation. The skeletal animation production solution provided in this embodiment can truly simulate the dynamic deformation in the skin.

[0045] Figure 2 This is a schematic diagram of a grid model constructed for a target model in an exemplary embodiment of the present application, with reference to Figure 2 , where the white cube represents a skeleton chain, and there is a parent-child relationship between the bones contained in a skeleton chain. On this basis, in step 101, a mesh model can be constructed based on the representative points on each bone contained in the target model. In this way, the mesh model can be used to carry the positional relationship between the bones. Figure 2 , where the black polygons are the mesh model corresponding to the target model. In an optional implementation, the axis of each bone contained in the target model can be used as a polygon vertex, and the lines between the vertices can be used as the edges of the polygon to build a mesh model. In this implementation, the axis of the bone is used as a representative point, and the connection between the axis is used as the edge of the polygon to build a mesh model. Figure 2 As shown in , adjacent axis centers are connected to generate polygonal edges. Of course, other implementations can also be used to assemble the grid model, for example, the geometric center of the skeleton can be used as a representative point, etc., and the present embodiment is not limited to this. In this way, in step 101, a grid model defined by the coordinates of the skeleton in the target model can be generated.

[0046] refer to Figure 1 In step 102, each bone included in the target model can be attached to the closest patch in the mesh model. The mesh model contains a number of patches. In this embodiment, the bones in the target model can be attached to the corresponding patches in the mesh model to establish a linkage relationship between the mesh model and the bones in the target model.

[0047] refer to Figure 1 In step 103, the part of the target model that needs to be dynamically solved can be retopologized to obtain the model to be solved. In step 103, a copy of the target template can be made, which can be described as a copy of the target template; if there is a part in the copy of the target template that does not need to be dynamically solved, the part that does not need to be dynamically solved can be deleted, and the part that needs to be dynamically solved can be retopologized to generate the model to be solved. Among them, the part that does not need to be dynamically solved can be understood as the part that the skin will not be affected by dynamics, such as the close-fitting part-the upper back of the top. The skeletal animation of the part that does not need to be dynamically solved can be baked following the body, without the need for dynamic solution, so as to save processing resources. The retopologization operation here can be based on the dynamic accuracy requirements of the target template, and the target model after the above deletion process can be topologically modified to a topological structure that matches the material of the target model to generate the model to be solved. For example, the density of the face patch of the wrinkled and light part in the copy of the target template can be increased, and the density of the face patch of the part that needs to be kept rigid (such as the part with large mass that needs to maintain the structure) can also be reduced. The high-resolution target model can be converted into a smaller model that can be used for animation by retopology. That is, the model to be solved in this embodiment is a model that can be used for animation.

[0048] On this basis, in step 104, dynamic simulation can be performed based on the model to be solved to obtain a solved model. Optionally, the topological model to be solved can be exported in OBJ format to any Digital Content Creating data content creation software or professional dynamic simulation software (such as Marvelous Designer) and solved using any dynamic simulation system. It can also be solved and produced directly in the current linked 3dsMAX software using the dynamic simulation system of the current software and the cloth simulation solving plug-in (Dynamo, Cloth stacker), thereby generating a solved model. The solved model carries a dynamic simulation effect. In addition, in this step, the solved model can be visualized, and manual review logic can be added. If the manual review is passed, the solved model is output.

[0049] Afterwards, in step 105, the solved model can be used to drive the mesh model, so that the dynamic simulation effect is transmitted to the bones in the target model through the solved model and the mesh model, and the target model is driven by the bones. Here, a linkage relationship of solved model-network model-bone-target model can be established, so that the dynamic simulation effect carried in the solved model can be transmitted to the target model according to the linkage link. In this embodiment, a skin wrap modifier can be added to the mesh model, and the solved model can be picked up as the wrapping target, so that the solved model can drive the mesh model through the wrapping command.

[0050] It is worth noting that, in the present embodiment, what is finally constructed is the linkage relationship of the model after solving-network model-skeleton-target model, but in this linkage relationship, more intermediate links can also be added to more accurately transmit the dynamics simulation effect, and this part of the content will be described in detail later. In addition, in the present embodiment, before step 104, the linkage relationship between the model to be settled-grid model-skeleton-target model can be set up, and on the basis of this linkage relationship, step 104 can be executed, and the model to be settled in the linkage relationship can be replaced with the model after solving produced in step 104. Of course, after executing step 104, the linkage relationship can be constructed again, and finally the target of the model after solving driving the grid model and being linked to the target model can be reached, and the present embodiment does not limit this.

[0051] refer to Figure 1 In step 106, the driven target model can be baked to generate the skeletal animation corresponding to the target model. That is, the dynamic solution effect is baked into the skeletal animation on the target model. Among them, the baking operation can be: collapse the animation of the driven target model skin skeleton to the target model skin skeleton itself. In this step, the skeletal animation can be visualized, and manual correction logic can be added. After the manual correction is completed, the skeletal animation is output.

[0052] Accordingly, in the present embodiment, a mesh model can be constructed based on the representative points on each skeleton included in the target model, and each skeleton included in the target model is attached to the nearest patch in the mesh model; the part in the target model that needs to be dynamically solved is retopologically to obtain a model to be solved; on this basis, dynamic simulation can be performed based on the model to be solved to obtain a solved model, and the solved model is used to drive the mesh model. In this way, the linkage relationship between the solved model-mesh model (patch)-skeleton-target model can be constructed, so that only the model to be solved needs to be dynamically simulated and solved, and the real dynamics of the skeleton can be controlled by the patch in the mesh model to simulate the real dynamics, and the target model can be driven by the skeleton. This can effectively improve the authenticity of the dynamic simulation in the skeletal animation, and the real cloth simulation effect is reflected on the character cloth in the game.

[0053] In the above or below embodiments, in the process of constructing the aforementioned linkage relationship, more intermediate links may be added to more accurately deliver the dynamic simulation effect. In this embodiment, the process of constructing the linkage relationship will be described in detail as an example.

[0054] In one optimization aspect, in this embodiment, it can be determined whether the style of the target model is a closed style or a non-closed style, wherein the non-closed style may refer to the presence of an expandable part in the skin of the target model, and the non-closed style may include but is not limited to an open-fronted top, a windbreaker, etc. The closed style may refer to the absence of an expandable part in the skin of the target model, and the closed style may include but is not limited to a skirt, a fluffy top that is not open, etc. Of course, these are only exemplary, and this embodiment is not limited thereto.

[0055] If the target model is determined to be a closed style, the adjacent edges in the mesh model are stitched so that the sides of the mesh model are fully closed polygons; if the target model is determined to be a non-closed style, stitching is not required. On this basis, the outer edges in the mesh model (or the stitched mesh model) can be extruded outward along the normal direction to convert the outer edges in the mesh model into inner edges. Figure 3 A schematic diagram of the effect of optimizing a network model provided by an exemplary embodiment of the present application. Figure 3 , where the dark part is the extruded part after extruding the outer edge of the mesh model. After basic operations, the outer edges of the mesh model can be converted to inner edges to make it easier for the bones in the target model to attach. For example, in other subsequent optimization aspects, it is convenient to extrude patches for the outer edges of the mesh model to carry attachment points.

[0056] In another optimization aspect, in this embodiment, the mesh model in the linkage relationship can be optimized: the extrusion operation is performed on each inner edge in the mesh model respectively to convert each vertex in the mesh model into a facet and define the mesh model after the inner edge extrusion as an attachment point model. Following the previous optimization aspect, after the extrusion operation is performed on the outer edge of the mesh model, under the current optimization aspect, the outer edge of the mesh model will also be extruded as the inner edge and obtain the facet normally to support the attachment matching of the relevant bones. Among them, the extrusion direction can be the normal direction of the inner edge, and the extrusion amplitude can be 10% of the current inner edge length, etc. Of course, this is only an example and the present embodiment is not limited to this. The goal of performing the extrusion operation on the inner edge here is to convert each vertex in the network model into a facet, so that the bones in the target model can be attached to a more accurate position in the mesh model. In this way, the mesh model can be optimized to an attachment point model. It should be understood that the optimized attachment point model here can directly replace the mesh model in the above or following embodiments to optimize the linkage relationship in this case, and the replaced scheme will not be described in detail.

[0057] On this basis, in the process of attaching the bones in the target model: you can create and associate attachment points on the patches in the attachment point model that are closest to each bone in the target model; constrain each bone in the target model to its closest attachment point. In this way, it is guaranteed that each bone in the target model is attached to a patch in the attachment point model, and not to a vertex, so as to avoid the situation where the bone can only move by attaching to one of the faces, while the other face will not affect it, and avoid the situation where the rotation of the attachment point can only be affected by one of the faces, so as to better match the attachment.

[0058] Figure 4 An exemplary embodiment of the present application provides a schematic diagram of an attachment point model, wherein: Figure 4 The left image shows the original mesh model, and the right image shows the attachment point model obtained by extruding the inner edges of the mesh model. It can be clearly seen that the vertices in the original mesh model are converted into patches.

[0059] Among them, in the process of constraining each bone in the target model to its nearest attachment point, it may include but is not limited to constraining the displacement, rotation, etc. of the bone to the nearest attachment point. In this way, through the constraint operation, the displacement and rotation of the bone can be driven by the face patch where the attachment point is located.

[0060] In another optimization aspect, in this embodiment, a subdivision model can also be added between the solved model and the mesh model (or the attachment point model generated in the previous optimization aspect) in the linkage relationship: a subdivision operation is performed on a copy of the mesh model to adjust the wiring density in the mesh model to match the wiring density in the target model; the copy of the mesh model after the subdivision operation is output as a subdivision model; the subdivision model is wrapped with the solved model; the attachment point model is wrapped with the subdivision model so that the solved model drives the mesh model.

[0061] In this optimization, multiple subdivisions can be performed on the copies of the mesh model until the wiring density in the mesh model is similar to that in the target model, where the higher the subdivision, the smoother the surface of the subdivided model. Here, adding a subdivision model between the solved model and the mesh model in the linkage relationship can support smoothing the skeletal animation of the target model based on the linkage relationship, repairing the cloth curve, and gradually transitioning the junction between the solved part and the unsolved part, making the skeletal animation more realistic.

[0062] On this basis, in this embodiment, a skinning modifier can be added to the subdivision model, and the solved model can be picked up as the wrapping target; a skinning wrapping modifier can be added to the mesh model (which can also be the attachment point model generated in the previous optimization aspect), and the subdivision model can be picked up as the wrapping target. Thus, a linkage relationship of solved model-subdivision model-mesh model-skeleton-target model can be established.

[0063] Based on this, in this embodiment, the linkage relationship can be optimized at least from the above optimization aspects, so as to better support bone attachment, facilitate bone animation repair, etc., thereby improving the authenticity of dynamic simulation in bone animation.

[0064] In the above or below embodiments, part of the transmission link may also be optimized during the transmission process of the dynamic simulation effect.

[0065] In one optimization aspect, in this embodiment, based on the subdivision model mentioned in the above embodiment, the connection area between the solved part and the non-solved part in the target model can be smoothed. In this optimization aspect: when there is a part in the target model that does not need to be dynamically solved, a copy of the target model can be created; the solved bones that need to participate in the dynamic solution in the copy of the target model are deleted to generate a repair model; the connection area between the solved part and the unsolved part is selected in the subdivision model, and the connection area includes the patches near the root bones in the subdivision model and the points near the patches that do not need to be dynamically solved; the subdivision model is wrapped with the repair model in a face wrapping manner to smooth the connection area in the subdivision model.

[0066] In this optimization aspect, you can set the skin wrap modifier of the subdivision model, set the wrapping mode between it and the solved model to the wrapping mode of the vertex corresponding to the target vertex, and appropriately increase the number of point influences and the radius of the wrapping ball to make the wrapping effect smoother. In the process of building the repair model, all the solved bones participating in the dynamic solution in the skin list of the target model copy can be deleted, and the weights can be given to the parent bones of the solved root bones. For example, the parent bone of the solved root bone of the skirt is generally the waist bone, and the parent bone of the windbreaker is the chest bone; delete the redundant parts such as the arms in the target model copy to generate the repair model. You can also create an edit point controller on the subdivision model, turn on soft selection, select the points near the root bone and the points near the patches that are not involved in the solution, and then create a skin wrap, with the wrapping mode as surface wrapping, and pick the repair model as the wrapping target. On this basis, the repair model can be processed with a gradient mask in the soft selection range (for example, the repair model can use a mask to cover the connection area and reduce the weight ratio of the edge selection to feather its edge), so as to smoothly transition the connection area between the solved part and the unsolved part of the subdivision model corresponding to the target model. In addition, in this stage, the subdivision model can be visualized, and you can manually check whether the connection area between the solved part and the unsolved part is currently smooth, and you can continue to adjust the soft selection range to make it transition naturally.

[0067] Figure 5 A schematic diagram of a smoothing effect provided by an exemplary embodiment of the present application. Figure 5 The left figure shows that the junction area between the solved part and the unsolved part is clearly demarcated, while the right figure shows that after the optimization processing in the current optimization aspect, the junction area between the solved part and the unsolved part corresponding to the target model in the subdivision model has a smooth transition and the junction is not abrupt.

[0068] It is worth mentioning that in this optimization aspect, the above-mentioned smoothing solution can be executed only when the target model contains parts that do not require dynamic solution; and when the target model is a skirt, a jacket, etc., which require dynamic solution processing as a whole, this optimization step is not required.

[0069] In another optimization aspect, in this embodiment, when there is a problem of interlaced frame jamming in the dynamic simulation effect transmitted by the solved model, the animation of the patch in the mesh model can be adjusted to fix the interlaced frame skipping problem. In practical applications, an edit polygon modifier can be created on the mesh model (or the attachment point model mentioned above), and the edit polygon modifier can be used to adjust the animation of the patch to avoid problems such as interlaced frame skipping in the skeletal animation.

[0070] In another optimization aspect, in this embodiment, if there is a stiff problem in the dynamic effect transmitted by the solved model, the mesh density of the relevant part in the mesh model can be adjusted to fix the stiff problem. In practical applications, a relaxation modifier can be created on the mesh model (or the attachment point model mentioned above), and the relaxation modifier can be used to fix the excessive stiffness caused by uneven mesh density of the patch to avoid stiffness in skeletal animation.

[0071] In another optimization aspect, in this embodiment, during the baking process of the driven target model, the following can be done: obtain the scaling coefficients resulting from the distance changes between the bones of the solved target model; break the parent-child relationship between the bones contained in the target model; create new bones at the root bone positions contained in the target model; use the bones under the bone chain corresponding to the new bones as child bones of the new bones; and bake the scaling coefficients back to the corresponding child bones in the target model.

[0072] Under this optimization aspect, the distance offset between the bones of the skeletal chain in data content production software such as 3dsMAX will be calculated in the form of bone X-axis scaling (the stacking of cloth due to wrinkles or extrusion during dynamic solution will be mapped to the offset between the bones, and will be calculated in the form of scaling by data content production software such as 3dsMAX), but in the FBX format file output by the solved model, this part of the X-axis bone scaling will be converted into X-axis displacement, and the scaling itself will be lost. Therefore, when the scaling factor is too large, after baking to the target model, the problem of distortion will occur. For this reason, in this embodiment, under the current optimization aspect, the X-axis scaling factor can be saved, a new bone bone is created at the root bone position in each skeletal chain contained in the target model, and the parent-child relationship between each bone is interrupted, all bones in the entire skeletal chain are used as children of the newly created bone bone, and the previous X-axis scaling factor is baked back to each bone. By breaking the parent-child relationship between each bone, we can avoid the scaling factor baking error caused by the scaling of the parent in FBX affecting all children, so that we can regain the effect when previewing in data content production software such as 3dsMAX, and no more distortion will occur.

[0073] Based on this, in this embodiment, during the transmission process of the dynamics simulation effect, the above transmission links can be optimized to improve the authenticity of the dynamics simulation in the skeletal animation.

[0074] In the above or below embodiments, the aforementioned linkage relationship construction scheme may be plug-in-based, that is, the aforementioned steps of constructing the linkage relationship may be integrated into a plug-in, and the linkage relationship construction service may be provided externally through the plug-in, which may streamline and automate the process of constructing the linkage relationship.

[0075] On this basis, in this embodiment, a skeleton animation production request for a target model can be received, in which the skeleton animation production request specifies the skeleton in the target model; a linkage plug-in is called, and the linkage plug-in is used to automatically perform the following operations: a mesh model is constructed based on representative points on each skeleton contained in the target model; each skeleton contained in the target model is attached to the nearest patch in the mesh model; the part of the target model that needs to be dynamically solved is retopologically to obtain a model to be solved; the mesh model is driven by the model to be solved, so that the skeletons in the model to be solved, the mesh model, the target model and the target model are linked. That is, the linkage plug-in is used to automatically construct the linkage relationship between the model to be solved, the mesh model, the skeletons in the target model and the target model.

[0076] On this basis, subsequent processing steps can be executed: solve the dynamic model of the model to be solved to obtain the solved model; use the solved model to replace the model to be solved in the linkage relationship; generate the skeletal animation corresponding to the target model by baking the driven target model to respond to the skeletal animation production request.

[0077] Based on this, in this embodiment, the process of building the linkage relationship can be made into a plug-in. On this basis, it is only necessary to create bones for the target model in advance and perform skinning, specify the root bones in the bone chain that need to be dynamically solved, and then run the linkage plug-in by clicking the "execute button" and other methods. The linkage plug-in can automatically build the aforementioned linkage relationship, which is convenient and quick.

[0078] It should be noted that in some of the processes described in the above embodiments and the accompanying drawings, multiple operations appearing in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel, and the serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel.

[0079] Figure 6 A schematic diagram of a computing device provided as another exemplary embodiment of the present application is shown in FIG. Figure 6 As shown, the computing device includes: a memory 60 , a processor 61 and a communication component 62 .

[0080] The processor 61 is coupled to the memory 60 and is used to execute the computer program in the memory 60 to:

[0081] Create bones and skin the target model;

[0082] Based on the representative points on each bone contained in the target model, a mesh model is constructed;

[0083] Attach each bone contained in the target model to the nearest patch in the mesh model;

[0084] Retopologize the part of the target model that needs to be dynamically solved to obtain the model to be solved;

[0085] Perform dynamic simulation based on the model to be solved to obtain a solved model;

[0086] The solved model is used to drive the mesh model, so as to transfer the dynamic simulation effect to the bones in the target model through the solved model and the mesh model and drive the target model through the bones;

[0087] The driven target model is baked to generate the skeletal animation corresponding to the target model.

[0088] In an optional embodiment, when the processor 61 assembles the mesh model based on the representative points on each bone included in the target model, it is configured to:

[0089] The axis of each bone contained in the target model is used as the polygon vertex, and the lines between the vertices are used as the edges of the polygon to form a mesh model.

[0090] In an optional embodiment, when attaching each bone included in the target model to the nearest patch in the mesh model, the processor 61 is used to:

[0091] Performing an extrusion operation on each inner edge in the mesh model respectively, so as to convert each vertex in the mesh model into a face patch and defining the mesh model after the inner edge extrusion as an attachment point model;

[0092] Create and associate attachment points on the patches in the attachment point model that are closest to each bone in the target model;

[0093] Constrain each bone in the target model to its nearest attachment point.

[0094] In an optional embodiment, when the processor 61 drives the mesh model using the solved model, it is configured to:

[0095] Performing a subdivision operation on the copy of the mesh model to adjust the routing density in the mesh model to match the routing density in the target model;

[0096] Output the copy of the mesh model after the subdivision operation as a subdivision model;

[0097] Use the solved model to wrap the subdivision model;

[0098] Wrap the attachment point model with a subdivision model so that the solved model drives the mesh model.

[0099] In an optional embodiment, after wrapping the subdivision model with the solved model, the processor 61 is further configured to:

[0100] If there are parts in the target model that do not need to be dynamically solved, create a copy of the target model;

[0101] Delete the solving bones that need to participate in dynamic solving in the copy of the target model to generate a repaired model;

[0102] Select the connecting area between the solved part and the unsolved part in the subdivision model. The connecting area includes the patches near the root bone in the subdivision model and the points near the patches that do not need dynamic solving.

[0103] The repair model is used to wrap the subdivision model in a surface wrapping manner to smooth the connection area in the subdivision model.

[0104] In an optional embodiment, the processor 61 is further configured to:

[0105] If it is determined that the style of the target model is a non-closed style, an extrusion operation is performed outwardly along the normal direction on the outer edge of the mesh model so that the outer edge of the mesh model is converted into an inner edge;

[0106] If it is determined that the style of the target model is a closed style, the adjacent edges in the mesh model are stitched so that the side of the original mesh model is a fully closed polygon; the outer edges in the stitched mesh model are extruded outward along the normal direction so that the outer edges in the stitched mesh model are converted into inner edges.

[0107] In an optional embodiment, when the processor 61 retopologizes the part of the target model that needs to be dynamically solved to obtain the model to be solved, it is used to:

[0108] If there are parts in the target model that do not require dynamic solution, after deleting the parts in the target model that do not require dynamic solution, the topology of the deleted target model is changed to a topological structure that matches the material of the target model according to the dynamic accuracy requirements to generate a model to be solved.

[0109] In an optional embodiment, when the topology of the target model after the deletion process is a topology structure that matches the material of the target model, the processor 61 is configured to:

[0110] Increase the density of the fabric in the light part of the pleats; and / or

[0111] The density of the face sheet that needs to remain rigid is reduced.

[0112] In an optional embodiment, the processor 61 is further configured to:

[0113] Receiving a skeletal animation production request for a target model, wherein the skeletal animation production request specifies a bone in the target model;

[0114] Call the linkage plug-in and use it to automatically perform the following operations: assemble a mesh model based on the representative points on each bone contained in the target model; attach each bone contained in the target model to the nearest patch in the mesh model; retopologize the part of the target model that needs to be dynamically solved to obtain the model to be solved; use the model to be solved to drive the mesh model so that the bones in the target model of the mesh model to be solved are linked with the target model.

[0115] In an optional embodiment, the processor 61 is further configured to:

[0116] If there are interlaced frame problems in the dynamic simulation effect transmitted by the solved model, adjust the animation of the patches in the mesh model to fix the interlaced frame problems.

[0117] In an optional embodiment, the processor 61 is further configured to:

[0118] If there are stiffness issues in the dynamic effects transmitted by the solved model, adjust the mesh density of the relevant parts in the mesh model to fix the stiffness issues.

[0119] In an optional embodiment, when baking the driven target model, the processor 61 is used to:

[0120] Get the scaling factor caused by the distance change between the bones of the solved target model;

[0121] Break the parent-child relationship between bones contained in the target model;

[0122] Create a new bone at the location of the root bone contained in the target model;

[0123] Use the bones under the bone chain corresponding to the new bone as the child bones of the new bone;

[0124] Bake the scale factors back to the corresponding child bones in the target model.

[0125] Further, if Figure 6 As shown, the computing device also includes: a communication component 62, a power supply component 63 and other components. Figure 6 Only some components are shown schematically, and it does not mean that the computing device only includes Figure 6 Components shown.

[0126] It is worth noting that the technical details in the above-mentioned embodiments of the computing device can refer to the relevant description in the aforementioned method embodiment. In order to save space, they will not be repeated here, but this should not cause a loss in the scope of protection of this application.

[0127] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed, can implement the steps that can be executed by a computing device in the above method embodiment.

[0128] Above Figure 6 The memory in the computer is used to store computer programs and can be configured to store various other data to support operations on the computing platform. Examples of such data include instructions for any application or method operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0129] Above Figure 6 The communication component in is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0130] Above Figure 6 The power supply component in the device provides power to various components of the device where the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device where the power supply component is located.

[0131] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0132] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0133] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0134] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0135] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0136] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0137] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0138] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0139] The above is only the embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the protection scope of the present application.

Claims

1. A method for producing skeletal animation, characterized in that: include: Create bones and skin the target model; Building a mesh model based on representative points on each bone included in the target model; Attach each bone included in the target model to the nearest face in the mesh model; Retopologically resolving the part of the target model that needs to be dynamically solved to obtain a model to be solved; Performing dynamic simulation and solving based on the model to be solved to obtain a solved model; Establishing a linkage relationship among the solved model, the mesh model, the skeleton, and the target model; The dynamic simulation effect carried in the solved model is transmitted to the target model according to the linkage link; The target model is baked to generate a skeletal animation corresponding to the target model.

2. The method according to claim 1, characterized in that The step of constructing a mesh model based on representative points on each bone included in the target model includes: The mesh model is constructed by taking the axis of each bone included in the target model as a polygon vertex and the lines between the vertices as the edges of the polygon.

3. The method according to claim 2, characterized in that The step of attaching each bone included in the target model to the nearest face in the mesh model comprises: Performing an extrusion operation on each inner edge in the mesh model respectively, so as to convert each vertex in the mesh model into a face patch and defining the mesh model after the inner edge extrusion as an attachment point model; Creating and associating attachment points on the patches in the attachment point model that are closest to each bone in the target model respectively; Each bone in the target model is constrained to its nearest attachment point.

4. The method according to claim 3, characterized in that Establishing a linkage relationship between the solved model and the grid model includes: Performing a subdivision operation on the copy of the mesh model to adjust the routing density in the mesh model to match the routing density in the target model; Output the copy of the mesh model after the subdivision operation as a subdivision model; Wrapping the subdivision model with the solved model; The attachment point model is wrapped with the subdivision model to establish a linkage relationship between the solved model and the mesh model.

5. The method according to claim 4, characterized in that After wrapping the subdivision model with the solved model, the method further includes: If there is a part in the target model that does not need to be dynamically solved, creating a copy of the target model; Deleting the solving bones that need to participate in the dynamic solving in the copy of the target model to generate a repair model; Selecting a connecting area between a solved part and an unsolved part in the subdivision model, wherein the connecting area includes a patch near a root bone in the subdivision model and points near a patch that does not require dynamics solving; The repair model is used to drive the subdivision model, so as to perform smoothing on the connection area in the subdivision model.

6. The method according to claim 2, characterized in that Also includes: If it is determined that the style of the target model is a non-closed style, an extrusion operation is performed outwardly along the normal direction on the outer edge of the mesh model so that the outer edge of the mesh model is converted into an inner edge; If it is determined that the style of the target model is a closed style, adjacent edges in the mesh model are stitched so that the side of the mesh model is a fully closed polygon; an extrusion operation is performed outward along the normal direction on the outer edges of the stitched mesh model so that the outer edges of the stitched mesh model are converted into inner edges.

7. The method according to claim 1, characterized in that The retopology of the part of the target model that needs to be dynamically solved to obtain the model to be solved includes: If there are parts in the target model that do not require dynamic solution, after deleting the parts in the target model that do not require dynamic solution, the topology of the deleted target model is changed to a topological structure that matches the material of the target model according to the dynamic accuracy requirements to generate the model to be solved.

8. The method according to claim 7, characterized in that The target model topology after the deletion process is a topological structure adapted to the material of the target model, including: Increase the density of the fabric in the light part of the pleats; and / or The density of the face sheet that needs to remain rigid is reduced.

9. The method according to claim 1, characterized in that: Also includes: Receiving a skeleton animation production request for the target model, wherein the skeleton animation production request specifies a skeleton in the target model; Calling a linkage plug-in, and using the linkage plug-in to automatically perform the following operations: constructing a mesh model based on representative points on each bone contained in the target model; attaching each bone contained in the target model to the nearest patch in the mesh model; retopologizing the part of the target model that needs to be dynamically solved to obtain a model to be solved; using the model to be solved to drive the mesh model, so that the bones in the model to be solved, the mesh model, and the target model are linked with the target model.

10. The method according to claim 1, characterized in that Also includes: If there is an interlaced frame problem in the dynamic simulation effect transmitted by the solved model, the animation of the facets in the mesh model is adjusted to fix the interlaced frame problem.

11. The method according to claim 1, characterized in that: Also includes: If there is a stiffness problem in the dynamic effect transmitted by the solved model, the mesh density of the relevant part in the mesh model is adjusted to fix the stiffness problem.

12. The method according to claim 1, characterized in that The step of baking the driven target model comprises: Obtaining a scaling factor resulting from a distance change between bones of the target model after solving; Breaking the parent-child relationship between bones contained in the target model; Creating a new bone at the location of the root bone contained in the target model; Use the bones under the bone chain corresponding to the new bone as the child bones of the new bone; The scaling factors are baked back to the corresponding child bones in the target model.

13. A computing device, characterized in that: including memory and processor; The memory is used to store one or more computer instructions; The processor is coupled to the memory and configured to execute the one or more computer instructions for: Create bones and skin the target model; Building a mesh model based on representative points on each bone included in the target model; Attach each bone included in the target model to the nearest face in the mesh model; Retopologically resolving the part of the target model that needs to be dynamically solved to obtain a model to be solved; Performing dynamic simulation and solving based on the model to be solved to obtain a solved model; Establishing a linkage relationship among the solved model, the mesh model, the skeleton, and the target model; The dynamic simulation effect carried in the solved model is transmitted to the target model according to the linkage link; The target model is baked to generate a skeletal animation corresponding to the target model.

14. A computer-readable storage medium storing computer instructions, characterized in that: When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the skeletal animation production method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Model animation generation method and device

    CN111009022A

  • Animation model zooming method and device, electronic equipment and storage medium

    CN111062864A