Model skin processing method and device, electronic equipment and storage medium

By identifying and adjusting vertex parameters within the fracture region of a hard surface model, determining the main control skeleton, and setting discrete weights, the adhesion problem that occurs in traditional skinning algorithms in hard surface models is solved, achieving more natural and efficient animation and physical simulation.

CN121883671APending Publication Date: 2026-04-17GUANGZHOU BOGUAN TELECOMM TECH LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGZHOU BOGUAN TELECOMM TECH LTD
Filing Date
2025-12-24
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

When processing hard surface models such as mechanical structures, armor, and building components, existing technologies often fail to meet the strict requirements of sharp skin weight boundaries, leading to frequent skin adhesion errors at model breakage or seam boundaries. Furthermore, manual repair methods are costly and inefficient.

Method used

By identifying fracture regions in the target network model, physically isolated vertex clustering units are constructed, and the main control skeleton is determined based on the vertex parameters within the fracture region. The vertex parameters are adjusted to achieve discrete weight settings, so that vertices within the fracture region are only driven by the main control skeleton, replacing the traditional weight diffusion mode based on geometric Euclidean distance.

Benefits of technology

It effectively eliminates the skin adhesion effect, achieves the sharp boundary effect required for hard surface skin, improves the naturalness and efficiency of animation and physical simulation, and reduces the cost and time of manual repair.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121883671A_ABST
    Figure CN121883671A_ABST
Patent Text Reader

Abstract

The invention provides a skin processing method and device of a model, electronic equipment and a storage medium, and relates to the technical field of three-dimensional virtual models. The method comprises the steps that at least one fracture area of a target network model is determined, the fracture area comprises a plurality of vertexes connected in sequence in the target network model, and the fracture areas are not communicated with one another; determining a master control skeleton corresponding to each fracture area; at least one vertex parameter of each vertex in the fracture area is adjusted according to the main control skeleton corresponding to each fracture area, so that each vertex in the fracture area is only driven by the main control skeleton to move, it is ensured that no transition area exists in the hard surface seam, the adhesion effect is effectively eliminated, the sharp boundary effect needed by the hard surface skin is achieved, and the service life of the hard surface skin is prolonged. Therefore, more natural and efficient animation and physical simulation are realized, and the problems of high cost and low efficiency of a manual restoration mode are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of three-dimensional virtual model technology, and more specifically, to a model skinning method, apparatus, electronic device, and storage medium. Background Technology

[0002] In the 3D animation production process, rigging and skinning are key steps in achieving the mobility of characters or objects. Skinning refers to associating the vertices of a 3D mesh model with a set of bone nodes and controlling the degree to which each vertex is affected by the bones by assigning weight values. When the bones move, the vertices deform according to their weight combinations, thus achieving a smooth and natural animation effect.

[0003] Currently, most animation production tools (such as Autodesk Maya, 3ds Max, etc.) use automatic skinning algorithms based on geometric distance (such as linear blending skinning), which initialize the weight distribution according to the spatial distance between vertices and bones. This type of method performs well when dealing with biological models (such as human bodies and animals) because their surfaces are continuous and topologically complete, making them suitable for progressive weight transitions.

[0004] However, when this method is applied to hard surface models such as mechanical structures, armor, and building components, it is difficult to meet the strict requirements for sharp boundaries of skin weights, resulting in frequent skin adhesion errors at model breakage or seam boundaries. Summary of the Invention

[0005] The purpose of this application is to provide a model skinning processing method, apparatus, electronic device, and storage medium to address the shortcomings of the prior art and solve the technical problems existing in the prior art.

[0006] To achieve the above objectives, the technical solutions adopted in the embodiments of this application are as follows: In a first aspect, embodiments of this application provide a method for skinning a model, the method comprising: Identify at least one fracture region in the target network model, wherein the fracture region includes a plurality of vertices in the target network model that are connected in sequence, and the fracture regions are not connected to each other. Determine the main control skeleton corresponding to each fracture region; Based on the master control skeleton corresponding to each fracture region, adjust at least one vertex parameter of each vertex in the fracture region so that each vertex in the fracture region moves only under the drive of the master control skeleton.

