Method, device and equipment for migrating skeleton binding of virtual object and storage medium

By migrating skeletal binding information between virtual objects with the same mesh topology, the problem of low-cost and efficient skeletal binding migration in existing technologies is solved, achieving efficient and accurate skeletal binding migration results.

CN115131476BActive Publication Date: 2026-01-02BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210730034.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-24
Publication Date
2026-01-02
Estimated Expiration
2042-06-24

AI Technical Summary

Technical Problem

Existing technologies struggle to achieve cost-effective and efficient skeletal binding and migration of virtual objects, impacting the precise driving of virtual objects.

Method used

By determining the initial position of the skeleton of the first virtual object in the initial pose, and based on the same mesh topology, the skeleton binding information of the first virtual object is transferred to the second virtual object. This includes relocating the initial position of the skeleton of the second virtual object and transferring the skeleton position changes and skinning weight information in a specific order.

Benefits of technology

It enables the addition of skeletal binding information to virtual objects with the same mesh topology in a low-cost and efficient manner, improving the efficiency and accuracy of skeletal binding migration and reducing costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115131476B_ABST
    Figure CN115131476B_ABST
Patent Text Reader

Abstract

The present disclosure provides a virtual object skeleton binding migration method and device, equipment and storage medium, relates to the technical field of computer vision, and particularly relates to the technical field of virtual digital person, augmented reality, virtual reality, mixed reality, extended reality, metaverse and the like. The specific implementation scheme is: determining a second skeleton initial position of a second virtual object in an initial posture according to a first skeleton initial position of a first virtual object in the initial posture; migrating skeleton binding information of the first virtual object in a target posture to the second virtual object according to the first skeleton initial position and the second skeleton initial position, to obtain skeleton binding information of the second virtual object in the target posture; wherein the first virtual object and the second virtual object have the same mesh topological structure. The virtual object skeleton binding migration can be completed at low cost and high efficiency, and a new solution is provided for the virtual object skeleton binding migration.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of computer vision, in particular to the technical field of virtual digital human, augmented reality, virtual reality, mixed reality, extended reality, metaverse, and the like, and specifically relates to a virtual object skeleton binding migration method and device, equipment and storage medium. BACKGROUND

[0002] With the continuous development of artificial intelligence technology, computer vision technology emerges as the times require. Through augmented reality technology in computer vision, virtual objects (such as virtual digital humans) can be driven based on the skeleton skinning information bound to the virtual objects to simulate real poses and the like, thereby increasing the user's enjoyment. However, how to complete the virtual object skeleton binding migration at low cost and high efficiency is crucial for accurately driving the virtual object. SUMMARY

[0003] The present disclosure provides a virtual object skeleton binding migration method, device, equipment and storage medium.

[0004] According to an aspect of the present disclosure, a virtual object skeleton binding migration method is provided, comprising:

[0005] determining a second skeleton initial position of a second virtual object in an initial pose according to a first skeleton initial position of the first virtual object in the initial pose;

[0006] migrating skeleton binding information of the first virtual object in a target pose to the second virtual object according to the first skeleton initial position and the second skeleton initial position, to obtain skeleton binding information of the second virtual object in the target pose;

[0007] wherein the first virtual object and the second virtual object have the same mesh topology structure.

[0008] According to another aspect of the present disclosure, an electronic device is provided, comprising:

[0009] at least one processor; and

[0010] a memory in communication connection with the at least one processor; wherein

[0011] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the virtual object skeleton binding migration method of any embodiment of the present disclosure.

[0012] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, where the computer instructions are used to cause a computer to execute the method for transferring the skeleton binding of a virtual object according to any of the embodiments of the present disclosure.

[0013] The present solution can complete the transfer of the skeleton binding of a virtual object at low cost and high efficiency, and provides a new solution for the transfer of the skeleton binding of a virtual object.

[0014] It should be understood that the content described in this section is not intended to identify key or important features of the embodiments of the present disclosure, nor to limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0015] The accompanying drawings are used to better understand the present solution and do not limit the present disclosure. Among them:

[0016] Figure 1A is a flowchart of a method for transferring the skeleton binding of a virtual object according to an embodiment of the present disclosure;

[0017] Figure 1B is a skeleton repositioning effect diagram provided by an embodiment of the present disclosure;

[0018] Figure 1C is a skeleton binding transfer effect diagram provided by an embodiment of the present disclosure;

[0019] Figure 2 is a flowchart of a method for transferring the skeleton binding of a virtual object according to an embodiment of the present disclosure;

[0020] Figure 3 is a flowchart of a method for transferring the skeleton binding of a virtual object according to an embodiment of the present disclosure;

[0021] Figure 4 is a flowchart of a method for transferring the skeleton binding of a virtual object according to an embodiment of the present disclosure;

[0022] Figure 5A is a flowchart of a method for transferring the skeleton binding of a virtual object according to an embodiment of the present disclosure;

[0023] Figure 5B is a principle block diagram of a method for transferring the skeleton binding of a virtual object according to an embodiment of the present disclosure;

[0024] Figure 6 is a flowchart of a method for transferring the skeleton binding of a virtual object according to an embodiment of the present disclosure;

[0025] Figure 7is a structural schematic diagram of a virtual object skeleton binding migration device according to an embodiment of the disclosure;

[0026] Figure 8 is a block diagram of an electronic device for implementing a virtual object skeleton binding migration method according to an embodiment of the disclosure. DETAILED DESCRIPTION

[0027] Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, which include various details of the embodiments of the present disclosure to assist in understanding, which should be considered in a descriptive sense only. Thus, it will be apparent to one of ordinary skill in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Also, for the sake of brevity and clarity, descriptions of well-known functions and constructions are omitted from the following description.

[0028] Figure 1A is a flowchart of a virtual object skeleton binding migration method according to an embodiment of the disclosure, Figure 1B is a skeleton repositioning effect diagram provided by an embodiment of the present disclosure; Figure 1C is a skeleton binding migration effect diagram provided by an embodiment of the present disclosure. The present disclosure is applicable to the case of migrating the skeleton binding information carried by the first virtual object to the second virtual object when the mesh topology results of the first virtual object and the second virtual object are the same. The method can be performed by a virtual object skeleton binding migration device, which can be implemented in software and / or hardware. Specifically, it can be integrated into an electronic device with a virtual object skeleton binding migration function. As shown in Figures 1A-1C The present solution includes the following steps:

[0029] S101, determining a second skeleton initial position of a second virtual object in an initial posture according to a first skeleton initial position of a first virtual object in the initial posture.

[0030] The virtual object is an object active in a three-dimensional virtual space, such as a three-dimensional virtual digital person. The virtual object of the present embodiment is preferably the face of a three-dimensional virtual person. Further, the virtual object can be represented by a three-dimensional mesh model.

