Data processing method and device

By dividing the display area based on the position and perspective information of the target object in the virtual scene, and reasonably rendering the environment elements, the problem of wrong display of environmental elements in the virtual scene is solved, and the authenticity of the virtual scene is improved.

CN120491831APending Publication Date: 2025-08-15ZHUHAI KINGSOFT ONLINE GAME TECH CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510754823.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-06
Publication Date
2025-08-15

AI Technical Summary

Technical Problem

In the process of rendering environment elements in a virtual scene, the visibility is simply determined based on the user's movement direction, resulting in error display, which reduces the authenticity of the virtual scene.

Method used

By determining the position and perspective information of the target object, the first and second element display areas are divided, the corresponding environment elements are determined based on the position information of the environment elements, and rendered to the virtual scene, so as to achieve reasonable and accurate display of the environment elements.

Benefits of technology

It improves the authenticity of the virtual scene, ensures that the display of environmental elements in the position and viewing angle around the target object is consistent with the real scene, and enhances the realism of the virtual scene.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120491831A_ABST
    Figure CN120491831A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data processing method and device.The data processing method comprises the steps that to-be-displayed environment data associated with a target object in a virtual scene is determined, and the to-be-displayed environment data comprises environment elements; based on the object position information of the target object, determining a first element display area from the virtual scene, and determining a first environment element corresponding to the first element display area from the environment elements according to the element position information of the environment elements; based on object view angle information of the target object, determining a second element display area from the virtual scene, and determining a second environment element corresponding to the second element display area from the environment elements according to the element position information; and rendering the first environment element and the second environment element to the virtual scene to obtain environment data corresponding to the target object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of this specification relate to the field of computer technology, and more particularly to a data processing method. One or more embodiments of this specification also relate to a data processing apparatus, a computing device, a computer-readable storage medium, and a computer program product. Background Art

[0002] With the continuous development of computer technology, many organizations can provide users with virtual scenes, allowing them to experience different computer services based on virtual scenes. For example, players can be provided with virtual game scenes to play computer games, or users can enjoy different sensory experiences by providing virtual reality scenes.

[0003] Currently, when rendering environmental elements in virtual scenes, the visibility of an environmental element is often determined simply based on the user's movement direction. This operation can cause environmental elements in the virtual scene to be displayed incorrectly, thereby reducing the realism of the virtual scene. Therefore, how to render environmental elements reasonably and accurately has become an urgent problem that needs to be solved. Summary of the Invention

[0004] In view of this, embodiments of this specification provide a data processing method. One or more embodiments of this specification also relate to a data processing apparatus, a computing device, a computer-readable storage medium, and a computer program product to address technical deficiencies in the prior art.

[0005] According to a first aspect of an embodiment of this specification, there is provided a data processing method, including: Determining environment data to be displayed that is associated with a target object in a virtual scene, wherein the environment data to be displayed includes environment elements; Based on the object position information of the target object, determining a first element display area from the virtual scene, and according to the element position information of the environmental element, determining a first environmental element corresponding to the first element display area from the environmental elements; Based on the object perspective information of the target object, determining a second element display area from the virtual scene, and determining a second environmental element corresponding to the second element display area from the environmental elements according to the element position information; The first environmental element and the second environmental element are rendered into the virtual scene to obtain environmental data corresponding to the target object displayed in the virtual scene.

[0006] According to a second aspect of the embodiments of this specification, there is provided a data processing device, including: A data determination module is configured to determine environment data to be displayed associated with a target object in a virtual scene, wherein the environment data to be displayed includes environment elements; a first element determination module configured to determine a first element display area from the virtual scene based on the object position information of the target object, and determine a first environmental element corresponding to the first element display area from the environmental elements according to the element position information of the environmental elements; a second element determination module configured to determine a second element display area from the virtual scene based on the object perspective information of the target object, and determine a second environmental element corresponding to the second element display area from the environmental elements according to the element position information; The rendering module is configured to render the first environmental element and the second environmental element into the virtual scene, and obtain environmental data corresponding to the target object displayed in the virtual scene.

[0007] According to a third aspect of an embodiment of this specification, a computing device is provided, including: memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute computer programs / instructions. When the computer programs / instructions are executed by the processor, the steps of the above-mentioned data processing method are implemented.

[0008] According to a fourth aspect of the embodiments of this specification, a computer-readable storage medium is provided, which stores a computer program / instruction, and when the computer program / instruction is executed by a processor, the steps of the above-mentioned data processing method are implemented.

[0009] According to a fifth aspect of the embodiments of this specification, a computer program product is provided, comprising a computer program / instruction, which implements the steps of the above-mentioned data processing method when executed by a processor.

[0010] One or more embodiments of the present specification provide a data processing method for determining environmental data to be displayed associated with a target object in a virtual scene, wherein the environmental data to be displayed includes environmental elements; determining a first element display area from the virtual scene based on object position information of the target object, and determining a first environmental element corresponding to the first element display area from the environmental elements based on element position information of the environmental elements; determining a second element display area from the virtual scene based on object perspective information of the target object, and determining a second environmental element corresponding to the second element display area from the environmental elements based on the element position information; rendering the first environmental element and the second environmental element to the virtual scene to obtain environmental data corresponding to the target object displayed in the virtual scene.

