A real-time motion method and apparatus for synchronously driving character animation and physical interaction

By creating physical components for the character and performing real-time physical simulation, the problem of synchronously driving character animation and physical interaction was solved, achieving realism of character movements and synchronization of environmental interaction, while reducing performance overhead.

CN116883560BActive Publication Date: 2025-10-28ZHEJIANG UNIV +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311082022.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-26
Publication Date
2025-10-28
Estimated Expiration
2043-08-26

AI Technical Summary

Technical Problem

Existing technologies make it difficult to achieve synchronized driving of character animation and physical interaction in games, resulting in uncoordinated character movements and unrealistic interactions with the environment.

Method used

By creating physical components for the character, including the physical shape of the limbs, joint constraints, collision constraints, and bone actuators, and combining animation data to calculate the target pose of the bones in real time, physical simulation is performed to update the skeletal pose of the character's limbs.

Benefits of technology

It achieves realism in character movements and synchronization with environmental interactions, reducing the workload of artists and lowering performance overhead, while providing rich and natural action sequences.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116883560B_ABST
    Figure CN116883560B_ABST
Patent Text Reader

Abstract

This invention discloses a real-time motion method and apparatus for synchronously driving character animation and physical interaction, including a preprocessing stage: creating physical components required for controlling the character's limbs, wherein the physical components include the physical shape of the limbs, joint constraints based on the physical shape, collision constraints between the limbs and the environment, and limb skeletal actuators; and a real-time physical simulation stage: calculating the target pose of the skeleton in real time based on animation data, using the skeletal actuators to achieve the target pose, and performing physical simulation under joint and collision constraints to update the skeletal positions of the character's limbs. This method and apparatus can integrate existing animation data and the influence of the character's environment on the character to generate a real-time motion sequence controlled by user input and conforming to physical laws.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the technical field of computer graphics and real-time physics simulation, and specifically relates to a real-time motion method and device that synchronously drives character animation and physical interaction. Background Technology

[0002] Animation is a crucial technology and function in computer 3D programming. With advancements in hardware technology and increasing demands for realistic virtual worlds, rich and lifelike animation has become an indispensable feature in applications such as games. However, given the freedom and real-time nature of games, tens of thousands of different character action combinations can occur during gameplay due to user input and changes in the surrounding environment. These actions must conform to the user's expected behavior, such as macroscopic movements like movement and jumping, while also interacting reasonably with the external physical scene. Clearly, it's impractical for artists to manually create a corresponding animation for every possible action and environment; the manpower cost would be incalculable, and the sheer volume of animation resources would overwhelm the program's performance. Therefore, having a mechanism that automatically responds to environmental interactions and influences the character is essential for more realistic character animation.

[0003] For common game applications on the market, developers often use a capsule that encloses the character's entire body to respond to external interactions. In games, this is typically implemented by blocking the character when it approaches an obstacle, thus reducing the velocity component moving towards the obstacle. While this method ensures that the character moves only within the game area and also prevents the character from accidentally intersecting with environmental objects, from the user's perspective, because this capsule has a lot of free space compared to the character's limbs, the interaction between the environment and the character often doesn't occur when the character actually comes into contact with an obstacle. Furthermore, the character's movements remain unchanged.

[0004] The "ragdoll system" is a technological mechanism that enables characters to interact effectively with their environment. It approximates the character's major limbs using geometric shapes (such as capsules) and physically simulates them while maintaining their connections. This allows the character to generate an automatically generated sequence of movements that largely conforms to physical laws for each specific scene. Therefore, the "ragdoll system" is widely used in games that emphasize expressive character movements. However, this technology also has its limitations. Most "ragdoll systems" can only be applied to character death animations, simulating falling, crashing through the air, or rolling on the ground. This is because physical simulation conflicts with player control (animation), limiting the wider application of traditional "ragdoll systems."