[0031] The first virtual object and the second virtual object in the embodiment are two virtual objects of the same type, for example, both are faces of a three-dimensional virtual character. In addition, the first virtual object and the second virtual object need to have the same mesh topology, that is, the number of meshes and the wiring manner of the three-dimensional mesh model constituting the first virtual object and the second virtual object are the same. Although the mesh topology of the first virtual object and the second virtual object is the same, the first virtual object carries the bone binding information, and the second virtual object does not carry the bone binding information. The purpose of the embodiment is to migrate the bone binding information carried by the first virtual object to the second virtual object, so that the second virtual object also carries the bone binding information. It should be noted that the mesh surface in the three-dimensional mesh model of the virtual object can be regarded as the skin covering the surface of the virtual object, that is, the skin. It is independent of the bone points of the virtual object (that is, the object bone points). In order to realize the driving of the virtual object to display different postures, it is necessary to bind each mesh vertex (that is, the skin vertex) of the three-dimensional mesh model of the virtual object to one or more object bone points, so that the mesh vertex is controlled by the object bone point associated with it. The bone binding information of the virtual object in the embodiment is the relevant information recording the binding relationship between the bone points of the virtual object and the mesh vertices of the three-dimensional mesh model.

[0032] The initial posture of the embodiment can refer to the posture displayed by each mesh vertex in the three-dimensional mesh model of the virtual object before being driven by the object bone point, that is, the posture presented after the construction of the three-dimensional mesh model is completed. For example, if the virtual object is the face of a three-dimensional virtual character, the corresponding initial posture can be an expressionless face posture.

[0033] The bone initial position of the embodiment can be the position corresponding to each object bone point in the initial posture of the virtual object, that is, the position of each object bone point before being driven. Since the bone initial position of the virtual object needs to be used when determining the bone binding information of the virtual object, for the first virtual object which carries the bone binding information, the corresponding first bone initial position is known, and for the second virtual object which does not carry the bone binding information, the corresponding second bone initial position is unknown and needs to be calculated based on the first bone initial position of the first virtual object. Optionally, the first bone initial position can be pre-set by an experienced binder according to experience.

[0034] Optionally, the process of determining the second bone initial position of the second virtual object according to the first bone initial position of the first virtual object in the embodiment is the process of repositioning each object bone point in the second virtual object. There are many specific implementation manners for this process, which are not limited by the embodiment:

[0035] In an implementation, the first bone initial position, the position information of each mesh point in the three-dimensional mesh model of the first virtual object in the initial pose, and the position information of each mesh point in the three-dimensional mesh model of the second virtual object in the initial pose are input into a pre-trained repositioning model, and the repositioning model can predict the second bone initial position of the second virtual object in the initial pose based on the input data.

[0036] In another implementation, a position conversion matrix of the first virtual object to the second virtual object is analyzed according to the position information of each mesh point in the three-dimensional mesh model of the first virtual object in the initial pose and the position information of each mesh point in the three-dimensional mesh model of the second virtual object, and the first bone initial position is transformed according to the position conversion matrix to obtain the second bone initial position of the second virtual object in the initial pose.

[0037] For example, Figure 1B In the example, the left portrait is the first virtual object, and the positions of each point (i.e., the face bone points) in the face region of the first virtual object are the first bone initial positions. The right portrait is the second virtual object, and the positions of each point (i.e., the face bone points) in the face region of the second virtual object are the second bone initial positions obtained by repositioning based on the first bone initial positions.

[0038] In S102, the bone binding information of the first virtual object in the target pose is migrated to the second virtual object according to the first bone initial position and the second bone initial position, to obtain the bone binding information of the second virtual object in the target pose.

[0039] For example, if the virtual object is a face of a three-dimensional virtual character, the corresponding target pose can be a face pose corresponding to various different expressions.

[0040] It should be noted that the bone binding information of the virtual object in different target poses is different. Specifically, the bone binding information can include bone position change information and skin weight information. The bone position change information can represent the change of the position of each object bone point in the current target pose relative to the position in the initial pose, and further includes a position translation amount and a position rotation amount. The skin weight information can be the control degree of each object bone point on the skin (i.e., the mesh face to which the bound mesh point belongs). Since different poses need different positions of each object bone point to be driven by different control degrees, the bone binding information of the virtual object in different poses is different.

[0041] Optionally, in the embodiment, since the first virtual object carries the skeletal binding information, the skeletal binding information of the first virtual object in the target posture can be resolved according to the mesh point position of the three-dimensional network model of the first virtual object in the target posture and the first initial skeletal position of the first virtual object. After obtaining the skeletal binding information of the first virtual object in the target posture, the skeletal binding information of the first virtual object in the target posture can be migrated to the second virtual object based on the first initial skeletal position of the first virtual object and the second initial skeletal position of the second virtual object, to obtain the skeletal binding information of the second virtual object in the target posture. Specifically, the migration process of the skeletal binding information includes two processes of migrating the skeletal position change information and migrating the skin weight information. The process of migrating the skeletal position change information can be to determine the position offset between the first initial skeletal position and the second initial skeletal position according to the first initial skeletal position of the first virtual object and the second initial skeletal position of the second virtual object, to offset the skeletal position change information of the first virtual object in the target posture based on the position offset, and to take the offset skeletal position change information as the skeletal position change information of the second virtual object in the target posture.

[0042] The process of migrating the skin weight information can be to directly reuse the skin weight information of the first virtual object in the target posture to the second virtual object, that is, the skin weight values between each object skeletal point and the associated skin (i.e., mesh surface) in the first virtual object and the second virtual object are the same.

[0043] Exemplarily, Figure 1C In the embodiment, the left portrait is a portrait facial expression effect picture obtained by driving the facial skeletal points based on the skeletal binding information of the portrait in the target posture; and the right portrait is a portrait facial expression effect picture obtained by driving each facial skeletal point of the right portrait based on the skeletal binding information migrated to the right portrait. As shown in 1C, the facial postures of the left and right portraits are similar, so the accuracy of the skeletal binding information migrated to the second virtual object by using the scheme can be guaranteed.

[0044] It should be noted that for the second virtual object, it can need to display multiple different target postures. When the target postures to be displayed are multiple, the operation of S102 can be performed for each target posture to realize migration of the skeletal binding information of the first virtual object in each target posture to the second virtual object.

[0045] Optionally, the bone binding information of the first virtual object in the target posture in the embodiment is preferably realized based on an existing basic hybrid binding method. The basic hybrid binding method can be a combination of three-dimensional animation software (maya), blendshape technology and morpher technology to complete the bone binding of the virtual object. Although this method can ensure the binding accuracy of the bone binding information of the first virtual object, it has problems such as high cost and low efficiency. For a plurality of virtual objects with the same grid topology, the basic hybrid binding method is only used to complete accurate bone binding of one virtual object once, and then the bone binding information determined by the basic hybrid binding method is migrated to other virtual objects with the same grid topology by using the bone binding migration method of the present scheme, so as to add accurate bone binding information to other virtual objects with the same grid topology, greatly reducing the cost of determining the bone binding information of a plurality of virtual objects with the same grid topology, and improving the determination efficiency.

[0046] The scheme of the embodiment of the present disclosure is for a first virtual object and a second virtual object with the same grid topology. The second bone initial position of the second virtual object in the initial posture is repositioned according to the first bone initial position of the first virtual object in the initial posture. Then, the bone binding information of the first virtual object in the target posture is migrated to the second virtual object according to the first bone initial position and the second bone initial position, so as to add bone binding information to the second virtual object. The present scheme provides a scheme that can migrate the bone binding information of the first virtual object to other virtual objects with the same grid topology according to the initial bone position and the bone binding information of the first virtual object, greatly reducing the cost of bone binding migration and improving the efficiency of bone binding migration.