[0011] Specifically, the method can determine the first element display area and the second element display area corresponding to the target object from the virtual scene, and determine the first environmental element corresponding to the first element display area and the second environmental element corresponding to the second element display area based on the element position information of the environmental elements contained in the environmental data to be displayed; finally, the first environmental element and the second environmental element are reasonably and accurately rendered into the virtual scene, so that the corresponding environmental data exists in the surrounding position and viewing angle of the target object, ensuring that the display of the environmental elements in the virtual scene conforms to the real scene, thereby improving the realism of the virtual scene. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 This is a schematic diagram of an application scenario of a data processing method provided by an embodiment of this specification; Figure 2 is a flow chart of a data processing method provided by one embodiment of this specification; Figure 3 This is a flowchart of a data processing method provided by one embodiment of this specification; Figure 4 This is a flowchart of determining visibility in a data processing method provided by one embodiment of this specification; Figure 5 This is a structural diagram of a data processing device provided by one embodiment of this specification; Figure 6 This is a structural block diagram of a computing device provided by one embodiment of this specification. DETAILED DESCRIPTION

[0013] The following description sets forth many specific details to facilitate a thorough understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the scope of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.

[0014] The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a," "the," and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.

[0015] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0016] In addition, 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, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0017] First, the terms involved in one or more embodiments of this specification are explained.

[0018] Unsafe: This refers to a method that bypasses certain security checks, allowing more direct access to computer resources such as memory; unsafe methods can provide higher performance. In this method, "unsafe methods" involve directly manipulating in-memory data structures to more quickly merge lists of objects from different scenes. This is intended to speed up processing and make the game more responsive to changes.

[0019] With the continuous development of computer technology, many organizations can provide users with virtual scenes, allowing them to experience different computer services based on these virtual scenes. For example, players can be provided with virtual game scenes to play computer games, or virtual reality scenes can be provided to allow users to enjoy different sensory experiences. Currently, when rendering environmental elements in virtual scenes, the visibility of certain environmental elements is often determined simply based on the user's movement direction. This operation can cause environmental elements in the virtual scene to be displayed incorrectly, thereby reducing the realism of the virtual scene.

[0020] For example, in extremely large worlds with extremely long view distances, traditional nine-grid-like streaming solutions, while enabling seamless scene streaming, also lead to issues like excessive memory usage and rendering pressure due to the large number of objects. This is primarily due to a dilemma in the grid division of the nine-grid-like solution: first, overly large divisions lead to excessive streaming, wasting memory and rendering performance; second, overly fine divisions lead to an excessive number of scenes, resulting in slow packaging and loading. Furthermore, excessive pruning of map grids outside the view frustum also hinders performance optimization.

[0021] To solve the above technical problems, this specification provides a data processing method. This specification also involves a data processing device, a computing device, a computer-readable storage medium, and a computer program product, which are described in detail one by one in the following embodiments.

[0022] See also Figure 1 , Figure 1 A schematic diagram showing an application scenario of a data processing method provided according to an embodiment of this specification is shown. Figure 1 It can be seen that the game map can be displayed in the visual interface of the client device, and there is a virtual camera in the game map, which is used to determine the objects that can be displayed in the game map; in the process of rendering the game scene corresponding to the game map, the game scene that needs to be adapted can first be selected from multiple game scenes according to the hardware configuration of the client device; then, the camera protection range is determined based on the camera position of the virtual camera, and the objects in the game scene that are within the protection range are determined as visible objects; then, the viewing cone corresponding to the virtual camera is determined, and the objects in the game scene that are within the viewing cone are determined as visible objects; after determining the visible object, the visible object is rendered into the game map, so that the object is displayed to the game player.

[0023] See also Figure 2 , Figure 2 A flow chart of a data processing method provided according to an embodiment of the present specification is shown, which specifically includes the following steps.

[0024] Step 202: Determine environmental data to be displayed that is associated with a target object in a virtual scene, wherein the environmental data to be displayed includes environmental elements.

[0025] The virtual scene can be understood as a virtual scene generated using computer technology, such as a game scene or a virtual reality (VR) scene. The target object can be understood as an object located in the virtual scene, such as a camera, a camera head, or a character controlled by a player. The environmental data to be displayed can be understood as environmental data that needs to be rendered and displayed, such as scene data or terrain data. The environmental elements can be understood as elements contained in the environmental data, such as objects in the virtual scene.

[0026] In one or more embodiments provided in this specification, determining the environment data to be displayed associated with the target object in the virtual scene includes: Determining device attribute information of a scenario running device that runs the virtual scenario, wherein the scenario running device is a computing device used to implement the virtual scenario, and the virtual scenario runs in the scenario running device; Determining a plurality of candidate environment data and determining a device attribute identifier for each candidate environment data; Matching the device attribute information with the device attribute identifier to obtain a target device attribute identifier corresponding to the device attribute information; The candidate environment data corresponding to the target device attribute identifier is determined as the to-be-displayed environment data associated with the target object in the virtual scene.

[0027] The computing device can be understood as an intelligent terminal, client hardware, server, etc. The device attribute information can be understood as the hardware configuration information corresponding to the computing device (such as the number of CPUs, the number of GPUs, etc.); the device attribute identifier can be understood as the pre-configured loading parameters for the candidate environment data.

[0028] The data processing method in this specification is described using its application in scene object clipping as an example. This method determines which layers need to be loaded and unloaded based on the current camera position, image quality, and other configurations. Specifically, when performing parallel angle clipping on a large world, the method determines which layers need to be loaded and unloaded as follows: 1. Determine the current position of the camera in the large world and the image quality configuration parameters of the gaming device (e.g., a computer) running the large world.

