IP Library Granted Patent US 11,217,002
Granted Patent B2
US 11,217,002 · App. 17/184,236 · Granted Jan 4, 2022

Method for efficiently computing and specifying level sets for use in computer simulations, computer graphics and other purposes

Inventors: Stephen K. Lesser (Wellington, NZ); Tomá{hacek over (s)} Sk{hacek over (r)}ivan (Wellington, NZ)
Assignee: WETA DIGITAL LIMITED
G06T13/60G06T15/06G06T17/05G06T17/20G06T2210/24
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,217,002
App. No.
17/184,236
Granted
Jan 4, 2022
Kind
B2
Abstract

Surface features might represent features of a virtual fluid and a method might include obtaining a digital representation of the virtual fluid defined at least in part by an implicit surface, obtaining a digital representation of a collection of points defined relative to the implicit surface whereat the surface features are to be determined. A point of the collection of points might have associated therewith a plurality of attribute values specifying a property of the surface features. For an input point, a corresponding implicit surface point might be determined, along with, for the corresponding implicit surface point, a subset of the points within a search region. Interpolated attribute values might be obtained from attribute values associated with points of the subset, and a surface displacement value computed from interpolated attribute values. A dataset corresponding to the surface features might be generated.

Claims (57)

1. A computer-implemented method for sampling surface features, wherein the surface features represent features of a virtual fluid, the computer-implemented method comprising:

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

obtaining a first digital representation of the virtual fluid defined at least in part by an implicit surface;

obtaining a second digital representation of a collection of points defined relative to at least a portion of the implicit surface whereat the surface features are to be determined, wherein:

a point of the collection of points has associated therewith a plurality of attribute values specifying a property of the surface features; and

the collection of points is a collection of vertices that represents a mesh region comprising a plurality of vertices defining a plurality of polygons;

determining, for an input point, a corresponding implicit surface point;

determining, for the corresponding implicit surface point, a subset of the collection of points within a search region relative to the corresponding implicit surface point;

obtaining a set of interpolated attribute values by interpolating attributes of the plurality of attribute values associated with points of the subset of the collection of points;

computing a surface displacement value from the set of interpolated attribute values; and

generating a dataset corresponding to the surface features on at least computed surface displacement values.

2. The computer-implemented method of claim 1 , wherein the property of the surface features is a displacement from the implicit surface.

3. The computer-implemented method of claim 1 , wherein determining the corresponding implicit surface point for the input point comprises:

determining a first signed distance field value for the input point;

determining a first field gradient value for the input point; and

determining the corresponding implicit surface point from a position of the input point, the first signed distance field value, and the first field gradient value.

4. The computer-implemented method of claim 1 , wherein the first digital representation represents the virtual fluid in an Eulerian grid representation and the second digital representation represents the mesh region as a plurality of Lagrangian points.

5. The computer-implemented method of claim 1 , wherein one or more visual representations of the surface features depict capillary waves on a surface of the virtual fluid.

6. The computer-implemented method of claim 1 , wherein the collection of points is defined at a higher resolution than the implicit surface.

7. The computer-implemented method of claim 1 , wherein the plurality of attribute values comprises a phase value and/or an amplitude value.

8. A computer system for generating one or more visual representations of surface features of a virtual fluid, the computer system comprising:

at least one processor; and

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

9. 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 .

10. A computer-implemented method for sampling surface features, wherein the surface features represent features of a virtual fluid, the computer-implemented method comprising:

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

obtaining a first digital representation of the virtual fluid defined at least in part by an implicit surface;

obtaining a second digital representation of a collection of points defined relative to at least a portion of the implicit surface whereat the surface features are to be determined, wherein:

a point of the collection of points has associated therewith a plurality of attribute values specifying a property of the surface features; and

the collection of points represents a mesh;

determining, for an input point, a corresponding implicit surface point;

determining, for the corresponding implicit surface point, a subset of the collection of points within a search region relative to the corresponding implicit surface point, wherein the determining the subset of the collection of points within the search region relative to the corresponding implicit surface point comprises:

(a) using ray casting to cast a ray from the input point through the corresponding implicit surface point;

(b) identifying one or more intersected polygons of a plurality of polygons of the mesh that are intersected by the ray;

(c) determining a plurality of vertices corresponding to vertices of one or more polygon of the one or more intersected polygons; and

(d) processing the plurality of vertices as the subset of the collection of points;

obtaining a set of interpolated attribute values by interpolating attributes of the plurality of attribute values associated with points of the subset of the collection of points;

computing a surface displacement value from the set of interpolated attribute values; and

generating a dataset corresponding to the surface features on at least computed surface displacement values.

11. The computer-implemented method of claim 10 , wherein the ray extends from the input point passing through the corresponding implicit surface point to a ray endpoint that is a predetermined distance from the corresponding implicit surface point along the ray.

12. The computer-implemented method of claim 10 , wherein the ray extends to a sample position for which a signed distance between the sample position and the implicit surface meets a maximum-displacement threshold.

13. The computer-implemented method of claim 12 , further comprising:

obtaining a second plurality of distances for a second plurality of sample positions,

wherein the second plurality of sample positions includes a particular sample position for which the signed distance between the particular sample position and the implicit surface does not meet the maximum-displacement threshold, each distance of the second plurality of distances being equal to the signed distance between the particular sample position and the implicit surface, and

wherein the generating one or more visual representations is based on at least some of the second plurality of distances.

14. The computer-implemented method of claim 10 , wherein the property of the surface features is a displacement from the implicit surface.

15. The computer-implemented method of claim 10 , wherein determining the corresponding implicit surface point for the input point comprises:

determining a first signed distance field value for the input point;

determining a first field gradient value for the input point; and

determining the corresponding implicit surface point from a position of the input point, the first signed distance field value, and the first field gradient value.

16. The computer-implemented method of claim 10 , wherein the first digital representation represents the virtual fluid in an Eulerian grid representation and the second digital representation represents the mesh region as a plurality of Lagrangian points.

17. The computer-implemented method of claim 10 , wherein one or more visual representations of the surface features depict capillary waves on a surface of the virtual fluid.

18. The computer-implemented method of claim 10 , wherein the collection of points is defined at a higher resolution than the implicit surface.

19. The computer-implemented method of claim 10 , wherein the plurality of attribute values comprises a phase value and/or an amplitude value.

20. A computer system for generating one or more visual representations of surface features of a virtual fluid, the computer system comprising:

at least one processor; and

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

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF INVENTOR TOMAS SKRIVAN, IN THE COVER SHEET, WHICH DUE TO SPECIAL LETTER CHARACTORS, DID NOT APPEAR CORRECTLY IN EPAS PREVIOUSLY RECORDED AT REEL: 058165 FRAME: 0932. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 19, 2023
From: LESSER, STEPHEN K.; SKRIVAN, TOMAS
To: WETA DIGITAL LIMITED
Reel/Frame 063377/0604 →
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 Nov 19, 2021
From: LESSER, STEPHEN K.; SKRIVAN, TOMÁ?
To: WETA DIGITAL LIMITED
Reel/Frame 058165/0932 →
Continuity (2)
Provisional Application 62983423 · Feb 28, 2020
Related Publication 20210272345A1 · Sep 2, 2021