IP Library Granted Patent US 11,250,629
Granted Patent B2
US 11,250,629 · App. 16/882,190 · Granted Feb 15, 2022

Systems and methods for optimizing a model file

Inventors: Thane Brimhall (Saratoga Springs, UT); Thomas Griffiths (American Fork, UT); Trey Nelson (Provo, UT); Christopher Tart (Taylorsville, UT)
Assignee: SEEK XR, LLC
G06T17/205G06T15/04G06T15/06G06T15/30G06T19/006
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,250,629
App. No.
16/882,190
Granted
Feb 15, 2022
Kind
B2
Abstract

Systems and methods for optimizing a model file include an occlusion reduction process. The occlusion reduction process includes acts of: i) identifying one or more points on a mesh section of a model, ii) determining an occlusion value for each of the one or more points on the surface of the mesh section by performing a ray cast rendering of each of the one or more points, iii) determining whether the one or more occlusion values meet or exceed a predetermined occlusion threshold value, and iv) removing the mesh section from the model. Systems and methods for optimizing a model file may include other optimization processes, such as an instancing step, a selective decimation step, a texture reduction step, and/or a texture formatting step.

Claims (51)

1. A system for optimizing a model file, comprising:

one or more processors; and

one or more hardware storage devices storing computer-executable instructions that are operable, when executed by the one or more processors, to configure the system to:

perform a selective decimation process, comprising configuring the system to:

identify a model portion size threshold associated with presenting a model for viewing, wherein the model portion size threshold is based on a viewing distance or range of viewing distances for viewing the model and a screen pixel resolution of a screen of a device for viewing the model;

determine that a distance between two vertices of the model is below the model portion size threshold; and

merge the two vertices together.

2. The system of claim 1 , wherein the computer-executable instructions are further operable, when executed by the one or more processors, to configure the system to:

perform a texture reduction process, comprising configuring the system to:

identify a u-v map associated with a texture of the model comprising a plurality of map points associated with vertices of the model; and

in response to determining that two map points of the plurality of map points are associated with vertices that are positioned closer together than the model portion size threshold, modify one or more features of the u-v map that are between the two map points.

3. The system of claim 1 , wherein the computer-executable instructions are further operable, when executed by the one or more processors, to configure the system to:

perform an occlusion reduction process, comprising configuring the system to:

identify one or more points on a mesh section of the model;

determine one or more occlusion values for the one or more points on the mesh section by performing a ray cast rendering of the one or more points;

determine that the one or more occlusion values meet or exceed a predetermined occlusion threshold value; and

remove the mesh section from the model.

4. The system of claim 3 , wherein the occlusion reduction process further comprises configuring the system to identify one or more transparent objects associated with the model and omitting the one or more transparent objects from the model for performing the occlusion reduction process.

5. The system of claim 3 , wherein the ray cast rendering omits rays that are associated with one or more environmental surfaces.

6. The system of claim 3 , wherein the occlusion reduction process further comprises configuring the system to remove one or more vertices of the model that are orphaned by the removal of the mesh section from the model.

7. The system of claim 3 , wherein the occlusion reduction process comprises configuring the system to perform ray cast rendering on the one or more points for a plurality of states of the model.

8. The system of claim 3 , wherein the mesh section is a triangular section.

9. The system of claim 3 , wherein the one or more points on the mesh section include at least one of: a point along an edge of the mesh section, a point on a center of the mesh section, or a point on a corner of the mesh section.

10. The system of claim 1 , wherein the computer-executable instructions are further operable, when executed by the one or more processors, to configure the system to:

perform an instancing process, comprising configuring the system to:

detect two or more model objects of the model that share identical vertices; and

merge the shared identical vertices into a single buffer.

11. The system of claim 1 , wherein the computer-executable instructions are further operable, when executed by the one or more processors, to configure the system to:

perform a texture formatting process, comprising configuring the system to:

obtain a model file comprising a model;

identify a texture of the model configured for display on a mesh of the model;

identify an attribute of the texture configured for display on the mesh of the model;

determine an optimal image format for the texture based on the attribute of the texture; and

convert the texture for display on the mesh of the model to the optimal image format.

12. The system of claim 11 , wherein the attribute of the texture of the model is a predetermined use of the texture.

13. The system of claim 11 , wherein the attribute of the texture of the model is a feature of the texture of the model.

14. The system of claim 1 , wherein the computer-executable instructions are further operable, when executed by the one or more processors, to configure the system to replace a custom normal vector of a vertex with an automatic normal.

15. The system of claim 1 , wherein the model is a 3D object from (i) an augmented reality model or scene file, (ii) a virtual reality model or scene file, or (iii) a 3D model file.

16. The system of claim 1 , wherein the computer-executable instructions are further operable, when executed by the one or more processors, to configure the system to output an optimized model file comprising the model.

17. The system of claim 16 , wherein the computer-executable instructions are further operable, when executed by the one or more processors, to configure the system to:

convert the optimized model file into (i) a plurality of augmented reality object file formats, (ii) a plurality of virtual reality object file formats, or (iii) a 3D model file format.

18. A method for optimizing a model file, comprising:

performing a selective decimation process, comprising:

identifying a model portion size threshold associated with presenting a model for viewing, wherein the model portion size threshold is based on a viewing distance or range of viewing distances for viewing the model and a screen pixel resolution of a screen of a device for viewing the model;

determining that a distance between two vertices of the model is below the model portion size threshold; and

merging the two vertices together.

19. One or more hardware storage devices storing computer-executable instructions that are operable, when executed by one or more processors of a system, to configure the system to:

perform a selective decimation process, comprising configuring the system to:

identify a model portion size threshold associated with presenting a model for viewing, wherein the model portion size threshold is based on a viewing distance or range of viewing distances for viewing the model and a screen pixel resolution of a screen of a device for viewing the model;

determine that a distance between two vertices of the model is below the model portion size threshold; and

merge the two vertices together.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF ASSIGNEE PREVIOUSLY RECORDED AT REEL: 68183 FRAME: 984. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Jan 14, 2025
From: SEEK XR, INC.
To: LOFT, INC.
Reel/Frame 071380/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2024
From: SEEK XR, INC.
To: LOFT INC.
Reel/Frame 068183/0984 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICANT FROM SEEK LLC TO SEEK XR, INC. AND TO UPDATE THE APPLICANT ADDRESS PREVIOUSLY RECORDED AT REEL: 052745 FRAME: 0925. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 30, 2020
From: BRIMHALL, THANE; GRIFFITHS, THOMAS; NELSON, TREY; TART, CHRISTOPHER
To: SEEK XR, INC.
Reel/Frame 053946/0679 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2020
From: BRIMHALL, THANE; GRIFFITHS, THOMAS; NELSON, TREY; TART, CHRISTOPHER
To: SEEK XR, LLC
Reel/Frame 052745/0925 →
Continuity (1)
Related Publication 20210366190A1 · Nov 25, 2021