IP Library › Granted Patent US 10,359,863
Granted Patent B2
US 10,359,863 · App. 15/684,314 · Granted Jul 23, 2019

Dragging virtual elements of an augmented and/or virtual reality environment

Inventors: Matthew Seegmiller (Mountain View, CA); Adam Glazier (Oakland, CA); Dominik Philemon Kaeser (Mountain View, CA); Per Karlsson (Mountain View, CA); Evan Hardesty Parker (Los Altos, CA); Chun-Po Wang (Union City, CA); Matthias Buhlmann (Wollerau, CH)
Assignee: GOOGLE LLC
G06F3/0346A63F13/211A63F13/212A63F13/213A63F13/428A63F13/525G06F1/163G06F3/011G06F3/017G06F3/04815G06F3/04842G06F3/04845A63F13/2145G06T19/006
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,359,863
App. No.
15/684,314
Filed
Aug 23, 2017
Granted
Jul 23, 2019
Kind
B2
Art Unit
2624
USPC
345/158
Abstract

In a system for moving, or dragging, a virtual reality environment, a user wearing a head mounted display (HMD) device may be at a first physical position in a physical space, corresponding to a first virtual position in the virtual environment. The user may select a second virtual position in the virtual environment by, for example, manipulation of a handheld electronic device operably coupled to the HMD. The system may construct a three dimensional complex proxy surface based on the first and second virtual positions, and may move the virtual elements of the virtual environment along the proxy surface. This movement of the virtual environment may be perceived by the user as a move from the first virtual position to the second virtual position, although the user may remain at the first physical position within the physical space.

Claims (68)

1. A method, comprising:

displaying, in a head mounted display (HMD) device operating in a physical environment, a virtual environment from a first virtual perspective, the first virtual perspective corresponding to a first virtual position;

detecting a selection of a second virtual position;

defining a three-dimensional (3D) virtual proxy surface in response to the detected selection of the second virtual position, wherein the 3D virtual proxy surface includes a 3D right circular conical portion, wherein an apex of the 3D right circular conical portion is located at the first virtual position, a base of the 3D right circular conical portion intersects with the second virtual position, and the axis of the 3D right circular conical portion is oriented corresponding to a virtual height of the virtual environment;

detecting a movement command;

moving virtual features of the virtual environment along the 3D virtual proxy surface in response to the detected movement command; and

displaying the virtual environment from a second virtual perspective, the second virtual perspective corresponding to the second virtual position.

2. The method of claim 1 , wherein defining the 3D virtual proxy surface includes:

detecting the first virtual position based on a position of a handheld electronic device, the handheld electronic device being operably coupled to the HMD;

detecting the second virtual position based on an orientation of the handheld electronic device; and

defining the 3D virtual proxy surface based on a 360 degree rotation of a virtual line extending between the first virtual position and the second virtual position.

3. The method of claim 2 , wherein

detecting the first virtual position, includes:

detecting the position of the handheld electronic device in the physical environment; and

mapping the detected position of the handheld electronic device in the physical environment to the first virtual position in the virtual environment; and

detecting the selection of the second virtual position includes:

detecting the orientation of the handheld electronic device in the physical environment;

mapping the detected orientation of the handheld electronic device in the physical environment to a corresponding orientation of the handheld electronic device in the virtual environment; and

detecting an intersection of a virtual beam extending from the handheld electronic device and the second virtual position based on the orientation of the handheld electronic device in the virtual environment.

4. The method of claim 3 , wherein defining the 3D virtual proxy surface includes:

defining the 3D right circular conical portion of the 3D virtual proxy surface, in which a virtual base of the 3D right circular conical portion is oriented parallel to an x-y plane of the physical environment; and

defining a spherical portion of the 3D virtual proxy surface, the spherical portion extending from the 3D right circular conical portion of the 3D virtual proxy surface.

5. The method of claim 4 , wherein

defining the 3D spherical portion of the 3D virtual proxy surface includes defining the 3D spherical portion of the 3D virtual proxy surface extending outward from an outer edge of the 3D right circular conical portion of the 3D virtual proxy surface, at an intersection with the second virtual position.

6. The method of claim 3 , wherein moving the virtual features of the virtual environment along the 3D virtual proxy surface includes moving a display of the virtual features of the virtual environment along a path corresponding to the 3D virtual proxy surface so as to shift a perspective of the virtual environment from the first virtual position to the second virtual position.

7. The method of claim 6 , wherein a direction of the movement of the virtual features of the virtual environment along the 3D virtual proxy surface corresponds to a direction of a physical movement of the handheld electronic device in the physical environment.

8. The method of claim 6 , wherein a rate of the movement of the virtual features of the virtual environment along the 3D virtual proxy surface corresponds to a rate of a physical movement of the handheld electronic device in the physical environment.

9. The method of claim 1 , wherein detecting the movement command includes:

detecting actuation of a manipulation device of a handheld electronic device, the handheld electronic device being operably coupled to the HMD;

detecting a physical movement of the handheld electronic device with the manipulation device in the actuated state; and

