IP Library Granted Patent US 11,789,524
Granted Patent B2
US 11,789,524 · App. 17/547,773 · Granted Oct 17, 2023

Rendering location specific virtual content in any location

Inventors: Jonathan Brodsky (Fort Lauderdale, FL); Javier Antonio Busto (Plantation, FL); Martin Wilkins Smith (Fort Lauderdale, FL)
Assignee: Magic Leap, Inc.
G06F3/011G02B27/017G06T19/003G06T19/006G06V10/764G06V10/82G06V20/20G06F3/04815
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,789,524
App. No.
17/547,773
Filed
Dec 10, 2021
Granted
Oct 17, 2023
Kind
B2
Art Unit
2616
USPC
345/419
Abstract

Augmented reality systems and methods for creating, saving and rendering designs comprising multiple items of virtual content in a three-dimensional (3D) environment of a user. The designs may be saved as a scene, which is built by a user from pre-built sub-components, built components, and/or previously saved scenes. Location information, expressed as a saved scene anchor and position relative to the saved scene anchor for each item of virtual content, may also be saved. Upon opening the scene, the saved scene anchor node may be correlated to a location within the mixed reality environment of the user for whom the scene is opened. The virtual items of the scene may be positioned with the same relationship to that location as they have to the saved scene anchor node. That location may be selected automatically and/or by user input.

Claims (95)

1. A method of operating a mixed reality system, comprising, with at least one processor:

receive input from the user selecting a saved scene in a saved scene library, wherein the saved scene comprises virtual content and position information indicating position of the virtual content, relative to a saved scene anchor node, in a first coordinate frame representing a first location in the physical world;

determine that the input from the user selecting the saved scene was received at a second location different from the first location, the determining comprising:

determining a second coordinate frame based on a current environment of the user;

comparing the second coordinate frame to the first coordinate frame representing the first location; and

determining that the second coordinate frame is different from the first coordinate frame when it is determined that the second coordinate frame does not match the first coordinate frame;

in response to determining that the input from the user selecting the saved scene was received at the second location different from the first location:

determine a location for the saved scene anchor node relative to the second location; and

control the display to render the virtual content relative to the determined location for the saved scene anchor node.

2. The method of claim 1 , further comprising, with the at least one processor:

determine that the input from the user selecting the saved scene was received at the first location; and

control the display to render the virtual content relative to the first location for the saved scene anchor node.

3. The method of claim 1 , wherein:

the mixed reality system identifies one or more coordinate frames based on objects in the physical world; and

the method further comprises, with the at least one processor, placing the saved scene anchor node at one of the one or more identified coordinate frames.

4. The method of claim 1 , further comprising, with the at least one processor, retrieve the virtual content from a remote server via a network interface.

5. The method of claim 1 , further comprising, with the at least one processor, control the display to render a menu comprising a plurality of icons representing saved scenes in the saved scene library; and

wherein receiving input from the user selecting the saved scene comprises user selection of an icon of the plurality of icons.

6. The method of claim 1 , further comprising, with the at least one processor, render a virtual user interface; and

wherein receiving input from the user comprises receiving user input via the virtual user interface.

7. The method of claim 1 , further comprising, with the at least one processor, render a virtual user interface comprising a menu of a plurality of icons representing saved scenes in the saved scene library; and

wherein receiving input from the user selecting a saved scene in a saved scene library comprises receiving user input via the virtual user interface, wherein the user input selects and moves an icon in the menu.

8. The method of claim 1 , wherein:

the first coordinate frame comprises one or more feature points in the physical world at the first location and the second coordinate frame comprises one or more feature points in the current environment of the user; and

comparing the second coordinate frame to the first coordinate frame comprises determining whether the one or more feature points of the first coordinate frame represent a same location in the physical world as the one or more feature points of the second coordinate frame.

9. The method of claim 1 , further comprising:

in response to determining that the input from the user selecting the saved scene was received at the second location different from the first location:

render a preview of the virtual content at a default location.

10. The method of claim 1 , further comprising:

generating, in the display, a menu including:

a first section for indicating saved scenes matching the second coordinate frame; and

a second section for indicating saved scenes that do not match the second coordinate frame, the second section including the saved scene; and

receiving the input from the user through the menu.

11. A mixed reality system, comprising:

a display;

at least one sensor configured to acquire information about an environment of the mixed reality system;

at least one processor:

a non-transitory computer readable medium encoded with computer-executable instructions that, when executed by the at least one processor:

receive input from a user selecting a saved scene in a saved scene library, wherein the saved scene comprises:

virtual content and position information indicating position of the virtual content relative to a saved scene anchor node at a first location in the physical world; and

a first collection of one or more points in the physical world representing the first location in the physical world;

determine that the input from the user selecting the saved scene was received at a second location different from the first location, the determining comprising:

obtaining data from the at least one sensor; and

