IP Library Granted Patent US 12699695
Granted Patent B2
US 12699695 · App. 18/591,706 · Granted Aug 4, 2026

Searching for and retrieving three-dimensional (3D) virtual objects

Inventors: Morgan Samuel McGuire (Waterloo, CA); Hsueh-Ti Derek Liu (Vancouver, CA); Victor B. Zordan (Riverside, CA)
Assignee: Roblox Corporation
G06F16/24534G06F16/248
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 12699695
App. No.
18/591,706
Filed
Feb 29, 2024
Granted
Aug 4, 2026
Kind
B2
Art Unit
2164
USPC
707/759
Abstract

Some implementations relate to methods, systems, and computer-readable media to search for and retrieve three-dimensional (3D) objects based on user queries. An exemplary method comprises receiving a first query for one or more 3D objects. At least one constraint is identified from the first query, wherein the at least one constraint includes a particular descriptor that specifies one or more aspects of matching 3D objects. A second query is generated comprising a set of descriptors comprising the particular descriptor. A search is then performed, using the second query, to search a data repository containing 3D content, to obtain one or more 3D object search results having features responsive to the first query. A response that includes one or more 3D object search results may then be outputted as a response to the first query.

Claims (79)

1 . A computer-implemented method comprising:

receiving a first query for one or more three-dimensional (3D) objects;

identifying at least one constraint from the first query, wherein the at least one constraint comprises a particular descriptor that specifies one or more aspects of matching 3D objects;

generating a second query comprising a set of descriptors identified by associating the first query with the one or more aspects of the matching 3D objects, the set of descriptors comprising the particular descriptor, wherein the one or more aspects specified by the particular descriptor include a region, wherein the region is a semantic region of a 3D object and the 3D object is divided into semantic regions associated with geometric node names during a preprocessing operation, wherein the geometric node names are used as semantic hints for fuzzy text matching to define the semantic regions, and wherein each descriptor in the set of descriptors comprises text;

performing a multidimensional search, using the second query, of a data repository comprising 3D content, to obtain one or more 3D object search results having features that correspond to the at least one constraint identified from the first query, wherein performing the multidimensional search comprises:

generating a plurality of 3D meshes by applying a text-to-3D artificial intelligence (AI) model to the text within respective descriptors from the set of descriptors; and

comparing the plurality of 3D meshes with representations of the 3D content in the data repository to identify the one or more 3D object search results based on shape similarities determined with spherical harmonic descriptors or silhouette similarities determined with sketch-based 3D search methods, the shape similarities or silhouette similarities being determined between at least one of the plurality of 3D meshes and the one or more 3D object search results by representing a global shape appearance, a local shape appearance, or a combination thereof of the plurality of 3D meshes as one or more fixed-size vectors by using machine learning (ML) techniques to encode at least one of the shape appearances using an image embedding model to transform images corresponding to the at least one of the shape appearances into a list of numbers, wherein the ML techniques include neural networks trained to represent similar images as similar numbers;

outputting a response to the first query that comprises the one or more 3D object search results; and

fine-tuning the one or more 3D object search results based on received weights to narrow down the one or more 3D object search results to a specific 3D model being sought by the first query.

2 . The computer-implemented method of claim 1 , wherein the identifying the at least one constraint from the first query comprises:

parsing the first query using a domain-specific parser to extract the particular descriptor; and

determining the one or more aspects specified in the particular descriptor.

3 . The computer-implemented method of claim 1 , wherein the one or more aspects specified in the particular descriptor further include one or more of geometry, material, articulation, animation, or at least one of physical models or simulation.

4 . The computer-implemented method of claim 1 , wherein the shape similarities are further determined using shape semantics with artificial intelligence (AI) recognition models.

5 . The computer-implemented method of claim 1 , further comprising:

calculating a fitness score of individual search results of the one or more 3D object search results by:

computing similarities, on an aspect-by-aspect basis, between features of the individual search results and the set of descriptors; and