detecting the movement command in response to the detected physical movement of the handheld electronic device with the manipulation device in the actuated state.

10. The method of claim 9 , wherein detecting the movement command in response to the detected physical movement of the handheld electronic device includes:

detecting a magnitude and a direction of the detected physical movement of the handheld electronic device; and

moving the virtual features of the virtual environment in accordance with the detected magnitude and detected direction of the detected physical movement of the handheld electronic device.

11. A computer program product embodied on a non-transitory computer readable medium, the computer readable medium having stored thereon a sequence of instructions which, when executed by a processor, causes the processor to execute a method, the method comprising:

displaying, in a head mounted display (HMD) device operating in a physical environment, a virtual environment from a first virtual perspective, the first virtual perspective corresponding to a first virtual position;

detecting a selection of a second virtual position;

defining a three-dimensional (3D) virtual proxy surface in response to the detected selection of the second virtual position, wherein the 3D virtual proxy surface includes a 3D right circular conical portion, wherein an apex of the 3D right circular conical portion is located at the first virtual position, a base of the 3D right circular conical portion intersects with the second virtual position, and the axis of the 3D right circular conical portion is oriented corresponding to a virtual height of the virtual environment;

detecting a movement command;

moving virtual features of the virtual environment along the 3D virtual proxy surface in response to the detected movement command; and

displaying the virtual environment from a second virtual perspective, the second virtual perspective corresponding to the second virtual position.

12. The computer program product of claim 11 , wherein defining the 3D virtual proxy surface includes:

detecting the first virtual position based on a position of a handheld electronic device the handheld electronic device being operably coupled to the HMD;

detecting the second virtual position based on an orientation of the handheld electronic device; and

defining the 3D virtual proxy surface based on a 360 degree rotation of a virtual connection line extending between the first virtual position and the second virtual position.

13. The computer program product of claim 12 , wherein

detecting the first virtual position, includes:

detecting the position of the handheld electronic device in the physical environment; and

mapping the detected position of the handheld electronic device in the physical environment to the first virtual position in the virtual environment; and

detecting the selection of the second virtual position includes:

detecting the orientation of the handheld electronic device in the physical environment;

mapping the detected orientation of the handheld electronic device in the physical environment to a corresponding orientation of the handheld electronic device in the virtual environment; and

detecting an intersection of a virtual beam extending from the handheld electronic device and the second virtual position based on the orientation of the handheld electronic device in the virtual environment.

14. The computer program product of claim 13 , wherein defining the 3D virtual proxy surface includes:

defining the 3D right circular conical portion of the 3D virtual proxy surface, in which a virtual base of the 3D right circular conical portion is oriented parallel to an x-y plane of the physical environment; and

defining a spherical portion of the 3D virtual proxy surface, the spherical portion extending from the 3D right circular conical portion of the 3D virtual proxy surface.

15. The computer program product of claim 14 , wherein

defining the 3D spherical portion of the 3D virtual proxy surface includes defining the 3D spherical portion of the 3D virtual proxy surface extending outward from an outer edge of the 3D conical portion of the 3D virtual proxy surface, at an intersection with the second virtual position.

16. The computer program product of claim 13 , wherein moving the virtual features of the virtual environment along the 3D virtual proxy surface includes moving a display of the virtual features of the virtual environment along a path corresponding to the 3D virtual proxy surface so as to shift a perspective of the virtual environment from the first virtual position to the second virtual position.

17. The computer program product of claim 16 , wherein a direction of the movement of the virtual features of the virtual environment along the 3D virtual proxy surface corresponds to a direction of a physical movement of the handheld electronic device in the physical environment.

18. The computer program product of claim 16 , wherein a rate of the movement of the virtual features of the virtual environment along the 3D virtual proxy surface corresponds to a rate of a physical movement of the handheld electronic device in the physical environment.

19. The computer program product of claim 11 , wherein detecting the movement command includes:

detecting actuation of a manipulation device of a handheld electronic device, the handheld electronic device being operably coupled to the HMD;

detecting a physical movement of the handheld electronic device with the manipulation device in the actuated state; and

detecting the movement command in response to the detected physical movement of the handheld electronic device with the manipulation device in the actuated state.

20. The computer program product of claim 19 , wherein detecting the movement command in response to the detected physical movement of the handheld electronic device includes:

detecting a magnitude and a direction of the detected physical movement of the handheld electronic device; and

moving the virtual features of the virtual environment in accordance with the detected magnitude and detected direction of the detected physical movement of the handheld electronic device.

Assignments (2)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2017
From: SEEGMILLER, MATTHEW; GLAZIER, ADAM; KAESER, DOMINIK PHILEMON; KARLSSON, PER; PARKER, EVAN HARDESTY; WANG, CHUN-PO; BUHLMANN, MATTHIAS
To: GOOGLE INC.
Reel/Frame 043373/0605 →
Continuity (2)
Provisional Application 62422384 · Nov 15, 2016
Related Publication 20180136743A1 · May 17, 2018