MANIPULATING VIRTUAL OBJECTS WITH SIX DEGREE-OF-FREEDOM CONTROLLERS IN AN AUGMENTED AND/OR VIRTUAL REALITY ENVIRONMENT
First Claim
1. A method, comprising:
- generating a three-dimensional (3D) virtual environment;
tracking a six-degree-of-freedom (6DOF) position and orientation of a first controller in a physical environment;
tracking a 6DOF position and orientation of a second controller in the physical environment;
detecting a selection of a virtual object displayed in the virtual environment;
detecting an input targeted for the selected virtual object based on a detected movement of the first controller in the physical environment with respect to a first coordinate system and a detected movement of the second controller in the physical environment with respect to a second coordinate system;
resolving the detected movement of the first controller with respect to the first coordinate system and the detected movement of the second controller with respect to the second coordinate system to a command movement with respect to a common coordinate system; and
manipulating the selected virtual object in response to the command movement.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for combining six degree of freedom (6DOF) inputs, or positional and orientation inputs, from multiple 6DOF controllers in an augmented reality (AR) environment and/or a virtual reality (VR) environment is provided. In response to the detected movement of multiple controllers, and in particular, rotational movement of the multiple controllers providing user inputs in a virtual reality environment, the detected movements of the multiple controllers may be resolved to a single, common coordinate system to determine intended input to be applied to a selected virtual object in the virtual environment. The ability to resolve these inputs from multiple 6DOF controllers to a common coordinate system may provide a more natural user input mode, thus enhancing the user'"'"'s experience.
-
Citations
20 Claims
-
1. A method, comprising:
-
generating a three-dimensional (3D) virtual environment; tracking a six-degree-of-freedom (6DOF) position and orientation of a first controller in a physical environment; tracking a 6DOF position and orientation of a second controller in the physical environment; detecting a selection of a virtual object displayed in the virtual environment; detecting an input targeted for the selected virtual object based on a detected movement of the first controller in the physical environment with respect to a first coordinate system and a detected movement of the second controller in the physical environment with respect to a second coordinate system; resolving the detected movement of the first controller with respect to the first coordinate system and the detected movement of the second controller with respect to the second coordinate system to a command movement with respect to a common coordinate system; and manipulating the selected virtual object in response to the command movement. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method, comprising:
-
detecting a selection of a virtual object displayed in a virtual environment; detecting an input targeted for the selected virtual object displayed in the virtual environment in response to a detected movement of a first controller with respect to a first coordinate system, and a detected movement of a second controller with respect to a second coordinate system, the first controller and the second controller operating in a physical environment; resolving the detected movement of the first controller and the detected movement of the second controller to a command movement with respect to a common coordinate system; and rotating the selected virtual object in the virtual environment in response to the command movement. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. 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:
-
generating a three-dimensional (3D) virtual environment; tracking a six-degree-of-freedom (6DOF) position and orientation of a first controller in a physical environment; tracking a 6DOF position and orientation of a second controller in the physical environment; detecting a selection of a virtual object displayed in the virtual environment; detecting an input targeted for the selected virtual object based on a detected movement of the first controller in the physical environment with respect to a first coordinate system and a detected movement of the second controller in the physical environment with respect to a second coordinate system; resolving the detected movement of the first controller with respect to the first coordinate system and the detected movement of the second controller with respect to the second coordinate system to a command movement with respect to a common coordinate system; and manipulating the selected virtual object in response to the command movement. - View Dependent Claims (19, 20)
-
Specification