[0029] 2. Based on the current position of the camera, determine the current grid map (i.e., 9-grid) and other grid maps (i.e., non-9-grid) corresponding to the camera from multiple grid maps in the super large world.

[0030] Among them, the multiple grid maps of the super large world are obtained by dividing the super large world.

[0031] 3. Determine the current grid map as a visible map and determine other grid maps as invisible maps.

[0032] 4. Determine the multi-layer game scenes corresponding to the current grid map, and determine the minimum acceptable image quality (i.e., device attribute identifier) corresponding to each layer of the game scene.

[0033] 5. Based on the minimum acceptable image quality, determine the visible layer scene that matches the image quality configuration parameters (i.e., device attribute information) of the gaming device from the multi-layer game scene.

[0034] In one or more embodiments provided in this specification, before determining the to-be-displayed environmental data associated with the target object in the virtual scene, the method further includes: Constructing a plurality of initial environmental data and determining a data volume parameter of each initial environmental data, wherein the initial environmental data includes environmental elements, and the data volume parameter is determined according to the environmental elements included in the initial environmental data; According to the data volume parameter, the multiple initial environment data are divided into candidate environment data of different data levels, and associated device attribute identifiers are set for the multiple candidate environment data of different data levels.

[0035] Continuing with the previous example, before running the super-large world, this method will split the scene into layers through offline methods (i.e., pre-processing). After the scene is layered, specific loading parameters will be configured for different layered scenes.

[0036] In one or more embodiments provided in this specification, the plurality of initial environment data are a plurality of game scene data, and the environment elements are game scene objects; The step of dividing the plurality of initial environmental data into candidate environmental data of different data levels according to the data volume parameter includes: Dividing the plurality of game scene data into a plurality of game scene data at different data levels according to the data volume parameter; Determining game scene objects in each game scene data and object position information of the game scene objects; Separating the game scene objects from each game scene data to obtain a plurality of blank game scene data; The plurality of blank game scene data at different data levels, the game scene objects corresponding to each blank game scene data, and the object position information are determined as a plurality of candidate environment data.

[0037] Continuing with the above example, before running the super-large world, this method will perform layer splitting and object stripping on the scene in an offline manner (i.e., pre-processing).

[0038] Hierarchical splitting refers to: First, determine the data size of the scene (i.e., the data volume parameter); the data size is determined based on factors such as the scene's image quality, object size, and object type; Secondly, multiple scenes are divided into different levels based on data size. Some objects that only display on high-spec models are assigned to the corresponding high-spec layers. Small objects are assigned to the small object layer, and large objects to the large object layer. This allows for optimized loading strategies based on different hardware conditions.

[0039] Among them, object stripping refers to: By stripping away scene objects from different layers, only basic information like bounding boxes is retained. This allows for quick determination of which objects need to be loaded or unloaded at runtime without having to perform full rendering calculations, improving performance and optimizing memory.

[0040] Step 204: Based on the object position information of the target object, determine a first element display area from the virtual scene, and according to the element position information of the environmental element, determine a first environmental element corresponding to the first element display area from the environmental elements.

[0041] The object position information can be understood as the position information of the target object in the virtual scene, such as coordinate information; the element position information can be understood as the position information of the environmental elements in the virtual environment; the first element display area can be understood as the area determined based on the object position information, and the first element display area can be understood as the area surrounding the target object. The first environmental element can be understood as the element that needs to be displayed in the first element display area.

[0042] In one or more embodiments provided in this specification, determining a first element display area from the virtual scene based on the object position information of the target object, and determining a first environmental element corresponding to the first element display area from the environmental elements based on the element position information of the environmental elements, includes: Determining a display area size corresponding to the target object, and determining a first element display area from the virtual scene based on the display area size and object position information of the target object; Element position information of the environmental elements is determined, and based on the element position information, a first environmental element located in the first element display area is determined from the environmental elements.

[0043] Continuing with the previous example, this method requires real-time calculations for each object based on the current viewing angle, including factors such as screen projection angle, distance from the camera, and whether it is within the viewing frustum. By integrating the configuration parameters in the corresponding layer's configuration file (i.e., the loading parameters configured in step 302 above), the final object visibility is calculated. For example, for off-screen objects, more stringent visibility conditions (such as a larger projection angle) can be set to crop more small objects.

[0044] Specifically, the steps for calculating the final visibility of an object based on the corresponding layer configuration parameters include: determining whether the object is within the protection range of the layer object (i.e., the first element display area). If so, the object is determined to be visible (i.e., the first environmental element). Specifically, the operations for determining whether the layer object is within the protection range are as follows: First, the camera's current position is determined. Based on the preset protection range size (e.g., a radius of 200 meters) and the camera's current position, the camera's corresponding protection range is determined in the hyperworld. This protection range surrounds the camera and is used to determine whether objects in the scene around the camera are visible.

[0045] Secondly, the object positions of multiple scene objects in the super large world are obtained in the scene layer.

[0046] Finally, the scene objects whose positions are within the protection range are determined to be visible; and the scene objects whose positions are outside the protection range are subjected to subsequent judgment.

[0047] Step 206: Based on the object perspective information of the target object, determine a second element display area from the virtual scene, and according to the element position information, determine a second environmental element corresponding to the second element display area from the environmental elements.

