IP Library Granted Patent US 11,094,136
Granted Patent B2
US 11,094,136 · App. 15/581,600 · Granted Aug 17, 2021

Virtual reality presentation of clothing fitted on avatars

Inventors: Jeremiah Arthur Grant (Petaluma, CA); Avery Lauren Orman (Cambridge, MA); David Parks (Pflugerville, TX); Richard Benjamin Trent Nelson (Concord, CA)
Assignee: Linden Research, Inc.
G06T19/20G06T13/40G06T17/20G06T2200/24G06T2207/20212G06T2210/16G06T2219/2004
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,094,136
App. No.
15/581,600
Granted
Aug 17, 2021
Kind
B2
Abstract

A computing system and method to generate an avatar wearing a piece of clothing. Given a generic clothing model acquired for the avatar, the system generates a customized clothing model based on uniformly scaling the generic clothing model according to a size of the avatar, identifies one or more edges or boundaries of the clothing, deforms a clothing mesh of the scaled clothing model at the one or more edges by stretching and/or shrinking the edges, and performs a physical simulation of fitting the deformed clothing model on the avatar to generate a fitted clothing model for the avatar. User interfaces can be optionally provided to interactively adjust the scaling, deforming, and/or physical simulation of the clothing models.

Claims (88)

1. A method implemented in a three-dimensional virtual reality world, the method comprising:

receiving a first cloth model and an avatar model, the first cloth model comprising a clothing mesh and the avatar model comprising a body mesh;

scaling uniformly the first cloth model to match an overall size of the avatar model to generate a scaled first cloth model;

identifying a first edge of the scaled first cloth model, the first edge of the scaled first cloth model identified based on a size difference between the first edge of the clothing mesh that is scaled uniformly and a first corresponding component of the body mesh;

identifying a second edge of the scaled first cloth model, the second edge of the scaled first cloth model identified based on a size difference between the second edge of the clothing mesh that is scaled uniformly and a second corresponding component of the body mesh;

deforming the scaled first cloth model by increasing a size of the first edge of the scaled first cloth model and decreasing a size of the second edge of the scaled first cloth model;

generating a deformed first cloth model from the deforming of the scaled first cloth model that has been scaled uniformly;

performing a physical simulation of fitting the deformed first cloth model on the avatar model to generate a fitted first cloth model worn on an avatar of the avatar model;

receiving a user input to customize the deforming of the scaled first cloth model,

wherein the user input includes identification of the first edge and the second edge of the scaled first cloth model for the deforming, and

wherein the user input includes identification of a degree of the deforming for increasing the size of the first edge of the scaled first cloth model and for decreasing the size of the second edge of the scaled first cloth model; and

receiving a second user input,

wherein the second user input includes identification of stiffness of one or more portions of the scaled first cloth model,

wherein the identification of stiffness is received through the second user input to adjust stiffness of the clothing mesh and distribution of the stiffness of the clothing mesh, and

wherein the identification of stiffness is received through the second user input via a paint tool configured to paint on stiffness values on the clothing mesh, the paint tool including a brush tool to adjust the stiffness of the clothing mesh and distribution of the stiffness of the clothing mesh of the one or more selected portions to adjust a transition of the deformation from the selected edges into interior areas of the clothing.

2. The method of claim 1 , wherein the generating of the deformed first cloth model includes stretching at the first edge of the scaled first cloth model to generate a corresponding expanded edge of the deformed first cloth model.

3. The method of claim 1 , wherein the generating of the deformed first cloth model includes shrinking at the second edge of the scaled first cloth model to generate a corresponding reduced edge of the deformed first cloth model.

4. The method of claim 1 , further comprising:

providing an interactive user interface to present the deformed first cloth model in response to the user input.

5. The method of claim 1 , further comprising:

providing a user interface to receive a third user input customizing the physical simulation.

6. The method of claim 5 , wherein the physical simulation includes computing of draping, folding, stretching and shrinking in portions of the fitted first cloth model worn on an avatar of the avatar model.

7. The method of claim 1 , further comprising:

providing an interactive user interface to present the scaling in response to a third user input to customize the scaling.

8. The method of claim 1 , further comprising:

collapsing the fitted first cloth model onto the avatar model to generate a collapsed first cloth model;

