A method and system for action resource conversion based on a skeletal model

By generating bone name matching assets and inverse kinematics binding assets, the system automates motion resource conversion, solving the problems of low efficiency, insufficient accuracy, and poor consistency in cross-model motion retargeting. This achieves efficient and accurate motion resource conversion, applicable to fields such as animation production, game development, virtual reality, augmented reality, education and training, and medical rehabilitation.

CN119048652BActive Publication Date: 2025-12-05福建天晴在线互动科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411105999.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-13
Publication Date
2025-12-05
Estimated Expiration
2044-08-13

AI Technical Summary

Technical Problem

Existing technologies are inefficient, inaccurate, require high levels of expertise, have poor consistency and scalability in cross-model motion redirection, and lack comprehensive solutions, resulting in high complexity and error rates in animation production and game development.

Method used

By acquiring the associated skeletons of the source and target models, a skeleton name matching asset is generated, an inverse kinematics binding asset is established, and the source motion resources are converted into motion resources adapted to the target model using the inverse kinematics retargeting asset. This includes automated processing of the name matching module, the inverse kinematics binding module, the inverse kinematics retargeting module, and the pose matching module.

Benefits of technology

It enables efficient and accurate conversion of motion resources, reduces human error, improves the efficiency of animation production and game development, ensures the consistency and repeatability of motion, and adapts to the motion resource conversion needs of different models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119048652B_ABST
    Figure CN119048652B_ABST
Patent Text Reader

Abstract

The application discloses a kind of based on action resource conversion of skeleton model method and system, read the associated skeleton in source model and target model, obtain all skeleton names of associated skeleton, generate skeleton name matching assets by name matching to all skeleton names of source model and target model. Matched data in skeleton name matching assets is generated to generate inverse kinematics binding assets, and inverse kinematics redirection assets are established in combination with source model, target model and inverse kinematics binding assets. Generate target model posture matched with source model posture, set target model posture as the target model posture of inverse kinematics redirection assets, obtain the input source action resource, and convert source action resource into action resource adapted to target model according to inverse kinematics redirection assets. In this way, action resource conversion can be efficiently and accurately performed to improve work efficiency in animation production and game development, and reduce errors caused by manual operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of motion resource processing, and in particular to a method and system for motion resource conversion based on a skeletal model. Background Technology

[0002] In the field of motion resource processing for animation production and game development, cross-model motion retargeting is a crucial technology. It allows the efficient and accurate application of one character's motion data to another character model, thereby greatly enriching the expressiveness of animation and the interactivity of game characters. However, current market-available technologies face numerous challenges and shortcomings in achieving this goal.

[0003] Traditional manual bone matching, as an early mainstream technique, can achieve motion retargeting to some extent, but it heavily relies on manual operation by animators or technical artists. This process requires adjusting the bone positions and rotation values ​​of both the source and target models one by one to ensure pose consistency. This method is not only time-consuming and labor-intensive, demanding extremely high skill levels from the operator, but it is also highly susceptible to errors due to human factors, affecting the accuracy and smoothness of the final animation. Furthermore, manual operation makes it difficult to guarantee consistency in each transformation, increasing the uncertainty and complexity of the project.

[0004] To improve efficiency, semi-automated tools have emerged. These tools aim to reduce the manual workload of users by introducing intelligent algorithms, such as rule-based or template-based initial matching. However, while these tools achieve partial automation to some extent, users still need to perform a significant amount of fine-tuning to correct inaccurate or incorrect matching results. This not only fails to fundamentally solve the problem of inefficiency, but the limitations of their algorithms also mean that they cannot provide satisfactory matching results in certain complex situations, still requiring a high degree of reliance on the user's professional skills and experience.

[0005] In summary, existing technologies for cross-model action redirection have the following significant drawbacks: First, they are inefficient; neither manual methods nor semi-automated tools can quickly complete a large number of complex action redirection tasks. Second, they lack accuracy; human intervention or algorithmic limitations can lead to inaccurate matching results. Third, they require high levels of expertise, increasing the cost and training difficulty for project teams. Fourth, they lack consistency, making it difficult to guarantee the stability and repeatability of each conversion result. Fifth, they lack scalability; existing technologies are often designed for specific projects or roles, lacking versatility and flexibility. Sixth, they lack comprehensive solutions; users typically need to combine multiple tools and methods to complete the entire process, increasing complexity and error rates. Summary of the Invention

[0006] The technical problem to be solved by this invention is to provide a method and system for motion resource conversion based on a skeletal model, which can perform motion resource conversion efficiently and accurately, thereby improving the work efficiency in animation production and game development and reducing errors caused by manual operation.

[0007] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:

[0008] A method for motion resource conversion based on a skeletal model includes the following steps:

[0009] Obtain the source action resources, their source model, and target model as input;

[0010] Read the associated skeletons in the source model and the target model, obtain all bone names of the associated skeletons, and generate bone name matching assets by matching all bone names of the source model and the target model;

[0011] Inverse kinematics binding assets are generated by matching data in the bone name matching assets, and inverse kinematics retargeting assets are established by combining the source model, the target model and the inverse kinematics binding assets.

[0012] Generate a target model pose that matches the source model pose, set the target model pose as the target model pose of the inverse kinematics retargeting asset, and convert the source motion resource into a motion resource adapted to the target model based on the inverse kinematics retargeting asset.

[0013] To solve the above-mentioned technical problems, another technical solution adopted by the present invention is as follows:

[0014] A system for motion resource conversion based on a skeletal model includes:

[0015] The name matching module is used to obtain the source model and the target model, read the associated skeleton in the source model and the target model, obtain all the bone names of the associated skeleton, and generate bone name matching assets by matching all the bone names of the source model and the target model.

[0016] The inverse kinematics binding module is used to generate inverse kinematics binding assets by matching data in the bone name matching asset;

[0017] The inverse kinematics retargeting module is used to combine the source model, the target model, and the inverse kinematics binding asset to establish an inverse kinematics retargeting asset;

[0018] The pose matching module is used to generate a target model pose that matches the source model pose, and set the target model pose as the target model pose of the inverse kinematics retargeting asset.

[0019] The motion conversion module is used to acquire the input source motion resources and convert the source motion resources into motion resources adapted to the target model based on the inverse kinematics redirection asset.

[0020] The beneficial effects of this invention are as follows: It reads the associated skeletons in the source and target models, obtains all bone names of the associated skeletons, and generates a bone name matching asset by matching all bone names in the source and target models, ensuring consistency of bone names between the source and target models. Inverse kinematics rigging assets are generated using the matching data in the bone name matching asset, and inverse kinematics retargeting assets are established by combining the source model, target model, and inverse kinematics rigging assets. Then, a target model pose matching the source model pose is generated, and the target model pose is set as the target model pose of the inverse kinematics retargeting asset. The input source motion resources are obtained, and the source motion resources are converted into motion resources adapted to the target model according to the inverse kinematics retargeting asset. In this way, motion resource conversion can be performed efficiently and accurately, improving work efficiency in animation production and game development and reducing errors caused by manual operation. Attached Figure Description

[0021] Figure 1 This is a flowchart illustrating a method for motion resource conversion based on a skeletal model according to an embodiment of the present invention;

[0022] Figure 2 This is a schematic diagram of a motion resource conversion system based on a skeletal model according to an embodiment of the present invention;

[0023] Figure 3 This is a flowchart illustrating name matching in an embodiment of the present invention;

[0024] Figure 4 This is a flowchart illustrating the generation of skeleton name matching assets according to an embodiment of the present invention;

[0025] Figure 5 This is a flowchart illustrating the generation of inverse kinematics-bound assets according to an embodiment of the present invention;

[0026] Figure 6 This is a flowchart illustrating the inverse kinematics redirection in an embodiment of the present invention;

[0027] Figure 7 This is a flowchart of pose matching according to an embodiment of the present invention;

[0028] Figure 8 This is a flowchart illustrating the action resource conversion in an embodiment of the present invention. Detailed Implementation

[0029] To explain in detail the technical content, objectives, and effects of the present invention, the following description is provided in conjunction with the embodiments and accompanying drawings.

[0030] Please refer to Figure 1 This invention provides a method for motion resource conversion based on a skeletal model, comprising the following steps:

[0031] Obtain the source action resources, their source model, and target model as input;

[0032] Read the associated skeletons in the source model and the target model, obtain all bone names of the associated skeletons, and generate bone name matching assets by matching all bone names of the source model and the target model;

[0033] Inverse kinematics binding assets are generated by matching data in the bone name matching assets, and inverse kinematics retargeting assets are established by combining the source model, the target model and the inverse kinematics binding assets.

[0034] Generate a target model pose that matches the source model pose, set the target model pose as the target model pose of the inverse kinematics retargeting asset, and convert the source motion resource into a motion resource adapted to the target model based on the inverse kinematics retargeting asset.

[0035] As described above, the beneficial effects of this invention are as follows: It reads the associated skeletons in the source and target models, obtains all bone names of the associated skeletons, and generates bone name matching assets by matching all bone names in the source and target models, ensuring consistency of bone names between the source and target models. Inverse kinematics rigging assets are generated using the matching data in the bone name matching assets, and inverse kinematics retargeting assets are established by combining the source model, target model, and inverse kinematics rigging assets. Then, a target model pose matching the source model pose is generated, and the target model pose is set as the target model pose of the inverse kinematics retargeting assets. The input source motion resources are obtained, and the source motion resources are converted into motion resources adapted to the target model based on the inverse kinematics retargeting assets. In this way, motion resource conversion can be performed efficiently and accurately, improving work efficiency in animation production and game development and reducing errors caused by manual operation.

[0036] Further, the associated skeletons in the source model and the target model are read, all bone names of the associated skeletons are obtained, and bone name matching assets are generated by matching all bone names of the source model and the target model, including:

[0037] Extract a first associated skeleton from the source model and extract a second associated skeleton from the target model;

[0038] Extract and store the first bone name of all bone nodes in the first associated skeleton of the source model;

[0039] Extract and store the second bone names of all bone nodes in the second associated skeleton of the target model;

[0040] Perform a preliminary match between the first bone name and the second bone name in the target model, filter the preliminary match results, and store the first bone names that pass the filter into the bone name matching asset.

[0041] The second bone name is initially matched with the first bone name in the source model. The initial matching results are then filtered, and the second bone names that pass the filter are stored in the bone name matching asset.

[0042] As described above, by reading the associated skeletons of the source and target models through name matching, all bone names are obtained. Through preliminary matching and filtering, the bone names are matched to the bone name matching assets, ensuring the consistency of bone names between the source and target models, thereby improving the accuracy and efficiency of subsequent inverse kinematic binding and retargeting processes.