[0007] Secondly, embodiments of this application also provide a skinning apparatus for a model, the apparatus comprising: A determination module is used to determine at least one fracture region of a target network model, wherein the fracture region includes multiple vertices that are sequentially connected in the target network model, and the fracture regions are not interconnected; and to determine the main control skeleton corresponding to each fracture region. An adjustment module is used to adjust at least one vertex parameter of each vertex in the fracture region according to the main control skeleton corresponding to each fracture region, so that each vertex in the fracture region moves only under the drive of the main control skeleton.

[0008] Thirdly, embodiments of this application provide an electronic device, which includes a memory for storing one or more programs and a processor. When the one or more programs are executed by the processor, the skinning processing method of the model described above is implemented.

[0009] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the above-described model skinning method.

[0010] The beneficial effects of this application are: This application provides a model skinning method, apparatus, electronic device, and storage medium. Firstly, based on all vertices in the target network model, at least one fracture region in the target network model is identified. This involves extracting the topological features of the fracture region and constructing physically isolated vertex clustering units (i.e., fracture regions), replacing the traditional weight diffusion mode based on geometric Euclidean distance. Then, based on the vertex parameters of all vertices within the fracture region, the dominant bone corresponding to the fracture region is determined—that is, the bone that has a dominant influence on the fracture region. The skinning weights of all vertices within the fracture region relative to the dominant bone are redefined, achieving automatic correction of the skinning weights. This ensures that after a fracture occurs in the target network model, all vertices within the fracture region are precisely driven only by the dominant bone, ensuring no transition zone at hard surface seams, effectively eliminating adhesion effects, and achieving the sharp boundary effect required for hard surface skinning. This results in more natural and efficient animation and physical simulation, solving the problems of high cost and low efficiency associated with manual repair methods. Attached Figure Description

[0011] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0012] Figure 1 A schematic flowchart illustrating a model skinning method provided in an embodiment of this application; Figure 2 A schematic flowchart illustrating a model skinning method provided in an embodiment of this application; Figure 3 A schematic flowchart illustrating a model skinning method provided in an embodiment of this application; Figure 4 A schematic flowchart illustrating a model skinning method provided in an embodiment of this application; Figure 5 This is a schematic diagram of a skeletal animation of a wall breaking and falling off, created using a traditional skinning algorithm. Figure 6 This is a schematic diagram of a skeletal animation created using the skinning method for the model provided in the embodiments of this application; Figure 7 A schematic diagram of the structure of a model skinning device provided in an embodiment of this application; Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0013] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. The components of the embodiments of this application described and shown in the accompanying drawings can generally be arranged and designed in various different configurations.

[0014] Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.

[0015] First, the background technology involved in this application will be introduced.

[0016] Currently, traditional skin weighting algorithms, which calculate bone weights based on geometric distance, lack topology awareness when applied to hard surface models such as mechanical structures, armor, and building components. This causes skin weights to spread across model fracture boundaries, resulting in non-physical boundary blurring effects. Consequently, skin adhesion errors frequently occur at model fractures or seam boundaries. In other words, traditional skin weighting algorithms cannot meet the stringent requirements of hard surface models for sharp skin weight boundaries.

[0017] Furthermore, existing commercial skin repair tools (such as ngSkinTools and Maya native skin system) are mostly optimized for the smooth transition requirements of biological skin, which means they lack a topological boundary-driven weight constraint mechanism and are difficult to meet the strict requirements of hard surface models for sharp boundaries.

[0018] Therefore, correcting the sticky error mainly relies on manual methods, adjusting each affected vertex one by one, which is tedious and time-consuming. Especially for high-resolution, large-scale models (such as meshes containing hundreds of thousands of vertices), this repair process takes too long on average, severely restricting the production efficiency of animation production and iteration.

[0019] To address this technical bottleneck, this application proposes a model skinning method. This method first identifies at least one fracture region in the target network model, that is, extracts the topological features of the fracture region in the model, and constructs physically isolated vertex clustering units (i.e. fracture regions) to replace the traditional weight diffusion mode based on geometric Euclidean distance. Furthermore, it redefines the calculation range of skinning weights for all vertices within each fracture region, realizes discrete weight settings, ensures that there is no transition zone at the hard surface seam, effectively eliminates the adhesion effect, and achieves the sharp boundary effect required for hard surface skinning.

[0020] The following embodiments will specifically introduce the implementation process and technical effects of the skinning method for the model provided in this application.

