Facilitating conference participation by converting viewing angle to temporary viewing angle showing group activity

By converting the viewing perspective to a temporary aggregation of group activity perspectives in a 3D virtual environment, it solves the problem that users find it difficult to share the same team activity in a virtual environment, improves user participation and information sharing effectiveness, and reduces the waste of computing resources and security risks.

CN120345238APending Publication Date: 2025-07-18MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380084478.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-12-29
Filing Date
2023-10-26
Publication Date
2025-07-18

AI Technical Summary

Technical Problem

In a 3D immersive virtual environment, users find it difficult to share the activity experience of the same team due to differences in location and perspective, resulting in the loss of information and enthusiasm communication, affecting user engagement and increasing the inefficient use of computing resources.

Method used

By converting the viewing perspective to a temporary aggregated group activity perspective, a new virtual environment model is generated that displays only the reactions of team members who meet preset conditions, ensuring that each user can see the collaborative activity of their team.

Benefits of technology

It improves user participation, reduces user fatigue and reuse of computing resources, enhances the effectiveness and security of information sharing, and prevents confidential information from leaking.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120345238A_ABST
    Figure CN120345238A_ABST
Patent Text Reader

Abstract

Techniques disclosed herein provide promotion of conference participation by translating viewing angles to temporary viewing angles showing group activity. The system may show to each person a view of a large virtual environment, such as in a stadium full of a representation of the conference attendees. Each person sees the virtual environment from a viewpoint (e.g., a first person avatar view) originating from the representation of each person. When the group activity satisfies one or more conditions, the system generates a new virtual environment model that shows a detailed view of everyone in the group without showing members of other teams that may be mixed with the group in the original environment. The system may translate the view of each group member from the first person view to a temporary view that includes only the newly generated model of the group member. The temporary view may remain until group activity falls below a threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] The use of metaverse environments for online conferencing applications is becoming ubiquitous. Participants in online conferences now meet in three-dimensional virtual environments and share content within those virtual environments. Although there are many benefits compared to other forms of collaboration, using 3D environments to share content can present many drawbacks.

[0002] When meeting in a 3D immersive virtual environment, depending on the user's location and the virtual camera position, it may be difficult to see the activities of a particular group of people. For example, if the virtual environment has a large number of conference attendees, not all members of a particular group of people may be located near each other. This can happen when people are in several teams and each team may react differently to different events. For example, if a person is in a developer team and that person's avatar is located in the same position as the avatars of other team members, they can react together to certain events, such as when their team receives an award. However, if that person is also involved in a special project, such as a project regarding a volunteer group involving different groups of people, then if that volunteer group experiences a similar event, such as receiving an award, that person cannot have the same group experience. Since that person's avatar is located in the same position as the developer team, that person cannot react, such as cheer, and experience the same collaborative group experience that he or she and the developer team are experiencing.

[0003] By not being near team members in the virtual environment, users may not share the same experience or benefit from the team-building experience. Users may miss important information and gestures, which can lead to a loss of communication of information and motivation. These drawbacks can result in an ineffective interaction between the computing device and the user. In addition, the above drawbacks of existing systems can lead to a loss of user engagement. In addition, proper control of the permissions to manage the view of the virtual environment is also important for protecting proprietary or confidential information. This is especially important for events where competing teams are participants in a virtual conference and different views are generated for each person.

[0004] Computing devices that do not promote user engagement, or worse, result in a loss of user engagement, can lead to production losses and inefficiencies with respect to multiple computing resources. For example, when a user becomes fatigued or distracted, or when shared content is missed or ignored, the user may need to refer to other resources, such as documents, or engage in other forms of communication. When a viewer misses a point or clue during a live meeting, it may be necessary to resend the missed content. Such activities can lead to inefficiencies or redundant use of network, processor, memory, or other computing resources. Accordingly, there is a need for ongoing development and improvement to help make the user experience more like an in-person meeting and more engaging. Additionally, when information in a metaverse environment is not correctly displayed, or when some content that is supposed to be hidden from some users is displayed on a virtual object (such as a virtual screen), such content may be inadvertently exposed. SUMMARY OF THE INVENTION

[0005] The technology disclosed herein provides a facilitation of meeting participation by switching a viewing perspective to a temporary viewing perspective that shows a group activity. The system can show everyone a view of a large virtual environment, such as a stadium filled with representations of meeting attendees. Each person sees the virtual environment from a viewpoint that originates from that person's representation (such as a first-person avatar view). When the group activity meets one or more conditions, the system generates a new virtual environment model that shows detailed views of all the people in the group, without showing members of other teams that may have been mixed in the original environment. The system temporarily aggregates the group to show the group activity. Inputs that identify events that meet a preset condition can include people with a "threshold level of connection," such as an organizational diagram showing that they are team members, and / or people with a "threshold level of activity," such as 80% of the people in a team are cheering or providing reaction or action inputs. The system can switch the view of each group member from a first-person view to a temporary view of the newly generated model that includes only the group members. The model can be a live activity model to show how each person is reacting and moving. The temporary view of the group activity can be maintained until the group activity drops below a threshold level.

[0006] It is possible to aggregate different groups for a person's view throughout a meeting. For example, if a person is on a company team that has received an award, all the people in that team are aggregated for that person's view to see the team's reaction. Then, if that person receives an award for a special project involving another group of people, the second group can be temporarily aggregated for that person's perspective to see the group's reaction. Each group can be based on metadata, such as an organizational chart or other data, such as a word processing document to which multiple people have contributed. Groups are selected based on common activities or associations. Certain group activities trigger the system to aggregate groups of people, such as company teams, or groups of workers on a special project. The association of each person's threshold level, e.g., whether they have worked together on a threshold number of documents, or whether the organizational chart shows a relationship. For example, a group can be people who are one level apart from each other in the management organizational chart, with people outside of that parameter not in the group.

[0007] The system provides a fully inclusive group aggregation showing the live activities of each person's avatar. This has more technical benefits than stitching images together because the present disclosure places the avatars together so that they appear as if they are located together in a group. This shows the synergy of the current reaction to the event to all individuals in the group. The avatars can interact, such as high-fiving each other, looking at each other, etc. The view can be from the first-person view of each person in the new model, or the view can be from a virtual camera.

[0008] In one example, a virtual stadium can have two different groups randomly mixed. For example, Seahawks and Falcons fans can have mixed avatars. When Seahawks fans generate a level of synergy, such as when they see an event in the game or react to that event, the system can bring the avatars of Seahawks fans scattered in different groups into a single group to emphasize the group activity. The same can be done for fans of other teams. This means that each group does not have members of other teams mixed in their group, which could, for example, result in a less-than-optimal team reaction. Each person's view can be from the perspective originating from their avatar or from a virtual camera view showing the entire group.

[0009] The system allows different groups of people to be viewed simultaneously to show the collaborative activities of teams, project members, etc. to each group of people. For example, a meeting may have thousands of avatars in the original virtual environment. The presenter can award rewards to the group of people participating in Project X. The techniques of the present disclosure can place the avatars of the people participating in Project X in a separate virtual temporary model that shows only that first group of people, so that they can react as a group to announcements. Then, the presenter can award rewards to the group of people participating in Project Y. The techniques of the present disclosure can place the avatars of the people participating in Project Y in another separate virtual temporary model that shows only that first group of people, so that they can react as a group to announcements. Each group can see the perspective of the individual group, or they can see each other through the viewpoints originating from each avatar.

