IP Library Granted Patent US 8,269,779
Granted Patent B2
US 8,269,779 · App. 13/214,814 · Granted Sep 18, 2012

Development tools for animated character rigging

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,269,779
App. No.
13/214,814
Granted
Sep 18, 2012
Kind
B2
Abstract

Computer-implemented methods and computer program products for automatically transferring expressions between rigs with consistent joint structure, and for automatically transferring skin weights between different skin meshes based on joint positioning. A method is provided for transferring an expression between a plurality of source rigs and a target rig, where each rig characterizes an animated character, and each rig, in turn, is characterized by a set of joints and a skin mesh having a plurality of vertices, with each vertex characterized by a matrix of weights relating a response of the vertex to movement of associated joints. A set of offsets is calculated of joint positions of a goal expression of each source rig relative to a neutral expression of the source rig. A scaling transformation is then applied to the set of offsets to produce a scaled set of offsets, which are added, in turn, to a neutral expression of the target rig. Methods are also provided for transferring a set of skin weights between the source rigs and the target rig.

Claims (22)

1. A computerized method for transferring an expression from a plurality of source rigs characterizing a plurality of animated characters to a target rig characterizing a target animated character, each of the source rigs and the target rig characterized by a set of joints and a skin mesh having a plurality of vertices, each vertex, in turn, characterized by a matrix of weights relating a response of the vertex to movement of associated joints, the method comprising:

a. defining neutral and goal expressions for each of the multiplicity plurality of source rigs relative to a neutral expression of each source rig;

b. building a mathematical model mapping neutral shape to goal expression offsets on a basis of the neutral and goal expressions defined for the plurality of source rigs;

c. applying the mathematical model to an unseen neutral expression shape to calculate required expression offsets; and

d. vectorially adding the calculated set of offsets to a neutral expression of the target rig in such a manner as to implement the goal expression on the target rig, thereby transforming the target rig;

e. transferring a set of skin weights between a selected source rig of the plurality of source rigs and the target rig, the target rig characterized by an associated target skin;

f. mapping joints of the target rig to joints of the selected source rig of the plurality of source rigs by means of a transform function derived on the basis of interpolation;

g. transforming vertices of the associated target skin by means of the said transform function thereby deriving a plurality of transformed target vertices;

h. identifying a plurality of source skin polygons intersecting a normal to a specified transformed target vertex;

i. choosing a source skin polygon to associate with each transformed target vertex; and

j. identifying each transformed target vertex with the intersection of a normal to said transformed target vertex with the chosen source skin polygon.

2. A non-transitory computer readable medium for storing an expression from a plurality of source rigs characterizing a plurality of animated characters to a target rig characterizing a target animated character, each of the source rigs and the target rig characterized by a set of joints and a skin mesh having a plurality of vertices, with each vertex, in turn, characterized by a matrix of weights relating a response of the vertex to movement of associated joints, the non-transitory computer readable medium having computer readable program code thereon, the computer readable program code comprising:

a. a computer code module for defining neutral and goal expressions for each of the plurality of source rigs relative to a neutral expression of each source rig;

b. a computer code module for building a mathematical model mapping neutral shape to goal expression offsets;

c. a computer code module for applying the mathematical model to an unseen neutral expression shape to calculate required expression offsets; and

d. a computer code module for vectorially adding the calculated set of offsets to a neutral expression of the target rig in such a manner as to implement the goal expression on the target rig, thereby transforming the target rig;

e. a computer code module for transferring a set of skin weights between a single source rig and the target rig, the target rig characterized by an associated target skin;

f. a computer code module for mapping joints of the target rig to joints of the single source rig by means of a transform function derived on the basis of interpolation;

g. a computer code module for transforming vertices of the target skin by means of the said transform function thereby deriving a plurality of transformed target vertices;

h. a computer code module for identifying a plurality of source skin polygons intersecting a normal to a specified transformed target vertex;

i. a computer code module for choosing a source skin polygon to associate with each transformed target vertex; and

j. a computer code module for identifying each transformed target vertex with the intersection of a normal to said transformed target vertex with the chosen source skin polygon.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2011
From: ROGERS, MICHAEL; WALKER, KEVIN; CAULKIN, STEVEN; EDWARDS, GARETH
To: IMAGE METRICS LTD
Reel/Frame 026790/0176 →