IP Library Granted Patent US 10,698,562
Granted Patent B1
US 10,698,562 · App. 16/399,376 · Granted Jun 30, 2020

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: DAQRI, 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 10,698,562
App. No.
16/399,376
Filed
Apr 30, 2019
Granted
Jun 30, 2020
Kind
B1
Examiner
GRAY, RYAN M
Art Unit
2611
USPC
345/424
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 (37)

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

adjust the manipulation granularity based on the proximity information, wherein adjustment of the manipulation granularity is performed 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 adjusted 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, wherein the manipulation granularity prior to the adjustment is smaller than the manipulation granularity subsequent to the adjustment.

5. The system of claim 1 , wherein prior to adjustment of the manipulation granularity, the manipulation of the first virtual object is based on a first correlation of a first input magnitude of user input received from the user to a first output magnitude of one or more manipulations of the first virtual object within the virtual three-dimensional space, wherein subsequent to the adjustment of the manipulation granularity, the manipulation of the first virtual object is based on a second correlation of a second input magnitude of user input received from the user to a second output magnitude of one or more manipulations of the first virtual object within the virtual three-dimensional space, and wherein a first correlation is different from the second correlation.

6. 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.

7. 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.

8. 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.

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

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

11. 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 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;

adjusting the manipulation granularity based on the proximity information, wherein adjustment of the manipulation granularity is performed 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 adjusted 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.

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

13. The method of claim 11 , 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.

14. The method of claim 11 , 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, wherein the manipulation granularity prior to the adjustment is smaller than the manipulation granularity subsequent to the adjustment.

15. The method of claim 11 , wherein prior to adjustment of the manipulation granularity, the manipulation of the first virtual object is based on a first correlation of a first input magnitude of user input received from the user to a first output magnitude of one or more manipulations of the first virtual object within the virtual three-dimensional space, wherein subsequent to the adjustment of the manipulation granularity, the manipulation of the first virtual object is based on a second correlation of a second input magnitude of user input received from the user to a second output magnitude of one or more manipulations of the first virtual object within the virtual three-dimensional space, and wherein the first correlation is different from the second correlation.

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

17. The method of claim 11 , 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.

18. The method of claim 11 , 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.

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

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

Assignments (10)
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 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
PATENT SECURITY AGREEMENT Recorded Aug 14, 2020
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 053498/0095 →
RELEASE OF SECURITY INTEREST Recorded Aug 14, 2020
From: AR HOLDINGS I, LLC
To: DAQRI, LLC
Reel/Frame 053498/0580 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 5, 2020
From: DAQRI, LLC
To: RPX CORPORATION
Reel/Frame 053413/0642 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2020
From: DAQRI, LLC
To: RPX CORPORATION
Reel/Frame 053355/0165 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2019
From: ZHOU, KAI; WAGNER, DANIEL
To: DAQRI, LLC
Reel/Frame 049038/0410 →
Cited By (23)
US 12,298,987 US 12,461,641 US 12,511,847 US 12,524,142 US 12,524,956 US 12,524,977 US 12,535,931 US 12,536,762 US 12,541,280 US 12,566,532 US 12,596,472 US 12,608,115 US 12,608,877 US 12,608,890 US 12,625,608 US 12,632,157 US 12,632,170 US 12,633,044 US 12,663,875 US 12,663,907 US 12,675,958 US 12,687,922 US 12,688,660