Runtime Inverse Kinematics for Hierarchical Object Animation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current media development tools face challenges in animating complex objects with multiple interrelated parts, requiring significant user interaction and repetitive redrawing or repositioning of components, which complicates the movement of hierarchical objects.

Innovation Solution

The implementation of inverse kinematics procedures allows for the runtime control of hierarchical objects by specifying a target location for an end effector, enabling the movement of multiple components based on a single action, thereby simplifying the animation of complex movements in media content.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hierarchical objects with multiple components are used to represent complex figures, then the ability to represent complex objects is improved, but the complexity of controlling and animating movement increases

Engineering Contradiction:
Improveability to represent complex objectsVSAvoidcomplexity of controlling movement
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the complex hierarchical object into a tree structure of components with defined parent-child relationships. Each component can be independently positioned and transformed, allowing complex objects to be represented as compositions of simpler parts. This segmentation enables manageable control of each component while maintaining the overall structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces a movement controller as an intermediary that manages the coordination between components. The controller uses inverse kinematics algorithms to calculate the movements of parent components based on specified movements of child components, automatically maintaining the hierarchical relationships without requiring manual coordination of each component.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If each component of a hierarchical object is moved independently, then precise control of individual parts is achieved, but the effort and time required for animation increases

Engineering Contradiction:
Improveprecise control of individual partsVSAvoidtime required for animation
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system inverts the traditional animation approach by allowing users to specify movements of child components (end effectors) rather than parent components. The inverse kinematics algorithm then automatically calculates the required movements of parent components to achieve the desired child component positions, reversing the conventional top-down animation workflow.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The movement controller automatically maintains hierarchical relationships and coordinates component movements without requiring manual intervention. When a user positions a child component, the system self-adjusts the parent components through inverse kinematics calculations, eliminating the need for users to manually control each component in the hierarchy.

Inventive Principle:
Principle #25Self-service

3Adaptability or versatility

If inverse kinematics procedures are implemented at runtime, then flexibility in controlling hierarchical objects is improved, but the computational requirements increase

Engineering Contradiction:
Improveflexibility in controlling hierarchical objectsVSAvoidcomputational requirements
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary setup during the authoring phase by defining the hierarchical structure, component relationships, and inverse kinematics parameters. This pre-computation of the movement model allows runtime control to focus only on calculating specific movements based on user input, rather than establishing the entire movement framework at runtime.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The inverse kinematics calculations are performed locally and incrementally, computing only the movements necessary to achieve the specified child component positions. The system optimizes calculations by focusing on the affected portions of the hierarchy rather than recalculating the entire structure, reducing overall computational requirements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS8683429B2Systems and methods for runtime control of hierarchical objects
Publication Date: 2014.03.25 ADOBE INC
  • US8683429B2 patent drawing
  • US8683429B2 patent drawing
  • US8683429B2 patent drawing

AI summary

Methods for runtime control of hierarchical objects are provided. Certain embodiments provide kinematics procedures in a media content, runtime environment. Making these procedures available in the runtime environment allows the variables of the kinematics procedures to be specified at runtime, for example by the end user or by a runtime-executed script. One exemplary method comprises receiving a hierarchical object for a piece of media in a media content authoring environment and providing the piece of media to one or more runtime environments. The piece of media provided to the runtime environments comprises both object information about the hierarchical object and kinematics procedural information for performing kinematics on the hierarchical object, such as procedural classes for performing inverse kinematics procedures based on runtime-provided end-effector and target point variables.