Virtual environment generation for collaborative building assessment
Systems and methods for facilitating virtual collaboration between users within virtual environments are disclosed. A plurality of users access a collaborative virtual environment system using interface devices to establish a virtual collaboration session in which users communicate via a bidirectional real-time communication channel and interact within a virtual environment. Annotations or other user interactions within the virtual environment are automatically propagated to each user in the virtual collaboration session in order to facilitate collaboration. Data from such virtual collaboration sessions may be captured for later use.
1 . A method, comprising:
initiating, by a processor, a virtual collaboration session between a first device and a second device by:
establishing, a first communication connection between the processor and the first device,
establishing, a second communication connection, separate from the first communication connection, between the processor and the second device, and
causing a virtual environment to be presented by the first device and by the second device, the virtual environment representing a physical location;
receiving, by the processor and from the first device, a request for capturing information associated with the physical location represented in the virtual environment, the request indicating:
a first capability of the second communication connection or a second capability of the second device, and
a first viewing perspective;
causing, by the processor, and based at least in part on the request, the second device to depict the physical location, within the virtual environment, from a second viewing perspective matching the first viewing perspective; and
capturing, by the processor and in accordance with the first capability or the second capability indicated in the request, the information associated with the physical location,
wherein the information is captured, within the virtual environment, from the second viewing perspective.
2 . The method of claim 1 , wherein:
the information comprises a virtual photograph or a virtual video recording captured via a data capture tool presented within the virtual environment on the second device, and
the second capability is indicative of one of: resolution of capture, a time duration of capture, or a field of view of capture, of the second device.
3 . The method of claim 1 , further comprising:
establishing, by the processor and via a third communication connection, a real-time communication channel between the first device and the second device, the real-time communication channel supporting voice or text communication.
4 . The method of claim 1 , further comprising:
receiving, by the processor and from the first device, an annotation associated with a feature of the physical location;
generating, by the processor, a visual representation of the annotation within the virtual environment; and
causing, by the processor, the visual representation to be presented by the second device in association with the feature.
5 . The method of claim 1 , further comprising:
receiving, by the processor, a plurality of images of the physical location, wherein the plurality of images illustrates the physical location from a plurality of viewing perspectives; and
generating, by the processor and based on the plurality of images, the virtual environment representing the physical location.
6 . The method of claim 5 , wherein the plurality of images includes at least one of:
an image captured within a wavelength range excluding a visible light range, or
stereoscopic images captured by two or more cameras.
7 . The method of claim 1 , further comprising:
receiving, by the processor, an indication of a selection identifying a feature associated with the physical location;
accessing, by the processor, data associated with the selection;
generating, by the processor, an overlay based on the data;
updating, by the processor, the virtual environment to include the overlay; and
causing, by the processor, the virtual environment including the overlay to be presented by the first device and by the second device.
8 . The method of claim 1 , further comprising:
synchronizing, by the processor, the virtual environment presented by the first device and by the second device, wherein synchronizing the virtual environment includes matching a first viewing perspective of the first device with a second viewing perspective of the second device.
9 . The method of claim 8 , wherein the first viewing perspective is based on:
a gaze direction of a user of the first device, or
a position of the user within the virtual environment.
10 . The method of claim 1 , wherein the first capability of the second communication connection comprises at least one of:
a speed of the second communication connection, or
a throughput of the second communication connection.
11 . A system, comprising:
a processor;
a communication component operably connected to the processor and to a communication network; and
a non-transitory program memory operably connected to the processor and storing executable instructions that, when executed by the processor, cause the processor to perform operations comprising:
initiating a virtual collaboration session between a first device and a second device by:
establishing, a first communication connection between the processor and the first device,
establishing, a second communication connection, separate from the first communication connection, between the processor and the second device, and
causing a virtual environment to be presented by the first device and by the second device, the virtual environment representing a physical location;
receiving, from the first device, a request for capturing information associated with the physical location represented in the virtual environment, the request indicating:
a first capability of the second communication connection or a second capability of the second device, and
a first viewing perspective;
causing, based at least in part on the request, the second device to depict the physical location, within the virtual environment, from a second viewing perspective matching the first viewing perspective; and
capturing, in accordance with the first capability or the second capability indicated in the request, and via a data capture tool presented by the second device, the information associated with the physical location,
wherein the information is captured, within the virtual environment from the second viewing perspective.
12 . The system of claim 11 , the operations further comprising:
receiving, from the first device, a viewing perspective of a user of the first device,
wherein the first viewing perspective is based on the viewing perspective of the user.
13 . The system of claim 11 , the operations further comprising:
causing the virtual environment to be presented by a third device; and
causing, based at least in part on the request, the third device to illustrate the physical location, within the virtual environment, from a third viewing perspective matching the first viewing perspective.
14 . The system of claim 11 , the operations further comprising:
generating a representation of the information;
storing, in a computer memory, the virtual environment including the representation; and
providing, from the computer memory, the virtual environment, including the representation, to a third device,
the third device being operable to display the virtual environment, including the representation, asynchronously relative to the first device and the second device.
15 . The system of claim 11 , the operations further comprising:
providing, to the first device, an interface configured to enable a user of the first device to navigate through the virtual environment, wherein the navigation causes a change in a view of the virtual environment presented by the first device.
16 . The system of claim 11 , the operations further comprising:
storing, in a computer memory at a first time, a representation of the information captured within the virtual environment; and
providing, from the computer memory and at a second time, after the first time, the virtual environment, including the representation, to a third device,
the third device being operable to display the virtual environment, including the representation.
17 . The system of claim 11 , wherein the virtual environment is presented by the first device and by the second device simultaneously.
18 . The system of claim 11 , wherein the second device is a mobile computing device and the second capability of the second device is lower than a third capability of the first device.
19 . A non-transitory computer-readable medium storing executable instructions that, when executed by a processor of a computer system, cause the computer system to perform operations comprising:
initiating, by the processor, a virtual collaboration session between a first device and a second device by:
establishing a first communication connection between the processor and the first device,
establishing a second communication connection, separate from the first communication connection, between the processor and the second device, and
causing a virtual environment to be presented by the first device and by the second device, the virtual environment representing a physical location;
receiving, by the processor and from the first device, a request for capturing information associated with the physical location represented in the virtual environment, the request indicating:
a first capability of the second communication connection or a second capability of the second device, and
a first viewing perspective;
causing, based at least in part on the request, the second device to depict the physical location, within the virtual environment, from a second viewing perspective matching the first viewing perspective; and
capturing, by the processor and in accordance with the first capability or the second capability indicated in the request, the information associated with the physical location,
wherein the information is captured, within the virtual environment, from the second viewing perspective.
20 . The non-transitory computer-readable medium of claim 18 , wherein:
the information comprises a virtual photograph or a virtual video recording captured via a data capture tool presented within the virtual environment on the second device, and
the second capability is indicative of one of: resolution of capture, a time duration of capture, or a field of view of capture, of the second device.
21 . The non-transitory computer-readable medium of claim 19 , wherein the first device is located at a first location, and the second device is located at a second location, the first location and the second location being different from the physical location.
22 . A system, comprising:
a means for electronic communication via a communication network;
a means for storing executable instructions;
a means for viewing a virtual environment; and
a means for executing the executable instructions, the means for executing being configured to:
establish, via the means for electronic communication, a first communication connection with a first means for viewing a virtual environment;
establish, via the means for electronic communication, a second communication connection, separate from the second communication connection, with a second means for viewing a virtual environment;
cause a virtual environment representing a physical location to be presented by the first means for viewing a virtual environment and by the second means for viewing a virtual environment;
receive, from the first means for viewing a virtual environment, a request for capturing information associated with the physical location represented in the virtual environment, the request indicating:
a first capability of the second communication connection or a second capability of the second means for viewing a virtual environment, and
a first viewing perspective;
cause, based at least in part on the request, the second means for viewing the virtual environment to depict the physical location, within the virtual environment, from a second viewing perspective matching the first viewing perspective; and
capture, in accordance with the first capability or the second capability indicated in the request, and via a data capture tool presented by the second means for viewing a virtual environment, the information associated with the physical location,
wherein the information is captured, within the virtual environment from the second viewing perspective.
23 . The system of claim 22 , further comprising a means for capturing images, wherein the means of executing is further configured to:
receive, from the means for capturing images, a plurality of images of the physical location, wherein the plurality of images illustrates the physical location from a plurality of viewing perspectives; and
generate, by photogrammetric analysis of the plurality of images, the virtual environment representing the physical location.