receiving a second cloth model; and

transforming the second cloth model into a fitted second cloth model worn on the avatar.

9. The method of claim 8 , further comprising:

generating the avatar model having the avatar wearing a piece of clothing according to the first cloth model inside a piece of clothing according to the second cloth model by:

applying textures of the collapsed first cloth model onto the avatar to generate the avatar wearing a piece of clothing according to the collapsed first cloth model; and

combining the fitted second cloth model and the avatar wearing the piece of clothing according to the collapsed first cloth model to generate the avatar wearing a piece of clothing according to the fitted second cloth model outside the piece of clothing worn on the avatar according to the collapsed first cloth model.

10. The method of claim 1 , wherein the adjusting of the stiffness of the clothing mesh and distribution of the stiffness of the clothing mesh adjusts a transition of the deformation from the first edge of the scaled first cloth model and the second edge of the scaled first cloth model.

11. The method of claim 1 , further comprising receiving a third user input,

wherein the third user input includes identification of looseness of at least a portion of the scaled first cloth model,

wherein the identification of looseness is received through the third user input to adjust looseness of the clothing mesh and distribution of the looseness of the clothing mesh, and

wherein the identification of looseness is received through the third user input via the paint tool further configured to paint on looseness values on the clothing mesh.

12. A non-transitory computer storage medium storing instructions configured to instruct a computer device to perform a method implemented in a three-dimensional virtual reality world, the method comprising:

receiving a first cloth model and an avatar model, the first cloth model comprising a clothing mesh and the avatar model comprising a body mesh;

scaling uniformly the first cloth model to match an overall size of the avatar model to generate a scaled first cloth model;

identifying a first edge of the scaled first cloth model, the first edge of the scaled first cloth model identified based on a size difference between the first edge of the clothing mesh and a first corresponding component of the body mesh;

identifying a second edge of the scaled first cloth model, the second edge of the scaled first cloth model identified based on a size difference between the second edge of the clothing mesh and a second corresponding component of the body mesh;

deforming the scaled first cloth model by increasing a size of the first edge of the scaled first cloth model and decreasing a size of the second edge of the scaled first cloth model;

generating a deformed first cloth model from the deforming of the scaled first cloth model;

performing a physical simulation of fitting the deformed first cloth model on the avatar model to generate a fitted first cloth model worn on an avatar of the avatar model;

receiving a first user input to customize the deforming, wherein the first user input includes identification of the first edge and the second edge of the scaled first cloth model for the deforming;

receiving a second user input to customize the deforming after the receiving of the first user input, wherein the second user input includes identification of a degree of the deforming for increasing the size of the first edge of the scaled first cloth model and for decreasing the size of the second edge of the scaled first cloth model; and

receiving a third user input,

wherein the third user input includes identification of stiffness of one or more portions of the scaled first cloth model,

wherein the identification of stiffness is received through the third user input to adjust stiffness of the clothing mesh and distribution of the stiffness of the clothing mesh, and

wherein the identification of stiffness is received through the third user input via a paint tool configured to paint on stiffness values on the clothing mesh, the paint tool including a brush tool to adjust the stiffness of the clothing mesh and distribution of the stiffness of the clothing mesh of the one or more selected portions to adjust a transition of the deformation from the selected edges into interior areas of the clothing.

13. The medium of claim 12 , wherein the method further comprises:

collapsing the fitted first cloth model onto the avatar model to generate a collapsed first cloth model; and

storing the fitted first cloth model and the collapsed first cloth model.

14. The medium of claim 13 , wherein the method further comprises:

scaling uniformly a generic cloth model acquired for the avatar model of a user to generate the first cloth model.

15. The medium of claim 12 , wherein the method further comprises receiving a fourth user input,

wherein the fourth user input includes identification of looseness of at least a portion of the scaled first cloth model,

wherein the identification of looseness is received through the fourth user input to adjust looseness of the clothing mesh and distribution of the looseness of the clothing mesh, and

wherein the identification of looseness is received through the fourth user input via the paint tool further configured to paint on looseness values on the clothing mesh.

16. A computing system to implement a three-dimensional virtual reality world, the system comprising:

a server system; and

a data storage device storing:

a three-dimensional model of the virtual reality world;

