IP Library › Granted Patent US 10,434,418
Granted Patent B2
US 10,434,418 · App. 15/373,447 · Granted Oct 8, 2019

Navigation and interaction controls for three-dimensional environments

Inventors: Michelle Lee Dauphiny (Bellevue, WA); Jason Cahill (Woodinville, WA)
Assignee: Microsoft Technology Licensing, LLC
A63F13/73A63F13/34A63F13/352A63F13/5378A63F13/63A63F13/79G06F3/165G06T1/20G06T19/003G06T19/006G10H2210/026G10H2210/375G10H2210/381
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,434,418
App. No.
15/373,447
Granted
Oct 8, 2019
Kind
B2
Abstract

The techniques disclosed herein enable a user of a host computer or a user of a remote computer to locate, view, control, and modify objects of a virtual environment. Embodiments disclosed herein can include the generation of a graphical user interface providing a two-dimensional display showing objects at a predetermined elevation of a three-dimensional virtual environment. User interface controls are provided for changing the elevation of the two-dimensional display. The two-dimensional display can be updated to show different elevations as the controls are used to select a new elevation. In some embodiments, the two-dimensional display enables users to move objects of a virtual reality environment. The display can bring highlight to select objects enabling users to readily locate desired objects and locations. The features disclosed herein can be utilized by a computer hosting a virtual reality session or a remote computer operating a companion application.

Claims (68)

1. A system for assisting a first user to move a virtual reality object into a viewing area of a second user, the system comprising:

a processor; and

a memory in communication with the processor, the memory comprising session data defining a three-dimensional virtual reality environment, wherein the session data defines coordinates of the viewing area of the second user and coordinates defining a first position of the virtual reality object, wherein the viewing area provides a perspective view of the three-dimensional virtual reality environment for the second user, the memory having computer-readable instructions stored thereupon that, when executed by the processor, cause the processor to

display a first two-dimensional map using two dimensions (X, Y) of the three-dimensional virtual environment, wherein the display of the first two-dimensional map displays objects at a selected level of a third dimension (Z) of the three-dimensional virtual environment;

display a level graphical element for receiving a control input from the first user for modifying the selected level;

modify the selected level to a new level in response to receiving the control input;

display a second two-dimensional map using the two dimensions (X, Y) of the three-dimensional virtual environment, wherein the display of the second two-dimensional map is at the new level;

receive input data from the first user comprising a set of coordinates defining a second position for the virtual reality object, wherein the set of coordinates includes the new level;

determine when the set of coordinates defining the second position intersects with the coordinates of the viewing area of the second user; and

in response to determining that the set of coordinates defining the second position intersects with the coordinates of the viewing area of the second user, generate a notification on a display device associated with the first user, the notification indicating that the virtual reality object being moved by the first user is within the viewing area of the second user.

2. The system of claim 1 , wherein the instructions further cause the processor to generate an update for the session data, wherein the update locates the virtual reality object at the second position.

3. The system of claim 1 , wherein the notification communicates a user option for providing a confirmation input to move the object, and wherein the instructions further cause the processor to:

receive a confirmation input to move the object to the second position; and

generate the update for modifying the session data in response to receiving the confirmation input.

4. The system of claim 1 , wherein the instructions further cause the processor to update the second two-dimensional map to display a rendering of the virtual reality object at the second position.

5. The system of claim 1 , wherein the instructions further cause the processor to generate display data defining a display of the viewing area of the second user, wherein generating the notification comprises displaying a graphical element representing a flashing silhouette of the virtual reality object within the viewing area of the second user.

6. The system of claim 1 , wherein the notification comprises a display of a graphical element indicating the second position.

7. A system for assisting a first user to move a virtual reality object into a viewing area of a second user, comprising:

a processor; and

a memory in communication with the processor, the memory having computer-readable instructions stored thereupon that, when executed by the processor, cause the processor to

receive session data from a host computer, wherein the session data defines a three-dimensional virtual reality environment, wherein the session data defines coordinates of the viewing area of the second user and coordinates defining a first position of the virtual reality object, wherein the viewing area provides a perspective view of the three-dimensional virtual reality environment for the second user;

display a first two-dimensional map using two dimensions (X, Y) of the three-dimensional virtual reality environment, wherein the display of the first two-dimensional map displays objects at a selected level of a third dimension (Z) of the three-dimensional virtual environment;

display a level graphical element for receiving a control input from the first user for modifying the selected level;

modify the selected level to a new level in response to receiving the control input;

display a second two-dimensional map using the two dimensions (X, Y) of the three-dimensional virtual environment, wherein the display of the second two-dimensional map is at the new level;

receive input data from the first user comprising a set of coordinates defining a second position for the virtual reality object;

determine when the set of coordinates defining the second position intersects with the coordinates of the viewing area of the second user; and

