- Number
- 9959662
- Published
- 2018-05-01
- Filed
- 2014-11-10
- Assignee
- Disney Enterprises, Inc.
- Inventors
- Mitchell; Kenneth John; Koniaris; Charalampos; Cosker; Darren
- CPC
- G06T15/04; G06T13/20
- Verdict
- Medium Notable software
- Source
- Google Patents · FreePatentsOnline
The keeper's note
Texture-deformation character skinning simulation.
Abstract
A method is disclosed for reducing distortions introduced by deformation of a surface with an existing parameterization. In an exemplary embodiment, the method comprises receiving a rest pose mesh comprising a plurality of faces, a rigidity map corresponding to the rest pose mesh, and a deformed pose mesh; using the rigidity map to generate a simulation grid on the rest pose mesh, the simulation grid comprising a plurality of cells; defining a set of constraints on the simulation grid, the constraints being derived at least in part from the rigidity map; running a simulation using the simulation grid and the set of constraints to obtain a warped grid; and texture mapping the deformed pose mesh based on data from the warped grid.
Background
TECHNICAL FIELD(1) The present disclosure relates generally to computer animation, and, more particularly, to a method for minimizing distortions introduced by deformation of a surface.DESCRIPTION OF THE RELATED ART(2) Texture mapping is the process of mapping detail (e.g., color, bump or displacement) to a surface using a corresponding parameterisation—the most common case being a 2D parameterisation of a 3D surface. Some representations have natural parameterisations (e.g. NURBS), while others, such as polygonal meshes, require non-trivial methods or manual input to obtain parameterisations. In the case of polygonal meshes, parameterisations are represented in the same way as vertices: as piecewise-linear approximations to continuous functions. A metric for the quality of a parameterization is the distortion introduced by the mapping.BRIEF SUMMARY OF THE DISCLOSURE(3) The present disclosure introduces a novel method to reduce distortions caused by the deformation of a parameterised surface in real-time. This allows a variety of texture-mapped detail to be applied to an animated model without it undergoing visually undesirable behaviors.(4) The present disclosure may be embodied in a method, comprising: receiving a rest pose mesh comprising a plurality of faces, a rigidity map corresponding to the rest pose mesh, and a deformed pose mesh; using the rigidity map to generate a simulation grid on the rest pose mesh, the simulation grid comprising a plurality of cells; defining
Claims
1. A method, comprising: receiving a rest pose mesh comprising a plurality of faces, a rigidity map corresponding to the rest pose mesh, and a deformed pose mesh; using the rigidity map to generate a simulation grid on the rest pose mesh, the simulation grid comprising a plurality of cells; defining a set of constraints on the simulation grid, the constraints being derived at least in part from the rigidity map; running a simulation using the simulation grid and the set of constraints to obtain a warped grid; and texture mapping the deformed pose mesh based on data from the warped grid; wherein the set of constraints comprise edge length constraints and area constraints, and wherein the plurality of cells are quadrilaterals, and the edge length constraints comprise constraints on all edges of the simulation grid and the diagonals of each cell.
7. A method, comprising: receiving a rest pose mesh comprising a plurality of faces, a rigidity map corresponding to the rest pose mesh, and a deformed pose mesh; using the rigidity map to generate a simulation grid on the rest pose mesh, the simulation grid comprising a plurality of cells; defining a set of constraints on the simulation grid, the constraints being derived at least in part from the rigidity map; running a simulation using the simulation grid and the set of constraints to obtain a warped grid; texture mapping the deformed pose mesh based on data from the warped grid; and marking each edge of each face contained in the simulated faces subset with one of three states: a first state indicating that the marked edge borders a face that will not be simulated, or does not border a face at all; a second state indicating that the marked edge borders a face that has already been simulated; and a third state indicating that the marked edge borders a face that will be simulated later.
8. A method, comprising: receiving a rest pose mesh comprising a plurality of faces, a rigidity map corresponding to the rest pose mesh, and a deformed pose mesh; using the rigidity map to generate a simulation grid on the rest pose mesh, the simulation grid comprising a plurality of cells; defining a set of constraints on the simulation grid, the constraints being derived at least in part from the rigidity map; running a simulation using the simulation grid and the set of constraints to obtain a warped grid; and texture mapping the deformed pose mesh based on data from the warped grid; wherein the simulation is a hierarchical simulation, such that running the simulation comprises: constructing a lower resolution simulation grid from the simulation grid; running a first simulation on the lower resolution simulation grid; and running a second simulation on the simulation grid using the results of the first simulation.
10. A non-transitory computer readable medium comprising an instruction set configured to cause a computing device to perform: receiving a rest pose mesh comprising a plurality of faces, a rigidity map corresponding to the rest pose mesh, and a deformed pose mesh; using the rigidity map to generate a simulation grid on the rest pose mesh, the simulation grid comprising a plurality of cells; defining a set of constraints on the simulation grid, the constraints being derived at least in part from the rigidity map; running a simulation using the simulation grid and the set of constraints to obtain a warped grid; and texture mapping the deformed pose mesh based on data from the warped grid; wherein the set of constraints comprise edge length constraints and area constraints, and wherein the plurality of cells are quadrilaterals, and the edge length constraints comprise constraints on all edges of the simulation grid and the diagonals of each cell.
17. A non-transitory computer readable medium comprising an instruction set configured to cause a computing device to perform: receiving a rest pose mesh comprising a plurality of faces, a rigidity map corresponding to the rest pose mesh, and a deformed pose mesh; using the rigidity map to generate a simulation grid on the rest pose mesh, the simulation grid comprising a plurality of cells; defining a set of constraints on the simulation grid, the constraints being derived at least in part from the rigidity map; running a simulation using the simulation grid and the set of constraints to obtain a warped grid; texture mapping the deformed pose mesh based on data from the warped grid; and marking each edge of each face contained in the simulated faces subset with one of three states: a first state indicating that the marked edge borders a face that will not be simulated, or does not border a face at all; a second state indicating that the marked edge borders a face that has already been simulated; and a third state indicating that the marked edge borders a face that will be simulated later.
18. A non-transitory computer readable medium comprising an instruction set configured to cause a computing device to perform: receiving a rest pose mesh comprising a plurality of faces, a rigidity map corresponding to the rest pose mesh, and a deformed pose mesh; using the rigidity map to generate a simulation grid on the rest pose mesh, the simulation grid comprising a plurality of cells; defining a set of constraints on the simulation grid, the constraints being derived at least in part from the rigidity map; running a simulation using the simulation grid and the set of constraints to obtain a warped grid; and texture mapping the deformed pose mesh based on data from the warped grid; wherein the simulation is a hierarchical simulation, such that running the simulation comprises: constructing a lower resolution simulation grid from the simulation grid; running a first simulation on the lower resolution simulation grid; and running a second simulation on the simulation grid using the results of the first simulation.