US2025235781A1PendingUtilityA1

Data processing method and server based on voxel data, medium and computer program product

Assignee: SHANGHAI LILITH INTERACTIVE ENTERTAINMENT NETWORK TECH CO LTDPriority: Oct 15, 2021Filed: Oct 14, 2022Published: Jul 24, 2025
Est. expiryOct 15, 2041(~15.2 yrs left)· nominal 20-yr term from priority
G06T 15/00G06T 15/005A63F 13/52G06T 15/08A63F 13/35G06T 2210/52G06T 17/00
41
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The present invention provides a data processing method and server based on voxel data, a medium, and a computer program product. Pixel data is converted into voxel data, and this is highly compatible with a GPU operation. Layer data and connection data are designed from the voxel data, and a parallel computing speed is faster by using the layer data and the connection data, so that compared with the existing CPU computing mode, the performance of the GPU-based data computing solution is 2 to 3 orders of magnitude higher than that of the CPU-based computing mode, making the AI algorithm more refined and higher anthropomorphic. In the dynamic update process, due to the fast parallel computing speed, the data of the global super-large map of the game can be quickly updated. The entire set of data is divided into static data that occupies a large memory and dynamic data that occupies a small memory, so that the video memory space occupied during the entire game process is small, and the time used to refresh the dynamic data each time is also extremely short, making the game smoother.

Claims