[0048] The second element display area can be understood as the area corresponding to the viewing angle of the target object, and the second element display area can be understood as the visual cone of the target object. The second environmental element can be understood as the environmental element that needs to be displayed in the second element display area.

[0049] In one or more embodiments provided in this specification, determining a second element display area from the virtual scene based on the object perspective information of the target object, and determining a second environmental element corresponding to the second element display area from the environmental elements according to the element position information, includes: Determining an object viewing angle range of the target object, and determining a second element display area from the virtual scene based on the object viewing angle range; Determining element position information of the environmental element, and calculating a distance parameter between the environmental element and the target object based on the element position information and the object position information; Determine a display distance threshold of the environmental element, and determine the environmental element as the second environmental element when it is determined according to the element position information that the environmental element is located in the second element display area and the distance parameter is less than or equal to the display distance threshold.

[0050] Continuing with the above example, after determining whether the object is within the protection range, it is also necessary to determine whether the object is within the viewing cone; if so, read the clipping angle outside the viewing cone; if not, read the clipping angle inside the viewing cone.

[0051] Then, determine whether the object projection angle is greater than the clipping angle. If so, determine that the object is visible (ie, the second environment element); if not, determine that the object is invisible.

[0052] Step 208: Render the first environmental element and the second environmental element to the virtual scene to obtain environmental data corresponding to the target object.

[0053] Continuing with the above example, the uncropped objects (the first environment element and the second environment element) are rendered into the super large world (ie, the virtual scene) so as to be displayed on the screen.

[0054] In one or more embodiments provided in this specification, the virtual scene is a game scene, the target object is a virtual camera, the first environmental element is a first scene object, and the second environmental element is a second scene object; The rendering of the first environmental element and the second environmental element into the virtual scene to obtain environmental data corresponding to the target object includes: The first scene object and the second scene object are rendered into the game scene to obtain environmental data displayed in the game scene and located in the perspective of the virtual camera.

[0055] Continuing with the above example, for objects outside the protection range and the viewing cone, this method can use asynchronous unloading control to immediately unload invisible objects.

[0056] In one or more embodiments provided in this specification, the method can determine the first element display area and the second element display area corresponding to the target object from the virtual scene, and determine the first environmental element corresponding to the first element display area and the second environmental element corresponding to the second element display area based on the element position information of the environmental elements contained in the environmental data to be displayed; finally, the first environmental element and the second environmental element are reasonably and accurately rendered into the virtual scene, so that the corresponding environmental data exists in the surrounding position and viewing angle of the target object, ensuring that the display of the environmental elements in the virtual scene conforms to the real scene, thereby improving the realism of the virtual scene.

[0057] The following combined Figure 3 , taking the application of the data processing method provided in this specification in the scene object clipping scene as an example, the data processing method is further explained. Figure 3 A flowchart of a data processing method provided in one embodiment of this specification is shown, which specifically includes the following steps.

[0058] Step 302: Determine which layers need to be loaded and unloaded based on the current camera position, image quality and other configurations.

[0059] Specifically, in the process of performing parallel angle clipping on a large world, this method determines which layers need to be loaded and unloaded as follows: 1. Determine the current position of the camera in the large world and the image quality configuration parameters of the gaming device (e.g., a computer) running the large world.

[0060] 2. Based on the current position of the camera, determine the current grid map (i.e., 9-grid) and other grid maps (i.e., non-9-grid) corresponding to the camera from multiple grid maps in the super large world.

[0061] Among them, the multiple grid maps of the super large world are obtained by dividing the super large world.

[0062] 3. Determine the current grid map as a visible map and determine other grid maps as invisible maps.

[0063] 4. Determine the multi-layer game scenes corresponding to the current grid map, and determine the minimum acceptable image quality corresponding to each layer of the game scene.

[0064] 5. Based on the minimum acceptable image quality, determine the visible layer scene that matches the image quality configuration parameters of the game device from the multi-layer game scene.

[0065] It should be noted that before running the super large world, this method will perform layer splitting and object stripping on the scene in an offline manner (i.e., preprocessing).

[0066] Hierarchical splitting refers to: First, determine the data size of the scene; the data size is determined based on factors such as the scene's image quality, object size, and object type; Secondly, multiple scenes are divided into different levels based on data size. Some objects that only display on high-spec models are assigned to the corresponding high-spec layers. Small objects are assigned to the small object layer, and large objects to the large object layer. This allows for optimized loading strategies based on different hardware conditions.

[0067] Among them, object stripping refers to: By stripping away scene objects from different layers, only basic information like bounding boxes is retained. This allows for quick determination of which objects need to be loaded or unloaded at runtime without having to perform full rendering calculations, improving performance and optimizing memory.

[0068] In addition, after the scenes are layered, specific loading parameters will be configured for different layered scenes, including loading distance, minimum acceptable image quality, and cropping parameters (i.e., projection angle) for objects inside and outside the lens.

[0069] For example, the high-quality tier can set a longer loading distance and more detailed cropping parameters to ensure the picture effect, while the low-quality tier focuses on performance, allowing closer distances and looser cropping.

[0070] Step 304: Unload the invisible layer scene.

[0071] Specifically, this method uses asynchronous unloading control to instantly unload invisible scenes during unloading, ensuring that memory is released promptly. This not only reduces instantaneous memory requirements but also reduces the burden on the CPU and GPU.

