CN117150160A - Three-dimensional scene asset data loading method and three-dimensional scene asset data providing method - Google Patents

Three-dimensional scene asset data loading method and three-dimensional scene asset data providing method Download PDF

Info

Publication number
CN117150160A
CN117150160A CN202310931514.8A CN202310931514A CN117150160A CN 117150160 A CN117150160 A CN 117150160A CN 202310931514 A CN202310931514 A CN 202310931514A CN 117150160 A CN117150160 A CN 117150160A
Authority
CN
China
Prior art keywords
data
dimensional scene
asset data
scene asset
dimensional
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310931514.8A
Other languages
Chinese (zh)
Inventor
师超
赵密
林轶锽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Tmall Technology Co Ltd
Original Assignee
Zhejiang Tmall Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Tmall Technology Co Ltd filed Critical Zhejiang Tmall Technology Co Ltd
Priority to CN202310931514.8A priority Critical patent/CN117150160A/en
Publication of CN117150160A publication Critical patent/CN117150160A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Abstract

The application discloses a three-dimensional scene asset data loading method and a three-dimensional scene asset data providing method, wherein the three-dimensional scene asset data loading method comprises the following steps: in response to detecting a need to load three-dimensional scene asset data, determining three-dimensional scene asset data to be loaded required to render the current three-dimensional space as the required three-dimensional scene asset data; obtaining low-data-volume required three-dimensional scene asset data meeting current three-dimensional space rendering requirements, wherein the data volume of the low-data-volume required three-dimensional scene asset data is smaller than that of high-data-volume required three-dimensional scene asset data, and the high-data-volume required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space; the low data volume required three-dimensional scene asset data is loaded into the current three-dimensional space. According to the method for loading the three-dimensional scene asset data, the three-dimensional scene asset data can be loaded as required, the loading speed of the 3D content is optimized, and the user experience is improved.

Description