[0021] Figure 1 This is a flowchart illustrating a model skinning method provided in an embodiment of this application; the execution subject of this method can be an electronic device with data processing capabilities, such as a computer or server. Figure 1 As shown, the method includes: S101. Determine at least one fracture region in the target network model.

[0022] The fractured regions include multiple vertices that are sequentially connected in the target network model, and the fractured regions are not interconnected.

[0023] The target network model refers to the three-dimensional geometric model to be processed, which is usually a mesh structure composed of vertices, edges and faces, used to represent the surface shape of virtual characters, objects or scenes; and the target network model supports deformation capability, that is, it can deform with the movement of the skeleton.

[0024] The target network model may experience topological breaks due to external forces, cutting operations, or programmed destruction. Therefore, connectivity analysis can be performed on all vertices of the target network model to identify at least one broken region after the target network model has experienced a "break" or "local separation". Vertices within each broken region are connected sequentially by edges (i.e., forming a connected subgraph), while there are no connecting paths between different broken regions (they are not interconnected).

[0025] S102. Determine the main control skeleton corresponding to each fracture region.

[0026] Among them, the master skeleton refers to the single skeleton that has the most important control over a specific area (especially the fracture area), that is, the movement of most vertices in the area is mainly driven by this skeleton.

[0027] In one feasible approach, the dominant bone in a fracture region can be identified based on the degree of influence of at least one bone that is bound to all vertices within the fracture region on each vertex. The bone with the dominant influence can then be designated as the controlling bone for that fracture region.

[0028] S103. Based on the main control skeleton corresponding to each fracture region, adjust at least one vertex parameter of each vertex in the fracture region so that each vertex in the fracture region moves only under the drive of the main control skeleton.

[0029] Among them, the vertex parameters include at least the skin weights.

[0030] In one feasible approach, the skinning weights of each vertex in the fractured area can be adjusted based on the master control bone corresponding to the fractured area. That is, the weight values ​​of the master control bones to which all vertices in the fractured area are bound can be reset. For example, the weight values ​​of the master control bones to which all vertices in the fractured area are bound can be adjusted to 1, while the weight values ​​of other bones can be adjusted to 0. This achieves discrete weight settings, ensuring that after the target network model fractures, all vertices in the fractured area are precisely driven only by the master control bone. This ensures that there is no transition zone at the hard surface seam, effectively eliminates the adhesion effect, and achieves the sharp boundary effect required for hard surface skinning. This results in more natural and efficient animation and physical simulation, solving the problems of high cost and low efficiency in manual repair methods.

[0031] In summary, this application provides a model skinning method. Firstly, based on all vertices in the target network model, at least one fracture region is identified. This involves extracting the topological features of the fracture region and constructing physically isolated vertex clustering units (i.e., fracture regions), replacing the traditional weight diffusion model based on geometric Euclidean distance. Then, based on the vertex parameters of all vertices within the fracture region, the dominant bone corresponding to the fracture region is determined—that is, the bone that has a dominant influence on the fracture region. The skinning weights of all vertices within the fracture region are redefined for the dominant bone, achieving automatic correction of the skinning weights. This ensures that after a fracture occurs in the target network model, all vertices within the fracture region are precisely driven only by the dominant bone, ensuring no transition zone at hard surface seams, effectively eliminating adhesion effects, and achieving the sharp boundary effect required for hard surface skinning. This results in more natural and efficient animation and physical simulation, solving the problems of high cost and low efficiency associated with manual repair methods.

[0032] Optionally, refer to Figure 2 As shown, step S101 above includes: S201. Determine multiple boundary vertices of the target network model, and construct a set of boundary vertices based on these multiple boundary vertices.

[0033] Here, boundary vertices refer to nodes located at the upper edge of the target network model.

[0034] S202. Based on the set of boundary vertices, determine at least one fracture region.

[0035] Optionally, the spatial position of each vertex can be analyzed based on the connection relationship of all vertices in the target network model. Based on the spatial position of each vertex, it can be determined which vertices are located at the edge position, and multiple vertices located at the edge position can be added to the boundary vertex set. Then, topological analysis is performed on all boundary vertices in the boundary vertex set to identify one or more "fracture regions".

