Animation migration methods, systems, and animation processing equipment

By determining the semantic motion chains and their relationships between the first bone topology of the first character and the second bone topology of the second character, the problem of inconsistent bone numbers is solved, and efficient animation transfer between class topologies is achieved. It has strong applicability, fast animation transfer speed, high efficiency, and retains the original animation features.

CN115239859BActive Publication Date: 2025-10-31GUANGZHOU HUYA TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210954088.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-10
Publication Date
2025-10-31
Estimated Expiration
2042-08-10

AI Technical Summary

Technical Problem

Existing animation transfer techniques cannot effectively solve the problem of inconsistent bone counts, and deep learning-based methods have long preparation cycles, low production efficiency, and difficulty in achieving animation transfer between non-human characters.

Method used

By obtaining the first skeletal topology of the first character and the second skeletal topology of the second character, the semantic motion chains and their relationships are determined. Based on this relationship, the animation to be transferred is transferred to the second character. The semantic motion chains are used to bind the class topology and automatically adapt the starting and ending joints of the motion chains.

Benefits of technology

It achieves accurate and efficient animation migration between class topologies, with strong applicability, fast animation migration speed, high efficiency, and complete preservation of original animation features.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115239859B_ABST
    Figure CN115239859B_ABST
Patent Text Reader

Abstract

This application provides an animation migration method, system, and animation processing device. In this embodiment, a first semantic motion chain for the first character and a second semantic motion chain for the second character are determined using the first skeletal topology of the first character and the second skeletal topology of the second character, respectively. The semantic association between each first semantic motion chain and each second semantic motion chain is then determined. Based on the semantic association between the first and second semantic motion chains, the animation to be migrated from the first character is migrated to the second character. This allows for accurate and efficient animation migration between class topologies, offering strong applicability and fast, efficient animation migration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of animation production, and more specifically, to an animation migration method, system, and animation processing equipment. Background Technology

[0002] Animation transfer is an important branch of computer graphics. It enables the transfer of animation from one skeletal model to another, allowing the animation of one skeletal model to be presented in a natural and reasonable manner on the other skeletal model.

[0003] Currently available animation transfer technologies are mainly designed for human characters. For example, animation transfer based on HumanIK topology in Maya software requires manually specifying the mapping relationship between each bone on the human character and the HumanIK topology, binding the traditional character's skeleton to the HumanIK topology, and using the HumanIK topology as an intermediary. For example, the overall animation transfer process in this way is: Character A -> HumanIK -> Character B. However, this method cannot effectively solve the problem of inconsistent bone counts between Character A and Character B, nor can it handle animation transfer between non-human characters.

[0004] In addition, some existing animation transfer methods can be implemented based on deep learning to automatically handle the animation transfer problem of topology. However, a lot of data needs to be prepared in advance for training, and corresponding data and training are required for each type of topology. Therefore, the preparation period is long and the production efficiency is low. Summary of the Invention

[0005] Based on the above, in order to at least partially solve the aforementioned technical problems, in a first aspect, embodiments of this application provide an animation migration method, the method comprising:

[0006] Obtain the first bone topology and the animation to be migrated for the first character, and the second bone topology for the second character;

[0007] Based on the first skeletal topology and the second skeletal topology, the first semantic motion chain of the first character and the second semantic motion chain of the second character are determined respectively, and the semantic association relationship between each first semantic motion chain and each second semantic motion chain is determined respectively.

[0008] Based on the semantic association between the first semantic motion chain and the second semantic motion chain, the animation to be migrated is migrated to the second character.

[0009] Preferably, based on one possible implementation of the first aspect, a first semantic motion chain for the first character and a second semantic motion chain for the second character are determined according to the first skeletal topology and the second skeletal topology, respectively, and the semantic association between each first semantic motion chain and each second semantic motion chain is determined, including:

[0010] The first joint of the first bone topology and the second joint of the second bone topology are determined respectively, and the heights of the first joint and the second joint are used as the height parameters of the first character and the second character respectively.

[0011] The first semantic motion chain of the first character and the second semantic motion chain of the second character are determined based on the first skeletal topology and the second skeletal topology, respectively.

[0012] Calculate the position parameters of each joint on each of the first semantic motion chains and each of the second semantic motion chains.

[0013] Preferably, based on one possible implementation of the first aspect, the animation to be transferred is transferred to the second character based on the semantic association between the first semantic motion chain and the second semantic motion chain, including:

[0014] The animation data on each of the first semantic motion chains are migrated to the second semantic motion chain that is semantically associated with each of the first semantic motion chains.

[0015] Preferably, based on one possible implementation of the first aspect, the animation data on each of the first semantic motion chains is transferred to a second semantic motion chain semantically associated with each of the first semantic motion chains, including:

[0016] Move the root joint animation of the first character to the root joint of the second character;