[0010] The use of adaptive adjustment of the temporary view can provide many technical benefits to the computing system. For example, by providing adaptive adjustment of the perspective, each user of a communication session can obtain the benefits of group activities, even if they are not sitting together in the original virtual environment. By providing such an incentive, the system can promote user participation and help the system reduce user fatigue. By reducing user fatigue, especially in a communication system, users can exchange information more effectively. This helps to reduce the situation of missing or overlooking shared content. This can reduce the situation where users need to resend information. More effective communication of shared content can also help avoid the need for external systems, such as mobile phones for sending text messages and other messaging platforms. The systems and features described herein can also help reduce the reuse of network, processor, memory, or other computing resources.

[0011] The features disclosed herein also provide many improvements to the security of the system. For example, members of other teams are denied access to the collaborative activities of other groups. This allows each group to share information and communicate with each other without sharing that information with members of other groups. For example, in the above sports event example, the first group of fans can react together and share information such as future strategies without allowing other fans to see that information.

[0012] By reading the following detailed description and viewing the associated drawings, features and technical advantages other than those explicitly described above will become apparent. This summary of the invention is intended to introduce, in simplified form, a set of concepts that will be further described in the detailed description below. This summary of the invention is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to help determine the scope of the claimed subject matter. For example, as permitted by the above context and throughout the document, the term "technique" may refer to a system, method, computer-readable instructions, module, algorithm, hardware logic, and / or operation. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Specific embodiments are described with reference to the accompanying drawings. In the figures, the leftmost digit of a reference numeral identifies the figure in which the reference numeral first appears. The same reference numerals in different figures indicate similar or identical items. References to individual items among multiple items may use reference numerals with letters in a sequence to refer to each individual item. General references to an item may use the specific reference numeral without a letter sequence.

[0014] Figure 1 A virtual environment including a representation of attendees of a meeting is shown.

[0015] Figure 2 An example of a rendering of a perspective view from a viewpoint derived from a representation of one attendee is shown.

[0016] Figure 3 Highlighting of meeting attendees associated with a specific event is shown.

[0017] Figure 4 An example of a supplemental model generated from an original model of a virtual environment is shown, where the supplemental model includes a subset of meeting attendees associated with a specific event.

[0018] Figure 5 An example of a rendering of a perspective view from a viewpoint derived from a virtual camera defined in a supplemental model is shown, where the attendees shown in the rendering are within a virtual environment showing aspects of the original virtual environment.

[0019] Figure 6 An example of a rendering of a perspective view from a viewpoint derived from a virtual camera defined in a supplemental model is shown, where the attendees shown in the rendering are within a new virtual environment.

[0020] Figure 7 A flowchart showing aspects of a routine implementing the disclosed technology is shown.

[0021] Figure 8 A computer architecture diagram showing an illustrative computer hardware and software architecture of a computing system capable of implementing aspects of the technologies and techniques presented herein.

[0022] Figure 9 A computer architecture diagram showing a computing device architecture of a computing device capable of implementing aspects of the technologies and techniques presented herein. Specific embodiments

[0023] Figures 1-6 Aspects of a process for facilitating participation by transitioning from a first viewing perspective associated with a first entity, the first entity being one of a plurality of entities within a virtual environment, to a temporary viewing perspective are shown. Figure 1Aspects of a virtual environment 200 including a plurality of entities 131A - 131ZZ are shown. In this example, the entities have the form of avatars, which are also referred to herein as representations of users. For example, the first entity 131A is in the form of an avatar representing the first participant in a communication session. As shown, each entity has a position in the 3D environment 200 that can be based on coordinates, and each entity has an orientation, which is represented as a vector originating from a point on the entity (e.g., a viewing point at the position of the eyes of the avatar). The viewing point can also be associated with a position in the 3D environment. In some configurations, the orientation vector 122 can indicate the direction in which the entity is facing. In this example, the first orientation vector 122A shows the direction in which the first entity 131A is facing, and the first orientation vector 122A is based on the first viewing point 111A of the first entity. The orientation vector of an entity can also be referred to as the "original orientation" of the entity based on the original model data 190.

[0024] It is also shown that the model data 190, also referred to herein as the original model data 190 or the data structure 190, can define the positions and orientations of a plurality of entities 131. The entities can be virtual objects, such as avatars representing users, or the entities can be another type of virtual object, such as a virtual TV screen, virtual furniture, a virtual camera, etc. A virtual camera is similar to an avatar in that it can have a position, an orientation, and a viewing perspective, but it may not have a visible entity, e.g., it can be an invisible virtual camera. The model data 190 can also define the viewing perspective 121 originating from the viewing point 111 of an individual entity. The viewing perspective 121 extends in the direction of the orientation vector, and each viewing perspective 121 can have dimensions that increase in size as the distance from the viewing point increases, such as width or height. The model data can also define the physical characteristics of each entity, such as size, shape, surface pattern, etc.

[0025] In one example, the entity can be an avatar or representation of a user. The viewing point 111 can be at a specific position relative to the entity, e.g., the point where the eyes of the avatar are located. The viewing perspective 121 of the entity can be projected from the viewing point 111, and the viewing perspective 121 can be used to generate a rendering to be displayed to the user controlling the avatar. The system can display the entities of the 3D environment 200 based on the position and orientation of the avatar and the positions of the entities within the viewing perspective 121. In Figure 1 the example, the first entity 131A has a first viewing perspective 121A that follows the direction of the orientation vector 122A.

[0026] As Figure 2As shown, the rendering 251 of the first viewing perspective 121A may include any entity within the viewing perspective 121A, each avatar within the boundaries of the first viewing perspective 121A, and a portion of the stage of the virtual environment. The rendering 251 of the viewing perspective 121A may be a 2D image generated using any suitable projection technique that captures an image from the first viewpoint 111A. The rendering generated from the viewing perspective may clip portions of the entity that are not within the boundaries of the viewing perspective, as Figure 2 shown. In this example, the system displays the first viewing perspective 121A to the first user by generating a rendering of the 3D environment 200 using the first viewing perspective 121A associated with the first entity 131A for display on the display device 11A associated with the first user 10A. This view is generated using the model data 190.

[0027] As Figures 3-5 shown, one or more detected events cause the system to transition from the rendering 251 of the first viewing perspective 121A associated with the first entity 131A to the rendering 252 of a temporary viewing perspective 321, where the first entity 131A is one of a plurality of entities 131A - 131ZZ located within the 3D environment 200. Figure 3 Aspects of a system 100 with computers 11 are shown, each computer associated with a person 10 who is a participant in a communication session (e.g., a meeting in a virtual environment 200), which allows each person to transmit audio signals and allows each person to view one another through their own viewing perspectives originating from their avatars. Figure 3 An example of a group of entities related to a specific event is shown. These entities related to an event that meets a preset condition are shaded to illustrate aspects of this example.