[0047] Figure 2 is a flowchart of a virtual object bone binding migration method according to an embodiment of the present disclosure. The embodiment of the present disclosure further explains in detail how to determine the second bone initial position of the second virtual object in the initial posture according to the first bone initial position of the first virtual object in the initial posture on the basis of the above-mentioned embodiment, as shown in Figure 2 The virtual object bone binding migration method provided by the embodiment can include the following steps.

[0048] S201, determining a corresponding first grid point cluster of an object bone point in the grid topology of the first virtual object in the initial posture.

[0049] The object bone point can be a general term of all bone points corresponding to the virtual object (i.e., the first virtual object and the second virtual object). For example, if the virtual object is a three-dimensional virtual human face, the object bone point can be all bone points associated with the face region.

[0050] Optionally, the embodiment can obtain a three-dimensional mesh model corresponding to the mesh topology of the first virtual object in the initial posture, and then determine, for each object bone point, a corresponding set of first mesh points, i.e., all mesh points on the mesh surface corresponding to the object bone point.

[0051] S202, determining a second set of mesh points corresponding to the object bone point in the mesh topology of the second virtual object in the initial posture.

[0052] Optionally, one implementation of the embodiment can determine the second set of mesh points corresponding to the object bone point in the mesh topology of the second virtual object in the initial posture in a manner similar to S201.

[0053] Another implementation can be that, since the mesh topologies of the first virtual object and the second virtual object are the same, and each mesh surface in the three-dimensional mesh model usually has a corresponding serial number, the embodiment can find, for each object bone point, a mesh surface with a serial number corresponding to the serial number of the mesh surface corresponding to each mesh point of the object bone point in the first set of mesh points in the three-dimensional mesh model of the second virtual object, and then take the mesh points of the mesh surface with the corresponding serial number as the second set of mesh points corresponding to the object bone point in the mesh topology of the second virtual object in the initial posture.

[0054] S203, determining a bone positioning coefficient based on the first set of mesh points and the first bone initial position of the first virtual object in the initial posture.

[0055] The bone positioning coefficient can be a parameter for positioning the object bone point based on the mesh points in the three-dimensional mesh model. The embodiment can correspond to one bone positioning coefficient for each object bone point.

[0056] Optionally, the embodiment can construct a linear equation set and solve the linear equation set to obtain the bone positioning coefficient corresponding to each object bone point based on the positions of the mesh points in the first set of mesh points corresponding to the object bone point and the first bone initial position corresponding to the object bone point.

[0057] For example, assuming that the positions of each mesh point in the first mesh point cluster corresponding to the object skeleton point are in matrix A, the first skeleton initial position of the object skeleton point is in matrix B, and the skeleton positioning coefficient of the object skeleton point is X1, a linear equation group A*X1=B can be constructed, and the skeleton positioning coefficient X1 is solved based on the least square method.

[0058] In S204, the second skeleton initial position of the second virtual object in the initial posture is determined according to the second mesh point cluster and the skeleton positioning coefficient.

[0059] Optionally, for each object skeleton point, the position of the mesh point in the second mesh point cluster corresponding to the object skeleton point is multiplied by the skeleton positioning coefficient to obtain the second skeleton initial position of the object skeleton point, and then the second skeleton initial positions of the object skeleton points are integrated to obtain the second skeleton initial position of the second virtual object in the initial posture.

[0060] For example, assuming that the positions of each mesh point in the second mesh point cluster corresponding to the object skeleton point are in matrix C, and the skeleton positioning coefficient of the object skeleton point is X1, the first skeleton initial position of the object skeleton point can be determined as C*X1.

[0061] In S205, the skeleton binding information of the first virtual object in the target posture is migrated to the second virtual object to obtain the skeleton binding information of the second virtual object in the target posture according to the first skeleton initial position and the second skeleton initial position.

[0062] The scheme of the embodiment of the present disclosure determines the first mesh point cluster and the second mesh point cluster corresponding to the object skeleton point in the initial posture of the first virtual object and the second virtual object respectively, determines the skeleton positioning coefficient according to the first mesh point cluster and the first skeleton initial position of the first virtual object in the initial posture, and then repositions the second skeleton initial position of the second virtual object according to the skeleton positioning coefficient and the second mesh point cluster, and then migrates the skeleton binding information of the first virtual object in the target posture to the second virtual object according to the first skeleton initial position and the second skeleton initial position. In the scheme, a skeleton positioning coefficient is determined for each object skeleton point when repositioning the second skeleton initial position of the second virtual object, to perform the subsequent skeleton repositioning operation, which improves the accuracy of the second skeleton initial position determined after repositioning and provides a guarantee for the subsequent migration of the skeleton binding information based on the accurate second skeleton initial position.

[0063] Figure 3is a flowchart of a virtual object skeleton binding migration method according to an embodiment of the present disclosure. The embodiment of the present disclosure further explains in detail the process of how to migrate the skeleton binding information of the first virtual object in the target pose to the second virtual object according to the first skeleton initial position and the second skeleton initial position, to obtain the skeleton binding information of the second virtual object in the target pose, based on the above-mentioned embodiment, as shown in Figure 3 The virtual object skeleton binding migration method provided by the embodiment can include the following steps.

[0064] S301, determining the second skeleton initial position of the second virtual object in the initial pose according to the first skeleton initial position of the first virtual object in the initial pose.

[0065] S302, dividing the object skeleton points into at least two skeleton point clusters according to the mesh topological structure of the first virtual object and the second virtual object, and determining the information migration order between the at least two skeleton point clusters.

[0066] Optionally, the first virtual object and the second virtual object in the embodiment have the same mesh topological structure. This step can determine the object component elements of the virtual object, i.e., which elements constitute the virtual object, according to the mesh topological structure common to both. For example, if the virtual object is a three-dimensional virtual human face, the object component elements at this time can include face, eyeball, teeth, and tongue, etc. Then, the object skeleton points of the virtual object are clustered according to the object component elements, i.e., a group of object skeleton points corresponding to each object component element, i.e., a group of skeleton point clusters, is obtained. And the information migration order between the skeleton point clusters is determined. The information migration order can refer to the execution order when performing the operation of migrating the skeleton binding information of the first virtual object to the second virtual object for different object skeleton point clusters.

[0067] Optionally, there are many specific ways to determine the information migration order between the at least two skeleton point clusters in the embodiment. One implementable way is to determine the information migration order of each skeleton point cluster according to the size of each skeleton point cluster. Specifically, the larger the data amount of a skeleton point cluster, the earlier the corresponding information migration order. Another implementable way is to determine according to the linkage relationship between different skeleton point clusters. Specifically, the information migration order of the skeleton point cluster corresponding to the main driving object component element in the object component elements of the virtual object can be arranged in front, and the information migration order of the skeleton point cluster corresponding to the other object component elements linked thereto can be arranged behind. For example, if the virtual object is a three-dimensional virtual human face, the information migration order of the skeleton point cluster corresponding to the face can be arranged before the information migration order of the skeleton point cluster corresponding to the eyeball, teeth, and tongue.