avatar models representing presences in the virtual reality world, each avatar model comprising a body mesh; and

cloth models defining shapes and appearances of clothing, each respective cloth model comprising a clothing mesh;

wherein for the respective cloth model in a plurality of cloth models acquired by a user for an avatar model, the server system is configured to scale uniformly the cloth model to match an overall size of the avatar model to generate a scaled cloth model;

wherein a mesh deformer is configured to:

identify a first edge of the scaled cloth model, the first edge of the scaled first cloth model identified based on a size difference between the first edge of the clothing mesh that is scaled uniformly and a first corresponding component of the body mesh;

identify a second edge of the scaled first cloth model, the second edge of the scaled first cloth model identified based on a size difference between the second edge of the clothing mesh that is scaled uniformly and a second corresponding component of the body mesh;

deform the scaled cloth model by increasing a size of the first edge of the scaled first cloth model and decreasing a size of the second edge of the scaled first cloth model; and

generate a deformed cloth model from deforming the scaled first cloth model that has been scaled uniformly;

wherein a cloth solver is configured to perform a physical simulation of fitting the deformed cloth model on the avatar model to generate a fitted cloth model worn on an avatar of the avatar model; and

wherein a user interface is configured to:

receive a first user input to customize the deforming, wherein the first user input includes identification of the first edge and the second edge of the scaled first cloth model for the deforming;

receive a second user input to customize the deforming after the first user input, wherein the second user input includes identification of a degree of the deforming for increasing the size of the first edge of the scaled first cloth model and for decreasing the size of the second edge of the scaled first cloth model; and

receive a third user input,

wherein the third user input includes identification of stiffness of one or more portions of the scaled first cloth model,

wherein the identification of stiffness is received through the third user input to adjust stiffness of the clothing mesh and distribution of the stiffness of the clothing mesh, and

wherein the identification of stiffness is received through the third user input via a paint tool configured to paint on stiffness values on the clothing mesh, the paint tool including a brush tool to adjust the stiffness of the clothing mesh and distribution of the stiffness of the clothing mesh of the one or more portions selected by the user to adjust a transition of the deformation from the selected edges into interior areas of the clothing.

17. The computing system of claim 16 , wherein the server system further generates and stores a collapsed cloth model by shrinking the fitted cloth model onto a body surface of the avatar model.

18. The computing system of claim 16 , wherein the scaled cloth model is deformed by stretching at the first edge or shrinking at the second edge.

19. The computing system of claim 18 , further comprising:

an interactive user interface configured to receive stiffness values of at least a portion of the clothing mesh, wherein the mesh deformer is configured to deform the clothing mesh according to the stiffness values in stretching at the first edge and shrinking at the second edge.

20. The computing system of claim 16 , wherein a user interface is configured to receive a fourth user input,

wherein the fourth user input includes identification of looseness of at least a portion of the scaled first cloth model,

wherein the identification of looseness is received through the fourth user input to adjust looseness of the clothing mesh and distribution of the looseness of the clothing mesh, and

wherein the identification of looseness is received through the fourth user input via the paint tool further configured to paint on looseness values on the clothing mesh.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2021
From: WOOKEY SEARCH TECHNOLOGIES CORPORATION
To: LINDEN RESEARCH, INC.
Reel/Frame 055660/0179 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2020
From: LINDEN RESEARCH, INC.
To: WOOKEY SEARCH TECHNOLOGIES CORPORATION
Reel/Frame 053327/0454 →
RELEASE OF SECURITY INTEREST Recorded Mar 25, 2020
From: VENTURE LENDING & LEASING VIII, INC.
To: LINDEN RESEARCH, INC.
Reel/Frame 052222/0448 →
SECURITY INTEREST Recorded Mar 12, 2018
From: LINDEN RESEARCH, INC.
To: VENTURE LENDING & LEASING VIII, INC.
Reel/Frame 045569/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2017
From: GRANT, JEREMIAH ARTHUR; ORMAN, AVERY LAUREN; PARKS, DAVID; NELSON, RICHARD BENJAMIN TRENT
To: LINDEN RESEARCH, INC.
Reel/Frame 042346/0922 →
Continuity (1)
Related Publication 20180315253A1 · Nov 1, 2018