obtaining the fitness score by summing the similarities computed between the features of the individual search results and the set of descriptors.

6 . The computer-implemented method of claim 1 , further comprising:

receiving input indicative of aspect weights of individual aspects of the one or more aspects; and

calculating a fitness score of a particular search result from the one or more 3D object search results by:

computing similarities, on an aspect-by-aspect basis, between features of the particular search result and the set of descriptors;

multiplying the similarities by the aspect weights of the individual aspects, providing multiplication products; and

obtaining the fitness score by summing the multiplication products.

7 . The computer-implemented method of claim 6 , wherein the outputting the response to the first query comprises:

ordering the one or more 3D object search results by the respective fitness scores, wherein the response comprises a subset of the one or more 3D object search results.

8 . The system of claim 7 , wherein the shape similarities are further determined using shape semantics with artificial intelligence (AI) recognition models.

9 . A system comprising:

a memory with instructions stored thereon; and

a processing device, coupled to the memory, the processing device configured to access the memory and execute the instructions, wherein the instructions cause the processing device to perform operations comprising:

receiving a first query for one or more three-dimensional (3D) objects;

identifying at least one constraint from the first query, wherein the at least one constraint comprises a particular descriptor that specifies one or more aspects of matching 3D objects;

generating a second query comprising a set of descriptors identified by associating the first query with the one or more aspects of the matching 3D objects, the set of descriptors comprising the particular descriptor, wherein the one or more aspects specified by the particular descriptor include a region, wherein the region is a semantic region of a 3D object and the 3D object is divided into semantic regions associated with geometric node names during a preprocessing operation, wherein the geometric node names are used as semantic hints for fuzzy text matching to define the semantic regions, and wherein each descriptor in the set of descriptors comprises text;

performing a multidimensional search, using the second query, of a data repository comprising 3D content, to obtain one or more 3D object search results having features that correspond to the at least one constraint identified from the first query, wherein performing the multidimensional search comprises:

generating a plurality of 3D meshes by applying a text-to-3D artificial intelligence (AI) model to the text within respective descriptors from the set of descriptors; and

comparing the plurality of 3D meshes with representations of the 3D content in the data repository to identify the one or more 3D object search results based on shape similarities determined with spherical harmonic descriptors or silhouette similarities determined with sketch-based 3D search methods, the shape similarities or silhouette similarities being determined between at least one of the plurality of 3D meshes and the one or more 3D object search results by representing a global shape appearance, a local shape appearance, or a combination thereof of the plurality of 3D meshes as one or more fixed-size vectors by using machine learning (ML) techniques to encode at least one of the shape appearances using an image embedding model to transform images corresponding to the at least one of the shape appearances into a list of numbers, wherein the ML techniques include neural networks trained to represent similar images as similar numbers;

outputting a response to the first query that comprises the one or more 3D object search results; and

fine-tuning the one or more 3D object search results based on received weights to narrow down the one or more 3D object search results to a specific 3D model being sought by the first query.

10 . The system of claim 9 , wherein identifying the at least one constraint from the first query comprises:

parsing the first query using a domain-specific parser to extract the particular descriptor; and

determining the one or more aspects specified by the particular descriptor.

11 . The system of claim 9 , wherein the instructions further cause the processing device to perform operations comprising:

calculating a fitness score of individual search results of the one or more 3D object search results by:

computing similarities, on an aspect-by-aspect basis, between features of the individual search results and the set of descriptors; and

obtaining the fitness score by summing the similarities computed between the features of the individual search results and the set of descriptors.

12 . The system of claim 9 , wherein the instructions further cause the processing device to perform operations comprising:

receiving input indicative of aspect weights of individual aspects of the one or more aspects; and

calculating a fitness score of a particular search result from the one or more 3D object search results by:

computing similarities, on an aspect-by-aspect basis, between features of the particular search result and the set of descriptors;