[0072] Step 306: Load the visible layer scene.

[0073] Specifically, this method uses asynchronous loading to achieve object-level asynchronous loading during the loading of the visible layer scene, initiates loading requests for visible objects in a timely manner, uses non-blocking I / O operations to improve efficiency, and gradually completes rendering preparations in the background. The specific implementation method is as follows: Based on the image quality of different machines and the visible distance set for different scenes, different layers of scenes are loaded to achieve coarse-grained streaming control.

[0074] Furthermore, this method also enables adaptive loading (as described above) during scene loading. Specifically, this automatically adjusts the loaded layers and resolution based on the performance of the target device (gaming device). On high-spec devices, more layers are activated, while on low-spec devices, only the base layer and a few necessary layers are loaded, achieving optimal resource allocation and utilization.

[0075] Step 308: Merge the scene clipping data into the global parallel clipping manager.

[0076] The scene clipping data refers to the visible layer scene loaded in the above step 306, and the visible layer scene includes: the game scene, objects separated from the game scene, and the bounding boxes of the objects.

[0077] The scene object refers to any visible object in the game, such as buildings, trees, characters, etc. Each object needs to be calculated whether it should appear on the screen (that is, whether it needs to be rendered) and how to render it.

[0078] The Global Parallel Clipping Manager is used to determine which objects should be displayed (i.e., within the player's field of view) and which should not be displayed (i.e., out of the player's field of view or obscured by other objects). This reduces unnecessary rendering work and improves game efficiency.

[0079] The management module is a system responsible for coordinating and controlling the work of the clipping module. It ensures that all objects can be effectively checked and processed to determine whether they need to be rendered.

[0080] Specifically, this solution introduces a global parallel clipping manager (i.e., global parallel clipping module) during the clipping process of scene data. This global parallel clipping module can achieve parallel clipping of scene data in the following ways: All loaded scene objects are aggregated and added to the global parallel clipping module, and the object lists of different scenes are merged in an unsafe manner through the management module in the global parallel clipping module.

[0081] Step 310: Perform multi-threaded parallel cropping on the merged objects.

[0082] Specifically, the global parallel clipping module is a job system that uses a multi-threaded / multi-core architecture. Therefore, through this global parallel clipping module, scene objects can be processed in parallel, ensuring that clipping can be completed in a short time and giving full play to the parallel computing capabilities of the hardware.

[0083] Step 312: Calculate the clipping parameters of each object, such as the projection angle and whether it is within the viewing frustum.

[0084] Specifically, in the process of performing the cropping work using multiple parallel threads in the global parallel cropping module, each thread will execute "calculating the cropping parameters of each object".

[0085] The projection angle refers to the angle of a scene object or part of it relative to the edge of the screen when it is transformed from 3D space to a 2D screen. The object projection angle is the angle at which the longest side of the object's bounding box is projected onto the screen, also known as arctan (the longest side of the object's bounding box / the distance from the object to the camera).

[0086] Whether it is within the viewing cone refers to whether the position of the scene object in the super large world is within the viewing cone of the camera.

[0087] View frustum: This refers to the area of the scene that a camera can see. It's usually expressed in field of view (FOV), particularly the vertical FOV. This parameter affects the relative size and distortion of objects in the scene.

[0088] Step 314: Calculate the final visibility of the object according to the corresponding layer configuration parameters.

[0089] Specifically, this method requires real-time calculation of each object's visibility based on the current viewing angle, including factors such as screen projection angle, distance from the camera lens, and whether it is within the viewing frustum. By integrating the configuration parameters in the corresponding layer's configuration file (i.e., the loading parameters configured in step 302 above), the final object visibility is calculated. For example, for off-screen objects, more stringent visibility conditions (such as a larger projection angle) can be set to crop more small objects.

[0090] The steps to calculate the final visibility of the object according to the corresponding layer configuration parameters can be referred to Figure 4 , the specific steps for visibility determination are as follows: 1. Does this layer need to be displayed at the current quality? If so, proceed to step 2. If not, make it invisible and do not render the scene.

[0091] Specifically, during the visibility determination process, the thread in the global parallel clipping module will first determine whether the layer scene needs to be displayed at the current image quality.

[0092] Based on the above steps, this method can use threads to re-determine whether a layer of scenes meets the current image quality of the gaming device, thereby ensuring rendering accuracy and avoiding causing greater processing pressure on the memory or video memory.

[0093] 2. Is the object within the protection range of the layer? If so, determine that the object is visible; if not, execute the judgment operation in step 4.

[0094] Specifically, the operations within the protection range of the judgment layer object are as follows: First, the camera's current position is determined. Based on the preset protection range size (e.g., a radius of 200 meters) and the camera's current position, the camera's corresponding protection range is determined in the hyperworld. This protection range surrounds the camera and is used to determine whether objects in the scene around the camera are visible.

[0095] Secondly, the object positions of multiple scene objects in the super large world are obtained in the scene layer.

[0096] Finally, the scene objects whose positions are within the protection range are determined to be visible; and the scene objects whose positions are outside the protection range are subjected to subsequent judgment.

[0097] 3. Is it inside the viewing cone? If so, read the clipping angle outside the viewing cone; if not, read the clipping angle inside the viewing cone.