[0005] Animation blending is a common technique in computer animation. It involves assigning weights to multiple animation segments of a character. When these animations play simultaneously, the pose of each joint of the character is obtained by interpolating the poses of the corresponding joints in the animation sequence with the weights of those animations. Animation blending can produce action effects on a character that are equivalent to movements between several animation segments, and it is easy to implement. Therefore, despite its drawbacks such as discontinuous speed and poor animation effects with large pose differences, it is still widely used for transitions in character animation. Since the motion sequence generated by the simulation results of a "ragdoll system" can also be considered an animation, blending this motion sequence with the user-input animation is also a method to achieve synchronous movement between physics and animation. However, this method is not entirely satisfactory. Because the character's movements under animation control are not converted into physical quantities other than position, the speed of each limb is only affected by external forces. Using such speeds for physical simulation will obviously yield incorrect results. Furthermore, the motion sequence generated by the inherently inaccurate physical simulation will show a significant mismatch with the animation sequence. Blending under such circumstances often results in uncoordinated character movements. Setting the blending weights is also a difficult problem. Excessive animation weight will make the character's response to the external environment stiff, while insufficient animation weight will result in unnatural physical sequences with obvious effects.

[0006] In conclusion, the ultimate goal of achieving an ideal method for synchronizing animation and physics to drive a character is to solve the technical problem of unifying physical effects and animation effects. If a method can reconcile the control of characters by physical simulation and animation, it will be possible to obtain characters in game applications that can move freely and interact correctly with the physical environment in real time. Summary of the Invention

[0007] Based on the above, the purpose of this invention is to provide a real-time action method and apparatus that synchronously drives character animation and physical interaction, which can integrate existing animation data and the influence of the character's environment on the character to generate a sequence of actions in real time that is controlled by user input and conforms to physical laws.

[0008] To achieve the above-mentioned objectives, this invention provides a real-time motion method that synchronously drives character animation and physical interaction, comprising:

[0009] Preprocessing stage: Create the physical components required to control the limbs of the character. These physical components include the physical shape of the limbs, physical shape-based joint constraints, collision constraints between the limbs and the environment, and limb skeletal actuators.

[0010] Real-time physics simulation stage: Calculate the target pose of the skeleton in real time based on the animation data, use the skeleton actuator to achieve the target pose, and perform physics simulation under joint constraints and collision constraints to update the skeleton pose of the character's limbs.

[0011] In one embodiment, the process of creating the physical shape of the limb is as follows:

[0012] Obtain the rigging pose of the bones from the animation data;

[0013] For the character's mesh model, based on the bone-weight pair information of each vertex, the actual control vertex of each bone in the bound pose is determined, and a bounding box is generated for each bone based on the actual control vertex. After merging the bounding boxes corresponding to smaller bones, the physical shape of the limb is generated according to the bounding boxes, wherein the limb is composed of at least one bone.

[0014] In one embodiment, determining the actual control vertex of each bone in the bound pose based on the bone-weight pair information of each vertex includes:

[0015] Based on the information of multiple bone-weight pairs corresponding to each vertex, the bone with the largest weight is selected as the dominant bone for the vertex, and this vertex is the actual controlling vertex of the bone.

[0016] In one embodiment, the merging of the bounding boxes corresponding to the smaller bones includes:

[0017] Based on a threshold, bones with bounding box sizes smaller than the threshold are filtered out. The actual control points of the bones are used as point cloud samples, and principal component analysis is performed on the point cloud samples.

[0018] Based on the correlation between the principal component analysis results of the small bones and the principal component analysis results of other bones, the bounding boxes of the small bones are merged into the bounding boxes of the bones with the highest correlation, and the small bones are aligned to the dominant direction corresponding to the bones with the highest correlation.

[0019] In one embodiment, the process of creating the joint constraints of the physical shape is as follows:

[0020] For adjacent limbs, constraints are set to prevent the limbs from separating or undergoing large twists and turns during the physical simulation. Specifically, the joints of the limbs are locked in position, and the range of degrees of freedom of movement in rotation is set in accordance with ergonomics.

[0021] In one embodiment, the process of creating collision constraints between limbs and the environment is as follows:

[0022] Group the character's limbs, disable collision detection for limbs within a group, disable collision detection for limbs at the connection points between groups, and enable collision detection for the remaining positions.

