- Number
- 10262447
- Published
- 2019-04-16
- Filed
- 2016-09-30
- Assignee
- Disney Enterprises, Inc.
- Inventors
- Le; Binh H., Hodgins; Jessica
- CPC
- G06T13/40
- Verdict
- Medium Notable software
- Source
- Google Patents · FreePatentsOnline
The keeper's note
Virtual entity animation.
Abstract
Systems and methods of virtual entity animation are presented herein. A virtual entity may have virtual skin defined by a model having a set of vertices. A skeletal-based skin deformation method of animation may be used wherein individual vertices in the model may have individually and independently determined centers of rotation.
Background
FIELD OF THE DISCLOSURE(1) This disclosure relates to virtual entity animation.BACKGROUND(2) Virtual entities, such as virtual characters, may be modeled by a bone structure and an exterior “skin” that deforms as bones bend around joints. Skin deformation methods, sometimes referred to as “skinning algorithms,” may dictate the way in which the skin reacts to bone movement. Skin deformation methods that work across a broad range of character designs and poses may be implemented to create compelling animations. Linear blend skinning (LBS) and dual quaternion skinning (DQS) are some methods. These and other skin deformation methods may be used for real-time applications. Both techniques may be efficient to compute and may be effective for many purposes. However, they may cause artifacts in the skin deflection, such as collapsing joints, a candy wrapper twist, and/or bulging around joints.SUMMARY(3) One aspect of the disclosure relates to a system configured for virtual entity animation. Skin deformation methods may be used generate high-quality, detailed deformations around the joints of virtual entities from a small set of controllers. Among the available methods, skeletal-based methods may be used. Generally, skeletal-based methods may employ a simplified version of the anatomical skeleton (e.g., virtual bones connected by joints) as a controller. The virtual entity may be deformed by rotating the bones around its joints. Individual bones may propagate their transformation to
Claims
1. A system configured to facilitate animation and rendering of virtual entities, the system comprising: non-transitory electronic storage storing information defining one or more virtual entities, individual virtual entities being defined by virtual skin, virtual bones, and virtual joints, the virtual bones and the virtual joints being used to animate the virtual skin, the virtual skin of an individual virtual entity being modeled as a set of vertices that moves according to the animation of the virtual entity, the set of vertices including a first vertex, the information defining the one or more virtual entities including skin rest position information and skinning weight information, the skin rest position information conveying individual rest positions of the individual vertices, the skinning weight information conveying influence of virtual bone movement on deformation of individual vertices based on individual skinning weights computed for the individual vertices such that a first skinning weight is computed for the first vertex; and one or more physical processors configured by machine-readable instructions to: determine individual centers of rotations for the individual vertices, the individual centers of rotations having individual positions represented as vectors having vector components, the individual centers of rotation being determined with respect to the individual rest positions of the individual vertices, such that a first center of rotation is determined for the first vertex while in a first rest position; and determine deformed positions of the individual vertices responsive to specification of animated motion, the deformed positions being determined based on the individual centers of rotation of the individual vertices, the individual skinning weights, and the animated motion; wherein determining the first center of rotation comprises: determining an aggregate of weighted positions of the vertices in the set of vertices, individual positions of the vertices in the set of vertices being weighted based on individual similarity measures determined between the first skinning weight of the first vertex and the individual skinning weights of the individual vertices in the first set of vertices; and dividing the aggregate of weighted positions by an aggregate of the individual similarity measures.
9. A method of animation and rendering of virtual entities, the method being implemented in a computer system comprising one or more physical processor and non-transitory storage media storing machine-readable instructions, the method comprising: storing information defining one or more virtual entities, individual virtual entities being defined by virtual skin, virtual bones, and virtual joints, the virtual bones and the virtual joints being used to animate the virtual skin, the virtual skin of an individual virtual entity being modeled as a set of vertices that moves according to the animation of the virtual entity, the set of vertices including a first vertex, the information defining the one or more virtual entities including skin rest position information and skinning weight information, the skin rest position information conveying individual rest positions of the individual vertices, the skinning weight information conveying influence of virtual bone movement on deformation of individual vertices based on individual skinning weights computed for the individual vertices such that a first skinning weight is computed for the first vertex; and determining individual centers of rotations for the individual vertices, the individual centers of rotations having individual positions represented as vectors having vector components, the individual centers of rotation being determined with respect to the individual rest positions of the individual vertices, such that a first center of rotation is determined for the first vertex while in a first rest position; and determining deformed positions of the individual vertices responsive to specification of animated motion, the deformed positions being determined based on the individual centers of rotation of the individual vertices, the individual skinning weights, and the animated motion; wherein determining the first center of rotation comprises: determining an aggregate of weighted positions of the vertices in the set of vertices, individual positions of the vertices in the set of vertices being weighted based on individual similarity measures determined between the first skinning weight of the first vertex and the individual skinning weights of the individual vertices in the first set of vertices; and dividing the aggregate of weighted positions by an aggregate of the individual similarity measures.