[0017] Based on the position parameters of each joint in the first semantic motion chain of the first character and the position parameters of each joint in the second semantic motion chain of the second character, the animation data of each joint in the first semantic motion chain is transferred to the corresponding joint in the second semantic motion chain that is semantically associated with the first semantic motion chain.

[0018] Preferably, based on one possible implementation of the first aspect, the animation data of each joint in each first semantic motion chain is transferred to the corresponding joint in the second semantic motion chain semantically associated with the first semantic motion chain, according to the position parameters of each joint in the first semantic motion chain of the first character and the position parameters of each joint in the second semantic motion chain of the second character, including:

[0019] The global rotation transformation of each animation frame of the animation to be transferred at the start and end joints of the first semantic motion chain is updated to the start and end joints of the second semantic motion chain that are semantically associated with the first semantic motion chain.

[0020] Determine whether there is a target intermediate joint in the second semantic motion chain. The target intermediate joint is located between the start joint and the end joint of the second semantic motion chain, which indicates that there is no intermediate joint in the first semantic motion chain that is semantically associated with the second semantic motion chain that is semantically aligned with the target intermediate joint.

[0021] When a target intermediate joint exists in the second semantic motion chain, a virtual intermediate joint corresponding to the target intermediate joint is determined in the first semantic motion chain according to the position parameters of the target intermediate joint. The virtual joint transformation data of the virtual intermediate joint is calculated based on the joint transformation data of the two adjacent joints of the virtual intermediate joint in each animation frame of the animation to be transferred, and the virtual joint transformation data is transferred to the target intermediate joint.

[0022] The global rotation transformation of each animation frame of the animation to be transferred between the start and end joints of the first semantic motion chain is transferred to the corresponding joint between the start and end joints of the second semantic motion chain that is semantically associated with the first semantic motion chain.

[0023] Preferably, based on one possible implementation of the first aspect, the method further includes:

[0024] Calculate the direction and normalized extension length of the first semantic motion chain from the start joint to the end joint of the first character in the current animation frame, and determine the first target position that the end joint of the second semantic motion chain that is semantically associated with the first semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character is migrated.

[0025] The offset of the position of the end joint of the first semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame is calculated as the first velocity of the end joint. When the first velocity is less than a preset threshold, the offset of the position of the end joint of the second semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame is calculated as the second velocity of the end joint.

[0026] The weighted speed of the first speed and the second speed is calculated according to the first weight and the second weight preset respectively.

[0027] Based on the weighted velocity and the position of the end joint of the second semantic motion chain in the previous animation frame, determine the second target position that the end joint of the second semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character.

[0028] Calculate the optimized target position of the ending joint of the second semantic motion chain based on the first target position and the second target position, and optimize the rotation transformation of the animation to be transferred to the second character based on the optimized target position.

[0029] Preferably, based on one possible implementation of the first aspect, optimizing the rotation transformation of the animation to be migrated to the second character according to the optimized target position includes:

[0030] Input the optimized target position into the IK solver to obtain the optimized animation migration result.

[0031] Secondly, this embodiment also provides an animation migration system applied to an animation processing device, the animation migration system comprising:

[0032] The data acquisition module is used to acquire the first bone topology and the animation to be transferred for the first character, as well as the second bone topology for the second character;

[0033] The motion chain association module is used to determine the first semantic motion chain of the first character and the second semantic motion chain of the second character based on the first skeletal topology and the second skeletal topology, respectively, and to determine the semantic association relationship between each first semantic motion chain and each second semantic motion chain.

[0034] An animation migration module is used to migrate the animation to be migrated to the second character based on the semantic association between the first semantic motion chain and the second semantic motion chain.

[0035] Preferably, based on one possible implementation of the second aspect, the animation migration system further includes a migration optimization module, used for:

[0036] Calculate the direction and normalized extension length of the first semantic motion chain from the start joint to the end joint of the first character in the current animation frame, and determine the first target position that the end joint of the second semantic motion chain that is semantically associated with the first semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character is migrated.

[0037] The offset of the position of the end joint of the first semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame is calculated as the first velocity of the end joint. When the first velocity is less than a preset threshold, the offset of the position of the end joint of the second semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame is calculated as the second velocity of the end joint.

[0038] The weighted speed of the first speed and the second speed is calculated according to the first speed and the second speed respectively preset with the first weight and the second weight;

[0039] Based on the weighted velocity and the position of the end joint of the second semantic motion chain in the previous animation frame, determine the second target position that the end joint of the second semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character.

[0040] Calculate the optimized target position of the ending joint of the second semantic motion chain based on the first target position and the second target position, and optimize the rotation transformation of the animation to be transferred to the second character based on the optimized target position.

[0041] Thirdly, embodiments of this application also provide an animation processing device, including a machine-readable storage medium and one or more processors, wherein the machine-readable storage medium stores machine-executable instructions, and the machine-executable instructions, when executed by the one or more processors, implement the above-described animation migration method.