[0023] In one embodiment, the process of creating the skeletal actuator of the limb is as follows:

[0024] The bone actuator is set as a spring, with one end connected to the driven bone and the other end connected to a point mass with infinite mass. When the distance between the bone and the point mass and the relative rotation are not in the equilibrium position, the bone will be subjected to elastic force and torque to push / pull it towards the equilibrium position.

[0025] The spring is an acceleration spring, and its acceleration is a = -sx - dv, where s represents the stiffness of the spring, x represents the displacement between the current position and the equilibrium position of the driven bone, v represents the difference between the bone's moving speed and the target speed, and d represents the damping.

[0026] In one embodiment, the damping d is taken as d = 2√s.

[0027] In one embodiment, the step of using skeletal actuators to achieve a target pose and performing physical simulation under joint and collision constraints to update the skeletal positions of the character's limbs includes:

[0028] The target pose of the skeleton is calculated in real time from the animation data and used as the pose of the mass connected to the spring. This pose is then used as the target pose of the skeleton connected to the other end of the spring. Under joint constraints and collision constraints, the skeleton actuator is simulated to update the pose of the skeleton connected to the other end of the spring.

[0029] To achieve the above-mentioned objectives, the embodiments also provide a real-time motion device that synchronously drives character animation and physical interaction, including a preprocessing module and a real-time physical simulation module;

[0030] The preprocessing module is used to create the physical components required to control the limbs of the character. The physical components include the physical shape of the limbs, the joint constraints based on the physical shape, the collision constraints between the limbs and the environment, and the skeletal actuators of the limbs.

[0031] The real-time physics simulation module is used to calculate the target pose of the skeleton in real time based on the animation data, use the skeleton actuator to achieve the target pose, and perform physics simulation under joint constraints and collision constraints to update the bone position of the character's limbs.

[0032] Compared with the prior art, the beneficial effects of the present invention include at least the following:

[0033] This invention essentially resolves the conflict between non-physical and physical control of the character by modeling the animation data using physics and combining it with the response to external forces in a traditional ragdoll system for physical simulation. Compared to ordinary character animation systems, this invention can produce relatively realistic and rich character motion sequences with minimal increase in the workload of artists and minimal performance overhead. Attached Figure Description

[0034] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0035] Figure 1 This is a flowchart of a real-time motion method that synchronously drives character animation and physical interaction, as provided in the embodiment.

[0036] Figure 2 This is a flowchart illustrating the real-time motion method that synchronously drives character animation and physical interaction, as provided in the embodiment.

[0037] Figure 3 This is a force analysis diagram of the possible physical shape of a limb during a physical simulation provided in the embodiment;

[0038] Figure 4 This is a schematic diagram of the structure of the real-time motion device that synchronously drives character animation and physical interaction, as provided in the embodiment. Detailed Implementation

[0039] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and do not limit the scope of protection of this invention.

[0040] The inventive concept of this invention is as follows: In order to solve the technical problem of how to unify physical effects and animation effects, the embodiments of this invention provide a real-time motion method and device that synchronously drives character animation and physical interaction. It can integrate existing animation data and the influence of the character's environment on the character to generate a motion sequence that is controlled by user input and conforms to physical laws in real time, providing a richer and more convenient motion system for characters with skeletal animation in computer 3D applications.

[0041] like Figure 1 and Figure 2 As shown, the real-time motion method for synchronously driving character animation and physical interaction provided in the embodiment includes a preprocessing stage and a real-time physical simulation stage, which respectively correspond to creating the physical components required to control the character's limbs and the simulation calculation of each frame during animation playback, updating the skeletal pose of the character's limbs.

[0042] Preprocessing stage: Create the physical components required to control the character's limbs, including the physical shape of the limbs, physical shape-based joint constraints, collision constraints between the limbs and the environment, and skeletal actuators for the limbs.

[0043] In this embodiment, the process of creating the physical shape of the limb is as follows:

[0044] First, obtain the rigging poses of the bones from the animation data. For additionally created bones, the corresponding rigging poses need to be calculated based on their default positions.

