CPC G06T 15/20 (2013.01) [G06F 3/04815 (2013.01); G06F 3/04842 (2013.01); G06T 13/40 (2013.01); G06T 15/04 (2013.01); G06T 2200/24 (2013.01); G06T 2210/21 (2013.01)] | 20 Claims |
1. A computer implemented method for navigating in a three-dimensional (3D) virtual environment, comprising:
(a) receiving data specifying a three-dimensional virtual space;
(b) receiving a position and direction in the three-dimensional virtual space, the position and direction input by a first user;
(c) receiving a video stream captured from a camera on a device of the first user, the camera positioned to capture photographic images of the first user;
(d) mapping the video stream onto a model of an avatar;
(e) from a perspective of a virtual camera of a second user, rendering for display to the second user an image of the three-dimensional virtual space including the model of the avatar located at the position and oriented at the direction, wherein the virtual camera corresponds to a second avatar in the three-dimensional virtual space;
(f) receiving a selection of a position on the image, the selection being made by the second user;
(g) extending a ray from a position of the virtual camera such that the ray is extended toward the selection;
(h) determining an intersection of the ray with an object in the three-dimensional virtual space;
(i) determining what object is intersected by the ray;
(j) based on what object is intersected, determining whether to relocate the virtual camera; and
(k) when it is determined in (j) to relocate the virtual camera, relocating the virtual camera to a new position corresponding to the position selected by the second user, such that the second user views and moves around the three-dimensional virtual space from the new position using the virtual camera and the second avatar.
|