[0028] Although the system causes the rendering 251 of the first viewing perspective 121A to be displayed to the first computer 11A, the system can also perform the same operation for each person who has a representation in the virtual environment 200. When in this viewing state, the system can receive a signal from the user indicating an event. The signal can be a computer - based input, such as an input that prompts a reaction (e.g., the posting of a reaction emoji), or the signal can be an audio signal or a text signal indicating a specific event. For example, a presenter may indicate in an announcement that Team X has won a prize. When the system detects such an event related to a specific set of users (e.g., Team X), the system can retrieve organizational data or other metadata to determine the identifiers of each user who is part of Team X. As Figure 3 and Figure 4As shown, in response to determining that the input identifying the event meets a preset condition, the system can then use those identifiers to generate a supplementary model 191 that defines a second 3D environment 201, the second 3D environment 201 including individual entities 131A - 131Z (also referred to herein as a subset of individual entities 131A - 131Z), each individual entity representing a user 10A - 10Z associated with the event, wherein the individual entities 131A - 131Z are located within the temporary viewing perspective 321 of the virtual camera 320. In this example, a subset 221 of users 10A - 10Z is related to the event based on the input they provided or through a connection having a threshold level. The supplementary model can have the position and orientation of each entity.

[0029] The size and shape of the temporary viewing perspective can be based on the number of entities in the group. For example, the parameters of the temporary viewing perspective 321 can include coordinates in the virtual environment. The coordinates can be configured such that the boundary of the temporary viewing perspective 321 surrounds a cluster of selected entities that meet the criteria defined herein. The distance between the boundary of the temporary viewing perspective 321 and the virtual camera 320 can be based on the density of the entities, the number of entities, and the shape of the cluster of selected entities. The position of the virtual camera can include coordinates that position the virtual camera such that a particular surface of the entity (e.g., the face of the avatar) is displayed in the rendering generated from the temporary viewing perspective 321.

[0030] As Figure 5 shown, in response to determining that the input identifying the event meets a preset condition, the system can prompt the display of a rendering based on the supplementary model 191. In this state of the system, the system can generate a rendering 251 of the individual entities 131A - 131Z located within the temporary viewing perspective 321 of the virtual camera 320 for display on the screen of a computer 11A associated with a first user 10A. The rendering of the individual entities is displayed using the supplementary model 191 that defines the second 3D environment 201, the second 3D environment 201 including individual entities 131A - 131Z each representing a user 10A - 10Z associated with the event.

[0031] A user can be associated with an event, and the event can meet a preset condition using one or more factors. For example, the system can receive a signal from an individual computer 11, and each person can make a sound (such as cheering) or provide a signal (such as a cheering emoji). When each user providing a signal has a threshold level of connection, for example, an organizational diagram shows that they are members of a company team, and when each user with a threshold level of connection has a threshold level of activity, the system can determine that the event meets the preset condition. The threshold level of activity can be when more than 80% of the people in the team are cheering or providing active input. Thus, when there is less than the threshold level of activity, for example, using the 80% example threshold, when less than 80% of the people in the team are cheering, the system event does not meet the preset condition, and the system does not generate the parameters of the temporary viewing perspective 321.

[0032] This allows the system to generate a model for each team that meets the threshold. This means that people can be members of different teams or different projects, and they can see groups of people belonging to each team or project reacting together. For example, if a person is part of a developer team and a threshold number of those developers cheer, that person can see themselves in a cluster of avatars of team members. If the same person is working on a multi-user editing session of a spreadsheet and people are identified in a notice about the spreadsheet, the system can generate a temporary model that shows all the avatars of those contributors in the group who are reacting together.

[0033] Thus, in some embodiments, when an activity signal is received from a subset 11A - 11Z of computing devices associated with a subset 221 of users 10A - 10Z having a threshold level of connection with each other, the input identifying the event meets the preset condition, and wherein the activity signal indicates a threshold level of activity, and wherein the generation of the supplementary model 191 and the rendering of the individual entities 131A - 131Z within the temporary viewing perspective 321 of the virtual camera 320 are in response to receiving the activity signal indicating a threshold level of activity from a subset 11A - 11Z of computing devices associated with a subset 221 of users 10A - 10Z having a threshold level of connection with each other.

[0034] In some configurations, an event can satisfy a contact-based preset condition without using an activity signal. Thus, in some embodiments, when an activity signal is received from a subset of computing devices 11A - 11Z associated with a subset 221 of users 10A - 10Z having a threshold level of contact with each other, the input identifying the event satisfies the preset condition, wherein the generation of the supplemental model 191 and the rendering of the individual entities 131A - 131Z located within the temporary viewing perspective 321 of the virtual camera 320 are in response to receiving the activity signal from the subset of computing devices 11A - 11Z associated with the subset 221 of users 10A - 10Z having a threshold level of contact with each other.

[0035] In some configurations, an event can satisfy a preset condition based on an activity level without a contact level. Thus, in some embodiments, when an activity signal is received from a subset of computing devices 11A - 11Z associated with a subset 221 of users 10A - 10Z and the activity signal indicates an activity at a threshold level, such as they are providing a predetermined volume level or providing a predetermined input, such as a specific emoji post, the input identifying the event satisfies the preset condition. Thus, the generation of the supplemental model 191 and the rendering of the individual entities 131A - 131Z located within the temporary viewing perspective 321 of the virtual camera 320 are in response to receiving the activity signal from the subset of computing devices 11A - 11Z associated with the subset 221 of users 10A - 10Z, wherein the activity signal of the subset 221 of users 10A - 10Z indicates an activity at a threshold level.

[0036] In some embodiments, the rendering of the individual entities located within the viewing perspective of the virtual camera is displayed on the display device until the activity signal of the user subset 221 drops below a second activity threshold level. Thus, in response to the activity signal of the user subset 221 dropping below the second activity threshold level, the display on the display device 11A associated with the first user 10A returns to rendering the 3D environment 200 using the first viewing perspective 121A associated with the first entity 131A. This can be applied to all users of the group.

[0037] The system can also modify permissions in response to the input identifying the event satisfying the preset condition. For example, the modified permissions allow a first set of computing devices of users 10A - 10Z associated with the event to display the rendering of the individual entities using the supplemental model 191 that defines the second 3D environment 201. Permissions are also modified in response to the event to restrict a second set of computers associated with other users from displaying the rendering of the individual entities using the supplemental model 191 that defines the second 3D environment 201.

[0038] Figure 5An example rendering shows an example of a temporary virtual environment 201 that utilizes aspects of the original virtual environment 200. For example, if the original virtual environment has a stadium with seats, some of those stadium seats can be used in the supplementary model of the temporary virtual environment 201. However, as Figure 6 shown, the temporary virtual environment 201 may not use aspects of the original virtual environment 200. In this example, an entity is placed in a new virtual environment, such as standing on a flat surface.

[0039] Figure 7 is a diagram showing aspects of a routine 500 for facilitating participation by transitioning from a first viewing perspective 121A associated with a first entity 131A to a temporary viewing perspective 321, where the first entity 131A is one of a plurality of entities 131A - 131ZZ located within a 3D environment 200. Those of ordinary skill in the art will understand that the operations of the methods disclosed herein need not be presented in any particular order, and it is possible and contemplated to perform some or all of the operations in an alternative order. For ease of description and illustration, the operations have been presented in the order of demonstration. Operations may be added, omitted, performed together, and / or performed simultaneously without departing from the scope of the appended claims.