[0043] Furthermore, generating inverse kinematic binding assets using the matching data in the bone name matching asset includes:

[0044] Obtain the bone names in the bone name matching asset, traverse each first bone chain corresponding to the bone name, and create a corresponding second bone chain for each first bone chain in the target model;

[0045] If the first bone chain is a hand bone chain or a foot bone chain, then create an inverse kinematic target for the first bone chain;

[0046] Generate inverse kinematic binding assets based on all the described inverse kinematic objectives.

[0047] As described above, inverse kinematics binding assets are generated by matching data in the bone name matching assets of the source model and the target model. This mainly involves creating inverse kinematic targets for the hands and feet, and determining the inverse kinematics binding assets more reasonably.

[0048] Further, generating a target model pose that matches the source model pose includes:

[0049] The current pose data of the source model is obtained, including the position and rotation value of the bone nodes on the corresponding bone chain. The target bone chain is matched in the target model according to the bone chain corresponding to the current pose data. The rotation value of the bone node on the source model is converted into the rotation value of the bone node on the target bone chain to generate the pose of the target model that matches the pose of the source model.

[0050] As described above, by generating a target model pose that matches the source model pose and setting it as the target model pose for the inverse kinematics retargeting asset, processing is performed based on the bone chain, and conversion is achieved by modifying rotation values, which facilitates the automatic conversion of the input motion resources in the future.

[0051] Further, converting the source motion resource into motion resources adapted to the target model based on the inverse kinematics redirection asset includes:

[0052] Frame information is obtained from the source motion resource, and the skeletal pose data of the source model in each frame is obtained. The skeletal pose data is then converted to the target model according to the inverse kinematics retargeting asset.

[0053] As described above, by redirecting the asset using inverse kinematics, the source motion resources are converted into new motion resources that adapt to the target model. The conversion process is completed by traversing each keyframe and modifying the corresponding rotation values, thus ensuring the full automation of motion resource conversion.

[0054] Please refer to Figure 2 Another embodiment of the present invention provides a system for motion resource conversion based on a skeletal model, comprising:

[0055] The name matching module is used to obtain the source model and the target model, read the associated skeleton in the source model and the target model, obtain all the bone names of the associated skeleton, and generate bone name matching assets by matching all the bone names of the source model and the target model.

[0056] The inverse kinematics binding module is used to generate inverse kinematics binding assets by matching data in the bone name matching asset;

[0057] The inverse kinematics retargeting module is used to combine the source model, the target model, and the inverse kinematics binding asset to establish an inverse kinematics retargeting asset;

[0058] The pose matching module is used to generate a target model pose that matches the source model pose, and set the target model pose as the target model pose of the inverse kinematics retargeting asset.

[0059] The motion conversion module is used to acquire the input source motion resources and convert the source motion resources into motion resources adapted to the target model based on the inverse kinematics redirection asset.

[0060] Further, the associated skeletons in the source model and the target model are read, all bone names of the associated skeletons are obtained, and bone name matching assets are generated by matching all bone names of the source model and the target model, including:

[0061] Extract a first associated skeleton from the source model and extract a second associated skeleton from the target model;

[0062] Extract and store the first bone name of all bone nodes in the first associated skeleton of the source model;

[0063] Extract and store the second bone names of all bone nodes in the second associated skeleton of the target model;

[0064] Perform a preliminary match between the first bone name and the second bone name in the target model, filter the preliminary match results, and store the first bone names that pass the filter into the bone name matching asset.

[0065] The second bone name is initially matched with the first bone name in the source model. The initial matching results are then filtered, and the second bone names that pass the filter are stored in the bone name matching asset.

[0066] As described above, by reading the associated skeletons of the source and target models through name matching, all bone names are obtained. Through preliminary matching and filtering, the bone names are matched to the bone name matching assets, ensuring the consistency of bone names between the source and target models, thereby improving the accuracy and efficiency of subsequent inverse kinematic binding and retargeting processes.

[0067] Furthermore, generating inverse kinematic binding assets using the matching data in the bone name matching asset includes:

[0068] Obtain the bone names in the bone name matching asset, traverse each first bone chain corresponding to the bone name, and create a corresponding second bone chain for each first bone chain in the target model;

[0069] If the first bone chain is a hand bone chain or a foot bone chain, then create an inverse kinematic target for the first bone chain;

[0070] Generate inverse kinematic binding assets based on all the described inverse kinematic objectives.

[0071] As described above, inverse kinematics binding assets are generated by matching data in the bone name matching assets of the source model and the target model. This mainly involves creating inverse kinematic targets for the hands and feet, and determining the inverse kinematics binding assets more reasonably.

[0072] Further, generating a target model pose that matches the source model pose includes:

[0073] The current pose data of the source model is obtained, including the position and rotation value of the bone nodes on the corresponding bone chain. The target bone chain is matched in the target model according to the bone chain corresponding to the current pose data. The rotation value of the bone node on the source model is converted into the rotation value of the bone node on the target bone chain to generate the pose of the target model that matches the pose of the source model.

[0074] As described above, by generating a target model pose that matches the source model pose and setting it as the target model pose for the inverse kinematics retargeting asset, processing is performed based on the bone chain, and conversion is achieved by modifying rotation values, which facilitates the automatic conversion of the input motion resources in the future.

[0075] Further, converting the source motion resource into motion resources adapted to the target model based on the inverse kinematics redirection asset includes:

[0076] Frame information is obtained from the source motion resource, and the skeletal pose data of the source model in each frame is obtained. The skeletal pose data is then converted to the target model according to the inverse kinematics retargeting asset.

[0077] As described above, by redirecting the asset using inverse kinematics, the source motion resources are converted into new motion resources that adapt to the target model. The conversion process is completed by traversing each keyframe and modifying the corresponding rotation values, thus ensuring the full automation of motion resource conversion.

[0078] The method and system for motion resource conversion based on a skeletal model described above are suitable for efficient and accurate motion resource conversion, thereby improving work efficiency in animation production and game development and reducing errors caused by manual operation. The following describes specific implementation methods:

[0079] Example 1

[0080] Please refer to Figure 1 , Figures 3 to 8 A method for motion resource conversion based on a skeletal model, comprising the following steps:

[0081] S1. Obtain the source action resources, source model, and target model of the input.

[0082] Among them, the source motion resources are the motion resources from which the character skeleton is located. These can be motion resources of any humanoid character skeleton and can be imported into the development engine from third-party software using animation resource formats such as FBX and bvh.

[0083] The source model is the skeletal mesh created when the 3D model resource corresponding to the source motion resource is imported into the development engine; the target model is the skeletal mesh created when the 3D model resource of the template model to be converted is imported into the development engine. A skeletal mesh is a type of 3D model that can deform through skeletal animation. It's an asset type used in development engines, relying on an internal skeletal structure composed of multiple connected bones, each controlling a portion of the mesh. By rotating and moving these bones, dynamic expressions such as walking, jumping, and facial expressions can be achieved for characters or objects. This makes skeletal meshes ideal for creating characters with complex animations and other objects requiring dynamic deformation.

[0084] S2. Read the associated skeletons in the source model and the target model, obtain all bone names of the associated skeletons, and generate bone name matching assets by matching all bone names of the source model and the target model.

[0085] S21. Extract the first associated skeleton from the source model and extract the second associated skeleton from the target model. Specifically, obtain the source model to be matched and extract its associated skeleton from the source model; obtain the target model to be matched and extract its associated skeleton from the target model.

[0086] Among them, the associated skeleton is the internal skeleton structure that the skeletal mesh depends on, and it is an asset type used in the development engine.

[0087] S22. Extract and store the first bone names of all bone nodes in the first associated skeleton of the source model. Specifically, process the bone nodes of the associated skeleton in the source model one by one and store the bone names.

[0088] S23. Extract and store the second bone names of all bone nodes in the second associated skeleton of the target model. Specifically, process each bone node of the associated skeleton in the target model and store the bone name.

[0089] S24. Perform a preliminary match between the first bone name and the second bone name in the target model, filter the preliminary match results, and store the first bone name that passes the filter into the bone name matching asset.

[0090] Specifically, a generic name matching list is created, which contains standardized bone and bone chain names. The bone names stored in the source model are traversed, and the corresponding target model bone names are matched in the generic name matching list to obtain preliminary matching results.

[0091] In this embodiment, bone names in the source and target models are automatically retrieved using preset keyword rules. For example, hand bones may contain keywords such as "hand" and "wrist," while foot bones may contain keywords such as "foot" and "ankle." Regular expressions are then used to perform pattern matching on the bone names to identify bones with similar or identical functions. For example, the regular expression `.*hand.*` can be used to match all bone names containing "hand."

[0092] Next, the preliminary matching results are filtered: one method is by position and hierarchy information, using the positional relationship of bones in 3D space for initial matching. For example, hand bones are usually located on both sides of the character model, so initial matching can be done based on spatial position. Then, matching is performed based on the skeletal hierarchy structure; for example, hand bones are usually child nodes of upper arm bones, and the hierarchy relationship can further confirm preliminary matches. Another method is by template matching: using a preset standard skeleton template, the bones of the source and target models are compared with the standard template to find preliminary matches with high similarity.

[0093] If the selection passes the filter, the result is stored in the bone name matching asset; otherwise, it is recorded and removed. For items that are not found or fail the filter, they are recorded for later processing or manual adjustment. Repeat the above steps until all bones in the source models have been processed.

[0094] S25. Perform a preliminary match between the second bone name and the first bone name in the source model, filter the preliminary match results, and store the second bone name that passes the filter into the bone name matching asset.

[0095] Similarly, iterate through the bone names stored in the target model and match them with the corresponding source model bone names in the general name matching list to obtain preliminary matching results. Filter these preliminary matching results and store the filtered matches in the bone name matching asset. Record any items that are not found or fail the filter for later processing or manual adjustment. Repeat the above steps until all bones in the target model have been processed.

[0096] S3. Generate inverse kinematics binding assets using the matching data in the bone name matching asset, and establish inverse kinematics retargeting assets by combining the source model, the target model, and the inverse kinematics binding assets.

[0097] S31. Obtain the bone names in the bone name matching asset, traverse each first bone chain corresponding to the bone name, and create a corresponding second bone chain for each first bone chain in the target model.

[0098] A skeletal chain is a structure composed of a series of interconnected bones, which are logically and physically linked to form a continuous chain. Skeletal chains can be used to define the movement and behavior of specific parts. For example, a character's arm can be considered a skeletal chain, starting from the shoulder and ending at the wrist, encompassing multiple bones such as the shoulder, upper arm, forearm, and wrist.

[0099] S32. If the first bone chain is a hand bone chain or a foot bone chain, then create an inverse kinematic target for the first bone chain.