[0068] S303, according to the information migration order, for each bone point cluster, according to the first bone initial position and the second bone initial position associated with the bone point cluster, the bone position change information of the bone point cluster corresponding to the first virtual object in the target posture is migrated to the second virtual object to obtain the bone position change information of the bone point cluster corresponding to the second virtual object in the target posture.

[0069] Specifically, according to the information migration order of each bone point cluster, for each bone point cluster in turn, the position offset between the first bone initial position and the second bone initial position of the object bone point corresponding to the bone point cluster is determined, and then the bone position change information of the bone point cluster corresponding to the first virtual object in the target posture is offset based on the position offset, and the offset bone position change information is taken as the bone position change information of the bone point cluster corresponding to the second virtual object in the target posture.

[0070] S304, the skin weight information of the bone point cluster in the target posture in the first virtual object is taken as the skin weight information of the bone point cluster in the target posture in the second virtual object.

[0071] Specifically, for each bone point cluster, after the migration operation of the bone position change information is performed (i.e. the operation of S303), the skin weight information of the bone point cluster corresponding to the first virtual object in the target posture can be directly reused in the second virtual object, that is, the corresponding skin weight information of the first virtual object and the second virtual object in the same posture is the same.

[0072] The scheme of the embodiment of the present disclosure determines the second bone initial position of the second virtual object in the initial posture according to the first bone initial position of the first virtual object in the initial posture, then divides the object bone points into a plurality of bone point clusters according to the grid topology structure of the two virtual objects, and according to the information migration order of each bone point cluster, the bone change information of the first virtual object in the target posture is migrated to the second virtual object according to the first bone initial position and the second bone initial position associated with each bone point cluster, and the skin weight information of the first virtual object in the target posture is directly reused in the second virtual object. When the bone binding information migration is performed, the object bone points are divided into a plurality of bone point clusters according to the positions of the object bone points in the topology grid structure, and the migration of the bone position change information and the skin weight information of each bone point cluster is performed in turn according to a certain order. Compared with the migration of each object bone point, the regional migration of the present scheme further ensures the accuracy of the bone binding information migration result.

[0073] Figure 4is a flowchart of a virtual object skeleton binding migration method according to an embodiment of the present disclosure. The embodiment of the present disclosure further explains in detail the process of how to migrate the skeleton position change information of the skeleton point cluster corresponding to the first virtual object in the target posture to the second virtual object according to the first skeleton initial position and the second skeleton initial position associated with the skeleton point cluster, to obtain the skeleton position change information of the skeleton point cluster corresponding to the second virtual object in the target posture, based on the above-mentioned embodiment, as shown in Figure 4 The virtual object skeleton binding migration method provided by the embodiment can include the following steps:

[0074] S401, determining the second skeleton initial position of the second virtual object in the initial posture according to the first skeleton initial position of the first virtual object in the initial posture.

[0075] S402, dividing the object skeleton points into at least two skeleton point clusters according to the mesh topological structure of the first virtual object and the second virtual object, and determining the information migration order between the at least two skeleton point clusters.

[0076] S403, according to the information migration order, migrating the first center position of the skeleton point cluster corresponding to the first virtual object in the target posture to the second virtual object to obtain the second center position of the skeleton point cluster corresponding to the second virtual object in the target posture for each skeleton point cluster.

[0077] The first center position (or the second center position) of the skeleton point cluster corresponding to the first virtual object (or the second virtual object) in the target posture can be the position of the class center corresponding to each object skeleton point in the skeleton point cluster corresponding to the first virtual object (or the second virtual object) in the target posture to the grid region in the three-dimensional mesh model of the first virtual object (or the second virtual object) in the target posture.

[0078] Before migrating the first center position, the embodiment needs to first determine the first center of mass position Rc1 of the first virtual object in the initial posture according to the position of each mesh point in the three-dimensional mesh model of the first virtual object in the initial posture, and then determine the second center of mass position Rc2 of the first virtual object in the target posture and the third center of mass position Rc3 of the second virtual object in the initial posture and the fourth center of mass position Rc4 of the second virtual object in the target posture in a similar manner. And for each skeleton point cluster, determine the third center position O3 of the skeleton point cluster corresponding to the first virtual object in the initial posture according to the mesh point position of the grid region corresponding to each object skeleton point in the skeleton point cluster in the three-dimensional mesh model of the first virtual object in the initial posture; and then determine the first center position O1 of the skeleton point cluster corresponding to the first virtual object in the target posture and the fourth center position O4 of the skeleton point cluster corresponding to the second virtual object in the initial posture in a similar manner.

[0079] After the parameters are determined, an equation group (Rc1-O3) x X2=(Rc3-O4) can be constructed according to the first center of mass position Rc1, the third center of mass position Rc3, the third center position O3 and the fourth center position O4, and a center offset matrix X2 is obtained by solving the equation group.

[0080] Then, a second center position O2 of the second virtual object corresponding to the bone point cluster in the target posture is calculated according to the center offset matrix X2, the second center of mass position Rc2, the fourth center of mass position Rc4 and the first center position O1, i.e., O2=Rc4-(Rc2-O1) x X2.

[0081] It should be noted that, after the second center position O2 of the second virtual object corresponding to the bone point cluster in the target posture is calculated according to the above manner for each bone point cluster, the process of migrating the first center position of the bone point cluster corresponding to the first virtual object in the target posture to the second virtual object is completed.

[0082] S404, the bone position change information of the bone point cluster corresponding to the first virtual object in the target posture is migrated to the second virtual object according to the first center position, the second center position, the third center position of the bone point cluster corresponding to the first virtual object in the initial posture, the fourth center position of the bone point cluster corresponding to the second virtual object in the initial posture, and the first bone initial position and the second bone initial position associated with the bone point cluster, to obtain the bone position change information of the bone point cluster corresponding to the second virtual object in the target posture.

[0083] The first bone initial position associated with the bone point cluster can refer to a set of first bone initial positions of each object bone point in the bone point cluster. The second bone initial position associated with the bone point cluster can refer to a set of second bone initial positions of each object bone point in the bone point cluster.

[0084] Specifically, for each object bone point in each bone point cluster, an equation group (O3-L2) x X3=(O4-L1) is constructed according to the first bone initial position L1, the second bone initial position L2, the third center position O3 and the fourth center position O4 of the object bone point, and a bone offset matrix X3 is obtained by solving the equation group. Then, the bone position change information T2 of the object bone point corresponding to the second virtual object in the target posture is calculated according to the bone offset matrix X3, the first center position O1, the second center position O2 and the bone position change information T1 corresponding to the object bone point, i.e., T2=O2-(O1-T1) x X3.

[0085] It should be noted that, for each object bone point in each bone point cluster, after the corresponding bone position change information of the object bone point in the second virtual object in the target posture is calculated in the above manner, the process of migrating the bone position change information of the corresponding bone point cluster of the first virtual object in the target posture to the second virtual object is completed.

[0086] S405, the skinning weight information of the bone point cluster in the first virtual object in the target posture is taken as the skinning weight information of the bone point cluster in the second virtual object in the target posture.

