Outer Rim Archives
Archives · 2019 · 10204435

Granted patent

Multi-granular rigs for distributed node-based interactive workflows

Number
10204435
Published
2019-02-12
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
Medium Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Multi-granular rigs distributed node-based interactive workflows.

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(1) 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(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 an

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 received first node graph data comprises a copy of one or more nodes preceding a proxy node in a node graph of a node graph application instance of a computing device, wherein the received second node graph data comprises a copy of a companion node graph preceding the proxy node in the node graph of the node graph application instance, wherein the companion node graph is a higher complexity representation of all or a subset of the one or more nodes; evaluating the second node graph data at the server process based on the set of input attributes, wherein evaluating the second node graph data comprises evaluating the copy of the companion node graph; and transmitting the evaluated second node graph data to the computing device. 12. 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 first node graph is associated with animation rig, wherein the received first node graph data comprises a copy of one or more nodes preceding a proxy node in a node graph of a node graph application instance of a computing device, wherein the received second node graph data comprises a copy of a companion node graph preceding the proxy node in the node graph of the node graph application instance, wherein the companion node graph is a higher complexity representation of all or a subset of the one or more nodes; evaluate the second node graph data at the server process based on the set of input attributes, wherein evaluating the second node graph data comprises evaluating the copy of the companion node graph; and transmit the evaluated second node graph data to the computing device. 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; evaluating first node graph data of the rig at the application instance based on input attributes received at the computing device, wherein the first node graph data comprises one or more nodes preceding a proxy node in a node graph of the node graph application; initiating a request at the computing device for a server system to evaluate second node graph data of the rig based on the input attributes, wherein the second node graph data comprises a companion node graph preceding the proxy node in the node graph of the node graph application instance, wherein the companion node graph is a higher complexity representation of all or a subset of the one or more nodes; and receiving the server system evaluated second node graph data at a viewport in the application.