[0098] The clipping angle within the viewing frustum refers to the angle of objects within the camera's viewing frustum. The viewing frustum is a virtual geometric shape consisting of a set of planes extending from the camera, defining the maximum range of the camera's view. Any object within this range may need to be rendered.

[0099] The clipping angle outside the viewing frustum refers to the angle relationship of objects outside the camera's viewing frustum. These objects do not need to be rendered because they are beyond the camera's current field of view.

[0100] 4. Is the object's projection angle greater than the cropping angle? Specifically, it is determined whether the projection angle of the object is greater than the clipping angle (i.e., the clipping angle within the viewing cone); if so, the object is determined to be visible; if not, the object is determined to be unreachable.

[0101] Specifically, in the implementation of this method, for an object located outside the camera's viewing cone or inside the camera's viewing cone, the projection angle of the object can be obtained; If the projection angle of the object is greater than the clipping angle, it is determined that the object needs to be rendered; conversely, if the projection angle of the object is less than the clipping angle, it is determined that the object does not need to be rendered.

[0102] Step 316: Unload the scene object.

[0103] Specifically, this method can use asynchronous uninstallation control to uninstall invisible objects immediately. Step 318: Check whether it has been loaded.

[0104] Specifically, in the process of rendering an uncut object, the method needs to determine whether the object data corresponding to the object has been loaded. If so, execute step 322; otherwise, execute step 320.

[0105] Step 320: Asynchronous IO loads the corresponding object.

[0106] Specifically, in the process of loading object data, this method uses non-blocking I / O operations to load objects, thereby improving efficiency and gradually completing rendering preparations in the background.

[0107] Step 322: Display the object.

[0108] Specifically, the uncropped object is rendered into the super world, so that the object is displayed on the screen.

[0109] To address a series of issues brought about by the Nine-Palace-like grid, the data processing method in this specification provides and implements a large-world precision streaming solution that supports parallel angle clipping to improve memory utilization efficiency, reduce rendering burden, and optimize scene loading speed. Through precise object-level clipping, streaming loading and unloading control is achieved, allowing the game to maintain efficient and smooth operation in the large world.

[0110] Based on the above steps, it can be seen that the technical effects achieved by this method include: multi-level coarse-flow clipping, efficient parallel precise clipping, flexible clipping strategy, and optimized resource utilization.

[0111] Among them, multi-level coarse streaming clipping refers to the optimization of large-scale streaming content based on factors such as image quality through layered processing, thereby improving the overall scene streaming efficiency.

[0112] Efficient parallel precision clipping: Parallel clipping significantly improves clipping efficiency and enables precise loading and releasing of objects. This overcomes the dilemma caused by scene granularity, as loading objects requires precise secondary clipping.

[0113] Flexible cropping strategies: Layer- and object-level cropping allows for flexible configuration of different cropping strategies for both coarse-grained scene cropping and fine-grained object cropping. Different cropping strategy parameters can be configured for different layers, depending on factors such as machine image quality, projection cropping angle, viewing frustum, and lens distance, providing exceptional flexibility.

[0114] Optimizing resource usage: This means reducing unnecessary object loading, lowering memory consumption and rendering load, and thus improving overall performance.

[0115] Corresponding to the above method embodiment, this specification also provides a data processing device embodiment, Figure 5 FIG1 shows a schematic diagram of the structure of a data processing device provided by an embodiment of this specification. Figure 5 As shown, the device includes: The data determination module 502 is configured to determine the to-be-displayed environmental data associated with the target object in the virtual scene, wherein the to-be-displayed environmental data includes environmental elements; a first element determination module 504 configured to determine a first element display area from the virtual scene based on the object position information of the target object, and determine a first environmental element corresponding to the first element display area from the environmental elements according to the element position information of the environmental elements; a second element determination module 506 configured to determine a second element display area from the virtual scene based on the object perspective information of the target object, and determine a second environmental element corresponding to the second element display area from the environmental elements according to the element position information; The rendering module 508 is configured to render the first environmental element and the second environmental element into the virtual scene, and obtain environmental data corresponding to the target object displayed in the virtual scene.

[0116] Optionally, the first element determination module 504 is further configured to: Determining a display area size corresponding to the target object, and determining a first element display area from the virtual scene based on the display area size and object position information of the target object; Element position information of the environmental elements is determined, and based on the element position information, a first environmental element located in the first element display area is determined from the environmental elements.

[0117] Optionally, the second element determination module 506 is further configured to: Determining an object viewing angle range of the target object, and determining a second element display area from the virtual scene based on the object viewing angle range; Determining element position information of the environmental element, and calculating a distance parameter between the environmental element and the target object based on the element position information and the object position information; Determine a display distance threshold of the environmental element, and determine the environmental element as the second environmental element when it is determined according to the element position information that the environmental element is located in the second element display area and the distance parameter is less than or equal to the display distance threshold.

[0118] Optionally, the virtual scene is a game scene, the target object is a virtual camera, the first environmental element is a first scene object, and the second environmental element is a second scene object; The rendering module 508 is further configured to: The first scene object and the second scene object are rendered into the game scene to obtain environmental data displayed in the game scene and located in the perspective of the virtual camera.

[0119] Optionally, the data determination module 502 is further configured to: Determining device attribute information of a scenario running device that runs the virtual scenario, wherein the scenario running device is a computing device used to implement the virtual scenario, and the virtual scenario runs in the scenario running device; Determining a plurality of candidate environment data and determining a device attribute identifier for each candidate environment data; Matching the device attribute information with the device attribute identifier to obtain a target device attribute identifier corresponding to the device attribute information; The candidate environment data corresponding to the target device attribute identifier is determined as the to-be-displayed environment data associated with the target object in the virtual scene.