[0042] Based on the above content of the embodiments of this application, compared with the prior art, the animation migration method, system, and animation processing device provided in the embodiments of this application determine the first semantic motion chain of the first character and the second semantic motion chain of the second character respectively through the first skeletal topology of the first character and the second skeletal topology of the second character, and determine the semantic association relationship between each first semantic motion chain and each second semantic motion chain. Then, based on the semantic association relationship between the first semantic motion chain and the second semantic motion chain, the animation to be migrated from the first character is migrated to the second character. In this way, binding the class topology based on semantic motion chains only requires ensuring that the driving postures of the two class topology characters are aligned to perform animation migration, which can achieve accurate and efficient animation migration between class topologies, with strong applicability, and fast animation migration speed and high efficiency.

[0043] Furthermore, this embodiment only requires specifying the starting and ending joints of the corresponding kinematic chain, and it can automatically adapt regardless of how many joints the kinematic chain has, fully preserving the original animation features and improving the flexibility of supporting different topologies. Attached Figure Description

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

[0045] Figure 1 A schematic diagram of the HumanIK topology used in a common animation migration method.

[0046] Figure 2 This is a schematic diagram of the skeleton of a traditional character that is to be migrated for animation.

[0047] Figure 3 This is a flowchart illustrating an animation migration method provided in an embodiment of this application.

[0048] Figure 4 yes Figure 1 A schematic diagram of one possible implementation process for step S200.

[0049] Figure 5 This is a schematic diagram of the optimized process after animation migration provided in the embodiments of this application.

[0050] Figure 6 This is a schematic diagram of the functional modules of the animation migration system provided in the embodiments of this application.

[0051] Figure 7 This is a schematic diagram of an animation processing device provided in an embodiment of this application for implementing the above-described animation migration method. Detailed Implementation

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

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

[0054] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0055] In the description of this application, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0056] In the description of this application, it should also be noted that, unless otherwise expressly specified and limited, the terms "set up," "install," "connect," and "link" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.

[0057] Based on the related issues mentioned in the aforementioned background technology, such as Figure 1 and Figure 2 As shown, a common animation transfer method is to... Figure 2 The skeleton of the traditional character shown is bound to, as... Figure 1 The HumanIK topology shown is used as an intermediary. The overall animation transfer process is Character A -> HumanIK -> Character B. However, this transfer method cannot effectively solve the problem of different bone counts between Character A and Character B. A deep learning-based solution can automatically handle animation transfer problems with similar topologies, but it requires extensive pre-training data. Furthermore, specific data and training are needed for each type of topology, resulting in a long preparation period and low production efficiency.

[0058] To address the aforementioned issues, this application provides an animation migration scheme that can accurately and efficiently perform animation migration between class topologies. It is highly applicable, overcomes the problems existing in current mainstream solutions, and offers fast and efficient animation migration. The embodiments of this application are described below with reference to the accompanying drawings.

[0059] like Figure 3 The diagram shown is a flowchart illustrating an animation migration method provided in an embodiment of this application. In this embodiment, the animation migration method can be executed and implemented by an animation processing device. It should be understood that the order of some steps in the animation migration method provided in this embodiment can be interchanged according to actual needs during actual implementation, or some steps can be omitted or deleted. This embodiment does not specifically limit this.

[0060] The following is combined with Figure 3The animation transfer method of this embodiment is described in detail through examples, such as... Figure 3 As shown, the method may include the following steps S100 to S300.

[0061] Step S100: Obtain the first bone topology and the animation to be migrated for the first character, and the second bone topology for the second character.

[0062] In this embodiment, the first character is the character whose animation is to be migrated, and the second character is the target character corresponding to the animation to be migrated, used to migrate the animation of the first character to the second character. Furthermore, in order to achieve the animation migration, the driving postures of the first character and the second character need to be semantically aligned and both feet need to be on the ground. For example, as an example, the driving postures of both the first character and the second character can be typical driving postures such as T-POSE or A-POSE, and they should be standing on the ground (horizontal plane) at a height of 0 to ensure consistency before and after the animation migration.

[0063] Step S200: Determine the first semantic motion chain of the first character and the second semantic motion chain of the second character based on the first skeletal topology and the second skeletal topology, respectively, and determine the semantic association relationship between each first semantic motion chain and each second semantic motion chain.

[0064] In this embodiment, as one possible implementation, such as Figure 4 As shown, step S200 may include steps S210-S230 as described below, which are illustrated in the following examples.

[0065] Step S210: Determine the first joint of the first bone topology and the second joint of the second bone topology.

[0066] Once the first joint and the second joint are determined, their heights can be used as the height parameters for the first character and the second character, respectively. For example, the height parameter of the first character can be denoted as... The height parameter of the second character can be denoted as... Thus, under the driving posture, the rotational and translational transformations of the root joints of the first character are respectively... and The rotational and translational transformations of the root joint of the second character are respectively... and .