exact text as granted — not AI-modified
1 . A data processing method based on voxel data, wherein the method comprises the following steps:
 in a x, y, z three-dimensional space, taking a base plane of z=z′, wherein there are multiple base points on the base plane; and forming multiple base columns by using the base point as a bottom point and using a z coordinate as a height, wherein there are L element points on each base column;   accessing the base columns in parallel in a GPU, traversing each element point on the base column in each parallel thread, reaching a voxel point corresponding to the element point by indexing according to the voxel data, and determining whether the voxel point is a hollow point or a solid point;   collecting a continuous hollow point segment on each base column, and if a height of the continuous hollow point segment is greater than or equal to a first preset height, defining the continuous hollow point segment as a voxel layer; and   obtaining a positional relationship between each voxel layer on each base column and each voxel layer on the adjacent base column by calculation, and if there is an overlapping part between the two voxel layers in a height direction, determining that there is connection data between the two voxel layers, so that an operation object passes between the two voxel layers; wherein   the voxel point, the voxel layer, and the connection data constitute a three-dimensional space based on voxel data.   
     
     
         2 . The method according to  claim 1 , wherein if a height of the overlapping part is smaller than the first preset height, it is determined that the connection data is impassable connection data, and it indicates that the operation object cannot pass between the two voxel layers; and if a height of the overlapping part is greater than or equal to the first preset height, it is determined that the connection data is passable connection data, and it indicates that the operation object can pass between two voxel layers. 
     
     
         3 . The method according to  claim 2 , wherein the first preset height is greater than or equal to a height of the operation object, and the two voxel layers comprise a first voxel layer and a second voxel layer, a height of the lowest element point of the first voxel layer is n, and a height of the lowest element point of the second voxel layer is f, wherein:
 if the height of the overlapping part is greater than or equal to the first preset height, and f−n≤a second preset height, it is determined that the passable connection data is first passable connection data, and it indicates that a passing manner in which the operation object passes from the first voxel layer to the second voxel layer comprises a first passing manner and a second passing manner;   if the height of the overlapping part is greater than or equal to the first preset height, and the second preset height<f−n≤a third preset height, it is determined that the passable connection data is second passable connection data, and it indicates that a passing manner in which the operation object passes from the first voxel layer to the second voxel layer comprises a third passing manner; and   if the height of the overlapping part is greater than or equal to the first preset height, and the third preset height<f−n≤a fourth preset height, it is determined that the passable connection data is third passable connection data, and it indicates that a passing manner in which the operation object passes from the first voxel layer to the second voxel layer comprises a fourth passing manner.   
     
     
         4 . The method according to  claim 3 , wherein the first passable connection data indicates that the passing manner in which the operation object passes from the first voxel layer to the second voxel layer further comprises a fifth passing manner. 
     
     
         5 . The method according to  claim 2 , wherein the operation object has a first posture and a second posture, a posture height of the first posture is greater than a posture height of the second posture, and the operation object further has a first action manner and a second action manner, the first preset height is greater than or equal to the posture height of the second posture of the operation object, and the two voxel layers comprise a first voxel layer and a second voxel layer, a height of the lowest element point of the first voxel layer is n, and a height of the lowest element point of the second voxel layer is f, wherein:
 if the height of the overlapping part≥the posture height of the first posture, and f−n≤a second preset height, it is determined that the passable connection data is fourth passable connection data, and it indicates that when the operation object passes from the first voxel layer to the second voxel layer, a posture of the operation object comprises the first posture and the second posture, and an action manner of the operation object comprises the first action manner;   if the posture height of the first posture>the height of the overlapping part≥the posture height of the second posture, and f−n≤the second preset height, it is determined that the passable connection data is fifth passable connection data, and it indicates that when the operation object passes from the first voxel layer to the second voxel layer, the posture of the operation object comprises the second posture, and an action manner of the operation object comprises the first action manner;   if the height of the overlapping part≥the posture height of the first posture, and the second preset height<f−n≤the third preset height, it is determined that the passable connection data is sixth passable connection data, and it indicates that when the operation object passes from the first voxel layer to the second voxel layer, the posture of the operation object comprises the first posture, and an action manner of the operation object comprises the second action manner; and   if the posture height of the first posture>the height of the overlapping part≥the posture height of the second posture, and the second preset height<f−n≤the third preset height, it is determined that the passable connection data is seventh passable connection data, and it indicates that when the operation object passes from the first voxel layer to the second voxel layer, the posture of the operation object comprises the second posture, and the action manner of the operation object comprises the second action manner.   
     
     
         6 . The method according to  claim 5 , wherein the operation object further has a third action manner, wherein:
 if the height of the overlapping part≥the posture height of the first posture, and the third preset height<f−n≤the fourth preset height, it is determined that the passable connection data is eighth passable connection data, and it indicates that when the operation object passes from the first voxel layer to the second voxel layer, the posture of the operation object comprises the first posture, and the action manner of the operation object comprises the third action manner.   
     
     
         7 . The method according to  claim 5 , wherein the operation object further has a third posture, a posture height of the third posture is less than the posture height of the second posture, and the first preset height greater than or equal to the posture height of the third posture of the operation object, wherein:
 the fourth passable connection data indicates that when the operation object passes from the first voxel layer to the second voxel layer, the posture of the operation object further comprises the third posture;   the fifth passable connection data indicates that when the operation object passes from the first voxel layer to the second voxel layer, the posture of the operation object also comprises the third posture;   if the posture height of the second posture>the height of the overlapping part≥the posture height of the third posture, and f−n≤the second preset height, it is determined that the passable connection data is ninth passable connection data, and it indicates that when the operation object passes from the first voxel layer to the second voxel layer, the posture of the operation object comprises the third posture, and the action manner of the operation object comprises the first action manner.   
     
     
         8 . The method according to  claim 1 , wherein the method further comprises the steps of: calculating a navigation path through which the operation object passes from a starting-point voxel layer to an ending-point voxel layer in the three-dimensional space according to the connection data. 
     
     
         9 . The method according to  claim 8 , wherein
 the navigation path obtained by calculation is a path with a shortest distance or a smallest distance cost, and the distance cost is the cost required for the operation object to pass through a distance corresponding to the navigation path; or,   the navigation path obtained by calculation is a path with a smallest action cost, and the action cost is the cost required for the operation object to take the passing manner; or,   the navigation path obtained by calculation is a path that a sum of the distance cost and the action cost is smallest.   
     
     
         10 . The method according to  claim 9 , wherein,
 the ending-point voxel layer comprises a task-free ending-point voxel layer and a task-containing ending-point voxel layer, wherein:   a distance cost between a current position of the operation object and the task-free ending-point voxel layer is obtained by calculation in real time, and when the distance cost obtained by calculation is 0, it is considered that the operation object has reached the task-free ending-point voxel layer; and   when the operation object triggers a task at the current voxel layer, it is considered that the task-containing ending-point voxel layer has been reached.   
     
     
         11 . The method according to  claim 10 , wherein the task comprises a first task and a second task; and that when the operation object triggers a task in the current voxel layer, it is considered that the task-containing ending-point voxel layer has been reached comprises:
 when a distance between the operation object and the target object does not exceed a preset distance and a ray detection result is passable, the first task is triggered, and the target object is an object capable of interacting with the operation object; and   when a configuration parameter value of the operation object is lower than a preset configuration parameter value, and a current voxel layer in which the operation object is located has a configuration parameter supply for increasing the configuration parameter value, the second task is triggered.   
     
     
         12 . The method according to  claim 11 , wherein that when the configuration parameter value of the operation object is lower than a preset configuration parameter value, and a current voxel layer in which the operation object is located has a configuration parameter supply for increasing the configuration parameter value, the second task is triggered comprises:
 when the configuration parameter value of the operation object is lower than a preset configuration parameter value, and a current voxel layer in which the operation object is located has a configuration parameter supply, and when a result of ray detection between the operation object and the target object is impassable, the second task is triggered.   
     
     
         13 . The method according to  claim 1 , wherein the three-dimensional space based on voxel data is applied to a game scene, original data of the game scene constitutes a pixel scene, the pixel scene comprises multiple different data types of scene elements, and the original data of the multiple types of scene elements is exported respectively;
 an expected side length of a unit voxel is set, and combined with a side length of the unit voxel, the original data of multiple types of scene elements is converted into voxel data respectively, wherein the voxel data represented in the game scene is represented as a voxel module; and   according to relative positions of the voxel modules of all the scene elements in the pixel scene, the voxel modules of all the scene elements are spliced to obtain the voxel scene.   
     
     
         14 . The method according to  claim 13 , wherein the game scene comprises a dynamic object, and types of all dynamic objects and offset coordinates of a contour point of each of different types of dynamic objects relative to a center point of the dynamic object are obtained;
 update coordinates of the refreshed contour point are obtained by calculation according to the coordinates of the center point of the refreshed dynamic object and the offset coordinates of the contour point; and   writing is performed at update positions of all contour points after the dynamic object is refreshed, and erasing is performed for original positions of all contour points before the dynamic object is refreshed, so as to complete dynamic refreshing of the dynamic object.   
     
     
         15 . The method according to  claim 14 , wherein the game scene further comprises a static object; during the game, a set of static data composed of the static object is reused, and dynamic refreshing of the dynamic object is continuously performed, and dynamic data composed of the dynamic object before refreshing is discarded each time dynamic refreshing performed. 
     
     
         16 . The method according to  claim 15 , wherein the scene elements of the game scene comprise terrain, vegetation, a building, and an outdoor decoration; the exporting the original data of the multiple types of scene elements respectively comprises:
 exporting 3D model file format data and coordinate information of the outdoor decoration and the building; exporting comma-separated value file format data of the vegetation; and orthogonally capturing by a depth camera to export a picture of the terrain, wherein the picture comprises surface height data of the terrain; and   the setting an expected side length of a unit voxel, and combined with the side length of the unit voxel, converting the original data of the multiple types of scene elements into voxel data respectively comprises:   converting the 3D model file format data of the outdoor decoration and the building into voxel data; obtaining a size of a collision body of the vegetation, combined with the side length of the unit voxel, obtaining a quantity of voxels that the vegetation needs to occupy in the voxel scene and a voxel shape by calculating; and according to the picture in which the surface height data of the terrain is stored, performing sampling point by point according to the side length of the unit voxel to convert the surface height data of the terrain into voxel data.   
     
     
         17 . A data processing server based on voxel data, wherein the server comprises a point capturing module, a comparison indexing module, a voxel layer data construction module and a connection data construction module;
 the point capturing module takes a base plane of z=z′ in a x, y, z three-dimensional space, wherein there are multiple base points on the base plane; the point capturing module forms multiple base columns by taking the base point as a bottom point and using a z coordinate as a height, wherein there are L element points on each base column;   the comparison indexing module accesses the base columns in parallel in a GPU, traverses each element point on the base column in each parallel thread, reaches a voxel point corresponding to the element point by indexing according to the voxel data, and determines whether the voxel point is a hollow point or a solid point;   the voxel layer data construction module collects a continuous hollow point segment on each base column, and if a height of the continuous hollow point segment is greater than or equal to a first preset height, defines the continuous hollow point segment as a voxel layer; and   the connection data construction module obtains a positional relationship between each voxel layer on each base column and each voxel layer on the adjacent base column by calculation, and if there is an overlapping part between the two voxel layers in a height direction, determines that there is connection data between the two voxel layers, so that an operation object passes between the two voxel layers; wherein   the voxel point, the voxel layer, and the connection data constitute a three-dimensional space based on voxel data.   
     
     
         18 . A computer-readable storage medium, storing instructions for data processing based on voxel data, wherein the instructions implement the following steps when executed:
 in a x, y, z three-dimensional space, taking a base plane of z=z′, wherein there are multiple base points on the base plane; and forming multiple base columns by using the base point as a bottom point and using a z coordinate as a height, wherein there are L element points on each base column;   accessing the base columns in parallel in a GPU, traversing each element point on the base column in each parallel thread, reaching a voxel point corresponding to the element point by indexing according to the voxel data, and determining whether the voxel point is a hollow point or a solid point;   collecting a continuous hollow point segment on each base column, and if a height of the continuous hollow point segment is greater than or equal to a first preset height, defining the continuous hollow point segment as a voxel layer; and   obtaining a positional relationship between each voxel layer on each base column and each voxel layer on the adjacent base column by calculation, and if there is an overlapping part between the two voxel layers in a height direction, determining that there is connection data between the two voxel layers, so that an operation object passes between the two voxel layers; wherein the voxel point, the voxel layer, and the connection data constitute a three-dimensional space based on voxel data.   
     
     
         19 . A computer program product, comprising a computer-executable instruction,
 wherein the instruction is executed by a processor to implement the following steps:   in a x, y, z three-dimensional space, taking a base plane of z=z′, wherein there are multiple base points on the base plane; and forming multiple base columns by using the base point as a bottom point and using a z coordinate as a height, wherein there are L element points on each base column;   accessing the base columns in parallel in a GPU, traversing each element point on the base column in each parallel thread, reaching a voxel point corresponding to the element point by indexing according to the voxel data, and determining whether the voxel point is a hollow point or a solid point;   collecting a continuous hollow point segment on each base column, and if a height of the continuous hollow point segment is greater than or equal to a first preset height, defining the continuous hollow point segment as a voxel layer; and   obtaining a positional relationship between each voxel layer on each base column and each voxel layer on the adjacent base column by calculation, and if there is an overlapping part between the two voxel layers in a height direction, determining that there is connection data between the two voxel layers, so that an operation object passes between the two voxel layers; wherein   the voxel point, the voxel layer, and the connection data constitute a three-dimensional space based on voxel data.

Join the waitlist — get patent alerts

Track US2025235781A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.