[0120] Optionally, the data processing device further includes a data construction module configured to: Constructing a plurality of initial environmental data and determining a data volume parameter of each initial environmental data, wherein the initial environmental data includes environmental elements, and the data volume parameter is determined according to the environmental elements included in the initial environmental data; According to the data volume parameter, the multiple initial environment data are divided into candidate environment data of different data levels, and associated device attribute identifiers are set for the multiple candidate environment data of different data levels.

[0121] Optionally, the multiple initial environment data are multiple game scene data, and the environment elements are game scene objects; The data construction module is further configured to: Dividing the plurality of game scene data into a plurality of game scene data at different data levels according to the data volume parameter; Determining game scene objects in each game scene data and object position information of the game scene objects; Separating the game scene objects from each game scene data to obtain a plurality of blank game scene data; The plurality of blank game scene data at different data levels, the game scene objects corresponding to each blank game scene data, and the object position information are determined as a plurality of candidate environment data.

[0122] Optionally, the data processing device further includes an element removal module configured to: Determine an area in the virtual scene, excluding the first element display area and the second element display area, as an element removal area; Removing the element removes the environmental element displayed in the area.

[0123] One or more embodiments of the present specification provide a data processing device that can determine a first element display area and a second element display area corresponding to a target object from a virtual scene, and determine a first environmental element corresponding to the first element display area and a second environmental element corresponding to the second element display area based on element position information of the environmental elements contained in the environmental data to be displayed; finally, the first environmental element and the second environmental element are reasonably and accurately rendered into the virtual scene, so that corresponding environmental data exists around the target object and in the viewing angle, thereby ensuring that the display of environmental elements in the virtual scene conforms to the real scene and improving the realism of the virtual scene.

[0124] The above is a schematic diagram of a data processing device according to this embodiment. It should be noted that the technical solution of the data processing device and the technical solution of the above-mentioned data processing method are based on the same concept. For details not described in detail in the technical solution of the data processing device, please refer to the description of the technical solution of the above-mentioned data processing method.

[0125] Figure 6 6 shows a block diagram of a computing device 600 according to one embodiment of the present disclosure. Components of the computing device 600 include, but are not limited to, a memory 610 and a processor 620. The processor 620 is connected to the memory 610 via a bus 630, and a database 650 is used to store data.

[0126] Computing device 600 also includes an access device 640 that enables computing device 600 to communicate via one or more networks 660. Examples of such networks include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), a personal area network (PAN), or a combination of communication networks such as the Internet. Access device 640 may include one or more of any type of network interface (e.g., a network interface card (NIC)) whether wired or wireless, such as an IEEE 802.11 wireless local area network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a universal serial bus (USB) interface, a cellular network interface, a Bluetooth interface, or a near field communication (NFC) interface.

[0127] In one embodiment of the present specification, the above components of the computing device 600 and Figure 6 Other components not shown in the figure may also be connected to each other, for example, via a bus. Figure 6 The computing device structure block diagram shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art may add or replace other components as needed.

[0128] Computing device 600 can be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, personal digital assistant, laptop computer, notebook computer, netbook computer, etc.), a mobile phone (e.g., a smartphone), a wearable computing device (e.g., a smartwatch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or personal computer (PC). Computing device 600 can also be a mobile or stationary server.

[0129] The processor 620 is configured to execute the following computer-executable instructions, which implement the steps of the above-mentioned data processing method when executed by the processor.

[0130] The various embodiments in this specification are described in a progressive manner. Similar parts between the various embodiments can be referred to in conjunction with each other. Each embodiment focuses on the differences between the other embodiments. In particular, the computing device embodiment is generally similar to the data processing method embodiment, so the description is relatively simple. For relevant parts, refer to the description of the data processing method embodiment.

[0131] An embodiment of the present specification further provides a computer-readable storage medium storing a computer program / instruction, which implements the steps of the above-mentioned data processing method when executed by a processor.

[0132] The above is a schematic scheme of a computer-readable storage medium of this embodiment. It should be noted that the technical scheme of the storage medium and the technical scheme of the above-mentioned data processing method are based on the same concept. For details not described in detail in the technical scheme of the storage medium, please refer to the description of the technical scheme of the above-mentioned data processing method.

[0133] An embodiment of the present specification further provides a computer program product, comprising a computer program / instruction, which implements the steps of the above-mentioned data processing method when executed by a processor.

[0134] The above is a schematic solution of a computer program product of this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the above-mentioned data processing method are based on the same concept. For details not described in detail in the technical solution of the computer program product, please refer to the description of the technical solution of the above-mentioned data processing method.

[0135] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0136] The computer program / instructions include computer program code, which may be in source code form, object code form, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal, and software distribution medium. It should be noted that the content of the computer-readable medium may be appropriately increased or decreased based on the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media does not include electric carrier signals and telecommunication signals.

[0137] It should be noted that for the aforementioned method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of this specification are not limited by the order of the actions described, because according to the embodiments of this specification, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the embodiments of this specification.

[0138] In the above embodiments, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant description of other embodiments.