[0040] It should also be understood that the methods shown may start or end at any time without being fully executed. Some or all of the operations of the method and / or substantially equivalent operations may be performed by executing computer-readable instructions contained on a computer storage medium as defined herein. The term "computer-readable instructions" and its variants as used in the specification and claims are used herein broadly to include routines, applications, application modules, program modules, programs, components, data structures, algorithms, etc. Computer-readable instructions may be implemented on a variety of system configurations, including single-processor or multi-processor systems, minicomputers, mainframe computers, personal computers, handheld computing devices, microprocessor-based programmable consumer electronics, combinations thereof, etc. Although the exemplary routines described below operate on a system (e.g., one or more computing devices), it can be understood that the routines may be executed on any computing system, which may include any number of computers working together to perform the operations disclosed herein.

[0041] Accordingly, it should be understood that the logical operations described herein are implemented as a series of computer-implemented actions or program modules running on a computing system (such as the computing system described herein) and / or interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice depending on the performance and other requirements of the computing system. Thus, the logical operations may be implemented in software, firmware, dedicated digital logic, and any combination thereof.

[0042] In addition, Figure 7The operations shown in this and other figures can be implemented in association with the example user interfaces and systems described herein. For example, the various devices and / or modules described herein can generate, send, receive, and / or display data associated with the content of a communication session (e.g., live content, broadcast events, recorded content, etc.) and / or include a rendering of a presentation UI including one or more participants, avatars, channels, chat sessions, video streams, images, virtual objects, and / or applications associated with the communication session of a remote computing device.

[0043] Routine 500 includes operation 501, in which system 100 accesses data structure 190 that defines 3D environment 200. Data structure 190 defines the position 132 and orientation 113 of each of the multiple entities 131 in 3D environment 200. Data structure 190 defines at least one viewing perspective 121, which is based on one or more viewpoints 111 of individual entity 131. The one or more viewpoints 111 can be selected for custom rendering 300 of at least one viewing perspective 121 of computing device 11A for communication session 604.

[0044] At operation 503, the system generates a rendering of 3D environment 200 using first viewing perspective 121A associated with first entity 131A for display on display device 11A associated with first user 10A. This view is generated by using original model data 190. Figure 2 An example of the rendering including entities located within first viewing perspective 121A facing first user 10A is shown.

[0045] At operation 505, the system determines that the input identifying the event meets a preset condition. The event can meet the preset condition based on one or more factors. For example, when users with a threshold level of connection (e.g., members of a company team) have a threshold level of activity, such as 80% of the people in the team are cheering, the system can determine that the event meets the preset condition. The event can also meet the preset condition through a single action, such as the presenter mentioning that team X has won a reward. Thus, if the presenter mentions that both team X and team Y have won rewards, each team can see the team's reaction in the individual group without seeing the members of the other team, e.g., team X members do not see team Y members, and vice versa.

[0046] At operation 507, the system generates supplementary model data 191 that defines at least one of a new position and a new orientation of the entity associated with the event. This generation can be in response to the event meeting the preset condition. Examples of supplementary model data are in Figure 4Shown in. Supplementary model data 191 is generated to create a new view only for users associated with an event. The generation of the supplementary model data 191 does not prompt a modification of the data structure 190 that defines the 3D environment 200. In some embodiments, during the generation or modification of the supplementary model data, the position 132 and orientation 113 of each of the plurality of entities 131 of the 3D environment 200 defined in the data structure 190 are not modified. System permissions may also restrict the modification of the data structure 190 during the modification or generation of the supplementary model data to preserve other perspectives of the original model 190.