[0067] Step S220: Determine the first semantic motion chain of the first character and the second semantic motion chain of the second character based on the first skeletal topology and the second skeletal topology, respectively.

[0068] In this embodiment, the number of the first semantic motion chains and the second semantic motion chains are the same and they are semantically aligned with each other. In one example, assuming both the first and second characters are human characters, the first and second semantic motion chains can be defined as including leg motion chains, hand motion chains, spinal motion chains, head motion chains, etc. For example, the set of first semantic motion chains for the first character can be represented as follows: , and of them For example, This can represent the kinetic chain of the left leg of the first character. The starting joint of this left leg kinetic chain is the left hip joint, and the ending joint is the left toe joint. Correspondingly, the other right leg kinetic chains... Left arm kinetic chain Right arm kinetic chain Spinal kinetic chain Head kinetic chain Similarly, starting joints and ending joints can be used to represent these, which will not be elaborated on here.

[0069] Correspondingly, the set of second semantic motion chains for the second role can be represented as Similar to the first semantic motion chains of the first character, the second semantic motion chains of the second character can also be represented by corresponding start joints and end joints.

[0070] Step S230: Calculate the position parameters of each joint on each of the first semantic motion chains and each of the second semantic motion chains.

[0071] Among them, the left leg motion chain in the first semantic motion chain For example, let's assume the kinetic chain of the left leg. Including the hip joint (Ahips), knee joint (Aknee), ankle joint (Aankle), and toe joint (Atoe), each pair of adjacent joints directly forms a skeleton. Therefore, the skeletons included are the thigh bone (Aupleg), calf bone (Aleg), and foot bone (Afoot). The positional parameters corresponding to the hip joint (Ahips) are... The positional parameters corresponding to Aknee's knee joint are: The positional parameters corresponding to the ankle joint Ankle are: The positional parameters corresponding to the toe joint Atoe are: .

[0072] Among them, the , , These represent the height or length of the thigh bone (Aupleg), calf bone (Aleg), and foot bone (Afoot), respectively, and the positional parameters corresponding to the hip joint (Ahips). Positional parameters corresponding to the knee joint Aknee Positional parameters corresponding to the ankle joint (Ankle) and the positional parameters corresponding to the toe joint Atoe. Each joint can be represented separately in relation to the left leg kinetic chain. The relative positional relationships of the initial joints (hips) in the hip joint.

[0073] Based on the same principle, the second position parameters on each of the second semantic motion chains of the second character can be calculated. For example, taking the left leg motion chain in the second semantic motion chain as an example... For example, let's assume the kinetic chain of the left leg. It includes the hip joint (Bhips), the first knee joint (Bknee1), the second knee joint (Bknee2), the ankle joint (Bankle), the toe joint (Btoe), etc. The bones that are adjacent to each other directly form the skeleton. Therefore, the bones included are the thigh bone (Bupleg), the first lower leg bone (Bleg1), the second lower leg bone (Bleg2), and the foot bone (Bfoot).

[0074] So, what is the kinetic chain of the left leg? In the meantime, the positional parameters corresponding to the hip joint Bhips are: The positional parameters corresponding to the first knee joint Bknee1 are as follows: The positional parameters corresponding to the second knee joint Bknee2 are as follows: The positional parameters corresponding to the ankle joint Bankle are: The positional parameters corresponding to the toe joint Btoe are: .

[0075] Correspondingly, the , , ,as well as These represent the height or length of the thigh bone Bupleg, the first calf bone Bleg1, the second calf bone Bleg2, the foot bone Bfoot, and the positional parameters corresponding to the hip joints Bhips. Positional parameters corresponding to the first knee joint Bknee1 Positional parameters corresponding to the second knee joint Bknee2 Position parameters corresponding to the Bankle of the ankle joint and the positional parameters corresponding to the toe joint Btoe. Each joint can be represented separately in relation to the left leg kinetic chain. The relative positions of the initial joints (hips) in the brain.

[0076] Step S300: Based on the semantic association between the first semantic motion chain and the second semantic motion chain, the animation to be migrated is migrated to the second character.

[0077] In detail, in one possible implementation of this embodiment, the animation data on each of the first semantic motion chains can be migrated to a second semantic motion chain that is semantically associated with each of the first semantic motion chains.

[0078] For example, step S300 can be implemented by the steps S310-S320 described below, as illustrated in the following example.

[0079] Step S310: Transfer the root joint animation of the first character to the root joint of the second character.

[0080] For example, the rotation and translation transformations of the root joints of each animation frame to be migrated can be used to calculate the rotation and translation transformations of the animation frame to be migrated to the root joints of the second character, thereby achieving the animation migration of the root joint.

[0081] For example, suppose the rotation and translation transformations of the root joint in a single animation frame of the first character are respectively... , Then, the rotation and translation transformations of this single animation frame moving to the root joint of the second character are respectively:

