Outer Rim Archives
Archives · 2018 · 10049481

Granted patent

Direct manipulation interpolation and ghost wedging for distributed node-based interactive workflows

Number
10049481
Published
2018-08-14
Filed
2016-09-12
Assignee
Disney Enterprises, Inc.
Inventors
Lin; Chung-An; Lee; Gene; Eisenacher; Christian
CPC
G06T1/60; G06T11/26; G06T13/20; G06T13/40; G06T17/20
Verdict
Low Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Animation-rig direct-manipulation interpolation pipeline (grant dup).

Abstract

A distributed computation system is leveraged to evaluate many possible results of a rig near the current pose to obtain predicted poses. A user locally runs an animation application instance to manipulate an animated object including a rig and shape. Depending on a user's selection or modification of a rig control of the rig, changes to the rig control are predicted. Based on the predicted changes to the rig control, the distributed computation system evaluates the rig to obtain different predicted poses. The predicted poses are made available to an interpolator that blends the results to obtain an interpolated shape. In implementations, the distributed computation system may be used to evaluate predicted poses for animation ghosting.

Background

TECHNICAL FIELD(1) The present disclosure relates generally to techniques for animating rigs in computer animation, and more particularly, to systems and methods for dynamically predicting poses of a rig during direct manipulation of the rig.BACKGROUND(2) Skeletal animation is a computer animation technique that represents an object in two primary parts: 1) a mesh that is a surface representation of the object, and 2) a set of interconnected joints (i.e., a rig) used to animate the mesh. Generally, a joint may refer to a bone and the pivot about which it rotates, or a joint may just refer to a pivot. Joints may be related in a hierarchy by joint transformations. Skeletal animation may be applied to transform any object that implements this mesh and rig structure. For example, it may be applied to a whole or a part (e.g., arm, leg, hand, foot, torso) of an animated character, creature, or similar object. Alternatively, it may be applied to animations of other objects, such as clothing, a door, a fork, etc.(3) During animation, a rig may be represented as a set of nodes of a node graph (e.g., a directed acyclic graph), each node having corresponding input and output attributes. The attributes of a node describe its data, with each node type having a different set of attributes. For example, the nodes associated with an animating sphere may comprise attributes such as radius, angular momentum, position, color, and transparency. During animation of a rig, all or a subset of the r

Claims

1. A method, comprising: initiating a node graph application instance at a computing device, the node graph application instance displaying an object comprising a rig and a shape; receiving data generated by a user selecting or modifying a control of the rig; in response to receiving the data, initiating a request at the computing device for a prediction module to spawn a set of predictions for poses of the object given a current pose of the object, wherein the prediction module computes a plurality of predicted poses for the object using at least the current pose and predicted changes to the selected or modified control of the rig; and interpolating two or more of the plurality of predicted poses to obtain an interpolated shape. 11. A non-transitory computer-readable medium having instructions stored thereon that, when executed by one or more processors, causes a system to: initiate a node graph application instance, the node graph application instance displaying an object comprising a rig and a shape; receive data generated by a user selecting or modifying a control of the rig; in response to receiving the data, initiate a request for a prediction module to spawn a set of predictions for poses of the object given a current pose of the object, wherein the prediction module computes a plurality of predicted poses for the object using at least the current pose and predicted changes to the selected or modified control of the rig; and interpolate two or more of the plurality of predicted poses to obtain an interpolated shape. 20. A method, comprising: initiating a node graph application instance at a server, the node graph application instance comprising a copy of an object manipulated on a node graph application instance of a host device, wherein the object comprises a rig and a shape; receiving a request from the host device to evaluate a set of a plurality of predicted poses for the object, wherein the request comprises rig control values for each of the plurality of predicted poses, wherein each of the plurality of predicted poses were predicted using at least a current pose of the object and predicted changes to a selected or modified control of the rig; in response to receiving the request, evaluating the rig control values for each of the plurality of predicted poses to obtain a shape for each of the plurality of predicted poses; and storing in a cache the shape for each of the plurality of predicted poses, wherein the host device may access the cache to retrieve the shapes.