IP Library › Granted Patent US 11,727,650
Granted Patent B2
US 11,727,650 · App. 17/202,233 · Granted Aug 15, 2023

Systems, methods, and graphical user interfaces for displaying and manipulating virtual objects in augmented reality environments

Inventors: Nicolas V. Scapel (London, GB); Kyle E. Fisher (Sunnyvale, CA); Patrick W. O'Keefe (Mountain View, CA); Grant R. Paul (San Francisco, CA)
Assignee: APPLE INC.
G06T19/006G06F3/04815G06T7/70
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,727,650
App. No.
17/202,233
Granted
Aug 15, 2023
Kind
B2
Abstract

A computer system displays a representation of a camera field of view and receives one or more inputs corresponding to a request to display the representation of the field of view based on a physical object at a first pose, a virtual object at a simulated second pose, and the one or more cameras at a third pose in a physical environment. In response, if a first portion of the virtual object corresponds to physical space that is occluded by the physical object, the system: displays the representation of the physical object; forgoes displaying the first portion of the virtual object; and, if a second portion of the virtual object corresponds to physical space that is not occluded, displays the second portion, including visually deemphasizing a displayed first region of the second portion relative to a displayed second region of the second portion of the virtual object.

Claims (96)

1. A method, comprising:

at a computer system having a display generation component and one or more cameras:

displaying, via the display generation component, a representation of a field of view of the one or more cameras, wherein the field of view includes a physical object in a physical environment, and the representation of the field of view of the one or more cameras includes a representation of the physical object;

receiving one or more inputs corresponding to a request to display the representation of the field of view with the physical object at a first pose in the physical environment, a virtual object at a simulated second pose in the physical environment, and the one or more cameras at a third pose in the physical environment; and

in response to receiving the one or more inputs:

in accordance with a determination that a first portion of the virtual object corresponds to physical space in the physical environment that is occluded by the physical object in the physical environment:

displaying the representation of the physical object;

forgoing displaying the first portion of the virtual object; and

in accordance with a determination that a second portion of the virtual object corresponds to physical space in the physical environment that is not occluded:

 displaying the second portion of the virtual object, including visually deemphasizing a displayed first region of the second portion of the virtual object relative to a displayed second region of the second portion of the virtual object;

wherein:

the first portion of the virtual object corresponds to physical space in the physical environment that is occluded by the physical object in the physical environment, and the second portion of the virtual object corresponds to physical space in the physical environment that is not occluded;

a first set of environmental conditions are present in the physical environment; and

the method further includes:

detecting a change to a second set of environmental conditions in the physical environment; and

while the second set of environmental conditions are present in the physical environment, the physical object is at the first pose in the physical environment, the virtual object is at the simulated second pose in the physical environment, and the one or more cameras are at the third pose in the physical environment:

displaying the representation of the physical object;

forgoing displaying the first portion of the virtual object; and

displaying a third portion of the virtual object, different from the second portion, including visually deemphasizing a displayed first region of the third portion of the virtual object relative to a displayed second region of the third portion of the virtual object, wherein visually deemphasizing the displayed first region of the third portion of the virtual object is in accordance with the change to the second set of environmental conditions in the physical environment.

2. The method of claim 1 , including forgoing displaying a respective portion of the virtual object that corresponds to physical space in the physical environment that extends a threshold distance from a boundary of the physical object in the representation of the field of view.

3. The method of claim 2 , wherein the threshold distance from the physical object that is used to determine how much of the virtual object is not displayed is based on a degree of accuracy with which an edge of the physical object can be detected based on hardware and/or software capabilities of the computer system.

4. The method of claim 1 , wherein the one or more inputs include an input corresponding to a request to move the virtual object to the simulated second pose in the physical environment.

5. The method of claim 1 , wherein the one or more inputs include movement of the one or more cameras of the computer system to the third pose in the physical environment.

6. The method of claim 1 , wherein the one or more inputs include an update of a pose of the physical object to the first pose in the physical environment.

7. The method of claim 1 , wherein, while the physical object is at the first pose, the virtual object is at the simulated second pose, and the one or more cameras are at the third pose, an anchor point of the virtual object satisfies placement criteria with respect to a first surface, and the virtual object has a predefined spatial relationship to the first surface; and the method includes:

while the third pose of the one or more cameras remains unchanged, receiving one or more second inputs that correspond to a request to move the virtual object through a sequence of simulated poses in the physical environment;

in response to receiving the one or more second inputs:

in accordance with a determination that, for a respective pose in the sequence of simulated poses, the anchor point of the virtual object satisfies the placement criteria with respect to the first surface, conditionally displaying one or more portions of the virtual object in the representation of the field of view with the virtual object having the predefined spatial relationship to the first surface; and