determining, using the data from the at least one sensor, a second collection of one or more points in the physical world representing a current location of the user in the physical world;

comparing the first collection of one or more points representing the first location to the second collection of one or more points representing the current location of the user; and

determining that the input from the user selecting the saved scene was received at the second location different from the first location when it is determined that the first collection of one or more points is different from the second collection of one or more points;

in response to determining that the input from the user selecting the saved scene was received at the second location different from the first location:

determine a location for the saved scene anchor node relative to the second location; and

control the display to render the virtual content relative to the determined location for the saved scene anchor node.

12. The mixed reality system of claim 11 , wherein the computer-executable instructions are further configured to:

determine that the input from the user selecting the saved scene was received at the first location; and

control the display to render the virtual content relative to the first location for the saved scene anchor node.

13. The mixed reality system of claim 11 , wherein:

the computer-executable instructions are further configured to:

identify one or more coordinate frames based on the acquired information about the environment of the mixed reality system; and

place the saved scene anchor node at one of the one or more identified coordinate frames.

14. The mixed reality system of claim 11 , wherein:

the system comprises a network interface; and

the computer-executable instructions are configured to retrieve the virtual content from a remote server via the network interface.

15. The mixed reality system of claim 11 , wherein:

the system comprises a network interface; and

the computer-executable instructions are configured to control the display to render a menu comprising a plurality of icons representing saved scenes in the saved scene library; and

receiving input from the user selecting the saved scene comprises user selection of an icon of the plurality of icons.

16. The mixed reality system of claim 11 , wherein:

the computer-executable instructions are further configured to, when executed by the at least one processor, render a virtual user interface; and

the computer-executable instructions configured to receive input from the user are configured to receive user input via the virtual user interface.

17. The mixed reality system of claim 11 , wherein:

the computer-executable instructions are further configured to, when executed by the at least one processor, render a virtual user interface comprising a menu of a plurality of icons representing saved scenes in the saved scene library; and

receiving input from the user selecting a saved scene in a saved scene library comprises receiving user input via the virtual user interface, wherein the user input selects and moves an icon in the menu.

18. A non-transitory computer readable medium encoded with computer-executable instructions that, when executed by at least one processor, perform a method of operating a mixed reality system, comprising, with the at least one processor:

receive input from the user selecting a saved scene in a saved scene library, wherein the saved scene comprises:

virtual content and position information indicating position of the virtual content relative to a saved scene anchor node at a first location in the physical world; and

a saved three-dimensional (3D) mesh representing the first location in the physical world, the saved 3D mesh generated from a depth map of the first location;

determine that the input from the user selecting the saved scene was received at a second location different from the first location, the determining comprising:

accessing the saved 3D mesh representing the saved scene; and

determining that the saved 3D mesh is different from a 3D mesh generated from a depth map of a current environment of the user in the physical world;

in response to determining that the input from the user selecting the saved scene was received at the second location different from the first location:

determine a location for the saved scene anchor node relative to the second location; and

control the display to render the virtual content relative to the determined location for the saved scene anchor node.

19. The non-transitory computer readable medium of claim 18 , wherein the computer-executable instructions are further configured to:

determine that the input from the user selecting the saved scene was received at the first location; and

control the display to render the virtual content relative to the first location for the saved scene anchor node.

20. The non-transitory computer readable medium of claim 18 , wherein the method further comprises

determining one or more coordinate frames based on the acquired information about the environment of the mixed reality system; and

placing the saved scene anchor node at one of the one or more identified coordinate frames.

21. The non-transitory computer readable medium of claim 18 , wherein:

the system comprises a network interface; and

the computer-executable instructions are configured to control the display to render a menu comprising a plurality of icons representing saved scenes in the saved scene library; and

receiving input from the user selecting the saved scene comprises user selection of an icon of the plurality of icons.

22. The non-transitory computer readable medium of claim 18 , wherein:

the computer-executable instructions are further configured to, when executed by the at least one processor, render a virtual user interface; and

the computer-executable instructions configured to receive input from the user are configured to receive user input via the virtual user interface.

23. The non-transitory computer readable medium of claim 18 , wherein:

the computer-executable instructions are further configured to, when executed by the at least one processor, render a virtual user interface comprising a menu of a plurality of icons representing saved scenes in the saved scene library; and

receiving input from the user selecting a saved scene in a saved scene library comprises receiving user input via the virtual user interface, wherein the user input selects and moves an icon in the menu.

Assignments (3)
SECURITY INTEREST Recorded Oct 20, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073031/0206 →
SECURITY INTEREST Recorded May 24, 2022
From: MOLECULAR IMPRINTS, INC.; MENTOR ACQUISITION ONE, LLC; MAGIC LEAP, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 060338/0665 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 18, 2022
From: BRODSKY, JONATHAN; BUSTO, JAVIER ANTONIO; SMITH, MARTIN WILKINS
To: MAGIC LEAP, INC.
Reel/Frame 059048/0570 →