[0087] The technical scheme of the embodiment of the present disclosure determines the second bone initial position of the second virtual object in the initial posture according to the first bone initial position of the first virtual object in the initial posture, divides the object bone points into a plurality of bone point clusters according to the mesh topological structure of the two virtual objects, and then migrates the first center position of each bone point cluster in the target posture of the first virtual object to the second virtual object in sequence according to the information migration order of each bone point cluster, to obtain the second center position of the corresponding bone point cluster of the second virtual object in the target posture. Then, according to the first center position, the second center position, the third center position of the corresponding bone point cluster of the virtual object in the initial posture, the fourth center position of the corresponding bone point cluster of the second virtual object in the initial posture, and the first bone initial position and the second bone initial position associated with the bone point cluster, the bone position change information of the corresponding bone point cluster of the first virtual object in the target posture is migrated to the second virtual object. In this scheme, the center position of the bone point cluster is migrated based on the center of mass position first, and then the bone position change information of each object bone point in the bone point cluster is migrated based on the migrated center position. Compared with directly migrating the bone position change information of each object bone point, the two-step migration further improves the accuracy of the bone position change information migrated to the second virtual object.

[0088] Figure 5A is a flowchart of a virtual object bone binding migration method according to an embodiment of the present disclosure; Figure 5B is a principle block diagram of a virtual object bone binding migration method according to an embodiment of the present disclosure. The embodiment of the present disclosure further explains in detail the process of how to obtain the bone binding information of the first virtual object in the target posture based on the above-mentioned embodiment, as shown in Figures 5A-5B The virtual object bone binding migration method provided by the embodiment can include:

[0089] S501, obtaining a topological mesh point of the first virtual object in the target posture.

[0090] The topology grid points can be vertices of all grid surfaces in a three-dimensional network model corresponding to the virtual object.

[0091] Specifically, the embodiment can drive the first virtual object to display a target pose based on the bone binding information carried by the first virtual object through input data of the controller, and obtain vertices of each grid surface in a three-dimensional network model corresponding to the first virtual object in the target pose as the topology grid points of the first virtual object in the target pose. Optionally, the embodiment can select a plurality of different target poses according to requirements, and obtain topology grid point information of the first virtual object in the plurality of different target poses.

[0092] S502, determining the bone binding information of the first virtual object in the target pose according to the topology grid points and the first bone initial position of the first virtual object in the initial pose.

[0093] Optionally, after obtaining the topology grid points of the first virtual object in the target pose, the embodiment can further obtain the first bone initial position of the first virtual object in the initial pose set by a binder in advance. Then, the bone binding information of the first virtual object in the target pose is parsed according to a bone binding information parsing algorithm, such as a linear skinning decomposition SSDR algorithm.

[0094] As shown in the figure, Figure 5B The bone binding information of the first virtual object of the embodiment can be obtained based on a basic bone binding mode, which contains a large amount of specific binding information. The first virtual object with completed bone binding can be driven by the controller to display different target poses, so as to obtain topology grid points of the first virtual object in different target poses for combination to obtain a plurality of frames of pose vertex streams of different target poses. Then, the bone binding information of the first virtual object in the target pose is parsed according to the topology grid points corresponding to each frame of target pose in the pose vertex stream and the first bone initial position of the first virtual object in the initial pose. At this time, the bone binding information is the most basic binding information including only two dimensions of bone position change information and skin weight information.

[0095] S503, determining the second bone initial position of the second virtual object in the initial pose according to the first bone initial position of the first virtual object in the initial pose.

[0096] S504, migrating the bone binding information of the first virtual object in the target pose to the second virtual object according to the first bone initial position and the second bone initial position, to obtain the bone binding information of the second virtual object in the target pose.

[0097] As shown in the figure, Figure 5BAs shown, according to the first bone initial position of the virtual object in the initial posture, the bone relocation processing is performed on the second virtual object to obtain the second bone initial position of the second virtual object in the initial posture. Then, according to the second bone initial position obtained by relocation and the bone position change information in the bone binding information of the first virtual object in the target posture parsed in S502, the bone position change information of the first virtual object in the target posture is migrated to the second virtual object, and the skin weight information in the bone binding information of the first virtual object in the target posture is copied to the second virtual object, so as to complete the migration of the bone binding information of the first virtual object in the target posture to the second virtual object, that is, the generation operation of the bone binding information of the second virtual object is completed.

[0098] According to the topology grid point of the first virtual object in the target posture and the first bone initial position of the first virtual object in the initial posture, the bone binding information of the first virtual object in the target posture is determined, and then the second bone initial position of the second virtual object in the initial posture is relocated according to the first bone initial position of the first virtual object in the initial posture, and the bone binding information of the first virtual object in the target posture is migrated to the second virtual object according to the first bone initial position and the second bone initial position. The scheme provides a preferred way of analyzing the bone binding information of the virtual object in the target posture according to the topology grid point of the virtual object in the target posture and the first bone initial position of the virtual object in the initial posture, which can quickly and accurately analyze the bone binding information of the virtual object, and provides a guarantee for the subsequent migration of the bone binding information.

[0099] Optionally, in the embodiment, the process of obtaining the topology grid point of the first virtual object in the target posture can further include: obtaining an initial topology grid point of the first virtual object in the target posture; and correcting the initial topology grid point according to a preset correction point to obtain a final topology grid point of the first virtual object in the target posture.

[0100] The preset correction point can be a point set preset for correcting the target posture display effect of the virtual object.

[0101] Specifically, the embodiment can be that first, the controller drives the first virtual object to display a target pose based on the bone binding information carried by the first virtual object, and obtains the vertices of each mesh surface in the three-dimensional mesh model of the first virtual object in the target pose as initial topological mesh points. Since the effect of the target pose displayed by the controller driving the first virtual object may not be very ideal, for example, the pose is relatively stiff and not lifelike enough. Therefore, at this time, the initial topological mesh points can be corrected based on the preset correction points, for example, the initial topological mesh points are fused with the preset correction points to obtain the final topological mesh points of the first target object in the target pose.

[0102] Optionally, the embodiment can be that first, the controller drives the first virtual object to display a target pose based on the bone binding information carried by the first virtual object, and then it is judged whether the effect of the target pose is ideal. If not, the initial topological mesh points are corrected according to the preset correction points to obtain the final topological mesh points. If ideal, the initial topological mesh points are directly taken as the final topological mesh points.

[0103] Optionally, the embodiment can also be that a plurality of groups of preset correction points are set. When the initial topological mesh points are corrected, a group of preset correction points is selected according to the type of the target pose or the distortion degree of the display effect to correct the initial topological mesh points.

[0104] In the embodiment, when the topological mesh points of the first virtual object in the target pose are obtained, the preset correction points are introduced to correct the topological mesh points of the first object in the target pose directly obtained, so that the target pose represented by the corrected topological mesh points is more natural and lifelike, thereby ensuring that the bone binding information migrated to the second virtual object subsequently is also more natural and lifelike.

[0105] Figure 6 is a flowchart of a virtual object bone binding migration method according to an embodiment of the present disclosure. The embodiment of the present disclosure further explains and describes in detail how to complete the operation after the bone binding information migration on the basis of the above-mentioned embodiment, as shown in Figure 6 The virtual object bone binding migration method provided by the embodiment can include the following steps.