Three-dimensional scene asset data loading method and three-dimensional scene asset data providing method
Technical Field
The present application relates to the field of computer technologies, and in particular, to a method for loading three-dimensional scene asset data, a method for providing three-dimensional scene asset data, a device, an electronic apparatus, and a computer storage medium.
Background
With the continuous development of internet technology, the 3D (Three Dimensions) technology has become an increasingly important technical trend, and has a wide application prospect. It is well known that 3D content has stronger interactivity and immersion than traditional two-dimensional (2D) content, and can provide a richer visual experience for users. With the continuous progress of technology, 3D content is becoming popular in various internet applications, and is becoming a future development trend.
Currently, 3D content is increasingly popular in internet applications, but there is still a problem in practical use. For example, in the 3D scenario of the internet, in order to reduce the Application (APP) package size, a manner of dynamically downloading 3D resources is generally adopted. However, this approach can result in a 3D scene loading speed that is too slow, thereby affecting the user experience. Too slow a loading speed may result in the user losing patience and opting out, which would severely affect the conversion rate of the 3D application.
Therefore, how to optimize the 3D content loading speed and improve the user experience becomes a problem to be solved in the current internet technical field.
Disclosure of Invention
The embodiment of the application provides a three-dimensional scene asset data loading method, a three-dimensional scene asset data providing device, electronic equipment and a computer storage medium.
The embodiment of the application provides a method for loading three-dimensional scene asset data, which comprises the following steps: in response to detecting a need to load three-dimensional scene asset data, determining three-dimensional scene asset data to be loaded required to render the current three-dimensional space as the required three-dimensional scene asset data; obtaining low-data-volume required three-dimensional scene asset data meeting current three-dimensional space rendering requirements, wherein the data volume of the low-data-volume required three-dimensional scene asset data is smaller than that of high-data-volume required three-dimensional scene asset data, and the high-data-volume required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space; the low data volume required three-dimensional scene asset data is loaded into the current three-dimensional space.
Optionally, the obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement includes:
acquiring three-dimensional scene asset data meeting a first precision requirement and loading the three-dimensional scene asset data meeting the first precision requirement; in the process of carrying out the loading processing on the three-dimensional scene asset data meeting the first precision requirement, obtaining three-dimensional scene asset data meeting the second precision requirement;
or, obtaining the three-dimensional scene asset data in the preset area and loading the three-dimensional scene asset data in the preset area.
Optionally, the obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement includes: and obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from the local cache.
Optionally, the obtaining, from the local cache, the required three-dimensional scene asset data with a low data volume that meets the current three-dimensional space rendering requirement includes:
judging whether the local cache stores the required three-dimensional scene asset data with low data volume which meets the current three-dimensional space rendering requirement or not;
If it is determined that the local cache stores the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement, obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from the local cache;
if it is determined that the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement does not exist in the local cache, acquiring the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from a remote storage module.
Optionally, the obtaining, from the remote storage module, the required three-dimensional scene asset data with a low data volume that meets the current three-dimensional space rendering requirement includes:
transmitting a three-dimensional scene asset data request message for acquiring required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement to the remote storage module;
and obtaining the required three-dimensional scene asset data with the low data volume returned by the remote storage module.
Optionally, the determining whether the local cache stores the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement further includes:
If it is determined that part of the low-data-volume required three-dimensional scene asset data meeting the current three-dimensional space rendering requirement is stored in the local cache, acquiring the cached low-data-volume required three-dimensional scene asset data from the local cache, acquiring the uncached low-data-volume required three-dimensional scene asset data from the remote storage module, and splicing the cached low-data-volume required three-dimensional scene asset data with the uncached low-data-volume required three-dimensional scene asset data to serve as the low-data-volume required three-dimensional scene asset data meeting the current three-dimensional space rendering requirement.
Optionally, the method further comprises:
and adding the required three-dimensional scene asset data with low data volume, which is acquired from the remote storage module and meets the current three-dimensional space rendering requirement, or adding the required three-dimensional scene asset data with low data volume, which is acquired from the remote storage module and is not cached, into the local cache, and updating the interval tree index of the local cache.
Optionally, the remote storage module includes: a content distribution network or a file server.
The application also provides a three-dimensional scene asset data providing method, which comprises the following steps: a three-dimensional scene asset data request message which is sent by a streaming loading module of a client and used for requesting to obtain the required three-dimensional scene asset data with low data volume and meeting the current three-dimensional space rendering requirement is obtained; according to the three-dimensional scene asset data request message, obtaining required three-dimensional scene asset data with low data volume which meets the current three-dimensional space rendering requirement; and returning the required three-dimensional scene asset data with the low data volume to a streaming loading module of the client.
The application also provides a device for loading the three-dimensional scene asset data, which comprises:
a determining unit configured to determine, as required three-dimensional scene asset data, three-dimensional scene asset data required to be loaded for rendering the current three-dimensional space in response to detection of a need to load the three-dimensional scene asset data;
a first obtaining unit, configured to obtain low-data-amount required three-dimensional scene asset data that meets a current three-dimensional space rendering requirement, where the low-data-amount required three-dimensional scene asset data has a data amount that is less than a data amount of high-data-amount required three-dimensional scene asset data, and the high-data-amount required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space;
and the loading unit is used for loading the required three-dimensional scene asset data with the low data volume into the current three-dimensional space.
The application also provides a three-dimensional scene asset data providing device, which comprises:
the second obtaining unit is used for obtaining a three-dimensional scene asset data request message which is sent by the streaming loading module of the client and is used for requesting to obtain the required three-dimensional scene asset data with low data volume and meeting the current three-dimensional space rendering requirement;
A third obtaining unit, configured to obtain, according to the three-dimensional scene asset data request message, required three-dimensional scene asset data with a low data volume that meets a current three-dimensional space rendering requirement;
and the return unit is used for returning the needed three-dimensional scene asset data with the low data volume to the streaming loading module of the client.
The application also provides electronic equipment, which comprises a processor and a memory; the memory stores a computer program, and the processor executes the method after running the computer program.
The present application also provides a computer storage medium storing a computer program which, when executed by a processor, performs the above method.
Compared with the prior art, the embodiment of the application has the following advantages:
the embodiment of the application provides a method for loading three-dimensional scene asset data, which comprises the following steps: in response to detecting a need to load three-dimensional scene asset data, determining three-dimensional scene asset data to be loaded required to render the current three-dimensional space as the required three-dimensional scene asset data; obtaining low-data-volume required three-dimensional scene asset data meeting current three-dimensional space rendering requirements, wherein the data volume of the low-data-volume required three-dimensional scene asset data is smaller than that of high-data-volume required three-dimensional scene asset data, and the high-data-volume required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space; the low data volume required three-dimensional scene asset data is loaded into the current three-dimensional space.
According to the method for loading the three-dimensional scene asset data, the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement can be obtained according to the requirement of the three-dimensional scene asset data required to be loaded in the current three-dimensional space, the required three-dimensional scene asset data with low data volume is loaded in the current three-dimensional space, the loading time of the three-dimensional scene asset data is effectively shortened, and the loading speed of a scene is improved; meanwhile, when the required three-dimensional scene asset data with low data volume does not exist in the local cache, the required three-dimensional scene asset data with low data volume can be acquired from the remote storage, the required three-dimensional scene asset data with low data volume acquired from the remote storage can be added into the local cache to be efficiently cached, and when the same scene is accessed for the second time, the data does not need to be downloaded repeatedly, so that the loading speed of the 3D content is optimized, and the user experience is improved.
Drawings
FIG. 1 is a flow chart of a method for loading three-dimensional scene asset data according to a first embodiment of the present application;
FIG. 2 is a flow chart of a three-dimensional scene asset data loading process provided by a first embodiment of the application;
FIG. 3a is a schematic view of the far view angle of an image during texture data loading according to a first embodiment of the present application;
FIG. 3b is a schematic view of the near vision angle of an image during the loading of texture data according to the first embodiment of the present application;
FIG. 4 is a schematic diagram showing the differences between the method for loading asset data of three-dimensional scene according to the first embodiment of the present application and the existing method in the execution time line;
FIG. 5 is a flow chart of a method for providing three-dimensional scene asset data according to a second embodiment of the application;
FIG. 6 is a schematic diagram of a three-dimensional scene asset data loading device according to a third embodiment of the present application;
FIG. 7 is a schematic diagram of a three-dimensional scene asset data providing apparatus according to a fourth embodiment of the present application;
fig. 8 is a schematic diagram of an electronic device according to a fifth embodiment of the present application.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. The present application may be embodied in many other forms than those herein described, and those skilled in the art will readily appreciate that the present application may be similarly embodied without departing from the spirit or essential characteristics thereof, and therefore the present application is not limited to the specific embodiments disclosed below.
First, in order to enable those skilled in the art to better understand the scheme of the present application, the following briefly describes a background of a three-dimensional scene asset data loading method provided by the present application.
The 3D technology refers to a digitalized 3D/three-dimensional/stereoscopic related technology based on a computer/internet, and a large amount of three-dimensional data is usually produced, stored, transmitted and processed in the production process of the 3D related technology industry, such as movies, games and the like, and the data together form what is called a scene. In 3D applications of internet scenes, 3D scene loading is generally slow, and in order to reduce the APP package size, 3D assets are generally downloaded dynamically, i.e. when a user first enters a scene from a mobile APP, the resource packages required for the scene are started to be downloaded. However, this approach can result in a 3D scene loading speed that is too slow, thereby affecting the user experience. Also, too slow a 3D scene loading speed may cause the user to lose patience and opt out, which would severely affect the conversion rate of the 3D application. For example, conventional 3D scene loading schemes typically require waiting for a full download of an art asset (e.g., a scene, character, or prop) to begin loading the 3D asset into 3D space. The main disadvantages of this solution are: the art assets are usually larger, and the downloading time is larger than the whole loading process time. Before the download task is completed, the loading process is blocked and cannot be started, so that the overall loading time is very long. Therefore, how to optimize the 3D content loading speed and improve the user experience becomes a problem to be solved in the current internet technical field.
Aiming at the problems, the embodiment of the application provides a method for optimizing the loading speed of 3D content, which aims to solve the problem of low loading speed of a 3D scene, thereby improving user experience and improving the conversion rate of a 3D application program. By the technical scheme provided by the embodiment of the application, the 3D resource loading time can be effectively reduced, the scene loading speed is improved, and smoother Internet application experience is brought to users.
In 3D rendering engines, checkpoint streaming, texture streaming, and mesh streaming are commonly used techniques that allow only a portion of the content of an art asset to be loaded and displayed in a 3D scene. Among them, texture streaming (Texture Streaming) is a computer graphics technology mainly applied to real-time rendered scenes, such as video games and virtual reality. The technology can reduce the demand for the video memory and improve the rendering performance without sacrificing the graphics quality. The basic idea of texture streaming is: texture data is divided into different resolution levels (commonly referred to as mipmap) and then the textures are loaded and unloaded in real-time as needed. Lower resolution textures may be used when the camera is farther from the object, while higher resolution textures are needed to preserve detail when the object is close. In this way, only texture data required for the current picture is required to be loaded, thereby reducing the amount of memory usage and improving performance. Texture streaming is particularly important in game development because game scenes are often very complex, containing large amounts of texture data. By using texture streaming techniques, higher picture quality can be achieved while maintaining good performance on a variety of hardware devices. Mesh Streaming (Mesh Streaming) is a computer graphics technology for dynamically loading and unloading data of 3D models (meshes) in real-time rendering scenes such as video games and virtual reality. According to the technology, only model data in a visual field can be reserved according to the current scene requirement, so that the memory occupation is reduced, and the performance is improved. The basic idea of checkpoint streaming is to divide the game world into different areas or checkpoints, and then load and unload only the required checkpoint data according to the player's position and view. When a player enters a new checkpoint or region, the system automatically loads the data (e.g., model, texture, sound effects, etc.) for that region, while offloading the data for the region from which the player left. The method reduces the consumption of memory and resources, improves the performance, and allows developers to create larger and richer game worlds while maintaining smooth running of the games. For example, in texture streaming, a low-precision model may be displayed for a 3D model, and a high-precision model may be displayed after the high-precision model is loaded. When the gate is streamed, a large map can be divided into a plurality of sub-gates, and only the sub-gate where the birth point of the player is located is displayed in an initial state.
Typically, multiple LODs (Levels of Detail) and mipmap data (i.e., dividing texture data into different resolution Levels) for an asset, and a map scene will typically be played in an asset package, typically requiring waiting for the complete download of the asset package to complete, before the loading process can begin. According to the embodiment of the application, through stream loading, the actual needed data can be downloaded according to the need in the loading process, and meanwhile, the scene can be displayed only by downloading a small part of art assets in cooperation with checkpoint streaming, LOD streaming and texture streaming, so that the rapid loading of the 3D scene is realized.
Therefore, the three-dimensional scene asset data loading method provided by the embodiment of the application can obtain the required three-dimensional scene asset data with low data volume which meets the current three-dimensional space rendering requirement according to the requirement of the three-dimensional scene asset data required to be loaded in the current three-dimensional space, and load the required three-dimensional scene asset data with low data volume into the current three-dimensional space, thereby effectively reducing the loading time of the three-dimensional scene asset data and improving the loading speed of the scene; meanwhile, when the required three-dimensional scene asset data with low data volume does not exist in the local cache, the required three-dimensional scene asset data with low data volume can be acquired from the remote storage, the required three-dimensional scene asset data with low data volume acquired from the remote storage can be added into the local cache to be efficiently cached, and when the same scene is accessed for the second time, the data does not need to be downloaded repeatedly, so that the loading speed of the 3D content is optimized, and the user experience is improved.
The present application will be described in detail below with reference to a number of examples and drawings.
First embodiment
A first embodiment of the present application provides a three-dimensional scene asset data loading method, which is described in detail below with reference to fig. 1.
Step S101: in response to detecting a need to load three-dimensional scene asset data, three-dimensional scene asset data that is required to be loaded to render the current three-dimensional space is determined as the required three-dimensional scene asset data.
This step is used to determine the three-dimensional scene asset data that needs to be loaded to render the current three-dimensional space.
The execution main body of the embodiment of the application can be a cloud, when the cloud is rendered, the cloud renders pictures of games and the like, the pictures are transmitted to the terminal in real time, the terminal transmits interaction between a game user and the terminal to the cloud, the cloud simulates the interaction between the game user and the terminal, and then the corresponding pictures are rendered. Meanwhile, the execution subject of the embodiment of the application can also be a streaming loading module of the terminal, in particular to a streaming loading module which determines the three-dimensional scene asset data required to be loaded for rendering the current three-dimensional space as the required three-dimensional scene asset data in response to the detection of the requirement for loading the three-dimensional scene asset data. The three-dimensional scene asset data includes texture data, grid data (also called model data), checkpoint data and the like, and specifically may be a model, texture, sound effect, checkpoint and the like. The embodiment of the application mainly performs rendering at a terminal, such as a mobile phone terminal.
The streaming loading refers to a technology for dividing different loading priorities according to factors such as visual contribution degree, attribute, importance and the like of a model, so that dynamic loading and unloading of model data are performed. For example, during the loading process of the web page, the data is analyzed by the browser while being transmitted, rather than waiting until all the data is transmitted. This transmission is partly parsed and partly typeset and partly displayed, called streaming loading. Streaming loading, also known as dynamic resource loading, is the dynamic loading of resources. For example, when loading a large scene, the user should not wait for the loading of all resources at the beginning of the game for a long time, scene resources near the user should be loaded preferentially, and during the game, the rest of the resources are loaded in the background without affecting the operation until all the resources are loaded.
In the embodiment of the present application, please refer to fig. 2, fig. 2 is a flowchart of a three-dimensional scene asset data loading process according to a first embodiment of the present application. Before the streaming load module determines the three-dimensional scene asset data to be loaded required to render the current three-dimensional space in response to detecting the need to load the three-dimensional scene asset data, the method further comprises: step S201: in response to detecting a trigger to start the three-dimensional rendering engine; step S202: starting multithreading to load three-dimensional scene asset data; step S203: generating a plurality of requests for reading the three-dimensional scene asset file in the loading process, wherein each request comprises an offset address in the three-dimensional scene asset file and the number of bytes read; step S204: data is requested from the streaming load module according to the offset address. The offset address is the offset of a certain address in a segment relative to the segment head address (segment address) after the memory in the computer is segmented. The multiple requests for file reading are generated because the program generates a request for reading the disk by downloading the resource to the disk, and in the embodiment of the present application, the request for reading the remote byte stream. File systems typically need to provide an offset address in the file and the data to be read, e.g., 100-200 bytes. The data request may specifically be a data request sent according to an API (application program interface (Application Programming Interface; API, also called application programming interface) such as http range request, step S205 refers to an interval number cache index, and this and subsequent processes will be described later, which will not be further described herein.
Step S102: and obtaining low-data-volume required three-dimensional scene asset data meeting the current three-dimensional space rendering requirement, wherein the data volume of the low-data-volume required three-dimensional scene asset data is smaller than that of the high-data-volume required three-dimensional scene asset data, and the high-data-volume required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space.
The step is a process that a streaming loading module of a terminal, namely a client, obtains required three-dimensional scene asset data with low data volume which meets the rendering requirement of the currently required rendering three-dimensional space. In this embodiment of the present application, when the required three-dimensional scene asset data is acquired, the required three-dimensional scene asset data with low data volume is firstly acquired in a 3D asset package in a streaming manner, and then the required three-dimensional scene asset data with high data volume is acquired.
In the embodiment of the application, the method for obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement comprises the following steps: acquiring three-dimensional scene asset data meeting a first precision requirement and loading the three-dimensional scene asset data meeting the first precision requirement; in the process of carrying out the loading processing on the three-dimensional scene asset data meeting the first precision requirement, obtaining three-dimensional scene asset data meeting the second precision requirement; or, obtaining the three-dimensional scene asset data in the preset area and loading the three-dimensional scene asset data in the preset area. Similarly, in the embodiment of the application, when three-dimensional scene asset data with different precision requirements are obtained, three-dimensional scene asset data meeting the first precision requirement is firstly read in a streaming manner from the inside of one 3D asset package, and three-dimensional scene asset data meeting the second precision requirement is gradually read in a streaming manner after entering a scene.
Here, the first precision requirement is a low precision requirement, the second precision requirement is a high precision requirement, and the preset area is an area within the current field of view. Referring to fig. 3a and 3b, fig. 3a is a schematic view illustrating a far-view angle of an image during a texture data loading process according to a first embodiment of the present application; fig. 3b is a schematic view of a near-sighted angle of an image during a texture data loading process according to a first embodiment of the present application. After the three-dimensional scene asset data of the far view angle is determined to be rendered, the low-precision asset data packet can be downloaded first, then the low-precision asset data packet can be loaded into the map, and the high-precision asset data can be downloaded simultaneously or later. Or after the three-dimensional scene asset data required to be loaded for rendering the current three-dimensional space is determined, only model data in the visual field is loaded, and model data not in the visual field can be unloaded. Or, for the game user, only loading the area of the gate where the user enters and the model data in the current field of view of the user according to the position of the game user, and unloading or hiding the area or the gate after the user leaves.
In the embodiment of the application, the method for obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement comprises the following steps: and obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from the local cache.
And after the streaming loading module receives the request, obtaining the required three-dimensional scene asset data with low data volume which meets the rendering requirement of the current required rendering three-dimensional space. It should be noted that, the data amount of the low data amount required three-dimensional scene asset data is smaller than the data amount of the high data amount required three-dimensional scene asset data, which is the complete three-dimensional scene asset data required for rendering the current three-dimensional space. For example, for the level streaming data, the low data amount of the required three-dimensional scene asset data may be the level or area where the player is currently located, while the high data amount of the required three-dimensional scene asset data is all level data of the game played by the player. When the level is streamed, under the condition of entering a scene for the first time, objects in different sub-levels are displayed progressively, and only the data corresponding to the position and the field of view of the current game player are needed to be loaded, and the data corresponding to the whole game world is not needed; for texture streaming data, the low data volume required three-dimensional scene asset data may be texture data that uses low resolution when the camera is far from the object and high resolution texture data to preserve detail when the object is close. In implementation, texture data may be progressively loaded from blur to sharpness into the engine during initial scene entry, for example, according to the distance of the object from the camera: initially, a distant object only loads 128 x 128 resolution textures, and when approaching, loads 512 x 512 resolution textures; for model data, the low data volume required three-dimensional scene asset data may be model data within a current field of view in the game, while the high data volume required three-dimensional scene asset data may be model data required for the entire game scene.
It should be noted here that, although both the grid body streaming and the checkpoint streaming can stream data in the current field of view, the granularity of the grid body streaming is different, and the grid body streaming controls the level of detail of each grid body, and whether the checkpoint streaming controls the checkpoint to be displayed/hidden (loaded/unloaded). As can be seen from the above, the texture streaming/gate streaming and the grid streaming are asynchronous resource loading techniques, which can display a relatively rough or incomplete scene after a player enters the scene, and then asynchronously load and display resources (fine textures, streaming sub-gates and high-precision grids) into the scene, so as to achieve a better effect. Therefore, the embodiment of the application can load the needed three-dimensional scene asset data with low data volume as required, namely, the resources which are needed to be displayed when entering the checkpoint are loaded according to the loading logic as required, and the unused resources in the asset package or the resources which can be loaded through streaming are not loaded.
In a specific implementation, the obtaining, from the local cache, the required three-dimensional scene asset data with a low data volume that meets the current three-dimensional space rendering requirement includes: judging whether the local cache stores the required three-dimensional scene asset data with low data volume which meets the current three-dimensional space rendering requirement or not; if it is determined that the local cache stores the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement, obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from the local cache; if it is determined that the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement does not exist in the local cache, acquiring the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from a remote storage module.
The obtaining, from a remote storage module, required three-dimensional scene asset data of a low data volume that meets current three-dimensional space rendering requirements, comprising: transmitting a three-dimensional scene asset data request message for acquiring required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement to the remote storage module; and obtaining the required three-dimensional scene asset data with the low data volume returned by the remote storage module.
The method for judging whether the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement is stored in the local cache further comprises the following steps: if it is determined that part of the low-data-volume required three-dimensional scene asset data meeting the current three-dimensional space rendering requirement is stored in the local cache, acquiring the cached low-data-volume required three-dimensional scene asset data from the local cache, acquiring the uncached low-data-volume required three-dimensional scene asset data from the remote storage module, and splicing the cached low-data-volume required three-dimensional scene asset data with the uncached low-data-volume required three-dimensional scene asset data to serve as the low-data-volume required three-dimensional scene asset data meeting the current three-dimensional space rendering requirement.
It should be noted that, the required three-dimensional scene asset data with low data volume, which meets the current three-dimensional space rendering requirement, acquired from the remote storage module, or the required three-dimensional scene asset data with low data volume, which is not cached, acquired from the remote storage module, is added into the local cache, and the interval tree index of the local cache is updated. Wherein the remote storage module comprises: a content delivery network (CDN, content Delivery Network, i.e., a content delivery network) or a proprietary file server. The basic idea of the CDN is to avoid bottlenecks and links on the internet that may affect the data transmission speed and stability as much as possible, so that the content transmission is faster and more stable. Through a layer of intelligent virtual network formed by node servers placed everywhere in the network and based on the existing internet, the CDN system can redirect the user's request to the service node nearest to the user in real time according to the network flow and the comprehensive information of the connection of each node, the load condition, the distance to the user, the response time and the like. The method aims to enable the user to obtain the required content nearby, solve the problem of congestion of the Internet network and improve the response speed of the user for accessing the website.
An Interval Tree (Interval Tree) is a balanced binary search Tree for efficiently processing Interval data. Its main purpose is to solve the one-dimensional interval query problem, i.e. to find all intervals in a set of intervals that overlap a given interval or point. Interval trees are widely used in various fields such as computing geometry, bioinformatics, database systems, computer graphics, and the like. The interval tree is an index which can quickly inquire which intervals in a file have caches and which intervals have no caches. According to the embodiment of the application, the data downloaded in the streaming mode is cached in an efficient mode through the interval tree, and the data is not required to be downloaded repeatedly when the data enter the same scene for the second time.
The above is three cases, namely, after the streaming load module receives the request, the streaming load module queries whether the currently requested data is cached through the local cache, and specifically please continue to refer to fig. 2, step S206: requesting responsive data from the CDN or a dedicated file server if not cached; step S207: if it has already been cached, read the data from the local cache; step S208: if part of the data is cached, the part which is not cached is downloaded from the remote storage module, the cached part is read and then spliced, and the cached part is used as the needed three-dimensional scene asset data with low data volume which meets the rendering requirement of the current needed rendering three-dimensional space. In addition, in the embodiment of the present application, step S209: the newly downloaded data is added into a local cache, the cached index is updated, the address interval of the newly downloaded data is recorded in an interval tree, the cached index is realized through the interval tree, and the fragmented cached data can be efficiently inquired. Therefore, the method of the embodiment of the application can add the needed three-dimensional scene asset data with low data volume acquired from the remote storage into the local cache for efficient cache, and the data does not need to be repeatedly downloaded when entering the same scene for the second time.
Step S103: the low data volume required three-dimensional scene asset data is loaded into the current three-dimensional space.
This step is used to load the acquired low data volume required three-dimensional scene asset data into the current three-dimensional space. Referring to fig. 4, fig. 4 is a schematic diagram showing differences between the three-dimensional scene asset data loading method according to the first embodiment of the present application and the conventional method in an execution time line, wherein in fig. 4, the upper time line is the execution time of the conventional scheme, and the lower time line is the execution time of the scheme according to the embodiment of the present application. By comparing the scheme of the embodiment of the application with the prior art scheme on the execution time line, the original scheme needs to wait for the whole 3D asset pack to be downloaded before loading the map, the character, the transportation means and other assets, and the waiting time for the checkpoint to start is longer.
According to the method for loading the asset data of the three-dimensional scene, streaming loading of the 3D checkpoint is achieved through streaming request data from a remote (CDN or a dedicated file server), and the data required to be downloaded for checkpoint opening are obviously reduced by matching with the techniques of checkpoint streaming, LOD streaming, texture streaming and the like, so that the opening speed of the 3D scene is improved. Meanwhile, the data downloaded in the streaming mode is cached in an efficient mode through the interval tree, and the data does not need to be downloaded repeatedly when the same scene is accessed for the second time.
The embodiment of the application provides a method for loading three-dimensional scene asset data, which comprises the following steps: in response to detecting a need to load three-dimensional scene asset data, determining three-dimensional scene asset data to be loaded required to render the current three-dimensional space as the required three-dimensional scene asset data; obtaining low-data-volume required three-dimensional scene asset data meeting current three-dimensional space rendering requirements, wherein the data volume of the low-data-volume required three-dimensional scene asset data is smaller than that of high-data-volume required three-dimensional scene asset data, and the high-data-volume required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space; the low data volume required three-dimensional scene asset data is loaded into the current three-dimensional space.
According to the method for loading the three-dimensional scene asset data, the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement can be obtained according to the requirement of the three-dimensional scene asset data required to be loaded in the current three-dimensional space, the required three-dimensional scene asset data with low data volume is loaded in the current three-dimensional space, the loading time of the three-dimensional scene asset data is effectively shortened, and the loading speed of a scene is improved; meanwhile, when the required three-dimensional scene asset data with low data volume does not exist in the local cache, the required three-dimensional scene asset data with low data volume can be acquired from the remote storage, the required three-dimensional scene asset data with low data volume acquired from the remote storage can be added into the local cache to be efficiently cached, and when the same scene is accessed for the second time, the data does not need to be downloaded repeatedly, so that the loading speed of the 3D content is optimized, and the user experience is improved.
Second embodiment
In the foregoing first embodiment, a method for loading three-dimensional scene asset data is provided, and correspondingly, a second embodiment of the present application provides a method for providing three-dimensional scene asset data, where the same content parts as those of the first embodiment are not described in detail, please refer to the corresponding parts in the first embodiment.
Referring to fig. 5, a flowchart of a three-dimensional scene asset data providing method according to a second embodiment of the present application is shown.
Step S501: and obtaining a three-dimensional scene asset data request message which is sent by a streaming loading module of the client and is used for requesting to obtain the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement.
The execution main body of the embodiment of the application is a remote storage module, in particular a three-dimensional scene asset data request message which is sent by a streaming loading module of a remote storage module acquisition client and used for requesting acquisition of required three-dimensional scene asset data with low data volume and meeting the current three-dimensional space rendering requirement, wherein the remote storage module comprises a CDN or a dedicated file server.
Step S502: according to the three-dimensional scene asset data request message, obtaining required three-dimensional scene asset data with low data volume which meets the current three-dimensional space rendering requirement;
The remote storage module obtains the required three-dimensional scene asset data with low data volume which meets the current three-dimensional space rendering requirement according to the three-dimensional scene asset data request message.
Step S503: and returning the required three-dimensional scene asset data with the low data volume to a streaming loading module of the client.
The step is used for returning the needed three-dimensional scene asset data with low data volume to the streaming loading module of the client.
Third embodiment
In the first embodiment, a method for loading three-dimensional scene asset data is provided, and correspondingly, a third embodiment of the present application provides a device for loading three-dimensional scene asset data. Since the apparatus embodiment is substantially similar to the first embodiment of the method, the description is relatively simple, and reference is made to the description of the method embodiment for relevant points. The device embodiments described below are merely illustrative.
Referring to fig. 6, a schematic diagram of a three-dimensional scene asset data loading device according to a third embodiment of the present application is shown.
The three-dimensional scene asset data loading device 600 includes:
a determining unit 601, configured to determine, as required three-dimensional scene asset data, three-dimensional scene asset data required to be loaded for rendering a current three-dimensional space in response to detection of a need to load the three-dimensional scene asset data;
A first obtaining unit 602, configured to obtain low-data-amount required three-dimensional scene asset data that meets a current three-dimensional space rendering requirement, where the low-data-amount required three-dimensional scene asset data has a data amount that is less than a data amount of high-data-amount required three-dimensional scene asset data, and the high-data-amount required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space;
and a loading unit 603, configured to load the required three-dimensional scene asset data with the low data volume into a current three-dimensional space.
Fourth embodiment
In the second embodiment described above, there is provided a three-dimensional scene asset data providing method, and in correspondence therewith, a fourth embodiment of the present application provides a three-dimensional scene asset data providing apparatus. Since the apparatus embodiment is substantially similar to the second embodiment of the method, the description is relatively simple, and reference is made to the description of the method embodiment for relevant points. The device embodiments described below are merely illustrative.
Referring to fig. 7, a schematic diagram of a three-dimensional scene asset data providing apparatus according to a fourth embodiment of the present application is shown.
The three-dimensional scene asset data providing apparatus 700 includes:
A second obtaining unit 701, configured to obtain a three-dimensional scene asset data request message sent by a streaming loading module of a client, where the three-dimensional scene asset data request message is used for requesting to obtain required three-dimensional scene asset data with a low data volume that meets a current three-dimensional space rendering requirement;
a third obtaining unit 702, configured to obtain, according to the three-dimensional scene asset data request message, required three-dimensional scene asset data with a low data volume that meets a current three-dimensional space rendering requirement;
and the return unit 703 is configured to return the required three-dimensional scene asset data with the low data volume to the streaming loading module of the client.
Fifth embodiment
The fifth embodiment of the present application also provides an electronic device corresponding to the above-described method embodiment of the present application. Fig. 8 is a schematic diagram of an electronic device according to a fifth embodiment of the present application. The electronic device includes: at least one processor 801, at least one communication interface 802, at least one memory 803, and at least one communication bus 804; alternatively, the communication interface 802 may be an interface of a communication module, such as an interface of a GSM module; the processor 801 may be a processor CPU or a specific integrated circuit ASIC (Application Specific Integrated Circuit) or one or more integrated circuits configured to implement embodiments of the present application. The memory 803 may comprise a high-speed RAM memory or may further comprise a non-volatile memory (non-volatile memory), such as at least one magnetic disk memory. The memory 803 stores a program, and the processor 801 calls the program stored in the memory 803 to execute the method provided in the above embodiment of the present application.
Sixth embodiment
The sixth embodiment of the present application also provides a computer storage medium corresponding to the above-described method of the present application. The computer storage medium stores a computer program that is executed by a processor to perform the method provided in the above-described embodiments of the present application.
While the application has been described in terms of preferred embodiments, it is not intended to be limiting, but rather, it will be apparent to those skilled in the art that various changes and modifications can be made herein without departing from the spirit and scope of the application as defined by the appended claims.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
1. Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer readable media, as defined herein, does not include non-transitory computer readable media (transmission media), such as modulated data signals and carrier waves.
2. It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
It should be noted that, in the embodiment of the present application, the use of user data may be involved, and in practical application, the user specific personal data may be used in the solution described herein within the scope allowed by the applicable legal regulations in the country under the condition of meeting the applicable legal regulations in the country (for example, the user explicitly agrees to the user to notify practically, etc.).
It should be noted that, the user information (including but not limited to user equipment information, user personal information, etc.) and the data (including but not limited to data for analysis, stored data, presented data, etc.) related to the present application are information and data authorized by the user or fully authorized by each party, and the collection, use and processing of the related data need to comply with the related laws and regulations and standards of the related country and region, and provide corresponding operation entries for the user to select authorization or rejection.

Claims (13)

1. A method for loading three-dimensional scene asset data, comprising:
in response to detecting a need to load three-dimensional scene asset data, determining three-dimensional scene asset data to be loaded required to render the current three-dimensional space as the required three-dimensional scene asset data;
obtaining low-data-volume required three-dimensional scene asset data meeting current three-dimensional space rendering requirements, wherein the data volume of the low-data-volume required three-dimensional scene asset data is smaller than that of high-data-volume required three-dimensional scene asset data, and the high-data-volume required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space;
the low data volume required three-dimensional scene asset data is loaded into the current three-dimensional space.
2. The method of claim 1, wherein obtaining the required three-dimensional scene asset data of a low data volume that meets the current three-dimensional space rendering requirement comprises:
acquiring three-dimensional scene asset data meeting a first precision requirement and loading the three-dimensional scene asset data meeting the first precision requirement; in the process of carrying out the loading processing on the three-dimensional scene asset data meeting the first precision requirement, obtaining three-dimensional scene asset data meeting the second precision requirement;
Or, obtaining the three-dimensional scene asset data in the preset area and loading the three-dimensional scene asset data in the preset area.
3. The method of claim 1, wherein obtaining the required three-dimensional scene asset data of a low data volume that meets the current three-dimensional space rendering requirement comprises:
and obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from the local cache.
4. A method of loading three-dimensional scene asset data according to claim 3, wherein said obtaining from a local cache required three-dimensional scene asset data of low data volume meeting current three-dimensional space rendering requirements comprises:
judging whether the local cache stores the required three-dimensional scene asset data with low data volume which meets the current three-dimensional space rendering requirement or not;
if it is determined that the local cache stores the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement, obtaining the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from the local cache; if it is determined that the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement does not exist in the local cache, acquiring the required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement from a remote storage module.
5. The method of three-dimensional scene asset data loading according to claim 4, wherein said obtaining from a remote storage module required three-dimensional scene asset data of low data volume meeting current three-dimensional space rendering requirements comprises:
transmitting a three-dimensional scene asset data request message for acquiring required three-dimensional scene asset data with low data volume meeting the current three-dimensional space rendering requirement to the remote storage module;
and obtaining the required three-dimensional scene asset data with the low data volume returned by the remote storage module.
6. The method for loading three-dimensional scene asset data according to claim 4, wherein said determining whether the required three-dimensional scene asset data of low data volume satisfying the current three-dimensional space rendering requirement is stored in the local buffer, further comprises:
if it is determined that part of the low-data-volume required three-dimensional scene asset data meeting the current three-dimensional space rendering requirement is stored in the local cache, acquiring the cached low-data-volume required three-dimensional scene asset data from the local cache, acquiring the uncached low-data-volume required three-dimensional scene asset data from the remote storage module, and splicing the cached low-data-volume required three-dimensional scene asset data with the uncached low-data-volume required three-dimensional scene asset data to serve as the low-data-volume required three-dimensional scene asset data meeting the current three-dimensional space rendering requirement.
7. The three-dimensional scene asset data loading method of claim 6, further comprising:
and adding the required three-dimensional scene asset data with low data volume, which is acquired from the remote storage module and meets the current three-dimensional space rendering requirement, or adding the required three-dimensional scene asset data with low data volume, which is acquired from the remote storage module and is not cached, into the local cache, and updating the interval tree index of the local cache.
8. The three-dimensional scene asset data providing method according to claim 4, wherein the remote storage module comprises: a content distribution network or a file server.
9. A three-dimensional scene asset data providing method, comprising:
a three-dimensional scene asset data request message which is sent by a streaming loading module of a client and used for requesting to obtain the required three-dimensional scene asset data with low data volume and meeting the current three-dimensional space rendering requirement is obtained;
according to the three-dimensional scene asset data request message, obtaining required three-dimensional scene asset data with low data volume which meets the current three-dimensional space rendering requirement;
and returning the required three-dimensional scene asset data with the low data volume to a streaming loading module of the client.
10. A three-dimensional scene asset data loading device, comprising:
a determining unit configured to determine, as required three-dimensional scene asset data, three-dimensional scene asset data required to be loaded for rendering the current three-dimensional space in response to detection of a need to load the three-dimensional scene asset data;
a first obtaining unit, configured to obtain low-data-amount required three-dimensional scene asset data that meets a current three-dimensional space rendering requirement, where the low-data-amount required three-dimensional scene asset data has a data amount that is less than a data amount of high-data-amount required three-dimensional scene asset data, and the high-data-amount required three-dimensional scene asset data is complete three-dimensional scene asset data required for rendering the current three-dimensional space;
and the loading unit is used for loading the required three-dimensional scene asset data with the low data volume into the current three-dimensional space.
11. A three-dimensional scene asset data providing apparatus, comprising:
the second obtaining unit is used for obtaining a three-dimensional scene asset data request message which is sent by the streaming loading module of the client and is used for requesting to obtain the required three-dimensional scene asset data with low data volume and meeting the current three-dimensional space rendering requirement;
A third obtaining unit, configured to obtain, according to the three-dimensional scene asset data request message, required three-dimensional scene asset data with a low data volume that meets a current three-dimensional space rendering requirement;
and the return unit is used for returning the needed three-dimensional scene asset data with the low data volume to the streaming loading module of the client.
12. An electronic device comprising a processor and a memory;
the memory having stored therein a computer program which, when executed by the processor, performs the method of any of claims 1-9.
13. A computer storage medium, characterized in that the computer storage medium stores a computer program which, when executed by a processor, performs the method of any of claims 1-9.
CN202310931514.8A 2023-07-26 2023-07-26 Three-dimensional scene asset data loading method and three-dimensional scene asset data providing method Pending CN117150160A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310931514.8A CN117150160A (en) 2023-07-26 2023-07-26 Three-dimensional scene asset data loading method and three-dimensional scene asset data providing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310931514.8A CN117150160A (en) 2023-07-26 2023-07-26 Three-dimensional scene asset data loading method and three-dimensional scene asset data providing method

Publications (1)

Publication Number Publication Date
CN117150160A true CN117150160A (en) 2023-12-01

Family

ID=88906968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310931514.8A Pending CN117150160A (en) 2023-07-26 2023-07-26 Three-dimensional scene asset data loading method and three-dimensional scene asset data providing method

Country Status (1)

Country Link
CN (1) CN117150160A (en)

Similar Documents

Publication Publication Date Title
JP6901623B2 (en) Game rendering method, game resource file generation method, devices and devices that realize the method
US10311548B2 (en) Scaling render targets to a higher rendering resolution to display higher quality video frames
CN113010818B (en) Access current limiting method, device, electronic equipment and storage medium
CN110990516B (en) Map data processing method, device and server
CN107197359B (en) Video file caching method and device
CN109992406B (en) Picture request method, picture request response method and client
US20110069065A1 (en) Image processing apparatus, computer readable medium and method thereof
CN115086706B (en) Data caching method and chip
CN112905113A (en) Data access processing method and device
CN112423111A (en) Graphic engine and graphic processing method suitable for player
CN114564630A (en) Method, system and medium for visualizing graph data Web3D
CN117130792B (en) Processing method, device, equipment and storage medium for cache object
CN114170365A (en) System and method for accelerated ray tracing using asynchronous operations and ray transformation
CN115640138B (en) Method and apparatus for ray tracing scheduling
CN117150160A (en) Three-dimensional scene asset data loading method and three-dimensional scene asset data providing method
WO2023125875A1 (en) Correlation-based streaming method for game data
CN109582417A (en) A kind of method for showing interface, client and picture servers
CN106919696A (en) SEO websites construction method and the response method of SEO requests
CN116366876A (en) Method and system for deploying and scheduling film and television resources under Bian Yun collaborative scene
US11012531B2 (en) Systems and methods for culling requests for hierarchical level of detail content over a communications network
CN104378396A (en) Data management device and method
CN115495020A (en) File processing method and device, electronic equipment and readable storage medium
CN110347950B (en) Display method and system of mobile terminal web map
CN114492776A (en) Data processing method and device and storage medium
CN112765503A (en) Static processing method and device for page loading data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination