Semantic rigging of avatars
First Claim
1. A method for generating a virtual rig to animate a virtual three-dimensional representation of a human face, the method comprising:
- receiving a mesh that includes a plurality of vertices to provide a virtual three-dimensional representation of a human face, the plurality of vertices defining a plurality of polygons that define a virtual three-dimensional representation of a surface of the human face;
associating a plurality of semantic identifiers with the plurality of respective vertices, each semantic identifier specifying a respective physical feature of the human face;
generating a virtual rig that is capable of maneuvering the mesh to a plurality of configurations, using one or more processors, based at least in part on association of the plurality of semantic identifiers with the plurality of respective vertices to animate the virtual three-dimensional representation of the human face;
determining that a virtual item is to be combined with the mesh to represent a corresponding item of the human face based at least in part on a designated subset of the plurality of semantic identifiers; and
generating the virtual item based at least in part on a subset of the plurality of vertices that is associated with the designated subset of the plurality of semantic identifiers and further based at least in part on whether the virtual item is a first virtual eyeball that represents a first physical eyeball of the human face or a second virtual eyeball that represents a second physical eyeball of the human face;
wherein at least one of a position, a size, or a shape of the first virtual eyeball and a respective at least one of a position, a size, or a shape of the second virtual eyeball are asymmetric with respect to the mesh to represent that at least one of a position, a size, or a shape of the first physical eyeball and a respective at least one of a position, a size, or a shape of the second physical eyeball are asymmetric with respect to the human face; and
wherein generating the virtual rig comprises;
defining a reference element based at least in part on the designated subset of the plurality of semantic identifiers and further based at least in part on a thickness of a virtual layer that is coincident with an outer surface of the mesh to serve as a reference for maneuvering the virtual item, the virtual layer being a virtual representation of skin that is coincident with the surface of the human face.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described herein that are capable of generating a virtual rig for animation of a virtual 3D representation (e.g., an avatar) of an object. Semantic identifiers are associated with vertices of the virtual 3D representation. Each of the semantic identifiers specifies a respective feature of the object. The virtual rig is generated based on association of the semantic identifiers with the respective vertices. The virtual rig is capable of maneuvering the mesh to multiple configurations to animate the virtual 3D representation. In an example, the semantic identifiers may be used to generate and/or place virtual items in combination with the mesh. In another example, the semantic identifiers may be used to define reference elements. The reference elements serve as references for maneuvering respective portions of the mesh and/or virtual items that are associated with those portions.
-
Citations
20 Claims
-
1. A method for generating a virtual rig to animate a virtual three-dimensional representation of a human face, the method comprising:
-
receiving a mesh that includes a plurality of vertices to provide a virtual three-dimensional representation of a human face, the plurality of vertices defining a plurality of polygons that define a virtual three-dimensional representation of a surface of the human face; associating a plurality of semantic identifiers with the plurality of respective vertices, each semantic identifier specifying a respective physical feature of the human face; generating a virtual rig that is capable of maneuvering the mesh to a plurality of configurations, using one or more processors, based at least in part on association of the plurality of semantic identifiers with the plurality of respective vertices to animate the virtual three-dimensional representation of the human face; determining that a virtual item is to be combined with the mesh to represent a corresponding item of the human face based at least in part on a designated subset of the plurality of semantic identifiers; and generating the virtual item based at least in part on a subset of the plurality of vertices that is associated with the designated subset of the plurality of semantic identifiers and further based at least in part on whether the virtual item is a first virtual eyeball that represents a first physical eyeball of the human face or a second virtual eyeball that represents a second physical eyeball of the human face; wherein at least one of a position, a size, or a shape of the first virtual eyeball and a respective at least one of a position, a size, or a shape of the second virtual eyeball are asymmetric with respect to the mesh to represent that at least one of a position, a size, or a shape of the first physical eyeball and a respective at least one of a position, a size, or a shape of the second physical eyeball are asymmetric with respect to the human face; and wherein generating the virtual rig comprises; defining a reference element based at least in part on the designated subset of the plurality of semantic identifiers and further based at least in part on a thickness of a virtual layer that is coincident with an outer surface of the mesh to serve as a reference for maneuvering the virtual item, the virtual layer being a virtual representation of skin that is coincident with the surface of the human face. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for generating a virtual rig to animate a virtual three-dimensional representation of a human face, the system comprising:
-
at least one element including at least one of (a) one or more processors or (b) hardware logic/electrical circuitry; a semantic identifier module, implemented using the at least one element, configured to associate a plurality of semantic identifiers with a plurality of respective vertices of a mesh that provides a virtual three-dimensional representation of a human face, the plurality of vertices defining a plurality of polygons that define a virtual three-dimensional representation of a surface of the human face, each semantic identifier specifying a respective physical feature of the human face; a virtual rig module, implemented using the at least one element, configured to generate a virtual rig that is capable of maneuvering the mesh to a plurality of configurations based at least in part on association of the plurality of semantic identifiers with the plurality of respective vertices to animate the virtual three-dimensional representation of the human face; and a virtual item module, implemented using the at least one element, configured to determine that a virtual item is to be combined with the mesh to represent a corresponding item of the human face based at least in part on a designated subset of the plurality of semantic identifiers, the virtual item module further configured to generate the virtual item based at least in part on a subset of the plurality of vertices that is associated with the designated subset of the plurality of semantic identifiers and further based at least in part on whether the virtual item is a first virtual eyeball that represents a first physical eyeball of the human face or a second virtual eyeball that represents a second physical eyeball of the human face; wherein at least one of a position, a size, or a shape of the first virtual eyeball and a respective at least one of a position, a size, or a shape of the second virtual eyeball are asymmetric with respect to the mesh to represent that at least one of a position, a size, or a shape of the first physical eyeball and a respective at least one of a position, a size, or a shape of the second physical eyeball are asymmetric with respect to the human face; wherein the virtual rig module comprises; a reference element module, implemented using the at least one element, configured to define a reference element based at least in part on the designated subset of the plurality of semantic identifiers and further based at least in part on a thickness of a virtual layer that is coincident with an outer surface of the mesh to serve as a reference for maneuvering the virtual item; and wherein the virtual layer is a virtual representation of skin that is coincident with the surface of the human face. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product comprising a computer-readable medium, which is not a signal, having instructions recorded thereon for enabling a processor-based system to generate a virtual rig to animate a virtual three-dimensional representation of a human head, the instructions comprising:
-
first instructions for enabling the processor-based system to associate a plurality of semantic identifiers with a plurality of respective vertices of a mesh that provides a virtual three-dimensional representation of a human head, the plurality of vertices defining a plurality of polygons that define a virtual three-dimensional representation of a face of the human head, each semantic identifier specifying a respective feature of the human head; second instructions for enabling the processor-based system to generate a virtual rig that is capable of maneuvering the mesh to a plurality of configurations based at least in part on association of the plurality of semantic identifiers with the plurality of respective vertices to animate the virtual three-dimensional representation of the human head; third instructions for enabling the processor-based system to determine that first and second virtual eyeballs are to be combined with the mesh to represent corresponding first and second physical eyeballs of the human head based at least in part on respective first and second designated subsets of the plurality of semantic identifiers; and fourth instructions for enabling the processor-based system to generate the first and second virtual eyeballs based at least in part on respective first and second subsets of the plurality of vertices that are associated with the respective first and second designated subsets of the plurality of semantic identifiers; wherein at least one of a position, a size, or a shape of the first virtual eyeball and a respective at least one of a position, a size, or a shape of the second virtual eyeball are asymmetric with respect to the mesh to represent that at least one of a position, a size, or a shape of the first physical eyeball and a respective at least one of a position, a size, or a shape of the second physical eyeball are asymmetric with respect to the human face; and wherein the second instructions comprise; instructions for enabling the processor-based system to define respective first and second reference elements based at least in part on the respective first and second designated subsets of the plurality of semantic identifiers and further based at least in part on a thickness of a virtual layer that is coincident with an outer surface of the mesh to serve as references for maneuvering the respective first and second virtual eyeballs, wherein the virtual layer is a virtual representation of skin that is coincident with the surface of the human head. - View Dependent Claims (17, 18, 19, 20)
-
Specification