[0036] Optionally, step S202 above includes: Select a seed vertex from the set of boundary vertices as the starting point. Use a pre-defined breadth-first search algorithm to recursively find at least one neighboring vertex that is topologically connected to the seed vertex through edge connections. Form the seed vertex and at least one neighboring vertex into the current connected region. Mark the current connected region as a broken region and remove all vertices in the current connected region from the set of boundary vertices. Repeat this process until the set of boundary vertices is empty.

[0037] In one feasible approach, a boundary vertex is randomly (or sequentially) selected from the set of boundary vertices as a seed vertex. Starting from the seed vertex, a traversal queue is initialized, and the seed vertex is added to the queue. A breadth-first search algorithm is used to recursively search for at least one adjacent vertex topologically connected to the seed vertex through edge connections. For example, the Maya command `polyListComponentConversion` can be used to find vertices continuous with the seed vertex until no adjacent edges remain. The seed vertex and at least one adjacent vertex visited during this traversal are then combined to form the current connected region, representing a complete edge path. This current connected region is marked as a broken region, and all vertices within it are removed from the set of boundary vertices to ensure that these vertices are not processed repeatedly, avoiding duplicate identification and ensuring that no broken regions are missed. This process is repeated until the set of boundary vertices is empty, automatically identifying at least one broken region. This achieves fully automatic, complete, and high-precision identification of multiple broken regions on the target network model.

[0038] Therefore, in this embodiment, by extracting the topological features of the fractured regions on the target network model, physically isolated vertex clustering units (i.e., "fractured regions") are constructed to replace the traditional weight diffusion mode based on geometric Euclidean distance, thereby realizing the perception of fracture boundaries of the target network model.

[0039] Optionally, step S201 above includes: Traverse all vertices and determine whether the edge containing the current vertex is a boundary edge. If so, mark the current vertex as a boundary vertex, and continue traversing all vertices.

[0040] Among them, the boundary edge is the edge that is shared by only one face.

[0041] In this embodiment, each vertex on the target network model is checked sequentially. For the current vertex that is traversed, the topological connection relationship of the current vertex in the target network model is obtained, and it is determined whether there exists and only one boundary edge among all the edges connected to the current vertex. If so, the current vertex is marked as a boundary vertex and recorded in the boundary vertex set until all vertices are traversed. This achieves fully automatic, high-precision, topology-aware recognition of boundary vertices in the 3D mesh model.

[0042] Optionally, refer to Figure 3 As shown, step S102 above includes: S301. Determine the skinning weights of all vertices within the fracture region.

[0043] In 3D character animation, skin weight refers to the influence of multiple bones on each vertex. The weight represents the degree of influence of a particular bone on the movement of that vertex (between 0 and 1). For example, vertex 1 is influenced by bone_A with a weight of 0.7 and by bone_B with a weight of 0.3, and the sum of the weights of the two bones is 1.

[0044] In this embodiment, the bone influence weights of each vertex in the fracture region can be extracted based on at least one vertex parameter of all vertices in the fracture region.

[0045] S302. Determine the coverage of each bone based on the skinning weight of each vertex.

[0046] Coverage refers to the overall influence of a bone on the vertices within the fracture area, reflecting the overall control strength of that bone over that area.

[0047] S303. Based on the coverage of each bone, determine the main control bone corresponding to the fracture area.

[0048] Among them, the main skeleton refers to the skeleton with the highest coverage among all skeletons.

[0049] In one feasible approach, the coverage rate of each bone can be calculated based on the total weight integration method. For example, for a specific bone, the weights of that bone at all vertices within the fracture region are summed, and the sum is used as the coverage rate of that bone, thus quantifying the control strength of each bone over the fracture region. The bone with the highest coverage rate is then designated as the primary control bone corresponding to the fracture region, enabling automatic identification of the primary control bone and reducing reliance on experience.

[0050] Optionally, refer to Figure 4 As shown, step S302 above includes: S401. Determine the number of affected vertices corresponding to the current skeleton based on the skinning weight of each vertex.

[0051] S402. Determine the total number of vertices in the fracture region and determine the ratio of the number of affected vertices corresponding to the current bone to the total number of vertices. Use this ratio as the coverage of the current bone.