[0100] Specifically, check if the current first bone chain is a left-hand bone chain, right-hand bone chain, left-foot bone chain, or right-foot bone chain. If so, create an inverse kinematic target for the current first bone chain; otherwise, skip creating the inverse kinematic target. Set joint constraints and limitations for the current first bone chain to ensure the movement is natural and conforms to physical laws. Repeat the above steps until all matched bone chains have been processed, processing all unprocessed bone chains in a loop.

[0101] In this embodiment, joint constraints are used to define the maximum and minimum range of motion of the bone during rotation or movement to prevent it from entering unnatural or impossible positions, specifically including rotational constraints and positional constraints:

[0102] 1. In rotational limits, pitch angle defines the maximum and minimum rotation angle of a joint in the vertical direction. For example, the pitch angle of the elbow joint is usually between 0 and 150 degrees. Yaw angle defines the maximum and minimum rotation angle of a joint in the horizontal direction. For example, the yaw angle of the knee joint is usually 0 degrees because it only allows movement in a single plane. Roll angle defines the maximum and minimum rotation angle of a joint in the torsional direction. For example, the shoulder can have a certain range of roll angles, but it cannot exceed the physiological limit.

[0103] 2. Position restrictions: For certain special types of skeletons, such as inverse kinematic targets, their range of movement in 3D space can be set. For example, a hand inverse kinematic target can only move within a certain range to ensure that the movement is reasonable.

[0104] Constraints are used to define the relationships between bones to ensure coordinated movements that conform to the laws of physics. Specifically, they include:

[0105] 1. Position Constraints:

[0106] Ensure that the position of one bone is in a certain relationship with that of another bone. For example, the position of the inverse kinematic target of the hand should be aligned with the wrist bones.

[0107] 2. Rotation Constraints:

[0108] Ensure that the rotation of one bone maintains a certain relationship with that of another bone. For example, the rotation of the skull bones should be coordinated with that of the neck bones.

[0109] 3. Distance Constraints:

[0110] Define the minimum and maximum distance between two bones. For example, when the arm is extended, the distance between the elbow and shoulder should remain within a certain range.

[0111] 4. Aim Constraints:

[0112] Ensure that a particular bone is always oriented towards a specific target. For example, the eye bones should always be oriented towards the target point in the line of sight.

[0113] 5. Parent-Child Constraints:

[0114] Define a parent-child relationship so that the child bone moves or rotates with the parent bone. For example, finger bones should move with the palm.

[0115] S33. Generate inverse kinematics rigging assets based on all the described inverse kinematics targets. Inverse kinematics rigging assets are an asset type used in the development engine to define and configure inverse kinematics. They contain information such as bone chains, inverse kinematics targets, and joint constraints, used to achieve more natural and realistic character movements in animation transitions.

[0116] Specifically, all bone chains and inverse kinematics targets are stored in inverse kinematics binding assets to form complete inverse kinematics binding information.

[0117] Next, the completeness and accuracy of the generated inverse kinematics binding assets need to be verified, checking for any errors or omissions. If the verification passes, the inverse kinematics binding assets are completed; if the verification fails, the error is logged and debugging is performed, then the verification step is returned for re-checking.

[0118] S34. In the development engine, create a new asset of type Inverse Kinematics Redirection. Add a source model, a target model, and an Inverse Kinematics Binding Asset to the newly created Inverse Kinematics Redirection Asset. Verify that the source model, target model, and Inverse Kinematics Binding Asset are all successfully associated with the Inverse Kinematics Redirection Asset without any association errors. Ensure there are no omissions or errors. If there are no errors, complete the creation and association of the Inverse Kinematics Redirection Asset. Otherwise, record the error, debug, and return to the verification step to recheck.

[0119] Among these, the associated anomalies include, but are not limited to:

[0120] 1. The source model, target model, and inverse kinematics binding assets are unreadable, causing the associated write to the inverse kinematics redirection asset to fail.

[0121] 2. The inverse kinematics redirection asset is not writable, causing the associated write to the inverse kinematics redirection asset to fail.

[0122] 3. Invalid assets exist in the source model, target model, inverse kinematics binding, and inverse kinematics redirection assets, causing write failure.

[0123] S4. Generate a target model pose that matches the source model pose, set the target model pose as the target model pose of the inverse kinematics redirection asset, and convert the source motion resource into motion resources adapted to the target model according to the inverse kinematics redirection asset.

[0124] S41. Obtain the current pose data of the source model, the current pose data including the position and rotation value of the bone node on the corresponding bone chain, and match the corresponding target bone chain in the target model according to the bone chain corresponding to the current pose data, convert the rotation value of the bone node on the source model into the rotation value of the bone node on the target bone chain, and generate the pose of the target model that matches the pose of the source model.

[0125] Specifically, the process involves acquiring the current pose data of the source model, extracting the position and rotation data of all bones in the source model at the current moment, traversing each bone chain in the bone name matching data, acquiring the pose data of the current bone chain in the source model, and extracting the position and rotation data of all bone nodes on that bone chain; finding the corresponding bone chain in the target model, and locating the corresponding target bone chain based on name matching. Then, iterating through each bone node in the current bone chain, converting the rotation values ​​of the bone nodes in the source model to the rotation values ​​of the corresponding bone nodes in the target model, calculating and applying the corresponding rotation transformation.

