US2021366191A1PendingUtilityA1

Systems and methods for optimizing a model file

59
Assignee: SEEK XR INCPriority: May 22, 2020Filed: Sep 29, 2020Published: Nov 25, 2021
Est. expiryMay 22, 2040(~13.9 yrs left)· nominal 20-yr term from priority
G06F 3/011G06T 17/205G06T 15/04G06T 2210/08G06T 19/006G06T 15/30G06T 15/06
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems and methods for optimizing a model file include an occlusion reduction process. The occlusion reduction process includes acts of: (i) identifying points on a mesh section of a model, (ii) casting a set of rays toward the points, (iii) determining a number of rays that reach the points without being occluded by a portion of the model or a portion of another object, (iv) determining occlusion values for the points based on the number of rays that reach the points without being occluded; (v) determining whether the occlusion values for the points satisfy a predetermined occlusion threshold value; (vi) removing the mesh section from the model in response to determining that the occlusion values satisfy the predetermined occlusion threshold value, and (vii) refraining from removing the mesh section from the model in response to determining that the occlusion values fail to satisfy the predetermined occlusion threshold value.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system for optimizing a model, 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 an occlusion reduction process, comprising configuring the system to:
 identify one or more points on a mesh section of a model; 
 cast a set of rays toward the one or more points on the mesh section of the model; 
 determine a number of rays of the set of rays that reach the one or more points without being occluded by a portion of the model or a portion of another object; 
 determine one or more occlusion values for the one or more points on the mesh section based on the number of rays of the set of rays that reach the one or more points without being occluded; 
 determine whether the one or more occlusion values for the one or more points satisfy a predetermined occlusion threshold value; 
 in response to determining that the one or more occlusion values satisfy the predetermined occlusion threshold value, remove the mesh section from the model; and 
 in response to determining that the one or more occlusion values fail to satisfy the predetermined occlusion threshold value, refrain from removing the mesh section from the model. 
 
   
     
     
         2 . The system of  claim 1 , wherein the occlusion reduction process further comprises configuring the system to:
 identify one or more transparent objects associated with the model; and   omit the one or more transparent objects from the model for performing the occlusion reduction process.   
     
     
         3 . The system of  claim 1 , wherein the set of rays omits a ray that is associated with one or more portions of an environment or an object configured to be presented with the model. 
     
     
         4 . The system of claim  0 , wherein the ray that is associated with the one or more portions of the environment or the object configured to be presented with the model comprises a directional component that is in a same direction as a normal vector associated with the one or more portions of the environment or the object. 
     
     
         5 . The system of claim  0 , wherein the object comprises a separate model configured to be presented with the model. 
     
     
         6 . The system of claim  0 , wherein the one or more portions of the environment comprise a surface of a real-world environment within which the model is configured to be presented. 
     
     
         7 . The system of claim  0 , wherein the one or more portions of the environment comprise a surface of a virtual environment within which the model is configured to be presented. 
     
     
         8 . The system of  claim 1 , wherein the occlusion reduction process further comprises configuring the system to remove one or more vertices of the model that are orphaned by removal of the mesh section from the model. 
     
     
         9 . The system of  claim 1 , wherein:
 the occlusion reduction process further comprises configuring the system to, for a separate state of the model, determine a separate number of rays cast toward the one or more points arranged according to the separate state of the model that reach the one or more points arranged according to the separate state of the model without being occluded, and   the one or more occlusion values are further based on the separate number of rays.   
     
     
         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 selective decimation process, comprising configuring the system to:
 identify a real-world distance threshold associated with presenting the model for viewing; 
 determine that a distance between two vertices of the model is below the real-world distance threshold; and 
 merge the two vertices together. 
   
     
     
         12 . The system of claim  0 , wherein the real-world distance threshold is based on a viewing distance for viewing the model and a screen pixel resolution of a screen for viewing the model. 
     
     
         13 . The system of claim  0 , 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, the u-v map comprising a plurality of map points associated with vertices of the model; and 
 in response to determining that two of the map points of the plurality of map points are associated with vertices that are positioned closer together than the real-world distance threshold, modify one or more features of the u-v map that are between the two map points. 
   
     
     
         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:
 perform a texture formatting process, comprising configuring the system to:
 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. 
   
     
     
         15 . The system of claim  0 , wherein the attribute of the texture of the model comprises a predetermined use of the texture. 
     
     
         16 . The system of claim  0 , wherein the attribute of the texture of the model comprises a feature of the texture of the model. 
     
     
         17 . 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. 
     
     
         18 . 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; and   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.   
     
     
         19 . A method for optimizing a model, comprising:
 performing an occlusion reduction process, comprising:
 identifying one or more points on a mesh section of a model; 
 casting a set of rays toward the one or more points on the mesh section of the model; 
 determining a number of rays of the set of rays that reach the one or more points without being occluded by a portion of the model or a portion of another object; 
 determining one or more occlusion values for the one or more points on the mesh section based on the number of rays of the set of rays that reach the one or more points without being occluded; 
 determining whether the one or more occlusion values for the one or more points satisfy a predetermined occlusion threshold value; and 
 in response to determining that the one or more occlusion values satisfy the predetermined occlusion threshold value, removing the mesh section from the model. 
   
     
     
         20 . 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 an occlusion reduction process, comprising configuring the system to:
 identify one or more points on a mesh section of a model; 
 cast a set of rays toward the one or more points on the mesh section of the model; 
 determine a number of rays of the set of rays that reach the one or more points without being occluded by a portion of the model or a portion of another object; 
 determine one or more occlusion values for the one or more points on the mesh section based on the number of rays of the set of rays that reach the one or more points without being occluded; 
 determine whether the one or more occlusion values for the one or more points satisfy a predetermined occlusion threshold value; 
 in response to determining that the one or more occlusion values satisfy the predetermined occlusion threshold value, remove the mesh section from the model; and 
 in response to determining that the one or more occlusion values fail to satisfy the predetermined occlusion threshold value, refrain from removing the mesh section from the model.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.