[0082]

[0083] .

[0084] in, It represents the root joint rotation transformation of the single animation frame. Root joint rotation transformation relative to driving posture The transformation, the transformation Root joint transformation applied to the driving posture of the second character That is, to obtain the final rotational transformation of the single animation frame transferred to the root joint of the second character. , This represents the translation transformation of the root joint of the first character in relation to the height difference between the first and second characters. Scaling is applied to ensure the overall movement of characters of different body types is reasonable. This represents the height of the first character (the height of the root node of the first character). This represents the height of the second character (the height of the root node of the second character).

[0085] Step S320: Based on the position parameters of each joint in the first semantic motion chain of the first character and the position parameters of each joint in the second semantic motion chain of the second character, the animation data of each joint in the first semantic motion chain is transferred to the corresponding joint in the second semantic motion chain that is semantically associated with the first semantic motion chain.

[0086] In detail, based on step S320, it can be achieved in the following manner:

[0087] First, the global rotation transformation of each animation frame of the animation to be transferred at the start and end joints of the first semantic motion chain is updated to the start and end joints of the second semantic motion chain that are semantically associated with the first semantic motion chain.

[0088] Secondly, it is determined whether there is a target intermediate joint in the second semantic motion chain. The target intermediate joint is located between the starting joint and the ending joint of the second semantic motion chain, which indicates that there is no intermediate joint in the first semantic motion chain that is semantically associated with the second semantic motion chain that is semantically aligned with the target intermediate joint.

[0089] When a target intermediate joint exists in the second semantic motion chain, a virtual intermediate joint corresponding to the target intermediate joint is determined in the first semantic motion chain according to the position parameters of the target intermediate joint. The virtual joint transformation data of the virtual intermediate joint is calculated based on the joint transformation data of the two adjacent joints of the virtual intermediate joint in each animation frame of the animation to be transferred, and the virtual joint transformation data is transferred to the target intermediate joint.

[0090] For example, the kinetic chain of the left leg of the second role. For example, the left leg kinetic chain The first knee joint, Bknee1, is the target intermediate joint, and its position parameters are as follows: The value is located in the kinetic chain of the left leg of the first character. The positional parameters between two adjacent joints (hip joint and knee joint) satisfy the following condition. < < Given these conditions, it can be assumed that the first knee joint Bknee1 of the second character corresponds to a virtual intermediate joint between the hip joints Ahips and the knee joint Aknee of the first character. The virtual joint transformation data of this virtual intermediate joint can then be calculated based on the joint transformation data of the hip joints Ahips and the knee joint Aknee of the first character. For example, taking Aknee1 as the virtual intermediate joint, the virtual joint transformation data of Aknee1 can be calculated by interpolation based on the joint transformation data of the hip joints Ahips and the knee joint Aknee of the first character. Specifically, the interpolation calculation formula can be as follows:

[0091]

[0092] in, This represents the global transformation of the virtual intermediate joint knot1 of the first character under the driving posture. This represents the global transformation of the hip joints (Ahips) of the first character under the driving posture. This represents the global transformation of the knee joint (knee) of the first character under the driving posture. This indicates the global transformation of the virtual intermediate joint knot1 in the current animation frame. This indicates the global transformation of the knee joint (knee) of the first character in the current animation frame.

[0093] Based on the above, the virtual joint rotation data of the virtual intermediate joint is transferred to the global rotation transformation of the first knee joint Bknee1 of the second character as follows:

[0094] .

[0095] Finally, the global rotation transformations of other joints between the start and end joints of the first semantic motion chain for each animation frame to be migrated are migrated to the corresponding joints between the start and end joints of the second semantic motion chain semantically associated with the first semantic motion chain (for example, the migration can be performed with reference to the migration method of the target intermediate joint). Here, the global rotation transformation refers to the rotation transformation of nodes other than the root node relative to the root node in the corresponding animation frame.

[0096] In this way, all the information in the original animation can be fully utilized, and information loss will not be caused by the number of bones. After performing the above operations on all semantically aligned motion chains, the animation transfer of the corresponding motion chain can be completed. It should be noted that only motion chains with a defined semantic relationship (binding) will undergo corresponding animation transfer. For example, in this example, the finger motion chain is not defined, so the finger movement of the first character will not be transferred to the finger of the second character. If transfer is required, the semantically related finger motion chain of the first and second characters must be determined in advance.

[0097] Furthermore, after the animation migration is completed in step S300, considering the potential significant size difference between the first and second characters, a simple migration and rotation transformation might result in foot slippage. Therefore, to ensure better animation effects on the second character, such as... Figure 5 As shown, the animation migration method provided in this embodiment also includes a method for optimizing the rotation transformation of the animation to be migrated to the second character, which includes the following steps S400-S800.

