IP Library Granted Patent US 11,768,577
Granted Patent B1
US 11,768,577 · App. 17/496,009 · Granted Sep 26, 2023

Systems and methods for providing a user interface for an environment that includes virtual objects

Inventors: Kai Zhou (Wr. Neudorf, AT); Daniel Wagner (Vienna, AT)
Assignee: Meta Platforms Technologies, LLC
G06F3/04815G06T15/08G06T19/006G06T19/20G06T2219/2012G06T2219/2016
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,768,577
App. No.
17/496,009
Granted
Sep 26, 2023
Kind
B1
Abstract

Systems and methods for providing and/or presenting, to a user, a user interface for an environment that includes virtual objects are disclosed. Exemplary implementations may: obtain, from electronic storage, information regarding virtual objects in a virtual three-dimensional space that has a virtual three-dimensional volume; determine a subset of voxels from the set of voxels such that the subset of voxels encompasses a three-dimensional volume that includes at least part of a first external surface of the first virtual object; determine proximity information for the first virtual object; determine a manipulation granularity; adjust the manipulation granularity based on the proximity information; receive particular user input from the user having a particular input magnitude; manipulate the first virtual object within the virtual three-dimensional space in accordance with the received particular user input; and effectuate presentation of the user interface to the user through a client computing platform.

Claims (39)

1. A system configured for providing, to a user, a user interface for an environment that comprises virtual objects, the system comprising:

memory; and

one or more hardware processors configured by machine-readable instructions stored in the memory to:

obtain, from electronic storage, using a virtual information component, information regarding the virtual objects, wherein a virtual three-dimensional (3D) space comprising the virtual objects further comprises a set of voxels, wherein individual voxels of the set of voxels correspond to individual virtual 3D volumes;

determine, using a subset determination component, a subset of voxels from the set of voxels such that the subset of voxels encompasses a 3D volume that comprises at least a part of a first external surface of a first virtual object of the virtual objects;

determine, using a manipulation granularity component, a manipulation granularity, wherein the manipulation granularity correlates an input magnitude of user input received from the user to an output magnitude of one or more manipulations of the first virtual object, wherein a granularity adjustment component is configured to adjust the manipulation granularity such that a reduction in magnitude of proximity information of the first virtual object corresponds to an increase in the manipulation granularity; and

effectuate, using a presentation component, presentation of the user interface to the user through a client computing platform, wherein the user interface depicts a manipulation of the first virtual object within the virtual 3D space.

2. The system of claim 1 , wherein the environment is at least a virtual reality (VR) environment or an augmented reality environment (AR).

3. The system of claim 1 , wherein a user input component receives the user input from the user, wherein the user input represents a selection of the first virtual object from the virtual objects in the virtual 3D space, and wherein the user input comprises manual motion by the user.

4. The system of claim 1 , wherein a proximity component is configured to determine the proximity information for the first virtual object or proximity information for other virtual objects including, but not limited to, user-selected objects.

5. A method for providing, to a user, a user interface for an environment that comprises virtual objects, the method comprising:

obtaining, by a system coupled to one or more hardware processors, from electronic storage, information regarding virtual objects, wherein a virtual 3D space comprising the virtual objects further comprises a set of voxels, wherein individual voxels of the set of voxels correspond to individual virtual 3D volumes;

determining, by the system, a subset of voxels from the set of voxels such that the subset of voxels encompasses a 3D volume that comprises at least a part of a first external surface of a first virtual object of the virtual objects;

determining, by the system, a manipulation granularity, wherein the manipulation granularity correlates an input magnitude of user input received from the user to an output magnitude of one or more manipulations of the first virtual object;

adjusting, by the system, the manipulation granularity such that a reduction in magnitude of proximity information of the first virtual object corresponds to an increase in the manipulation granularity; and

effectuating, by the system, presentation of the user interface to the user through a client computing platform, wherein the user interface depicts a manipulation of the first virtual object within the virtual 3D space.

6. The method of claim 5 , wherein the environment is at least a virtual reality (VR) environment or an augmented reality environment (AR).

7. The method of claim 5 , further comprising:

receiving, by the system, the user input from the user, wherein the user input represents a selection of the first virtual object from the virtual objects in the virtual 3D space, and wherein the user input comprises manual motion by the user.

8. The method of claim 5 , further comprising:

aggregating, by the system, one or more distance values between the first virtual object and one or more real or virtual surfaces of a virtual 3D volume.

9. The system of claim 1 , wherein the one or more manipulations comprise at least one of translation, rotation, scaling, or a combination thereof, of the first virtual object, and wherein the one or more manipulations are executed by an object manipulation component.

10. The system of claim 4 , wherein determination of the proximity information comprises aggregating one or more distance values between the first virtual object and one or more real or virtual surfaces of a virtual 3D volume.

11. The system of claim 1 , wherein the subset determination component is further configured to determine a 3D bounding box that fully encompasses the first virtual object.

12. The system of claim 11 , wherein the subset determination component is further configured to determine the subset of voxels such that the 3D volume of the subset of voxels approximates or matches a 3D volume of the 3D bounding box.

13. The method of claim 5 , wherein the one or more manipulations comprise at least one of translation, rotation, scaling, or a combination thereof, of the first virtual object.

14. The method of claim 5 , further comprising:

determining, by the system, the proximity information for the first virtual object or proximity information for other virtual objects including, but not limited to, user-selected objects.

15. A non-transitory machine-readable medium comprising instructions that, when executed by one or more hardware processors of a machine, cause the machine to perform operations comprising:

obtain, by the one or more hardware processors, from electronic storage, information regarding virtual objects, wherein a virtual three-dimensional (3D) space comprising the virtual objects further comprises a set of voxels, wherein individual voxels of the set of voxels correspond to individual virtual 3D volumes;

determine, by the one or more hardware processors, a subset of voxels from the set of voxels such that the subset of voxels encompasses a 3D volume that comprises at least a part of a first external surface of a first virtual object of the virtual objects;

determine, by the one or more hardware processors, a manipulation granularity, wherein the manipulation granularity correlates an input magnitude of user input received from a user to an output magnitude of one or more manipulations of the first virtual object;

adjust, by the one or more hardware processors, the manipulation granularity such that a reduction in magnitude of proximity information of the first virtual object corresponds to an increase in the manipulation granularity; and

effectuate, by the one or more hardware processors, presentation of a user interface to the user through a client computing platform, wherein the user interface depicts a manipulation of the first virtual object within the virtual 3D space.

16. The non-transitory machine-readable medium of claim 15 , wherein the instructions are further executable to cause the one or more hardware processors to:

receive, by the one or more hardware processors, the user input from the user, wherein the user input represents a selection of the first virtual object from the virtual objects in the virtual 3D space, and wherein the user input comprises manual motion by the user.

17. The non-transitory machine-readable medium of claim 15 , wherein the instructions are further executable to cause the one or more hardware processors to:

determine, by the one or more hardware processors, the proximity information for the first virtual object or proximity information for other virtual objects including, but not limited to, user-selected objects; and

aggregate, by the one or more hardware processors, one or more distance values between the first virtual object and one or more real or virtual surfaces of a virtual 3D volume.

Assignments (2)
CHANGE OF NAME Recorded Aug 3, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060936/0494 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2021
From: RPX CORPORATION
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 058523/0151 →
Continuity (2)
Continuation 16915703 · Jun 29, 2020
Continuation 16399376 · Apr 30, 2019