Virtual Character Motion Control with Collision-Constrained Joint Optimization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for controlling the motion of virtual characters suffer from loss or aliasing of motion semantics and clipping due to the lack of consideration for the profile of the virtual character, leading to inaccuracies in motion replication.
Innovation Solution
A method involving the acquisition of original motion data, determination of initial motion data, construction of a target function to calculate similarity, and application of collision and length constraints to ensure accurate motion replication while avoiding clipping, using a sequential quadratic programming or augmented lagrange method to solve for optimal skeletal joint point positions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If forward kinematics is used to apply rotation data of bones directly to virtual characters with different proportion shapes or sizes, then the method is simple and fast, but motion semantics are lost or aliased
Solution Approach 1:
The patent transforms the motion control problem from direct rotation data application to a constrained optimization problem by changing parameters from bone rotation angles to skeletal joint point positions. This allows the system to maintain motion semantics while adapting to different virtual character profiles through mathematical constraints that preserve semantic relationships between joint movements.
Solution Approach 2:
The patent introduces an intermediary optimization model that acts as a mediator between the original motion data and the virtual character's skeletal system. This intermediary layer processes motion data through target function optimization with collision and length constraints, preventing direct application of forward kinematics while preserving motion semantics through constrained optimization.
2Ease of manufacture
If equal proportion scaling is used to acquire translation amount by scaling a skeleton of an original model, then the process is straightforward, but motion semantics are lost or aliased and clipping occurs
Solution Approach 1:
The patent changes the parameter space from uniform scaling factors to individual skeletal joint point coordinates. Instead of applying equal proportion scaling that loses semantic information, the system optimizes each joint point's position independently under constraints, preserving the semantic relationships inherent in the original motion while adapting to the virtual character's specific profile.
Solution Approach 2:
The patent segments the motion control process into individual skeletal joint point optimizations rather than applying global scaling. Each joint point is optimized separately under collision and length constraints, allowing preservation of local motion semantics while adapting to different virtual character profiles, avoiding the information loss caused by uniform scaling.
3Productivity
If skeletal joint point positions are optimized without constraints, then computation is faster, but clipping occurs and motion accuracy decreases
Solution Approach 1:
The patent applies preliminary action by pre-establishing collision constraints and length constraints before optimization. These constraints are formulated in advance based on the virtual character's profile, allowing the optimization process to proceed efficiently while automatically preventing clipping and ensuring motion accuracy through built-in constraint satisfaction.
Solution Approach 2:
The patent implements feedback through constraint-based optimization where the target function continuously adjusts joint point positions while receiving feedback from collision constraints and length constraints. This feedback mechanism ensures that optimization maintains both speed and accuracy by preventing invalid configurations (clipping) while preserving motion semantics.
Data Source
AI summary
Provided is a method for controlling a motion of a virtual character. The method includes: acquiring original motion data; determining initial motion data of the virtual character; constructing a target function using the initial motion data and the original motion data; generating a collision constraint between the plurality of skeletal joint points of the virtual character and a profile joint point of the virtual character, and generating a length constraint between adjacent skeletal joint points in the plurality of skeletal joint points of the virtual character; acquiring target position data of the virtual character by solving a minimum distance value of the target function under the length constraint and the collision constraint; and driving the virtual character to perform the target motion by controlling the plurality of skeletal joint points of the virtual character to move to positions indicated by the target position data.