[0045] Then, for the character's mesh model, the bone-weight pair information of each vertex is traversed and converted into bone-by-bone information. For the vertices that each bone can control, the actual control vertices of each bone in the bound pose are determined, and a bounding box is generated for each bone in local space based on the actual control vertices.

[0046] Specifically, determining the actual control vertex of each bone in the bound pose includes: based on the multiple bone-weight pairs corresponding to each vertex, selecting the bone with the largest weight as the dominant bone for the pair, and this vertex is the actual control vertex of the bone.

[0047] Next, the bounding boxes corresponding to the excessively small bones are merged. The specific process is as follows: based on the threshold, excessively small bones with bounding box sizes smaller than the threshold are selected. The actual control points of the bones are used as point cloud samples, and principal component analysis is performed on the point cloud samples. Based on the correlation between the principal component analysis results of the excessively small bones and the principal component analysis results of other bones, the bounding boxes of the excessively small bones are merged into the bounding boxes of the bones with the highest correlation, and the excessively small bones are aligned to the dominant direction corresponding to the bones with the highest correlation.

[0048] Principal Component Analysis (PCA) results are obtained by calculating the covariance matrix. The covariance matrix expresses the correlation between variables among multiple sets of point cloud samples. For 3D point clouds, the value at each position in the matrix represents the projection of the point cloud onto a certain direction or plane. After eigenvalue decomposition of the covariance matrix of the point cloud samples, the eigenvector corresponding to the largest eigenvalue is precisely the direction in which the point cloud can produce the largest projection, that is, the dominant direction in which the actual control point set of a certain skeleton is formed.

[0049] Finally, the physical shape of the limbs is generated based on the merged bounding box. For most limbs, such as arms and legs, since they are nearly circular in cross-section, capsules can be used for approximation. For limbs like hands and feet, cuboids can be used to describe their shape. To better simulate real-world conditions, different limbs should have different masses. Assuming the character's density is uniform, the mass of each limb can be calculated based on its volume. Generally, starting from the character's root skeleton (pelvis), the mass decreases by 10%-20% with each outer layer of bone.

[0050] In this embodiment, the process of creating joint constraints for physical shape is as follows:

[0051] For adjacent limbs, constraints are set to prevent limbs from separating or undergoing large twists and turns during the physics simulation. These constraints effectively simulate the effects of human joints. Different joints obviously have different ranges of motion. Therefore, based on the characteristics of each joint, its corresponding degrees of freedom are set. Specifically, the joints of a limb are locked in position, and their rotational range of motion is set to conform to ergonomic principles. A default equilibrium posture is also set to ensure that the limb's range of motion remains within the range centered on the default posture.

[0052] Most joints have a large degree of rotational freedom along the x-axis. The coordinate system here is defined as follows: the direction of the parent limb of the joint is the z-axis, and of the two directions perpendicular to the z-axis, the direction representing lateral movement is the x-axis, and the direction representing longitudinal movement is the y-axis. A small number of joints, such as the neck joint, have large degrees of freedom in multiple directions. Most joints are in a balanced position in the bounded posture; that is, for each axis, the fan-shaped area of ​​free swing that can be freely rotated on both sides of its bounded orientation is equal in size. For such joints, the balanced position can be set to the bounded posture. However, for joints such as the ankle and knee, they are already at a critical value in a certain rotational direction in the bounded posture. For example, in a standing posture, the knee joint can hardly bend the lower leg forward; similarly, the ankle joint can hardly bend the foot upward. For such joints, it is necessary to estimate the position of the central axis of its free swing fan-shaped area and use this posture as the balanced position.

[0053] In this embodiment, the physical shapes of adjacent limbs will inevitably overlap during movement. However, this overlap should not be considered a responsive collision event. To address this requirement, collision constraints between limbs and the environment are created: the character's limbs are grouped, collision detection within each group is disabled, collision detection at the connection points between groups is disabled, and collision detection at the remaining positions is enabled.

