Motion control of a virtual environment
First Claim
Patent Images
1. On a computing device, a computer-implemented method for controlling a virtual environment, comprising:
- visually presenting, via a display, a representation of the virtual environment;
receiving, from a depth camera, depth video imaging a human subject;
recognizing a virtual skeleton that models the human subject with a plurality of virtual joints characterized by three-dimensional positions, the virtual skeleton derived from the depth video;
using the virtual skeleton to identify a gesture performed by the human subject;
recognizing an optical flow of the depth video, the optical flow derived from a plurality of cells mapped to the depth video, each cell having a motion value indicating a magnitude of motion in that cell recognized between consecutive image frames of the depth video;
using the optical flow to assign a magnitude to the gesture performed by the human subject; and
visually presenting, via the display, an updated representation of the virtual environment, the updated representation being modified based on the gesture, and the updated representation being modified in proportion to the magnitude.
3 Assignments
0 Petitions
Accused Products
Abstract
An optical flow of depth video of a depth camera imaging a human subject is recognized. An energy field created by motion of the human subject is generated as a function of the optical flow and specified rules of a physical simulation of the virtual environment. The energy field is mapped to a virtual position in the virtual environment. A property of a virtual object in the virtual environment is adjusted based on a plurality of energy elements of the energy field in response to the virtual object interacting with the virtual position of the energy field.
-
Citations
20 Claims
-
1. On a computing device, a computer-implemented method for controlling a virtual environment, comprising:
-
visually presenting, via a display, a representation of the virtual environment; receiving, from a depth camera, depth video imaging a human subject; recognizing a virtual skeleton that models the human subject with a plurality of virtual joints characterized by three-dimensional positions, the virtual skeleton derived from the depth video; using the virtual skeleton to identify a gesture performed by the human subject; recognizing an optical flow of the depth video, the optical flow derived from a plurality of cells mapped to the depth video, each cell having a motion value indicating a magnitude of motion in that cell recognized between consecutive image frames of the depth video; using the optical flow to assign a magnitude to the gesture performed by the human subject; and visually presenting, via the display, an updated representation of the virtual environment, the updated representation being modified based on the gesture, and the updated representation being modified in proportion to the magnitude. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. On a computing device, a computer-implemented method for controlling a virtual environment, comprising:
-
visually presenting, via a display, a representation of the virtual environment including a virtual object; receiving, from a depth camera, depth video imaging a human subject; recognizing an optical flow of the depth video, the optical flow derived from a plurality of cells mapped to the depth video, each cell having a motion value indicating a magnitude of motion recognized between consecutive image frames of the depth video; generating an energy field created by motion of the human subject as a function of the optical flow and specified rules of a physical simulation of the virtual environment, the energy field including a plurality of energy elements derived from the plurality of cells of the optical flow, each energy element including a plurality of energy properties derived from the motion value of a corresponding cell and the specified rules of the physical simulation; mapping the energy field to a virtual position in the virtual environment; adjusting a property of the virtual object in the virtual environment based on one or more energy properties of the plurality of energy elements in response to the virtual object interacting with the virtual position of the energy field; and visually presenting, via the display, an updated representation of the virtual environment, the updated representation including the virtual object having the adjusted property. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. On a computing device, a computer-implemented method for controlling a virtual environment, comprising:
-
visually presenting, via a display, a representation of the virtual environment including a virtual object; receiving, from a depth camera, depth video imaging a human subject; recognizing an optical flow of the depth video, the optical flow derived from a plurality of cells mapped to the depth video, each cell having a motion value indicating a magnitude of motion recognized between consecutive image frames of the depth video; generating an energy field created by motion of the human subject as a function of the optical flow and specified rules of a physical simulation of the virtual environment, the energy field including a plurality of energy elements derived from the plurality of cells of the optical flow, each energy element including a plurality of energy properties derived from the motion value of a corresponding cell and the specified rules of the physical simulation; mapping the energy field to a virtual position in the virtual environment; determining a region of interest of the energy field that interacts with a virtual object in the virtual environment, the region of interest being smaller than a volume of the energy field; adjusting a property of the virtual object in the virtual environment based on an accumulation of values of one or more energy properties of energy elements in the region of interest; and visually presenting, via the display, an updated representation of the virtual environment, the updated representation including the virtual object having the adjusted property. - View Dependent Claims (20)
-
Specification