[0126] Determine if there are any unprocessed skeletal nodes. If so, process the next node; otherwise, proceed to the next step. Determine if there are any unprocessed bone chains. If so, process the next bone chain; otherwise, proceed to the next step.

[0127] Generate a target model pose that matches the source model pose, forming a complete set of new pose data that matches the source pose. Set the generated target model pose as the target model pose of the inverse kinematics retargeting asset. Update the newly generated data in the inverse kinematics retargeting asset.

[0128] Verify that the target model's pose is correct: Check that all relationships are set correctly, ensuring there are no omissions or errors, and determine whether the verification passes. If it passes, complete the pose matching and update the inverse kinematics retargeting assets; if it fails, record the error and debug, then return to the verification step to check again.

[0129] S42. Obtain frame information from the source motion resource, obtain the skeletal pose data of the source model in each frame information, and convert the skeletal pose data to the target model according to the inverse kinematics retargeting asset.

[0130] Obtain all keyframe data from the source motion resource, traverse each keyframe, and obtain the skeletal pose data of the source model in the keyframe, i.e., the position, rotation, and other data of all bones.

[0131] The process of converting skeletal pose data to a target model using inverse kinematics redirection assets involves transforming the pose data of the source model into data adapted to the target model using information from the inverse kinematics redirection assets. The converted skeletal pose data is then applied to the target model, and the calculation results are applied to the target model to form a new pose.

[0132] Next, determine if there are any unprocessed keyframes. If so, continue processing the next keyframe; otherwise, proceed to the next step.

[0133] Generate new motion resources that are adapted to the target model, forming a complete set of new motion data that matches the source motions but is applicable to the target model.

[0134] Verify the completeness and accuracy of the new action resources: Check that all relationships are set correctly, ensure there are no omissions or errors, and determine whether the verification passes. If it passes, complete the action resource conversion and save the new action resources; if it fails, record the error and debug, then return to the verification step to check again.

[0135] Example 2

[0136] This embodiment provides an application scenario for a method of motion resource conversion based on a skeletal model:

[0137] 1. Animation Production

[0138] Scenario Description: In the production of animated films, television programs, or commercials, animators need to create consistent sequences of movements for multiple characters. For example, in an animated film, different characters may need to perform the same fighting or dancing moves.

[0139] Application method:

[0140] Motion sharing: A motion resource conversion method based on skeletal models can quickly convert the preset motion resources of one character into motion resources suitable for other characters. The name matching module automatically reads and matches bone names, the IK binding and IK redirection modules ensure the consistency of bone poses, the pose matching module generates the target model pose that matches the source model pose, and finally the motion resource conversion module generates the adapted new motion resources.

[0141] Efficiency improvements: Reduced time spent on manual adjustments and verification allows animators to focus on creative work rather than repetitive technical tasks.

[0142] Consistency guarantee: Ensures that all characters maintain consistency when performing the same actions, thus improving animation quality.

[0143] 2. Game Development

[0144] Scenario Description: In large-scale game projects, different characters (such as player characters, NPCs, etc.) may share the same basic actions, such as running, jumping, and attacking. Traditional methods require adjusting the action data for each character individually, which is time-consuming and prone to errors.

[0145] Application method:

[0146] Cross-model motion redirection: This method utilizes a motion resource conversion approach based on skeletal models to quickly redirect the basic motions of one character to other characters. It achieves efficient and accurate data conversion through an automated process.

[0147] Diverse character performance: Developers can easily create consistent and natural movements for different types of characters (such as humans, monsters, and robots) without worrying about issues caused by differences in skeletal structure.

[0148] Shorter development cycle: Significantly reduced manual adjustment and verification time, accelerated game development process, and improved overall project efficiency.

[0149] 3. Virtual Reality (VR) and Augmented Reality (AR)

[0150] Scenario Description: In VR and AR applications, virtual characters need to interact with users in real time. These virtual characters typically have complex skeletal structures and diverse movement requirements.

[0151] Application method:

[0152] Real-time motion updates: By employing a motion resource conversion method based on a skeletal model, virtual characters can quickly switch between different actions in different contexts. Whether user-controlled or using preset scenarios, the natural and smooth movements of the virtual characters are guaranteed.

[0153] Cross-platform compatibility: It supports virtual characters on different hardware platforms to use the same basic motion resources, which improves the consistency and efficiency of cross-platform development.

[0154] Enhanced immersive experience: Ensures that virtual characters exhibit high-quality, consistent actions when interacting with users, thereby improving the user experience.

[0155] 4. Education and Training

[0156] Scenario Description: In the field of education and training, virtual teaching assistants or training simulators need to have rich and natural body language in order to better interact with learners.

[0157] Application method:

[0158] Teaching assistant animation generation: By using a motion resource conversion method based on a skeletal model, consistent motion resources applicable to different teaching assistant models can be quickly generated, enabling them to naturally display various teaching content.

[0159] Training simulator optimization: In the training simulator, the motion resources of virtual instructors or trainees required for different training scenarios are quickly switched to improve training effectiveness and realism.

[0160] 5. Medical Rehabilitation

[0161] Scenario Description: In the field of medical rehabilitation, virtual rehabilitation coaches need to provide personalized guidance based on the patient's condition and demonstrate standardized rehabilitation exercises.

[0162] Application method:

[0163] Rehabilitation coach animation generation: Through a method of motion resource conversion based on skeletal models, consistent rehabilitation exercise guidance applicable to different patient models can be quickly generated, enabling virtual coaches to accurately demonstrate each rehabilitation step.

