Outer Rim Archives
Archives · 2017 · 9613456

Granted patent

Enhanced dual quaternion skinning with scale non-compensating joints and support joints

Number
9613456
Published
2017-04-04
Filed
2014-05-05
Assignee
DISNEY ENTERPRISES, INC.
Inventors
Lee; Gene et al.
CPC
G06T19/20; G06T17/10; G06T13/40
Verdict
Low Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Character-rigging technique (dual quaternion skinning) improving skeletal animation deformation quality.

Abstract

Methods and systems for two-phase skinning of an object undergoing rigid and non-rigid transformations are disclosed. One method of skinning the object may include separating the object's jointtransformations into rigid and non-rigid parts by determining if a joint is scale compensating or scale non-compensating, applying non-rigid joint transformations to the mesh, andapplying rigid joint transformations to the mesh. Separation of the object's joint transformations into rigid and non-rigid parts may include determining a bind pose based on an initial configuration of the object's joints and determining an intermediate pose based on the configuration of the object's joints after non-rigid joint transformations are appliedto the joints.

Background

BRIEF DESCRIPTION OF THE DRAWINGS(1) The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s)will be provided by the Office upon request and payment of the necessary fee.(2) The figures are provided for purposes of illustration only and merely depict typical or example embodiments. They do not limit the breadth, scope, or applicability of the invention.(3) FIG. 1A illustrates an example object that may be used in implementations of the present disclosure.(4) FIG. 1B illustrates an example joint transformation of the object of FIG. 1A.(5) FIGS. 2A-2B illustrate scale compensating and scale non-compensating joints.(6) FIG. 3A illustrates a support joint.(7) FIGS. 3B-3D illustrate an object that undergoes scaling transformation of a conventional joint and scaling transformation of a support joint.(8) FIGS. 4A-4B are operational flow diagrams illustrating an example two-stage process of skinning an object undergoing rigid and non-rigid transformations.(9) FIG. 5 illustrates the transformation of an object in the two cases where a joint is scale compensating and is scalenon-compensating.(10) FIGS. 6A-6B illustrate the transformation of an object when supportjoints are associated with the mesh and when support joints are not associated with the mesh.(11) FIG. 7 is an example computing module that may be used to implement various features of the methods disclosed herein.DETAILED D

Claims

1. A computer-implemented method of skinning an object comprising a mesh and a plurality of joints, comprising: separating joint transformations into rigid and non-rigid parts; applying non-rigid joint transformations to the mesh; and applyingrigid joint transformations to the mesh; wherein separating joint transformations into rigid and non-rigid parts comprises: determining whether a joint is scale compensating or scale non-compensating; determining a first matrix for a first joint based on the initial configuration of the plurality of joints; and determining a second matrix for the first joint based on the configuration of the plurality of joints after non-rigid transformations are applied to the plurality of joints; wherein determining a second matrix for the first joint comprises determining if the first joint's parent is scale compensating or scale non-compensating, wherein if the first joint's parent is scale compensating, determining its second matrix comprises scaling the translational part of the first joint's first matrix by the shear and scale of the first joint's parent, and wherein if the first joint's parent is scale non-compensating, determining its second matrix comprises scaling the translational and rotational part of the first joint's first matrix by the shear and scale of the first joint's parent. 7. A computer-implemented method of skinning an object comprising a meshand a plurality of joints, comprising: separating joint transformations into rigid and non-rigid parts; applying non-rigid joint transformations to the mesh; and applying rigid joint transformations to the mesh; wherein separating joint transformations into rigid and non-rigid parts comprises determining whether a joint is scale compensating or scale non-compensating, and wherein the object comprises a support joint that is associated with the mesh when rigid or non-rigid joint transformations are applied to the mesh, wherein the support joint passes scale information to descendant joints. 8. A non-transitory computer readable medium having computer executable program code embodied thereon, the computer executable program code configured to cause a computing device to animate an object comprising amesh and a plurality of joints by: separating joint transformations into rigid and non-rigid parts; applying non-rigid joint transformations to the mesh; applying rigid joint transformations to the mesh; wherein separating joint transformations into rigid and non-rigidparts comprises: determining whether a joint is scale compensating or scale non-compensating; determining a first matrix for a first joint based on the initial configuration of the plurality of joints; and determining a second matrix for the first joint based on the configuration of the plurality of joints after non-rigid transformations are applied to the plurality of joints; wherein determining a second matrix for the first joint comprises determining if the first joint's parent is scale compensating or scale non-compensating, wherein if the first joint's parent is scale compensating, determining its second matrix comprises scaling the translational part of the first joint's first matrix by the shear and scale of the first joint's parent, and wherein if the first joint's parent is scale non-compensating, determining its second matrix comprises scaling the translational and rotational part of the first joint's first matrix by the shear and scale of the first joint's parent.15. A computer-implemented method of skinning an object comprising a mesh and a pluralityof joints, comprising: separating joint transformations into rigid and non-rigid parts; applying non-rigid joint transformations to the mesh; and applying rigid joint transformations to the mesh; wherein separating joint transformations into rigid and non-rigid parts comprises determining whether a joint is scale compensating or scale non-compensating, and wherein the object comprises a support joint that is automatically selected for association with the mesh when non-rigid joint transformations are applied to the mesh. 16. A computer-implemented method of skinning an object comprising a mesh and a plurality of joints, comprising: separating joint transformations into rigid and non-rigid parts; applying non-rigid joint transformations to the mesh; and applying rigid joint transformations to the mesh; wherein separating joint transformations into rigid and non-rigid parts comprises determining whether a joint is scale compensating or scale non-compensating, and wherein the object comprises a support joint that is automatically selected for association with the mesh when rigid joint transformations are applied to the mesh.