[0052] In one feasible approach, for the current bone being traversed, based on the skinning weights of each vertex, it is sequentially determined whether the current bone weight value of each vertex exceeds a preset weight value. For example, if the preset weight value is 0.3, and the current bone weight value of vertex 1 is greater than 0.3, then vertex 1 is considered an affected vertex of the current bone. This process is repeated to obtain multiple vertices significantly affected by the current bone, thus calculating the number of affected vertices corresponding to the current bone. Then, the total number of vertices in the fracture region is obtained, and the ratio of the number of affected vertices corresponding to the current bone to the total number of vertices is determined. This ratio is used as the coverage rate of the current bone, i.e., coverage rate = (number of vertices significantly affected by the bone) / (total number of vertices in the fracture region).

[0053] Optionally, step S303 above includes: If the coverage of the current bone is greater than the preset coverage threshold, and the number of affected vertices corresponding to the current bone is the maximum, then the current bone will be used as the master bone corresponding to the fracture region.

[0054] For example, the coverage threshold is 85%.

[0055] Specifically, the criterion of "the current bone coverage is greater than the coverage threshold" can filter out bones that are "slightly involved but not dominant," preventing misjudgments. Furthermore, the criterion of "the current bone has the largest number of affected vertices" ensures that the number of vertices affected by the current bone is maximized within the fracture area, avoiding situations where "the total weight is high but the distribution is scattered," and ensuring that the dominant bone has spatial concentration and dominance.

[0056] In one feasible approach, the bone that simultaneously meets the following conditions is selected as the primary control bone: a. the bone coverage exceeds 85%; b. the bone that influences the most vertices. That is, the bone with a coverage greater than 85% and the largest number of influenced vertices is selected as the primary control bone corresponding to the fracture region. Therefore, in this embodiment, an automatic identification of the primary control bone corresponding to the fracture region is achieved based on dual objective quantitative indicators of "coverage" and "number of influenced vertices".

[0057] Optionally, step S103 above includes: Based on the main control skeleton corresponding to the fracture area, determine the target vertex parameters of the fracture area relative to the main control skeleton, and adjust the values ​​of the target vertex parameters to preset values.

[0058] In one feasible approach, if the main control bone corresponding to the fracture region is determined to be bone_A, then the weight values ​​of the main control bone of all vertices in the fracture region are adjusted to preset values, such as 1, and the weight values ​​of other bones of all vertices in the fracture region are adjusted to 0, thereby achieving weight discretization. This ensures that after the target network model fractures, the fracture region is only driven by the main control bone and not by other bones, effectively eliminating the adhesion effect and achieving the sharp boundary effect required for hard surface skinning.

[0059] Optionally, the target vertex parameters are weight parameters for the master skeleton. Therefore, the target vertex parameters refer to the skinning weight values ​​of all vertices within the fracture region relative to the master skeleton.

[0060] Optionally, to facilitate understanding of the technical effects of the skinning method for the model provided in this application, specific embodiments will be described.

[0061] refer to Figure 5 The image shown is a schematic diagram of a skeletal animation depicting a wall breaking and falling apart, using Maya's default skinning algorithm. Figure 5 As shown in the red box, the model's vertex skins are stuck together, resulting in strange distortions and interweaving on the surface. The vertex weights are stuck together, and the transition between vertices and faces is irregular. This also causes normals to flip, the model's surface to appear black, and the vertices to follow incorrect bone weights.

[0062] refer to Figure 6 The image shown is an illustration of the animation effect after applying the skinning method provided in this application. It iterates through all vertices of the mesh, determines the fracture region of the hard surface model, and resets the bone assignment weights of all vertices within the fracture region, as follows: Figure 6 As indicated by the red arrow, the 3D network model exhibits multiple independent fracture regions after fracture, with no skin adhesion between the fracture regions, effectively eliminating the adhesion effect and achieving the sharp boundary effect required for hard surface skin.

[0063] Based on the same inventive concept, this application also provides a model skinning device corresponding to the model skinning method. Since the principle of the device in this application is similar to the above-mentioned model skinning method in this application, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0064] Figure 7 This is a schematic diagram of the skinning device for the model provided in the embodiments of this application, with reference to... Figure 7 As shown, the device includes: The determination module 701 is used to determine at least one fracture region of the target network model, wherein the fracture region includes multiple vertices that are connected sequentially in the target network model, and the fracture regions are not connected to each other; and to determine the main control skeleton corresponding to each fracture region. The adjustment module 702 is used to adjust at least one vertex parameter of each vertex in the fracture region according to the main control skeleton corresponding to each fracture region, so that each vertex in the fracture region moves only under the drive of the main control skeleton.