[0054] In this embodiment, for each bone that the animation will control, a bone actuator needs to be set to pull the corresponding physical shape. In the application of this invention, the bone actuator is set as a spring, one end of which is connected to the driven bone, and the other end is connected to a mass point with infinite mass. When the distance between the bone and the mass point and the relative rotation are not in the equilibrium position, the bone will be subjected to elastic force and torque to push / pull it to the equilibrium position. Therefore, the parameters of the spring determine the behavior of the physical shape being driven to the target pose.

[0055] According to dynamics, the aforementioned spring-driven skeletons should undergo simple harmonic motion solely under the influence of the springs. Although the masses of the limbs vary, the effects of the springs on them should be kinematically consistent. Therefore, acceleration springs are used as actuators. The spring stiffness is denoted by 's', and the displacement of the driven object from its equilibrium position is denoted by 'x'. Thus, the acceleration is a = -sx, and the frequency of the simple harmonic motion is ω = √s. Since 's' reflects the time it takes for the object to reach its equilibrium position, a higher stiffness will cause the limbs to respond to animation more quickly, but correspondingly, the response to other forces will be weaker.

[0056] In practical applications, an object moving towards a target pose under the influence of a spring should not overshoot the target. Therefore, appropriate damping should be applied to the spring so that the driven skeleton reaches the target precisely in the shortest possible time. Considering damping, the acceleration of the skeleton becomes a = -sx - dv, where v represents the difference between the skeleton's velocity and the target's velocity (which is zero here). For the above critical damping condition, the damping should satisfy the relationship d = 2√s. In specific applications of this method, users can adjust the relationship between damping and stiffness according to their needs to obtain overdamped or underdamped effects.

[0057] Real-time physics simulation stage: Calculate the target pose of the skeleton in real time based on the animation data, use the skeleton actuator to achieve the target pose, and perform physics simulation under joint constraints and collision constraints to update the skeleton pose of the character's limbs.

[0058] Before entering the physics simulation, animation calculations must first be performed to obtain the target pose of each bone in the current frame. Here, animation calculations are not limited to pre-made animation clips, but rather refer to all user-defined or game logic-generated, non-physics-driven character pose changes.

[0059] After calculating the target pose of the bones from the animation data in real time, the target pose of the bones is set onto the bone actuators in sequence. The target pose of the bones is used as the pose of the mass connected to the spring, and this pose is used as the target pose of the bone connected to the other end of the spring. Under joint constraints and collision constraints, the bone actuators are simulated to make the limb move toward the target pose in order to update the pose of the bone connected to the other end of the spring.

[0060] Based on the physical shape of the limb and the difference between the target posture it should reach, the force and torque that it should currently be subjected to are calculated and applied. The physical shape of the limb will be affected by both external forces and constraints at the same time. This shows that the character can respond to the interaction between the user's operation and the external physical environment at the same time, synchronizing the posture of the physical shape to the character's appearance.

[0061] During the physical simulation, the physical shape corresponding to each limb will be subjected to complex resultant forces. Figure 3 This section demonstrates an analysis of the forces that a limb might experience in a given state. Generally, these forces can be categorized into three types: external forces, driving forces, and constraint forces. External forces are those generated when the character's limbs interact with physical entities in the environment, such as the elastic force from a collision. There are also stationary forces applied within the scene for specific effects, such as gravity, wind, and obstacle resistance. Driving forces are those generated by virtual springs to propel the character's limbs to the position specified in the animation. Constraint forces are the relationships between the character's limbs that maintain certain positions and postures.

[0062] Due to the influence of the two forces mentioned above, limbs may tend to move in ways that violate the aforementioned relationships. In response, joints will exert a counteracting force to maintain the constraints. Sometimes, excessive forces appear in the scene, such as a character's limbs being stuck by a wall or the ground. Such obstacles and ground surfaces are often set to static, i.e., immovable, in the physics engine. In this case, joint constraints will project, forcibly maintaining the relative positions of the limbs. However, the occurrence of such situations violates the laws of physics and may lead to physics calculation failures. Therefore, this situation must be avoided as much as possible during scene construction.

