CPC G06F 3/014 (2013.01) [G06F 3/016 (2013.01); G06F 3/017 (2013.01); G06F 3/0346 (2013.01); G06F 3/04815 (2013.01); G06F 2203/0331 (2013.01); G06F 2203/0384 (2013.01); H04W 4/029 (2018.02)] | 25 Claims |
1. A method for controlling interactions with virtual objects using a pointing controller, the method comprising:
obtaining sensor data from state sensing module of the pointing controller, the sensor data including barometric sensing data;
estimating a height of the pointing controller based on the barometric sensing data;
tracking movement of a pointing vector through a three-dimensional virtual space based on the estimated height and a stored arm model, wherein tracking the movement of the pointing vector comprises:
detecting whether the pointing controller is indoors or outdoors; and
adjusting parameters of the arm model depending on whether the pointing controller is indoors or outdoors;
detecting an intersection of the pointing vector with coordinates occupied by a virtual object in the three-dimensional virtual space to place the virtual object in a selected state;
detecting a first interaction with the pointing controller while the virtual object is in the selected state;
placing the virtual object in a grabbed state in response to the first interaction;
causing position of the virtual object to track movement of the pointing controller while the virtual object is in the grabbed state;
detecting a second interaction with the virtual object while the virtual object is in the grabbed state;
placing the virtual object in a free state in response to the second interaction; and
causing the virtual object to stop tracking movement of the pointing vector in response to the second interaction.
|