Information processing method, system, device, and storage medium
Patent Information
- Application Number
- PCT/CN2026/083410
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-04-15
- Filing Date
- 2026-03-13
- Publication Date
- 2026-10-22
Smart Images

Figure CN2026083410_22102026_PF_FP_ABST
Abstract
Description
Information processing methods, systems, equipment and storage media
[0001] This application claims priority to Chinese Patent Application No. 202510475971.X, filed on April 15, 2025, entitled "Information Processing Method, System, Apparatus and Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of computer technology, and in particular to an information processing method, system, device and storage medium. Background Technology
[0003] Games and other applications provide virtual environments where virtual objects typically need to be controlled to perform activities such as walking, driving, climbing, and picking up items.
[0004] In related technologies, the server initializes virtual objects such as virtual items around the player character and non-player characters, and provides instance data of virtual objects to the terminal.
[0005] However, as the number of virtual objects in the virtual environment increases, the number of virtual objects around the player character also increases accordingly. How to reduce the computing resource overhead generated by virtual objects and reduce device load is an urgent problem to be solved. Summary of the Invention
[0006] This application provides an information processing method, system, device, and storage medium, the technical solution of which is as follows:
[0007] According to one aspect of this application, an information processing method is provided, the method being executed by a terminal, the terminal having a data transmission connection with a server, the method comprising:
[0008] Obtain the location information of the first virtual object in the virtual environment and the environmental information of the virtual environment;
[0009] Based on the location information and the environment information, a first request message for an environment object is sent. The location of the first virtual object in the virtual environment belongs to a first region, and the second region in which the environment object is located in the virtual environment is visually connected to the first region.
[0010] Obtain instance data of the environment object, which describes the state of the environment object in the virtual environment. The instance data is provided by the server in response to the first request information.
[0011] According to another aspect of this application, an information processing method is provided, the method being executed by a server, the server having a data transmission connection with a terminal, the method comprising:
[0012] Obtain first request information of an environment object, wherein the second region in which the environment object is located in the virtual environment is visually connected to the first region in which the first virtual object is located in the virtual environment;
[0013] In response to the first request information, instance data of the environment object is sent to the terminal, the instance data being used to describe the state of the environment object in the virtual environment.
[0014] In an optional design of this application, the environmental information further includes visual connectivity between at least two virtual regions; the visual connectivity is obtained based on obstacle information annotation between the at least two virtual regions, or based on observations from a virtual camera model in the virtual environment.
[0015] According to another aspect of this application, an information processing apparatus is provided, the apparatus being provided by a terminal having a data transmission connection with a server, the apparatus comprising:
[0016] The acquisition module is used to acquire the location information of the first virtual object in the virtual environment and the environmental information of the virtual environment;
[0017] The processing module is used to send a first request message for an environment object based on the location information and the environment information. The location of the first virtual object in the virtual environment belongs to a first region, and the second region in which the environment object is located in the virtual environment is visually connected to the first region.
[0018] The acquisition module is further configured to acquire instance data of the environment object, the instance data being used to describe the state of the environment object in the virtual environment, and the instance data being provided by the server in response to the first request information.
[0019] In an optional design of this application, the processing module is further configured to:
[0020] Based on the location information, it is determined that the location of the first virtual object in the virtual environment belongs to the first area;
[0021] Based on the visual connectivity between at least two virtual regions carried by the environmental information, the second region that is visually connected to the first region is determined;
[0022] Based on the location of the candidate environmental objects carried by the environmental information in the virtual environment, the environmental objects located in the second region are selected.
[0023] Send the first request information of the environment object.
[0024] In an optional design of this application, the environmental information further includes the intersection relationship between the first region and the first location unit block, and the processing module is further configured to:
[0025] Based on the location information, the first location unit block where the first virtual object is located is determined;
[0026] Based on the intersection relationship, it is determined that the first virtual object is located in the first region of the virtual environment.
[0027] In an alternative design of this application, the processing module is further configured to perform at least one of the following:
[0028] If the intersection relationship between the first region and the first location unit block is a complete intersection, it is determined that the first virtual object is located in the first region in the virtual environment;
[0029] If the intersection relationship between the first region and the first location unit block is partial, and the location information belongs to the first sub-region, then the first virtual object is determined to be located in the first region in the virtual environment, where the first sub-region is the intersection region between the first region and the first location unit block.
[0030] In an optional design of this application, the first request information carries the object identifier of the environment object and / or the location information of the first virtual object in the virtual environment.
[0031] According to another aspect of this application, an information processing apparatus is provided, the apparatus being provided by a server, the server having a data transmission connection with a terminal, the apparatus comprising:
[0032] The acquisition module is used to acquire first request information of an environment object, wherein the second region in which the environment object is located in the virtual environment is visually connected to the first region in which the first virtual object is located in the virtual environment.
[0033] The processing module is configured to respond to the first request information by sending instance data of the environment object to the terminal, wherein the instance data is used to describe the state of the environment object in the virtual environment.
[0034] In an optional design of this application, the first request information carries the object identifier of the environment object and / or the location information of the first virtual object in the virtual environment.
[0035] In an optional design of this application, the processing module is further configured to:
[0036] If the first request information carries the location information, based on the location information, it is determined that the location of the first virtual object in the virtual environment belongs to the first area;
[0037] Acquire environmental information, and determine the second region that is visually connected to the first region based on the visual connectivity between at least two virtual regions carried by the environmental information;
[0038] Based on the location of the candidate environmental objects carried by the environmental information in the virtual environment, the environmental objects located in the second region are selected.
[0039] Send the instance data of the environment object.
[0040] According to another aspect of this application, an information processing system is provided, the system comprising a terminal and a server having a data transmission connection, the system comprising:
[0041] The terminal is used to obtain the location information of the first virtual object in the virtual environment and the environmental information of the virtual environment;
[0042] The terminal is further configured to send a first request message for an environment object based on the location information and the environment information, wherein the location of the first virtual object in the virtual environment belongs to a first region, and the second region in which the environment object is located in the virtual environment is visually connected to the first region.
[0043] The server is used to obtain the first request information of the environment object;
[0044] The server is further configured to respond to the first request information by sending instance data of the environment object to the terminal, wherein the instance data is used to describe the state of the environment object in the virtual environment;
[0045] The terminal is also used to obtain the instance data of the environment object.
[0046] According to another aspect of this application, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, the code set or instruction set being loaded and executed by the processor to implement the information processing method as described above.
[0047] According to another aspect of this application, a computer-readable storage medium is provided, wherein at least one instruction, at least one program, code set, or instruction set is stored therein, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the information processing method described above.
[0048] According to another aspect of this application, a computer program product is provided, the computer program product including computer instructions stored in a computer-readable storage medium, wherein a processor reads from the computer-readable storage medium and executes the computer instructions to implement the information processing method described above.
[0049] The beneficial effects of the technical solution provided in this application include at least the following:
[0050] By sending a first request message for the environment object, instance data of the environment object is requested; the second area where the environment object is located and the first area where the first virtual object is located are visually connected, ensuring the normal display of the virtual objects that the first virtual object needs to observe; compared with the method of requesting all virtual objects around the first virtual object in related technologies, this avoids the terminal obtaining instance data of virtual objects that are close to the first virtual object but are not visually visible, thus reducing the terminal's memory overhead; the terminal does not need to run the business logic of visually invisible virtual objects, thus reducing the terminal's computational overhead. Attached Figure Description
[0051] Figure 1 is a structural block diagram of a computer system provided in an exemplary embodiment of this application;
[0052] Figure 2 is a schematic diagram of an information processing method provided in an exemplary embodiment of this application;
[0053] Figure 3 is a flowchart of an exemplary embodiment of the information processing method provided in this application;
[0054] Figure 4 is a flowchart of an information processing method provided in an exemplary embodiment of this application;
[0055] Figure 5 is a flowchart of an exemplary embodiment of the information processing method provided in this application;
[0056] Figure 6 is a flowchart of an exemplary embodiment of the information processing method provided in this application;
[0057] Figure 7 is a flowchart of an exemplary embodiment of the information processing method provided in this application;
[0058] Figure 8 is a flowchart of an exemplary embodiment of the information processing method provided in this application;
[0059] Figure 9 is a schematic diagram of the transformation process from three-dimensional space to two-dimensional image provided in an exemplary embodiment of this application;
[0060] Figure 10 is a flowchart of an information processing method provided in an exemplary embodiment of this application;
[0061] Figure 11 is a structural block diagram of an information processing apparatus provided in an exemplary embodiment of this application;
[0062] Figure 12 is a structural block diagram of an information processing apparatus provided in an exemplary embodiment of this application;
[0063] Figure 13 is a structural block diagram of a terminal provided in an exemplary embodiment of this application;
[0064] Figure 14 is a structural block diagram of a server provided in an exemplary embodiment of this application. Detailed Implementation
[0065] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions. For example, the location information, environmental information and other information involved in this application were obtained with full authorization.
[0066] Figure 1 shows a structural block diagram of a computer system provided in an exemplary embodiment of this application. The computer system 100 includes: a first terminal 110, a server 120, and a second terminal 130.
[0067] The first terminal 110 has a client 111 installed and running that supports a virtual environment. This client 111 can be a multiplayer online battle arena (MOBA) program. When the first terminal runs the client 111, the user interface of the client 111 is displayed on the screen of the first terminal 110. The client 111 can be any of the following: battle royale shooting game, virtual reality (VR) application, augmented reality (AR) program, 3D mapping program, virtual reality game, augmented reality game, casual game, party game, first-person shooter (FPS) game, third-person shooter (TPS) game, multiplayer online battle arena (MOBA) game, or simulation game (SLG). In this embodiment, the client 111 is an FPS game as an example. The first terminal 110 is the terminal used by the first user 112. The first user 112 uses the first terminal 110 to control a first virtual object located in the virtual environment to perform activities. The first virtual object can be referred to as the virtual object of the first user 112. The activities of the first virtual object include, but are not limited to, at least one of the following: moving, jumping, teleporting, releasing skills, using items, adjusting body posture, crawling, walking, running, riding, flying, jumping, driving, picking up, shooting, attacking, and throwing. For illustrative purposes, the first virtual object is a virtual object, such as a realistic character or an anime character.
[0068] The second terminal 130 has a client 131 installed and running that supports a virtual environment. This client 131 can be a multiplayer online battle arena (MOBA) program. When the second terminal 130 runs the client 131, the user interface of the client 131 is displayed on the screen of the second terminal 130. This client can be any of the following: battle royale shooting game, VR application, AR program, 3D map program, virtual reality game, augmented reality game, FPS, TPS, MOBA, or SLG. In this embodiment, a MOBA game is used as an example. The second terminal 130 is the terminal used by the second user 132. The second user 132 uses the second terminal 130 to control a second virtual object located in the virtual environment. This second virtual object can be referred to as the virtual object of the second user 132. Illustratively, the second virtual object is a virtual object, such as a simulated character or an anime character.
[0069] Optionally, the first virtual object and the second virtual object reside in the same virtual environment. Optionally, the first virtual object and the second virtual object may belong to the same faction, the same team, the same organization, have a friend relationship, or have temporary communication permissions. Optionally, the first virtual object and the second virtual object may belong to different factions, different teams, different organizations, or have an adversarial relationship.
[0070] Optionally, the clients installed on the first terminal 110 and the second terminal 130 are the same, or the clients installed on the two terminals are the same type of client on different operating system platforms (Android or iOS). The first terminal 110 can refer to one of multiple terminals, and the second terminal 130 can refer to another of multiple terminals. This embodiment only uses the first terminal 110 and the second terminal 130 as examples. The device types of the first terminal 110 and the second terminal 130 may be the same or different, and these device types include at least one of the following: smartphones, tablets, e-book readers, MP3 players, MP4 players, laptops, and desktop computers.
[0071] Figure 1 shows only two terminals, but in different embodiments, multiple other terminals 140 can access the server 120. Optionally, one or more terminals 140 are terminals corresponding to developers, on which a development and editing platform supporting a virtual environment client is installed. Developers can edit and update the client on the terminal 140 and transmit the updated client installation package to the server 120 via wired or wireless network. The first terminal 110 and the second terminal 130 can download the client installation package from the server 120 to update the client.
[0072] The first terminal 110, the second terminal 130, and other terminals 140 are connected to the server 120 via a wireless network or a wired network.
[0073] Server 120 includes at least one of a single server, multiple servers, a cloud computing platform, and a virtualization center. Server 120 is used to provide backend services for clients supporting a 3D virtual environment. Optionally, server 120 undertakes the main computing work, and the terminal undertakes the secondary computing work; or, server 120 undertakes the secondary computing work, and the terminal undertakes the main computing work; or, server 120 and the terminal use a distributed computing architecture for collaborative computing.
[0074] In an illustrative example, server 120 includes processor 122, user account database 123, battle service module 124, and user-facing input / output interface (I / O interface) 125. Processor 122 loads instructions stored in server 120 and processes data in user account database 123 and battle service module 124. User account database 123 stores data about user accounts used by first terminal 110, second terminal 130, and other terminals 140, such as user account avatars, nicknames, combat power indices, and the service area where the user account is located. Battle service module 124 provides multiple battle rooms for users to play, such as 1v1, 3v3, and 5v5 battles. User-facing I / O interface 125 establishes communication and exchanges data with first terminal 110 and / or second terminal 130 via wireless or wired network.
[0075] The methods provided in this application can be applied to at least one of the following scenarios, but are not limited to: virtual reality applications, 3D map programs, casual games, party games, first-person shooter (FPS) games, third-person shooter (TPS) games, multiplayer online battle arena (MOBA) games, multiplayer shooting survival games, etc. The following embodiments are examples of applications in games.
[0076] Figure 2 shows a schematic diagram of an information processing method provided in an exemplary embodiment of this application.
[0077] The virtual environment includes multiple virtual areas, such as area 310, area 320, area 330, and area 340. Areas 310 to 340 were defined during the development phase of the virtual environment. For example, area 310 is the interior area of the virtual building, and the solid lines along its edges represent the building walls. Area 320 is the transition area between the interior and exterior of the virtual building, including adjacent areas leading to the interior (e.g., doors and windows). Areas 330 and 340 are the exterior areas of the virtual building.
[0078] The first region 310 is the region where the first virtual object 345 is located. The first virtual object 345 is the player character controlled by the first terminal 110. The virtual environment also includes candidate environment objects other than the first virtual object 345, including the first environment object 351 to the sixth environment object 356. The distance between the candidate environment objects and the first virtual object 345 is less than a distance threshold.
[0079] The first region 310 and the second region 320 are visually connected; however, due to the obstruction of the building walls of the virtual building, the first region 310 is not visually connected to the third region 330 and the fourth region 340.
[0080] When the first virtual object 345 is located in the first region, it can only observe the first environmental object 351 and the second environmental object 352 in the first region 310, and the third environmental object 353 in the second region 320, which is visually connected to the first region 310. As for the fourth environmental object 354, the fifth environmental object 355, and the sixth environmental object 356 in the third region 330 and the fourth region 340, even if the fourth environmental object 354 to the sixth environmental object 356 are close to the first virtual object 345, they will not be observed due to the presence of virtual buildings or other large obstructions.
[0081] The first terminal 110, acting as the control terminal for the first virtual object 345, sends a first request for environmental objects to the server 120. The environmental objects include a third environmental object 353 in a second region 320 that is visually connected to the first region 310. The fourth to sixth environmental objects 356 in the third region 330 and the fourth region 340, which are close to the first virtual object 345 but are not observed due to the presence of virtual buildings or other large obstructions, are excluded.
[0082] Correspondingly, server 120 sends instance data of environment objects to first terminal 110. While ensuring that the virtual objects that the first virtual object needs to observe are displayed normally, it avoids the terminal from obtaining instance data of virtual objects that are close to the first virtual object but are not visually visible, thus reducing the terminal's memory overhead. Correspondingly, the terminal does not need to run the business logic of visually invisible virtual objects, thus reducing the terminal's computational overhead.
[0083] The information processing method will now be described through the following examples.
[0084] Figure 3 shows a flowchart of an information processing method provided in an exemplary embodiment of this application. The method can be executed by a terminal. The method includes:
[0085] Step 510: Obtain the location information of the first virtual object in the virtual environment and the environment information of the virtual environment.
[0086] For example, the terminal executing the embodiment has a data transmission connection with the server, and the server provides background support for the virtual environment where the first virtual object is located. For example, the server is a background server for the application that provides the virtual environment.
[0087] For example, the location of the first virtual object in the virtual environment belongs to the first area; the first virtual object can be a virtual object that the terminal has control or spectator permissions for, such as a virtual character directly controlled by the terminal, a virtual pet released by a virtual character controlled by the terminal, or other virtual characters that the terminal can view by clicking on a minimap, etc., at least one of these. The location information is used to directly indicate that the first virtual object is in the first area, or it can indirectly indicate that the location of the first virtual object in the virtual environment belongs to the first area by carrying the location coordinates of the first virtual object.
[0088] Step 520: Based on location information and environmental information, send the first request information for the environmental object.
[0089] For example, the first request information is used to request instance data of an environmental object. The information content carried in the first request information can be determined based on location information and environmental information. The terminal can send the first request information if it has the ability to obtain location information and environmental information in the virtual environment.
[0090] For example, the environmental information indicates the visual connectivity between the second region and the first region in the virtual environment where the environmental object is located; the visual connectivity between the second region and the first region can be pre-annotated, or it can be obtained by calling a virtual camera model to observe the first and second regions in the virtual environment. This application does not limit the method of determining visual connectivity.
[0091] In this application, virtual regions such as the first region and the second region can be implemented as two-dimensional planes or three-dimensional spaces in the environment. This application does not impose any restrictions on the shape, size, etc., of the virtual regions. Different virtual regions typically do not overlap, but the possibility of partially overlapping virtual regions cannot be ruled out. In some examples, virtual regions are divided based on virtual terrain in the virtual environment; for example, based on virtual buildings in the virtual environment, the interior and exterior of virtual buildings are divided into different virtual regions.
[0092] Step 530: Obtain instance data of the environment object.
[0093] For example, instance data is used to describe the state of an environment object in a virtual environment. Instance data includes, but is not limited to, at least one of the following: skinning material of the environment object, behavior tree, dialogue material required for interaction with the environment object, action material, movement path of the environment object, etc. Instance data is provided by the server in response to the first request information. This embodiment does not limit the way the server processes the environment object, such as the server performing object initialization on the environment object to build the environment object in the virtual environment.
[0094] For example, the terminal obtains instance data of the environment object, and the area where the environment object is located is visually connected to the area where the first virtual object is located; this ensures that the environment object is a visible object of the first virtual object at the current position, and reduces the terminal's memory overhead while ensuring that the virtual objects that the first virtual object needs to observe are displayed normally.
[0095] In summary, the method provided in this embodiment requests instance data of the environment object by sending a first request message for the environment object; the second region where the environment object is located and the first region where the first virtual object is located are visually connected, ensuring the normal display of virtual objects that the first virtual object needs to observe; compared with the method of requesting all virtual objects around the first virtual object in related technologies, this avoids the terminal obtaining instance data of virtual objects that are close to the first virtual object but not visually visible, thus reducing the terminal's memory overhead; the terminal does not need to run the business logic of visually invisible virtual objects, thus reducing the terminal's computational overhead.
[0096] Figure 4 shows a flowchart of an information processing method provided in an exemplary embodiment of this application. This method can be executed by a terminal. Specifically, in the embodiment shown in Figure 3, step 520 can be implemented as steps 522 to 528:
[0097] Step 522: Based on the location information, determine that the location of the first virtual object in the virtual environment belongs to the first region.
[0098] For example, location information is used to indicate the position coordinates of the first virtual object in the virtual environment. Based on the relationship between the position coordinates and the virtual region, it is determined that the position of the first virtual object in the virtual environment belongs to the first region.
[0099] Step 524: Based on the visual connectivity between at least two virtual regions carried by the environmental information, determine the second region that is visually connected to the first region.
[0100] For example, the visual connectivity information carried by the environmental information includes the visual connectivity between the first region and other regions. It should be noted that visual connectivity includes both visual connectivity and visual non-connectivity. The environmental information may record the visual connectivity between the first region and adjacent virtual regions, or it may record the visual connectivity between the first region and other virtual regions in the virtual environment.
[0101] For example, visual connectivity is used to indicate whether there is a visual obstruction between two virtual regions. For instance, if the visual connectivity between two virtual regions is visually connected, it indicates that there is no visual obstruction between them. If the visual connectivity between two virtual regions is visually disconnected, it indicates that there is a visual obstruction between them. Visual obstruction is usually due to virtual obstacles (such as virtual walls, virtual rocks, virtual trees, etc.) existing between the virtual regions.
[0102] In one optional implementation, for two non-adjacent virtual regions, a set of path regions along a straight line between the two regions is determined based on their positions. If all virtual regions in the path region set are visually connected to each other, then the two non-adjacent virtual regions are visually connected. If any virtual regions in the path region set are visually disconnected to each other, then the two non-adjacent virtual regions are visually disconnected. In another optional implementation, if the distance between two virtual regions exceeds the viewing distance, then the two virtual regions are visually disconnected. For example, the viewing distance is the maximum viewing distance of the first virtual object in the virtual environment.
[0103] For example, the first region and the second region in this application are usually different virtual regions; however, it is not excluded that the first region and the second region are the same region. For example, the first request information requests instance data of a virtual object that is in the same virtual region as the first virtual object.
[0104] Step 526: Based on the location of the candidate environmental objects in the virtual environment carried by the environmental information, filter out the environmental objects in the second region.
[0105] For example, the environmental information carries the location of the candidate environmental object in the virtual environment (e.g., its coordinates within the virtual environment). The environmental object is determined from the candidate environmental objects based on whether its location belongs to the second region. For example, this application does not limit the number of candidate environmental objects, environmental objects, or the second region; each can be implemented as one or more.
[0106] For example, candidate environment objects can be all virtual objects in the virtual environment except for the first virtual object, or they can be virtual objects whose distance from the first virtual object is less than a distance threshold. The distance threshold can be the observation distance described above, or it can be a value greater than the observation distance, determined based on the observation distance, to provide a redundant range to ensure the normal constraints of other virtual objects surrounding the first virtual object.
[0107] Step 528: Send the first request information for the environment object.
[0108] For example, the first request information is used to request instance data of the environment object. In an optional implementation, the first request information carries an object identifier of the environment object, which is provided by the environment information. The location of the candidate environment object in the virtual environment, carried in the environment information, is implemented as an information pair between the location of the candidate environment object in the virtual environment and the object identifier of the candidate environment object, such as a key-value pair (KV pair). For example, the above information pair is also called the summary information of the candidate environment object. As described above, the environment object is obtained by filtering from the candidate environment objects; therefore, the environment information carries the object identifier of the environment object.
[0109] In one optional implementation, the first request information carries the object identifier of the environment object and / or the location information of the first virtual object in the virtual environment. The location information of the first virtual object can serve as reference information, used to report the location of the first virtual object to the server. The location information can also serve as information for determining the environment object, allowing the server to identify the environment object in the virtual environment. Specific implementation methods will be described in separate embodiments below.
[0110] In summary, the method provided in this embodiment, by filtering out environment objects from candidate environment objects and sending a first request message for the environment object to request instance data of the environment object, ensures the normal display of virtual objects that the first virtual object needs to observe by visually connecting the second region where the environment object is located with the first region where the first virtual object is located. Compared with the method of requesting all virtual objects around the first virtual object in related technologies, this method avoids the terminal obtaining instance data of virtual objects that are close to the first virtual object but not visually visible, thus reducing the terminal's memory overhead. The terminal does not need to run the business logic of visually invisible virtual objects, thus reducing the terminal's computational overhead.
[0111] In an optional design of this application, the environmental information also includes the intersection relationship between the first region and the first location unit block. Accordingly, step 522 described above can be implemented as the following two sub-steps:
[0112] Sub-step 1: Based on the location information, determine the first location unit block where the first virtual object is located;
[0113] For example, the first location unit block is a tessellated region divided within the virtual environment. Taking a two-dimensional plane of the virtual environment as an example, the edge or center line of the location unit block is parallel to at least one axis of the Cartesian coordinate system of the two-dimensional plane. The location unit block is a tessellated shape in the two-dimensional plane, such as a square, rectangle, or regular hexagon.
[0114] For example, location unit blocks have regular shapes, while virtual regions divided according to virtual terrain are usually irregular polygons or have curved edges due to the complexity of the terrain in the virtual environment. Therefore, compared to virtual regions, location unit blocks only require the position coordinates of a smaller number of corner points to determine their location.
[0115] Sub-step 2: Based on the intersection relationship, determine that the first virtual object is located in the first region of the virtual environment.
[0116] For example, the intersection relationship is used to indicate the intersection relationship between the first region and the first location unit block. For instance, complete intersection is used to indicate that the first location unit block is a sub-region of the first region, and partial intersection is used to indicate that there is a partial overlapping region between the first region and the first location unit block.
[0117] Furthermore, sub-step two can be implemented as at least one of the following:
[0118] If the intersection relationship between the first region and the first location unit block is complete, it is determined that the first virtual object is located in the first region in the virtual environment;
[0119] When the intersection relationship between the first region and the first location unit block is complete, the first virtual object is always located within the first region, regardless of its position. As described above, compared to virtual regions, only a smaller number of corner coordinates are needed to determine the location of the location unit block. Using location unit blocks reduces the complexity of determining the virtual object containing the first virtual object, thereby improving the efficiency of determining environmental objects in the virtual environment.
[0120] If the intersection relationship between the first region and the first location unit block is partial, and the location information belongs to the first sub-region, then the first virtual object is determined to be located in the first region in the virtual environment.
[0121] When the intersection between the first region and the first location unit block is partial, it is not possible to determine whether the first virtual object is in the first region based solely on the location of the first location unit block. It is necessary to determine the first sub-region where the first region and the first location unit block intersect; that is, the first sub-region is the area where the first region and the first location unit block intersect. Furthermore, if the location information belongs to the first sub-region, it is determined that the first virtual object is in the first region within the virtual environment.
[0122] For example, since the location unit block and virtual region can be divided during the development phase of the virtual environment, the first sub-region can be pre-calculated. Taking the first location unit block as an example, the first sub-region typically includes one or more sides of the first location unit block (for example, if the first sub-region is a triangle, one side of the triangle is one side included in the square of the first location unit block). Because the shape of the first location unit block is regular, the location of the first sub-region can be determined by the position coordinates of a relatively small number of corner points. Using the first sub-region reduces the complexity of determining the virtual object to which the first virtual object is located, thereby improving the efficiency of determining the environment objects in the virtual environment.
[0123] In summary, the method provided in this embodiment improves the complexity of determining the virtual object where the first virtual object is located by leveraging the intersection relationship between the virtual region and the location unit block included in the environmental information, thereby increasing the efficiency of determining the environmental object in the virtual environment; it sends the first request information of the environmental object to request the acquisition of instance data of the environmental object; the second region where the environmental object is located and the first region where the first virtual object is located are visually connected, ensuring the normal display of the virtual objects that the first virtual object needs to observe; compared with the method of requesting all virtual objects around the first virtual object in related technologies, it avoids the terminal acquiring instance data of virtual objects that are close to the first virtual object but not visually visible, reducing the terminal's memory overhead; the terminal does not need to run the business logic of visually invisible virtual objects, reducing the terminal's computational overhead.
[0124] Figure 5 shows a flowchart of an information processing method provided in an exemplary embodiment of this application. This method can be executed by a terminal. Specifically, in the embodiment shown in Figure 3, step 510 can be implemented as steps 512 and 514, and step 530 can be implemented as step 532.
[0125] Step 512: Obtain the location information of the first virtual object in the virtual environment, and send the location information to the server.
[0126] For example, taking a terminal having control over a first virtual object as an example, the location information is collected in response to a movement operation of the first virtual object. By sending the location information to the server, the system requests environmental information surrounding the location of the first virtual object, thereby ensuring the normal display of other virtual objects in the virtual environment surrounding the first object.
[0127] Step 514: Receive environmental information sent by the server.
[0128] For example, the environmental information is determined by the server from all the material information in the virtual environment based on the aforementioned location information, and the environmental information is provided by the server to the terminal. For example, the environmental information includes the location of the environmental object in the virtual environment. The distance between the environmental object and the first virtual object is less than a distance threshold.
[0129] For example, this step is used to limit the environmental information to include the location information of environmental objects, but does not restrict whether other information exists. For example, all virtual objects located around the first virtual object (i.e., at a distance less than a distance threshold) become candidate environmental objects, and the environmental object is a subset of the candidate environmental objects. Accordingly, the location information of the candidate environmental objects includes the location information of the environmental objects. The location information of the environmental objects is provided to the terminal by the server together with the location information of the candidate environmental objects.
[0130] Step 532: Receive instance data of the environment object sent by the server.
[0131] In this step, the number of environment objects is at least two. Step 520 in this embodiment is used to request instance data for at least two environment objects. As previously introduced, instance data is used to describe the state of environment objects in the virtual environment. Instance data includes at least one of the following: skinning material of the environment object, behavior tree, dialogue material required for interaction with the environment object, action material, movement path of the environment object, etc., and has a large data volume. Therefore, in this embodiment, the server provides instance data for n environment objects per frame, where n is a positive integer; this limits the amount of instance data sent per frame, ensuring that the load of data transmission between the server and the terminal is balanced across multiple data frames. In one implementation, the server needs to perform object initialization on the environment objects to build environment objects in the virtual environment, such as running the environment object instance data in memory to maintain the virtual activity of the environment objects in the virtual environment; correspondingly, the server performs object initialization for n environment objects, and after completing the object initialization, sends the instance data of the above n environment objects in one data frame, ensuring that the load of the server performing object initialization is balanced across multiple data frames.
[0132] It should be noted that steps 512 and 514 in this embodiment can be combined with steps 520 and 530 in Figure 3 to form a new embodiment and be implemented separately; step 532 in this embodiment can be combined with steps 510 and 520 in Figure 3 to form a new embodiment and be implemented separately; this application does not impose any restrictions on this.
[0133] In summary, the method provided in this embodiment requests instance data of the environment object by sending a first request message for the environment object; the second region where the environment object is located and the first region where the first virtual object is located are visually connected, ensuring the normal display of virtual objects that the first virtual object needs to observe; compared with the method of requesting all virtual objects around the first virtual object in related technologies, this avoids the terminal obtaining instance data of virtual objects that are close to the first virtual object but not visually visible, thus reducing the terminal's memory overhead; the terminal does not need to run the business logic of visually invisible virtual objects, thus reducing the terminal's computational overhead.
[0134] Next, the order in which the first request information is sent will be described. In an optional example, the number of environment objects is at least two; the sending of the first request information of the environment objects described in the various embodiments above can be implemented as follows:
[0135] Based on the priority of at least two environment objects in descending order, send the first request information of at least two environment objects.
[0136] For example, the first request information is used to request instance data of at least two environment objects. As described above, the first request information carries the object identifiers of the environment objects. The above-mentioned sending of the first request information of at least two environment objects in descending order of priority can mean that the object identifiers of the environment objects in the first request information are arranged in descending order of priority, or it can mean that the priority arrangement rules are directly carried in the first request information.
[0137] For example, the priorities include at least one of the following:
[0138] Priority is negatively correlated with the distance between the environment object and the first virtual object. The distance between the environment object and the first virtual object decreases as the distance between them decreases, thus prioritizing the request for instance data of environment objects closer to the first virtual object from the server. Environment objects closer to the first virtual object have higher visual salience than those farther away, which aligns with the observation rule of objects appearing larger when closer and smaller when farther away in a virtual environment, and also reflects the higher probability that the first virtual object will interact with the closer environment object (e.g., talking to each other, chasing each other, launching a virtual attack, etc.). Assigning higher priority to closer environment objects ensures the normal display and interaction of environment objects with higher visual salience and higher probability of interaction.
[0139] The first environment object has a higher priority than the second environment object. The first environment object is a virtual object that is associated with the virtual task accepted or selected by the first virtual object, while the second environment object is unrelated to the virtual task. A virtual task can be one that achieves victory in a game within the virtual environment, or one that yields virtual resources (such as virtual accessories, virtual coins, or virtual experience points). Virtual objects associated with the virtual task accepted or selected by the first virtual object include virtual items that the first virtual object needs to collect in the virtual environment, or virtual characters that perform interactions. After accepting or selecting a virtual task, the first virtual object shows interest in virtual objects associated with that task, assigning them a higher priority to ensure the normal display and interaction of the first virtual objects that the first virtual object is interested in.
[0140] The third environment object has a higher priority than the fourth environment object. The third environment object is a virtual object within the effective range of the virtual item or virtual skill used by the first virtual object, while the fourth environment object is outside the effective range. This embodiment does not limit the effect of the virtual item or virtual skill; for example, it can be at least one of the following: generating virtual damage, providing a virtual shield, generating virtual smoke, etc. After using the virtual item or virtual skill, the first virtual object has the intention to observe the virtual objects within its effective range, such as observing the effect of the virtual item or virtual skill on the virtual object, or due to the continuity of the virtual activity, it has the intention to continue interacting with the virtual objects within its effective range, showing interest in observing the virtual objects within its effective range. Therefore, a higher priority is assigned to the third environment object, ensuring the normal display and interaction of the first virtual object that the third virtual object is interested in.
[0141] In summary, the method provided in this embodiment requests instance data of environmental objects by sending first request information based on priority. This ensures the normal display and interaction of environmental objects with visual salience and higher interaction probability, or first virtual objects of interest to the first virtual object. Visual connectivity between the second region where the environmental object is located and the first region where the first virtual object is located ensures the normal display of virtual objects that the first virtual object needs to observe. Compared to related technologies that request all virtual objects surrounding the first virtual object, this method avoids the terminal acquiring instance data of virtual objects that are close to the first virtual object but visually invisible, reducing terminal memory overhead. Furthermore, the terminal does not need to run business logic for visually invisible virtual objects, reducing terminal computational overhead.
[0142] Figure 6 shows a flowchart of an information processing method provided in an exemplary embodiment of this application. This method can be executed by a terminal. Specifically, based on the embodiment shown in Figure 3, it further includes steps 542 and 544:
[0143] Step 542: Obtain the updated position information of the first virtual object in the virtual environment and the updated environment information of the virtual environment;
[0144] For example, the updated location information and updated environment information are obtained after the location of the first virtual object or environment object changes, or are obtained over time according to a preset period.
[0145] For example, the above-mentioned updated location information refers to the updated location information of the first virtual object in the virtual environment; the above-mentioned updated environment information refers to the updated environment information of the virtual environment.
[0146] For example, please refer to the embodiment shown in Figure 5 above. The updated environmental information, similar to the updated location information, is provided by the server after receiving the updated location information. The content of the updated location information and the information acquisition method in this embodiment can be referred to the description of location information and environmental information above, and will not be repeated here.
[0147] Step 544: Based on the updated location information and updated environment information, send the second request information for the environment object;
[0148] For example, the second request information is used to instruct the server to perform object reclamation on the environment object; wherein, the third region is the region in the virtual environment where the first virtual object is located, as indicated by the updated location information, and the fourth region is the region in the virtual environment where the environment object is located, as indicated by the updated environment information. The third region and the fourth region are visually disconnected; the visual connectivity between the third region and the fourth region can be pre-annotated, or it can be obtained by calling a virtual camera model to observe the third region and the fourth region in the virtual environment. This application does not limit the method of determining visual connectivity.
[0149] In summary, the method provided in this embodiment requests the server to perform object reclamation on the environment object by sending a second request message for the environment object. Even when the environment object is outside the visible range of the first virtual object, object reclamation is performed, which avoids the server providing background support and computing business logic for instance data of virtual objects that are not visually visible to the first virtual object, thereby reducing memory and computational overhead.
[0150] Figure 7 shows a flowchart of an information processing method provided in an exemplary embodiment of this application. The method can be executed by a terminal and a server. The method includes:
[0151] Step 610: The terminal obtains the location information of the first virtual object in the virtual environment and the environment information of the virtual environment.
[0152] For example, the terminal executing the embodiment has a data transmission connection with the server, and the server provides background support for the virtual environment where the first virtual object is located, such as the background server of the application that provides the virtual environment.
[0153] For example, the location of the first virtual object in the virtual environment belongs to the first area; the first virtual object can be a virtual object that the terminal has control or spectator permissions for. For example, the location information is used to directly indicate that the first virtual object is in the first area, or it can indirectly indicate that the location of the first virtual object in the virtual environment belongs to the first area by carrying the location coordinates of the first virtual object.
[0154] Step 620: The terminal sends the first request information for the environment object based on the location information and environment information.
[0155] For example, the first request information is used to request instance data of the environment object.
[0156] For example, the environmental information indicates the visual connectivity between the second region and the first region in the virtual environment where the environmental object is located; the visual connectivity between the second region and the first region can be pre-annotated, or it can be obtained by calling a virtual camera model to observe the first and second regions in the virtual environment. This application does not limit the method of determining visual connectivity.
[0157] Step 630: The server obtains the first request information for the environment object.
[0158] The first request information is used to request instance data of the environment object. The second region where the environment object is located in the virtual environment is visually connected to the first region where the first virtual object is located in the virtual environment.
[0159] Step 640: In response to the first request information, the server sends instance data of the environment object to the terminal.
[0160] Instance data is used to describe the state of environment objects in the virtual environment. Instance data includes, but is not limited to, at least one of the following: skin material of the environment object, behavior tree, dialogue material required for interaction with the environment object, action material, movement path of the environment object, etc.
[0161] The instance data is provided by the server in response to the first request information. This embodiment does not limit the way the server processes the environment object. For example, the server performs object initialization on the environment object to realize the construction of the environment object in the virtual environment.
[0162] Step 650: The terminal obtains instance data of the environment object.
[0163] Correspondingly, the terminal receives instance data of the environment object; the terminal obtains instance data of the environment object, and the area where the environment object is located is visually connected to the area where the first virtual object is located; this ensures that the environment object is a visible object of the first virtual object at the current position, and on the basis of ensuring that the virtual objects that the first virtual object needs to observe are displayed normally, it avoids the terminal obtaining instance data of virtual objects that are close to the first virtual object but are not visually visible, thus reducing the terminal's memory overhead; correspondingly, the terminal does not need to run the business logic of visually invisible virtual objects, thus reducing the terminal's computational overhead.
[0164] It should be noted that, as described in the above embodiments, the steps executed by the terminal can be executed independently to form a separate embodiment; similarly, steps 630 and 640 executed by the server in this embodiment can also be implemented independently to form a new embodiment, and this application does not impose any restrictions on this.
[0165] For details regarding location information, environmental information, first request information, instance data, etc., not covered in this embodiment, please refer to the various embodiments above. They will not be repeated here.
[0166] In summary, the method provided in this embodiment requests instance data of the environment object by sending a first request message for the environment object; the second region where the environment object is located and the first region where the first virtual object is located are visually connected, ensuring the normal display of virtual objects that the first virtual object needs to observe; compared with the method of requesting all virtual objects around the first virtual object in related technologies, this avoids the terminal obtaining instance data of virtual objects that are close to the first virtual object but not visually visible, thus reducing the terminal's memory overhead; the terminal does not need to run the business logic of visually invisible virtual objects, thus reducing the terminal's computational overhead.
[0167] Figure 8 shows a flowchart of an information processing method provided in an exemplary embodiment of this application. This method can be executed by a server. In an embodiment where steps 630 and 640 in Figure 7 are executed individually, step 640 can be implemented as steps 642 to 648, and further includes steps 602, 604, 662, and 664.
[0168] Step 602: Receive the location information of the first virtual object in the virtual environment.
[0169] Location information is collected by the terminal in response to movement of the first virtual object. The terminal sends location information to the server to request environmental information surrounding the location of the first virtual object, thereby ensuring the normal display of other virtual objects in the virtual environment surrounding the first object.
[0170] Step 604: Send the environment information of the virtual environment.
[0171] For example, the environmental information is determined by the server from all the material information in the virtual environment based on the location information, and the environmental information is provided by the server to the terminal. For example, the environmental information includes the location of the environmental object in the virtual environment. Specifically, the environmental information includes the location of the environmental object in the virtual environment, and the distance between the environmental object and the first virtual object is less than a distance threshold.
[0172] In one alternative implementation, the environmental information also includes visual connectivity between at least two virtual regions; the visual connectivity is obtained based on obstacle information between the at least two virtual regions, or based on observations of a virtual camera model in the virtual environment.
[0173] Step 630: Obtain the first request information of the environment object.
[0174] The first request information is used to request instance data of the environment object. The second region where the environment object is located in the virtual environment is visually connected to the first region where the first virtual object is located in the virtual environment.
[0175] Step 642: If the first request information carries location information, determine that the location of the first virtual object in the virtual environment belongs to the first region based on the location information.
[0176] As described in step 528 above, the first request information carries the object identifier of the environment object and / or the location information of the first virtual object in the virtual environment. This embodiment describes the case where the first request information carries location information, and the server determines the environment object in the virtual environment.
[0177] When the first request information carries location information, the terminal is used to report the location of the first virtual object to the server, and the process of determining the environment object is performed by the server.
[0178] For example, location information is used to indicate the position coordinates of the first virtual object in the virtual environment. Based on the relationship between the position coordinates and the virtual region, it is determined that the position of the first virtual object in the virtual environment belongs to the first region.
[0179] Step 644: Obtain environmental information, and determine a second region that is visually connected to the first region based on the visual connectivity between at least two virtual regions carried by the environmental information.
[0180] For example, the visual connectivity information carried by the environmental information includes the visual connectivity between the first region and other regions. The environmental information is determined by the server based on location information within the materials in the virtual environment. For instance, the location of a candidate environmental object carried in the environmental information within the virtual environment may be less than a distance threshold from the location of the first virtual environment.
[0181] For example, visual connectivity is used to indicate whether there is a visual obstruction between two virtual regions. For instance, if the visual connectivity between two virtual regions is visually connected, it indicates that there is no visual obstruction between them. If the visual connectivity between two virtual regions is visually disconnected, it indicates that there is a visual obstruction between them. Visual obstruction is usually due to virtual obstacles (such as virtual walls, virtual rocks, virtual trees, etc.) existing between the virtual regions.
[0182] Step 646: Based on the location of the candidate environment objects in the virtual environment carried by the environment information, filter out the environment objects in the second region.
[0183] For example, candidate environment objects can be all virtual objects in the virtual environment except for the first virtual object, or they can be virtual objects whose distance from the first virtual object is less than a distance threshold.
[0184] Step 648: Send instance data of the environment object to the terminal.
[0185] For example, instance data is used to describe the state of an environment object in a virtual environment. The instance data is provided by the server in response to the first request information. This embodiment does not limit the way the server processes the environment object. For example, the server performs object initialization on the environment object to realize the construction of the environment object in the virtual environment.
[0186] In one optional design of this application, the server is further configured to perform object initialization on the environment object in response to the first request information. This object initialization includes, but is not limited to, creating an object instance of the environment object and setting the state of the environment object to its initial state, providing background support for the activities of the environment object in the virtual environment.
[0187] In one alternative design of this application, the number of environment objects sent regarding instance data is at least two. In response to the first request information, the server sends instance data for n environment objects per frame, where n is a positive integer.
[0188] Step 662: Receive the second request information from the environment object.
[0189] For example, the second request information is sent by the terminal when there is no visual connection between the third region and the fourth region; the third region is the region where the first virtual object is located in the virtual environment, and the fourth region is the region where the environment object is located in the virtual environment; the third region and the fourth region are the regions where the first virtual object is located in the virtual environment and the regions where the environment object is located in the virtual environment after the position of the first virtual object or the environment object changes.
[0190] Step 664: In response to the second request information, perform object recycling on the environment object.
[0191] For example, performing object recycling on an environment object is used to indicate to the server that the environment object no longer supports virtual activities in the virtual environment, thereby reducing the computing resources required by the server to perform calculations on the virtual activities of the environment object, and reducing the server's computing load and memory load.
[0192] It should be noted that steps 602 and 604 in this embodiment can be combined with steps 630 and 640 to form a new embodiment and implemented independently; steps 630 and 642 to 648 in this embodiment can be combined to form a new embodiment and implemented independently; steps 662 and 664 in this embodiment can be combined with steps 630 and 644 to form a new embodiment and implemented independently. This embodiment can also be combined with FIG. 7 to form an embodiment jointly executed by the terminal and the server. This application does not limit the above combination methods.
[0193] Next, we will introduce the virtual camera model.
[0194] In the embodiments of this application, a virtual character is observed in a virtual world using a virtual camera model. Optionally, the virtual camera model automatically follows the virtual character in the virtual world; that is, when the position of the virtual character changes in the virtual world, the virtual camera model changes its position accordingly, and the virtual camera model always remains within a preset distance range of the virtual character. Optionally, the relative position of the camera model and the virtual character does not change during automatic following. In one example, the imaging plane is a plane perpendicular to the shooting direction of the virtual camera model; for example, when the virtual camera model uses a third-person perspective to shoot from above, the imaging plane is a horizontal plane in the virtual environment; when the virtual camera model uses a first-person perspective to shoot at eye level, the imaging plane is parallel to the vertical direction. The horizontal plane is a plane perpendicular to the simulated gravity direction in the virtual environment, and the vertical direction is parallel to the simulated gravity direction in the virtual environment. For example, a virtual camera model is also called a virtual camera. The shooting direction pointed by the virtual camera model is perpendicular to the imaging plane. The imaging plane is usually rectangular, also called an imaging rectangle. The virtual photosensitive element on the imaging plane corresponds one-to-one with the pixels on the terminal screen. The virtual photosensitive element records the light intensity and color when observing the virtual character through the virtual camera model.
[0195] A virtual camera model refers to a 3D model located around a virtual character in a virtual world. When using a first-person perspective, the virtual camera model is located near or at the head of the virtual character. When using a third-person perspective, the virtual camera model can be located behind the virtual character and bound to it, or it can be located at any position at a preset distance from the virtual character. The virtual camera model allows observation of the virtual character in the virtual world from different angles. Optionally, when the third-person perspective is a first-person over-the-shoulder view, the virtual camera model is located behind the virtual character (e.g., at the head and shoulders). Optionally, in addition to first-person and third-person perspectives, other perspectives are also possible, such as a top-down perspective. When using a top-down perspective, the virtual camera model can be located above the head of the virtual character; the top-down perspective is an aerial view of the virtual world. Optionally, the virtual camera model is not actually displayed in the virtual world; that is, it is not displayed in the virtual world shown in the user interface.
[0196] Taking the virtual camera model located at any position at a preset distance from the virtual character as an example, optionally, one virtual character corresponds to one virtual camera model. The virtual camera model can rotate around the virtual character as the rotation center, such as rotating around any point on the virtual character as the rotation center. During the rotation, the virtual camera model not only rotates in angle but also shifts in displacement. The distance between the virtual camera model and the rotation center remains unchanged during rotation, that is, the virtual camera model is rotated on the surface of a sphere with the rotation center as the center. Here, any point on the virtual character can be the virtual character's head, torso, or any point around the virtual character; this embodiment does not limit this. Optionally, when the virtual camera model observes the virtual character, the center of the virtual camera model's viewpoint points in the direction from the point on the sphere where the virtual camera model is located to the center of the sphere. Optionally, the virtual camera model can also observe the virtual character from different directions at preset angles.
[0197] In one implementation, the virtual environment is the environment in which a virtual character exists within a virtual world during the execution of an application on the terminal; the virtual environment is a three-dimensional space. The world space coordinate system is used to describe the coordinates of three-dimensional models within the virtual environment in the same scene; the three-dimensional models are the objects within the virtual environment.
[0198] For example, the world space coordinate system can be obtained by transforming a 3D model in the model space coordinate system through a model transformation matrix. The model space coordinate system is used to indicate the position information of the 3D model. The model transformation matrix unifies the coordinate information of each 3D model in the model space coordinate system into the world space coordinate system in 3D space.
[0199] For example, a 3D model in world space coordinates is transformed into a camera space coordinate system using a view matrix. The camera space coordinate system describes the coordinates of the 3D model as observed through a virtual camera model, for example, using the position of the virtual camera model as the origin. The 3D model in camera space coordinates is then transformed into a clip space coordinate system using a projection matrix. The clip space coordinate system describes the projection of the 3D model onto the view frustum of the virtual camera model. A commonly used perspective projection matrix (a type of projection matrix) is used to project the 3D model in a way that conforms to the human eye's "nearer objects appear larger, farther objects appear smaller" principle. For example, the above model transformation matrix, view matrix, and projection matrix are generally referred to as the Model-View-Projection (MVP) matrix.
[0200] Figure 9 is a schematic diagram illustrating the transformation process from three-dimensional space to a two-dimensional image provided in an exemplary embodiment of this application; it shows the process of mapping a feature point P in three-dimensional space 201 to a feature point p' in imaging plane 204 (image coordinate system, or pixel coordinate system). The coordinates of feature point p in three-dimensional space 201 are in three-dimensional form, while the coordinates of feature point p' in imaging plane 204 are in two-dimensional form. Three-dimensional space 201 is the three-dimensional space corresponding to the virtual environment. Camera plane 202 is determined by the pose of the virtual camera model, and is a plane perpendicular to the shooting direction of the virtual camera model. Imaging plane 204 and camera plane 202 are parallel to each other. Imaging plane 204 is the plane in which the virtual environment within the field of view is imaged by the virtual camera model when observing the virtual environment.
[0201] As described above, the MVP matrix enables coordinate transformation between the world space coordinate system and the projection (i.e., the imaging plane) of the 3D model within the view frustum of the virtual camera model. The MVP matrix can convert the virtual camera model's observations within a virtual environment into 3D spatial coordinates within that environment, thus determining whether two virtual environments are visually connected. For example, if the virtual camera model observes the virtual environment in the first region, obtaining the first observation result, and the spatial coordinates obtained from the first observation result include the location of the second region, then the first and second regions are visually connected.
[0202] Furthermore, the visual connectivity between at least two virtual regions can be predicted based on observations of the virtual camera model in the virtual environment. For example, the true visual connectivity between two sample regions is obtained by labeling observations of the virtual camera model in the virtual environment.
[0203] An artificial neural network model is invoked to predict the relative positional relationship between two sample regions and the terrain information in the two sample regions, thus obtaining the predicted connectivity. Based on the difference between the predicted connectivity and the actual visual connectivity, the artificial neural network model is trained by backpropagation to obtain the trained artificial neural network model (also known as the connectivity prediction model).
[0204] The connectivity prediction model is invoked to predict the relative positional relationship between two virtual regions and the terrain information within them, yielding the predicted connectivity. This predicted connectivity is then used as the visual connectivity between the two virtual regions. The terrain information within the two virtual regions includes, but is not limited to, at least one of the following: terrain undulations, virtual walls, virtual fences, or other building information.
[0205] Figure 10 shows a flowchart of an information processing method provided in an exemplary embodiment of this application. The method can be executed by a terminal and a server. The method includes:
[0206] Step 702: The terminal obtains the game login operation;
[0207] In this embodiment, the game application provides a virtual environment, and the terminal has control permissions for the first virtual object. The game login operation obtained by the terminal is used to instruct the user account with control permissions for the first virtual object in the game application to log in.
[0208] Furthermore, the game application can be a massively multiplayer online game (MMO) or other game genres. In one example, the game application is a cyclical project game, an open-world game unlike MMOs where multiple player characters perform virtual activities within the same virtual environment. In a cyclical project game, each player character possesses a complete virtual environment (such as a large world scene), and each player character's virtual environment is independent of others. Each virtual environment contains a large number and variety of object instances. For example, considering non-player characters (NPCs) within the virtual environment, there are NPC clusters, such as main cities and villages. These areas are home to numerous NPCs, each with rich and complex behaviors (such as complex behavior trees).
[0209] Step 704: The terminal responds to the game login operation by sending a login request;
[0210] The terminal sends a login request to the server to report the game login operation in the game application installed on the terminal to the server.
[0211] Step 706: The server creates a virtual environment and creates or loads object instances from the database for other scenarios;
[0212] In response to a login request, the service creates a virtual environment, providing virtual space for the first virtual object to perform virtual activities. Object instances in other scenarios can be instance data of virtual objects used to construct the virtual environment, or object instances of virtual objects that need to be displayed in the interface before entering a virtual game, such as object instances displayed in the game lobby interface.
[0213] Step 708: The server sends summary information of the candidate environment objects surrounding the first virtual object;
[0214] The number of candidate environment objects surrounding the first virtual object can be one or more. The summary information includes the object identifier of the candidate environment object and its location within the virtual environment. For example, the candidate environment objects are selected from all objects in the virtual environment based on the location of the first virtual object.
[0215] Step 710: The terminal determines the first environmental object based on the visual connectivity between virtual regions;
[0216] For example, the visual connectivity between virtual regions can be pre-annotated or obtained by calling a virtual camera model in a virtual environment. This application does not limit the method of determining visual connectivity.
[0217] For example, the environmental information indicates that the second region of the virtual environment where the environmental object is located is visually connected to the first region; the location of the first virtual object in the virtual environment belongs to the first region.
[0218] Step 712: The terminal sends the request information for the first environment object;
[0219] The request information for the first environment object is used to request instance data of the first environment object. The instance data describes the state of the environment object in the virtual environment, and includes, but is not limited to, at least one of the following: skinning materials, behavior tree, dialogue materials required for interaction with the environment object, action materials, and movement path of the environment object.
[0220] Step 714: The server initializes an instance of the first environment object;
[0221] The server performs object initialization on the first environment object to build the environment object in the virtual environment. For example, it runs instance data of the environment object in memory to maintain the virtual activity of the environment object in the virtual environment.
[0222] Step 716: The server sends the instance data of the first environment object;
[0223] For example, after the server completes the initialization of the object instance of the first environment object, it sends the instance data of the first environment object.
[0224] Step 718: The terminal creates an object instance of the first environment object;
[0225] For example, the terminal obtains an object instance of the first environment object and creates an object instance of the first environment object to ensure that the first virtual object controlled by the terminal can achieve normal observation and normal interaction with the first environment object.
[0226] Step 720: The terminal determines the second environmental object based on the visual connectivity between virtual regions;
[0227] For example, the process of determining the second environment object and the transfer of instance data are similar to those for the first environment object described above. For further details, please refer to steps 710 to 718.
[0228] It should be noted that this step can be executed in the next data frame after step 710. That is, this embodiment only limits this step to be executed after step 710, but this step can be executed before, after or at the same time as any one of steps 712 to 718. This embodiment does not impose any timing restrictions on this.
[0229] Understandably, in the next data frame after this step, a third environment object or even more environment objects can be identified based on the visual connectivity between virtual regions.
[0230] Step 722: The terminal sends a request message for the second environment object;
[0231] The request information for the second environment object is used to request the instance data of the second environment object.
[0232] Step 724: The server initializes an instance of the second environment object;
[0233] The server performs object initialization on the second environment object to build the environment object in the virtual environment.
[0234] Step 726: The server sends instance data of the second environment object;
[0235] For example, after the server completes the initialization of the object instance of the second environment object, it sends the instance data of the second environment object.
[0236] Step 728: The terminal creates an object instance of the second environment object;
[0237] For example, the terminal obtains an object instance of the second environment object and creates an object instance of the second environment object to ensure that the first virtual object controlled by the terminal can achieve normal observation and normal interaction with the second environment object.
[0238] In summary, the method provided in this embodiment requests instance data of an environment object by sending a first request message for the first environment object; visual connectivity between the area where the first environment object is located and the area where the first virtual object is located ensures the normal display of the virtual object that the first virtual object needs to observe; after determining the first environment object, the determination of the second environment object continues, ensuring that instance data is continuously requested in the virtual environment based on the position of the first virtual object.
[0239] In one application scenario of this application, a game application provides a virtual environment, and a terminal logged in has control permissions for the first game character within that environment. For example, the game application can be a massively multiplayer online game (MMO) or other game genres. In one example, the game application is a loop project game, an open-world game, unlike MMOs where multiple player characters perform virtual activities within the same virtual environment. In a loop project game, each player character possesses a complete virtual environment (such as a large world scene), and each player character's virtual environment is independent of others. Each virtual environment contains a large number and variety of object instances. Correspondingly, the terminal executes:
[0240] Obtain the location information of the first game character in the virtual environment and the environmental information of the virtual environment, wherein the location of the first game character in the virtual environment belongs to the first area.
[0241] For example, the terminal executing the embodiment has a data transmission connection with the server, and the server provides background support for the virtual environment where the first game character is located, such as the background server of the application that provides the virtual environment.
[0242] Based on the location information and the environment information, a first request message for a game environment object is sent, wherein the environment information indicates that the game environment object is in a second region within the virtual environment and that the first region is visually connected.
[0243] For example, the first request information is used to request instance data of game environment objects. The visual connectivity between the second region and the first region can be pre-annotated, or it can be obtained by calling a virtual camera model to observe the first and second regions in the virtual environment. This application does not limit the method of determining visual connectivity. For example, the first and second regions are divided according to the virtual terrain in the virtual environment of the game application, such as dividing different areas such as the interior of virtual buildings, plains, forests, deserts, and cities into different virtual regions.
[0244] Obtain instance data of the game environment object, the instance data being used to describe the state of the game environment object in the virtual environment, the instance data being provided by the server in response to the first request information.
[0245] For example, instance data is used to describe the state of game environment objects in the virtual environment. Instance data includes, but is not limited to, at least one of the following: skinning materials of the game environment object, behavior tree, dialogue materials required for interaction with the game environment object, action materials, and movement paths of the game environment object. Instance data is provided by the server in response to the first request information. This embodiment does not limit the way the server processes the game environment object, such as the server performing object initialization on the game environment object to construct the game environment object in the virtual environment.
[0246] Optionally, based on the location information, it is determined that the position of the first game character in the virtual environment belongs to the first area;
[0247] Based on the visual connectivity between at least two virtual regions carried by the environmental information, the second region that is visually connected to the first region is determined;
[0248] Based on the location of the candidate game environment objects carried by the environmental information in the virtual environment, the game environment objects located in the second region are filtered out;
[0249] Send the first request information of the game environment object.
[0250] Further, optionally, the environmental information also includes the intersection relationship between the first region and the first location unit block;
[0251] Based on the location information, the first location unit block where the first game character is located is determined;
[0252] Based on the intersection relationship, it is determined that the first game character is located in the first area of the virtual environment.
[0253] Furthermore, it can be achieved as at least one of the following:
[0254] If the intersection relationship between the first region and the first location unit block is a complete intersection, it is determined that the first game character is located in the first region in the virtual environment;
[0255] If the intersection relationship between the first region and the first location unit block is partial, and the location information belongs to the first sub-region, it is determined that the first game character is located in the first region in the virtual environment, and the first sub-region is the intersection region between the first region and the first location unit block.
[0256] Optionally, the first request information carries the object identifier of the game environment object and / or the location information of the first game character in the virtual environment.
[0257] Optionally, the server receives instance data of the game environment objects sent by the server. The number of game environment objects is at least two, and the server provides instance data of n game environment objects per frame, where n is a positive integer.
[0258] Optionally, based on the priority order of at least two game environment objects from high to low, first request information of at least two game environment objects is sent;
[0259] The priority includes at least one of the following: the priority is negatively correlated with the interval distance, where the interval distance is the distance between the game environment object and the first game character;
[0260] The first game environment object has a higher priority than the second game environment object. The first game environment object is a virtual object that is associated with the virtual task accepted or selected by the first game character. The second game environment object is unrelated to the virtual task.
[0261] The third game environment object has a higher priority than the fourth game environment object. The third game environment object is a virtual object that is within the effective range of the virtual item or virtual skill used by the first game character. The fourth game environment object is outside the effective range.
[0262] Optionally, the location information of the first game character in the virtual environment is obtained, and the location information is sent to the server;
[0263] The system receives environmental information sent by the server, the environmental information including the position of the game environment object in the virtual environment, and the distance between the game environment object and the first game character is less than a distance threshold.
[0264] Optional, also includes:
[0265] Obtain the updated location information of the first game character in the virtual environment and the updated environment information of the virtual environment;
[0266] Based on the updated location information and the updated environment information, a second request information for the game environment object is sent, the second request information being used to instruct the server to perform object recycling on the game environment object;
[0267] The third region and the fourth region are not visually connected; the third region is the region in the virtual environment where the first game character is located, as indicated by the updated location information, and the fourth region is the region in the virtual environment where the game environment object is located, as indicated by the updated environment information.
[0268] On the other hand, the following are executed by the server:
[0269] Obtain first request information for a game environment object, wherein the second area where the game environment object is located in the virtual environment is visually connected to the first area where the first game character is located in the virtual environment;
[0270] In response to the first request information, instance data of the game environment object is sent to the terminal, the instance data being used to describe the state of the game environment object in the virtual environment.
[0271] In one application scenario of this application, a simulation application provides a virtual environment. The simulation application is used to simulate real-world landscapes or construct virtual landscapes. The logged-in terminal has control permissions for a first virtual character within the virtual environment. For example, the simulation application is used to construct the virtual environment and invoke a virtual camera model to collect observations of the virtual environment, thereby recording motion animations within the virtual environment. The first virtual character is a virtual character followed by the virtual camera model; correspondingly, the terminal executes the following:
[0272] Obtain the location information of the first virtual character in the virtual environment and the environmental information of the virtual environment, wherein the location of the first virtual character in the virtual environment belongs to a first region;
[0273] For example, the terminal executing the embodiment has a data transmission connection with the server, and the server provides background support for the virtual environment where the first virtual character is located, such as the background server of the application that provides the virtual environment.
[0274] Based on the location information and the environment information, a first request message for the simulated environment object is sent, wherein the environment information indicates that the simulated environment object is in a second region in the virtual environment and the first region is visually connected.
[0275] For example, the first request information is used to request instance data of the simulation environment object. The visual connectivity between the second region and the first region can be pre-annotated, or it can be obtained by calling a virtual camera model to observe the first and second regions in the virtual environment. This application does not limit the method of determining visual connectivity. For example, the first and second regions are divided according to the recording script of the first virtual character following the recording in the simulation application, such as dividing different virtual regions according to the activity range of the first virtual character at different times.
[0276] Obtain instance data of the simulation environment object, the instance data being used to describe the state of the simulation environment object in the virtual environment, the instance data being provided by the server in response to the first request information.
[0277] For example, instance data is used to describe the state of a simulation environment object in a virtual environment. Instance data includes, but is not limited to, at least one of the following: skinning material of the simulation environment object, behavior tree, dialogue material required for interaction with the simulation environment object, action material, and movement path of the simulation environment object. Instance data is provided by the server in response to the first request information. This embodiment does not limit the server's processing method for the simulation environment object, such as the server performing object initialization on the simulation environment object to construct the simulation environment object in the virtual environment.
[0278] Optionally, based on the location information, it is determined that the location of the first virtual character in the virtual environment belongs to the first area;
[0279] Based on the visual connectivity between at least two virtual regions carried by the environmental information, the second region that is visually connected to the first region is determined;
[0280] Based on the location of the candidate simulation environment objects carried by the environmental information in the virtual environment, the simulation environment objects located in the second region are selected.
[0281] Send the first request information of the simulation environment object.
[0282] Further, optionally, the environmental information also includes the intersection relationship between the first region and the first location unit block;
[0283] Based on the location information, the first location unit block where the first virtual character is located is determined;
[0284] Based on the intersection relationship, it is determined that the first virtual character is located in the first region of the virtual environment.
[0285] Furthermore, it can be achieved as at least one of the following:
[0286] If the intersection relationship between the first region and the first location unit block is a complete intersection, it is determined that the first virtual character is located in the first region in the virtual environment;
[0287] If the intersection relationship between the first region and the first location unit block is partial, and the location information belongs to the first sub-region, it is determined that the first virtual character is located in the first region in the virtual environment, and the first sub-region is the intersection region between the first region and the first location unit block.
[0288] Optionally, the first request information carries the object identifier of the simulation environment object, and / or the location information of the first virtual character in the virtual environment.
[0289] Optionally, the server receives instance data of the simulation environment objects sent by the server. The number of simulation environment objects is at least two, and the server provides instance data of n simulation environment objects per frame, where n is a positive integer.
[0290] Optionally, based on the priority order of at least two of the simulation environment objects from high to low, first request information of at least two of the simulation environment objects is sent;
[0291] The priority includes at least one of the following: the priority is negatively correlated with the interval distance, where the interval distance is the distance between the simulation environment object and the first virtual character;
[0292] The first simulation environment object has a higher priority than the second simulation environment object. The first simulation environment object is a virtual object that is associated with the virtual task accepted or selected by the first virtual character. The second simulation environment object is unrelated to the virtual task.
[0293] The third simulation environment object has a higher priority than the fourth simulation environment object. The third simulation environment object is a virtual object that is within the effective range of the virtual props or virtual skills used by the first virtual character, while the fourth simulation environment object is outside the effective range.
[0294] Optionally, the location information of the first virtual character in the virtual environment is obtained, and the location information is sent to the server;
[0295] The server receives the environmental information, which includes the position of the simulation environment object in the virtual environment, and the distance between the simulation environment object and the first virtual character is less than a distance threshold.
[0296] Optional, also includes:
[0297] Obtain the updated location information of the first virtual character in the virtual environment and the updated environment information of the virtual environment;
[0298] Based on the updated location information and the updated environment information, a second request information for the simulation environment object is sent, the second request information being used to instruct the server to perform object recycling on the simulation environment object;
[0299] The third region and the fourth region are not visually connected; the third region is the region in the virtual environment where the first virtual character is located, as indicated by the updated location information, and the fourth region is the region in the virtual environment where the simulated environment object is located, as indicated by the updated environment information.
[0300] On the other hand, the following are executed by the server:
[0301] Obtain first request information of the simulation environment object, wherein the second area where the simulation environment object is located in the virtual environment and the first virtual character are located in the first area of the virtual environment are visually connected;
[0302] In response to the first request information, instance data of the simulation environment object is sent to the terminal, the instance data being used to describe the state of the simulation environment object in the virtual environment.
[0303] Those skilled in the art will understand that the above embodiments can be implemented independently, or the above embodiments can be freely combined to create new embodiments to implement the information processing method of this application.
[0304] Figure 11 shows a structural block diagram of an information processing apparatus provided in an exemplary embodiment of this application. The apparatus is provided by a terminal, which has a data transmission connection with a server. The apparatus includes:
[0305] The acquisition module 810 is used to acquire the position information of the first virtual object in the virtual environment and the environmental information of the virtual environment, wherein the position of the first virtual object in the virtual environment belongs to a first region;
[0306] Processing module 820 is configured to send a first request message for an environment object based on the location information and the environment information, wherein the environment information indicates that the second region where the environment object is located in the virtual environment is visually connected to the first region.
[0307] The acquisition module 810 is further configured to acquire instance data of the environment object, the instance data being used to describe the state of the environment object in the virtual environment, and the instance data being provided by the server in response to the first request information.
[0308] In an optional implementation of this embodiment, the processing module 820 is further configured to:
[0309] Based on the location information, it is determined that the location of the first virtual object in the virtual environment belongs to the first area;
[0310] Based on the visual connectivity between at least two virtual regions carried by the environmental information, the second region that is visually connected to the first region is determined;
[0311] Based on the location of the candidate environmental objects carried by the environmental information in the virtual environment, the environmental objects located in the second region are selected.
[0312] Send the first request information of the environment object.
[0313] In an optional implementation of this embodiment, the environmental information further includes the intersection relationship between the first region and the first location unit block, and the processing module 820 is further configured to:
[0314] Based on the location information, the first location unit block where the first virtual object is located is determined;
[0315] Based on the intersection relationship, it is determined that the first virtual object is located in the first region of the virtual environment.
[0316] In an optional implementation of this embodiment, the processing module 820 is further configured to perform at least one of the following:
[0317] If the intersection relationship between the first region and the first location unit block is a complete intersection, it is determined that the first virtual object is located in the first region in the virtual environment;
[0318] If the intersection relationship between the first region and the first location unit block is partial, and the location information belongs to the first sub-region, then the first virtual object is determined to be located in the first region in the virtual environment, where the first sub-region is the intersection region between the first region and the first location unit block.
[0319] In an optional implementation of this embodiment, the first request information carries the object identifier of the environment object and / or the location information of the first virtual object in the virtual environment.
[0320] In an optional implementation of this embodiment, the acquisition module 810 is further configured to:
[0321] The server receives instance data of the environment objects sent by the server. The number of environment objects is at least two. The server provides instance data of n environment objects per frame, where n is a positive integer.
[0322] In an optional implementation of this embodiment, the number of environment objects is at least two, and the processing module 820 is further configured to:
[0323] Based on the priority order of at least two of the environment objects from high to low, send the first request information of at least two of the environment objects;
[0324] The priority includes at least one of the following: the priority is negatively correlated with the interval distance, where the interval distance is the distance between the environment object and the first virtual object;
[0325] The first environment object has a higher priority than the second environment object. The first environment object is a virtual object that is associated with the virtual task accepted or selected by the first virtual object, and the second environment object is unrelated to the virtual task.
[0326] The third environment object has a higher priority than the fourth environment object. The third environment object is a virtual object that is within the effective range of the virtual props or virtual skills used by the first virtual object, while the fourth environment object is outside the effective range.
[0327] In an optional implementation of this embodiment, the acquisition module 810 is further configured to:
[0328] Obtain the location information of the first virtual object in the virtual environment, and send the location information to the server;
[0329] The system receives environmental information sent by the server, the environmental information including the location of the environmental object in the virtual environment, and the distance between the environmental object and the first virtual object is less than a distance threshold.
[0330] In an optional implementation of this embodiment, the acquisition module 810 is further configured to:
[0331] Obtain the updated position information of the first virtual object in the virtual environment and the updated environment information of the virtual environment;
[0332] The processing module 820 is further configured to:
[0333] Based on the updated location information and the updated environment information, a second request information for the environment object is sent, the second request information being used to instruct the server to perform object reclamation on the environment object;
[0334] The third region and the fourth region are not visually connected; the third region is the region in the virtual environment where the first virtual object, indicated by the updated location information, is located, and the fourth region is the region in the virtual environment where the environmental object, indicated by the updated environmental information, is located.
[0335] Figure 12 shows a structural block diagram of an information processing apparatus provided in an exemplary embodiment of this application. The apparatus is provided by a server, and the server has a data transmission connection with a terminal. The apparatus includes:
[0336] The acquisition module 830 is used to acquire first request information of an environment object, wherein the second region where the environment object is located in the virtual environment is visually connected to the first region where the first virtual object is located in the virtual environment.
[0337] The processing module 840 is configured to respond to the first request information by sending instance data of the environment object to the terminal, wherein the instance data is used to describe the state of the environment object in the virtual environment.
[0338] In an optional implementation of this embodiment, the first request information carries the object identifier of the environment object and / or the location information of the first virtual object in the virtual environment.
[0339] In an optional implementation of this embodiment, the processing module 840 is further configured to:
[0340] If the first request information carries the location information, based on the location information, it is determined that the location of the first virtual object in the virtual environment belongs to the first area;
[0341] Acquire environmental information, and determine the second region that is visually connected to the first region based on the visual connectivity between at least two virtual regions carried by the environmental information;
[0342] Based on the location of the candidate environmental objects carried by the environmental information in the virtual environment, the environmental objects located in the second region are selected.
[0343] Send the instance data of the environment object.
[0344] In an optional implementation of this embodiment, the number of environment objects is at least two, and the processing module 840 is further configured to:
[0345] In response to the first request information, instance data of n environment objects are sent per frame, where n is a positive integer.
[0346] In an optional implementation of this embodiment, the processing module 840 is further configured to:
[0347] Receive the location information of the first virtual object in the virtual environment;
[0348] Send environmental information of the virtual environment, the environmental information including the position of the environment object in the virtual environment, and the distance between the environment object and the first virtual object is less than a distance threshold.
[0349] In an optional implementation of this embodiment, the environmental information further includes visual connectivity between at least two virtual regions; the visual connectivity is obtained based on obstacle information annotation between the at least two virtual regions, or based on observations from a virtual camera model in the virtual environment.
[0350] In an optional implementation of this embodiment, the processing module 840 is further configured to:
[0351] In response to the first request information, object initialization is performed on the environment object.
[0352] In an optional implementation of this embodiment, the processing module 840 is further configured to:
[0353] The terminal receives a second request message from the environmental object, the second request message being sent when there is no visual connection between the third region and the fourth region; the third region is the region where the first virtual object is located in the virtual environment, and the fourth region is the region where the environmental object is located in the virtual environment.
[0354] In response to the second request information, object recycling is performed on the environment object.
[0355] It should be noted that the device provided in the above embodiments is only illustrated by the division of the above functional modules when implementing its functions. In actual applications, the above functions can be assigned to different functional modules according to actual needs, that is, the content structure of the device can be divided into different functional modules to complete all or part of the functions described above.
[0356] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments of the relevant method; the technical effects achieved by each module performing its operation are the same as the technical effects in the embodiments of the relevant method, and will not be elaborated here.
[0357] This application also provides an information processing system, the system including a terminal and a server having a data transmission connection, the system comprising:
[0358] The terminal is used to obtain the location information of the first virtual object in the virtual environment and the environmental information of the virtual environment, wherein the location of the first virtual object in the virtual environment belongs to a first region;
[0359] The terminal is also configured to send a first request message for an environmental object based on the location information and the environment information, wherein the environment information indicates that the second region where the environmental object is located in the virtual environment is visually connected to the first region.
[0360] The server is used to obtain the first request information of the environment object;
[0361] The server is further configured to respond to the first request information by sending instance data of the environment object to the terminal, wherein the instance data is used to describe the state of the environment object in the virtual environment;
[0362] The terminal is also used to obtain the instance data of the environment object.
[0363] For any further details regarding the terminal and server, please refer to the various embodiments described above. Referring to the various steps of the information processing method performed by the terminal and / or server in this application, the specific manner in which the terminal and / or server perform operations in this embodiment can be readily understood, and will not be repeated here. The technical effects achieved by the terminal and / or server performing the operations are the same as those in the embodiments related to this method, and will not be described in detail here.
[0364] This application also provides a computer device, which includes a processor and a memory, wherein the memory stores a computer program; the processor is used to execute the computer program in the memory to implement the information processing methods provided in the above-described method embodiments.
[0365] Optionally, the computer device is a terminal. For example, Figure 13 shows a structural block diagram of a terminal provided in an exemplary embodiment of this application. The terminal 1900 can be a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), MP4 player (Moving Picture Experts Group Audio Layer IV), laptop computer, or desktop computer. The terminal 1900 may also be referred to as a user device, portable terminal, laptop terminal, desktop terminal, or other names.
[0366] Typically, terminal 1900 includes a processor 1901 and a memory 1902. Processor 1901 may include one or more processing cores, such as a quad-core processor or an octa-core processor. Processor 1901 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1901 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 1901 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 1901 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0367] The memory 1902 may include one or more computer-readable storage media, which may be non-transitory. The memory 1902 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1902 are used to store at least one instruction, which is executed by the processor 1901 to implement the information processing method provided in the method embodiments of this application.
[0368] In some embodiments, the terminal 1900 may also optionally include a peripheral device interface 1903 and at least one peripheral device. The processor 1901, memory 1902, and peripheral device interface 1903 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1903 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 1904, a touch display screen 1905, a camera assembly 1906, an audio circuit 1907, and a power supply 1908.
[0369] Peripheral interface 1903 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 1901 and memory 1902. In some embodiments, processor 1901, memory 1902 and peripheral interface 1903 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 1901, memory 1902 and peripheral interface 1903 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0370] The radio frequency (RF) circuit 1904 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1904 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1904 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 1904 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 1904 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 1904 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.
[0371] The touch display screen 1905 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. The touch display screen 1905 also has the energy to collect touch signals on or above its surface. These touch signals can be input as control signals to the processor 1901 for processing. In this case, the touch display screen 1905 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one touch display screen 1905, which is used as the front panel of the terminal 1900; in other embodiments, there may be at least two touch display screens, respectively disposed on different surfaces of the terminal 1900 or in a folded design; in still other embodiments, the touch display screen 1905 may be a flexible display screen, disposed on a curved surface or a folded surface of the terminal 1900. Furthermore, the touch display screen 1905 may also be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The touch display 1905 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0372] The camera assembly 1906 is used to acquire images or videos. Optionally, the camera assembly 1906 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the terminal, and the rear-facing camera is located on the back of the terminal. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting for VR (Virtual Reality) shooting, or other fusion shooting functions by fusion of the main camera and the wide-angle camera. In some embodiments, the camera assembly 1906 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm-light flash and a cool-light flash, which can be used for light compensation at different color temperatures.
[0373] The audio circuit 1907 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting them into electrical signals that are input to the processor 1901 for processing, or to the radio frequency circuit 1904 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each positioned at a different location on the terminal 1900. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from the processor 1901 or the radio frequency circuit 1904 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, the audio circuit 1907 may also include a headphone jack.
[0374] Power supply 1908 is used to power the various components in terminal 1900. Power supply 1908 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 1908 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0375] In some embodiments, the terminal 1900 further includes one or more sensors 1909. The one or more sensors 1909 include, but are not limited to: an accelerometer 1910, a gyroscope 1911, a pressure sensor 1912, an optical sensor 1913, and a proximity sensor 1914.
[0376] Accelerometer 1910 can detect the magnitude of acceleration on the three coordinate axes of a coordinate system established by terminal 1900. For example, accelerometer 1910 can be used to detect the components of gravitational acceleration on the three coordinate axes. Processor 1901 can control touchscreen 1905 to display the user interface in landscape or portrait view based on the gravitational acceleration signal collected by accelerometer 1910. Accelerometer 1910 can also be used for game or user motion data acquisition. Gyroscope 1911 can detect the orientation and rotation angle of terminal 1900. Gyroscope 1911 can work in conjunction with accelerometer 1910 to acquire 3D user actions on terminal 1900. Based on the data collected by gyroscope 1911, processor 1901 can perform the following functions: motion sensing (e.g., changing the UI based on user tilt), image stabilization during shooting, game control, and inertial navigation.
[0377] The pressure sensor 1912 can be disposed on the side bezel of the terminal 1900 and / or on the lower layer of the touch display screen 1905. When the pressure sensor 1912 is disposed on the side bezel of the terminal 1900, it can detect the user's grip signal on the terminal 1900, and the processor 1901 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 1912. When the pressure sensor 1912 is disposed on the lower layer of the touch display screen 1905, the processor 1901 can control the operable controls on the UI interface based on the user's pressure operation on the touch display screen 1905. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.
[0378] An optical sensor 1913 is used to collect ambient light intensity. In one embodiment, the processor 1901 can control the display brightness of the touch screen 1905 based on the ambient light intensity collected by the optical sensor 1913. Specifically, when the ambient light intensity is high, the display brightness of the touch screen 1905 is increased; when the ambient light intensity is low, the display brightness of the touch screen 1905 is decreased. In another embodiment, the processor 1901 can also dynamically adjust the shooting parameters of the camera assembly 1906 based on the ambient light intensity collected by the optical sensor 1913.
[0379] The proximity sensor 1914, also known as a distance sensor, is typically located on the front panel of the terminal 1900. The proximity sensor 1914 is used to detect the distance between the user and the front of the terminal 1900. In one embodiment, when the proximity sensor 1914 detects that the distance between the user and the front of the terminal 1900 is gradually decreasing, the processor 1901 controls the touchscreen display 1905 to switch from a screen-on state to a screen-off state; when the proximity sensor 1914 detects that the distance between the user and the front of the terminal 1900 is gradually increasing, the processor 1901 controls the touchscreen display 1905 to switch from a screen-off state to a screen-on state.
[0380] Those skilled in the art will understand that the above structure does not constitute a limitation on the terminal 1900, and may include more or fewer components than illustrated, or combine certain components, or employ different component arrangements.
[0381] Optionally, the computer device is a server. For example, Figure 14 is a structural block diagram of a server provided in an exemplary embodiment of this application.
[0382] Typically, server 2300 includes a processor 2301 and memory 2302.
[0383] Processor 2301 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 2301 may be implemented using at least one hardware form selected from Digital Signal Processing (DSP), Field-Programmable Gate Array (FPGA), and Programmable Logic Array (PLA). Processor 2301 may also include a main processor and a coprocessor. The main processor, also known as a central processing unit (CPU), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 2301 may integrate a Graphics Processing Unit (GPU), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 2301 may also include an Artificial Intelligence (AI) processor, which is used to handle computational operations related to machine learning.
[0384] The memory 2302 may include one or more computer-readable storage media, which may be non-transitory. The memory 2302 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 2302 are used to store at least one instruction, which is executed by the processor 2301 to implement the information processing method provided in the method embodiments of this application.
[0385] In some embodiments, the server 2300 may optionally include an input interface 2303 and an output interface 2304. The processor 2301, memory 2302, and input interfaces 2303 and 2304 can be connected via a bus or signal lines. Various peripheral devices can be connected to the input interfaces 2303 and 2304 via a bus, signal lines, or a circuit board. The input interfaces 2303 and 2304 can be used to connect at least one input / output (I / O) related peripheral device to the processor 2301 and memory 2302. In some embodiments, the processor 2301, memory 2302, and input interfaces 2303 and 2304 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 2301, memory 2302, and input interfaces 2303 and 2304 can be implemented on separate chips or circuit boards, and this application embodiment does not limit this.
[0386] Those skilled in the art will understand that the structure shown above does not constitute a limitation on server 2300, and may include more or fewer components than shown, or combine certain components, or employ different component arrangements.
[0387] In an exemplary embodiment, a chip is also provided, the chip including programmable logic circuitry and / or program instructions, which, when the chip is run on a computer device, are used to implement the information processing method described above.
[0388] In an exemplary embodiment, a computer program product is also provided, comprising computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions to implement the information processing methods provided in the above-described method embodiments.
[0389] In an exemplary embodiment, a computer-readable storage medium is also provided, which stores a computer program that is loaded and executed by a processor to implement the information processing methods provided in the above-described method embodiments.
Claims
1. An information processing method, wherein, The method is executed by a terminal, which has a data transmission connection with the server. The method includes: Obtain the location information of the first virtual object in the virtual environment and the environmental information of the virtual environment; Based on the location information and the environment information, a first request message for an environment object is sent. The location of the first virtual object in the virtual environment belongs to a first region, and the second region in which the environment object is located in the virtual environment is visually connected to the first region. Obtain instance data of the environment object, which describes the state of the environment object in the virtual environment. The instance data is provided by the server in response to the first request information.
2. The method according to claim 1, wherein, The step of sending a first request message for an environment object based on the location information and the environment information includes: Based on the location information, it is determined that the location of the first virtual object in the virtual environment belongs to the first area; Based on the visual connectivity between at least two virtual regions carried by the environmental information, the second region that is visually connected to the first region is determined; Based on the location of the candidate environmental objects carried by the environmental information in the virtual environment, the environmental objects located in the second region are selected. Send the first request information of the environment object.
3. The method according to claim 2, wherein, The environmental information also includes the intersection relationship between the first region and the first location unit block. Determining that the location of the first virtual object in the virtual environment belongs to the first region based on the location information includes: Based on the location information, the first location unit block where the first virtual object is located is determined; Based on the intersection relationship, it is determined that the first virtual object is located in the first region of the virtual environment.
4. The method according to claim 3, wherein, Determining that the first virtual object is located in the first region in the virtual environment based on the intersection relationship includes at least one of the following: If the intersection relationship between the first region and the first location unit block is a complete intersection, it is determined that the first virtual object is located in the first region in the virtual environment; If the intersection relationship between the first region and the first location unit block is partial, and the location information belongs to the first sub-region, then the first virtual object is determined to be located in the first region in the virtual environment, where the first sub-region is the intersection region between the first region and the first location unit block.
5. The method according to any one of claims 1 to 4, wherein, The first request information carries the object identifier of the environment object and / or the location information of the first virtual object in the virtual environment.
6. The method according to any one of claims 1 to 5, wherein, The step of obtaining the instance data of the environment object includes: The server receives instance data of the environment objects sent by the server. The number of environment objects is at least two. The server provides instance data of n environment objects per frame, where n is a positive integer.
7. The method according to any one of claims 1 to 6, wherein, The number of environment objects is at least two, and the first request information for sending environment objects includes: Based on the priority order of at least two of the environment objects from high to low, send the first request information of at least two of the environment objects; The priority includes at least one of the following: the priority is negatively correlated with the interval distance, where the interval distance is the distance between the environment object and the first virtual object; The first environment object has a higher priority than the second environment object. The first environment object is a virtual object that is associated with the virtual task accepted or selected by the first virtual object, and the second environment object is unrelated to the virtual task. The third environment object has a higher priority than the fourth environment object. The third environment object is a virtual object that is within the effective range of the virtual props or virtual skills used by the first virtual object, while the fourth environment object is outside the effective range.
8. The method according to any one of claims 1 to 7, wherein, The step of obtaining the location information of the first virtual object in the virtual environment and the environmental information of the virtual environment includes: Obtain the location information of the first virtual object in the virtual environment, and send the location information to the server; The system receives environmental information sent by the server, the environmental information including the location of the environmental object in the virtual environment, and the distance between the environmental object and the first virtual object is less than a distance threshold.
9. The method according to any one of claims 1 to 8, wherein, The method further includes: Obtain the updated position information of the first virtual object in the virtual environment and the updated environment information of the virtual environment; Based on the updated location information and the updated environment information, a second request information for the environment object is sent, the second request information being used to instruct the server to perform object reclamation on the environment object; The third region and the fourth region are not visually connected; the third region is the region in the virtual environment where the first virtual object, indicated by the updated location information, is located, and the fourth region is the region in the virtual environment where the environmental object, indicated by the updated environmental information, is located.
10. An information processing method, wherein, The method is executed by a server, which has a data transmission connection with the terminal. The method includes: Obtain first request information of an environment object, wherein the second region in which the environment object is located in the virtual environment is visually connected to the first region in which the first virtual object is located in the virtual environment; In response to the first request information, instance data of the environment object is sent to the terminal, the instance data being used to describe the state of the environment object in the virtual environment.
11. The method according to claim 10, wherein, The first request information carries the object identifier of the environment object and / or the location information of the first virtual object in the virtual environment.
12. The method according to claim 11, wherein, The step of sending instance data of the environment object to the terminal in response to the first request information includes: If the first request information carries the location information, based on the location information, it is determined that the location of the first virtual object in the virtual environment belongs to the first area; Acquire environmental information, and determine the second region that is visually connected to the first region based on the visual connectivity between at least two virtual regions carried by the environmental information; Based on the location of the candidate environmental objects carried by the environmental information in the virtual environment, the environmental objects located in the second region are selected. Send the instance data of the environment object to the terminal.
13. The method according to any one of claims 10 to 12, wherein, The number of environment objects is at least two, and the step of sending instance data of the environment objects in response to the first request information includes: In response to the first request information, instance data of n environment objects are sent per frame, where n is a positive integer.
14. The method according to any one of claims 10 to 13, wherein, The method further includes: Receive the location information of the first virtual object in the virtual environment; Send environmental information of the virtual environment, the environmental information including the position of the environment object in the virtual environment, and the distance between the environment object and the first virtual object is less than a distance threshold.
15. The method according to any one of claims 10 to 14, wherein, The method further includes: performing object initialization on the environment object in response to the first request information.
16. The method of any one of claims 10 to 15, wherein, The method further includes: The terminal receives a second request message from the environmental object, the second request message being sent when there is no visual connection between the third region and the fourth region; the third region is the region where the first virtual object is located in the virtual environment, and the fourth region is the region where the environmental object is located in the virtual environment. In response to the second request information, object recycling is performed on the environment object.
17. An information processing system, wherein The system includes a terminal and a server with data transmission connection, and the system includes: The terminal is used to obtain the location information of the first virtual object in the virtual environment and the environmental information of the virtual environment; The terminal is further configured to send a first request message for an environment object based on the location information and the environment information, wherein the location of the first virtual object in the virtual environment belongs to a first region, and the second region in which the environment object is located in the virtual environment is visually connected to the first region. The server is used to obtain the first request information of the environment object; The server is further configured to respond to the first request information by sending instance data of the environment object to the terminal, wherein the instance data is used to describe the state of the environment object in the virtual environment; The terminal is also used to obtain the instance data of the environment object.
18. A computer device, wherein, The computer device includes: a processor and a memory, wherein the memory stores at least one program; the processor is configured to execute the at least one program in the memory to implement the information processing method as described in any one of claims 1 to 16.
19. A computer readable storage medium, wherein, The readable storage medium stores executable instructions, which are loaded and executed by a processor to implement the information processing method as described in any one of claims 1 to 16.
20. A computer program product, wherein, The computer program product includes computer instructions stored in a computer-readable storage medium, and a processor reads from and executes the computer instructions to implement the information processing method as described in any one of claims 1 to 16.