[0106] S601, determining a second bone initial position of a second virtual object in an initial pose according to a first bone initial position of a first virtual object in the initial pose.

[0107] S602, migrating bone binding information of the first virtual object in a target pose to the second virtual object according to the first bone initial position and the second bone initial position, to obtain bone binding information of the second virtual object in the target pose.

[0108] S603, construct a mapping relationship between the skeleton binding information of the second virtual object in the target pose and the description information of the target pose; wherein the mapping relationship is used to determine the skeleton binding information corresponding to the description information of the target pose, and drive the second virtual object based on the skeleton binding information corresponding to the description information to display the target pose.

[0109] The description information in the target pose can be overall description information of the target pose, or driving control value information of each skeleton point in the target pose.

[0110] Optionally, the embodiment can construct the mapping relationship between the skeleton binding information of the second virtual object in the target pose and the description information of the target pose according to the radial basis function (Radial Basis Function, RBF) algorithm. The mapping relationship can represent the driving coefficient of the description information of the target pose to the target pose displayed by the second virtual object. The embodiment can construct the mapping relationship between the skeleton binding information in the target pose and the description information according to the above manner for different target poses of the second virtual object. If the controller receives the description information of a certain pose of the second virtual object input by the user, the skeleton binding information corresponding to the description information can be determined according to the pre-constructed mapping relationship, and then the second virtual object can be driven to display the target pose based on the determined skeleton binding information.

[0111] Specifically, if the description information of the target pose is the driving control value information of each skeleton point in the target pose, the mapping relationship between the driving control value information and the skeleton binding information of the second virtual object in the target pose can be directly constructed according to the radial basis function (Radial Basis Function, RBF) algorithm. If the description information of the target pose is the overall description information of the target pose, the driving control value information of each skeleton point corresponding to the overall description information can be parsed before the mapping relationship is constructed, and then the specific mapping relationship construction operation is performed.

[0112] Optionally, in the case where the target poses of the embodiment are multiple, according to the Radial Basis Function (RBF) algorithm, the specific implementation mode of constructing the mapping relationship between the driving control value information and the skeleton binding information of the second virtual object in the target pose can be: calculating the distance values (such as Euclidean distance) between the driving control values of multiple target poses to obtain a distance matrix. Then, according to the distance matrix and the skeleton binding information of the second virtual object in various target poses, the mapping relationship between the skeleton binding information of the second virtual object in various target poses and the description information in the corresponding target pose is determined. For example, if the second virtual object has N target poses in total, the Euclidean distances between the driving control values of N target poses are calculated to obtain an N*N distance matrix M, which records the Euclidean distances between the driving control values of each target pose and the driving control values of other target poses. The equation X4=Y / M is solved by the rbf algorithm; where M is the distance matrix, Y is the skeleton binding information in each target pose, and X4 is the mapping relationship between the skeleton binding information of the second virtual object in each target pose and the description information of each target pose. That is, for the skeleton binding information in each target pose, there is a set of mapping relationships between the description information in the target pose.

[0113] The scheme of the embodiment of the present disclosure is suitable for the first virtual object and the second virtual object with the same grid topology structure. According to the first skeleton initial position of the first virtual object in the initial pose, the second skeleton initial position of the second virtual object in the initial pose is relocated, and then the skeleton binding information of the first virtual object in the target pose is migrated to the second virtual object according to the first skeleton initial position and the second skeleton initial position. The mapping relationship between the skeleton binding information of the second virtual object in the target pose and the description information of the target pose is constructed, so as to facilitate subsequent determination of the skeleton binding information corresponding to the description information of the target pose based on the mapping relationship, and driving the second virtual object based on the skeleton binding information corresponding to the description information to display the target pose, thereby providing technical support for subsequent driving of the second virtual object based on the skeleton binding information.

[0114] Figure 7 is a structural schematic diagram of a virtual object skeleton binding migration device provided by the embodiment of the present disclosure. The embodiment of the present disclosure is suitable for the case of migrating the skeleton binding information carried by the first virtual object to the second virtual object in the case where the grid topologies of the first virtual object and the second virtual object are the same. The device can be configured in an electronic device with a virtual object skeleton binding migration function, and is implemented by software and / or hardware. The device can implement the virtual object skeleton binding migration method of any embodiment of the present disclosure. As shown in the figure, the virtual object skeleton binding migration device 700 includes: Figure 7 a first virtual object skeleton binding information obtaining unit 710, a second virtual object skeleton binding information obtaining unit 720, a first virtual object initial pose information obtaining unit 730, a second virtual object initial pose information obtaining unit 740, a first virtual object target pose information obtaining unit 750, a second virtual object target pose information obtaining unit 760, a first virtual object initial position information obtaining unit 770, a second virtual object initial position information obtaining unit 780, a first virtual object target pose information obtaining unit 750, a second virtual object target pose information obtaining unit 760, a first virtual object initial position information obtaining unit 770, a second virtual object initial position information obtaining unit 780,

[0115] The initial position determination module 701 is configured to determine a second bone initial position of a second virtual object in an initial pose according to a first bone initial position of the first virtual object in the initial pose.

[0116] The binding information migration module 702 is configured to migrate bone binding information of the first virtual object in a target pose to the second virtual object according to the first bone initial position and the second bone initial position, to obtain bone binding information of the second virtual object in the target pose.

[0117] The first virtual object and the second virtual object have the same mesh topology.

[0118] The scheme of the embodiments of the present disclosure is that, for the first virtual object and the second virtual object with the same mesh topology, the second bone initial position of the second virtual object in the initial pose is repositioned according to the first bone initial position of the first virtual object in the initial pose, and then the bone binding information of the first virtual object in the target pose is migrated to the second virtual object according to the first bone initial position and the second bone initial position, so as to add the bone binding information to the second virtual object. The scheme provides a scheme that the bone binding information of the first virtual object can be migrated to other virtual objects with the same mesh topology according to the initial bone position and the bone binding information of the first virtual object, which greatly reduces the cost of bone binding migration and improves the efficiency of bone binding migration.

[0119] Further, the initial position determination module 701 is specifically configured to:

[0120] determine a first cluster set of mesh points corresponding to an object bone point in the mesh topology of the first virtual object in the initial pose;

[0121] determine a second cluster set of mesh points corresponding to the object bone point in the mesh topology of the second virtual object in the initial pose;

[0122] determine a bone positioning coefficient according to the first cluster set of mesh points and the first bone initial position of the first virtual object in the initial pose;

[0123] determine the second bone initial position of the second virtual object in the initial pose according to the second cluster set of mesh points and the bone positioning coefficient.

[0124] Further, the bone binding information includes bone position change information and skin weight information; and the binding information migration module 702 includes:

[0125] The skeleton point cluster division unit is configured to divide object skeleton points into at least two skeleton point clusters according to the mesh topologies of the first virtual object and the second virtual object, and determine an information migration order between the at least two skeleton point clusters.