in accordance with a determination that, for the respective pose in the sequence of simulated poses, the anchor point of the virtual object satisfies the placement criteria with respect to a second surface different from the first surface, conditionally displaying one or more portions of the virtual object in the representation of the field of view with the virtual object having the predefined spatial relationship to the second surface.

8. The method of claim 1 , wherein the virtual object has a predefined spatial relationship to a first surface, and the method includes:

while the third pose of the one or more cameras remains unchanged, receiving one or more second inputs that correspond to a request to move the virtual object to a respective location in the representation of the field of view;

in response to receiving the one or more second inputs:

in accordance with a determination that the virtual object at the respective location in the representation of the field of view satisfies placement criteria with respect to the first surface, conditionally displaying one or more portions of the virtual object in the representation of the field of view with the virtual object having the predefined spatial relationship to the first surface;

in accordance with a determination that the virtual object at the respective location in the representation of the field of view satisfies the placement criteria with respect to a second surface different from the first surface, conditionally displaying one or more portions of the virtual object in the representation of the field of view with the virtual object having the predefined spatial relationship to the second surface.

9. A computer system, comprising:

a display generation component;

one or more cameras;

one or more processors; and

memory storing one or more programs, wherein the one or more programs are configured to be executed by the one or more processors, the one or more programs including instructions for:

displaying, via the display generation component, a representation of a field of view of the one or more cameras, wherein the field of view includes a physical object in a physical environment, and the representation of the field of view of the one or more cameras includes a representation of the physical object;

receiving one or more inputs corresponding to a request to display the representation of the field of view with the physical object at a first pose in the physical environment, a virtual object at a simulated second pose in the physical environment, and the one or more cameras at a third pose in the physical environment; and

in response to receiving the one or more inputs:

in accordance with a determination that a first portion of the virtual object corresponds to physical space in the physical environment that is occluded by the physical object in the physical environment:

displaying the representation of the physical object;

forgoing displaying the first portion of the virtual object; and

in accordance with a determination that a second portion of the virtual object corresponds to physical space in the physical environment that is not occluded:

 displaying the second portion of the virtual object, including visually deemphasizing a displayed first region of the second portion of the virtual object relative to a displayed second region of the second portion of the virtual object;

wherein:

the first portion of the virtual object corresponds to physical space in the physical environment that is occluded by the physical object in the physical environment, and the second portion of the virtual object corresponds to physical space in the physical environment that is not occluded;

a first set of environmental conditions are present in the physical environment; and

the method further includes:

detecting a change to a second set of environmental conditions in the physical environment; and

while the second set of environmental conditions are present in the physical environment, the physical object is at the first pose in the physical environment, the virtual object is at the simulated second pose in the physical environment, and the one or more cameras are at the third pose in the physical environment:

displaying the representation of the physical object;

forgoing displaying the first portion of the virtual object; and

displaying a third portion of the virtual object, different from the second portion, including visually deemphasizing a displayed first region of the third portion of the virtual object relative to a displayed second region of the third portion of the virtual object, wherein visually deemphasizing the displayed first region of the third portion of the virtual object is in accordance with the change to the second set of environmental conditions in the physical environment.

10. The computer system of claim 9 , wherein the one or more programs include instructions for forgoing displaying a respective portion of the virtual object that corresponds to physical space in the physical environment that extends a threshold distance from a boundary of the physical object in the representation of the field of view.

11. The computer system of claim 10 , wherein the threshold distance from the physical object that is used to determine how much of the virtual object is not displayed is based on a degree of accuracy with which an edge of the physical object can be detected based on hardware and/or software capabilities of the computer system.

12. The computer system of claim 9 , wherein the one or more inputs include an input corresponding to a request to move the virtual object to the simulated second pose in the physical environment.

13. The computer system of claim 9 , wherein the one or more inputs include movement of the one or more cameras of the computer system to the third pose in the physical environment.

14. The computer system of claim 9 , wherein the one or more inputs include an update of a pose of the physical object to the first pose in the physical environment.

15. The computer system of claim 9 , wherein, while the physical object is at the first pose, the virtual object is at the simulated second pose, and the one or more cameras are at the third pose, an anchor point of the virtual object satisfies placement criteria with respect to a first surface, and the virtual object has a predefined spatial relationship to the first surface; and the method includes:

while the third pose of the one or more cameras remains unchanged, receiving one or more second inputs that correspond to a request to move the virtual object through a sequence of simulated poses in the physical environment;

in response to receiving the one or more second inputs:

in accordance with a determination that, for a respective pose in the sequence of simulated poses, the anchor point of the virtual object satisfies the placement criteria with respect to the first surface, conditionally displaying one or more portions of the virtual object in the representation of the field of view with the virtual object having the predefined spatial relationship to the first surface; and