[0098] Step S400: Calculate the direction and normalized extension length of the first semantic motion chain from the start joint to the end joint of the first character in the current animation frame, and determine the first target position that the end joint of the second semantic motion chain that is semantically associated with the first semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character is migrated based on the direction and normalized extension length of the first semantic motion chain.

[0099] As an example, the formulas for calculating the direction from the starting joint to the ending joint and the normalized extension length of the first semantic kinematic chain can be as follows:

[0100]

[0101] Among them, Dir A InvLen represents the direction from the starting joint to the ending joint of the first semantic motion chain. A The normalized extension length from the starting joint to the ending joint of the first semantic kinematic chain represents the kinematic length. and These represent the spatial positions of the starting joint and the ending joint, respectively. This represents the height of the first character (the height of the root node of the first character's skeletal topology).

[0102] Based on the above calculation method, the first target position that the second character's final joint should reach can retain the semantic features of the source animation, and its calculation formula can be as follows:

[0103]

[0104] in, This represents the location of the first target. This represents the spatial location of the starting joint (e.g., the hip joint) of the second semantic kinematic chain. This represents the height of the second role (the height of the root node).

[0105] Step S500: Calculate the offset of the position of the end joint (e.g., Atoe) of the first semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame as the first velocity of the end joint. When the first velocity is less than a preset threshold, calculate the offset of the position of the end joint (e.g., Btoe) of the second semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame as the second velocity of the end joint.

[0106] If the first speed is greater than the threshold, no further optimization is required. If it is less than the threshold, it means that the ending joint of the first semantic motion chain is basically motionless at that moment. Therefore, it is also necessary to ensure that the ending joint of the second semantic motion chain is basically motionless after migrating to the second role (motion will cause sliding).

[0107] Step S600: Calculate the weighted speed of the first speed and the second speed according to the first weight and the second weight preset respectively.

[0108] For example, as an example, the sum of the product of the first speed and the first weight and the product of the second speed and the second weight can be used as the weighted speed. For example, the formula for calculating the weighted speed can be as follows:

[0109]

[0110] in, Represents the weighted velocity, Represents the first velocity. Represents the second speed. Represents the first weight, 1- This represents the second weight.

[0111] S700, based on the weighted velocity and the position of the end joint of the second semantic motion chain in the previous animation frame, determine the second target position that the end joint of the second semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character.

[0112] For example, as an example, the second target position can ensure that the ending joint of the second semantic motion chain does not slip. The formula for determining the second target position can be as follows:

[0113]

[0114] in, Represents the location of the second target. This represents the position of the ending joint of the second semantic motion chain in the previous animation frame.

[0115] Step S800: Calculate the optimized target position of the ending joint of the second semantic motion chain based on the first target position and the second target position, and optimize the rotation transformation of the animation to be transferred to the second character based on the optimized target position.

[0116] Specifically, in this embodiment, the optimized target position can be input into the IK solver to obtain the optimized animation migration result. Thus, the corrected animation migration result can both preserve semantic features and eliminate slippage, thereby optimizing the rotational changes of the animation to be migrated to the second character.

[0117] like Figure 6 The diagram shown is a schematic of an animation migration system provided in an embodiment of this application for implementing the above-described animation migration method. In this embodiment, the animation migration system can be applied to... Figure 7 The animation processing device 100 shown is described in detail. Specifically, the animation processing device 100 may include one or more processors 110, a machine-readable storage medium 120, and an animation migration system 130. The processors 110 and the machine-readable storage medium 120 are communicatively connected via a system bus. The machine-readable storage medium 120 stores machine-executable instructions, and the processors 110 implement the animation migration method described above by reading and executing the machine-executable instructions in the machine-readable storage medium 120. In this embodiment, the animation processing device 100 may be a cloud server for executing the functional modules included in the front end of the animation migration system, a user client for executing the functional modules included in the back end of the animation migration system, a cloud server for simultaneously executing the functional modules included in both the front end and back end of the animation migration system, or a combination of a cloud server executing the functional modules included in both the front end and back end of the animation migration system and a user client. This embodiment does not impose any limitations on this.

[0118] The machine-readable storage medium 120 may be, but is not limited to, random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc. The machine-readable storage medium 120 is used to store programs, which the processor 110 executes upon receiving execution instructions.

[0119] The processor 110 may be an integrated circuit chip with signal processing capabilities. The processor mentioned above may be, but is not limited to, a general-purpose processor, including a central processing unit (CPU), a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), etc.

[0120] In this embodiment, the animation migration system 130 may include a data acquisition module 131, a motion chain association module 132, and an animation migration module 133.

[0121] The data acquisition module 131 is used to acquire the first skeletal topology and the animation to be migrated for the first character, and the second skeletal topology for the second character.

[0122] In this embodiment, the data acquisition module 131 can be used to perform the above-described step S100. More details about the data acquisition module 131 can be found in the relevant content of the above-described step S100, which will not be repeated here.