[0164] Personalized rehabilitation plan customization: Based on the patient's specific situation, quickly adjust and generate rehabilitation exercise animations that suit their needs to improve the effectiveness of rehabilitation training.

[0165] Example 3

[0166] Please refer to Figure 2 A system for motion resource conversion based on a skeletal model, comprising:

[0167] The name matching module is used to obtain the source model and the target model, read the associated skeleton in the source model and the target model, obtain all the bone names of the associated skeleton, and generate bone name matching assets by matching all the bone names of the source model and the target model.

[0168] Specifically, the process involves: extracting a first associated skeleton from the source model and extracting a second associated skeleton from the target model; extracting and storing the first bone names of all skeletal nodes in the first associated skeleton of the source model; extracting and storing the second bone names of all skeletal nodes in the second associated skeleton of the target model; performing preliminary matching between the first bone names and the second bone names in the target model; filtering the preliminary matching results; and storing the first bone names that pass the filtering in the bone name matching asset. Finally, performing preliminary matching between the second bone names and the first bone names in the source model; filtering the preliminary matching results; and storing the second bone names that pass the filtering in the bone name matching asset.

[0169] The inverse kinematics binding module is used to generate inverse kinematics binding assets by matching data in the bone name matching asset;

[0170] Specifically, the bone names in the bone name matching asset are obtained, each first bone chain corresponding to the bone name is traversed, and a corresponding second bone chain is created for each first bone chain in the target model; if the first bone chain is a hand bone chain or a foot bone chain, an inverse kinematics target is created for the first bone chain; and an inverse kinematics binding asset is generated based on all the inverse kinematics targets.

[0171] The inverse kinematics retargeting module is used to combine the source model, the target model, and the inverse kinematics binding asset to establish an inverse kinematics retargeting asset;

[0172] The pose matching module is used to generate a target model pose that matches the pose of the source model, and set the target model pose as the target model pose of the inverse kinematics retargeting asset; wherein, the current pose data of the source model is obtained, the current pose data includes the position and rotation values ​​of the bone nodes on the corresponding bone chain, and the corresponding target bone chain is matched in the target model according to the bone chain corresponding to the current pose data, the rotation values ​​of the bone nodes on the source model are converted into the rotation values ​​of the bone nodes on the target bone chain, and the pose of the target model that matches the pose of the source model is generated.

[0173] The motion conversion module is used to acquire the input source motion resources and convert the source motion resources into motion resources adapted to the target model based on the inverse kinematics redirection asset.

[0174] Specifically, frame information from the source motion resource is obtained, and the skeletal pose data of the source model in each frame is obtained. The skeletal pose data is then converted to the target model based on the inverse kinematics retargeting asset.

[0175] In summary, the method and system for motion resource conversion based on skeletal models provided by this invention have significant beneficial effects in fields such as animation production and game development.

[0176] 1. Improved Work Efficiency: By automating name matching, IK (Inverse Kinematics) binding, IK redirection, pose matching, and motion resource conversion, the time spent on manual operations is significantly reduced. All steps are completed through automated modules, avoiding tedious manual adjustments; it can process large amounts of model and motion data in a short time, significantly shortening the project cycle.

[0177] 2. Improve data accuracy: Through precise algorithm and module design, a high degree of consistency and accuracy of skeleton and motion data is ensured. The name matching module ensures high accuracy of skeleton name matching through keyword retrieval and filtering; the IK binding and redirection module ensures a high degree of consistency in pose transformation between the source model and the target model.

[0178] 3. Reduced reliance on specialized skills: Automated processes reduce the skill level required of operators. Users do not need extensive experience to complete complex data conversion tasks, and new employees can get started quickly, reducing team training costs.

[0179] 4. Ensure consistent results: Standardized processes ensure consistent results for each conversion, unaffected by individual operator differences. Each conversion follows the same algorithm and process, guaranteeing consistent results; this avoids inconsistencies caused by manual operation and improves product quality.

[0180] 5. Enhanced scalability and flexibility: This invention is designed as a universal solution applicable to different types of models and motion data, exhibiting strong scalability. It is suitable for various roles in different projects without requiring extensive parameter readjustment. Modules can be configured to meet specific needs, enabling personalized customization.

[0181] 6. Enhanced Animation Quality: Through precise data processing, the naturalness and smoothness of character movements in the final animations or games are significantly improved. The pose matching and motion resource conversion modules ensure natural and fluid character movements without any noticeable abrupt changes. The final generated animations or game character movements have high-quality performance, enhancing the user experience.

[0182] 7. Multi-platform compatibility: Considering the needs of multi-platform applications, unified data processing can be achieved across different hardware platforms. Consistency in character movements is guaranteed whether on PCs, consoles, or mobile devices. Suitable for emerging technology platforms such as VR / AR, improving the product's adaptability to market changes.

[0183] In summary, this invention offers significant advantages in improving work efficiency, data accuracy, reducing reliance on specialized skills, ensuring result consistency, enhancing scalability and flexibility, improving animation quality, and supporting multi-platform compatibility. These advantages make this invention widely applicable in animation production, game development, and other related fields, and can significantly improve overall work efficiency and product quality.

[0184] The above description is merely an embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent modifications made based on the content of the present invention specification and drawings, or direct or indirect applications in related technical fields, are similarly included within the patent protection scope of the present invention.

Claims

