IP Library Granted Patent US 11,176,755
Granted Patent B1
US 11,176,755 · App. 17/008,478 · Granted Nov 16, 2021

Artificial reality augments and surfaces

Inventors: James Tichenor (Seattle, WA); Arthur Zwiegincew (Medina, WA); Hayden Schoen (Tacoma, WA); Alex Marcolina (Fremont, CA); Gregory Alt (Seattle, WA); Todd Harris (Woodinville, WA); Merlyn Deng (Palo Alto, CA); Barrett Fox (Berkeley, CA); Michal Hlavac (Seattle, WA)
G06T19/006G06F3/013G06T19/20G06T2200/24G06T2219/2004G06T2219/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,176,755
App. No.
17/008,478
Filed
Aug 31, 2020
Granted
Nov 16, 2021
Kind
B1
Examiner
WU, CHONG
Art Unit
2613
USPC
345/633
Abstract

Aspects of the present disclosure are directed to providing an artificial reality environment with augments and surfaces. An “augment” is a virtual container in 3D space that can include presentation data, context, and logic. An artificial reality system can use augments as the fundamental building block for displaying 2D and 3D models in the artificial reality environment. For example, augments can represent people, places, and things in an artificial reality environment and can respond to a context such as a current display mode, time of day, a type of surface the augment is on, a relationship to other augments, etc. Augments can be on a “surface” that has a layout and properties that cause augments on that surface to display in different ways. Augments and other objects (real or virtual) can also interact, where these interactions can be controlled by rules for the objects evaluated based on information from the shell.

Claims (70)

1. A method for generating virtual containers for an artificial reality environment, the method comprising:

receiving a request for a virtual container, wherein the request is associated with a manifest specifying one or more parameters for the virtual container;

creating a data structure, for the virtual container, by performing a first part of an initialization procedure, for the data structure, including setting one or more properties based on the parameters specified in the manifest, wherein the virtual container includes context-responsive display modes and context-responsive logic;

providing, in response to the request, a handle to the data structure that enables positioning of the virtual container in the artificial reality environment; and

performing a second part of the initialization procedure, wherein the second part of the initialization procedure is performed while the handle is being used to position the virtual container in the artificial reality environment.

2. The method of claim 1 ,

wherein the virtual container, subsequent to the initialization procedure, receives one or more context factors; and

wherein:

the virtual container enables one of the context-responsive display modes in response to evaluating a corresponding condition that takes the one or more context factors; or

the virtual container invokes at least a part of the context-responsive logic in response to evaluating a corresponding condition that takes the one or more context factors.

3. The method of claim 1 ,

wherein the handle further enables adding content items to the virtual container; and

wherein one or more content items are added to the virtual container, using the handle, while the second part of the initialization procedure is performed.

4. The method of claim 1 , wherein the second part of the initialization procedure includes registering the virtual container to receive context factors.

5. The method of claim 1 , wherein the second part of the initialization procedure includes:

identifying context factors the virtual container should receive by determining which context factors are used in conditions corresponding to one or more of the context-responsive display modes or portions of the context-responsive logic; and

registering the virtual container to receive the identified context factors.

6. The method of claim 1 , wherein the parameters for the virtual container specified in the manifest include at least:

one of the context-responsive display modes; and

one or more of: a virtual container type, a container shape, a spatial orientation, a location in the artificial reality environment, location types eligible for the placement of the virtual container, or any combination thereof.

7. The method of claim 1 , wherein the request was generated as a result of a user performing an interaction with a content item, that is in another previously-created virtual container and that is associated with another manifest, wherein the interaction was previously defined to signal creating a new virtual container based on the content item.

8. The method of claim 1 ,

wherein the request is further associated with an indication of a gaze direction of a user; and

wherein the virtual container is initially placed in the artificial reality environment based on the gaze direction of the user.

9. The method of claim 1 ,

wherein the virtual container receives a context factor specifying a value for a current mode of an artificial reality system;

wherein one of the context-responsive display modes corresponds to a condition that evaluates to true when provided with the value for the current mode of the artificial reality system;

wherein the virtual container enables the one of the context-responsive display modes in response to evaluating the corresponding condition to true; and

wherein the enablement of the one of the context-responsive display modes causes the virtual container to be set to a maximum size and moved to a particular location corresponding to the current mode of the artificial reality system.

10. The method of claim 1 ,

wherein the virtual container receives a context factor specifying a value for a current mode of an artificial reality system;

wherein one of the context-responsive display modes corresponds to a condition that evaluates to true when provided with the value for the current mode of the artificial reality system; and

wherein the virtual container enables the one of the context-responsive display modes in response to evaluating the corresponding condition to true.

11. The method of claim 1 ,

wherein one or more extension context-responsive display modes are extensions of others of the context-responsive display modes;

wherein each of the one or more extension context-responsive display modes refers to another of the context-responsive display modes; and