[0123] The motion chain association module 132 is used to determine the first semantic motion chain of the first character and the second semantic motion chain of the second character based on the first skeletal topology and the second skeletal topology, respectively, and to determine the semantic association relationship between each first semantic motion chain and each second semantic motion chain.

[0124] In this embodiment, the kinetic chain association module 132 can be used to perform the above-described step S200. More details about the kinetic chain association module 132 can be found in the relevant content of the above-described step S200, and will not be repeated here.

[0125] The animation migration module 133 is used to migrate the animation to be migrated to the second character based on the semantic association between the first semantic motion chain and the second semantic motion chain.

[0126] In this embodiment, the animation migration module 133 can be used to perform the above-described step S300. More details about the animation migration module 133 can be found in the relevant content of the above-described step S300, and will not be repeated here.

[0127] Furthermore, see here for reference. Figure 6 As shown, in this embodiment, the animation migration system 130 may further include a migration optimization module 134, which is used for:

[0128] Calculate the direction and normalized extension length of the first semantic motion chain from the start joint to the end joint of the first character in the current animation frame, and determine the first target position that the end joint of the second semantic motion chain that is semantically associated with the first semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character is migrated.

[0129] The offset of the position of the end joint of the first semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame is calculated as the first velocity of the end joint. When the first velocity is less than a preset threshold, the offset of the position of the end joint of the second semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame is calculated as the second velocity of the end joint.

[0130] The weighted speed of the first speed and the second speed is calculated according to the first weight and the second weight preset respectively.

[0131] Based on the weighted velocity and the position of the end joint of the second semantic motion chain in the previous animation frame, determine the second target position that the end joint of the second semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character.

[0132] Calculate the optimized target position of the ending joint of the second semantic motion chain based on the first target position and the second target position, and optimize the rotation transformation of the animation to be transferred to the second character based on the optimized target position.

[0133] In this embodiment, the migration optimization module 134 can be used to perform... Figure 5For more details regarding the migration optimization module 134, see steps S400-S800 shown above. Figure 5 The relevant content will not be repeated here.

[0134] In summary, the animation migration method, system, and animation processing device provided in this application determine the first semantic motion chain of the first character and the second semantic motion chain of the second character through the first skeletal topology of the first character and the second skeletal topology of the second character, respectively. They also determine the semantic association between each first semantic motion chain and each second semantic motion chain. Then, based on the semantic association between the first and second semantic motion chains, the animation to be migrated from the first character is migrated to the second character. Thus, by binding class topologies based on semantic motion chains, animation migration can be performed simply by ensuring the alignment of the driving postures of the two class topology characters. This enables accurate and efficient animation migration between class topologies, has strong applicability, and offers fast and efficient animation migration.

[0135] Furthermore, this embodiment only requires specifying the starting and ending joints of the corresponding kinematic chain, and it can automatically adapt regardless of how many joints the kinematic chain has, fully preserving the original animation features and improving the flexibility of supporting different topologies.

[0136] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0137] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0138] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause an animation processing device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0139] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0140] The above descriptions are merely various embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the technical scope disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. An animation transfer method, characterized in that, The method includes: Obtain the first bone topology and the animation to be migrated for the first character, and the second bone topology for the second character; Based on the first skeletal topology and the second skeletal topology, the first semantic motion chain of the first character and the second semantic motion chain of the second character are determined respectively, and the semantic association relationship between each first semantic motion chain and each second semantic motion chain is determined respectively. Based on the semantic association between the first semantic motion chain and the second semantic motion chain, the animation to be transferred is transferred to the second character; Calculate the direction and normalized extension length of the first semantic motion chain from the start joint to the end joint of the first character in the current animation frame, and determine the first target position that the end joint of the second semantic motion chain that is semantically associated with the first semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character is migrated. The offset of the position of the end joint of the first semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame is calculated as the first velocity of the end joint. When the first velocity is less than a preset threshold, the offset of the position of the end joint of the second semantic motion chain in the current animation frame relative to the position of the end joint in the previous animation frame is calculated as the second velocity of the end joint. The weighted speed of the first speed and the second speed is calculated according to the first speed and the second speed respectively preset with the first weight and the second weight; Based on the weighted velocity and the position of the end joint of the second semantic motion chain in the previous animation frame, determine the second target position that the end joint of the second semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character. Calculate the optimized target position of the ending joint of the second semantic motion chain based on the first target position and the second target position, and optimize the rotation transformation of the animation to be transferred to the second character based on the optimized target position.

2. The animation migration method according to claim 1, characterized in that, Based on the first skeletal topology and the second skeletal topology, the first semantic motion chain of the first character and the second semantic motion chain of the second character are determined respectively, and the semantic association relationship between each first semantic motion chain and each second semantic motion chain is determined, including: The first joint of the first bone topology and the second joint of the second bone topology are determined respectively, and the heights of the first joint and the second joint are used as the height parameters of the first character and the second character respectively. The first semantic motion chain of the first character and the second semantic motion chain of the second character are determined based on the first skeletal topology and the second skeletal topology, respectively. Calculate the position parameters of each joint on each of the first semantic motion chains and each of the second semantic motion chains.