in accordance with a determination that, for the respective pose in the sequence of simulated poses, the anchor point of the virtual object satisfies the placement criteria with respect to a second surface different from the first surface, conditionally displaying one or more portions of the virtual object in the representation of the field of view with the virtual object having the predefined spatial relationship to the second surface.

16. The computer system of claim 9 , wherein the virtual object has a predefined spatial relationship to a first surface, and the method includes:

while the third pose of the one or more cameras remains unchanged, receiving one or more second inputs that correspond to a request to move the virtual object to a respective location in the representation of the field of view;

in response to receiving the one or more second inputs:

in accordance with a determination that the virtual object at the respective location in the representation of the field of view satisfies placement criteria with respect to the first surface, conditionally displaying one or more portions of the virtual object in the representation of the field of view with the virtual object having the predefined spatial relationship to the first surface;

in accordance with a determination that the virtual object at the respective location in the representation of the field of view satisfies the placement criteria with respect to a second surface different from the first surface, conditionally displaying one or more portions of the virtual object in the representation of the field of view with the virtual object having the predefined spatial relationship to the second surface.

17. The computer system of claim 9 , wherein the first set of environmental conditions comprises a first set of lighting conditions, and the second set of environmental conditions comprises a different set of lighting conditions than the first set of lighting conditions.

18. The computer system of claim 9 , wherein the first set of environmental conditions comprises a first set of visibility conditions, and the second set of environmental conditions comprises a different set of visibility conditions than the first set of visibility conditions.

19. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions that, when executed by a computer system that includes and/or is in communication with a display generation component and one or more cameras, cause the computer system to:

display, via the display generation component, a representation of a field of view of the one or more cameras, wherein the field of view includes a physical object in a physical environment, and the representation of the field of view of the one or more cameras includes a representation of the physical object;

receive one or more inputs corresponding to a request to display the representation of the field of view with the physical object at a first pose in the physical environment, a virtual object at a simulated second pose in the physical environment, and the one or more cameras at a third pose in the physical environment; and

in response to receiving the one or more inputs:

in accordance with a determination that a first portion of the virtual object corresponds to physical space in the physical environment that is occluded by the physical object in the physical environment:

display the representation of the physical object;

forgo displaying the first portion of the virtual object; and

in accordance with a determination that a second portion of the virtual object corresponds to physical space in the physical environment that is not occluded:

display the second portion of the virtual object, including visually deemphasizing a displayed first region of the second portion of the virtual object relative to a displayed second region of the second portion of the virtual object;

wherein:

the first portion of the virtual object corresponds to physical space in the physical environment that is occluded by the physical object in the physical environment, and the second portion of the virtual object corresponds to physical space in the physical environment that is not occluded;

a first set of environmental conditions are present in the physical environment; and

the method further includes:

detecting a change to a second set of environmental conditions in the physical environment; and

while the second set of environmental conditions are present in the physical environment, the physical object is at the first pose in the physical environment, the virtual object is at the simulated second pose in the physical environment, and the one or more cameras are at the third pose in the physical environment:

displaying the representation of the physical object;

forgoing displaying the first portion of the virtual object; and

displaying a third portion of the virtual object, different from the second portion, including visually deemphasizing a displayed first region of the third portion of the virtual object relative to a displayed second region of the third portion of the virtual object, wherein visually deemphasizing the displayed first region of the third portion of the virtual object is in accordance with the change to the second set of environmental conditions in the physical environment.

20. The non-transitory computer readable storage medium of claim 19 , wherein the one or more programs include instructions that, when executed by the computer system, cause the computer system to forgo displaying a respective portion of the virtual object that corresponds to physical space in the physical environment that extends a threshold distance from a boundary of the physical object in the representation of the field of view.

21. The non-transitory computer readable storage medium of claim 20 , wherein the threshold distance from the physical object that is used to determine how much of the virtual object is not displayed is based on a degree of accuracy with which an edge of the physical object can be detected based on hardware and/or software capabilities of the computer system.

22. The non-transitory computer readable storage medium of claim 19 , wherein the one or more inputs include movement of the one or more cameras of the computer system to the third pose in the physical environment.

23. The non-transitory computer readable storage medium of claim 19 , wherein the first set of environmental conditions comprises a first set of lighting conditions, and the second set of environmental conditions comprises a different set of lighting conditions than the first set of lighting conditions.

24. The non-transitory computer readable storage medium of claim 19 , wherein the first set of environmental conditions comprises a first set of visibility conditions, and the second set of environmental conditions comprises a different set of visibility conditions than the first set of visibility conditions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2021
From: SCAPEL, NICOLAS V.; FISHER, KYLE E.; O'KEEFE, PATRICK W.; PAUL, GRANT R.
To: APPLE INC.
Reel/Frame 055935/0554 →
Continuity (2)
Provisional Application 62991062 · Mar 17, 2020
Related Publication 20210295602A1 · Sep 23, 2021