Outer Rim Archives
Archives · 2018 · 20180096509

Application (pre-grant publication)

MULTI-GRANULAR RIGS FOR DISTRIBUTED NODE-BASED INTERACTIVE WORKFLOWS

Number
20180096509
Published
2018-04-05
Filed
2016-09-30
Assignee
Disney Enterprises, Inc.
Inventors
GOLDBERG; EVAN; LEE; GENE; EISENACHER; CHRISTIAN; LIN; CHUNG-AN; SMITH; GREGORY
CPC
G06T1/60; G06T11/26; G06T13/20
Verdict
Low Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Multi-granular animation-rig pipeline.

Abstract

Systems and methods are described for leveraging distributed computation systems to split animation application processing of node graphs into two components: 1) a low complexity, primary node graph, that is evaluated by the application of the local device; and 2) one or more, higher complexity, companion node graphs that connect to the primary node graph, and are evaluated by a distributed computation system. As the local device evaluates the original, low complexity node graph, an artist is provided with fast, direct manipulation of an animated object. At the same time, the distributed computation system evaluates the higher complexity, companion node graphs, thereby providing a user of the local application with higher fidelity versions of the primary node graph as they are computed.

Background

TECHNICAL FIELD

The present disclosure relates generally to distributed computing techniques for animating rigs, and more particularly, some embodiments relate to systems and methods for using multi-granular rigs in distributed node-based interactive workflows.DESCRIPTION OF THE RELATED ART

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.

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.

Claims

1. A method, comprising: spawning within a server system a server process that communicates over a network; receiving first node graph data, second node graph data, and set of input attributes at the server system, wherein the second node graph is a companion node graph of the first node graph; processing the second node graph data at the server process based on the set of input attributes; and transmitting the processed second node graph data to a computing device. 11. A system comprising: a server configured to: spawn a server process that runs inside of a grid computing instance that communicates over a network; receive first node graph data, second node graph data, and set of input attributes, wherein the second node graph is a companion node graph of the first node graph, wherein the first node graph is associated with animation rig; process the second node graph data at the server process based on the set of input attributes; and transmit the processed second node graph data to a computing device; and the computing device, wherein the computing device is configured to transmit the input attributes to the server over the network. 18. A method, comprising: initiating a node graph application instance at a computing device, the node graph application instance displaying an object comprising a rig; processing first node graph data of the rig at the application based on input attributes received at the computing device; initiating a request at the computing device for a server system to process second node graph data of the rig based on the input attributes, wherein the second node graph data is a higher complexity representation of the first node graph data; and receiving the server system processed second node graph data at a viewport in the application.