3. The animation migration method according to claim 2, characterized in that, Based on the semantic association between the first semantic motion chain and the second semantic motion chain, the animation to be transferred is transferred to the second character, including: The animation data on each of the first semantic motion chains are migrated to the second semantic motion chain that is semantically associated with each of the first semantic motion chains.

4. The animation migration method according to claim 3, characterized in that, The animation data on each of the first semantic motion chains is transferred to a second semantic motion chain that is semantically associated with each of the first semantic motion chains, including: Move the root joint animation of the first character to the root joint of the second character; Based on the position parameters of each joint in the first semantic motion chain of the first character and the position parameters of each joint in the second semantic motion chain of the second character, the animation data of each joint in the first semantic motion chain is transferred to the corresponding joint in the second semantic motion chain that is semantically associated with the first semantic motion chain.

5. The animation migration method according to claim 4, characterized in that, Based on the position parameters of each joint in the first semantic motion chain of the first character and the position parameters of each joint in the second semantic motion chain of the second character, the animation data of each joint in the first semantic motion chain is transferred to the corresponding joint in the second semantic motion chain that is semantically associated with the first semantic motion chain, including: The global rotation transformation of each animation frame of the animation to be transferred at the start and end joints of the first semantic motion chain is updated to the start and end joints of the second semantic motion chain that are semantically associated with the first semantic motion chain. Determine whether there is a target intermediate joint in the second semantic motion chain. The target intermediate joint is located between the start joint and the end joint of the second semantic motion chain, which indicates that there is no intermediate joint in the first semantic motion chain that is semantically associated with the second semantic motion chain that is semantically aligned with the target intermediate joint. When a target intermediate joint exists in the second semantic motion chain, a virtual intermediate joint corresponding to the target intermediate joint is determined in the first semantic motion chain according to the position parameters of the target intermediate joint. The virtual joint transformation data of the virtual intermediate joint is calculated based on the joint transformation data of the two adjacent joints of the virtual intermediate joint in each animation frame of the animation to be transferred, and the virtual joint transformation data is transferred to the target intermediate joint. The global rotation transformation of each animation frame of the animation to be transferred between the start and end joints of the first semantic motion chain is transferred to the corresponding joint between the start and end joints of the second semantic motion chain that is semantically associated with the first semantic motion chain.

6. The animation migration method according to claim 1, characterized in that, Optimize the rotation transformation of the animation to be migrated to the second character based on the optimization target position, including: Input the optimized target position into the IK solver to obtain the optimized animation migration result.

7. An animation migration system, applied to animation processing equipment, characterized in that, include: The data acquisition module is used to acquire the first bone topology and the animation to be migrated for the first character, as well as the second bone topology for the second character; The motion chain association module is used to determine the first semantic motion chain of the first character and the second semantic motion chain of the second character based on the first skeletal topology and the second skeletal topology, respectively, and to determine the semantic association relationship between each first semantic motion chain and each second semantic motion chain. An animation migration module is used to migrate the animation to be migrated to the second character based on the semantic association between the first semantic motion chain and the second semantic motion chain; The migration optimization module is used to calculate the direction and normalized extension length of the first semantic motion chain from the start joint to the end joint of the first character in the current animation frame, and to determine the first target position that the end joint of the second semantic motion chain that is semantically associated with the first semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character is migrated. The first velocity of the ending joint of the first semantic motion chain in the current animation frame is calculated as the offset of the position of the ending joint in the previous animation frame relative to the position of the ending joint in the previous animation frame. When the first velocity is less than a preset threshold, the second velocity of the ending joint is calculated as the offset of the position of the ending joint of the second semantic motion chain in the current animation frame relative to the position of the ending joint in the previous animation frame. The weighted velocity of the first velocity and the second velocity are calculated according to the first velocity and the second velocity, respectively, with a first weight and a second weight. The second target position that the ending joint of the second semantic motion chain should reach after the current animation frame of the animation to be migrated to the second character is determined based on the weighted velocity and the position of the ending joint of the second semantic motion chain in the previous animation frame. Calculate the optimized target position of the ending joint of the second semantic motion chain based on the first target position and the second target position, and optimize the rotation transformation of the animation to be transferred to the second character based on the optimized target position.

8. An animation processing device, characterized in that, The device includes a machine-readable storage medium and one or more processors, wherein the machine-readable storage medium stores machine-executable instructions that, when executed by the one or more processors, implement the animation migration method according to any one of claims 1-6.

Citation Information

Patent Citations

  • Animation redirection method and device, computer equipment and storage medium

    CN114742926A