[0063] After a physics simulation, the character's limbs are in a state resulting from the complex forces acting on them in the scene. This is precisely the character state that this method aims to achieve, driven by both physics and animation. Synchronizing the simulation results to the character's driving bones for use in the rendering pipeline allows for the presentation of more physically realistic and richer motion sequences. It's important to note that due to small bone merging, not every driving bone of the character may have a corresponding physical limb. For those merged small bones, it's only necessary to maintain their pose relative to the nearest parent bone with a corresponding physical limb.

[0064] The real-time motion method described in this paper, which synchronously drives animation and physics interaction, is implemented without relying on specific renderers or physics engines. It can resolve the conflict between animation and physics-driven character actions in a universally reproducible way, achieving realistic character movement effects. Furthermore, its performance overhead is minimal. Based on the industry-standard static ragdoll system, only the same number of constraints need to be added to the physics simulation. Moreover, compared to existing methods that mix animation and physics simulation results, this method achieves superior results while eliminating the overhead of animation mixing calculations.

[0065] Based on the same inventive concept, such as Figure 4 As shown, the embodiment also provides a real-time motion device that synchronously drives character animation and physical interaction, including a preprocessing module and a real-time physical simulation module;

[0066] The preprocessing module is used to create the physical components required to control the limbs of the character. These physical components include the physical shape of the limbs, joint constraints based on the physical shape, collision constraints between the limbs and the environment, and limb skeleton actuators. The real-time physics simulation module is used to calculate the target pose of the skeletons in real time based on the animation data, use the skeleton actuators to achieve the target pose, and perform physical simulation under joint constraints and collision constraints to update the bone positions of the character's limbs.

[0067] The specific embodiments described above illustrate the technical solution and beneficial effects of the present invention in detail. It should be understood that the above description is only the most preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, additions, and equivalent substitutions made within the scope of the principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A real-time motion method that synchronously drives character animation and physical interaction, characterized in that, include: Preprocessing stage: Create the physical components required to control the limbs of the character. The physical components include the physical shape of the limb, the joint constraints based on the physical shape, the collision constraints between the limb and the environment, and the limb's skeletal actuators. Each bone is assigned a skeletal actuator to pull the corresponding physical shape. The skeletal actuator is set as a spring, with one end of the spring connected to the driven bone and the other end connected to a point mass with infinite mass. When the distance between the bone and the point mass and the relative rotation are not in the equilibrium position, the bone will be subjected to elastic force and torque to push / pull it towards the equilibrium position. Real-time physics simulation stage: Calculate the target pose of the skeleton in real time based on the animation data, use the skeleton actuator to achieve the target pose, and perform physics simulation under joint constraints and collision constraints to update the skeleton pose of the character's limbs. This includes: using the target pose of the skeleton calculated in real time from the animation data as the pose of the spring-connected mass point, and using this pose as the target pose of the spring-connected skeleton. Under joint constraints and collision constraints, simulate and calculate the skeleton actuator to make the limb move towards the target pose in order to update the pose of the spring-connected skeleton. During the physics simulation, the physical shape corresponding to each limb is subjected to complex resultant forces, which are divided into three categories: external forces, driving forces, and constraint forces. External forces are the forces generated by the interaction between the character's limbs and physical entities in the environment. Driving forces are the forces generated by virtual springs to drive the character's limbs to the positions specified in the animation. Constraint forces keep the character's limbs in a certain position and posture relationship with each other. After the physics simulation is completed, the character is in a state of being driven by both physics and animation. The simulation results are synchronized to the character's own driving skeleton for use by the rendering pipeline, which can present a more physically realistic and richer sequence of movements.

2. The real-time motion method for synchronously driving character animation and physical interaction according to claim 1, characterized in that, The process of creating the physical shape of the limb is as follows: Obtain the rigging pose of the bones from the animation data; For the character's mesh model, based on the bone-weight pair information of each vertex, the actual control vertex of each bone in the bound pose is determined, and a bounding box is generated for each bone based on the actual control vertex. After merging the bounding boxes corresponding to smaller bones, the physical shape of the limb is generated according to the bounding boxes, wherein the limb is composed of at least one bone.

