US 11,748,939 B1
Selecting a point to navigate video avatars in a three-dimensional environment
Kristofor Bernard Swanson, Anchorage, AK (US)
Assigned to Katmai Tech Inc., New York, NY (US)
Filed by Katmai Tech Inc., New York, NY (US)
Filed on Sep. 13, 2022, as Appl. No. 17/931,791.
Int. Cl. G06T 15/20 (2011.01); G06T 13/40 (2011.01); G06T 15/04 (2011.01); G06F 3/04815 (2022.01); G06F 3/04842 (2022.01)
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
OG exemplary drawing
 
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.