multiplying the similarities by the aspect weights of the individual aspects, providing multiplication products; and

obtaining the fitness score by summing the multiplication products.

13 . The system of claim 12 , wherein the outputting the response to the first query comprises:

ordering the one or more 3D object search results by the respective fitness scores, wherein the response comprises a subset of the one or more 3D object search results.

14 . The system of claim 9 , wherein the one or more aspects specified in the particular descriptor further include one or more of geometry, material, articulation, animation, or at least one of physical models or simulation.

15 . A non-transitory computer-readable medium with instructions stored thereon that, responsive to execution by a processing device, cause the processing device to perform operations comprising:

receiving a first query for one or more three-dimensional (3D) objects;

identifying at least one constraint from the first query, wherein the at least one constraint comprises a particular descriptor that specifies one or more aspects of matching 3D objects;

generating a second query comprising a set of descriptors identified by associating the first query with the one or more aspects of the matching 3D objects, the set of descriptors comprising the particular descriptor, wherein the one or more aspects specified by the particular descriptor include a region, wherein the region is a semantic region of a 3D object and the 3D object is divided into semantic regions associated with geometric node names during a preprocessing operation, wherein the geometric node names are used as semantic hints for fuzzy text matching to define the semantic regions, and wherein each descriptor in the set of descriptors comprises text;

performing a multidimensional search, using the second query, of a data repository comprising 3D content, to obtain one or more 3D object search results having features that correspond to the at least one constraint identified from the first query, wherein performing the multidimensional search comprises:

generating a plurality of 3D meshes by applying a text-to-3D artificial intelligence (AI) model to the text within respective descriptors from the set of descriptors; and

comparing the plurality of 3D meshes with representations of the 3D content in the data repository to identify the one or more 3D object search results based on shape similarities determined with spherical harmonic descriptors or silhouette similarities determined with sketch-based 3D search methods, the shape similarities or silhouette similarities being determined between at least one of the plurality of 3D meshes and the one or more 3D object search results by representing a global shape appearance, a local shape appearance, or a combination thereof of the plurality of 3D meshes as one or more fixed-size vectors by using machine learning (ML) techniques to encode at least one of the shape appearances using an image embedding model to transform images corresponding to the at least one of the shape appearances into a list of numbers, wherein the ML techniques include neural networks trained to represent similar images as similar numbers;

outputting a response to the first query that comprises the one or more 3D object search results; and

fine-tuning the one or more 3D object search results based on received weights to narrow down the one or more 3D object search results to a specific 3D model being sought by the first query.

16 . The non-transitory computer-readable medium of claim 15 , wherein the identifying the at least one constraint from the first query comprises:

parsing the first query using a domain-specific parser to extract the particular descriptor; and

determining the one or more aspects specified in the particular descriptor.

17 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprises:

calculating a fitness score of individual search results of the one or more 3D object search results by:

computing similarities, on an aspect-by-aspect basis, between features of the individual search results and the set of descriptors; and

obtaining the fitness score by summing the similarities computed between the features of the individual search results and the set of descriptors.

18 . The non-transitory computer-readable medium of claim 15 , wherein the operations further comprises:

receiving input indicative of aspect weights of individual aspects of the one or more aspects; and

calculating a fitness score of a particular search result from the one or more 3D object search results by:

computing similarities, on an aspect-by-aspect basis, between features of the particular search result and the set of descriptors;

multiplying the similarities by the aspect weights of the individual aspects, providing multiplication products; and

obtaining the fitness score by summing the multiplication products.

19 . The non-transitory computer-readable medium of claim 18 , wherein the outputting the response to the first query comprises:

ordering the one or more 3D object search results by the respective fitness scores, wherein the response comprises a subset of the one or more 3D object search results.

20 . The non-transitory computer-readable medium of claim 15 , wherein the shape similarities are further determined using shape semantics with artificial intelligence (AI) recognition models.