IP Library Granted Patent US 11,354,878
Granted Patent B2
US 11,354,878 · App. 17/184,336 · Granted Jun 7, 2022

Method of computing simulated surfaces for animation generation and other purposes

Inventors: Alexey Stomakhin (Waimanalo, HI); Daniel Martin Elliott Jones (Wellington, NZ)
Assignee: Unity Technologies SF
G06T19/20G06F9/30036G06F9/30043G06F9/3836G06T11/40G06T13/20G06T13/80G06T17/00G06T2200/04G06T2200/24G06T2207/10028
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,354,878
App. No.
17/184,336
Granted
Jun 7, 2022
Kind
B2
Abstract

A simulator computes surfaces corresponding to objects in a simulation by computing covariance matrices for particles that use a square root of a diagonal matrix. The simulator might operate by receiving positions and sizes for each particle of a plurality of particles comprising a first object, identifying a subset of the plurality of particles whose positions are proximate to a first surface of the first object, deforming particles of the subset of the plurality of particles by generating a covariance matrix for each particle of the plurality of particles, using a square root of a diagonal matrix, wherein the diagonal matrix is a diagonal matrix of neighboring particles for each particle of the plurality of particles, and computing the first surface of the first object based on the deformed particles.

Claims (32)

1. A computer-implemented method for modeling surfaces of simulated objects, the computer-implemented method comprising:

under the control of one or more computer systems configured with executable instructions:

receiving positions and sizes for each particle of a plurality of particles comprising a first object;

identifying a subset of the plurality of particles whose positions are proximate to a first implied surface of the first object;

deforming particles of the subset of the plurality of particles to form a set of deformed particles by generating a covariance matrix for each particle of at least some particles of the plurality of particles, wherein the covariance matrix corresponds to a diagonal stretch matrix raised to a power of greater than negative one and less than zero and wherein the diagonal stretch matrix is a diagonal stretch matrix of neighboring particles for at least some particles of the plurality of particles; and

computing a new shape or position of the first implied surface of the first object based on the set of deformed particles,

wherein identifying the subset of the plurality of particles whose positions are proximate to the first implied surface of the first object involves computing a weighted mean and the covariance matrix of each particle of the plurality of particles based on a mask,

wherein the mask includes particles of the plurality of particles having a user-defined attribute and excludes particles of the plurality of particles not having the user-defined attribute.

2. The computer-implemented method of claim 1 , wherein the power of greater than negative one and less than zero is a power of −½.

3. The computer-implemented method of claim 1 , wherein at least some of the particles of the plurality of particles are spherical.

4. The computer-implemented method of claim 1 , wherein at least some of the deformed particles are ellipsoidal.

5. The computer-implemented method of claim 1 , wherein deforming the particles of the subset of the plurality of particles involves elongating axes of the particles of the subset that are parallel to the first implied surface of the first object.

6. The computer-implemented method of claim 1 , wherein the first object is solid.

7. The computer-implemented method of claim 1 , wherein the first object is semi-solid or fluid.

8. The computer-implemented method of claim 1 , wherein a shape or position of the first implied surface of the first object changes based on an interaction of the first object with a second surface of a second object.

9. The computer-implemented method of claim 1 , further comprising receiving masses for each particle of the plurality of particles comprising the first object.

10. The computer-implemented method of claim 9 , further comprising computing a computed pressure, density, or force acting on at least one particle of the plurality of particles comprising the first object.

11. The computer-implemented method of claim 10 , further comprising changing the positions of the at least one particle based on the computed pressure, density, or force.

12. The computer-implemented method of claim 1 , wherein the positions and sizes of the particles comprising the first object are received from a simulation.

13. The computer-implemented method of claim 1 , wherein the positions and sizes of the particles comprising the first object are received from a scanning device.

14. The computer-implemented method of claim 1 , wherein the user-defined attribute is a position within a search radius of the first implied surface.

15. The computer-implemented method of claim 1 , wherein computing the new shape or position of the first implied surface of the first object based on the deformed particles involves computing an isosurface of a scalar field.

16. The computer-implemented method of claim 1 , further comprising generating a visual representation of the first implied surface of the first object.

17. The computer-implemented method of claim 8 , further comprising generating a visual representation of the second surface of the second object.

18. A computer system for modeling surfaces of simulated objects, the system comprising:

at least one processor; and

a computer-readable medium storing instructions, which when executed by the at least one processor, causes the system to carry out the method of claim 1 .

19. A non-transitory computer-readable storage medium storing instructions, which when executed by at least one processor of a computer system, causes the computer system to carry out the method of claim 1 .

20. The computer-implemented method of claim 1 wherein, based on a user selection, either:

the mask is defined globally for all particles of the plurality of particles, or

the mask is defined for a particular particle of the plurality of particles, or

the mask is defined for particles of the plurality of particles within a user-specified volume.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND INVENTOR'S NAME PREVIOUSLY RECORDED AT REEL: 058764 FRAME: 0313. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Apr 14, 2022
From: ALEXEY STOMAKHIN; DANIEL MARTIN ELLIOTT JONES
To: WETA DIGITAL LIMITED
Reel/Frame 059719/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2022
From: UNITY SOFTWARE INC.
To: UNITY TECHNOLOGIES SF
Reel/Frame 058980/0342 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2022
From: WETA DIGITAL LIMITED
To: UNITY SOFTWARE INC.
Reel/Frame 058978/0865 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2022
From: STOMAKHIN, ALEXEY; ELLIOT JONES, DANIEL MARTIN
To: WETA DIGITAL LIMITED
Reel/Frame 058764/0313 →
Continuity (2)
Provisional Application 62983534 · Feb 28, 2020
Related Publication 20210272343A1 · Sep 2, 2021