[0065] Optionally, the determining module 701 is specifically used for: Identify multiple boundary vertices of the target network model, and construct a boundary vertex set based on the multiple boundary vertices; The at least one fracture region is determined based on the set of boundary vertices.

[0066] Optionally, the determining module 701 is specifically used for: Select a seed vertex from the set of boundary vertices as the starting point, and use a pre-defined breadth-first search algorithm to recursively find at least one neighboring vertex that is topologically connected to the seed vertex through edge connections. Form a current connected region with the seed vertex and the at least one neighboring vertex. Mark the current connected region as a broken region and remove all vertices in the current connected region from the set of boundary vertices. Repeat this process until the set of boundary vertices is empty.

[0067] Optionally, the determining module 701 is specifically used for: Traverse all vertices and determine whether the edge containing the current vertex is a boundary edge. If so, mark the current vertex as a boundary vertex until all vertices have been traversed. Here, a boundary edge is an edge shared by only one face.

[0068] Optionally, the determining module 701 is specifically used for: Determine the skinning weights of all vertices within the fracture region; The coverage of each bone is determined based on the skinning weight of each vertex. Based on the coverage of each bone, the main controlling bone corresponding to the fracture region is determined.

[0069] Optionally, the determining module 701 is specifically used for: The number of affected vertices corresponding to the current bone is determined based on the skinning weight of each vertex. Determine the total number of vertices in the fracture region, and determine the ratio of the number of affected vertices corresponding to the current bone to the total number of vertices, and use the ratio as the coverage of the current bone.

[0070] Optionally, the determining module 701 is specifically used for: If the coverage of the current bone is greater than a preset coverage threshold, and the number of influential vertices corresponding to the current bone is the maximum, then the current bone will be used as the main control bone corresponding to the fracture region.

[0071] Optionally, the adjustment module 702 is specifically used for: Based on the master skeleton corresponding to each fracture region, the target vertex parameters of the fracture region for the master skeleton are determined, and the values ​​of the target vertex parameters are adjusted to preset values.

[0072] Optionally, the target vertex parameters are weight parameters for the master skeleton.

[0073] The above-described apparatus is used to execute the method provided in the foregoing embodiments, and its implementation principle and technical effects are similar, so they will not be described again here.

[0074] These modules can be one or more integrated circuits configured to implement the above methods, such as one or more Application Specific Integrated Circuits (ASICs), one or more digital signal processors (DSPs), or one or more Field Programmable Gate Arrays (FPGAs). Alternatively, when a module is implemented using processing element scheduler code, the processing element can be a general-purpose processor, such as a Central Processing Unit (CPU) or other processor capable of calling program code. Furthermore, these modules can be integrated together as a system-on-a-chip (SOC).

[0075] Figure 8 This application provides a schematic diagram of the structure of an electronic device. The electronic device includes a processor 801, a storage medium 802, and a bus 803. The storage medium 802 stores machine-readable instructions executable by the processor 801. When the electronic device is running, the processor 801 communicates with the storage medium 802 via the bus 803. The processor 801 executes the machine-readable instructions to perform the following steps: Identify at least one fracture region in the target network model, wherein the fracture region includes a plurality of vertices in the target network model that are connected in sequence, and the fracture regions are not connected to each other. Determine the main control skeleton corresponding to each fracture region; Based on the master control skeleton corresponding to each fracture region, adjust at least one vertex parameter of each vertex in the fracture region so that each vertex in the fracture region moves only under the drive of the master control skeleton.

[0076] Optionally, the processor 801 performs the process of determining at least one fracture region in the target network model, specifically for: Identify multiple boundary vertices of the target network model, and construct a boundary vertex set based on the multiple boundary vertices; The at least one fracture region is determined based on the set of boundary vertices.

[0077] Optionally, the processor 801 performs the step of determining the at least one fracture region based on the set of boundary vertices, specifically for: Select a seed vertex from the set of boundary vertices as the starting point, and use a pre-defined breadth-first search algorithm to recursively find at least one neighboring vertex that is topologically connected to the seed vertex through edge connections. Form a current connected region with the seed vertex and the at least one neighboring vertex. Mark the current connected region as a broken region and remove all vertices in the current connected region from the set of boundary vertices. Repeat this process until the set of boundary vertices is empty.

