Virtual image driving method and device, equipment, medium and program product
By adjusting the driving coefficient of the bone nodes in the virtual image model, the problem of poor accuracy of the bone driving coefficient is solved, and a more natural and efficient virtual image driving effect is achieved.
Patent Information
- Application Number
- CN202210807267.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-07
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2042-07-07
AI Technical Summary
In virtual image driving, the accuracy of the bone driving coefficient is poor, which affects the naturalness and effect of virtual image driving.
By determining the relative position characteristics and rotation characteristics between the current bone node and the target bone node in the virtual image model, adjusting the initial driving coefficients, obtaining the intermediate and target driving coefficients, and then adjusting the pose parameters of the skin vertex to generate a natural virtual image .
It effectively improves the rationality and accuracy of the bone driving coefficient, improves the naturalness and effect of virtual image driving, reduces manual assisted workload, improves efficiency and reduces costs.
Smart Images

Figure CN115147523B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of artificial intelligence technology, specifically to the technical fields of augmented reality, virtual reality, computer vision, deep learning, etc., and can be applied to scenarios such as virtual image driving and metaverse. Background Art
[0002] Virtual image driving is widely used in social, live broadcast, games and other scenarios. The rationality of the skeletal driving coefficient affects the naturalness of the virtual image driving. However, in some scenarios, the determined skeletal driving coefficient is not accurate, which in turn affects the virtual image driving effect. Summary of the invention
[0003] The present disclosure provides a virtual image driving method and apparatus, equipment, medium and product.
[0004] According to one aspect of the present disclosure, a method for driving a virtual image is provided, including: determining, for a current bone node in a virtual image model, a relative position feature between the current bone node and a target bone node; adjusting a first initial driving coefficient based on the current bone node according to the relative position feature to obtain a first intermediate driving coefficient, and adjusting a second initial driving coefficient based on the target bone node to obtain a second intermediate driving coefficient; determining a first rotation feature of the current bone node relative to the target bone node according to the first intermediate driving coefficient and the second intermediate driving coefficient; adjusting the first intermediate driving coefficient according to the first rotation feature to obtain a first target driving coefficient based on the current bone node; and adjusting the posture parameters of the skin vertex associated with the current bone node in the virtual image model according to the first target driving coefficient to obtain a virtual image based on the first target driving coefficient.
[0005] According to another aspect of the present disclosure, a virtual image driving device is provided, including: a relative position feature determination module, for determining the relative position feature between the current bone node and the target bone node in the virtual image model; an initial driving coefficient adjustment module, for adjusting the first initial driving coefficient based on the current bone node according to the relative position feature to obtain a first intermediate driving coefficient, and adjusting the second initial driving coefficient based on the target bone node to obtain a second intermediate driving coefficient; a first rotation feature determination module, for determining the first rotation feature of the current bone node relative to the target bone node according to the first intermediate driving coefficient and the second intermediate driving coefficient; a first target driving coefficient determination module, for adjusting the first intermediate driving coefficient according to the first rotation feature to obtain a first target driving coefficient based on the current bone node; a virtual image driving module, for adjusting the posture parameters of the skin vertices associated with the current bone node in the virtual image model according to the first target driving coefficient to obtain a virtual image based on the first target driving coefficient.
[0006] According to another aspect of the present disclosure, an electronic device is provided, comprising: at least one processor and a memory in communication with the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned virtual image driving method.
[0007] 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 enable a computer to execute the above-mentioned virtual character driving method.
[0008] According to another aspect of the present disclosure, a computer program product is provided, including a computer program stored in at least one of a readable storage medium and an electronic device, and the computer program implements the above-mentioned virtual image driving method when executed by a processor.
[0009] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0011] Figure 1 The system architecture of a method and device for driving a virtual image according to an embodiment of the present disclosure is schematically shown;
[0012] Figure 2A flowchart of a method for driving a virtual image according to an embodiment of the present disclosure is schematically shown;
[0013] Figure 3 A schematic diagram schematically shows a tree-like hierarchical structure of a skeleton node according to an embodiment of the present disclosure;
[0014] Figure 4 A schematic diagram schematically shows the association relationship between the skeleton nodes and the skin vertices according to an embodiment of the present disclosure;
[0015] Figure 5 A schematic diagram schematically shows the association relationship between a skeleton node and a virtual image model according to an embodiment of the present disclosure;
[0016] Figure 6 A block diagram of a virtual image driving device according to an embodiment of the present disclosure is schematically shown;
[0017] Figure 7 A block diagram of an electronic device for driving a virtual character according to an embodiment of the present disclosure is schematically shown. DETAILED DESCRIPTION
[0018] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0019] The terms used herein are only for describing specific embodiments and are not intended to limit the present disclosure. The terms "comprise", "include", etc. used herein indicate the existence of the features, steps, operations and / or components, but do not exclude the existence or addition of one or more other features, steps, operations or components.
[0020] All terms (including technical and scientific terms) used herein have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification, and should not be interpreted in an idealized or overly rigid manner.
[0021] When using expressions such as "at least one of A, B, and C, etc.", they should generally be interpreted according to the meaning of the expression commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0022] The embodiment of the present disclosure provides a method for driving a virtual image. The method of this embodiment includes: for a current bone node in a virtual image model, determining the relative position feature between the current bone node and the target bone node, adjusting the first initial driving coefficient based on the current bone node according to the relative position feature to obtain a first intermediate driving coefficient, adjusting the second initial driving coefficient based on the target bone node to obtain a second intermediate driving coefficient, determining the first rotation feature of the current bone node relative to the target bone node according to the first intermediate driving coefficient and the second intermediate driving coefficient, adjusting the first intermediate driving coefficient according to the first rotation feature to obtain a first target driving coefficient based on the current bone node, and adjusting the posture parameters of the skin vertex associated with the current bone node in the virtual image model according to the first target driving coefficient to obtain a virtual image based on the first target driving coefficient.
[0023] Figure 1 The system architecture of the virtual image driving method and device according to an embodiment of the present disclosure is schematically shown. It should be noted that: Figure 1 What is shown is merely an example of a system architecture to which the embodiments of the present disclosure can be applied, in order to help those skilled in the art understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used in other devices, systems, environments or scenarios.
[0024] The system architecture 100 according to this embodiment may include a request terminal 101, a network 102, and a server 103. The network 102 is used to provide a medium for a communication link between the request terminal 101 and the server 103. The network 102 may include various connection types, such as wired or wireless communication links or optical fiber cables, etc. The server 103 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud computing, network services, and middleware services.
[0025] The request terminal 101 interacts with the server 103 through the network 102 to receive or send data, etc. The request terminal 101 is used, for example, to initiate a virtual image drive request to the server 103, and the request terminal 101 is also used, for example, to send the initial local pose matrix of the bone nodes in the virtual image model to the server 103, and to send the initial pose features of the skin vertices in the virtual image model.
[0026] The server 103 may be a server that provides various services, for example, may be a background processing server that performs information processing according to the virtual image driving request sent by the request terminal 101 (only as an example).
[0027] For example, in response to a virtual image drive request obtained from the request terminal 101, the server 103 is used to determine the relative position feature between the current bone node and the target bone node in the virtual image model, and adjust the first initial drive coefficient based on the current bone node according to the relative position feature to obtain a first intermediate drive coefficient, and adjust the second initial drive coefficient based on the target bone node to obtain a second intermediate drive coefficient. The server 103 is also used to determine the first rotation feature of the current bone node relative to the target bone node according to the first intermediate drive coefficient and the second intermediate drive coefficient, adjust the first intermediate drive coefficient according to the first rotation feature to obtain a first target drive coefficient based on the current bone node, and adjust the pose parameters of the skin vertex associated with the current bone node in the virtual image model according to the first target drive coefficient to obtain a virtual image based on the first target drive coefficient.
[0028] It should be noted that the virtual image driving method provided in the embodiment of the present disclosure can be executed by the server 103. Accordingly, the virtual image driving device provided in the embodiment of the present disclosure can be set in the server 103. The virtual image driving method provided in the embodiment of the present disclosure can also be executed by a server or server cluster that is different from the server 103 and can communicate with the request terminal 101 and / or the server 103. Accordingly, the virtual image driving device provided in the embodiment of the present disclosure can also be set in a server or server cluster that is different from the server 103 and can communicate with the request terminal 101 and / or the server 103.
[0029] It should be understood that Figure 1 The number of request terminals, networks and servers in the embodiment is only for illustration. Any number of request terminals, networks and servers may be provided according to implementation requirements.
[0030] The present disclosure provides a method for driving a virtual image. Figure 1 The system architecture of Figure 2 to Figure 5 The virtual image driving method according to the exemplary embodiment of the present disclosure is described as follows. The virtual image driving method of the embodiment of the present disclosure can be, for example, Figure 1 The server 103 shown is used for execution.
[0031] Figure 2 The flowchart of a virtual character driving method according to an embodiment of the present disclosure is schematically shown.
[0032] like Figure 2 As shown, the virtual character driving method 200 of the embodiment of the present disclosure may include, for example, operations S210 to S250.
[0033] In operation S210, for a current bone node in the avatar model, a relative position feature between the current bone node and a target bone node is determined.
[0034] In operation S220, according to the relative position feature, the first initial driving coefficient based on the current bone node is adjusted to obtain a first intermediate driving coefficient, and the second initial driving coefficient based on the target bone node is adjusted to obtain a second intermediate driving coefficient.
[0035] In operation S230, a first rotation feature of the current bone node relative to the target bone node is determined according to the first intermediate driving coefficient and the second intermediate driving coefficient.
[0036] In operation S240, the first intermediate driving coefficient is adjusted according to the first rotation feature to obtain a first target driving coefficient based on the current skeleton node.
[0037] In operation S250, the pose parameters of the skin vertices associated with the current skeleton node in the avatar model are adjusted according to the first target driving coefficient to obtain the avatar based on the first target driving coefficient.
[0038] The following examples illustrate the various operation process examples of the virtual character driving method of this embodiment.
[0039] Exemplarily, the avatar model may be a skeletal skin model obtained by binding a deformable object to a skeletal structure, and the avatar model may include skeletal nodes and skin vertices. The skeletal nodes in the avatar model have a topological association relationship, and the topological hierarchy structure composed of multiple skeletal nodes may be, for example, a tree-like hierarchy structure. A single skin vertex in the avatar model may be controlled by at least one skeletal node, and the sum of the skin weights of the skeletal nodes that have a control effect on the same skin vertex is 1, and the skin weight is used to distinguish the degree of control of the corresponding skeletal node on the skin vertex.
[0040] The avatar model can be driven to produce rigid changes to obtain different transformed images of the avatar, and the rigid changes can include, for example, rotation changes, translation changes, and scaling changes. The avatar model can be driven to produce rigid changes based on the bone drive coefficients, and the bone drive coefficients can include, for example, rotation control parameters for driving the skin vertices to rotate positions, or translation control parameters for driving the skin vertices to translate positions, or scaling control parameters for driving the avatar model to scale.
[0041] The bone drive coefficient and the local pose matrix of the bone node can be converted to each other losslessly. For example, for a bone node i, the bone drive coefficient based on the bone node i can be represented by localTRS(i), and the local pose matrix of the bone node i can be represented by matTRS(i).
[0042]
[0043] The translation control parameter in the bone drive coefficient can be (T x , T y , T z ), the rotation control parameters can be expressed by (α, β, γ), α = atan2(-m 20 , m 00 ), β=asin(m 10 ),γ=atan2(-m 12 , m 11 ), atan2() represents the inverse tangent function, and asin() represents the inverse sine function. The scaling control parameter can be represented by the modulus length of the first three columns of the local pose matrix.
[0044] For the current bone node in the avatar model, the relative position feature between the current bone node and the target bone node is determined. The topological structure level corresponding to the target bone node is higher than the topological structure level corresponding to the current bone node. The target bone node may be, for example, the parent node of the current bone node.
[0045] Based on the relative position feature between the current bone node and the target bone node, the first initial driving coefficient based on the current bone node can be adjusted to obtain a first intermediate driving coefficient, and the first initial driving coefficient can include, for example, a first local pose matrix of the current bone node. Based on the relative position feature, the second initial driving coefficient based on the target bone node is adjusted to obtain a second intermediate driving coefficient, and the second initial driving coefficient can include, for example, a second local pose matrix of the target bone node.
[0046] The first local pose matrix and the second local pose matrix may be initial local pose matrices of corresponding bone nodes. In an example manner, in response to an acquired image sequence containing a target object, a bone pose parameter of the target object in the corresponding image is determined according to depth information of any image in the image sequence, and the bone pose parameter may include initial local pose matrices of multiple bone nodes.
[0047] According to the first intermediate driving coefficient and the second intermediate driving coefficient, the first rotation feature of the current bone node relative to the target bone node is determined. The first rotation feature can, for example, indicate the first rotation angle and the first rotation axis parameter of the current bone node relative to the target bone node. According to the first rotation feature, the first intermediate driving coefficient is adjusted to obtain the first target driving coefficient based on the current bone node. Exemplarily, the local rotation submatrix in the first intermediate driving coefficient can be adjusted according to the first rotation feature to obtain the first target driving coefficient.
[0048] According to the first target driving coefficient, the virtual image data of the virtual image model is rigidly transformed to obtain the virtual image driving result. The virtual image data can be, for example, point cloud data formed by the position information of the skin vertices in the virtual image model. Exemplarily, the pose parameters of the skin vertices controlled by the current bone node in the virtual image model can be adjusted according to the first target driving coefficient to obtain the virtual image based on the first target driving coefficient.
[0049] Through the embodiments of the present disclosure, for the current bone node in the virtual image model, the relative position characteristics between the current bone node and the target bone node are determined, and according to the relative position characteristics, the first initial driving coefficient based on the current bone node is adjusted to obtain a first intermediate driving coefficient, and the second initial driving coefficient based on the target bone node is adjusted to obtain a second intermediate driving coefficient. According to the first intermediate driving coefficient and the second intermediate driving coefficient, the first rotation characteristic of the current bone node relative to the target bone node is determined, and according to the first rotation characteristic, the first intermediate driving coefficient is adjusted to obtain a first target driving coefficient based on the current bone node.
[0050] It can effectively ensure the rationality of the skeleton driving coefficient, effectively improve the naturalness of the virtual image driving, effectively improve the virtual image driving effect, and effectively meet the virtual image driving requirements of complex role models. It is beneficial to reduce the manual auxiliary workload during the virtual image driving, effectively improve the virtual image driving efficiency, and effectively reduce the virtual image driving cost.
[0051] Figure 3 A schematic diagram schematically shows a tree-like hierarchical structure of skeleton nodes according to an embodiment of the present disclosure.
[0052] like Figure 3 As shown, the skeleton node nodeRoot is the root node, the root node nodeRoot is the parent node of the skeleton node nodeA, and the skeleton node nodeA is the parent node of the skeleton node nodeB.
[0053] For example, the global pose matrix of the skeleton node can be calculated using formula (1):
[0054]
[0055] corrdinate global Represents the global pose matrix of the bone node, orrdinat local Represents the local pose matrix of the bone node, Represents the global pose matrix of the parent node of the bone node.
[0056] The local pose matrix of a bone node can indicate the relative position relationship between the bone node and the parent node. Starting from the nodes after the root node, the local pose matrix of the parent node can be passed layer by layer to obtain the global pose matrix of each bone node, that is, the absolute position information of each bone node.
[0057] For example, the global pose matrices of the skeleton nodes nodeRoot, nodeA, and nodeB can be calculated using equations (2), (3), and (4) respectively.
[0058] globalRoot=localRoot (2)
[0059] gloablA=gloablRoot*localA (3)
[0060] gloablB=gloablA*localB (4)
[0061] gloablRoot, gloablA, and loablB represent the global pose matrices of the skeleton nodes nodeRoot, nodeA, and nodeB respectively, and localRoot, localA, and localB represent the local pose matrices of the skeleton nodes nodeRoot, nodeA, and nodeB respectively.
[0062] The pose of a bone node is affected by its parent node. When the pose of the parent node changes, the pose of the child node may also change accordingly. In addition, the pose parameters of the skin vertices controlled by the child node may also change. The higher the topological structure level of the bone node, the wider the skin range affected by it.
[0063] For a current bone node in the avatar model, a relative position feature between the current bone node and the target bone node is determined. In an exemplary manner, the relative position feature can be determined based on a first initial position of the current bone node indicated by a first initial driving coefficient and a second initial position of the target bone node indicated by a second initial driving coefficient.
[0064] The first initial driving coefficient includes the first local pose matrix of the current bone node. The first local pose matrix can be TRS decomposed to obtain globalChildT (global displacement sub-matrix), globalChildR (global rotation sub-matrix) and globalChildS (global scaling sub-matrix).
[0065] The second initial driving coefficient includes the second local pose matrix of the target bone node, and the second local pose matrix can be TRS decomposed to obtain globalParentT, globalParentR, and globalParentS. globalChildT and globalParentT can represent the node coordinates of the current bone node and the target bone node respectively.
[0066] For example, the relative position feature between the current bone node and the target bone node can be calculated by formula (5):
[0067] global vec =normalize(globalChildT-globalParentT) (5)
[0068] global vec Relative position feature, global vec It can be the node direction vector between the current bone node and the target bone node, and normalize represents the vector normalization operation.
[0069] According to the relative position feature, the first initial driving coefficient based on the current bone node is adjusted to obtain a first intermediate driving coefficient, and the second initial driving coefficient based on the target bone node is adjusted to obtain a second intermediate driving coefficient.
[0070] In an example manner, a first global pose matrix of the current bone node can be determined based on the first local pose matrix and the second local pose matrix, and a second global pose matrix of the target bone node can be determined based on the second local pose matrix.
[0071] According to the first global pose matrix and the node direction vector used to characterize the relative position feature, the third local pose matrix of the current bone node is determined as the first intermediate driving coefficient. According to the second global pose matrix and the node direction vector, the fourth local pose matrix of the target bone node is determined as the second intermediate driving coefficient.
[0072] For example, the first local pose matrix of the current bone node can be multiplied with the local pose matrices of all parent nodes passed layer by layer to obtain the first global pose matrix of the current bone node. The second local pose matrix of the target bone node can be multiplied with the local pose matrices of all parent nodes passed layer by layer to obtain the second global pose matrix of the target bone node.
[0073] For example, the third local pose matrix and the fourth local pose matrix can be calculated by equation (6) and equation (7) respectively:
[0074]
[0075]
[0076] globalChild represents the third local pose matrix and the first global pose matrix of the current bone node. globalParent represents the fourth local pose matrix and the second global pose matrix of the target bone node, respectively. vec Represents the relative position feature, which can be the node direction vector between the current bone node and the target bone node.
[0077] According to the first intermediate driving coefficient and the second intermediate driving coefficient, a first rotation feature of the current bone node relative to the target bone node is determined. In an exemplary manner, a pose transformation matrix between the current bone node and the target bone node can be determined according to the third local pose matrix and the fourth local pose matrix.
[0078] For example, the pose transformation matrix can be calculated by equations (8), (9), and (10):
[0079]
[0080]
[0081]
[0082] Represents the pose transformation matrix between the current bone node and the target bone node.
[0083] The cross() function is used to calculate the vector product, the dot() function is used to perform vector dot multiplication, the acos() function is the arccosine function, and Rodrigues() represents the Rodrigues rotation formula.
[0084] Based on the pose transformation matrix and the first local pose matrix, a first rotation feature of the current bone node relative to the target bone node is determined. Exemplarily, the first rotation feature is calculated according to the pose transformation matrix and a local rotation submatrix in the first local pose matrix.
[0085] For example, the first rotation feature can be calculated by equation (11):
[0086]
[0087] Represents the first rotation feature of the current bone node relative to the target bone node, localChildR represents the local rotation submatrix in the first local pose matrix, Represents the pose transformation matrix between the current bone node and the target bone node.
[0088] According to the first rotation feature of the current bone node relative to the target bone node, the first intermediate driving coefficient is adjusted to obtain the first target driving coefficient based on the current bone node. In an exemplary manner, the first rotation angle and the first rotation axis parameter of the current bone node relative to the target bone node can be determined based on the first rotation feature. The first rotation angle is adjusted based on a first preset ratio to obtain a second rotation angle. According to the first rotation axis parameter and the second rotation angle, the second rotation feature of the current bone node relative to the target bone node is determined. Based on the second rotation feature and the posture transformation matrix, the fifth local posture matrix of the current bone node is determined as the first target driving coefficient.
[0089] For example, the first rotation angle and the first rotation axis parameter can be calculated using equation (12):
[0090]
[0091] They represent the first rotation angle and the first rotation axis parameters of the current bone node relative to the target bone node. Indicates the first rotation feature of the current bone node relative to the target bone node.
[0092] The Rodrigues rotation formula can calculate the process of obtaining a new vector by rotating the initial vector around the rotation axis at a given angle in a three-dimensional vector space. The Rodrigues rotation formula is the basic calculation formula for rigid body motion. -1 () can calculate information such as the rotation angle and rotation axis parameters during the vector rotation process.
[0093] The first rotation angle is adjusted based on a first preset ratio to obtain a second rotation angle.
[0094] For example, the process of adjusting the first rotation angle can be expressed by equation (13) and equation (14):
[0095]
[0096]
[0097] Represents the second rotation angle, which is obtained by rotating the first Subtract the angle with percentage x% to get the second rotation angle of the current bone node relative to the target bone node.
[0098] A second rotation feature of the current bone node relative to the target bone node is determined according to the first rotation axis parameter and the second rotation angle.
[0099] For example, the second rotation feature can be calculated by equation (15):
[0100]
[0101] Indicates the second rotation feature of the current bone node relative to the target bone node. represents the first rotation axis parameter, Indicates the second rotation angle of the current bone node relative to the target bone node.
[0102] Based on the second rotation feature and the pose transformation matrix, a fifth local pose matrix of the current bone node is determined as the first target driving coefficient.
[0103] For example, the first target driving coefficient can be calculated by formula (16):
[0104]
[0105] localChild new Represents the fifth local pose matrix of the current bone node, which can be used as the first target driving coefficient based on the current bone node. Indicates the second rotation feature of the current bone node relative to the target bone node. Represents the pose transformation matrix of the current bone node relative to the target bone node, localChildT represents the local displacement sub-matrix in the first local pose matrix, and localChildR represents the local scaling sub-matrix in the first local pose matrix.
[0106] By adjusting the first rotation angle of the current bone node relative to the target bone node, the problem of appearance deformity caused by excessive twisting of the virtual image model during real-time motion capture can be effectively solved. The phenomenon of obvious twisting of the face connection caused by excessive twisting of the parent-child nodes can also be effectively alleviated, which can effectively improve the naturalness of the virtual image driving.
[0107] In an exemplary manner, a third rotation feature of the target bone node relative to the current bone node can also be determined based on the pose transformation matrix and the second local pose matrix, and the second intermediate driving coefficient is adjusted according to the third rotation feature to obtain a second target driving coefficient based on the target bone node.
[0108] Exemplarily, the third rotation angle and the second rotation axis parameter of the target bone node relative to the current bone node can be determined based on the third rotation feature. The third rotation angle is adjusted based on the second preset ratio to obtain a fourth rotation angle. According to the second rotation axis parameter and the fourth rotation angle, the fourth rotation feature of the target bone node relative to the current bone node is determined. According to the fourth rotation feature and the posture transformation matrix, the sixth local posture matrix of the target bone node is determined as the second target driving coefficient.
[0109] The calculation process of the second target driving coefficient is similar to that of the first target driving coefficient, and will not be described in detail in this embodiment. When adjusting the third rotation angle, the third rotation angle may be increased by an angle value of a second preset ratio, and the second preset ratio may be the same as the first preset ratio.
[0110] According to the first target drive coefficient, the pose parameters of the skin vertices associated with the current bone node in the virtual image model are adjusted to obtain a virtual image based on the first target drive coefficient. In an exemplary manner, a third global pose matrix of the current bone node is determined based on the first target drive coefficient and the second target drive coefficient. According to the third global pose matrix and the initial global pose matrix, the pose features of the skin vertices associated with the current bone node in the virtual image model are determined. According to the pose features, the pose parameters of the skin vertices are adjusted to obtain a virtual image based on the first target drive coefficient.
[0111] It can effectively improve the rationality and accuracy of the bone drive coefficient, which is beneficial to improving the naturalness of the virtual image drive, and can effectively improve the matching degree between the virtual image drive and the character model. It can effectively solve the problem of appearance deformity caused by excessive twisting of the virtual image model during real-time motion capture.
[0112] The first target driving coefficient is obtained based on the fifth local pose matrix of the current bone node, and the second target driving coefficient is obtained based on the sixth local pose matrix of the target bone node. The fifth local pose matrix can be multiplied with the sixth local pose matrix of the target bone node and the local pose matrices of all other parent nodes passed layer by layer to obtain the third global pose matrix of the current bone node.
[0113] According to the third global pose matrix and the initial global pose matrix, pose features of skin vertices associated with the current skeleton node in the avatar model are determined.
[0114] For example, the pose characteristics of the skin vertex can be calculated by formula (17):
[0115]
[0116] Deform indicates the posture characteristics of the skin vertex after being deformed by the current bone node. global Represents the real-time global pose matrix of the current bone node, that is, the third global pose matrix. It represents the initial global pose matrix of the current skeleton node. The initial global pose matrix can be obtained when generating a virtual image model, for example.
[0117] According to the posture characteristics, the posture parameters of the skin vertices are adjusted to obtain a virtual image based on the first target driving coefficient. The posture parameters may include, for example, displacement parameters, rotation parameters, and scaling parameters of the skin vertices. By adjusting the posture parameters of the skin vertices, the virtual image model can be driven to perform actions or generate deformations.
[0118] For the tree-like hierarchical structure composed of M bone nodes in the virtual image model, where M is an integer greater than 2, each bone node in the M bone nodes can be traversed in order from high to low according to the tree-like hierarchical structure, and the initial driving coefficient of each bone node is adjusted, that is, the initial local pose matrix of each bone node is adjusted to obtain the target driving coefficient of the corresponding bone node.
[0119] For any bone node among the M bone nodes, the initial driving coefficient of the bone node can be adjusted according to the relative position characteristics and relative rotation characteristics between the bone node and its parent node to obtain the target driving coefficient. Based on the target driving coefficient of the bone node, the posture parameters of the skin vertices controlled by the bone node are adjusted. In the process of adjusting the initial driving coefficient of the bone node, the initial driving coefficient of its parent node is also adjusted, and the posture parameters of the skin vertices controlled by the parent node can also be adjusted based on the target driving coefficient of the parent node.
[0120] After adjusting the pose parameters of the skin vertices associated with the bone node and its parent node, the virtual image model after the drive adjustment is obtained. Based on the virtual image model after the drive adjustment, the initial drive coefficient of the next bone node among the M bone nodes is adjusted, and the drive coefficient adjustment process is repeated until the drive coefficient adjustment for the M bone nodes is completed, or until other preset termination conditions are met, which are not limited in this embodiment.
[0121] It should be noted that the initial driving coefficient of any bone node may be the driving coefficient before a single driving adjustment, and the target driving coefficient may be the driving coefficient after a single driving adjustment.
[0122] By adjusting the initial driving coefficient of the current bone node according to the relative position characteristics and relative rotation characteristics between the current bone node and the target bone node, the target driving coefficient is obtained, and based on the target driving coefficient, the posture parameters of the skin vertices controlled by the current bone node are adjusted to obtain a virtual image based on the target driving coefficient. Based on the adjusted bone driving coefficient, the appearance shape deformation of the virtual image model is driven, which can effectively ensure the naturalness of the virtual image driving, effectively reduce the manual auxiliary workload in the virtual image driving process, effectively improve the efficiency of the virtual image driving, and effectively reduce the cost of the virtual image driving.
[0123] Figure 4 A schematic diagram schematically shows the association relationship between skeleton nodes and skin vertices according to an embodiment of the present disclosure.
[0124] like Figure 4 As shown, the target bone node 401 is the parent node of the current bone node 402, and the skin vertex 403 is the patch vertex controlled by the current bone node 402. According to the relative position characteristics and relative rotation characteristics between the target bone node 401 and the current bone node 402, the initial driving coefficient of the current bone node 402 is adjusted, that is, the local pose matrix of the current bone node 402 is adjusted. After the local pose matrix of the current bone node 402 changes, the pose parameters of the skin vertex 403 controlled by the current bone node 402 also change accordingly. The naturalness of the virtual image drive can be effectively improved, and the adaptability of the virtual image drive to complex role models can be effectively improved.
[0125] Figure 5 A schematic diagram schematically shows the association relationship between a skeleton node and a virtual image model according to an embodiment of the present disclosure.
[0126] like Figure 5As shown, the virtual image model 501 includes skin vertices and bone nodes. In order to intuitively display the bone nodes, a tree-like hierarchical structure 502 is used to represent the topological hierarchical structure between the bone nodes. The initial driving coefficient of the current bone node in the tree-like hierarchical structure 502 is adjusted to obtain the target driving coefficient. For example, according to the relative position characteristics and relative rotation characteristics between the current bone node and the target bone node, the initial driving coefficient of the current bone node is adjusted to obtain the target driving coefficient. The target bone node can be the parent node of the current bone node in the tree-like hierarchical structure 502, and the current bone node can be any bone node in the tree-like hierarchical structure 502.
[0127] In an exemplary manner, the initial driving coefficient of each bone node may be adjusted to obtain a target driving coefficient according to the order of the bone node levels from high to low in the tree-like hierarchical structure 502. According to the target driving coefficient of the current bone node, the pose parameters of the skin vertex controlled by the current bone node are adjusted to achieve driving the avatar model 501 to perform actions or generate deformation based on the target driving coefficient.
[0128] It can effectively reduce the manual assistance workload when driving the virtual image, effectively improve the automation level of the virtual image driving, and effectively ensure the virtual image driving effect.
[0129] Figure 6 A block diagram of a virtual image driving device according to an embodiment of the present disclosure is schematically shown.
[0130] like Figure 6 As shown, the virtual image driving device 600 of the embodiment of the present disclosure includes, for example, a relative position feature determination module 610, an initial drive coefficient adjustment module 620, a first rotation feature determination module 630, a first target drive coefficient determination module 640 and a virtual image driving module 650.
[0131] A relative position feature determination module 610 is used to determine the relative position feature between the current bone node and the target bone node in the virtual image model; an initial driving coefficient adjustment module 620 is used to adjust the first initial driving coefficient based on the current bone node according to the relative position feature to obtain a first intermediate driving coefficient, and adjust the second initial driving coefficient based on the target bone node to obtain a second intermediate driving coefficient; a first rotation feature determination module 630 is used to determine the first rotation feature of the current bone node relative to the target bone node according to the first intermediate driving coefficient and the second intermediate driving coefficient; a first target driving coefficient determination module 640 is used to adjust the first intermediate driving coefficient according to the first rotation feature to obtain a first target driving coefficient based on the current bone node; and a virtual image driving module 650 is used to adjust the posture parameters of the skin vertex associated with the current bone node in the virtual image model according to the first target driving coefficient to obtain a virtual image based on the first target driving coefficient.
[0132] It can effectively ensure the rationality of the skeleton driving coefficient, effectively improve the naturalness of the virtual image driving, effectively improve the virtual image driving effect, and effectively meet the virtual image driving requirements of complex role models. It is beneficial to reduce the manual auxiliary workload during the virtual image driving, effectively improve the virtual image driving efficiency, and effectively reduce the virtual image driving cost.
[0133] According to an embodiment of the present disclosure, the relative position feature determination module includes: a relative position feature determination submodule, which is used to determine the relative position feature based on a first initial position of the current bone node indicated by a first initial driving coefficient and a second initial position of the target bone node indicated by a second initial driving coefficient.
[0134] According to an embodiment of the present disclosure, the first initial driving coefficient includes the first local pose matrix of the current bone node, and the second initial driving coefficient includes the second local pose matrix of the target bone node; the initial driving coefficient adjustment module includes: a global pose matrix determination submodule, which is used to determine the first global pose matrix of the current bone node based on the first local pose matrix and the second local pose matrix, and to determine the second global pose matrix of the target bone node based on the second local pose matrix; and an intermediate driving coefficient determination submodule, which is used to determine the third local pose matrix of the current bone node as the first intermediate driving coefficient based on the first global pose matrix and the node direction vector used to characterize the relative position characteristics, and to determine the fourth local pose matrix of the target bone node as the second intermediate driving coefficient based on the second global pose matrix and the node direction vector.
[0135] According to an embodiment of the present disclosure, the first rotation feature determination module includes: a posture transformation matrix determination submodule, which is used to determine the posture transformation matrix between the current bone node and the target bone node according to the third local posture matrix and the fourth local posture matrix; and a first rotation feature determination submodule, which is used to determine the first rotation feature of the current bone node relative to the target bone node based on the posture transformation matrix and the first local posture matrix.
[0136] According to an embodiment of the present disclosure, the first target driving coefficient determination module includes: a first rotation feature parameter determination submodule, which is used to determine the first rotation angle and the first rotation axis parameter of the current bone node relative to the target bone node based on the first rotation feature; a second rotation angle determination submodule, which is used to adjust the first rotation angle based on a first preset ratio to obtain a second rotation angle; a second rotation feature determination submodule, which is used to determine the second rotation feature of the current bone node relative to the target bone node based on the first rotation axis parameter and the second rotation angle; and a first target driving coefficient determination submodule, which is used to determine the fifth local posture matrix of the current bone node based on the second rotation feature and the posture transformation matrix as the first target driving coefficient.
[0137] According to an embodiment of the present disclosure, the device also includes a second target driving coefficient determination module, which includes: a third rotation feature determination submodule, which determines the third rotation feature of the target bone node relative to the current bone node based on the posture transformation matrix and the second local posture matrix; and a second target driving coefficient determination submodule, which adjusts the second intermediate driving coefficient based on the third rotation feature to obtain a second target driving coefficient based on the target bone node.
[0138] According to an embodiment of the present disclosure, the second target driving coefficient determination submodule includes: a second rotation feature parameter determination unit, which is used to determine the third rotation angle and the second rotation axis parameter of the target bone node relative to the current bone node based on the third rotation feature; a fourth rotation angle determination unit, which is used to adjust the third rotation angle based on a second preset ratio to obtain a fourth rotation angle; a fourth rotation feature determination unit, which is used to determine the fourth rotation feature of the target bone node relative to the current bone node based on the second rotation axis parameter and the fourth rotation angle; and a second target driving coefficient determination unit, which is used to determine the sixth local posture matrix of the target bone node based on the fourth rotation feature and the posture transformation matrix as the second target driving coefficient.
[0139] According to an embodiment of the present disclosure, a virtual image driving module includes: a third global pose matrix determination submodule, which is used to determine the third global pose matrix of the current skeleton node based on the first target driving coefficient and the second target driving coefficient; a skin vertex pose feature determination submodule, which is used to determine the pose features of the skin vertices associated with the current skeleton node in the virtual image model according to the third global pose matrix and the initial global pose matrix; and a virtual image driving submodule, which is used to adjust the pose parameters of the skin vertices according to the pose features to obtain a virtual image based on the first target driving coefficient.
[0140] According to an embodiment of the present disclosure, there is a topological association relationship between the skeletal nodes in the virtual image model, and the topological structure level corresponding to the target skeletal node is higher than the topological structure level corresponding to the current skeletal node.
[0141] It should be noted that the information collection, storage, use, processing, transmission, provision and disclosure involved in the technical solution of the present disclosure are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0142] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0143] Figure 7 A block diagram of an electronic device for driving a virtual character according to an embodiment of the present disclosure is schematically shown.
[0144] Figure 7 A schematic block diagram of an example electronic device 700 that can be used to implement an embodiment of the present disclosure is shown. The electronic device 700 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0145] like Figure 7As shown, the device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0146] A number of components in the device 700 are connected to the I / O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a disk, an optical disk, etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0147] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running deep learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above, such as the virtual image driving method. For example, in some embodiments, the virtual image driving method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the virtual image driving method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the virtual image driving method in any other appropriate manner (e.g., by means of firmware).
[0148] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0149] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable model training device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code can be executed entirely on the machine, partially on the machine, partially on the machine as a stand-alone software package and partially on a remote machine, or entirely on a remote machine or server.
[0150] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0151] To provide interaction with an object, the systems and techniques described herein 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 object; and a keyboard and pointing device (e.g., a mouse or trackball) through which the object can provide input to the computer. Other types of devices can also be used to provide interaction with an object; for example, the feedback provided to the object can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the object can be received in any form (including acoustic input, voice input, or tactile input).
[0152] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., an object computer having a graphical object interface or a web browser through which the object can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0153] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0154] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0155] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for driving a virtual image, comprising: For a current bone node in the avatar model, determining a relative position feature between the current bone node and a target bone node; Determine a first intermediate driving coefficient according to a first global pose matrix of the current skeleton node and a node direction vector used to characterize the relative position feature, wherein the first global pose matrix is determined according to a first local pose matrix of the current skeleton node and a second local pose matrix of the target skeleton node; Determine a second intermediate driving coefficient according to a second global pose matrix of the target bone node and the node direction vector, wherein the second global pose matrix is determined according to the second local pose matrix; Determining a first rotation feature of the current bone node relative to the target bone node according to the first intermediate driving coefficient and the second intermediate driving coefficient; According to the first rotation feature, the first intermediate driving coefficient is adjusted to obtain a first target driving coefficient based on the current bone node; and According to the first target driving coefficient, the pose parameters of the skin vertices associated with the current skeleton node in the virtual image model are adjusted to obtain a virtual image based on the first target driving coefficient.
2. The method according to claim 1, wherein: The determining of the relative position feature between the current skeleton node and the target skeleton node includes: The relative position feature is determined according to a first initial position of the current bone node indicated by the first local pose matrix and a second initial position of the target bone node indicated by the second local pose matrix.
3. The method according to claim 1, wherein: The determining of the first intermediate driving coefficient comprises: determining a third local pose matrix of the current bone node as the first intermediate driving coefficient according to the first global pose matrix and the node direction vector; The determining of the second intermediate driving coefficient includes: determining a fourth local pose matrix of the target bone node as the second intermediate driving coefficient according to the second global pose matrix and the node direction vector.
4. The method according to claim 3, wherein: The determining, according to the first intermediate driving coefficient and the second intermediate driving coefficient, a first rotation feature of the current bone node relative to the target bone node comprises: Determine a pose transformation matrix between the current bone node and the target bone node according to the third local pose matrix and the fourth local pose matrix; and Based on the pose transformation matrix and the first local pose matrix, a first rotation feature of the current bone node relative to the target bone node is determined.
5. The method according to claim 4, wherein: The first intermediate driving coefficient is adjusted according to the first rotation feature to obtain a first target driving coefficient based on the current bone node, including: Based on the first rotation feature, determining a first rotation angle and a first rotation axis parameter of the current bone node relative to the target bone node; Performing an adjustment process on the first rotation angle based on a first preset ratio to obtain a second rotation angle; Determining a second rotation feature of the current bone node relative to the target bone node according to the first rotation axis parameter and the second rotation angle; and Based on the second rotation feature and the pose transformation matrix, a fifth local pose matrix of the current bone node is determined as the first target driving coefficient.
6. The method according to claim 4, further comprising: Determine a third rotation feature of the target bone node relative to the current bone node based on the pose transformation matrix and the second local pose matrix; as well as The second intermediate driving coefficient is adjusted according to the third rotation feature to obtain a second target driving coefficient based on the target bone node.
7. The method according to claim 6, wherein: The step of adjusting the second intermediate driving coefficient according to the third rotation feature to obtain a second target driving coefficient based on the target bone node includes: Based on the third rotation feature, determining a third rotation angle and a second rotation axis parameter of the target bone node relative to the current bone node; Performing an adjustment process on the third rotation angle based on a second preset ratio to obtain a fourth rotation angle; Determining a fourth rotation feature of the target bone node relative to the current bone node according to the second rotation axis parameter and the fourth rotation angle; and According to the fourth rotation feature and the pose transformation matrix, a sixth local pose matrix of the target bone node is determined as the second target driving coefficient.
8. The method according to claim 6, wherein: The step of adjusting the pose parameters of the skin vertices associated with the current skeleton node in the avatar model according to the first target driving coefficient to obtain the avatar based on the first target driving coefficient includes: Determine a third global pose matrix of the current skeleton node based on the first target drive coefficient and the second target drive coefficient; Determining the pose characteristics of the skin vertices associated with the current skeleton node in the avatar model according to the third global pose matrix and the initial global pose matrix; and According to the posture feature, the posture parameters of the skin vertices are adjusted to obtain a virtual image based on the first target driving coefficient.
9. The method according to any one of claims 1 to 8, wherein: There is a topological association relationship between the bone nodes in the virtual image model, and the topological structure level corresponding to the target bone node is higher than the topological structure level corresponding to the current bone node.
10. A virtual image driving device, comprising: A relative position feature determination module, used for determining the relative position feature between the current bone node and the target bone node in the virtual image model; A first intermediate driving coefficient determination module, used to determine a first intermediate driving coefficient according to a first global pose matrix of the current skeleton node and a node direction vector used to characterize the relative position feature, wherein the first global pose matrix is determined according to a first local pose matrix of the current skeleton node and a second local pose matrix of the target skeleton node; A second intermediate driving coefficient determination module, used to determine a second intermediate driving coefficient according to a second global pose matrix of the target bone node and the node direction vector, wherein the second global pose matrix is determined according to the second local pose matrix; A first rotation feature determination module, configured to determine a first rotation feature of the current bone node relative to the target bone node according to the first intermediate driving coefficient and the second intermediate driving coefficient; a first target driving coefficient determining module, configured to adjust the first intermediate driving coefficient according to the first rotation feature to obtain a first target driving coefficient based on the current bone node; and The virtual image driving module is used to adjust the posture parameters of the skin vertices associated with the current skeleton node in the virtual image model according to the first target driving coefficient to obtain the virtual image based on the first target driving coefficient.
11. The device according to claim 10, wherein: The relative position feature determination module comprises: The relative position feature determination submodule is used to determine the relative position feature according to the first initial position of the current bone node indicated by the first local pose matrix and the second initial position of the target bone node indicated by the second local pose matrix.
12. The device according to claim 10, wherein: The first intermediate driving coefficient determination module is used to determine a third local pose matrix of the current bone node according to the first global pose matrix and the node direction vector as the first intermediate driving coefficient; The second intermediate driving coefficient determination module is used to determine the second intermediate driving coefficient, including: determining the fourth local pose matrix of the target bone node as the second intermediate driving coefficient according to the second global pose matrix and the node direction vector.
13. The device according to claim 12, wherein: The first rotation feature determination module comprises: A posture transformation matrix determination submodule, configured to determine a posture transformation matrix between the current bone node and the target bone node according to the third local posture matrix and the fourth local posture matrix; and The first rotation feature determination submodule is used to determine the first rotation feature of the current bone node relative to the target bone node based on the posture transformation matrix and the first local posture matrix.
14. The device according to claim 13, wherein: The first target driving coefficient determination module includes: A first rotation feature parameter determination submodule, used to determine a first rotation angle and a first rotation axis parameter of the current bone node relative to the target bone node based on the first rotation feature; a second rotation angle determination submodule, configured to adjust the first rotation angle based on a first preset ratio to obtain a second rotation angle; A second rotation feature determination submodule, configured to determine a second rotation feature of the current bone node relative to the target bone node according to the first rotation axis parameter and the second rotation angle; and The first target driving coefficient determination submodule is used to determine the fifth local pose matrix of the current bone node based on the second rotation feature and the pose transformation matrix to serve as the first target driving coefficient.
15. The device according to claim 13, further comprising a second target driving coefficient determination module, the second target driving coefficient determination module comprising: A third rotation feature determination submodule, which determines a third rotation feature of the target bone node relative to the current bone node based on the posture transformation matrix and the second local posture matrix; as well as The second target driving coefficient determination submodule adjusts the second intermediate driving coefficient based on the third rotation feature to obtain a second target driving coefficient based on the target bone node.
16. The device according to claim 15, wherein: The second target driving coefficient determination submodule includes: A second rotation feature parameter determination unit, configured to determine a third rotation angle and a second rotation axis parameter of the target bone node relative to the current bone node based on the third rotation feature; a fourth rotation angle determination unit, configured to adjust the third rotation angle based on a second preset ratio to obtain a fourth rotation angle; a fourth rotation feature determining unit, configured to determine a fourth rotation feature of the target bone node relative to the current bone node according to the second rotation axis parameter and the fourth rotation angle; and The second target driving coefficient determining unit is used to determine the sixth local pose matrix of the target bone node according to the fourth rotation feature and the pose transformation matrix to serve as the second target driving coefficient.
17. The device according to claim 15, wherein: The virtual image driver module includes: A third global pose matrix determination submodule, used to determine a third global pose matrix of the current skeleton node based on the first target drive coefficient and the second target drive coefficient; a skin vertex pose feature determination submodule, configured to determine the pose features of the skin vertices associated with the current skeleton node in the avatar model according to the third global pose matrix and the initial global pose matrix; and The virtual image driving submodule is used to adjust the posture parameters of the skin vertices according to the posture characteristics to obtain the virtual image based on the first target driving coefficient.
18. The device according to any one of claims 10 to 17, wherein: There is a topological association relationship between the bone nodes in the virtual image model, and the topological structure level corresponding to the target bone node is higher than the topological structure level corresponding to the current bone node.
19. 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, and the instructions are executed by the at least one processor so that the at least one processor can execute the virtual image driving method according to any one of claims 1 to 9.
20. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the virtual character driving method according to any one of claims 1 to 9.
21. A computer program product, comprising a computer program, wherein the computer program is stored in at least one of a readable storage medium and an electronic device, and when the computer program is executed by a processor, the virtual image driving method according to any one of claims 1 to 9 is implemented.
Citation Information
Patent Citations
Virtual image driving method and device, equipment and medium
CN112184921A
Virtual image driving method and device, equipment and storage medium
CN112509099A