VIRTUAL COLLABORATION ENVIRONMENT
Patent Information
- Authority / Receiving Office
- MX · MX
- Patent Type
- Patents
- Current Assignee / Owner
- POLARIS IND INC
- Filing Date
- 2022-01-03
- Publication Date
- 2026-05-19
AI Technical Summary
Collaboration using computing devices is limited by the inability to present information consistently across different devices, leading to less effective remote collaboration and increased frustration compared to in-person collaboration.
A virtual collaboration environment utilizing extended reality devices such as AR or VR headsets allows collaborators to perceive and interact with properties from various angles and perspectives, enabling shared perspectives and real-time updates, with options for recording and playback.
Enhances collaboration by ensuring consistent perception and interaction across devices, facilitating more effective remote collaboration through shared perspectives and real-time updates, and allowing for flexible interaction with virtual environments.
Smart Images

Figure MX434413B0
Abstract
Description
VIRTUAL COLLABORATION ENVIRONMENT Background of the Invention Collaboration using computer devices can be limited by the ability of those devices to present information, receive user input to interact with the presented information, and convey meaning to other collaborators. Consequently, remote collaboration may be less effective and may involve more expense and frustration than in-person collaboration. It is with respect to these and other general considerations that the modalities have been described. Also, although relatively specific problems have been analyzed, it should be understood that the modalities should not be limited to solving the specific problems identified in the background. Summary of the Invention The aspects described here refer to a virtual collaboration environment. In examples, a collaborator perceives and interacts with the virtual collaboration environment using an extended reality device, such as an augmented reality or virtual reality headset. One or more properties may be present within the virtual collaboration environment, enabling Ref. 330446 allows collaborators to perceive the properties accordingly. For example, a three-dimensional model can be viewed from various angles and distances. Furthermore, the properties can be updated within the virtual collaboration environment during a collaboration session (for example, using a computer-aided design application). In some cases, a collaborator's perspective can be shared with other collaborators, allowing them to perceive the virtual collaboration environment and its features from the same or a similar perspective. For example, a collaboration session can be recorded so that it can be viewed at a later point in time. The recording may allow a collaborator to move freely within the virtual collaboration space and / or from the perspective of other collaborators who were present during the recording. This summary is provided to introduce, in a simplified manner, a selection of concepts that are described in detail later in the Detailed Description. This summary is not intended to identify key features or essential characteristics of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Brief Description of the Figures Non-limiting and non-exhaustive examples are described with reference to the following figures. Figure 1 illustrates an overview of an example system for a virtual collaboration environment. Figure 2 illustrates an overview of an example virtual collaboration environment according to aspects of this description. Figure 3 illustrates an overview of an example method for initiating perspective sharing in a virtual collaboration environment. Figure 4 illustrates an overview of an example method for providing a shared perspective to other collaborators' computing devices in a virtual collaboration environment. Figure 5 illustrates an overview of an example method for generating a virtual collaboration environment according to a shared perspective. Figure 6 illustrates an overview of an example method for updating a property in a virtual collaboration environment. Figure 7 illustrates a diagram of a computer system to provide the aspects of the virtual collaboration environment described in this document. Detailed Description of the Invention The following detailed description refers to the accompanying figures, which form a part thereof and illustrate specific modalities or examples. These aspects may be combined, other aspects may be used, and structural changes may be made without departing from this description. The modalities may be implemented as methods, systems, or devices. Accordingly, the modalities may take the form of a hardware implementation, a purely software implementation, or an implementation that combines software and hardware aspects. Therefore, the following detailed description is not to be taken in a limiting sense, and the scope of this description is defined by the appended claims and their equivalents. In some examples, each member of a group might use their own computer to collaborate. In some cases, one or more properties might be the subject of collaboration, including, but not limited to, aspects of three-dimensional (3D) models, textures, colors, aesthetics, user interfaces, and / or user experience. For instance, collaboration might take place in an industrial design context where collaborators are designing aspects of a vehicle (e.g., color, materials, trim design, body style, and / or instrumentation). However, compared to in-person collaboration, it can be difficult to ensure that each collaborator has a similar understanding of the subject matter.For example, differences between computing devices can affect the accuracy of the color representation or size of features presented by each respective computing device. As another example, the nature of a property can make it difficult for collaborators to analyze specific aspects of it. For instance, a 3D model may have various facets that can be viewed from any number of perspectives, including viewing angle, height, position, and orientation. Communicating the perspective from which one collaborator is viewing the 3D model to other collaborators can be difficult and, therefore, detract from the quality of the collaboration. Therefore, in some cases, a fixed representation of a property, such as a screenshot or video taken from a fixed perspective, may be communicated. However, such techniques also limit collaboration, as a collaborator may then be unable to manipulate or otherwise interact with the property outside of that fixed representation. Therefore, the aspects described herein pertain to a virtual collaboration environment combined with extended reality techniques to facilitate collaboration among collaborators. As used herein, extended reality includes, but is not limited to, augmented reality (AR), mixed reality (MR), and virtual reality (VR). It should be noted that a virtual collaboration environment need not be strictly virtual and may instead comprise virtual elements superimposed on a physical environment. For example, a collaborator may use an extended reality device such as a VR or AR headset to view and / or interact with the virtual collaboration environment. In some cases, the virtual collaboration environment may also be accessible using a two-dimensional (2D) display, thus enabling collaborators to view the virtual collaboration environment without an extended reality device.For example, a mobile computing device (e.g., in conjunction with an image capture device and AR techniques) can be used to overlay the virtual collaboration environment on top of the collaborator's physical environment. As another example, the virtual collaboration environment can be rendered and displayed on the screen in 2D from the perspective of another collaborator (e.g., one using an extended reality device) or from a fixed or user-controllable camera within the virtual collaboration environment. One or more properties can be presented within the virtual collaboration environment, allowing collaborators to view, hear, or otherwise interact with them. For example, a 3D model can be presented within the virtual collaboration environment, enabling a collaborator to view it from various perspectives. A collaborator can adjust the model's position within the environment or, as another example, manipulate the perspective from which they perceive the virtual collaboration environment. Therefore, each collaborator can have a perspective within the virtual collaboration environment from which they perceive properties. A collaborator's perspective can be shared with other collaborators, enabling each collaborator to perceive the virtual collaboration environment and the properties within it from the same or a similar perspective. This can facilitate collaboration, as collaborators do not need to communicate information to other collaborators to manually coordinate perspectives within the virtual collaboration environment. In some cases, instead of being restricted to the perspective shared by a presenting collaborator, the features described herein may allow a collaborator's perspective to deviate from the shared perspective within a certain threshold or freely, enabling the collaborator to interact with the property from the shared perspective while also providing the freedom to evaluate the property from other potentially related perspectives.For example, a property might be presented to a collaborator using the shared perspective, but the collaborator might want to slightly deviate to gain additional context (for example, according to a different size or viewing angle, etc.) related to the property. In such cases, a control or other user interface element can be provided that offers the option to revert the collaborator's perspective back to the shared perspective. In some cases, collaborators may use the same type or model of extended reality (AR) device, or they may use AR devices with the same or a similar set of capabilities. For example, each AR device might have the same resolution, pixel density, or color accuracy, or similar features. In other instances, multiple classes of AR devices may be used, such that one AR class of AR devices has a shared or otherwise similar set of capabilities, while a VR class of AR devices has a different set of shared or otherwise similar capabilities. Therefore, variability in perception among collaborators resulting from the use of similar devices can be reduced, enabling collaborators to evaluate properties in the virtual collaboration environment more consistently.A collaboration session can be recorded, allowing for later playback (for example, by a collaborator who was unable to attend). In such cases, playback may allow a collaborator to move around the virtual collaboration environment as if they were initially present. Alternatively, the collaborator may view the virtual collaboration environment from the same perspective or from a different perspective (for example, within a certain range or freely) as any of the participants (for example, a shared perspective or the perspective of other collaborators). In some cases, a collaborator may consent to or otherwise indicate (for example, through a user preference) that their perspective can be recorded during the collaboration session, so that only a subset of perspectives is available for playback.Therefore, compared to fixed property representations, a collaborator may experience greater engagement with one or more properties in the virtual collaboration environment. A property in a virtual collaboration environment can be added, imported, or otherwise accessed from the software used to create or modify it. For example, a computer-aided design (CAD) application can be used to design a 3D model, which can then be brought into the virtual collaboration environment for review with collaborators. In some cases, the 3D model may be modified during the collaboration session (for example, in response to feedback from collaborators). Therefore, the 3D model can be reviewed in the CAD application and updated accordingly in the virtual environment. It will be noted that any of a variety of systems and associated paradigms can be used to implement the aspects described in this document. For example, a client / server paradigm can be used, where each collaborator uses a client (e.g., an extended reality device and / or a computer) that communicates with a server to access the virtual collaboration environment described herein. For example, the server can provide information associated with properties within the virtual collaboration environment (e.g., model aspects, textures, sounds, position information, and / or user interface elements) and / or can transmit perspective information to the collaborators, thereby enabling them to visualize the relative position of other collaborators within the virtual collaboration environment. In some cases, a collaborator in the virtual collaboration environment may be represented by an avatar. In other instances, a visual indication of the collaborator's perspective may be presented (for example, by highlighting one or more visible surfaces or generating a shape that represents a collaborator's field of view), thus enabling a collaborator to see what other collaborators are seeing. In some cases, a collaborator may choose to view the virtual collaboration environment from another collaborator's perspective. For example, a collaborator may activate another collaborator's avatar or a representation of their field of view to assume that collaborator's perspective. It may not be necessary to use a server, and in other examples, computing devices can communicate with each other to facilitate collaboration in a virtual collaboration environment, as described herein. For instance, an extended reality device may be pre-associated with a server (or, in other examples, one or more other extended reality devices and / or other computing devices) so that it is pre-configured to access one or more virtual collaboration environments (for example, with associated virtual private network (VPN) information or collaboration sessions and / or virtual collaboration environments). A collaboration session and / or a virtual collaboration environment may have an associated identifier, so that different collaboration sessions and / or virtual collaboration environments can be accessed according to the associated identifier.For example, the same virtual collaboration environment can be used for different collaboration sessions. The aspects described in this document can be used to facilitate collaboration in a variety of contexts. For example, at an early stage of the design process, a 3D model of a vehicle can be the subject of collaboration in a virtual collaboration environment. In some cases, the 3D model can be derived from a clay model in a physical environment, allowing for further refinement of the vehicle design in the physical environment. The initial 3D model can be updated, or a new 3D model can be generated based on the refined clay model. Roll-over protective structure (ROPS) shapes can then be modified, and / or openings can be added or removed in the virtual collaboration environment, among other examples.The virtual collaboration environment can be used to perform simulated color reviews and / or to add, modify, or remove graphics associated with the vehicle. In some cases, multiple versions of the model can be evaluated in the virtual collaboration environment, for example, a base model and a higher-category model, or based on different options (for example, adding accessories or evaluating different body styling options). The virtual collaboration environment can enable collaborators to interact with or otherwise manipulate the property, for example, by opening / closing the trunk, hood, and / or doors, as well as removing various panels from the 3D model. The virtual collaboration environment can also enable collaborators to modify properties of the environment itself, such as lighting (for example, light sources, lighting temperature, or according to a simulated time of day and / or sun position) or the scene in which the properties are presented (for example, a city scene, a rural scene, or a desert scene). Figure 1 illustrates an overview of an example system 100 for a virtual collaboration environment. As illustrated, system 100 comprises a server device 102, a computing device 106, an extended reality device 108, a computing device 110, and an extended reality device 112. In examples, the server device 102, computing device 106, extended reality device 108, and computing device 110 communicate via network 104, which may comprise a local area network, a wireless network, a virtual private network, or the Internet, or any combination thereof, among other examples. Server device 102 can be a server computing device or a set of computing devices that form a distributed computing device, among other examples. Computing device 106 and computing device 110 can each be any of a variety of computing devices, including, but not limited to, a mobile computing device, a laptop computing device, a tablet computing device, or a desktop computing device. Extended reality device 108 can be a standalone extended reality device and can therefore have capabilities similar to those of a mobile computing device or any of a variety of other computing devices.In contrast, the extended reality device 112 is illustrated connecting to the computing device 110, such that the computing device 110 can perform at least some of the processing and / or networking operations for the extended reality device 112. It will be appreciated that, although system 100 is illustrated as comprising a server device 102 and four devices 106, 108, 110, and 112, any number of such elements may be used in other examples. For instance, any number of extended reality devices and / or computing devices may be used. As one example, a single computing device may be used in combination with any number of extended reality devices. Furthermore, the functionality described herein with respect to server device 102 and devices 106, 108, 110, and 112 may be distributed among or otherwise implemented on any number of different computing devices in any of a variety of other configurations in other examples.As an example, server device 102 may be omitted, so that the aspects described herein with respect to server device 102 may be implemented instead by one or more of devices 106, 108, 110 and / or 112. The server device 102 is illustrated as comprising a collaboration environment manager 114, a perspective rendering engine 116, and a collaboration environment data store 118. In examples, the collaboration environment manager 114 receives perspective information for collaborators within a virtual collaboration environment (for example, as received from devices 106, 108, 110, and / or 112). The example perspective information includes, but is not limited to, a camera position (for example, according to an X, Y, Z coordinate system), one or more angles (for example, roll, pitch, and / or yaw), and / or an indication of an associated avatar for the collaborator. Accordingly, the collaboration environment manager 114 can transmit such perspective information to other computing devices associated with the virtual collaboration environment.In some cases, the Collaboration Environment Manager 114 may transmit an indication that a collaborator has initiated sharing from a device, thereby causing other devices to present the virtual collaboration environment according to the collaborator's shared perspective. In such cases, the Collaboration Environment Manager 114 may no longer broadcast perspective information to collaborators who are not presenting. The collaboration environment manager 114 can process requests for properties of the virtual collaboration environment, for example, by providing at least some of the data associated with such properties (for example, as stored by the collaboration environment data store 118). In some cases, the collaboration environment manager may receive a new or updated property (for example, from the computer-aided design application 120 of the computing device 106), so that the property is stored in the collaboration environment data store 118 and / or an indication is provided to the devices associated with the virtual collaboration environment. As a result, the new or updated property can be presented for collaboration via the virtual collaboration environment as described herein. The server device 102 further comprises the perspective rendering engine 116. In some cases, a virtual collaboration environment can be accessed without using an extended reality device. For example, the computing device 106 is illustrated without an associated extended reality device. In such cases, the server device 102 can generate a video stream associated with the virtual collaboration environment, which can then be presented by the computing device 106, thus enabling a collaborator to view the virtual collaboration environment without requiring an extended reality device. The video stream can be generated according to one or more perspectives (e.g., collaborators or cameras) within the collaboration environment.In some cases, a collaborator on computing device 106 can control the perspective from which the virtual collaboration environment is viewed, or, as another example, another collaborator can specify the perspective for the video stream. It will be noted that, in other examples, the perspective rendering engine 116 on server device 102 can be bypassed, so that the virtual collaboration environment is rendered by computing device 106 (for example, using properties from the collaboration environment data store 118), or, as yet another example, rendering can be performed according to a collaborator's perspective that is being viewed, so that one of the devices 108, 110, or 112 can generate the video stream for computing device 106 as the collaborator on computing device 106 views the virtual collaboration environment from the other collaborator's perspective accordingly. The collaboration environment data store 118 on server appliance 102 stores data associated with the virtual collaboration environments provided by server appliance 102. For example, collaboration environment data store 118 might store properties, avatars, identifiers associated with collaboration sessions and / or virtual collaboration environments, and / or recorded session information. For instance, a property might be received from computer-aided design application 120 and stored in collaboration environment data store 118. As another example, server appliance 102 might receive a request for a recording associated with a previous collaboration session, which could be identified in collaboration environment data store 118 by an associated identifier.The recorded collaboration session can be provided in such a way as to enable the requesting device to render the virtual collaboration environment or, as another example, it can be rendered by the perspective rendering engine 116 and provided as a video stream in response. Therefore, server device 102 enables devices 106, 108, 110, and 112 to generate and present the described virtual collaboration environment to the collaborators associated with each respective device. For example, extended reality device 108 can receive, request, or otherwise access one or more properties and associated information (e.g., position information, scaling information, etc.) and use that information to generate the virtual collaboration environment accordingly. The collaborator can move within the virtual collaboration environment and interact with the properties within it. Extended reality device 108 can provide an indication of the collaborator's interaction with a property of the virtual collaboration environment, so that server device 102 can relay that information to enable the other collaborators to view those interactions.As another example, the extended reality device 108 can detect collaborator movements using data received from one or more inertial measurement units (IMUs) or by determining the collaborator's position relative to fixed objects in the surrounding physical environment, among other detection techniques. As a result, the extended reality device 108 can update the associated perspective and presentation of the virtual collaboration environment. Furthermore, the extended reality device 108 can provide an indication of the updated collaborator perspective to the server device 102, where it can be relayed to the other devices and presented to the collaborators as described above. Figure 2 illustrates an overview of an example virtual collaboration environment 200 according to aspects of the present description. As illustrated, the virtual collaboration environment 200 comprises property 202, collaborator 204 using extended reality device 206, collaborator 208 using extended reality device 210, and cameras 212 and 214. In examples, extended reality devices 206 and 210 may each be a standalone extended reality device (e.g., extended reality device 108 in Figure 1) or they may use a computing device to perform at least some of the associated processing and / or networking operations (e.g., extended reality device 112 and computing device 110). Property 202 is illustrated as a 3D model, as it may be associated with the computer-aided design application 120 in Figure 2. Therefore, as an example, property 202 may be added, imported, or otherwise accessed for inclusion in virtual collaboration 200 from such software. In some examples, property 202 is accessed from a collaboration environment data store, such as collaboration environment data store 118 in Figure 1. In other examples, virtual collaboration 200 may comprise any of a variety of other properties in addition to or as an alternative to property 202. For example, virtual collaboration 202 may comprise aspects of sound, textures, and / or colors (e.g., as they may apply to property 202), aesthetics, user interfaces, and / or user experience.It will be noted that, although the virtual collaboration environment 200 is illustrated as comprising a single property 202 in the form of a 3D model, any number and / or variety of property types can be used, in accordance with the aspects described herein. Furthermore, it will be noted that a property need not be strictly associated with a virtual space; additionally, or alternatively, it can be superimposed on a physical object using AR and / or MR techniques. Collaborators 204 and 208 can view, manipulate, or otherwise interact with property 202. For example, collaborator 204 can change the perspective presented by the extended reality device 206 within the virtual collaboration environment 200 by moving in physical space or providing other user input (e.g., one or more gestures, keyboard input, mouse input, or touchscreen input). Similarly, collaborator 208 can provide an indication to the extended reality device 210 that causes the extended reality device 210 to adjust a magnification level, scaling factor, or position of the rendered perspective, thereby enabling collaborator 208 to view property 202 closer and / or at a higher level of detail. Cameras 212 and 214 provide perspectives within the virtual collaboration environment 200 from which collaborators can view property 202. For example, a collaborator without an extended reality device can view the virtual collaboration environment 200 using camera 212 or camera 214. As another example, the collaborator can view the virtual collaboration environment from the perspective of extended reality device 206 (e.g., collaborator 204) or extended reality device 210 (e.g., collaborator 208). In some cases, cameras 212 and / or 214 are fixed, while in other instances, they may be user-controllable. For example, the virtual collaboration environment 200 comprises avatars associated with collaborators 204 and 208, presented according to their respective perspectives. Therefore, collaborator 204 can determine where and / or what collaborator 208 is looking at, and vice versa. Consequently, a collaboration environment manager, such as collaboration environment manager 114 in Figure 1, can relay perspective information associated with each collaborator's current view. Similarly, visual representations for cameras 212 and 214 can be presented within the virtual collaboration environment 200. As described above, collaborator 204 and / or 208 can share an associated perspective in the virtual collaboration environment 200 with other collaborators. For example, collaborator 204 can share the perspective rendered for the extended reality device 206 with collaborator 208, so that the extended reality device 210 similarly represents the virtual collaboration environment 200 from the perspective of the extended reality device 206, even if collaborator 208 is in a different relative location with respect to a property 202. In some cases, collaborator 208 can even provide an indication to the extended reality device 210 to move the shared perspective.This can cause a deviation from the shared perspective (for example, according to a predetermined threshold or freely) that is presented only to collaborator 208, or, as another example, the deviation can cause the perspective to change for all collaborators viewing the shared perspective. Such aspects need not be limited to perspectives from extended reality devices 206 and 210, and can be similarly applied to cameras 212 and 214. Although the virtual collaboration environment 200 is illustrated as comprising a single property, two cameras, and two collaborators, each with an extended reality device, it will be appreciated that any number of such elements can comprise a virtual collaboration environment in other examples. For instance, a virtual collaboration environment might comprise no cameras, so that each collaborator instead perceives the virtual collaboration environment using an extended reality device. As another example, a single extended reality device might be used by one collaborator, so that other collaborators perceive the virtual collaboration environment from the perspective of that extended reality device, in accordance with aspects described herein. In other examples, multiple properties may be present. Figure 3 illustrates an overview of a sample Method 300 for initiating perspective sharing in a virtual collaboration environment. Aspects of Method 300 can be performed by a collaborator's device, such as the computing devices 106 or 110, or the extended reality devices 108 or 112 in Figure 1. For example, Method 300 can be performed by a computing device that is providing a shared perspective to other collaborators' devices. Method 300 begins at operation 302, where a user prompt is received to share a collaborative environment perspective with collaborators. For example, a collaborator might trigger a user interface element, a voice command might be received, or any of a variety of other user prompts might indicate a collaborator's instruction to begin perspective sharing. The flow progresses to operation 304, where an indication is provided to begin sharing the collaborator's perspective. For example, the indication can be provided to a server device, such as server device 102 in Figure 1, so that the server device can relay the indication to other devices. In other examples, the indication can be provided to other collaborators' devices without the use of such an intermediary server device. Operation 306 provides an indication of an updated perspective. Similar to operation 304, this indication can be provided to a server device so that the server device can relay the updated perspective information to other devices. Alternatively, the indication can be provided to other collaborators' devices. Example perspective information includes, but is not limited to, a camera position for the collaborator, one or more associated camera angles, and / or an indication of an associated avatar for the collaborator. This information can then be used to update the perspective displayed by other devices, so that they present a similar view of the virtual collaboration environment to the one the collaborator is seeing. An arrow from operation 306 back to operation 306 illustrates that the flow can be repeated in operation 306 for the duration of the sharing session, ensuring that other collaborators continue to receive perspective updates. Perspective updates can be sent periodically (for example, every second or ten times per second) or when the shared perspective changes (for example, within a predetermined threshold or upon any change). It's worth noting that, in addition to or as an alternative to providing perspective information, other examples might include rendering the virtual collaboration environment and providing a video feed of the rendered virtual collaboration environment to other collaborators' devices. Eventually, the flow progresses to operation 308, where a user prompt is received to stop sharing the perspective with other collaborators. Similar to operation 302, the user prompt can be received via a user interface element, such as a voice command, or as any of a variety of other user prompts that can indicate an instruction from the collaborator to stop sharing the perspective. Therefore, in operation 310, an instruction to stop perspective sharing is provided. For example, the instruction can be provided to a server device, such as server device 102 in Figure 1, so that the server device can relay the instruction to other devices. In other examples, the instruction can be provided to devices of other collaborators without the use of such an intermediary server device. Method 300 terminates in operation 310. Figure 4 illustrates an overview of a sample method for providing a shared perspective to other collaborators' computing devices in a virtual collaboration environment. Aspects of method 400 can be performed by a server device, such as server device 102 in Figure 1. Method 400 begins with operation 402, where an indication is received that a collaborator is initiating perspective sharing. For example, the indication might be received as a result of a collaborating device (such as device 106, 108, 110, or 112 in Figure 1) performing aspects of operation 304 of method 300 in Figure 3. The flow progresses to operation 404, where a prompt is sent to other collaborating devices to initiate the display of the shared perspective. In some cases, the prompt includes information associated with the collaborator who initiated the perspective sharing, such as a collaborator name and / or information associated with a collaborator avatar. In operation 406, an indication of the presenting contributor's perspective is received. For example, the indication might be received as a result of the presenting contributor's device performing aspects of operation 306 of method 300 in Figure 3. The indication may include perspective information. The flow progresses, and perspective updates (for example, in operation 408) can only be relayed when a perspective change exceeds a predetermined threshold. The flow eventually progresses to operation 410, where an indication is received that the presenting collaborator has stopped sharing. For example, this indication might be received as a result of the collaborating device performing aspects of operation 310 of method 300 in Figure 3. Therefore, operation 412 provides an instruction to other collaborating devices to stop displaying the shared perspective. In some cases, operation 412 involves terminating a video stream being provided from the shared perspective. Method 400 ends with operation 412. Figure 5 illustrates an overview of a sample Method 500 for generating a virtual collaboration environment according to a shared perspective. Aspects of Method 500 can be performed by a collaborator's device, such as the computing devices 106 or 110, or the extended reality devices 108 or 112 in Figure 1. For example, Method 500 can be performed by a computing device that is receiving a shared perspective for a virtual collaboration environment. Method 500 begins with operation 502, which provides an indication to initialize the display of a shared perspective for a virtual collaboration environment. In some examples, the indication is received from a device performing aspects of operation 304 in Figure 3 or aspects of operation 404 in Figure 4. In some cases, operation 502 includes the visual presentation of a notification that a collaborator has initialized perspective sharing. The flow progresses to operation 504, where an indication of a presenting collaborator's perspective is received. The indication may include perspective information associated with the presenting collaborator's viewpoint in the virtual collaboration environment. Consequently, in operation 506, the virtual collaboration environment is presented according to the presenting collaborator's perspective. The collaboration environment may be rendered by the device (for example, using a perspective rendering engine, such as perspective rendering engine 116 in Figure 1) or, in other examples, operation 506 involves displaying a video stream (for example, as received from the presenting collaborator's device or a server device, among other examples).As described above, the shared perspective can be adjusted freely or within a certain threshold, deviating from the shared viewpoint and thus allowing collaborators to vary their interactions with the properties of the virtual collaboration environment. This deviation can occur locally or be communicated to other devices, updating the shared perspective accordingly. An arrow is drawn from operation 506 to operation 504 to illustrate that the flow can be repeated between operations 504 and 506 for the duration of the sharing session, so that the perspective viewed by the device executing method 500 reflects that of the presenting collaborator. In operation 508, a signal is received to stop the display of the shared perspective. In some examples, the signal is received from a device performing aspects of operation 310 in Figure 3 or aspects of operation 412 in Figure 4. Consequently, the flow progresses to operation 510, where the display of the perspective ends. For example, full control can be returned to the collaborator from the shared perspective, or, as another example, the perspective used to represent the virtual collaboration environment can be returned to the collaborator's perspective before the sharing session begins. Method 500 ends at operation 510. Figure 6 illustrates an overview of a sample Method 600 for updating a property in a virtual collaboration environment. In the examples, aspects of Method 600 are performed by a collaborator device, such as Computing Devices 106 or 110, or Extended Reality Devices 108 or 112 in Figure 1. Method 600 begins at Operation 602, where an indication of a property update is received. For example, the indication might be received from a server device (e.g., Server Device 102 in Figure 1) when a model in a virtual collaboration environment is added or updated (e.g., as stored by a collaboration environment data store, such as Collaboration Environment Data Store 118).For example, the model can be added to or updated using a computer-aided design application, such as the computer-aided design application 120 in Figure 1. Operation 604 generates a notification of the updated property. In some cases, the information in operation 602 includes a description of the property or a description of one or more changes that were made. Therefore, in operation 604, this descriptive information may be presented as part of the generated notification. The notification may request user input from the collaborator indicating whether a model currently displayed in the virtual collaboration environment should be updated or, as another example, whether the model should be added to the virtual collaboration environment. The flow progresses to operation 606, where a user response to the notification is received. For example, the user response might involve interacting with a user interface element or providing voice input, among other input techniques. In some cases, the notification may be presented to the user for a predetermined amount of time, so the user response consists of the contributor taking no action (at least with respect to the notification) for that predetermined period. In determination 608, it is determined whether there was a user instruction to update the collaboration environment to incorporate the property. If it is determined that there was no such user instruction, the flow proceeds to branch NO and ends at operation 610. However, if it is determined that there was a user instruction to update the collaboration environment, the flow instead proceeds to the YES branch to operation 612, where a property associated with the property update instruction is accessed. For example, the property might be accessed from a collaboration environment data store, such as collaboration environment data store 118 in Figure 1. As another example, the property might be accessed from the device on which the property was updated or created using a computer-aided design application. In some cases, the instruction received in operation 602 might include the property, so operation 612 can be skipped. The flow progresses to operation 614, where the collaboration environment is updated according to the accessed property. For example, the property can be placed within the virtual collaboration environment. The property can be placed according to the position of a previous instance of the property, according to a position specified by the device collaborator performing method 600, or according to a position specified by another collaborator, among other examples. The flow ends at operation 614. It will be noted that, in other examples, it is not necessary to prompt a user before updating a property or incorporating a new property into a virtual collaboration environment. In such cases, operations 604 and 610 can be omitted. Figure 7 illustrates a diagram of a computer system 700 for providing the aspects of the virtual collaboration environment described herein. For example, some or all of the functions of the server device 102 (e.g., the collaboration environment manager 114, the perspective rendering engine 116, and the collaboration environment data store 118), the computer devices 106 and 110 (e.g., the computer-aided design application 120), and / or the extended reality devices 108 and 112 may be performed by a computer system having components similar to those of computer system 700. The diagram is merely an example and should not unduly limit the scope of the claims. A person skilled in the art would recognize many variations, alternatives, and modifications. The computer system 700 includes a bus 702 or other communication mechanism for communicating information between a processor 704, a display 706, a cursor control component 708, an input device 710, main memory 712, read-only memory (ROM) 714, a storage unit 716, and / or a network interface 718. In some examples, the bus 702 is coupled to the processor 704, the display 706, the cursor control component 708, the input device 710, main memory 712, read-only memory (ROM) 714, the storage unit 716, and / or the network interface 718. And, in certain examples, the network interface 718 is coupled to a network 720 (for example, network 104). In some examples, the 704 processor includes one or more general-purpose microprocessors. In some examples, the 712 main memory (e.g., random-access memory (RAM), cache, and / or other dynamic storage devices) is configured to store information and instructions for execution by the 704 processor. In certain examples, the 712 main memory is configured to store temporary variables or other intermediate information during the execution of instructions for execution by the 704 processor. For example, instructions, when stored in the 716 storage unit accessible to the 704 processor, transform the 700 computer system into a special-purpose machine customized to perform the operations specified in the instructions (e.g., according to methods 300, 400, 500, and / or 600 in Figures 3, 4, 5, and 6, respectively).In some examples, ROM 714 is configured to store static information and instructions for processor 704. In certain examples, storage unit 716 (for example, a magnetic disk, optical disk, or flash drive) is configured to store information and instructions. Therefore, the 700 computer system may include at least some form of computer-readable media. Computer-readable media may be any available medium that can be accessed by the 704 processor or other devices. For example, computer-readable media may include computer storage media and communication media. Computer storage media may include removable and non-removable volatile and non-volatile memory implemented in any method or technology for storing information, such as computer-readable instructions, data structures, program modules, or other data. Computer storage media may not include communication media. In some configurations, the display 706 (for example, a cathode ray tube (CRT), an LCD screen, or a touch screen) is configured to visually present information to a user of the computer system 700. In some examples, the input device 710 (for example, alphanumeric and other keys) is configured to communicate information and commands to the processor 704. For example, the cursor control 708 (for example, a mouse, a joystick, or cursor direction keys) is configured to communicate additional information and commands (for example, to control cursor movements on the display 706) to the processor 704. The aspects of this description have been previously described, for example, with reference to block diagrams and / or operational illustrations of the methods, systems, and software products in accordance with the description. The functions / actions indicated in the blocks may occur out of the order shown in any flowchart. For example, two blocks shown in succession may actually execute substantially simultaneously, or the blocks may sometimes execute in reverse order, depending on the functionality / actions involved. The following clauses are provided as example aspects of the subject matter described: 1. A system comprising: at least one processor; and memory storing instructions that, when executed by the at least one processor, cause the system to perform a set of operations, the set of operations comprising: receiving, as part of a collaboration session, perspective information associated with a shared perspective in a virtual collaboration environment from a presenting collaborator, wherein the virtual collaboration environment comprises a property; rendering, based on the received perspective information, the virtual collaboration environment comprising the property; receiving updated perspective information associated with the shared perspective from the presenting collaborator; and in response to receiving the updated perspective information, rendering the virtual collaboration environment based on the updated perspective information. 2. The system of clause 1, wherein the set of operations further comprises: receiving user input indicating a setting to the shared perspective; and in response to the user input received, rendering the virtual collaboration environment in accordance with the setting. 3. The system of clause 2, where the set of operations additionally comprises: determining that the adjustment to the shared perspective is within a predetermined threshold. 4. The system of any of clauses 1-3, wherein the set of operations further comprises: receiving an indication to stop the display of the presenting collaborator's shared perspective; and in response to the indication received, rendering the virtual collaboration environment using a previous perspective. 5. The system in clause 4, where representing the virtual collaboration environment using the above perspective includes representing a virtual avatar associated with the presenting collaborator. 6. The system of any of clauses 1-5, wherein the set of operations further comprises: receiving an indication of an update to the property; accessing an updated version of the property; and rendering the virtual collaboration environment comprising the updated version of the property. 7. The system of any of clauses 1-6, where perspective information and updated perspective information are received from a presenting collaborator's device. ινΐΛ / a / zuzz / uuu i oo 8. The system of any of clauses 1-7, where prospect information and updated prospect information are received from an intermediary server device. 9. The system of any of clauses 1-8, where the property is a three-dimensional model. 10. A method for providing a virtual collaboration environment, comprising: receiving, from a first computing device, an indication to initiate the sharing of a collaborator's perspective in the virtual collaboration environment; providing, to a second computing device, the indication to initiate sharing; receiving, from the first computing device, perspective information associated with the collaborator's perspective in the virtual collaboration environment; providing, to the second computing device, the perspective information; receiving, from the second computing device, an adjustment to the collaborator's perspective in the virtual collaboration environment; and providing, to the first computing device, the adjustment to the collaborator's perspective in the virtual collaboration environment. 11. The method of clause 10, further comprising: receiving an indication of an update to a property of the virtual collaboration environment; and providing, to the second computing device, an indication that the property has been updated. 12. The method of clause 11, further comprising: receiving, from the second computer device, a request for an updated version of the property; and in response to the request received, providing the updated version of the property. 13. The method of any of clauses 10-12, further comprising: receiving, from the first computing device, an updated property associated with a property of the virtual collaboration environment; storing the updated property in a collaboration environment data store; and providing, to the second computing device, an indication of the updated property. 14. A method for providing a virtual collaboration environment, comprising: receiving, from a first device as part of a collaboration session, perspective information associated with a shared perspective in a virtual collaboration environment of a presenting collaborator associated with the first device, wherein the virtual collaboration environment comprises a property; rendering, on a second device and based on the received perspective information, the virtual collaboration environment comprising the property; receiving, from the first device, updated perspective information associated with the presenting collaborator's shared perspective; and in response to receiving the updated perspective information, rendering the virtual collaboration environment based on the updated perspective information. 15. The method of clause 14, further comprising: receiving, on the second device, user input indicating a shared perspective setting; determining that the shared perspective setting is within a predetermined threshold; and based on the determination that the shared perspective setting is within the predetermined threshold, rendering the virtual collaboration environment in accordance with the setting. 16. The method of any of clauses 14-15, further comprising: receiving, from the first device, an indication of an update to the property; and updating the virtual collaboration environment to understand the updated version of the property. 17. The method of clause 16, where the property is a three-dimensional model. 18. The method of clause 17, where the indication of the update to the property is associated with a computer-aided design application. 19. The method of any of clauses 14-18, further comprising: receiving, from the first device, an indication to stop the display of the shared perspective; and in response to the indication received, rendering the virtual collaboration environment using a previous perspective. 20. The method of clause 19, where representing the virtual collaboration environment using the above perspective comprises representing a virtual avatar associated with the presenting collaborator. The description and illustration of one or more aspects provided in this application are not intended to limit or restrict in any way the scope of the claimed description. The aspects, examples, and details provided in this application are considered sufficient to convey possession and enable others to make and use the best modality of the claimed description. The claimed description should not be construed as being limited to any aspect, example, or detail provided in this application. Regardless of whether shown and described in combination or separately, the various features (both structural and methodological) are intended to be selectively included or omitted to produce a modality with a particular set of features.Having provided the description and illustration of the present application, a person skilled in the art can imagine variations, modifications, and alternative aspects that fall within the spirit of the broader aspects of the general inventive concept embodied in this application and do not depart from the broader scope of the claimed description. It is hereby stated that, as of this date, the best method known to the applicant for putting the aforementioned invention into practice is the one that is clear from the present description of the invention.
Claims
CLAIMS Having described the invention as above, the following claims are claimed as property: 1.A system characterized in that it comprises: at least one processor; and memory that stores instructions that, when executed by the at least one processor, cause the system to perform a set of operations, the set of operations comprising: receiving, as part of a collaboration session, perspective information associated with a shared perspective in a virtual collaboration environment from a presenting collaborator, wherein the virtual collaboration environment comprises a property; rendering, based on the received perspective information, the virtual collaboration environment comprising the property; receiving updated perspective information associated with the shared perspective from the presenting collaborator; and in response to receiving the updated perspective information, rendering the virtual collaboration environment based on the updated perspective information.
2. The system according to claim 1, characterized in that the set of operations further comprises: receiving user input indicating a setting to the shared perspective; and in response to the received user input, rendering the virtual collaboration environment in accordance with the setting.
3. The system according to claim 2, characterized in that the set of operations further comprises: determining that the fit to the shared perspective is within a predetermined threshold.
4. The system according to claim 1, characterized in that the set of operations further comprises: receiving an indication to stop the display of the presenting collaborator's shared perspective; and in response to the indication received, rendering the virtual collaboration environment using a previous perspective.
5. The system according to claim 4, characterized in that representing the virtual collaboration environment using the above perspective comprises representing a virtual avatar associated with the presenting collaborator.
6. The system according to claim 1, characterized in that the set of operations further comprises: receiving an indication of an update to the property; accessing an updated version of the property; and rendering the virtual collaboration environment comprising the updated version of the property.
7. The system according to claim 1, characterized in that the perspective information and the updated perspective information are received from a device of the presenting collaborator.
8. The system according to claim 1, characterized in that the prospect information and the updated prospect information are received from an intermediary server device.
9. The system according to claim 1, characterized in that the property is a three-dimensional model.
10. A method for providing a virtual collaboration environment, characterized in that it comprises: receiving, from a first computing device, an indication to initiate the sharing of a collaborator's perspective in the virtual collaboration environment; providing, to a second computing device, the indication to initiate the sharing; receiving, from the first computing device, perspective information associated with the collaborator's perspective in the virtual collaboration environment; providing, to the second computing device, the perspective information; receiving, from the second computing device, an adjustment to the collaborator's perspective in the virtual collaboration environment; and providing, to the first computing device, the adjustment to the collaborator's perspective in the virtual collaboration environment.
11. The method according to claim 10, characterized in that it further comprises: receiving an indication of an update to a property of the virtual collaboration environment; and providing, to the second computing device, an indication that the property has been updated.
12. The method according to claim 11, characterized in that it further comprises: receiving, from the second computer device, a request for an updated version of the property; and in response to the request received, providing the updated version of the property.
13. The method according to claim 10, characterized in that it further comprises: receiving, from the first computing device, an updated property associated with a property of the virtual collaboration environment; storing the updated property in a collaboration environment data store; and providing, to the second computing device, an indication of the updated property.
14. A method for providing a virtual collaboration environment, characterized in that it comprises: receiving, from a first device as part of a collaboration session, perspective information associated with a shared perspective in a virtual collaboration environment of a presenting collaborator associated with the first device, wherein the virtual collaboration environment comprises a property; rendering, on a second device and based on the received perspective information, the virtual collaboration environment comprising the property; receiving, from the first device, updated perspective information associated with the shared perspective of the presenting collaborator; and in response to receiving the updated perspective information, rendering the virtual collaboration environment based on the updated perspective information.
15. The method according to claim 14, characterized in that it further comprises: receiving, on the second device, user input indicating a shared perspective setting; determining that the shared perspective setting is within a predetermined threshold; and based on the determination that the shared perspective setting is within the predetermined threshold, rendering the virtual collaboration environment in accordance with the setting.
16. The method according to claim 14, characterized in that it further comprises: receiving, from the first device, an indication of an update to the property; and updating the virtual collaboration environment to understand the updated version of the property.
17. The method according to claim 16, characterized in that the property is a three-dimensional model.
18. The method according to claim 17, characterized in that the indication of the update to the property is associated with a computer-aided design application.
19. The method according to claim 14, characterized in that it further comprises: receiving, from the first device, an indication to stop the display of the shared perspective; and in response to the indication received, rendering the virtual collaboration environment using a previous perspective.
20. The method according to claim 19, characterized in that representing the virtual collaboration environment using the above perspective comprises representing a virtual avatar associated with the presenting collaborator.