[0126] The skeleton position migration unit is configured to, according to the information migration order, for each skeleton point cluster, migrate skeleton position change information of the skeleton point cluster corresponding to the first virtual object in a target posture to the second virtual object according to the first skeleton initial position and the second skeleton initial position associated with the skeleton point cluster, to obtain skeleton position change information of the skeleton point cluster corresponding to the second virtual object in the target posture.

[0127] The skin weight migration unit is configured to take skin weight information of the skeleton point cluster in the target posture in the first virtual object as skin weight information of the skeleton point cluster in the target posture in the second virtual object.

[0128] Further, the skeleton position migration unit is specifically configured to:

[0129] migrate a first center position of the skeleton point cluster corresponding to the first virtual object in a target posture to the second virtual object to obtain a second center position of the skeleton point cluster corresponding to the second virtual object in the target posture;

[0130] migrate skeleton position change information of the skeleton point cluster corresponding to the first virtual object in the target posture to the second virtual object according to a first center position, the second center position, a third center position of the skeleton point cluster corresponding to the first virtual object in an initial posture, a fourth center position of the skeleton point cluster corresponding to the second virtual object in the initial posture, and the first skeleton initial position and the second skeleton initial position associated with the skeleton point cluster, to obtain skeleton position change information of the skeleton point cluster corresponding to the second virtual object in the target posture.

[0131] Further, the virtual object skeleton binding migration device 700 further includes:

[0132] The topology mesh point acquisition module is configured to acquire a topology mesh point of the first virtual object in the target posture.

[0133] The skeleton binding information determination module is configured to determine skeleton binding information of the first virtual object in the target posture according to the topology mesh point and a first skeleton initial position of the first virtual object in the initial posture.

[0134] Further, the topology mesh point acquisition module is specifically configured to:

[0135] obtain an initial topological mesh point of the first virtual object in the target pose;

[0136] correct the initial topological mesh point according to a preset correction point, to obtain a final topological mesh point of the first virtual object in the target pose.

[0137] Further, the virtual object bone binding migration apparatus 700 further comprises:

[0138] a mapping relationship construction module, configured to construct a mapping relationship between bone binding information of the second virtual object in the target pose and description information of the target pose; wherein the mapping relationship is used to determine bone binding information corresponding to the description information of the target pose, and drive the second virtual object to display the target pose based on the bone binding information corresponding to the description information.

[0139] The product can execute the method provided by any embodiment of the present disclosure, and has the corresponding function modules and beneficial effects of executing the method.

[0140] In the technical solution of the present disclosure, the acquisition, storage and application of the related data of any virtual object, such as bone position, three-dimensional mesh model, bone binding information, etc., all comply with relevant laws and regulations and do not violate public order and good customs.

[0141] It should be noted that the three-dimensional virtual face in the embodiment is not a face of a specific user, and cannot reflect personal information of a specific user.

[0142] According to the embodiments of the present disclosure, the present disclosure further provides an electronic device, a readable storage medium and a computer program product.

[0143] Figure 8 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptops, desktops, tablets, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular telephones, smartphones, wearable devices, and other similar computing devices. The components shown here, their connections and relationships, and their functions, are meant to be examples only, and are not intended to limit the implementations of the present disclosure described and / or claimed in this document.

[0144] As Figure 8As shown, the device 800 includes a computing unit 801 that can perform various appropriate actions and processes in accordance with a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. Various programs and data required for the operation of the device 800 can also be stored in the RAM 803. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other through a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0145] A plurality of components in the device 800 are connected to the I / O interface 805, including an input unit 806 such as a keyboard, a mouse, etc., an output unit 807 such as various types of displays, speakers, etc., a storage unit 808 such as a magnetic disk, an optical disk, etc., and a communication unit 809 such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the device 800 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.

[0146] The computing unit 801 can be various general and / or special purpose processing components having processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 801 performs various methods and processes described above, such as the skeletal binding transfer method of a virtual object. For example, in some embodiments, the skeletal binding transfer method of a virtual object can be implemented as a computer software program that is tangibly embodied in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the skeletal binding transfer method of a virtual object described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform the skeletal binding transfer method of a virtual object by any other appropriate means, such as by means of firmware.

[0147] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a complex programmable logic device (CPLD), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0148] Program code for carrying out methods of the present disclosure can be written in any combination of one or more programming languages. The program code can be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the program code, when executed by the processor or controller, produces the functions / operations specified in the flowcharts and / or the block diagrams. The program code can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.

[0149] In the context of the present disclosure, a machine-readable medium can be a tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include but is not limited to an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memories (CD-ROMs), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0150] To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.

[0151] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), blockchain network, and the Internet.

[0152] The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. A server can be a cloud server, also known as cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service. The server can also be a server of a distributed system, or a server combined with a blockchain.

[0153] Artificial intelligence is a discipline that studies enabling computers to simulate some human thinking processes and intelligent behaviors (such as learning, reasoning, thinking, planning, etc.), both hardware and software technologies. Artificial intelligence hardware technology generally includes technologies such as sensors, special artificial intelligence chips, cloud computing, distributed storage, big data processing, etc.; artificial intelligence software technology mainly includes computer vision technology, speech recognition technology, natural language processing technology, and machine learning / deep learning technology, big data processing technology, knowledge graph technology, etc. several major directions.

[0154] Cloud computing refers to a technology system that accesses an elastic scalable shared physical or virtual resource pool through a network, the resources can include servers, operating systems, networks, software, applications and storage devices, etc., and the resources can be deployed and managed in a demand self-service manner. Through cloud computing technology, efficient and powerful data processing capabilities can be provided for artificial intelligence, blockchain and other technical applications and model training.

[0155] It should be understood that the various forms of flow shown above can be used to reorder, add or delete steps. For example, each step described in the present disclosure can be executed in parallel, sequentially or in a different order, as long as the desired results of the technical solutions disclosed in the present disclosure can be achieved, which is not limited herein.

[0156] The above specific embodiments do not constitute a limitation on the protection scope of the present disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A method for skeletal binding and migration of virtual objects, comprising: Based on the initial position of the first bone of the first virtual object in the initial posture, determine the initial position of the second bone of the second virtual object in the same initial posture; Based on the initial positions of the first and second bones, the bone binding information of the first virtual object in the target pose is transferred to the second virtual object to obtain the bone binding information of the second virtual object in the target pose. The bone binding information records the binding relationship between the bone points of the virtual object and the mesh vertices of the 3D mesh model. The bone binding information includes bone position change information and skinning weight information. The bone position change information characterizes the position change of each virtual object's bone points relative to the initial pose in the current target pose. The bone position change information includes position translation and position rotation. The bone binding information corresponding to the first and second virtual objects in different target poses is different. The first virtual object and the second virtual object have the same grid topology.

2. The method according to claim 1, wherein, The step of determining the initial position of the second bone of the second virtual object in the initial posture based on the initial position of the first bone of the first virtual object in the initial posture includes: Determine the first cluster of mesh points corresponding to the object's skeletal points in the mesh topology under the initial pose of the first virtual object; Determine the second mesh point cluster set corresponding to the object skeleton points in the mesh topology structure under the initial pose of the second virtual object; Determine the bone positioning coefficients based on the first grid point cluster and the initial position of the first bone of the first virtual object in the initial pose; Based on the second grid point cluster and the bone positioning coefficient, the initial position of the second bone of the second virtual object in the initial pose is determined.