wherein a condition for enabling a particular extension context-responsive display mode is that a condition, associated with the context-responsive display mode referred to by the particular extension context-responsive display mode, evaluating to true.

12. The method of claim 1 , wherein at least one of the context-responsive display modes is added to the data structure by creating the data structure for one of a pre-defined type of virtual container, specified in the request, wherein each data structure of the pre-defined type is configured to include the at least one of the context-responsive display modes.

13. The method of claim 1 ,

wherein the data structure is created for a type of virtual container, specified in the request; and

wherein the method further comprises automatically adding one or more content items to the virtual container based on pre-defined rules for adding content items to virtual containers of the specified type.

14. A computing system for generating virtual containers for an artificial reality environment, the system comprising:

one or more processors; and

one or more memories storing instructions that, when executed by the one or more processors, cause the computing system to perform a process comprising:

receiving a request for a virtual container, wherein the request is associated with a manifest specifying one or more parameters for the virtual container;

creating a data structure, for the virtual container, by performing a first part of an initialization procedure, for the data structure, based on the manifest;

providing, in response to the request, a handle to the data structure that enables adding content items to the virtual container; and

performing a second part of the initialization procedure, wherein the second part of the initialization procedure is performed while the handle is being used to add one or more content items to the virtual container.

15. The computing system of claim 14 ,

wherein the virtual container receives one or more context factors; and

wherein:

the virtual container enables a context-responsive display mode in response to evaluating a corresponding condition that takes the one or more context factors; or

the virtual container invokes context-responsive logic in response to evaluating a corresponding condition that takes the one or more context factors.

16. The computing system of claim 14 ,

wherein the initialization procedure includes setting properties in the data structure, based on the manifest, including at least:

a context-responsive display mode; and

one or both of a container shape and location types eligible for the placement of the virtual container.

17. The computing system of claim 14 , wherein the request was generated as a result of a user performing an interaction with a content item, that is in another previously-created virtual container and that is associated with another manifest, wherein the interaction was previously established to signal creating a new virtual container based on the content item.

18. The computing system of claim 14 ,

wherein the virtual container receives a context factor specifying a value for a current mode of an artificial reality system;

wherein a context-responsive display mode included in the data structure corresponds to a condition that evaluates to true when provided with the value for the current mode of the artificial reality system; and

wherein the virtual container enables the context-responsive display mode in response to evaluating the corresponding condition as true.

19. The computing system of claim 14 ,

wherein the data structure is created for a type of virtual container, specified in the request; and

wherein the process further comprises automatically adding one or more content items to the virtual container based on rules for adding content items to virtual containers of the specified type.

20. A non-transitory computer-readable storage medium storing instructions that, when executed by a computing system, cause the computing system to perform a process for generating one or more virtual containers for an artificial reality environment, the process comprising:

receiving a request for a virtual container, wherein the request is associated with a manifest specifying one or more parameters for the virtual container;

creating a data structure, for the virtual container, by performing a first part of an initialization procedure, for the data structure, based on the manifest;

providing, in response to the request, a handle to the data structure that enables adding content items to the virtual container and/or positioning of the virtual container in the artificial reality environment; and

performing a second part of the initialization procedure, wherein the second part of the initialization procedure is performed while the handle is being used to add one or more content items to the virtual container and/or to position the virtual container in the artificial reality environment.

Assignments (2)
CHANGE OF NAME Recorded Jun 15, 2022
From: FACEBOOK TECHNOLOGIES, LLC
To: META PLATFORMS TECHNOLOGIES, LLC
Reel/Frame 060386/0364 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2021
From: TICHENOR, JAMES; ZWIEGINCEW, ARTHUR; SCHOEN, HAYDEN; MARCOLINA, ALEX; ALT, GREGORY; HARRIS, TODD; DENG, MERLYN; FOX, BARRETT; HLAVAC, MICHAL
To: FACEBOOK TECHNOLOGIES, LLC
Reel/Frame 056045/0083 →
Cited By (46)
US 12,197,634 US 12,254,581 US 12,272,012 US 12,307,614 US 12,321,515 US 12,321,659 US 12,374,050 US 12,443,273 US 12,444,152 US 12,456,271 US 12,461,641 US 12,469,310 US 12,475,635 US 12,511,847 US 12,524,142 US 12,524,956 US 12,524,977 US 12,535,931 US 12,541,280 US 12,547,237 US 12,547,432 US 12,548,245 US 12,561,924 US 12,566,532 US 12,572,253 US 12,596,472 US 12,602,865 US 12,608,115 US 12,608,877 US 12,608,890 US 12,613,938 US 12,620,187 US 12,625,608 US 12,632,157 US 12,632,170 US 12,633,044 US 12,633,068 US 12,656,931 US 12,663,875 US 12,663,907 US 12,670,001 US 12,675,958 US 12,681,561 US 12,681,587 US 12,687,922 US 12,688,660