Avatar facial expression representation in multidimensional space
AssigneeMagic Leap, Inc.
InventorsThomas Marshall Miller, IV, The Hung Quach, Jeffrey Lin
Life of this patent
Estimating the term…
Abstract
Examples of the disclosed systems and methods may provide for improved and more realistic rendering of virtual characters and a more realistic interaction between a user and virtual characters. For example, the systems and methods describe techniques for mathematically generating a map used for animating facial expressions in a multidimensional animation blendspace. As another example, the systems and methods describe a transition system for dynamically transitioning facial expressions across a face of the virtual character. As another example, realistic physical movements can be added to a virtual character's facial expressions to provide interactivity with other virtual characters.
Claims17
A system for transitioning a first expression to a second expression for a virtual character, the system comprising:
- non-transitory storage medium storing a mapping of facial expressions of a virtual character in a multidimensional vector space;
- wherein an angular difference between vectors in the multidimensional vector space corresponds to a difference in emotion type between facial expressions associated with the vectors;
- and
- wherein a difference in magnitude between the vectors corresponds to a difference in intensity of emotion between the facial expressions associated with the vectors;
- and
- a hardware processor programmed to:
- detect a first trigger of an expression change from a first expression to a second expression;
- in response to the first trigger, determine first values of parameters of an emotional expressions transition system, wherein the parameters comprise a starting vector in the multidimensional vector space associated with a starting facial expression, an ending vector in the multidimensional vector space associated with an ending facial expression, and a sweep direction comprising a direction of propagation of expression change from the starting facial expression to the ending facial expression on a face of the virtual character from a starting portion of the face of the virtual character;
- sweep the second expression across the face of the virtual character for a first time period during the transition from the first expression to the second expression based at least in part on the first values of the parameters of the emotional expressions transition system, wherein sweeping the second expression comprises animating a transition from a first starting facial expression to a first ending facial expression;
- detect a second trigger of another expression change from the second expression to a third expression;
- in response to the second trigger, determine second values of the parameters of the emotional expressions transition system;
- and
- sweep the third facial expression across the face of the virtual character for a second time period based at least in part on the first values and the second values of the parameters of the emotional expressions transition systems, wherein sweeping the third facial expression comprises animating a transition from a second starting facial expression to a second ending facial expression.
A method for transitioning a first expression to a second expression for a virtual character, the method comprising:
- under control of a hardware processor:
- detecting a first trigger of an expression change from a first expression to a second expression;
- in response to the first trigger, sweep the second expression across the face of the virtual character for a first time period during a transition from the first expression to the second expression, wherein sweeping the second expression comprises animating a transition from a first starting facial expression to a first ending facial expression;
- updating vector values of a face vector in a multidimensional vector space for changing a virtual character's facial expression from the first starting facial expression to the first ending facial expression at the first time period,
- wherein an angular difference between vectors in the multidimensional vector space corresponds to a difference in emotion type between facial expressions associated with the vectors;
- and
- wherein a difference in magnitude between the vectors corresponds to a difference in intensity of emotion between the facial expressions associated with the vectors;
- detecting a second trigger of another expression change from the second expression to a third expression;
- in response to the second trigger, sweep the third expression across the face of the virtual character for a second time period, wherein sweeping the third expression comprises animating a transition from a second starting facial expression to a second ending facial expression;
- and
- updating the vector values for changing the virtual character's facial expression from the second starting facial expression to the second ending facial expression at the second time period, wherein the second time period occurs during the transition between the first expression to the second expression.
Dependencies are inferred from the claim text.