3. The method according to claim 1, wherein, The skeletal binding information includes: bone position change information and skinning weight information; the step of transferring the skeletal binding information of the first virtual object in the target pose to the second virtual object based on the initial positions of the first and second bones, to obtain the skeletal binding information of the second virtual object in the target pose, includes: Based on the mesh topology of the first virtual object and the second virtual object, the object skeleton points are divided into at least two skeleton point clusters, and the information migration order between the at least two skeleton point clusters is determined. According to the information migration order, for each bone cluster, based on the first bone initial position and the second bone initial position associated with the bone cluster, the bone position change information of the bone cluster corresponding to the first virtual object in the target pose is migrated to the second virtual object, so as to obtain the bone position change information of the bone cluster corresponding to the second virtual object in the target pose. The skinning weight information of the skeletal point clusters in the first virtual object under the target pose is used as the skinning weight information of the skeletal point clusters in the second virtual object under the target pose.

4. The method according to claim 3, wherein, The step of transferring the bone position change information of the bone point cluster corresponding to the first virtual object in the target pose to the second virtual object based on the first bone initial position and the second bone initial position associated with the bone point cluster, to obtain the bone position change information of the bone point cluster corresponding to the second virtual object in the target pose, includes: The first center position of the skeletal point cluster corresponding to the first virtual object under the target pose is transferred to the second virtual object to obtain the second center position of the skeletal point cluster corresponding to the second virtual object under the target pose. Based on the first center position, the second center position, the third center position of the bone point cluster corresponding to the first virtual object in the initial pose, the fourth center position of the bone point cluster corresponding to the second virtual object in the initial pose, and the first initial position and the second initial position of the bone associated with the bone point cluster, the bone position change information of the bone point cluster corresponding to the first virtual object in the target pose is transferred to the second virtual object to obtain the bone position change information of the bone point cluster corresponding to the second virtual object in the target pose.

5. The method according to any one of claims 1-4, further comprising: Obtain the topological mesh points of the first virtual object under the target pose; Based on the topological mesh points and the initial position of the first bone of the first virtual object in the initial pose, determine the bone binding information of the first virtual object in the target pose.

6. The method according to claim 5, wherein, The step of obtaining the topological mesh points of the first virtual object under the target pose includes: Obtain the initial topological mesh points of the first virtual object under the target pose; The initial topology grid points are corrected according to the preset correction points to obtain the final topology grid points of the first virtual object under the target pose.

7. The method according to claim 1, further comprising: A mapping relationship is constructed between the skeletal binding information of the second virtual object under the target pose and the description information of the target pose; wherein, the mapping relationship is used to determine the skeletal binding information corresponding to the description information of the target pose, and based on the skeletal binding information corresponding to the description information, the second virtual object is driven to display the target pose.

8. A skeletal rigging and migration device for a virtual object, comprising: An initial position determination module is used to determine the initial position of the second bone of the second virtual object in the initial posture based on the initial position of the first bone of the first virtual object in the initial posture. A binding information migration module is used to migrate the bone binding information of the first virtual object in the target pose to the second virtual object based on the initial positions of the first and second bones, thereby obtaining the bone binding information of the second virtual object in the target pose. The bone binding information records the binding relationship between the bone points of the virtual object and the mesh vertices of the 3D mesh model. The bone binding information includes bone position change information and skinning weight information. The bone position change information characterizes the position change of each virtual object's bone points relative to the initial pose in the current target pose. The bone position change information includes position translation and position rotation. The bone binding information corresponding to the first and second virtual objects in different target poses is different. The first virtual object and the second virtual object have the same grid topology.

9. The apparatus according to claim 8, wherein, The initial position determination module is specifically used for: Determine the first cluster of mesh points corresponding to the object's skeletal points in the mesh topology under the initial pose of the first virtual object; Determine the second mesh point cluster set corresponding to the object skeleton points in the mesh topology structure under the initial pose of the second virtual object; Determine the bone positioning coefficients based on the first grid point cluster and the initial position of the first bone of the first virtual object in the initial pose; Based on the second grid point cluster and the bone positioning coefficient, the initial position of the second bone of the second virtual object in the initial pose is determined.

10. The apparatus according to claim 8, wherein, The skeleton binding information includes: skeleton position change information and skinning weight information; the binding information migration module includes: The skeleton point cluster division unit is used to divide the object skeleton points into at least two skeleton point clusters according to the mesh topology of the first virtual object and the second virtual object, and to determine the information migration order between the at least two skeleton point clusters. The skeleton position migration unit is used to migrate the skeleton position change information of the skeleton point cluster corresponding to the first virtual object in the target pose to the second virtual object according to the information migration order and for each skeleton point cluster, based on the first initial position of the skeleton point cluster and the second initial position of the skeleton point cluster associated with the skeleton point cluster, so as to obtain the skeleton position change information of the skeleton point cluster corresponding to the second virtual object in the target pose. The skin weight transfer unit is used to transfer the skin weight information of the bone point clusters in the first virtual object under the target pose as the skin weight information of the bone point clusters in the second virtual object under the target pose.

11. The apparatus according to claim 10, wherein, The bone position migration unit is specifically used for: The first center position of the skeletal point cluster corresponding to the first virtual object under the target pose is transferred to the second virtual object to obtain the second center position of the skeletal point cluster corresponding to the second virtual object under the target pose. Based on the first center position, the second center position, the third center position of the bone point cluster corresponding to the first virtual object in the initial pose, the fourth center position of the bone point cluster corresponding to the second virtual object in the initial pose, and the first initial position and the second initial position of the bone associated with the bone point cluster, the bone position change information of the bone point cluster corresponding to the first virtual object in the target pose is transferred to the second virtual object to obtain the bone position change information of the bone point cluster corresponding to the second virtual object in the target pose.

12. The apparatus according to any one of claims 8-11, further comprising: The topology grid point acquisition module is used to acquire the topology grid points of the first virtual object under the target pose; The skeleton binding information determination module is used to determine the skeleton binding information of the first virtual object in the target pose based on the topological mesh points and the initial position of the first bone of the first virtual object in the initial pose.

13. The apparatus according to claim 12, wherein, The topology grid point acquisition module is used for: Obtain the initial topological mesh points of the first virtual object under the target pose; The initial topology grid points are corrected according to the preset correction points to obtain the final topology grid points of the first virtual object under the target pose.

14. The apparatus of claim 8, further comprising: A mapping relationship construction module is used to construct a mapping relationship between the skeletal binding information of the second virtual object under the target pose and the description information of the target pose; wherein, the mapping relationship is used to determine the skeletal binding information corresponding to the description information of the target pose, and based on the skeletal binding information corresponding to the description information, drive the second virtual object to display the target pose.

15. An electronic device comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the skeletal binding and migration method for the virtual object as described in any one of claims 1-7.

16. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute the skeletal binding migration method for virtual objects according to any one of claims 1-7.

17. A computer program product comprising a computer program that, when executed by a processor, implements the skeletal binding and migration method for a virtual object according to any one of claims 1-7.

Citation Information

Patent Citations

  • Bone binding method and device of human body model and electronic equipment

    CN113034691A