[0078] Optionally, the processor 801 performs the process of determining the multiple boundary vertices of the target network model, specifically for: Traverse all vertices and determine whether the edge containing the current vertex is a boundary edge. If so, mark the current vertex as a boundary vertex until all vertices have been traversed. Here, a boundary edge is an edge shared by only one face.

[0079] Optionally, the processor 801 executes the process of determining the main control skeleton corresponding to each fracture region, specifically for: Determine the skinning weights of all vertices within the fracture region; The coverage of each bone is determined based on the skinning weight of each vertex. Based on the coverage of each bone, the main controlling bone corresponding to the fracture region is determined.

[0080] Optionally, the processor 801 performs the step of determining the coverage of each bone based on the bone skinning weights of each vertex, specifically for: The number of affected vertices corresponding to the current bone is determined based on the skinning weight of each vertex. Determine the total number of vertices in the fracture region, and determine the ratio of the number of affected vertices corresponding to the current bone to the total number of vertices, and use the ratio as the coverage of the current bone.

[0081] Optionally, the processor 801 executes the step of determining the main control bone corresponding to the fracture region based on the coverage of each of the bones, specifically for: If the coverage of the current bone is greater than a preset coverage threshold, and the number of influential vertices corresponding to the current bone is the maximum, then the current bone will be used as the main control bone corresponding to the fracture region.

[0082] Optionally, the processor 801 executes the step of adjusting at least one vertex parameter of each vertex in the fracture region according to the master skeleton corresponding to each fracture region, specifically for: Based on the master skeleton corresponding to each fracture region, the target vertex parameters of the fracture region for the master skeleton are determined, and the values ​​of the target vertex parameters are adjusted to preset values.

[0083] Optionally, the target vertex parameters are weight parameters for the master skeleton.

[0084] Optionally, the present invention also provides a program product, such as a computer-readable storage medium, including a program that, when executed by a processor, is used to perform the following steps: Identify at least one fracture region in the target network model, wherein the fracture region includes a plurality of vertices in the target network model that are connected in sequence, and the fracture regions are not connected to each other. Determine the main control skeleton corresponding to each fracture region; Based on the master control skeleton corresponding to each fracture region, adjust at least one vertex parameter of each vertex in the fracture region so that each vertex in the fracture region moves only under the drive of the master control skeleton.

[0085] Optionally, the processor performs the process of determining at least one fracture region in the target network model, specifically for: Identify multiple boundary vertices of the target network model, and construct a boundary vertex set based on the multiple boundary vertices; The at least one fracture region is determined based on the set of boundary vertices.

[0086] Optionally, the processor performs the step of determining the at least one fracture region based on the set of boundary vertices, specifically for: Select a seed vertex from the set of boundary vertices as the starting point, and use a pre-defined breadth-first search algorithm to recursively find at least one neighboring vertex that is topologically connected to the seed vertex through edge connections. Form a current connected region with the seed vertex and the at least one neighboring vertex. Mark the current connected region as a broken region and remove all vertices in the current connected region from the set of boundary vertices. Repeat this process until the set of boundary vertices is empty.

[0087] Optionally, the processor performs the step of determining multiple boundary vertices of the target network model, specifically for: Traverse all vertices and determine whether the edge containing the current vertex is a boundary edge. If so, mark the current vertex as a boundary vertex until all vertices have been traversed. Here, a boundary edge is an edge shared by only one face.

[0088] Optionally, the processor executes the process of determining the main control skeleton corresponding to each fracture region, specifically for: Determine the skinning weights of all vertices within the fracture region; The coverage of each bone is determined based on the skinning weight of each vertex. Based on the coverage of each bone, the main controlling bone corresponding to the fracture region is determined.

[0089] Optionally, the processor performs the step of determining the coverage of each bone based on the bone skinning weights of each vertex, specifically for: The number of affected vertices corresponding to the current bone is determined based on the skinning weight of each vertex. Determine the total number of vertices in the fracture region, and determine the ratio of the number of affected vertices corresponding to the current bone to the total number of vertices, and use the ratio as the coverage of the current bone.

[0090] Optionally, the processor executes the step of determining the main control bone corresponding to the fracture region based on the coverage of each of the bones, specifically for: If the coverage of the current bone is greater than a preset coverage threshold, and the number of influential vertices corresponding to the current bone is the maximum, then the current bone will be used as the main control bone corresponding to the fracture region.

