Method and apparatus for managing permission in virtual scene, device, and storage medium
By generating multiple content streams for the virtual scene and updating the correspondence between the client and the content streams, the problem of high network load in multi-user virtual scenes is solved, thus improving the user experience.
Patent Information
- Application Number
- PCT/CN2025/079134
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-05-28
- Filing Date
- 2025-02-25
- Publication Date
- 2025-12-04
AI Technical Summary
In multi-user virtual scenarios, existing technologies that synchronize the state of virtual objects through remote control lead to high network load, causing latency and lag, which affects the user experience.
Multiple content streams of the virtual scene are generated, including real-time content from the perspective of different virtual objects. The client and content stream correspondence is updated according to permission changes, reducing network data synchronization and directly providing the client with content from different perspectives.
It reduces network load and improves the user's interactive experience and efficiency in multi-user virtual scenarios.
Smart Images

Figure CN2025079134_04122025_PF_FP_ABST
Abstract
Description
Method, apparatus, device and storage medium for managing permissions in a virtual scene
[0001] The present application claims priority to the Chinese patent application for invention, entitled "Method, apparatus, device and storage medium for managing permissions in a virtual scene", application number 202410676132.X, filed on May 28, 2024, the entire content of which is incorporated herein by reference. TECHNICAL FIELD
[0002] Example embodiments of the present disclosure generally relate to the field of computers, and in particular, to a method, apparatus, device and computer-readable storage medium for managing permissions in a virtual scene. BACKGROUND
[0003] A virtual scene refers to a digital scene outlined by a computer through digital communication technology, which is widely used in scenes such as education, entertainment and business activities to provide immersive experiences for users. Especially in a virtual scene involving multiple parties, users can interact with other users online, greatly improving the user experience. In a virtual scene, different users have corresponding permissions to control objects in the virtual scene. SUMMARY
[0004] In a first aspect of the present disclosure, a method for managing permissions in a virtual scene is provided. The method comprises: generating one or more content streams of a virtual scene, the virtual scene comprising a plurality of virtual objects, the plurality of content streams comprising corresponding real-time content of the virtual scene from a perspective of a virtual object in the plurality of virtual objects; in response to a permission change request associated with at least one virtual object in the plurality of virtual objects, updating a correspondence between a plurality of clients accessing the virtual scene and the corresponding real-time content based on the permission change request; and based on the updated correspondence, providing at least a portion of the one or more content streams to each of the plurality of clients.
[0005] In a second aspect of the present disclosure, an apparatus for managing permissions in a virtual scene is provided. The apparatus comprises: a generation module configured to generate one or more content streams of a virtual scene, the virtual scene comprising a plurality of virtual objects, the plurality of content streams comprising corresponding real-time content of the virtual scene from a perspective of a virtual object in the plurality of virtual objects; an update module configured to, in response to a permission change request associated with at least one virtual object in the plurality of virtual objects, update a correspondence between a plurality of clients accessing the virtual scene and the corresponding real-time content based on the permission change request; and a content stream providing module configured to, based on the updated correspondence, provide at least a portion of the one or more content streams to each of the plurality of clients.
[0006] In a third aspect of the disclosure, an electronic device is provided. The device includes at least one processor; and at least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor. The instructions, when executed by the at least one processor, cause the device to perform the method of the first aspect.
[0007] In a fourth aspect of the disclosure, a computer-readable storage medium is provided. The computer-readable storage medium has stored thereon computer-executable instructions that are executable by a processor to implement the method of the first aspect.
[0008] In a fifth aspect of the disclosure, a computer program product is provided, which is tangibly stored in a computer storage medium and includes computer-executable instructions that, when executed by a device, cause the device to perform the method according to the first aspect of the disclosure.
[0009] It should be understood that the contents described in this section are not intended to limit the key features or important features of the embodiments of the disclosure, nor are they used to limit the scope of the disclosure. Other features of the disclosure will become apparent through the following description. BRIEF DESCRIPTION OF DRAWINGS
[0010] The above and other features, advantages, and aspects of embodiments of the disclosure will become more apparent by describing in detail some embodiments thereof with reference to the annexed drawings in which:
[0011] FIG. 1 shows a schematic diagram of an example environment in which embodiments of the disclosure can be implemented;
[0012] FIG. 2 shows a schematic diagram of one example of a system for managing permissions in a virtual scene according to some embodiments of the disclosure;
[0013] FIG. 3 shows a schematic diagram of an interaction flow for managing permissions in a virtual scene according to some embodiments of the disclosure;
[0014] FIG. 4 shows an interaction diagram of a first client, a second client, a scene server, and a cloud server according to some embodiments of the disclosure;
[0015] FIG. 5 shows an interaction diagram of a first user, a grouping service, an access service, a cloud scene unit, a content service, and a scene instance according to some embodiments of the disclosure;
[0016] FIG. 6 shows an interaction diagram of a second user, a grouping service, an access service, a cloud scene unit, a content service, and a scene instance according to some embodiments of the disclosure;
[0017] FIG. 7 shows an interaction diagram of a first user, a second user, a grouping service, an access service, a cloud scenario unit, a content service, and a scenario instance, according to some embodiments of the present disclosure;
[0018] FIG. 8 shows a schematic diagram of a method for managing permissions in a virtual scenario, according to some embodiments of the present disclosure;
[0019] FIG. 9 shows a schematic diagram of an apparatus for virtual scenario interaction, according to some embodiments of the present disclosure; and
[0020] FIG. 10 shows a block diagram of an electronic device capable of implementing one or more embodiments of the present disclosure. DETAILED DESCRIPTION
[0021] It can be understood that, before using the technical solutions disclosed by the embodiments of the present disclosure, the type, use range, use scenario, etc. of the personal information involved in the present disclosure should be informed to the user and the authorization of the user should be obtained through appropriate means according to relevant laws and regulations.
[0022] For example, in response to receiving an active request of a user, a prompt information is sent to the user to explicitly prompt the user that the operation requested to be performed will require obtaining and using personal information of the user. Thus, the user can autonomously choose whether to provide personal information to the electronic device, application program, server or storage medium, etc. software or hardware performing the operation of the technical solutions of the present disclosure according to the prompt information.
[0023] As an optional but non-limiting implementation manner, in response to receiving an active request of a user, the manner of sending a prompt information to the user may, for example, be a pop-up window manner, in which the prompt information can be presented in a text manner. In addition, the pop-up window can also carry a selection control for the user to select "agree" or "disagree" to provide personal information to the electronic device.
[0024] It can be understood that the above notification and obtaining of user authorization process is only illustrative and does not limit the implementation manner of the present disclosure, and other manners meeting relevant laws and regulations can also be applied to the implementation manner of the present disclosure.
[0025] It can be understood that the data (including but not limited to the data itself, the acquisition or use of the data) involved in the present technical solutions should comply with the requirements of relevant laws and regulations and relevant provisions.
[0026] Embodiments of the present disclosure will be described below in greater detail with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is understood that the present disclosure can be embodied in various forms and should not be construed as being limited to the embodiments set forth herein, but rather should be construed to encompass all modifications equivalent in meaning and scope. It is to be understood that the drawings and embodiments of the present disclosure are only for illustrative purposes and are not intended to limit the scope of the present disclosure.
[0027] It is noted that the titles of any sections / sub-sections provided herein are not limiting. Various embodiments are described throughout this document and any type of embodiment can be included under any section / sub-section. Moreover, embodiments described in any section / sub-section can be combined with any other embodiment described in the same section / sub-section and / or a different section / sub-section in any manner.
[0028] In this document, unless explicitly stated otherwise, performing a step “in response to” A does not mean that the step is performed immediately after A, but can include one or more intervening steps.
[0029] In the description of embodiments of the present disclosure, the term “includes” and its derivatives are to be construed as open-ended, i.e., “including, but not limited to.” The term “based on” is to be construed as “based at least in part on.” The term “one embodiment” or “the embodiment” are to be construed as “at least one embodiment.” The term “some embodiments” is to be construed as “at least some embodiments.” Other explicit and implicit definitions can also be included below. The terms “first,” “second,” etc. can refer to different or same objects. Other explicit and implicit definitions can also be included below.
[0030] FIG. 1 shows a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. In this example environment 100, a terminal device 110 has an application 120 installed therein. A user 140 can interact with the application 120 via the terminal device 110 and / or an attached device of the terminal device 110. Illustratively, the application 120 can be a content generation type application, a content sharing type application, or a social application, which is capable of providing services related to media content to the user 140, including browsing, commenting, forwarding, creating (e.g., shooting and / or editing), publishing, etc. of the content. “Media content” can include one or more types of content, such as video, image, moving picture, image set, audio, text, etc. The application 120 can support the user 140 to create multimedia content. Such multimedia content can include image data and audio data.
[0031] In the environment 100 of FIG. 1, a terminal device 110 can present a user interface 150 of an application 120. The user interface 150 can include various interfaces that the application 120 can provide, such as a content presentation interface, a content creation interface, a content publishing interface, a message interface, a personal homepage, and the like. The application 120 can provide a content browsing function to browse various contents published in the application 120. The application 120 can also provide a content creation function, including shooting, uploading, editing, and / or publishing media content. In some embodiments, a client of a virtual scene can be deployed in the application 120 or in the terminal device 110, which can provide services of the virtual scene. Such a virtual scene can include, for example, but not limited to, a game (such as a bullet screen game), a virtual reality scene, and the like.
[0032] In some embodiments, the terminal device 110 communicates with a server 130 to implement the provision of services of the application 120. The terminal device 110 can be any type of mobile terminal, fixed terminal, or portable terminal including a mobile handset, a desktop computer, a laptop computer, a notebook computer, a netbook computer, a tablet computer, a media player, a multimedia tablet, a personal communication system (PCS) device, a personal navigation device, a personal digital assistant (PDA), an audio / video player, a digital camera / camcorder, a positioning device, a television receiver, a radio broadcast receiver, an electronic book device, a game device, or any combination thereof, including accessories and peripherals of these devices, or any combination thereof. In some embodiments, the terminal device 110 can also support any type of interface to the user (such as "wearable" circuitry, etc.). The server 130 can be various types of computing systems / servers capable of providing computing power, including but not limited to mainframes, edge computing nodes, computing devices in a cloud environment, and the like.
[0033] It should be understood that the structure and function of the various elements in the environment 100 are described for illustrative purposes only, without implying any limitation on the scope of the present disclosure. For example, embodiments of the present disclosure can be applied to any suitable application(s), without being limited to an office suite.
[0034] As briefly mentioned above, while multi-person virtual scenes based on cloud computing technology are increasingly favored by users, some problems have also been exposed. For example, the current multi-person teaming mode is mostly that multiple users start the same application in their own terminal devices and join the same room for networking teaming. When a user wants to control a virtual object corresponding to another client, the user needs to connect to the client of the target user through the server to obtain the state data of the target virtual object. When there are a large number of roles in the virtual scene, using remote control technology to synchronize the state data of the virtual objects will cause a large network load, causing delay or lag, and affecting the user experience.
[0035] Embodiments of the present disclosure propose a scheme for managing permissions in a virtual scene. According to various embodiments of the present disclosure, one or more content streams of a virtual scene are generated, the virtual scene including a plurality of virtual objects, the one or more content streams including respective real-time content of the virtual scene from a perspective of the plurality of virtual objects; in response to a permission change request associated with at least one virtual object of the plurality of virtual objects, updating a correspondence between a plurality of clients accessing the virtual scene and the respective real-time content based on the permission change request; and providing at least a portion of the one or more content streams to each of the plurality of clients based on the updated correspondence.
[0036] In this way, one or more content streams including respective real-time content of the virtual scene from a perspective of the plurality of virtual objects are generated, and a correspondence between the clients and the respective real-time content is updated according to the permission change request, so that the respective real-time content is provided to the clients based on the updated correspondence, enabling the clients to see content from different perspectives of the virtual objects without synchronizing data through remote control technology. In this way, network load is reduced, and user experience is improved.
[0037] FIG. 2 shows a schematic diagram of one example of a system 200 for managing permissions in a virtual scene according to some embodiments of the present disclosure. As shown in FIG. 2, the system for virtual scene interaction generally includes a client 210, a client 211 arranged on a terminal device 110, a scene server 250 arranged at a remote end, and a cloud server 280 arranged in a server.
[0038] The client corresponds to each participant of the virtual scene, such as at least one spectator or a first user participating in the virtual scene. The client may, for example, be a standalone application installed in the terminal device 110, or be arranged in and interact with the application 120. In the latter case, the application 120 is a host application of the client. In some embodiments, the client can be implemented through a software development kit (SDK) and integrated in the host application. The client SDK is used to provide a visual interface for the user when triggered by the user, so as to facilitate the user to determine an operation instruction through the visual interface. In addition, the client SDK is also used to establish a connection with the scene server 250, to send the operation instruction to the scene server 250, and to receive data sent by the scene server 250 and execute a policy issued by the scene server 250.
[0039] In some embodiments, the client can provide a visual interface for the user and generate corresponding operation instructions according to the user's operation on the visual interface. The client 210 and the client 211 are connected with the scene server 250 to transmit the user operation instructions to the scene server 250 and receive the information sent by the scene server 250. The information sent by the scene server 250 to the client 210 and the client 211 includes, for example but not limited to, data and policies that need to be displayed to the user.
[0040] The scene server 250 can be implemented by using various suitable servers, for example. The scene server 250 can include or provide various services to enable the user to participate in the virtual scene. In some embodiments, as shown in FIG. 2, the scene server 250 can include an access service 220, a grouping service 230, and a content service 240. In some embodiments, the access service 220 is configured to be responsible for allocating cloud computing servers and starting the virtual scene. The grouping service 230 is configured to be responsible for user grouping related business logic. The content service 240 is configured to be responsible for the streaming, pulling, and other related business logic of the content (e.g., video, audio, etc.).
[0041] The cloud server 280 includes a cloud scene unit 270 disposed in a cloud server and a scene instance 260 established by using a cloud service cluster. The scene instance 260 corresponds to a virtual scene that is running.
[0042] As an example, the virtual scene can be a cloud game. Accordingly, the scene server 250 can be configured to provide a cloud game service for the user, the access service 220 can be configured to allocate cloud computing resources for running the cloud game for the user and start the cloud game. The grouping service 230 can be configured to group multiple users participating in the cloud game, and the content service 240 can be configured to transmit the rendered game picture to the cloud game user. The cloud server 280 is disposed in a server cluster and connected with the scene server 250. The scene instance 260 is configured to run the cloud game and establish the virtual scene by using the computing resources of the server cluster, and transmit the cloud game data to the scene server 250 through the cloud scene unit 270, acquire the user operation instructions sent by the client 210 and the client 211 through the cloud scene unit 270 and execute the user operation instructions. The terminal device 110 can be a device used by the user to participate in the game, such as a personal computer, a mobile phone, a tablet computer, etc.
[0043] In some embodiments, the scene server 250 is further configured to acquire the permission change request sent by the client 210 and the client 211, and transmit the permission change request to the cloud server 280, so that the cloud server 280 updates the corresponding relationship between the client and the corresponding real-time content.
[0044] In some embodiments, any user can initiate a creation request by a local client to start a virtual scene including multiple virtual objects, and other users can participate in the virtual scene by setting up a client in terminal device 110.
[0045] FIG. 3 shows a schematic diagram of an interaction flow 300 for managing permissions in a virtual scene, according to some embodiments of the present disclosure. As shown in FIG. 3, cloud server 280 runs a scene instance 260 and renders it using cloud computing resources to generate a virtual scene. In some embodiments, cloud server 280 runs scene instance 260 in a single-instance mode and renders a virtual scene including multiple virtual objects, and different users access the virtual scene and obtain respective real-time content in the virtual scene from different virtual object perspectives.
[0046] In the example of FIG. 3, first user 310 and second user 320 are taken as examples of participants. In this example, first user 310 sends a creation request to scene server 250 through client 210. Scene server 250 allocates computing resources for scene instance 260 in cloud server 280 and creates a virtual scene according to the creation request. After creating the virtual scene, first user 310 invites other second user 320 to access the virtual scene. After second user 320 accesses the virtual scene, first user 310 sends operation instructions with first user identification information to cloud server 280 through client 210 to control the virtual object in the virtual scene corresponding to first user 310. Second user 320 sends operation instructions with second user identification information to cloud server 280 through client 211 to control the virtual object in the virtual scene corresponding to second user 320. The operation instructions sent by first user 310 and second user 320 are transmitted to cloud server 280 in a transparent manner. In this way, multiple virtual objects corresponding to first user 310 and second user 320 are concentrated in one virtual scene, and there is no need to synchronize data for different virtual objects, thereby reducing network data synchronization pressure.
[0047] In some embodiments, the cloud server 280 generates a content stream including respective real-time content of the virtual scene in the perspective of each virtual object. The scene server 250 pushes the content stream to the clients to provide the users with views of different perspectives. After the cloud server 280 generates the content stream, the scene server 250 pushes the content stream to the clients. In some embodiments, the scene server 250 processes the content stream after receiving the content stream to obtain the respective real-time content of the virtual scene in the perspective of each virtual object in the content stream, and sends the respective real-time content to the clients according to the correspondence between the clients and the respective real-time content. In some embodiments, the scene server 250 pushes the received content stream to all the clients. The clients process the content stream according to the correspondence between the clients and the respective real-time content to obtain the respective real-time content corresponding to the clients themselves in the content stream.
[0048] In some embodiments, the cloud server 280 generates a plurality of content streams of the virtual scene based on the virtual scene in the perspective of each virtual object, each content stream of the plurality of content streams including respective real-time content of the virtual scene in the perspective of one virtual object of the plurality of virtual objects. The cloud server 280 sends the plurality of content streams to the scene server 250, so that the scene server 250 pushes the content stream including the respective real-time content corresponding to the perspective of the first user to the first user 310 and pushes the content stream including the respective real-time content corresponding to the perspective of the second user to the second user 320 based on the correspondence between the respective real-time content in the content stream and the clients of the first user 310 and the second user 320. The first user 310 pulls the stream through the client 210 to obtain the view of the virtual scene in the perspective of the virtual object corresponding to the first user 310, and the second user 320 pulls the stream through the client 211 to obtain the view of the virtual scene in the perspective of the virtual object corresponding to the second user 320. In this way, the user (which can be the first user 310 or the second user 320) can see views of different perspectives. Thus, the interaction between users is enhanced and the user experience is improved.
[0049] In some embodiments, the first user 310 and the second user 320 can send operation instructions to the clients through human-computer interaction devices, which include but are not limited to keyboards, mice, and virtual rocker keys based on touch screens. The first user identifier and the second user identifier can be identity information, for example. The operation instructions sent by the first user 310 and the second user 320 can be forwarded to the cloud server 280 through the scene server 250.
[0050] To more clearly understand the virtual scene interaction scheme of the present disclosure, an example process of passing interaction information between the first client 210, the second client 211, the scene server 250, and the cloud server 280 is described with reference to FIG. 4.
[0051] FIG. 4 shows an interaction diagram 400 of a first client, a second client, a scene server, and a cloud server according to some embodiments of the present disclosure. In the example of FIG. 4, the first client 410 and the second client 411 can be running in the terminal device 110 or rely on the application 120 installed in the terminal device 110 as a host to run and be used to play cloud games, start live streaming, etc. when there are multiple content streams, each of which corresponds to one of the multiple virtual objects and includes real-time content in the perspective of the corresponding virtual object.
[0052] As shown in FIG. 4, the first participant (e.g., the first user 310) sends (421) a creation request for a virtual scene to the scene server 250 through the first client 410. The scene server 250 responds to the received virtual scene creation request and determines (422) configuration information for the virtual scene. In some embodiments, the configuration information of the virtual scene includes but is not limited to server information for running the virtual scene, computing resources allocated for the virtual scene, identification information of the virtual scene, etc. The server information and computing resources, etc. can be determined according to the type of the virtual scene to be created, or can be determined according to the permission of the client sending the creation request. In some embodiments, the first client 410 is the client that issues the virtual scene creation request, and is one of the multiple clients. For example, the first client 410 can be the client used by the first user 310.
[0053] After the scene server 250 determines the configuration information, it sends (423) a start request to the cloud server 280, which includes but is not limited to the configuration information and identification information of the first client 410. The scene server 250 sends (424) the configuration information to the first client 410.
[0054] After receiving the start request, the cloud server 280 starts (425) the virtual scene including multiple virtual objects according to the configuration information in the start request, and generates (426) multiple content streams of the virtual scene. In some embodiments, the number of virtual objects can be a pre-set value or a value specified by the user. When the user needs to specify the number of virtual objects, the user can be prompted in advance about the upper and lower limits of the number of virtual objects to ensure that the virtual scene can be normally used in subsequent live streaming or use. In some embodiments, the image of the virtual object can be a default image, or an image adjusted by the user based on the default image or materials, or an image uploaded by the user. As an example, in the scenario of cloud gaming, the cloud server 208 renders the virtual scene through its own game engine, and the rendering operation includes processing the physical logic, character action, scene rendering, etc. in the game. In other examples, for different virtual objects, the real-time content of the virtual scene from the perspective of each object is obtained, and the real-time content is rendered to generate multiple content streams of the virtual scene. In order to facilitate efficient propagation of the content stream, the pictures included in the content stream need to be encoded and compressed, and common encoding methods include video encoding technologies H.264, H.265, etc.
[0055] Each content stream includes real-time content of the virtual scene from the perspective of a virtual object, and the first client 410 is associated (427) with the content stream from the perspective of the main virtual object, and the first client is associated (428) with the main virtual object, so as to realize the binding of the first user information and the content stream and the main virtual object. In some embodiments, the correspondence between the content stream and the client can be determined based on the identity of the client accessing the virtual scene. Each content stream can correspond to a different client (which can be a client used by the first user 310, or a client used by the second user 320). In some embodiments, the main virtual object is the object selected by the first client 410, which can be any object in the multiple virtual objects. According to different settings of the virtual scene (for example, cloud gaming), the main virtual object can include multiple virtual objects. During the running of the virtual scene, the first client 410 can continuously or intermittently control each main virtual object. In some embodiments, the main virtual object can also be an object specified by the virtual scene.
[0056] After the binding is completed, the cloud server 280 establishes (429) a long connection with the scene server 250, and establishes (430) a long connection between the scene server 250 and the first client 410. In this way, the first client 410 and the cloud server 280 are connected through the scene server 250. The cloud server 280 pushes (431) to the scene server 250, so as to facilitate the client 410 to pull (432).
[0057] In some embodiments, after the first user 310 initiates the virtual scene through the first client 410 and enters the real-time communication (RTC) room, the first user 310 starts to pull the stream to display the team-up picture in the first client 410. The second user 320 enters the virtual scene in response to the team-up invitation sent by the first user 310, or the second user 320 actively sends a team-up request to access the virtual scene. The team-up invitation sent by the first user 310 can be, but is not limited to, room name information, team-up link, two-dimensional code, etc., so that the invited person can enter the team-up room or obtain the team-up room information. When the second user 320 responds to the invitation of the first user 310 or actively sends a team-up request through the second client 411, the second client 411 sends an access request to the scene server. The scene server 250 determines the virtual scene corresponding to the access request, and sends access information of the virtual scene to the cloud server 280. The access information includes, but is not limited to, the identity information of the second client and the auxiliary virtual object selected by the second client. The cloud server 280 corresponds the second client 411 to the content stream under the perspective of the auxiliary virtual object in the plurality of virtual objects. The second client 411 starts to pull the stream after the second user 320 enters the team-up room, so as to display the team-up picture in the second client 411. After the first user 310 confirms that the team-up is successful, the first user 310 enters the virtual scene. In some embodiments, the second user 320 can enter the team after the other users in the team have entered the virtual scene.
[0058] After the first user 310 invites other second users to access the virtual scene, the second user 320 who accepts the invitation of the first user 310 sends (433) an access request to the scene server 250 through the second client 411, and the scene server 250 sends (434) access information of the second client to the cloud server 280. After obtaining the access information, the cloud server 280 corresponds (435) the second client 411 to the content stream under the perspective of the auxiliary virtual object, and associates (436) the second client 411 with the auxiliary virtual object. In some embodiments, the auxiliary virtual object is an object selected by using the second client 411, which can be any object in the plurality of virtual objects. According to different rules of the entered virtual scene, the auxiliary virtual object can include a plurality of virtual objects, or the auxiliary virtual object and the main virtual object are the same virtual object. After accessing the virtual scene, the second client 411 can continuously or discontinuously control each auxiliary virtual object.
[0059] The cloud server 280 sends 437 the state information to the scene server 250. After receiving the state information of the second client 411, the scene server 250 sends 438 the configuration information of the virtual scene to the second client 411. The second client 411 establishes 439 a long connection with the scene server 250. The second client 411 pulls the stream 440 from the scene server 250. The first user 310 sends 441 operation instructions to the cloud server 280 through the first client 410, and the second user 320 sends 442 operation instructions to the cloud server 280 through the second client 420, so as to control the main virtual object and the auxiliary virtual object in the virtual scene respectively. In this way, the virtual scene can be started by the single-instance model, and the virtual scene access service and the virtual object control service can be provided for the user, without the need of data synchronization between virtual objects.
[0060] The first user 310 sends 443 a permission change request to the cloud server 280 through the first client 410, and the second user 320 sends 444 a permission change request to the cloud server 280 through the second client 411.
[0061] After obtaining the permission change request, the cloud server 280 updates 445 the correspondence between the multiple clients accessing the virtual scene and the multiple content streams based on the permission change request. The cloud server 280 pushes the stream 431 to the scene server 250 based on the updated correspondence, so as to pull the stream 447 by the first client 410 and pull the stream 448 by the second client 411, thereby providing the corresponding content stream to the clients. In this way, the clients can see the content under different virtual object perspectives, without the need of synchronizing data through remote control technology. In some embodiments, the permission change request can be a request sent by the user through the client, including but not limited to a request sent by the user who creates the virtual scene, or a request sent by the invited user. In other embodiments, the permission change request can be a request generated by the virtual scene itself.
[0062] In some embodiments, the cloud server 280 generates a single content stream including respective real-time contents in the perspective of multiple virtual objects. The respective real-time content in the perspective of the first user 310 and the respective real-time content in the perspective of the second user 320 can be rendered and cropped by the cloud server 280 or the scene server 250. For each client, the scene server 250 determines the corresponding real-time content from the single content stream and provides the corresponding real-time content to each client. The respective real-time content in the perspective of the first user 310 and the respective real-time content in the perspective of the second user 320 can also be rendered and cropped by the first client 410, the second client 411 after pulling the stream. The first client 410 obtains the single content stream and renders and crops the content stream based on the correspondence between the client and the respective real-time content to obtain the corresponding respective real-time content of the client.
[0063] FIG. 5 shows an interaction diagram 500 of the first user 310, the grouping service 230, the access service 220, the cloud scene unit 270, the content service 240, and the scene instance 260, in which the first user 310 and the second user 320 can obtain services provided by the scene server 250 and the cloud server 280 through the clients in the example of FIG. 5.
[0064] As shown in FIG. 5, the first user 310 sends (510) a grouping request to the grouping service 230 through the first client 410. The grouping service 230 obtains the input grouping number and sends (511) a grouping request to the access service 220. In some embodiments, the grouping request sent by the grouping service 230 can be a request carrying grouping information. The grouping information is used to represent the identity information of the first user 310 and the grouping room demand information, including but not limited to the identity information of the first user 310, the identity information of the first client 410, the grouping number information, the grouping condition, etc. In some embodiments, the grouping request sent by the first client 410 can be sent to the access service 220 in a data transparent transmission manner. The grouping service 230 only forwards the grouping request and does not process the grouping request. The access service 220 determines (512) the configuration information of the virtual scene according to the grouping information, and sends (513) a start instruction to the cloud scene unit 270 according to the configuration information. The start request includes but is not limited to the configuration information and the identity information of the first client 410. After receiving the start instruction, the cloud scene unit 270 establishes (514) a communication connection with the RTC room. The cloud scene unit 270 sends (515) the configuration information of the grouping room to the grouping service 230, and the grouping service 230 sends (516) the configuration information to the client of the first user 310. The cloud scene unit 270 binds (517) the first user information in the creation request to the scene instance 260. The cloud scene unit 270 establishes (518) a long connection with the grouping service 230. The client of the first user 310 establishes (519) a long connection with the grouping service 230. The content service 240 adds (520) the first client 410 of the first user 310 to the RTC room. The cloud scene unit 270 pushes (521) the content stream of the virtual scene to the content service 240. The first client 410 pulls (522) the corresponding real-time content in the perspective of the first user 310 from the content service 240.
[0065] In some embodiments, the cloud server 280 generates a plurality of content streams, each of which corresponds to a virtual object in the plurality of virtual objects and includes real-time content in the perspective of the corresponding virtual object. The cloud scene unit 270 pushes the plurality of content streams of the virtual scene to the content service 240. The first client 410 pulls the content stream in the perspective of the first user 310 from the content service 240. The second client 411 pulls the content stream in the perspective of the second user 320 from the content service 240.
[0066] In some embodiments, the cloud server 280 generates a content stream including respective real-time contents in the perspective of the plurality of virtual objects. The cloud scene unit 270 pushes the single content stream of the virtual scene to the content service 240. The respective real-time content in the perspective of the first user 310 and the respective real-time content in the perspective of the second user 320 can be rendered and cropped by the cloud scene unit 270 or the content service 240, but not limited thereto. The content service 240 determines the corresponding real-time content from the single content stream for each client and provides the corresponding real-time content to each client. The respective real-time content in the perspective of the first user 310 and the respective real-time content in the perspective of the second user 320 can also be rendered and cropped by the first client 410 and the second client 411 after being pulled. The first client 410 obtains the single content stream and renders and crops the content stream based on the correspondence between the client and the corresponding real-time content to obtain the corresponding real-time content corresponding to the client.
[0067] The first user 310 sends (523) an operation instruction to the cloud scene unit 270 through the first client 410, and the cloud scene unit 270 controls (524) the main virtual object corresponding to the first user 310 according to the operation instruction. When the first user 310 needs to end the access to the virtual scene, the first client 410 sends (525) a logout instruction to the grouping service 230, the grouping service 230 sends (526) the logout instruction to the cloud scene unit 270, and the cloud scene unit 270 sends (527) the logout instruction to the scene instance 260. In some embodiments, the user (e.g., the first user 310) who owns the ownership of the scene instance can only send the logout instruction after all other users are logged out, so as to prevent the scene instance 260 created by the first user 310 from malfunctioning. In some embodiments, the ownership of the scene instance 260 can be transferred to other second users after the user (e.g., the first user 310) who owns the ownership of the scene instance sends the logout instruction, so as to ensure that the scene instance 260 can normally operate after the first user 310 logs out until there is no user accessing the scene instance 260.
[0068] FIG. 6 shows an interaction diagram 600 of the second user 320, the grouping service 230, the access service 220, the cloud scene unit 270, the content service 240, and the scene instance 260 according to some embodiments of the present disclosure. In the example of FIG. 6, when there are multiple content streams, each content stream corresponds to one of the plurality of virtual objects and includes real-time content in the perspective of the corresponding virtual object, the first user 310 and the second user 320 can obtain services provided by the scene server 250 and the cloud server 280 through the clients.
[0069] As shown in FIG. 6, the second user 320 sends (610) a team-up information query request to the grouping service 230 through the second client 411 to obtain team-up information, and sends (611) a team-up request carrying the team-up information to the grouping service 230. The grouping service 230 sends (612) access information to the cloud scenario unit 270, and the cloud scenario unit 270 binds (613) the second user information in the access information to the scenario instance 260. The cloud scenario unit 270 sends (614) state information to the grouping service 230 to indicate that the second client 411 has accessed the scenario instance 260. The grouping service 230 sends (615) configuration information of the team-up room to the second client 411. The second client 411 establishes (616) a long connection with the grouping service 230. The content service 240 adds (617) the second client 411 of the second user 320 to the RTC room. The second client 411 pulls (618) the content stream of the second user 320's perspective from the content service 240. In some embodiments, the content stream of the second user 320's perspective can be, but is not limited to, rendered and cropped by the cloud scenario unit 270 or the content service 240, or can be rendered and cropped by the second client 411 after pulling the stream.
[0070] The second user 320 sends (619) operation instructions to the cloud scenario unit 270 through the second client 411, and the cloud scenario unit 270 controls (620) the auxiliary virtual object corresponding to the second user 320 according to the operation instructions. When the second user 320 needs to end the access to the virtual scenario, the second client 411 sends (621) an offline instruction to the grouping service 230, the grouping service 230 sends (622) the offline instruction to the cloud scenario unit 270, and the cloud scenario unit 270 sends (623) the offline instruction to the scenario instance 260.
[0071] FIG. 7 shows an interaction diagram 700 of the first user 310, the second user 320, the grouping service 230, the access service 220, the cloud scenario unit 270, the content service 240, and the scenario instance 260 according to some embodiments of the present disclosure.
[0072] As shown in FIG. 7, when the first user 310 and the second user 320 both access the virtual scene, the first user 310 sends (710) an operation instruction to the cloud scene unit 270, in the presence of multiple content streams, each of which corresponds to one of the multiple virtual objects and includes real-time content in the perspective of the corresponding virtual object. The cloud scene unit 270 sends (711) the operation instruction to the scene instance 260 to control the corresponding primary virtual object in the virtual scene. In some embodiments, the virtual scene includes multiple virtual objects, and the primary virtual object is bound to the identity information of the first user. When determining the virtual object corresponding to the operation instruction, the corresponding virtual object is determined through the user identity information carried in the operation instruction, and the primary virtual object is controlled according to the operation instruction. The first user 310 is the user who creates the virtual scene, and the second user 320 is the user who subsequently accesses the virtual scene. In some embodiments, the virtual object is bound to the identification information of the client used by the user when accessing the virtual scene. The scene instance 260 pushes (712) the content stream containing the real-time content of the virtual scene in the perspective of the primary virtual object to the cloud scene unit 270. The first user 310 pulls (713) the content stream through the client to obtain the content stream.
[0073] The second user 320 sends (714) an operation instruction to the cloud scene unit. The cloud scene unit 270 sends (715) the operation instruction to the scene instance 260 to control the secondary virtual object corresponding to the second user in the virtual scene. The scene instance 260 pushes (716) the content stream containing the real-time content of the virtual scene in the perspective of the secondary virtual object to the cloud scene unit 270. The second user 320 pulls (717) the content stream through the client to obtain the content stream.
[0074] The first user 310 sends (718) a permission change request to the cloud scene unit 270, and the cloud scene unit 270 sends (719) the permission change request to the scene instance 260. The scene instance 260 updates (720) the correspondence between the multiple clients and the multiple content streams according to the obtained permission change request. In some embodiments, the user permission is the access right of the user to different content streams. The content stream is a video, image, and audio stream provided by the cloud server 280 to the user, including real-time content of the virtual scene in the perspective of a virtual object. The scene instance 260 updates the correspondence between the content stream and the client according to the permission change request, thereby changing the user's access to the content stream. In some embodiments, the user permission is the control permission of the user to the virtual object. After obtaining the permission change request for the control permission, the scene instance 260 needs to update the correspondence between the virtual object and the client to change the control permission of the user.
[0075] In some embodiments, the permission change request sent by the first user is a request to exchange content stream access permission or virtual object control permission with other users, and the scenario instance 260 determines the users that need to exchange the permission according to the permission change request, and updates the corresponding relationship of the corresponding users and the content stream or the virtual object. In some embodiments, the permission change request sent by the first user is a request to change only the content stream access permission or the virtual object control permission of itself.
[0076] The scenario instance 260 pushes the content stream containing the real-time content of the virtual scene in the perspective of the primary virtual object to the cloud scenario unit 270 according to the updated corresponding relationship between the content stream and the client (721). The second user 320 pulls the content stream by the client (722) to obtain the content stream. The content stream containing the real-time content of the virtual scene in the perspective of the secondary virtual object is pushed to the cloud scenario unit 270 (723). The first user 310 pulls the content stream by the client (724) to obtain the content stream. In some embodiments, the scenario instance 260 determines whether the user has the permission to update the corresponding relationship after obtaining the permission change request sent by the user. And when the user has the permission, the corresponding relationship is updated according to the permission change request of the user. In some embodiments, when the permission change request involves multiple users, the scenario instance 260 needs to obtain the authorization of other users before updating the corresponding relationship.
[0077] FIG. 8 shows a schematic diagram of a method 800 for managing permissions in a virtual scene, according to some embodiments of the present disclosure. As shown in FIG. 8, the process 800 can be implemented at the cloud server 280.
[0078] At block 810, one or more content streams of a virtual scene are generated, the virtual scene including a plurality of virtual objects, and the plurality of content streams including respective real-time content of the virtual scene in perspectives of the plurality of virtual objects.
[0079] At block 820, in response to a permission change request associated with at least one virtual object of the plurality of virtual objects, a corresponding relationship between a plurality of clients accessing the virtual scene and the respective real-time content is updated based on the permission change request.
[0080] In some embodiments, updating the corresponding relationship based on the permission change request comprises: in response to the permission change request indicating to exchange preset permissions associated with a first virtual object and a second virtual object of the plurality of virtual objects, disassociating first real-time content in the perspective of the first virtual object from a first client of the plurality of clients. Disassociating second real-time content in the perspective of the second virtual object from a second client of the plurality of clients. Corresponding the first real-time content to the second client; corresponding the second real-time content to the first client.
[0081] In some embodiments, the preset permission includes control right of the first virtual object and the second virtual object.
[0082] In some embodiments, the starting of the virtual scene is in response to a creation request for the virtual scene from the first client, and the first virtual object is a primary virtual object in the virtual scene, and the second virtual object is a secondary virtual object in the virtual scene.
[0083] In some embodiments, updating the correspondence based on the permission change request includes: in response to the permission change request indicating switching the preset permission of a third virtual object in the plurality of virtual objects, disassociating third real-time content in the perspective of the third virtual object from a third client in the plurality of clients. The third real-time content is associated with a fourth client indicated by the permission change request. The third client and the fourth client are any two clients simultaneously accessing the same virtual scene. In some embodiments, the third client and the fourth client can be the first client 410 and the second client 411 respectively.
[0084] In some embodiments, the preset permission of the third virtual object in the plurality of virtual objects includes control right of the third virtual object.
[0085] In some embodiments, the permission change request indicates a change in at least one of: control right of at least one virtual object, or access right of content stream in the perspective of at least one virtual object.
[0086] In some embodiments, the permission change request is issued by at least one client in the plurality of clients.
[0087] At block 830, based on the updated correspondence, at least a portion of the corresponding one or more content streams is provided to each of the plurality of clients.
[0088] In some embodiments, each of the one or more content streams corresponds to a virtual object in the plurality of virtual objects and includes corresponding real-time content in the perspective of the corresponding virtual object, and providing at least a portion of the one or more content streams to each of the plurality of clients includes: providing the content stream including the corresponding real-time content to each of the plurality of clients.
[0089] In some embodiments, providing the corresponding content stream to each of the plurality of clients includes: sending, by the cloud server, the plurality of content streams to the scene server, wherein each content stream is associated with identification information indicating the client to which the content stream corresponds.
[0090] In some embodiments, the one or more content streams are a single content stream including respective real-time content, and providing at least a portion of the one or more content streams to each of the plurality of clients comprises: determining, for each client, corresponding respective real-time content from the single content stream; and providing the corresponding respective real-time content to each of the plurality of clients.
[0091] In some embodiments, providing at least a portion of the one or more content streams to each of the plurality of clients comprises: sending, by the cloud server, a single content stream including respective real-time content to the scene server, wherein the respective real-time content is associated with identification information to indicate a client to which the respective real-time content corresponds.
[0092] In some embodiments, the method 800 further comprises changing the first virtual object from corresponding to the first client to corresponding to the second client for the first virtual object to be controlled by the second client, and changing the second virtual object from corresponding to the second client to corresponding to the first client for the second virtual object to be controlled by the first client.
[0093] In some embodiments, the method 800 further comprises changing the third virtual object from corresponding to the third client to corresponding to the fourth client for the third virtual object to be controlled by the fourth client.
[0094] FIG. 9 shows a schematic diagram of an apparatus 900 for virtual scene interaction, according to some embodiments of the present disclosure. The apparatus 900 can be implemented as or included in the cloud server 280. Various modules / components in the apparatus 900 can be implemented by hardware, software, firmware, or any combination thereof.
[0095] As shown in FIG. 9, the apparatus 900 includes a generation module 910 configured to generate one or more content streams of a virtual scene, the virtual scene including a plurality of virtual objects, the plurality of content streams including respective real-time content of the virtual scene from a perspective of the plurality of virtual objects. An update module 920 configured to, in response to a permission change request associated with at least one virtual object of the plurality of virtual objects, update a correspondence between a plurality of clients accessing the virtual scene and the respective real-time content based on the permission change request. A content stream providing module 930 configured to, based on the updated correspondence, provide at least a portion of the corresponding one or more content streams to each of the plurality of clients.
[0096] In some embodiments, the generation module 910 is further configured to, in response to the permission change request indicating switching preset permissions associated with a first virtual object and a second virtual object in the plurality of virtual objects, disassociate first real-time content in a perspective of the first virtual object from a first client in the plurality of clients. Disassociate second real-time content in a perspective of the second virtual object from a second client in the plurality of clients. Associate the first real-time content with the second client and associate the second real-time content with the first client.
[0097] In some embodiments, the generation module 910 is further configured to, in response to a creation request for a virtual scene from the first client to initiate the virtual scene, and the first virtual object is a primary virtual object in the virtual scene and the second virtual object is a secondary virtual object in the virtual scene.
[0098] In some embodiments, the update module 920 is further configured to, in response to the permission change request indicating switching preset permissions associated with a third virtual object in the plurality of virtual objects, disassociate third real-time content in a perspective of the third virtual object from a third client in the plurality of clients. Associate the third real-time content with a fourth client indicated by the permission change request.
[0099] In some embodiments, the permission change request is issued by at least one client in the plurality of clients. The permission change request indicates a change of at least one of: control of at least one virtual object, or access to content stream in a perspective of at least one virtual object.
[0100] In some embodiments, the apparatus 900 further includes a first control permission update module configured to change the first virtual object from corresponding to the first client to corresponding to the second client to be controlled by the second client. Change the second virtual object from corresponding to the second client to corresponding to the first client to be controlled by the first client.
[0101] In some embodiments, the apparatus 900 further includes a second control permission update module configured to change the third virtual object from corresponding to the third client to corresponding to the fourth client to be controlled by the fourth client.
[0102] In some embodiments, each of the one or more content streams corresponds to a virtual object in the plurality of virtual objects and includes respective real-time content in a perspective of the corresponding virtual object, and the content stream providing module 930 is further configured to: provide the content stream including the corresponding respective real-time content to each of the plurality of clients.
[0103] In some embodiments, the content stream providing module 930 is further configured to send, by the cloud server, the plurality of content streams to the scene server, wherein each content stream is associated with identification information indicating a corresponding client to which the content stream corresponds.
[0104] In some embodiments, the one or more content streams are a single content stream including respective real-time contents, and the content stream providing module 930 is further configured to: determine, for each client, a corresponding respective real-time content from the single content stream; and provide the corresponding respective real-time content to each client of the plurality of clients.
[0105] In some embodiments, the content stream providing module 930 is further configured to send, by the cloud server, a single content stream including respective real-time contents to the scene server, wherein the respective real-time contents are associated with identification information indicating a corresponding client to which the respective real-time content corresponds.
[0106] FIG. 10 illustrates a block diagram of an electronic device 1000 capable of implementing one or more embodiments of the present disclosure. It should be understood that the electronic device 1000 illustrated in FIG. 10 is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. The electronic device 1000 illustrated in FIG. 10 can be used to implement the electronic device 110 of FIG. 1.
[0107] As shown in FIG. 10, the electronic device 1000 is in the form of a general electronic device. The components of the electronic device 1000 can include, but are not limited to, one or more processors 1010 or processing units, a memory 1020, a storage device 1030, one or more communication units 1040, one or more input devices 1050, and one or more output devices 1060. The processor 1010 can be a real or virtual processor and is capable of performing various processing according to programs stored in the memory 1020. In a multi-processor system, multiple processors perform computer-executable instructions in parallel to improve the parallel processing capability of the electronic device 1000.
[0108] The electronic device 1000 typically includes a number of computer storage media. Such media can be any available media that is accessible by the electronic device 1000 and includes both volatile and non-volatile media, removable and non-removable media. The memory 1020 can be a volatile memory (e.g., registers, cache, random access memory (RAM)), a non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 1030 can be a removable or non-removable media and can include machine-readable media, such as a flash drive, a magnetic disk, or any other media that can be used to store information and / or data and that can be accessed by the electronic device 1000.
[0109] The electronic device 1000 can further include additional detachable / non-detachable, volatile / non-volatile storage media. Although not shown in FIG. 10, a disk drive for reading from or writing to a detachable, non-volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a detachable, non-volatile optical disk (e.g., a CD-ROM) can be provided. In these cases, each drive can be connected to the bus (not shown) by one or more data media interfaces. The memory 1020 can include a computer program product 1025 having one or more program modules configured to carry out the various methods or acts of the various embodiments of the present disclosure.
[0110] The communication unit 1040 enables communication with other electronic devices through communication media. Additionally, the functions of the components of the electronic device 1000 can be implemented in a single computing cluster or a plurality of computer machines that are capable of communicating with each other through a communication connection. Thus, the electronic device 1000 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network nodes in the networking environment.
[0111] The input device 1050 can be one or more input devices, such as a mouse, a keyboard, a trackball, etc. The output device 1060 can be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 1000 can also communicate with one or more external devices (not shown) such as a storage device, a display device, etc., one or more devices that enable a user to interact with the electronic device 1000, or any devices (e.g., a network card, a modem, etc.) that enable the electronic device 1000 to communicate with one or more other electronic devices through the communication unit 1040, as desired. Such communication can be carried out via an input / output (I / O) interface (not shown).
[0112] According to an example implementation of the present disclosure, there is provided a computer-readable storage medium having computer-executable instructions stored thereon, where the computer-executable instructions are executed by a processor to implement the method described above. According to an example implementation of the present disclosure, there is also provided a computer program product tangibly stored on a non-transitory computer-readable medium and including computer-executable instructions, where the computer-executable instructions are executed by a processor to implement the method described above.
[0113] Various aspects of the disclosure are now described with reference to the drawings. In general, the drawings described below are diagrammatic and schematic representations of actual or conceptual structures, devices, and systems. In the drawings, the size of elements can not be necessarily to scale and certain features can be shown exaggerated in the interest of clarity and conciseness. Like reference numerals can be used to denote like elements throughout the specification and the drawings.
[0114] These computer readable program instructions can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions can also be stored in a computer readable storage medium that can include a non-transitory computer readable storage medium that can be a computer- readable storage medium having no data storage cycles that change state. The instructions can be executed by one or more processors of a computer, other programmable data processing apparatus, or other devices to produce a computer-implemented process such that the instructions which execute via the one or more processors of the computer or other programmable data processing devices create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. The computer program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0115] The computer readable program instructions can also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0116] The flow and block diagrams in the drawings show the architectural, functional, and operational views of possible implementations of systems, methods, and computer program products according to the present disclosure. In this regard, each block in the flow and block diagrams can represent a module, a segment, or a portion of instructions which contain one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks can occur out of the order noted in the figures. For example, two blocks shown in succession can in fact be executed substantially concurrently or the blocks can sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustrations, and combinations of blocks in the block diagrams and / or flowchart illustrations, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
[0117] The implementations of the disclosure have been described above with the intent to be illustrative rather than limiting. Although being described in the context of particular implementations, those skilled in the art will recognize that the implementations are not limited thereto and will apply to any implementation that falls within the scope of the appended claims and their equivalents. The terms used in this document are not intended to be limiting, and are used merely to recite a certain set of innovations. A variety of changes can be made without departing from the scope and spirit of the disclosure. One of ordinary skill in the art will recognize that the innovations described herein, in whole or in part, can be implemented using one or more computers or data processing apparatuses. Accordingly, other implementations are within the scope of the following claims.
Claims
1. A method for managing permissions in a virtual scene, comprising: Generate one or more content streams of a virtual scene, the virtual scene comprising multiple virtual objects, the one or more content streams comprising corresponding real-time content of the virtual scene from the perspective of the multiple virtual objects; In response to a permission change request associated with at least one of the plurality of virtual objects, the correspondence between the plurality of clients accessing the virtual scene and the corresponding real-time content is updated based on the permission change request; as well as Based on the updated correspondence, at least a portion of one or more content streams is provided to each of the plurality of clients.
2. The method according to claim 1, wherein updating the correspondence based on the permission change request includes: In response to the permission change request, the preset permissions associated with the first and second virtual objects among the plurality of virtual objects are exchanged. De-correspond to the first real-time content from the perspective of the first virtual object with the first client among the plurality of clients; De-correspond to the second real-time content from the perspective of the second virtual object with the second client among the plurality of clients; The first real-time content is associated with the second client; as well as The second real-time content is matched with the first client.
3. The method according to claim 2, wherein the preset permissions include control over the first virtual object and the second virtual object, and the method further includes: The first virtual object is changed from corresponding to the first client to corresponding to the second client, so that the first virtual object is controlled by the second client; as well as The second virtual object is changed from corresponding to the second client to corresponding to the first client, so that the second virtual object is controlled by the first client.
4. The method according to claim 2, wherein the initiation of the virtual scene is in response to a creation request for the virtual scene from the first client, and the first virtual object is the main virtual object in the virtual scene, and the second virtual object is the auxiliary virtual object in the virtual scene.
5. The method according to claim 1, wherein updating the correspondence based on the permission change request includes: In response to the permission change request, the preset permissions for a third virtual object among the plurality of virtual objects are switched. De-corresponding the third real-time content from the perspective of the third virtual object to the third client among the multiple clients; and The third real-time content corresponds to the fourth client indicated by the permission change request.
6. The method according to claim 5, wherein the preset permissions for the third virtual object among the plurality of virtual objects include control over the third virtual object, and the method further comprises: The third virtual object is changed from corresponding to the third client to corresponding to the fourth client, so that the third virtual object can be controlled by the fourth client.
7. The method of claim 1, wherein each of the one or more content streams corresponds to one of the plurality of virtual objects and includes corresponding real-time content from the perspective of the corresponding virtual object, and providing at least a portion of the one or more content streams to each of the plurality of clients comprises: Provide a content stream, including the corresponding real-time content, to each of the plurality of clients.
8. The method of claim 1, wherein the one or more content streams are a single content stream comprising the corresponding real-time content, and providing at least a portion of the one or more content streams to each of the plurality of clients comprises: For each client, the corresponding real-time content is determined from the single content stream; as well as Provide the corresponding real-time content to each of the multiple clients.
9. The method of claim 7, wherein the method is performed by a cloud server and providing at least a portion of the one or more content streams to each of the plurality of clients comprises: The cloud server sends the multiple content streams to the scene server, each content stream being associated with identification information to indicate the client corresponding to that content stream.
10. The method of claim 8, wherein the method is performed by a cloud server and providing at least a portion of the one or more content streams to each of the plurality of clients comprises: The cloud server sends a single content stream, including the corresponding real-time content, to the scene server. The corresponding real-time content is associated with identification information to indicate the client to which the corresponding real-time content belongs.
11. The method of claim 1, wherein the permission change request is issued by at least one of the plurality of clients.
12. The method of claim 1, wherein the permission change request indicates a change in at least one of the following: Control over the at least one virtual object, or Access to the corresponding real-time content from the perspective of the at least one virtual object.
13. The method of claim 1, wherein the cloud server runs the virtual scene as a single instance.
14. An apparatus for managing permissions in a virtual scene, comprising: The generation module is configured to generate one or more content streams of a virtual scene, the virtual scene including multiple virtual objects, and the one or more content streams including corresponding real-time content of the virtual scene from the perspective of the multiple virtual objects; The update module is configured to update the correspondence between multiple clients accessing the virtual scene and the corresponding real-time content based on the permission change request in response to a permission change request associated with at least one of the plurality of virtual objects; as well as A content streaming module is configured to provide at least a portion of the one or more content streams to each of the plurality of clients based on the updated mapping.
15. An electronic device comprising: At least one processor; as well as At least one memory coupled to the at least one processor and storing instructions for execution by the at least one processor, the instructions causing the electronic device to perform the method according to any one of claims 1 to 13 when executed by the at least one processor.
16. A computer-readable storage medium having stored thereon computer-executable instructions that can be executed by a processor to implement the method according to any one of claims 1 to 13.
17. A computer program product tangibly stored in a computer storage medium and comprising computer-executable instructions that, when executed by a device, cause the device to perform the method according to any one of claims 1 to 13.
Citation Information
Patent Citations
Visual angle switching method and device for virtual scene live broadcast, equipment and storage medium
CN111629225A
Virtual scene picture display method and device, computer equipment and storage medium
CN112915537A
Interaction method and device in cloud game live broadcast, storage medium and electronic device
CN114082198A
Scene picture coding method and device, electronic equipment and storage medium
CN114225386A
Method and device for managing authority in virtual scene, equipment and storage medium
CN118698132A