[0139] The preferred embodiments disclosed above are intended only to help illustrate this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific embodiments described. Obviously, many modifications and variations can be made based on the content of the embodiments of this specification. This specification selects and specifically describes these embodiments in order to better explain the principles and practical applications of the embodiments of this specification, so that those skilled in the art can better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.

Claims

1. A data processing method, characterized in that: include: Determining environment data to be displayed that is associated with a target object in a virtual scene, wherein the environment data to be displayed includes environment elements; Based on the object position information of the target object, determining a first element display area from the virtual scene, and according to the element position information of the environmental element, determining a first environmental element corresponding to the first element display area from the environmental elements; Based on the object perspective information of the target object, determining a second element display area from the virtual scene, and determining a second environmental element corresponding to the second element display area from the environmental elements according to the element position information; The first environmental element and the second environmental element are rendered into the virtual scene to obtain environmental data corresponding to the target object.

2. The data processing method according to claim 1, wherein: The determining of a first element display area from the virtual scene based on the object position information of the target object, and determining a first environmental element corresponding to the first element display area from the environmental elements according to the element position information of the environmental elements, includes: Determining a display area size corresponding to the target object, and determining a first element display area from the virtual scene based on the display area size and object position information of the target object; Element position information of the environmental elements is determined, and based on the element position information, a first environmental element located in the first element display area is determined from the environmental elements.

3. The data processing method according to claim 1, wherein: The determining of a second element display area from the virtual scene based on the object perspective information of the target object, and determining a second environmental element corresponding to the second element display area from the environmental elements according to the element position information, includes: Determining an object viewing angle range of the target object, and determining a second element display area from the virtual scene based on the object viewing angle range; Determining element position information of the environmental element, and calculating a distance parameter between the environmental element and the target object based on the element position information and the object position information; Determine a display distance threshold of the environmental element, and determine the environmental element as the second environmental element when it is determined according to the element position information that the environmental element is located in the second element display area and the distance parameter is less than or equal to the display distance threshold.

4. The data processing method according to claim 1, wherein: The virtual scene is a game scene, the target object is a virtual camera, the first environmental element is a first scene object, and the second environmental element is a second scene object; The rendering of the first environmental element and the second environmental element into the virtual scene to obtain environmental data corresponding to the target object includes: The first scene object and the second scene object are rendered into the game scene to obtain environmental data displayed in the game scene and located in the perspective of the virtual camera.

5. The data processing method according to claim 1, wherein: The determining of the to-be-displayed environmental data associated with the target object in the virtual scene includes: Determining device attribute information of a scenario running device that runs the virtual scenario, wherein the scenario running device is a computing device used to implement the virtual scenario, and the virtual scenario runs in the scenario running device; Determining a plurality of candidate environment data and determining a device attribute identifier for each candidate environment data; Matching the device attribute information with the device attribute identifier to obtain a target device attribute identifier corresponding to the device attribute information; The candidate environment data corresponding to the target device attribute identifier is determined as the to-be-displayed environment data associated with the target object in the virtual scene.

6. The data processing method according to claim 1, wherein: Before determining the to-be-displayed environmental data associated with the target object in the virtual scene, the method further includes: Constructing a plurality of initial environmental data and determining a data volume parameter of each initial environmental data, wherein the initial environmental data includes environmental elements, and the data volume parameter is determined according to the environmental elements included in the initial environmental data; According to the data volume parameter, the multiple initial environment data are divided into candidate environment data of different data levels, and associated device attribute identifiers are set for the multiple candidate environment data of different data levels.

7. The data processing method according to claim 6, characterized in that: The multiple initial environment data are multiple game scene data, and the environmental elements are game scene objects; The step of dividing the plurality of initial environmental data into candidate environmental data of different data levels according to the data volume parameter includes: Dividing the plurality of game scene data into a plurality of game scene data at different data levels according to the data volume parameter; Determining game scene objects in each game scene data and object position information of the game scene objects; Separating the game scene objects from each game scene data to obtain a plurality of blank game scene data; The plurality of blank game scene data at different data levels, the game scene objects corresponding to each blank game scene data, and the object position information are determined as a plurality of candidate environment data.

8. The data processing method according to claim 1, wherein: The method further comprises: Determine an area in the virtual scene, excluding the first element display area and the second element display area, as an element removal area; Removing the element removes the environmental element displayed in the area.

9. A data processing device, characterized in that: include: A data determination module is configured to determine environment data to be displayed associated with a target object in a virtual scene, wherein the environment data to be displayed includes environment elements; a first element determination module configured to determine a first element display area from the virtual scene based on the object position information of the target object, and determine a first environmental element corresponding to the first element display area from the environmental elements according to the element position information of the environmental elements; a second element determination module configured to determine a second element display area from the virtual scene based on the object perspective information of the target object, and determine a second environmental element corresponding to the second element display area from the environmental elements according to the element position information; The rendering module is configured to render the first environmental element and the second environmental element into the virtual scene, and obtain environmental data corresponding to the target object displayed in the virtual scene.

10. A computing device, characterized in that include: memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer program / instructions are executed by the processor, the steps of the method according to any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium, characterized in that It stores a computer program / instruction, which implements the steps of the method according to any one of claims 1 to 8 when executed by a processor.

12. A computer program product, characterized in that The method comprises a computer program / instruction which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Object rendering method and device

    CN114984576A

  • Method for simulating large space through small-site XR

    CN118429581A

  • System and method for rendering objects in an extended reality

    US20230169733A1