3. The real-time motion method for synchronously driving character animation and physical interaction according to claim 2, characterized in that, The determination of the actual control vertex of each bone in the bound pose based on the bone-weight pair information of each vertex includes: Based on the information of multiple bone-weight pairs corresponding to each vertex, the bone with the largest weight is selected as the dominant bone for the vertex, and this vertex is the actual controlling vertex of the bone.

4. The real-time motion method for synchronously driving character animation and physical interaction according to claim 2, characterized in that, The bounding boxes corresponding to the merged small bones include: Based on a threshold, bones with bounding box sizes smaller than the threshold are filtered out. The actual control points of the bones are used as point cloud samples, and principal component analysis is performed on the point cloud samples. Based on the correlation between the principal component analysis results of the small bones and the principal component analysis results of other bones, the bounding boxes of the small bones are merged into the bounding boxes of the bones with the highest correlation, and the small bones are aligned to the dominant direction corresponding to the bones with the highest correlation.

5. The real-time motion method for synchronously driving character animation and physical interaction according to claim 1, characterized in that, The process of creating the joint constraints of the physical shape is as follows: For adjacent limbs, constraints are set to prevent limbs from separating or undergoing large twists and turns during the physical simulation. The joints of the limbs are locked in position, and the range of degrees of freedom of movement in rotation is set in accordance with ergonomics.

6. The real-time motion method for synchronously driving character animation and physical interaction according to claim 1, characterized in that, The process of creating collision constraints between limbs and the environment is as follows: Group the character's limbs, disable collision detection for limbs within a group, disable collision detection for limbs at the connection points between groups, and enable collision detection for the remaining positions.

7. The real-time motion method for synchronously driving character animation and physical interaction according to claim 1, characterized in that, The spring is an acceleration spring, and its acceleration is... ,in, The stiffness of a spring is expressed by... This represents the displacement of the driven bone from its current position to its equilibrium position. This represents the difference between the skeletal movement speed and the target speed. Indicates damping.

8. The real-time motion method for synchronously driving character animation and physical interaction according to claim 7, characterized in that, The damping Values .

9. A real-time motion device that synchronously drives character animation and physical interaction, characterized in that, Includes a preprocessing module and a real-time physics simulation module; The preprocessing module is used to create the physical components required to control the limbs of the character. The physical components include the physical shape of the limb, the joint constraints based on the physical shape, the collision constraints between the limb and the environment, and the limb's skeletal actuator. Each bone is assigned a skeletal actuator to pull the corresponding physical shape. The skeletal actuator is set as a spring, with one end of the spring connected to the driven bone and the other end connected to a point mass with infinite mass. When the distance between the bone and the point mass and the relative rotation are not in the equilibrium position, the bone will be subjected to elastic force and torque to push / pull it towards the equilibrium position. The real-time physics simulation module is used to calculate the target pose of the skeleton in real time based on the animation data. Using skeleton actuators, it aims to achieve the target pose and performs physics simulations under joint and collision constraints to update the skeleton positions of the character's limbs. This includes: calculating the target pose of the skeleton from the animation data in real time as the pose of the spring-connected mass point; using this pose as the target pose of the spring-connected skeleton; and simulating the skeleton actuators under joint and collision constraints to move the limb towards the target pose, thereby updating the pose of the spring-connected skeleton. During the physics simulation, the physical shape corresponding to each limb is subjected to complex combined forces, which are divided into three categories: external forces, driving forces, and constraint forces. External forces are the forces generated by the interaction between the character's limbs and physical entities in the environment. Driving forces are the forces generated by virtual springs to drive the character's limbs to the positions specified in the animation. Constraint forces keep the character's limbs in a certain position and posture relationship with each other. After the physics simulation is completed, the character is in a state of being driven by both physics and animation. The simulation results are synchronized to the character's own driving skeleton for use by the rendering pipeline, which can present a more physically realistic and richer sequence of movements.

Citation Information

Patent Citations

  • Method of creating active doll

    CN111292403A

  • Virtual object control method and device, storage medium and electronic device

    CN112001989A