in response to determining that the set of coordinates defining the second position intersects with the coordinates of the viewing area of the second user, generate a notification on a display device associated with the first user, the notification indicating that the virtual reality object being moved by the first user is within the viewing area of the second user.

8. The system of claim 7 , wherein the instructions further cause the processor to:

generate an update for modifying the session data, wherein the update indicates that the virtual reality object is at or near the second position; and

transmit the update for modifying the session data to the host computer.

9. The system of claim 7 , wherein the notification communicates a user option for providing a confirmation input to move the object, and wherein the instructions further cause the processor to:

receive a confirmation input to move the object to the second position;

generate the update for modifying the session data in response to receiving the confirmation input; and

transmit the update for modifying the session data to the host computer.

10. The system of claim 7 , wherein the instructions further cause the processor to:

display the virtual reality object in the first two-dimensional map at the selected level;

receive a selection of the virtual reality object while displaying the virtual reality object in the first two-dimensional map; and

display an augmented rendering of the virtual reality object in the second two-dimensional map at the new level.

11. The system of claim 7 , wherein the instructions further cause the processor to generate display data defining a display of the viewing area of the second user, wherein generating the notification comprises displaying a graphical element representing a flashing silhouette of the virtual reality object within the viewing area of the second user.

12. A computer-implemented method for assisting a first user to move a virtual reality object into a viewing area of a second user, the computer-implemented method operating on a computing device for managing session data defining a three-dimensional virtual reality environment, comprising:

displaying a first two-dimensional map using two dimensions (X, Y) of the three-dimensional virtual environment, wherein the display of the first two-dimensional map displays virtual objects at a selected level of a third dimension (Z) of the three-dimensional virtual environment;

displaying a level graphical element for receiving an input from the first user for modifying the selected level;

modifying the selected level to a new level in response to receiving the input;

displaying a second two-dimensional map using the two dimensions (X, Y) of the three-dimensional virtual environment, wherein the display of the second two-dimensional map displays other virtual objects at the new level;

receiving input data from the first user comprising a set of coordinates defining a second position for the virtual reality object, wherein the set of coordinates includes the new level;

determining when the set of coordinates defining the second position intersects with the coordinates of the viewing area of the second user; and

in response to determining that the set of coordinates defining the second position intersects with the coordinates of the viewing area of the second user, generating a notification on a device associated with the first user, the notification indicating that the virtual reality object being moved by the first user is within the viewing area of the second user.

13. The computer-implemented method of claim 12 , wherein the session data defines coordinates of a viewing area of the second user and coordinates indicating defining a first position of a virtual reality object, wherein the viewing area provides a first-person perspective view of the three-dimensional virtual reality environment, wherein the computer-implemented method further comprises:

receiving input data comprising a set of coordinates defining a second position for the virtual reality object;

determining when the set of coordinates defining the second position intersects with the coordinates of the viewing area of the second user;

generating a notification when the set of coordinates defining the second position intersects with the coordinates of the viewing area of the second user; and

generating an update for modifying the session data, wherein the update indicates that the virtual reality object is at or near the second position.

14. The computer-implemented method of claim 13 , wherein the notification communicates a user option for providing a confirmation input to move the object, and wherein the computer-implemented method further comprises:

receiving a confirmation input to move the object to the second position; and

generating the update for modifying the session data in response to receiving the confirmation input.

15. The computer-implemented method of claim 13 , further comprising updating the second two-dimensional map to display a rendering of the virtual reality object at or near the second position.

16. The computer-implemented method of claim 13 , further comprising generating display data defining a display of the viewing area of the second user, wherein generating the notification comprises displaying a graphical element representing a flashing silhouette of the virtual reality object within the viewing area of the second user.

17. The computer-implemented method of claim 13 , wherein the notification comprises a display of a graphical element indicating the second position.

18. The computer-implemented method of claim 12 , wherein the computer-implemented method further comprises:

receiving input data comprising a set of coordinates defining a position for a beacon;

updating the second two-dimensional map to display a rendering of the beacon; and

generating an update for modifying the session data, wherein the update defines the position for the beacon.

19. The computer-implemented method of claim 18 , further comprising:

modifying session data based on the update;

generating display data defining a display of the session data; and

transmitting the display data to at least one remote client computing device for displaying of the display data on a display device.

20. The computer-implemented method of claim 18 , wherein the update for modifying the session data comprises attributes for an audio signal having a tempo that decreases or increases based on a direction of an object in relation to the position of the beacon.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2016
From: DAUPHINY, MICHELLE LEE; CAHILL, JASON
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 040607/0449 →
Continuity (2)
Provisional Application 62345623 · Jun 3, 2016
Related Publication 20170352186A1 · Dec 7, 2017