1. A method for motion resource conversion based on a skeletal model, characterized in that, Including the following steps: Obtain the source action resources, their source model, and target model as input; Read the associated skeletons in the source model and the target model, obtain all bone names of the associated skeletons, and generate bone name matching assets by matching all bone names of the source model and the target model; Inverse kinematics binding assets are generated by matching data in the bone name matching assets, and inverse kinematics retargeting assets are established by combining the source model, the target model and the inverse kinematics binding assets. Generate a target model pose that matches the source model pose, set the target model pose as the target model pose of the inverse kinematics retargeting asset, and convert the source motion resource into a motion resource adapted to the target model based on the inverse kinematics retargeting asset; Read the associated skeletons in the source model and the target model, obtain all bone names of the associated skeletons, and generate bone name matching assets by matching all bone names in the source model and the target model, including: Extract a first associated skeleton from the source model and extract a second associated skeleton from the target model; Extract and store the first bone name of all bone nodes in the first associated skeleton of the source model; Extract and store the second bone names of all bone nodes in the second associated skeleton of the target model; Perform a preliminary match between the first bone name and the second bone name in the target model, filter the preliminary match results, and store the first bone names that pass the filter into the bone name matching asset. Perform a preliminary match between the second bone name and the first bone name in the source model, filter the preliminary match results, and store the second bone names that pass the filter into the bone name matching asset. Inverse kinematic binding assets are generated by matching data in the bone name matching assets, including: Obtain the bone names in the bone name matching asset, traverse each first bone chain corresponding to the bone name, and create a corresponding second bone chain for each first bone chain in the target model; If the first bone chain is a hand bone chain or a foot bone chain, then create an inverse kinematic target for the first bone chain; Generate inverse kinematic binding assets based on all the described inverse kinematic objectives.

2. The method for motion resource conversion based on a skeletal model according to claim 1, characterized in that, Generate a target model pose that matches the source model pose, including: The current pose data of the source model is obtained, including the position and rotation value of the bone nodes on the corresponding bone chain. The target bone chain is matched in the target model according to the bone chain corresponding to the current pose data. The rotation value of the bone node on the source model is converted into the rotation value of the bone node on the target bone chain to generate the pose of the target model that matches the pose of the source model.

3. The method for motion resource conversion based on a skeletal model according to claim 1, characterized in that, Converting the source motion resource into motion resources adapted to the target model based on the inverse kinematics redirection asset includes: Frame information is obtained from the source motion resource, and the skeletal pose data of the source model in each frame is obtained. The skeletal pose data is then converted to the target model according to the inverse kinematics retargeting asset.

4. A system for motion resource conversion based on a skeletal model, characterized in that, include: The name matching module is used to obtain the source model and the target model, read the associated skeleton in the source model and the target model, obtain all the bone names of the associated skeleton, and generate bone name matching assets by matching all the bone names of the source model and the target model. The inverse kinematics binding module is used to generate inverse kinematics binding assets by matching data in the bone name matching asset; The inverse kinematics retargeting module is used to combine the source model, the target model, and the inverse kinematics binding asset to establish an inverse kinematics retargeting asset; The pose matching module is used to generate a target model pose that matches the source model pose, and set the target model pose as the target model pose of the inverse kinematics retargeting asset. The motion conversion module is used to acquire the input source motion resources and convert the source motion resources into motion resources adapted to the target model based on the inverse kinematics redirection asset. Read the associated skeletons in the source model and the target model, obtain all bone names of the associated skeletons, and generate bone name matching assets by matching all bone names in the source model and the target model, including: Extract a first associated skeleton from the source model and extract a second associated skeleton from the target model; Extract and store the first bone name of all bone nodes in the first associated skeleton of the source model; Extract and store the second bone names of all bone nodes in the second associated skeleton of the target model; Perform a preliminary match between the first bone name and the second bone name in the target model, filter the preliminary match results, and store the first bone names that pass the filter into the bone name matching asset. Perform a preliminary match between the second bone name and the first bone name in the source model, filter the preliminary match results, and store the second bone names that pass the filter into the bone name matching asset. Inverse kinematic binding assets are generated by matching data in the bone name matching assets, including: Obtain the bone names in the bone name matching asset, traverse each first bone chain corresponding to the bone name, and create a corresponding second bone chain for each first bone chain in the target model; If the first bone chain is a hand bone chain or a foot bone chain, then create an inverse kinematic target for the first bone chain; Generate inverse kinematic binding assets based on all the described inverse kinematic objectives.

5. The system for motion resource conversion based on a skeletal model according to claim 4, characterized in that, Generate a target model pose that matches the source model pose, including: The current pose data of the source model is obtained, including the position and rotation value of the bone nodes on the corresponding bone chain. The target bone chain is matched in the target model according to the bone chain corresponding to the current pose data. The rotation value of the bone node on the source model is converted into the rotation value of the bone node on the target bone chain to generate the pose of the target model that matches the pose of the source model.

6. The system for motion resource conversion based on a skeletal model according to claim 4, characterized in that, Converting the source motion resource into motion resources adapted to the target model based on the inverse kinematics redirection asset includes: Frame information is obtained from the source motion resource, and the skeletal pose data of the source model in each frame is obtained. The skeletal pose data is then converted to the target model according to the inverse kinematics retargeting asset.

Citation Information

Patent Citations

  • Model action redirection method and device, electronic equipment and storage medium

    CN116977506A

  • Bone driving method based on inverse dynamics and virtual reality equipment

    CN118276673A