[0047] At operation 509, the system 100 uses the supplementary model data 191 that defines the position and orientation of the entity associated with the user of the detected event to prompt the display of a customized rendering 251 of the computing device 11A. This customized rendering 252 is based on a viewing perspective derived from the viewpoint associated with the virtual camera defined in the supplementary model data 191. The view can also be from the viewpoint of an entity (such as the user's avatar) defined in the supplementary model data 191. Each model can also define viewing permissions. For example, the supplementary model data 191 can define permissions that only allow members of a specific team or people associated with a specific event to view any rendering generated by the supplementary model data 191.

[0048] In some embodiments, the system restricts the transition from a rendering (251) using a first viewing perspective (121A) to a rendering (252) of the viewing perspective of the supplementary model (191) until a subset (221) of users (10A - 10Z) have a threshold level of connection with each other. This saves system resources for making the transition until people with an actual connection (e.g., in an organizational chart, they are on the same team) have a common working document to which each contributes, or are part of a common project, are part of an event (such as an announcement regarding the user subset), or the user subset provides a threshold level of activity, such as 80% of the user subset provides input showing an expression (such as an emoji or a message).

[0049] Figure 8 is a diagram showing an example environment 600 in which the system 602 can implement the techniques disclosed herein. It should be understood that the above subject matter can be implemented as a computer-controlled apparatus, a computer process, a computing system, or an article of manufacture such as a computer-readable storage medium. The operations of the example method are shown in individual boxes and are summarized with reference to those boxes. The method is shown as a logical flow of boxes, each box representing one or more operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the operations represent computer-executable instructions stored on one or more computer-readable media, which when executed by one or more processors cause the one or more processors to be able to perform the operations.

[0050] Generally, computer-executable instructions include routines, programs, objects, modules, components, data structures, etc. that perform specific functions or implement specific abstract data types. The order of description of operations should not be construed as a limitation, and any number of the described operations can be performed in any order, combined in any order, subdivided into multiple sub-operations, and / or executed in parallel to implement the process. The process can be executed by resources associated with one or more devices, such as one or more internal or external CPUs or GPUs, and / or one or more hardware logic units, such as a field-programmable gate array (“FPGA”), a digital signal processor (“DSP”), or other types of accelerators.

[0051] All of the above methods and processes can be embodied in software code modules executed by one or more general-purpose computers or processors and fully automated via the software code modules. The code modules can be stored in any type of computer-readable storage medium or other computer storage device, such as the computer-readable storage medium or computer storage device described below. Some or all of the methods can alternatively be embodied in dedicated computer hardware, such as the dedicated computer hardware described below.

[0052] Any routine description, element, or block in the flowcharts described herein and / or depicted in the figures should be understood as possibly representing a module, segment, or portion of code that includes one or more executable instructions for implementing a specific logical function or element in the routine. Alternative implementations are included within the scope of the examples described herein, where elements or functions can be deleted, or executed in a different order than shown or discussed, including substantially synchronously or in the reverse order, depending on the functions involved as understood by those skilled in the art.

[0053] In some embodiments, system 602 can be used to collect, analyze, and share data presented to users of communication session 604. As shown, communication session 603 can be implemented between multiple client computing devices 606(1) to 606(N) (where N is a number having a value of 2 or greater) associated with or as part of system 602. Client computing devices 606(1) to 606(N) enable users (also referred to as individuals) to participate in communication session 603.

[0054] In this example, communication session 603 is hosted by system 602 via one or more networks 608. That is, system 602 can provide services that enable users of client computing devices 606(1) through 606(N) to participate in communication session 603 (e.g., via live viewing and / or recorded viewing). Thus, the "participants" in communication session 603 can include users and / or client computing devices (e.g., multiple users can participate in communication session 603 in a room via the use of a single client computing device), and each user and / or client computing device can communicate with other participants. Alternatively, communication session 603 can be hosted by one of client computing devices 606(1) through 606(N) that utilize peer-to-peer technology. System 602 can also host chat conversations and other team collaboration functions (e.g., as part of an application suite).

[0055] In some embodiments, such chat conversations and other team collaboration functions are considered to be external communication sessions distinct from communication session 603. Computing system 602 that collects participant data in communication session 603 can be capable of linking to such external communication sessions. Thus, the system can receive information that enables connection to such external communication sessions, such as date, time, session details, etc. In one example, a chat conversation can be conducted based on communication session 603. Additionally, system 602 can host communication session 603 that includes at least multiple participants co-located at a meeting location (e.g., a conference room or auditorium) or located at different locations.

[0056] In the examples described herein, client computing devices 606(1) through 606(N) participating in communication session 603 are configured to receive and render communication data for display on a user interface of a display screen. The communication data can include a collection of various instances or streams of live content and / or recorded content. The collection of various instances or streams of live content and / or recorded content can be provided by one or more cameras (e.g., video cameras). For example, an individual stream of live content or recorded content can include media data associated with a video feed provided by a camera (e.g., audio data and visual data capturing the appearance and voice of a user participating in the communication session). In some embodiments, the video feed can include such audio data and visual data, one or more still images, and / or one or more avatars. The one or more still images can also include one or more avatars.

[0057] Another example of an individual stream of live or recorded content can include media data that includes an avatar of a user participating in a communication session and audio data that captures the user's voice. Yet another example of an individual stream of live or recorded content can include media data that includes a file displayed on a display screen and audio data that captures the user's voice. Thus, the various streams of live or recorded content within the communication data facilitate remote conferencing among groups of people and enable content sharing within such groups of people. In some embodiments, the various streams of live or recorded content within the communication data can originate from multiple co-located cameras located in a space such as a room to record or live stream a presentation that includes one or more individuals presenting the presented content and one or more individuals consuming the presented content.

[0058] Participants or attendees can watch the content of the communication session 603 in real time as the event occurs, or alternatively, watch the content of the communication session 603 at a later time via recording after the event has occurred. In the examples described herein, the client computing devices 606(1) through 606(N) participating in the communication session 603 are configured to receive and render the communication data for display on a user interface of a display screen. The communication data can include a collection of various instances or streams of live content and / or recorded content. For example, an individual stream of content can include media data associated with a video feed (e.g., audio data and visual data that capture the appearance and voice of a user participating in the communication session). Another example of an individual stream of content can include media data that includes an avatar of a user participating in a meeting session and audio data that captures the user's voice. Yet another example of an individual stream of content can include media data and / or audio data that includes a content item displayed on a display screen, the audio data capturing the user's voice. Thus, the various streams of content within the communication data enable facilitating a meeting or a broadcast presentation among groups of people dispersed at remote locations.

[0059] A participant or attendee of a communication session is a person within the range of a camera or other image and / or audio capture device such that the actions and / or sounds of the person can be captured (e.g., recorded) as the person is watching and / or listening to the content shared via the communication session. For example, a participant may be sitting in a crowd watching shared content at the broadcast location where a live presentation is occurring on stage. Or, a participant may be sitting in an office conference room watching shared content of a communication session with other colleagues via a display screen. Further still, a participant can be sitting or standing in front of a personal device (e.g., a tablet, a smart phone, a computer, etc.) watching shared content of a communication session alone in their office or at home.

[0060] Figure 8The system 602 includes a device 610. The device 610 and / or other components of the system 602 may include distributed computing resources that communicate with each other and / or with client computing devices 606(1) through 606(N) via one or more networks 608. In some examples, the system 602 may be an independent system responsible for managing aspects of one or more communication sessions (such as communication session 603). As an example, the system 602 may be managed by an entity such as SLACK, WEBEX, GOTOMEETING, GOOGLE HANGOUTS, etc.

[0061] The network 608 may include, for example, a public network (such as the Internet), a private network (such as an institutional and / or personal intranet), or some combination of private and public networks. The network 608 may also include any type of wired and / or wireless network, including but not limited to a local area network (“LAN”), a wide area network (“WAN”), a satellite network, a wired network, a Wi-Fi network, a WiMax network, a mobile communication network (such as 3G, 4G, etc.), or any combination thereof. The network 608 may use communication protocols, including packet-based and / or datagram-based protocols, such as the Internet Protocol (“IP”), the Transmission Control Protocol (“TCP”), the User Datagram Protocol (“UDP”), or other types of protocols. In addition, the network 608 may also include multiple devices that facilitate network communication and / or form the network hardware foundation, such as switches, routers, gateways, access points, firewalls, base stations, repeaters, backbone devices, etc.

[0062] In some examples, the network 608 may also include a device that enables connection to a wireless network, such as a wireless access point (“WAP”). Example supports connection via a WAP, which sends and receives data over various electromagnetic frequencies (such as radio frequencies), including WAPs that support Institute of Electrical and Electronics Engineers (“IEEE”) 802.11 standards (such as 802.11g, 802.11n, 802.11ac, etc.) and other standards.

[0063] In various examples, device 610 can include one or more computing devices that operate in a cluster or other grouped configuration to share resources, balance loads, improve performance, provide failover support or redundancy, or for other purposes. For example, device 610 can belong to various types of devices, such as devices of the traditional server type, devices of the desktop computer type, and / or devices of the mobile type. Thus, although shown as a single type of device or a server-type device, device 610 can include a wide variety of device types and is not limited to a specific type of device. Device 610 can represent but is not limited to a server computer, a desktop computer, a web server computer, a personal computer, a mobile computer, a laptop computer, a tablet computer, or any other type of computing device.

[0064] A client computing device (such as one of client computing devices 606(1) to 606(N)) (each client computing device is also referred to herein as a "data processing system") can belong to various types of devices, which can be the same as or different from device 610, such as devices of the traditional client type, devices of the desktop computer type, devices of the mobile type, devices of the dedicated type, devices of the embedded type, and / or devices of the wearable type. Thus, client computing devices can include but are not limited to desktop computers, gaming consoles and / or gaming devices, tablet computers, personal data assistants ("PDAs"), mobile phone / tablet hybrid devices, laptop computers, telecommunications devices, computer navigation-type client computing devices (such as satellite-based navigation systems, including global positioning system ("GPS") devices), wearable devices, virtual reality ("VR") devices, augmented reality ("AR") devices, implanted computing devices, in-vehicle computers, Internet televisions, thin clients, terminals, Internet of Things ("IoT") devices, workstations, media players, personal video recorders ("PVRs"), set-top boxes, cameras, integrated components for inclusion in a computing device (such as peripherals), appliances, or any other type of computing device. Additionally, client computing devices can include combinations of the client computing device examples listed above, such as a device of the desktop computer type or a device of the mobile type combined with a wearable device, etc.

[0065] Client computing devices 606(1) to 606(N) of various categories and device types can represent any type of computing device having one or more data processing units 692, which are operatively connected, for example via a bus 616, to a computer-readable medium 694. In some cases, bus 616 can include a system bus, a data bus, an address bus, a PCI bus, a Mini-PCI bus, and one or more of any kind of local, peripheral, and / or independent bus.

[0066] The executable instructions stored on the computer-readable medium 694 can include, for example, an operating system 619, a client module 620, a profile module 622, and other modules, programs, or applications that can be loaded and executed by the data processing unit 692.

[0067] The client computing devices 606(1) to 606(N) can also include one or more interfaces 624 to enable communication over the network 608 between the client computing devices 606(1) to 606(N) and other networked devices, such as device 610. Such network interfaces 624 can include one or more network interface controllers (NICs) or other types of transceiver devices for sending and receiving communications and / or data over the network. Additionally, the client computing devices 606(1) to 606(N) can include input / output (“I / O”) interfaces (devices) 626 capable of communicating with input / output devices, such as user input devices, including peripheral input devices (e.g., game controllers, keyboards, mice, pens, voice input devices (e.g., microphones), cameras for acquiring and providing video feeds and / or still images, touch input devices, gesture input devices, etc.) and / or output devices, including peripheral output devices (e.g., displays, printers, audio speakers, haptic output devices, etc.). Figure 8 It is shown that the client computing device 606(1) is connected in some way to a display device (e.g., the display screen 629(N)), which can display a UI according to the techniques described herein.

[0068] In Figure 8 the example environment 600, the client computing devices 606(1) to 606(N) can use their respective client modules 620 to connect to each other and / or to other external devices to participate in a communication session 603 or to contribute activities to the collaborative environment. For example, a first user can use the client computing device 606(1) to communicate with a second user of another client computing device 606(2). When the client module 620 is executed, the users can share data, which can cause the client computing device 606(1) to connect to the system 602 and / or other client computing devices 606(2) to 606(N) over the network 608.

[0069] The client computing devices 606(1) to 606(N) can use their respective profile modules 622 to generate participant profiles ( Figure 8(not shown in the figure), and provide the participant profile to other client computing devices and / or the device 610 of the system 602. The participant profile may include one or more of the identification of the user or user group (such as name, unique identifier (“ID”), etc.), user data such as personal data, machine data such as location (such as IP address, room in a building, etc.), and technical capabilities. The participant profile can be used to register the participants of the communication session.

[0070] As Figure 8 shown, the device 610 of the system 602 includes a server module 630 and an output module 632. In this example, the server module 630 is configured to receive media streams 634(1) to 634(N) from various client computing devices such as client computing devices 606(1) to 606(N). As described above, the media stream may include a video feed (such as audio data and visual data associated with a user), audio data to be output together with the presentation of the user's avatar (such as a pure audio experience without transmitting the user's video data), text data (such as text messages), file data, and / or screen sharing data (such as documents, slides, images, videos displayed on a display screen, etc.). Therefore, the server module 630 is configured to receive a set of various media streams 634(1) to 634(N) (this set is referred to as “media data 634” herein) during the real-time viewing of the communication session 603. In some scenarios, not all client computing devices participating in the communication session 603 provide media streams. For example, a client computing device may be just a consumption device or a “listening” device, such that it only receives the content associated with the communication session 603 but does not provide any content to the communication session 603.

[0071] In various examples, the server module 630 may select aspects of the media stream 634 to be shared with each of the participating client computing devices 606(1) to 606(N). Therefore, the server module 630 may be configured to generate session data 636 based on the stream 634 and / or pass the session data 636 to the output module 632. Then, the output module 632 may transmit communication data 639 to the client computing devices (for example, client computing devices 606(1) to 606(3) participating in the real-time viewing of the communication session). The communication data 639 may include video, audio, and / or other content data provided by the output module 632 based on the content 650 associated with the output module 632 and based on the received session data 636. The content 650 may include the stream 634 or other shared data, such as image files, spreadsheet files, slides, documents, etc. The stream 634 may include a video component depicting the images captured by the I / O device 626 on each client computer.

[0072] As shown, output module 632 sends communication data 639(1) to client computing device 606(1), sends communication data 639(2) to client computing device 606(2), sends communication data 639(3) to client computing device 606(3), and so on. The communication data 639 sent to the client computing devices may be the same or may be different (e.g., the positioning of the content stream within the user interface may vary by device).

[0073] In various embodiments, device 610 and / or client module 620 may include a GUI rendering module 640. The GUI rendering module 640 may be configured to analyze communication data 639 for delivery to one or more client computing devices 606. Specifically, the UI rendering module 640 at device 610 and / or client computing device 606 may analyze the communication data 639 to determine an appropriate way to display video, images, and / or content on the display screen 629 of the associated client computing device 606. In some embodiments, the GUI rendering module 640 may provide video, images, and / or content to a rendered presentation GUI 646 on the display screen 629 of the associated client computing device 606. The presentation GUI 646 may be rendered on the display screen 629 by the GUI rendering module 640. The presentation GUI 646 may include video, images, and / or content analyzed by the GUI rendering module 640.

[0074] In some embodiments, the presentation GUI 646 may include multiple sections or grids that may render or include video, images, and / or content for display on the display screen 629. For example, a first section of the presentation GUI 646 may include a video feed of a presenter or individual, and a second section of the presentation GUI 646 may include a video feed of an individual consuming meeting information provided by the presenter or individual. The GUI rendering module 640 may populate the first and second sections of the presentation GUI 646 in a manner that appropriately mimics the environmental experience that the presenter and individual may be sharing.

[0075] In some embodiments, the GUI rendering module 640 may zoom in or provide a zoomed-in view of an individual represented by a video feed to highlight the individual's reaction to the presenter, such as facial features. In some embodiments, the presentation GUI 646 may include video feeds of multiple participants associated with a meeting (e.g., a general communication session). In other embodiments, the presentation GUI 646 may be associated with a channel such as a chat channel, an enterprise team channel, etc. Thus, the presentation GUI 646 may be associated with an external communication session different from a general communication session.

[0076] Figure 9FIG. shows an example component diagram of an example device 700 (also referred to herein as a "computing device") configured to generate data for some of the user interfaces disclosed herein. The device 700 can generate data that can include one or more portions that can render or include video, images, virtual objects, and / or content for display on a display screen 629. The device 700 can represent one of the devices described herein. Additionally or alternatively, the device 700 can represent one of the client computing devices 606.

[0077] As shown, the device 700 includes one or more data processing units 702, a computer-readable medium 704, and a communication interface 706. The components of the device 700 are operably connected, for example, via a bus 709, which can include a system bus, a data bus, an address bus, a PCI bus, a Mini-PCI bus, and one or more of any kind of local, peripheral, and / or independent bus.

[0078] As used herein, a data processing unit (e.g., data processing unit 702 and / or data processing unit 692) can represent, for example, a CPU-type data processing unit, a GPU-type data processing unit, a field-programmable gate array ("FPGA"), another class of DSP, or other hardware logic components that can be driven by a CPU in some cases. For example, but not limited to, illustrative types of hardware logic components that can be utilized include application-specific integrated circuits ("ASICs"), application-specific standard products ("ASSPs"), systems-on-a-chip ("SOCs"), complex programmable logic devices ("CPLDs"), and the like.

[0079] As used herein, a computer-readable medium (e.g., computer-readable medium 704 and computer-readable medium 694) can store instructions executable by a data processing unit. The computer-readable medium can also store instructions executable by an external data processing unit (e.g., an external CPU, an external GPU) and / or instructions executable by an external accelerator (e.g., an FPGA-type accelerator, a DSP-type accelerator, or any other internal or external accelerator). In various examples, at least one CPU, GPU, and / or accelerator is incorporated into the computing device, while in some examples, one or more of the CPU, GPU, and / or accelerator are located external to the computing device.

[0080] A computer-readable medium (which may also be referred to herein as a computer-readable medium) can include computer storage media and / or communication media. Computer storage media can include volatile memory, non-volatile memory, and / or one or more of other persistent and / or auxiliary computer storage media, removable and non-removable computer storage media, which are implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Thus, computer storage media includes tangible and / or physical forms of media that are included in a device and / or as part of a device or external hardware components of a device, including but not limited to random access memory (“RAM”), static random access memory (“SRAM”), dynamic random access memory (“DRAM”), phase change memory (“PCM”), read-only memory (“ROM”), erasable programmable read-only memory (“EPROM”), electrically erasable programmable read-only memory (“EEPROM”), flash memory, compact disc read-only memory (“CD-ROM”), digital versatile disc (“DVD”), optical card or other optical storage media, magnetic tape cartridge, magnetic tape, magnetic disk storage device, magnetic card or other magnetic storage device or media, solid-state memory device, storage array, network-attached storage device, storage area network, hosted computer storage device, or any other storage memory, storage device, and / or storage media that can be used to store and hold information for access by a computing device. Computer storage media may also be referred to herein as computer-readable storage media, non-transitory computer-readable storage media, non-transitory computer-readable media, or computer storage media.

[0081] In contrast to computer storage media, communication media can embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave, or other transmission mechanism. As defined herein, computer storage media does not include communication media. That is, computer storage media does not include communication media that consists solely of a modulated data signal, a carrier wave, or a propagated signal itself.

[0082] The communication interface 706 can represent, for example, a network interface controller (“NIC”) or other types of transceiver devices for sending and receiving communications over a network. Additionally, the communication interface 706 can include one or more cameras and / or audio devices 722 to enable generation of video feeds and / or still images, etc.

[0083] In the illustrated example, computer-readable medium 704 includes data repository 708. In some examples, data repository 708 includes a data storage device, such as a database, a data warehouse, or other types of structured or unstructured data storage devices. In some examples, data repository 708 includes a corpus and / or a relational database having one or more tables, indexes, stored procedures, etc. to enable data access, including, for example, one or more of Hypertext Markup Language (“HTML”) tables, Resource Description Framework (“RDF”) tables, Web Ontology Language (“OWL”) tables, and / or Extensible Markup Language (“XML”) tables.

[0084] Data repository 708 may store data for operations of processes, applications, components, and / or modules stored in computer-readable medium 704 and / or executed by data processing unit 702 and / or accelerator. For example, in some examples, data repository 708 may store data structure 190, supplemental data 191, and session data 636. Session data 636 may include the total number of participants (e.g., users and / or client computing devices) in a communication session, activities that occur in the communication session, a list of invitees for the communication session, and / or other data related to when and how the communication session is conducted or hosted. Session data may also include context data, such as content including video, audio, or other content for rendering and displaying on one or more display screens. Session data may also define permissions that allow or restrict each computer in the system to display selected renderings or perform any user interface transitions disclosed herein.

[0085] Hardware data 711 may define aspects of any device, such as multiple display screens of a computer. Context data may define any type of activity or state associated with individual users 10A - 10L, each user being associated with an individual video stream among multiple video streams 634. For example, context data may define a person's level in an organization, the relationship of each person's level to the levels of other people, a person's performance level, or any other activity or status information that may be used to determine the position of a person's rendering within a virtual environment. Context information may also be fed into any model to help emphasize keywords spoken by people at a particular level, highlight the UI when the background sound of a person at a particular level is detected, or change the mood display in a particular way when a person at a particular level is detected to have a particular mood.

[0086] Alternatively, some or all of the above data may be stored in a separate memory 716 on one or more data processing units 702, such as a memory on a CPU-type processor, a GPU-type processor, an FPGA-type accelerator, a DSP-type accelerator, and / or another accelerator. In this example, the computer-readable medium 704 also includes an operating system 718 and an application programming interface 710 (API) configured to expose the functions and data of the device 700 to other devices. Additionally, the computer-readable medium 704 includes one or more modules, such as a server module 730, an output module 732, and a GUI rendering module 740, but the number of the illustrated modules is merely an example and the number may vary. That is, the functions described herein in connection with the illustrated modules may be performed by a smaller number or a larger number of modules on one device, or distributed across multiple devices.

[0087] Finally, although various configurations have been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as exemplary forms of implementing the claimed subject matter.

Claims

1. A method performed by a computing system for facilitating engagement by transitioning from a first viewing perspective associated with a first entity to a temporary viewing perspective, the first entity being one of a plurality of entities located within a 3D environment, the method comprising: Accessing a data structure defining the 3D environment, the data structure defining the position and orientation of each of the plurality of entities in the 3D environment, the data structure defining the first viewing perspective originating from the viewpoint of the first entity; Using the first viewing perspective associated with the first entity to generate a rendering of the 3D environment for display on a display device associated with the first user; Determining that an input identifying an event satisfies a preset condition; In response to determining that the input identifying the event satisfies the preset condition, generating a supplementary model defining a second 3D environment, the second 3D environment including a subset of individual entities, each individual entity representing a user associated with the event, wherein the subset of individual entities is within the temporary viewing perspective of a virtual camera; and Generating a rendering of the subset of individual entities within the temporary viewing perspective of the virtual camera for display on the display device associated with the first user, wherein the rendering of the subset of individual entities is displayed using the supplementary model defining the second 3D environment, the second 3D environment including the subset of individual entities, each individual entity representing a user associated with the event.

2. The method according to claim 1, wherein The input identifying the event satisfies the preset condition when an activity signal is received from a subset of computing devices associated with a subset of users having a threshold level of connection with each other, wherein the generation of the supplementary model and the rendering of the subset of individual entities within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal from the subset of computing devices associated with the subset of users having the threshold level of connection with each other.

3. The method according to claim 1, wherein, The input identifying the event satisfies the preset condition when an activity signal is received from a subset of computing devices associated with a subset of users and the activity signal indicates an activity at a threshold level, wherein the generation of the supplementary model and the rendering of the subset of individual entities within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal from the subset of computing devices associated with the subset of users, wherein the activity signal indicates the activity at the threshold level.

4. The method according to claim 3, wherein, The rendering of the subset of individual entities within the viewing perspective of the virtual camera is displayed on the display device until the activity signal of the subset of users drops below a second activity threshold level, in response to the activity signal of the subset of users dropping below the second activity threshold level, the display on the display device associated with the first user returns to the rendering of the 3D environment using the first viewing perspective associated with the first entity.

5. The method according to claim 1, wherein When an activity signal is received from a subset of computing devices associated with a subset of users having a threshold level of connection with each other, the input identifying the event satisfies the preset condition, and wherein the activity signal indicates activity at the threshold level, and wherein the generation of the supplementary model and the rendering of the subset of individual entities within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal indicating activity at the threshold level from the subset of computing devices associated with the subset of users having the threshold level of connection with each other.

6. The method according to claim 5, wherein, The rendering of the subset of individual entities within the viewing perspective of the virtual camera is displayed on the display device until the activity signal of the subset of users drops below a second activity threshold level, and in response to the activity signal of the subset of users dropping below the second activity threshold level, the display on the display device associated with the first user returns to rendering the 3D environment using the first viewing perspective associated with the first entity.

7. The method according to claim 1, wherein When an activity signal is received from a subset of computing devices associated with a subset of users identified as having a connection on an organizational chart, the input identifying the event satisfies the preset condition, wherein the generation of the supplementary model and the rendering of the subset of individual entities within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal from the subset of computing devices associated with the subset of users identified as having the connection on the organizational chart.

8. The method according to claim 1, wherein Modify permissions in response to the input identifying the event satisfying the preset condition, wherein the modified permissions allow a first set of computing devices associated with the user associated with the event to use the supplementary model defining the second 3D environment to display the rendering of the subset of individual entities, and wherein the permissions are modified in response to the event to restrict a second set of computers associated with other users from using the supplementary model defining the second 3D environment to display the rendering of the subset of individual entities.

9. A computing device for facilitating participation by transitioning from a first viewing perspective associated with a first entity to a temporary viewing perspective, the first entity being one of a plurality of entities within a 3D environment, the computing device comprising: One or more processing units; And A computer-readable storage medium encoded with computer-executable instructions that cause the one or more processing units to: Access a data structure defining the 3D environment, the data structure defining the position and orientation of each of the plurality of entities within the 3D environment, the data structure defining the first viewing perspective from the viewpoint of the first entity; Generate a rendering of the 3D environment using the first viewing perspective associated with the first entity for display on a display device associated with the first user; Determine that an input identifying an event satisfies a preset condition; In response to determining that the input identifying the event satisfies the preset condition, generate a supplementary model defining a second 3D environment, the second 3D environment including individual entities, each individual entity representing the user associated with the event, wherein the individual entity is within the temporary viewing perspective of the virtual camera; and Generate a rendering of the individual entity within the temporary viewing perspective of the virtual camera for display on the display device associated with the first user, wherein the rendering of the individual entity is displayed using the supplementary model defining the second 3D environment, the second 3D environment including individual entities, each individual entity representing the user associated with the event.

10. The computing device according to claim 9, wherein, When an activity signal is received from a subset of computing devices associated with a subset of users having a threshold level of connection with each other, the input identifying the event satisfies the preset condition, wherein the generation of the supplementary model and the rendering of the individual entity within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal from the subset of computing devices associated with the subset of users having the threshold level of connection with each other.

11. The computing device according to claim 9, wherein, When an activity signal is received from a subset of computing devices associated with a subset of users and the activity signal indicates an activity at a threshold level, the input identifying the event satisfies the preset condition, wherein the generation of the supplementary model and the rendering of the individual entity within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal from the subset of computing devices associated with the subset of users, wherein the activity signal indicates the activity at the threshold level.

12. The computing device according to claim 11, wherein, The rendering of the individual entity within the viewing perspective of the virtual camera is displayed on the display device until the activity signal of the subset of users drops below a second activity threshold level. In response to the activity signal of the subset of users dropping below the second activity threshold level, the display on the display device associated with the first user returns to the rendering of the 3D environment using the first viewing perspective associated with the first entity.

13. The computing device according to claim 9, wherein, When an activity signal is received from a subset of computing devices associated with a subset of users having a threshold level of connection with each other, the input identifying the event satisfies the preset condition, and wherein the activity signal indicates the activity at the threshold level, wherein the generation of the supplementary model and the rendering of the individual entity within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal indicating the activity at the threshold level from the subset of computing devices associated with the subset of users having the threshold level of connection with each other.

14. The computing device according to claim 13, wherein, The rendering of the individual entity within the viewing perspective of the virtual camera is displayed on the display device until the activity signal of the user subset drops below a second activity threshold level. In response to the activity signal of the user subset dropping below the second activity threshold level, the display on the display device associated with the first user returns to rendering the 3D environment using the first viewing perspective associated with the first entity.

15. The computing device according to claim 9, wherein, Modify permissions in response to the input identifying the event satisfying the preset condition, wherein the modified permissions allow the computing device of the user associated with the event to use the supplementary model defining the second 3D environment to display the rendering of the individual entity.

16. A computer-readable storage medium encoded with computer-executable instructions for facilitating participation by transitioning from a first viewing perspective associated with a first entity to a temporary viewing perspective, the first entity being one of a plurality of entities located within a 3D environment, the computer-executable instructions for causing one or more processing units of a computing device to: Access a data structure defining the 3D environment, the data structure defining the position and orientation of each of the plurality of entities within the 3D environment, the data structure defining the first viewing perspective from the viewpoint of the first entity. Generate a rendering of the 3D environment using the first viewing perspective associated with the first entity for display on a display device associated with the first user. Determine that the input identifying the event satisfies a preset condition. In response to determining that the input identifying the event satisfies the preset condition, generate a supplementary model defining a second 3D environment, the second 3D environment including individual entities, each individual entity representing a user associated with the event, wherein the individual entities are located within the temporary viewing perspective of the virtual camera. Generate a rendering of the individual entities within the temporary viewing perspective of the virtual camera for display on the display device associated with the first user, wherein the rendering of the individual entities is displayed using the supplementary model defining the second 3D environment, the second 3D environment including individual entities, each individual entity representing a user associated with the event.

17. The computer-readable storage medium according to claim 16, wherein, The input identifying the event satisfies the preset condition when an activity signal is received from a subset of computing devices associated with a subset of users having a threshold level of connection with each other, wherein the generation of the supplementary model and the rendering of the individual entities within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal from the subset of computing devices associated with the subset of users having the threshold level of connection with each other.

18. The computer-readable storage medium according to claim 16, wherein, When an activity signal is received from a subset of computing devices associated with a subset of users and the activity signal indicates activity at a threshold level, the input identifying the event satisfies the preset condition, wherein the generation of the supplementary model and the rendering of the individual entity within the temporary viewing perspective of the virtual camera are in response to receiving the activity signal from the subset of computing devices associated with the subset of users, and wherein the activity signal indicates activity at the threshold level.

19. The computer-readable storage medium according to claim 16, wherein, The rendering of the individual entity within the viewing perspective of the virtual camera is displayed on the display device until the activity signal of the subset of users drops below a second activity threshold level, and in response to the activity signal of the subset of users dropping below the second activity threshold level, the display on the display device associated with the first user returns to rendering the 3D environment using the first viewing perspective associated with the first entity.

20. The computer-readable storage medium according to claim 16, wherein Permissions are modified in response to the input identifying the event satisfying the preset condition, wherein the modified permissions allow the computing devices of the users associated with the event to use the supplementary model defining the second 3D environment to display the rendering of the individual entity.