[0091] Optionally, the processor executes the step of adjusting at least one vertex parameter of each vertex in the fracture region according to the master skeleton corresponding to each fracture region, specifically for: Based on the master skeleton corresponding to each fracture region, the target vertex parameters of the fracture region for the master skeleton are determined, and the values ​​of the target vertex parameters are adjusted to preset values.

[0092] Optionally, the target vertex parameters are weight parameters for the master skeleton.

[0093] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0094] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0095] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or in a combination of hardware and software functional units.

[0096] The integrated units implemented as software functional units described above can be stored in a computer-readable storage medium. These software functional units, stored in a storage medium, include several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute some steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

Claims

1. A method of skinning a model, the method comprising: The method includes: Identify at least one fracture region in the target network model, wherein the fracture region includes a plurality of vertices in the target network model that are connected in sequence, and the fracture regions are not connected to each other. Determine the main control skeleton corresponding to each fracture region; Based on the master control skeleton corresponding to each fracture region, adjust at least one vertex parameter of each vertex in the fracture region so that each vertex in the fracture region moves only under the drive of the master control skeleton.

2. The method of claim 1, wherein, Determining at least one fracture region in the target network model includes: Identify multiple boundary vertices of the target network model, and construct a boundary vertex set based on the multiple boundary vertices; The at least one fracture region is determined based on the set of boundary vertices.

3. The method of claim 2, wherein, Determining the at least one fracture region based on the set of boundary vertices includes: Select a seed vertex from the set of boundary vertices as the starting point, and use a pre-defined breadth-first search algorithm to recursively find at least one neighboring vertex that is topologically connected to the seed vertex through edge connections. Form a current connected region with the seed vertex and the at least one neighboring vertex. Mark the current connected region as a broken region and remove all vertices in the current connected region from the set of boundary vertices. Repeat this process until the set of boundary vertices is empty.

4. The method of claim 2, wherein, Determining the multiple boundary vertices of the target network model includes: Traverse all vertices in the target network model, determine whether the edge containing the current vertex is a boundary edge. If so, mark the current vertex as a boundary vertex, until all vertices have been traversed. The boundary edge is an edge shared by only one face.

5. The method of claim 1, wherein, The determination of the main control skeleton corresponding to each fracture region includes: Determine the skinning weights of all vertices within the fracture region; The coverage of each bone is determined based on the skinning weight of each vertex. Based on the coverage of each bone, the main controlling bone corresponding to the fracture region is determined.

6. The method of claim 5, wherein, The step of determining the coverage of each bone based on the bone skinning weight of each vertex includes: The number of affected vertices corresponding to the current bone is determined based on the skinning weight of each vertex. Determine the total number of vertices in the fracture region, and determine the ratio of the number of affected vertices corresponding to the current bone to the total number of vertices, and use the ratio as the coverage of the current bone.

7. The method of claim 5, wherein, The step of determining the controlling bone corresponding to the fracture region based on the coverage of each bone includes: If the coverage of the current bone is greater than the preset coverage threshold, and the number of influential vertices corresponding to the current bone is the maximum, then the current bone will be used as the main control bone corresponding to the fracture region.

8. The method of claim 1, wherein, The step of adjusting at least one vertex parameter of each vertex in the fracture region according to the master control skeleton corresponding to each fracture region includes: Based on the master skeleton corresponding to each fracture region, the target vertex parameters of the fracture region for the master skeleton are determined, and the values ​​of the target vertex parameters are adjusted to preset values.

9. The method of claim 8, wherein, The target vertex parameters are weight parameters for the main control skeleton.

10. A device for skinning a model, characterized in that, The device includes: A determination module is used to determine at least one fracture region of a target network model, wherein the fracture region includes multiple vertices that are sequentially connected in the target network model, and the fracture regions are not interconnected; and to determine the main control skeleton corresponding to each fracture region. An adjustment module is used to adjust at least one vertex parameter of each vertex in the fracture region according to the main control skeleton corresponding to each fracture region, so that each vertex in the fracture region moves only under the drive of the main control skeleton.

11. An electronic device, comprising: include: The device includes a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is in operation, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the method as described in any one of claims 1-9.

12. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which is executed by a processor to perform the method as described in any one of claims 1-9.