IP Library Granted Patent US 11,163,418
Granted Patent B2
US 11,163,418 · App. 16/915,703 · Granted Nov 2, 2021

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: FACEBOOK 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,163,418
App. No.
16/915,703
Granted
Nov 2, 2021
Kind
B2
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 (33)

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

one or more hardware processors configured by machine-readable instructions to:

obtain, from electronic storage, information regarding virtual objects in a virtual three-dimensional space that has a virtual three-dimensional volume, wherein the virtual objects include a first virtual object, wherein the virtual three-dimensional space includes a set of voxels, wherein individual voxels correspond to individual virtual three-dimensional volumes within the virtual three-dimensional space, wherein the individual voxels are associated with one or more individual distance values, wherein the one or more individual distance values represent distances from the individual voxels to surfaces within the virtual three-dimensional space;

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, wherein determination of the proximity information is based on aggregating a set of distance values for the determined subset of voxels, wherein a reduction in magnitude of the proximity information corresponds to a reduction in one or more distances between the first virtual object and one or more surfaces within the virtual three-dimensional space;

determine 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 within the virtual three-dimensional space, wherein the one or more manipulations include one or more of translation, rotation, and/or transformation, and wherein determination of the manipulation granularity is based on the proximity information such that the reduction in magnitude of the proximity information corresponds to an increase in the manipulation granularity;

receive particular user input from the user having a particular input magnitude, wherein the particular user input represents a request to manipulate the first virtual object within the virtual three-dimensional space;

manipulate the first virtual object within the virtual three-dimensional space in accordance with the received particular user input, wherein a particular output magnitude of the manipulation of the first virtual object as requested is based on the particular input magnitude and the determined manipulation granularity; and

effectuate presentation of the user interface to the user through a client computing platform, wherein the user interface depicts the manipulation of the first virtual object within the virtual three-dimensional space.

2. The system of claim 1 , wherein the environment is a virtual reality environment.

3. The system of claim 1 , wherein the environment is an augmented reality environment, wherein the presentation of the user interface to the user is accomplished by presenting views of the user interface superimposed over views of the real world such that both views are presented to the user simultaneously, wherein positions of one or more of the virtual objects are related to positions of one or more objects in the real world.

4. The system of claim 1 , wherein the manipulation granularity is represented by a ratio defined by the input magnitude of user input received from the user divided by the output magnitude of the one or more manipulations of the first virtual object within the virtual three-dimensional space.

5. The system of claim 1 , wherein the user input further represents a selection of the first virtual object from the virtual objects in the virtual three-dimensional space.

6. The system of claim 1 , wherein the set of voxels is a grid of voxels that form at least part of the virtual three-dimensional volume of the virtual three-dimensional space.

7. The system of claim 1 , wherein determining the proximity information for the first virtual object based on aggregating the set of distance values for the determined subset of voxels includes determining a minimum absolute distance in the set of distance values for the determined subset of voxels.

8. The system of claim 1 , wherein user interface is presented such that changes in color information are based on the proximity information.

9. The system of claim 1 , wherein the received user input corresponds to manual motion by the user.

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

obtaining, from electronic storage, information regarding virtual objects in a virtual three-dimensional space that has a virtual three-dimensional volume, wherein the virtual objects include a first virtual object, wherein the virtual three-dimensional space includes a set of voxels, wherein individual voxels correspond to individual virtual three-dimensional volumes within the virtual three-dimensional space, wherein the individual voxels are associated with one or more individual distance values, wherein the one or more individual distance values represent distances from the individual voxels to surfaces within the virtual three-dimensional space;

determining 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;

determining proximity information for the first virtual object, wherein determination of the proximity information is based on aggregating a set of distance values for the determined subset of voxels, wherein a reduction in magnitude of the proximity information corresponds to a reduction in one or more distances between the first virtual object and one or more surfaces within the virtual three-dimensional space;

determining 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 within the virtual three-dimensional space, wherein the one or more manipulations include one or more of translation, rotation, and/or transformation, and wherein determining the manipulation granularity is based on the proximity information such that the reduction in magnitude of the proximity information corresponds to an increase in the manipulation granularity;

receiving particular user input from the user having a particular input magnitude, wherein the particular user input represents a request to manipulate the first virtual object within the virtual three-dimensional space;

manipulating the first virtual object within the virtual three-dimensional space in accordance with the received particular user input, wherein a particular output magnitude of the manipulation of the first virtual object as requested is based on the particular input magnitude and the determined manipulation granularity; and

effectuating presentation of the user interface to the user through a client computing platform, wherein the user interface depicts the manipulation of the first virtual object within the virtual three-dimensional space.

11. The method of claim 10 , wherein the environment is a virtual reality environment.

12. The method of claim 10 , wherein the environment is an augmented reality environment, wherein the presentation of the user interface to the user is accomplished by presenting views of the user interface superimposed over views of the real world such that both views are presented to the user simultaneously, wherein positions of one or more of the virtual objects are related to positions of one or more objects in the real world.

13. The method of claim 10 , wherein the manipulation granularity is represented by a ratio defined by the input magnitude of user input received from the user divided by the output magnitude of the one or more manipulations of the first virtual object within the virtual three-dimensional space.

14. The method of claim 10 , wherein the user input further represents a selection of the first virtual object from the virtual objects in the virtual three-dimensional space.

15. The method of claim 10 , wherein the set of voxels is a grid of voxels that form at least part of the virtual three-dimensional volume of the virtual three-dimensional space.

16. The method of claim 10 , wherein determining the proximity information for the first virtual object based on aggregating the set of distance values for the determined subset of voxels includes determining a minimum absolute distance in the set of distance values for the determined subset of voxels.

17. The method of claim 10 , wherein user interface is presented such that changes in color information are based on the proximity information.

18. The method of claim 10 , wherein the received user input corresponds to manual motion by the user.

Assignments (4)
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 Jun 2, 2021
From: RPX CORPORATION
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 056777/0588 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2020
From: DAQRI, LLC
To: RPX CORPORATION
Reel/Frame 053362/0011 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2020
From: ZHOU, KAI; WAGNER, DANIEL
To: DAQRI, LLC
Reel/Frame 053078/0369 →
Continuity (2)
Continuation 16399376 · Apr 30, 2019
Related Publication 20200348820A1 · Nov 5, 2020
Cited By (1)
US 12,632,992