WO2023061364A1 - 建立模型的方法和相关装置 - Google Patents

建立模型的方法和相关装置 Download PDF

Info

Publication number
WO2023061364A1
WO2023061364A1 PCT/CN2022/124626 CN2022124626W WO2023061364A1 WO 2023061364 A1 WO2023061364 A1 WO 2023061364A1 CN 2022124626 W CN2022124626 W CN 2022124626W WO 2023061364 A1 WO2023061364 A1 WO 2023061364A1
Authority
WO
WIPO (PCT)
Prior art keywords
vertices
coordinates
vertex
model
candidate
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.)
Ceased
Application number
PCT/CN2022/124626
Other languages
English (en)
French (fr)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP22880301.1A priority Critical patent/EP4394714A4/en
Priority to US18/700,902 priority patent/US20240412457A1/en
Publication of WO2023061364A1 publication Critical patent/WO2023061364A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three-dimensional [3D] modelling for computer graphics
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Definitions

  • the embodiments of the present application relate to the field of computer graphics, and more specifically, to a method and a related device for establishing a model.
  • Rendering refers to the process of generating images from models with software.
  • a model is a strictly defined description of a three-dimensional object in a language or data structure, including information such as geometry, viewpoint, texture, lighting, and shadows.
  • the image is a digital image or a bitmap image.
  • the rendering process is the process of adding bitmap textures or procedural textures, lighting, bump texture mapping, and positions relative to other objects on the basis of the model, and the result is the complete image that consumers or observers can see.
  • the model of the three-dimensional object is not fully used to render the image for the consumer or viewer.
  • the model used to generate the image is also applied, it will increase the burden on the hardware. Therefore, how to simplify the model of 3D objects to adapt to different application scenarios is an urgent problem to be solved.
  • the embodiment of the present application provides a method and related device for establishing a model, which can establish a proxy model used to replace the original model to facilitate subsequent applications.
  • the embodiment of the present application provides a method for establishing a model, including: obtaining N coordinates, the N coordinates are the projection coordinates of the N vertices of the original model projected on the target plane, and N is greater than or equal to 3 Positive integer; according to the N coordinates, determine M vertices from the N vertices, where M is a positive integer greater than or equal to 3 and less than or equal to N; according to the projected coordinates of the M vertices and the height of the original model Information, build a proxy model corresponding to the original model.
  • a proxy model of the original model can be established by using the above technical solution. Compared with the original model, the proxy model retains the detailed information of the original model, but includes fewer vertices, so the structure is simpler. In this way, in some scenes that do not need to use the model to render images (such as collision detection, occlusion removal, shadow drawing), the proxy model with a simpler structure can be used to replace the original model. In this way, the calculation amount can be reduced, the application operation efficiency can be improved, and the user experience can be improved.
  • the acquisition of N coordinates includes: determining a plurality of candidate vertices according to the projection coordinates of the vertex projections included in the original model in the target plane, wherein , the projection coordinates of each candidate vertex projected in the target plane in the plurality of candidate vertices are located in a reference area, and the reference area is an area in which a preset ratio of vertices in the original model is projected in the target plane; from the The N vertices are determined among the plurality of candidate vertices; and the projection coordinates of the N vertices projected on the target plane are determined.
  • the vertices outside the reference area are usually the protruding parts of the object. Deleting these vertices has little effect on the function of the proxy model, but a proxy model with a simpler structure can be obtained.
  • a protrusion of building A obscures building B.
  • building B will be judged to be occluded by building A.
  • the model of building B will not be rendered.
  • the proxy model in the above technical solution deletes the vertices of the protruding part of the original model. In this way, when the proxy model is used for occlusion culling, the building B will be judged as not being occluded. Therefore, the model of building department B is rendered, so that the above-mentioned problem can be avoided.
  • the determining the N vertices from the plurality of candidate vertices includes: projecting each candidate vertex on the target plane according to the plurality of candidate vertices The projection coordinates in , determine N groups of candidate vertices, wherein each group of candidate vertices in the N groups of candidate vertices includes at least one vertex, and any two candidate vertices belonging to the same group have the same projection coordinates in the target plane, any Two candidate vertices belonging to different groups have different projection coordinates in the target plane; the N vertices are determined, and the N vertices respectively belong to the N groups of candidate vertices.
  • the above technical solution only retains one of the vertices, which can further reduce the number of vertices included in the proxy model.
  • the N vertices are respectively the vertices with the largest coordinate value in a reference direction among the N groups of candidate vertices, and the reference direction is a direction perpendicular to the target plane ;
  • the height information of the original model is the coordinate values of the M vertices in the reference direction.
  • the height information of the original model is the height information of a bounding box, and all vertices of the original model are located in the bounding box.
  • determining M vertices from the N vertices according to the N coordinates includes: traversing the N vertices according to the N coordinates, and The abnormal vertices among the N vertices are deleted to obtain the M vertices, wherein the angle between the first reference line and the second reference line is greater than the preset angle, and the first reference line is the abnormal vertices and the second reference line.
  • a connection line between adjacent points, the second reference line is the connection line between the abnormal vertex and the second adjacent point, the first adjacent point and the second adjacent point are among the N vertices The two vertices on both sides of the abnormal vertex and adjacent to the abnormal vertex.
  • Utilizing the above technical solution can further reduce the number of vertices included in the proxy model.
  • the number of abnormal vertices to be removed and the similarity between the proxy model and the original model can be controlled. For example, the smaller the preset angle, the more abnormal vertices need to be deleted, and the corresponding reduction in the number of vertices included in the proxy model, but the smaller the similarity between the proxy model and the original model; the larger the preset angle, the more vertices need to be deleted.
  • the number of vertices included in the proxy model is less, but the similarity between the proxy model and the original model is greater.
  • the purpose of generating a proxy model is to replace the original model with a complex structure, and the closer the structure of the proxy model is to the original model, the worse the effect of saving hardware resources; on the contrary, if the structure of the proxy model is simpler than the original model, then The better the decompression effect for hardware resources.
  • the structural gap between the proxy model and the original model is too large, the details of the original model cannot be preserved, which is not conducive to subsequent applications. Therefore, by choosing an appropriate preset angle, the details of the original model can be preserved, and hardware resources can also be saved.
  • establishing a proxy model corresponding to the original model according to the projection coordinates of the M vertices and the height information of the original model includes: according to the projection of the M vertices coordinates and the height information of the original model, determine the coordinates of the M top vertices located on the top surface of the proxy model and the coordinates of the M bottom vertices located on the bottom surface of the proxy model; according to the coordinates of the M top vertices and the M The coordinates of the bottom surface vertices determine the vertex index, and the vertex index is used to record the connection sequence of each vertex in the proxy model.
  • the proxy model includes the coordinates of the M top surface vertices, the coordinates of the M bottom surface vertices and the vertex index.
  • the vertex index may include a top index, a bottom index, and a side index.
  • the top face index is used to record the connection order of vertices on the top face
  • the bottom face index is used to record the connection order of vertices on the bottom face
  • the side index is used to record the connection order of vertices on the side faces.
  • the top surface index can be determined according to the coordinates of the M top surface vertices; the bottom surface index can be determined according to the coordinates of the M bottom surface vertices, and the side index can be determined according to the coordinates of the M top surface vertices and the M bottom surface vertices.
  • the coordinates are determined.
  • an embodiment of the present application provides a computer device, where the computer device includes a unit for implementing the first aspect or any possible implementation manner of the first aspect.
  • an embodiment of the present application provides a computer device, the computer device includes a processor, the processor is used to be coupled with a memory, read and execute instructions and/or program codes in the memory, so as to implement the first aspect or Any possible implementation of the first aspect.
  • an embodiment of the present application provides a chip system, the chip system includes a logic circuit, the logic circuit is used to couple with an input/output interface, and transmit data through the input/output interface to perform the first aspect or the first Any possible implementation of the aspect.
  • the embodiment of the present application provides a computer-readable storage medium, the computer-readable storage medium stores program codes, and when the computer storage medium is run on a computer, the computer executes the first aspect or the first aspect. any possible implementation of .
  • an embodiment of the present application provides a computer program product, the computer program product comprising: computer program code, when the computer program code is run on a computer, the computer is made to execute any of the first aspect or the first aspect.
  • a computer program product comprising: computer program code, when the computer program code is run on a computer, the computer is made to execute any of the first aspect or the first aspect.
  • Figure 2 is a schematic diagram of occlusion culling.
  • Fig. 3 is a schematic flow chart of a method for establishing a model according to an embodiment of the present application.
  • Fig. 4 is a schematic diagram of the vertex projection of the original model on the target plane.
  • Figure 5 Schematic diagram of the process of removing outlier vertices.
  • Fig. 6 is a schematic diagram of an agent model.
  • Fig. 7 is a schematic flowchart of an application scenario in which the method for building a model provided by the embodiment of the present application is applied.
  • Fig. 8 is a proxy model corresponding to the original model shown in Fig. 1 generated according to the method shown in Fig. 3 .
  • Fig. 9 is a schematic diagram of a computer device provided according to an embodiment of the present application.
  • Bounding box is an algorithm for solving the optimal enclosing space of discrete point sets. The basic idea is to approximately replace complex geometric objects with slightly larger and simpler geometric objects (called bounding boxes). Common bounding box algorithms include Axis Aligned Bounding Box (AABB), Bounding Sphere, Oriented Bounding Box (OBB), etc.
  • AABB Axis Aligned Bounding Box
  • BOB Oriented Bounding Box
  • a grid is a splicing of a series of triangular patches, including vertex coordinate data, index coordinate data, normal data, and texture coordinates (also called UV coordinates).
  • the vertex coordinate data stores the coordinates of all the spatial points required by the model, which are generally three-dimensional; then an index is generated for each spatial point, and every 3 indexes form a group of index coordinates, which is equivalent to selecting a certain 3 spatial points
  • the index coordinate data describes the composition of all triangle patches in the model
  • the normal data specifies the normal direction of each vertex
  • the UV coordinate specifies where the texture is "pasted" to the grid.
  • the model referred to in this article refers to a three-dimensional model.
  • the 3D model can be applied to scenarios such as animations and games.
  • the model can be divided into two parts: grid and texture.
  • the grid is composed of a series of triangular patches, which is equivalent to the "skeleton" of the model.
  • the texture includes the texture image and light map that comes with the model, which is equivalent to the "skin" of the model. .
  • Shaders are small programs that run on the GPU. These applets run for a specific part of the graphics rendering pipeline. In a basic sense, a shader is just a program that converts input into output. Different shaders are used in different processing parts of the rendering pipeline.
  • Occlusion culling refers to the removal of objects in the scene that are occluded by occluders. In this way, when rendering the scene, only models of objects that can be seen by the observer can be rendered. This reduces the amount of data transferred from the central processing unit (CPU) to the graphics processing unit (GPU), and also reduces the amount of computation in the vertex shader and fragment shader stages, ultimately reducing The number of visible objects, so as to achieve the purpose of optimizing performance and reducing GPU load.
  • CPU central processing unit
  • GPU graphics processing unit
  • Figure 2 is a schematic diagram of occlusion culling.
  • five buildings are included in the viewing frustum of the camera 201 , which are building 211 , building 212 , building 213 , building 214 and building 215 . If the observer is located where the camera 201 is located, the observer cannot see the occluded building 215 and building 213 . Therefore, when rendering the scene as shown in FIG. 2 , only the buildings that can be seen by the observer, that is, the building 211 , the building 212 and the building 214 may be rendered.
  • Collision detection refers to judging whether objects intersect (or include, coincide), calculate focus, predict intersection time, etc.
  • characters can move smoothly in the scene. When encountering steps within a certain height, they can automatically go up, while steps that are too high will block people; when encountering slopes with small slopes, they can go up. , if the slope is too large, people will be blocked.
  • the collider can be used to define the shape of the colliding object, which is convenient for collision detection.
  • Common colliders include box colliders, spherical colliders, capsule colliders, conforming colliders, grid colliders, static colliders, etc.
  • Shadow of the object In order to better simulate the realistic scene, when rendering the scene, the shadow of the object will be drawn. Object shadows can be achieved using shadow volumes. Volume shadow is a technology based on geometry. It needs the outline of the object under the light of a certain direction to generate a closed volume, and then the shadow part of the object in the scene can be determined by the projection of light.
  • the object's model is used for auxiliary purposes, not for rendering. Therefore, in these applications, it may not be necessary to use a model for generating images for viewing by an observer.
  • the model used to generate the image viewed by the co-observer is called the original model, and the model that plays an auxiliary role in applications such as occlusion culling, collision detection, or shadow generation is called the proxy model.
  • the present application provides a method for establishing a model, which can generate a corresponding proxy model according to the original model of the object. Compared with the original model, the structure of the proxy model is simpler, but the detailed information of the original model can still be preserved.
  • the embodiment of the present application will be introduced with reference to FIG. 1 and FIG. 3 .
  • Fig. 3 is a schematic flow chart of a method for establishing a model according to an embodiment of the present application.
  • the method shown in FIG. 3 may be implemented by computer equipment or components (such as chips, circuits, etc.) in the computer equipment.
  • the computer equipment referred to in the embodiment of the present application may be a desktop computer, a notebook computer, a tablet computer, a server, a mobile phone, a game machine (such as a game station (play station, PS), a Nintendo switch (Nintendo switch, NS), etc.) and other equipment.
  • a game machine such as a game station (play station, PS), a Nintendo switch (Nintendo switch, NS), etc.
  • the original model in FIG. 3 is the model of the building as shown in FIG. 1 .
  • the target plane can be any plane. But for the convenience of calculation, the target plane can usually be set as the bottom surface or the top surface of the object.
  • the projection coordinates of vertices on the target plane have the following three acquisition methods:
  • Scheme 1 determine the projected coordinates of each vertex on the target plane.
  • the projection coordinates determined in step 301 may be the projection coordinates of all vertices in the original model on the target plane. Assuming that the original model is used to render the building as shown in Figure 1, in this case, it is necessary to obtain the projection coordinates of 18709 vertices projected on the target plane.
  • Some vertices in the original model have the same coordinates on the target plane, but different coordinates in the direction perpendicular to the target plane.
  • the target plane is the bottom surface of a building
  • the coordinates of some vertices on the xy plane are the same, but the coordinates in the direction of the z axis are different.
  • vertices can be grouped according to their coordinates, each group of vertices including one or more vertices. If a group of vertices includes multiple vertices, then any two vertices in the group of vertices have the same coordinates on the xy plane, but different coordinates in the direction of the z axis.
  • any two vertices belonging to different groups have different coordinates on the xy plane. In this way, only the projection coordinates of one vertex in each group of vertices on the target plane can be determined.
  • 18709 vertices can be divided into 2655 groups of vertices. In the case of scheme 2, only 2655 projection coordinates need to be determined. In this way, the computational resources required for subsequent steps can be greatly simplified.
  • a reference area is determined according to the projection coordinates of all vertices of the original model on the target plane, and the projection coordinates of 95% of the vertices of the original model on the target plane are all within this reference area.
  • the projected coordinates of the vertices in the reference area can be obtained in the same way as the above scheme 1 to obtain the projected coordinates of each vertex; or like the above scheme 2, a group of vertices with the same projected coordinates can only retain the projected coordinates of one vertex.
  • the preset ratio can also be other values, for example, it can generally be set to be greater than or equal to 90% and less than or equal to 98%.
  • Vertices located outside the reference area are usually protruding parts of the object, and deleting these vertices has little effect on the function of the proxy model.
  • N is a positive integer greater than or equal to 3.
  • M is a positive integer greater than or equal to 3 and less than or equal to N.
  • the M vertices can be achieved through the following steps:
  • Step 1 determine the target vertex and two vertices adjacent to the target vertex (may be referred to as the first adjacent point and the second adjacent point respectively), and the target vertex can be any vertex in the N vertices;
  • Step 2 determine the first reference line and the second reference line, wherein the first reference line is the connecting line between the first adjacent point and the target vertex, and the second reference line is the target vertex and the second adjacent point the connection between
  • Step 3 determine whether the angle between the first reference line and the second reference line is greater than the preset angle, if the angle of the angle is greater than the preset angle, then the target vertex can be considered as an abnormal vertex, and can be Delete the abnormal vertex; if the included angle is less than or equal to the preset angle, then the target vertex can be retained;
  • Step 4 determine an adjacent point (for example, the first adjacent point) of the target vertex as a new target vertex, and then repeat steps 1 to 3 until all N vertices are traversed.
  • the target vertices that are finally retained are the M vertices.
  • the preset angle can be set to be greater than 90 degrees, and generally can be set to be greater than or equal to 140 degrees and less than or equal to 150 degrees.
  • FIG. 4 is a schematic diagram of the vertex projection of the original model on the target plane. Take the six vertices in the upper left corner as an example to introduce how to delete abnormal vertices.
  • FIG. 5 is a schematic diagram of the process of deleting abnormal vertices among the six vertices in the upper left corner shown in FIG. 4 . Assume the preset angle is 145 degrees.
  • the six vertices can be referred to as D1, D2, D3, D4, D5, and D6, respectively.
  • Use L12 to represent the connection between D1 and D2 use L61 to represent the connection between D6 and D1
  • use L23 to represent the connection between D2 and D3, and so on.
  • D1 is the target vertex
  • D2 and D6 respectively.
  • the included angle between L61 and L12 is less than 145 degrees. In this case, D1 can be retained.
  • the order of the vertices can be determined by the gift-wrapping algorithm or other algorithms for solving convex hull problems. For example, in some embodiments, assuming that a ray starting from D1 scans counterclockwise from the direction of 12 o'clock, the first vertex that overlaps with the ray during the scanning process is the vertex D2 adjacent to D1; continue scanning, the second The point overlapping with the ray is the vertex D3 adjacent to D2, and so on until the order of all vertices is determined.
  • D2 As the target vertex, and the two vertices adjacent to D2 are D1 and D3 respectively.
  • the angle of the included angle between L13 and L34 is determined and compared with the preset angle. Obviously, the included angle between L13 and L34 is less than 145 degrees. In this case, D3 can be retained.
  • D5 As the target vertex, and the two vertices adjacent to D5 are D4 and D6 respectively.
  • the height information of the original model is the height information perpendicular to the target plane.
  • Altitude information may include a maximum altitude and a minimum altitude.
  • the height information of the original model may be the height value of the bounding box of the original model.
  • a bounding box can be created first, and all vertices of the original model can be traversed, and the bounding box can be appropriately scaled so that the bounding box contains the original model all vertices.
  • the height information of the bounding box may be recorded.
  • the height information of the bounding box can be used as the height information of the original model.
  • the maximum height of the bounding box is the maximum height of the original model
  • the minimum height of the bounding box is the minimum height of the original model.
  • the maximum height of the height information of the original model may be the height values of the M vertices.
  • step 301 in scheme 2 and scheme 3, only the projection coordinates of one vertex on the target plane are reserved for each group of vertices.
  • the height value of the vertex with the highest height value in each group of vertices can also be determined and saved.
  • each of the N vertices obtained through step 301 has a corresponding height value.
  • the M vertices in step 302 are selected from the N vertices, each of the M vertices also has a corresponding height value.
  • the minimum height in the height information of the original model can be regarded as 0.
  • the three-dimensional coordinate data of each of the M vertices can be determined.
  • the three-dimensional coordinates of the M vertices located on the top surface of the proxy model can be determined.
  • the projection coordinates of the three-dimensional coordinates of the M vertices located on the top surface of the proxy model are respectively the projection coordinates of the M vertices, and the height value of the three-dimensional coordinates of the M vertices is the maximum height in the height information.
  • the three-dimensional coordinates of the M vertices located on the bottom surface of the proxy model can be determined.
  • the projection coordinates of the three-dimensional coordinates of the M vertices located on the bottom surface of the proxy model are respectively the projection coordinates of the M vertices, and the height value of the three-dimensional coordinates of the M vertices is the minimum height in the height information.
  • the vertex index is used to record the connection order of each vertex.
  • Vertex indices may include top indices, base indices, and side indices.
  • the top face index is used to record the connection order of vertices on the top face
  • the bottom face index is used to record the connection order of vertices on the bottom face
  • the side index is used to record the connection order of vertices on the side faces.
  • a proxy model corresponding to the original model can be constructed according to the coordinates of the vertices, the top surface index, the bottom surface index and the side surface index.
  • D1, D2, D3 and D4 in (a) in Figure 6 are the four vertices on the top surface determined according to the projection coordinates and height information, and D5, D6, D7 and D8 are based on the projection coordinates and the four vertices on the bottom surface determined by the height information.
  • (c) in Fig. 6 is a schematic diagram of a wrong connection on the side.
  • the top face index can be determined by the gift-wrapping algorithm or other algorithms for solving convex hull problems. Taking the four vertices of the top surface as an example, assuming that a ray starting from D1 scans counterclockwise from the direction of 12 o'clock, the first vertex overlapping with this ray during the scanning process is the vertex D2 adjacent to D1; continue scanning, the first The two points overlapping with the ray are the vertex D3 adjacent to D2, and continue scanning to obtain the next vertex D4. In this way, the connection sequence from D1 to D4 is determined, that is, the top surface index.
  • the method of determining the bottom surface index is the same as that of the top surface index, and for the sake of brevity, details will not be repeated here.
  • the three-dimensional coordinates of vertices with the same projected coordinates on the top and bottom surfaces differ only in the height coordinates. Therefore, the two vertices are related.
  • the next vertex can be found along the simplified direction of one of the vertices (for example, it can be the downward direction of the vertex). Construct the first triangle first.
  • the second triangular face is constructed with the upper and lower vertices (one of which is the vertex found in the previous simplification direction) and the hypotenuse of the first triangular face. This forms a side surface with two triangular faces. This way you get the correct plane.
  • the triangle facet vertex indices constitute the last facet index (order of facet vertices).
  • the projection coordinates of the vertex D1 and the vertex D5 are the same, therefore, the vertex D1 and the vertex D5 are a pair of associated vertices.
  • the simplified direction of vertex D5 is the direction from D5 to D6. Therefore, it can be determined that the next vertex is vertex D6.
  • a triangular surface composed of vertices D1, D5 and D6 (hereinafter referred to as triangular surface 1) can be determined.
  • the vertex D6 and the vertex D2 are a pair of associated vertices (that is, the projection coordinates of the vertex D6 and the vertex D2 are the same).
  • triangular face 2 Another triangular face (hereinafter referred to as triangular face 2 ) can be formed by using the vertices D6 and D2 and the hypotenuses (ie, the sides from D1 to D6 ) in the triangular face 1 . In this way, the order of vertices D1, D2, D5 and D6 is determined. Similarly, the order of the remaining vertices on the sides can be determined to get the side indices.
  • the proxy model can also be scaled according to specific applications. For example, in order to facilitate collision detection and reduce the occurrence of false judgments in collision detection, the proxy model can be enlarged appropriately. As another example, in occlusion culling, the proxy model can be appropriately reduced, which can reduce the occurrence of judging the model that needs to be rendered as the model that does not need to be rendered.
  • the proxy model can also be superimposed with the corresponding original model. In this way, the scale, height, etc. of the proxy model can be adjusted according to the overlay result.
  • Fig. 7 is a schematic flowchart of an application scenario in which the method for building a model provided by the embodiment of the present application is applied.
  • step 705 may be performed; if the expectation is met, step 706 may be performed.
  • Adjust data such as the size or height of the proxy model. After adjusting the size or height of the proxy model, it is possible to continue to judge whether the preview result of the proxy model meets expectations, and if it still does not meet expectations, it can continue to adjust the proxy model until it meets expectations.
  • some thresholds used in the process of generating the proxy model may also be adjusted to regenerate the proxy model.
  • the preset ratio used in step 301 for determining which vertices to acquire can be adjusted.
  • the preset angle used for judging the abnormal vertex in step 302 may be adjusted.
  • Fig. 8 is a proxy model corresponding to the original model shown in Fig. 1 generated according to the method shown in Fig. 3 .
  • the proxy model shown in Figure 8 has only 96 vertices and 60 triangles. Compared with the number of vertices and triangles of the original model, the proxy model reduces the number of vertices and triangles by about 99.5%. It can be seen that the proxy model obtained by using the technical solution provided by this application greatly reduces the number of vertices and triangular faces, but the fit between the proxy model and the original model is quite high. In this way, using the proxy model provided by the technical solution of the present application can reduce the calculation amount of applications such as occlusion removal and collision detection, improve application operation efficiency, and improve user experience.
  • Fig. 9 is a schematic diagram of a computer device provided according to an embodiment of the present application.
  • the computer device 900 shown in FIG. 9 includes an acquisition unit 901, a processing unit 902 and a modeling unit 903.
  • An acquisition unit 901 configured to acquire N coordinates, the N coordinates are projection coordinates of N vertices of the original model projected on the target plane, and N is a positive integer greater than or equal to 3;
  • a processing unit 902 configured to determine M vertices from the N vertices according to the N coordinates, where M is a positive integer greater than or equal to 3 and less than or equal to N;
  • the modeling unit 903 is configured to establish a substitute model corresponding to the original model according to the projection coordinates of the M vertices and the height information of the original model.
  • FIG. 9 is only an example rather than a limitation, and the above-mentioned computer device including an acquisition unit, a processing unit and a modeling unit may not depend on the structure shown in FIG. 9 .
  • the chip When the computer device 900 is a chip, the chip includes a sending unit and a processing unit.
  • the sending unit may be an input-output circuit or a communication interface;
  • the processing unit is a processor or a microprocessor or an integrated circuit integrated on the chip.
  • the embodiment of the present application also provides a computer device, including a processor and a memory.
  • the processor is used to be coupled with the memory, read and execute instructions and/or program codes in the memory, so as to execute the steps in the above method embodiments.
  • the above processor may be a chip.
  • the processor may be a field programmable gate array (field programmable gate array, FPGA), an application specific integrated circuit (ASIC), or a system chip (system on chip, SoC). It can be a central processor unit (CPU), a network processor (network processor, NP), a digital signal processing circuit (digital signal processor, DSP), or a microcontroller (micro controller unit) , MCU), can also be a programmable controller (programmable logic device, PLD), other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or other integrated chips.
  • programmable controller programmable logic device, PLD
  • each step of the above method can be completed by an integrated logic circuit of hardware in a processor or an instruction in the form of software.
  • the steps of the methods disclosed in connection with the embodiments of the present application may be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, no detailed description is given here.
  • the processor in the embodiment of the present application may be an integrated circuit chip, which has a signal processing capability.
  • each step of the above-mentioned method embodiments may be completed by an integrated logic circuit of hardware in a processor or instructions in the form of software.
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
  • the memory in the embodiments of the present application may be a volatile memory or a nonvolatile memory, or may include both volatile and nonvolatile memories.
  • the non-volatile memory can be read-only memory (read-only memory, ROM), programmable read-only memory (programmable ROM, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electronically programmable Erases programmable read-only memory (electrically EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (RAM), which acts as external cache memory.
  • RAM random access memory
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • DRAM synchronous dynamic random access memory
  • SDRAM double data rate synchronous dynamic random access memory
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM direct memory bus random access memory
  • direct rambus RAM direct rambus RAM
  • the present application also provides a computer program product, the computer program product including: computer program code, when the computer program code is run on the computer, the computer is made to execute each of the above-mentioned embodiments. step.
  • the present application also provides a computer-readable medium, the computer-readable medium stores program codes, and when the program codes are run on a computer, the computer is made to execute each of the above-mentioned embodiments. step.
  • the disclosed systems, devices and methods may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
  • the functions described above are realized in the form of software function units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including Several instructions are used to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disc and other media that can store program codes. .

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

一种建立模型的方法和相关装置,该方法包括:获取原始模型的N个顶点投影在目标平面上的投影坐标;从该N个顶点中确定M个顶点,其中M为大于或等于3且小于或等于N的正整数;根据该M个顶点的投影坐标和该原始模型的高度信息,建立对应于该原始模型的代理模型。利用上述技术方案可以建立原始模型的代理模型。与该原始模型相比,该代理模型保留了原始模型的细节信息,但是包括的顶点数目更少,从而结构更加简单。这样,在一些不需要利用模型渲染出图像的场景中(例如碰撞检测、遮挡剔除、阴影绘制),可以使用结构更加简单的代理模型来替代原始模型。这样可以减少运算量,提高应用运行效率,提升用户体验。

Description

建立模型的方法和相关装置
本申请要求于2021年10月15日提交中国专利局、申请号为202111205441.1、申请名称为“建立模型的方法和相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及计算机图形学领域,更具体地,涉及建立模型的方法和相关装置。
背景技术
渲染(render)是指以软件由模型生成图像的过程。模型是用语言或者数据结构进行严格定义的三维物体的描述,它包括几何、视点、纹理、照明和阴影等信息。图像是数字图像或者位图图像。渲染的过程就是在模型的基础上添加位图纹理或者程序纹理、照明、凸凹纹理映射以及相对于其它物体的位置的过程,得到的结果就是消费者或者观察者所能看到的完整图像。
如果想要渲染出比较逼真的三维物体,那么模型需要大量的顶点和三角面。以图1为例,如果想要渲染出如图1所示的建筑物,那么需要18709个顶点以及11748个三角面。
然而,在一些场景中,三维物体的模型并不完全用于渲染出供消费者或者观察者观看的图像。在这些场景中如果还应用用于生成图像的模型,那么会加大硬件的负担。因此,如何简化三维物体的模型,以适应于不同的应用场景,是一个亟待解决的问题。
发明内容
本申请实施例提供一种建立模型的方法和相关装置,可以建立一个用于替代原始模型的代理模型,便于后续应用。
第一方面,本申请实施例提供一种建立模型方法,包括:获取N个坐标,该N个坐标分别为原始模型的N个顶点投影在目标平面上的投影坐标,N为大于或等于3的正整数;根据该N个坐标,从该N个顶点中确定M个顶点,其中M为大于或等于3且小于或等于N的正整数;根据该M个顶点的投影坐标和该原始模型的高度信息,建立对应于该原始模型的代理模型。
利用上述技术方案可以建立原始模型的代理模型。与该原始模型相比,该代理模型保留了原始模型的细节信息,但是包括的顶点数目更少,从而结构更加简单。这样,在一些不需要利用模型渲染出图像的场景中(例如碰撞检测、遮挡剔除、阴影绘制),可以使用结构更加简单的代理模型来替代原始模型。这样可以减少运算量,提高应用运行效率,提升用户体验。
结合第一方面,在第一方面的一种可能的实现方式中,该获取N个坐标,包括:根据该原始模型包括的顶点投影在该目标平面中的投影坐标,确定多个候选顶点,其中,该多 个候选顶点中的每个候选顶点投影在该目标平面中的投影坐标位于参考区域内,该参考区域为该原始模型中预设比例的顶点投影在该目标平面中的区域;从该多个候选顶点中确定该N个顶点;确定该N个顶点投影在该目标平面上的投影坐标。
位于参考区域外的顶点通常是物体中凸出的部分,将这些顶点删除对代理模型的功能影响较小,但是可以获得结构更加简单的代理模型。
另外,上述技术方案还可以提升一些应用的效果。例如,建筑物A的凸出部遮挡住了建筑物B。这样,在利用建筑物A的原始模型进行遮挡剔除的时候,建筑物B就会被判断为被建筑物A遮挡。在此情况下,为了减少运算量,建筑物B的模型就不会被渲染。但是,当视角变化后,建筑物B全部或部分会显露出来,但此时建筑物B的模型没有被渲染,这样画面中就不会出现建筑物B,从而对用户体验造成很大的影响。上述技术方案中的代理模型删除了原始模型的凸出部的顶点。这样,在利用代理模型进行遮挡剔除时,建筑物B会被判断为没有被遮挡。因此,建筑部B的模型会被渲染,从而可以避免上述问题。
结合第一方面,在第一方面的一种可能的实现方式中,该从该多个候选顶点中确定该N个顶点,包括:根据该多个候选顶点中每个候选顶点投影在该目标平面中的投影坐标,确定N组候选顶点,其中该N组候选顶点中的每组候选顶点包括至少一个顶点,且任意两个属于同一组的候选顶点投影在该目标平面中的投影坐标相同,任意两个属于不同组的候选顶点投影在该目标平面中的投影坐标不同;确定该N个顶点,该N个顶点分别属于该N组候选顶点。
对于投影坐标相同的多个顶点,上述技术方案只保留其中一个顶点,这样可以更进一步减少代理模型包括的顶点数目。
结合第一方面,在第一方面的一种可能的实现方式中,该N个顶点分别为该N组候选顶点中参考方向的坐标值最大的顶点,该参考方向为与该目标平面垂直的方向;该原始模型的高度信息为该M个顶点在该参考方向的坐标值。
结合第一方面,在第一方面的一种可能的实现方式中,该原始模型的高度信息为包围盒的高度信息,该原始模型的全部顶点位于该包围盒中。
结合第一方面,在第一方面的一种可能的实现方式中,根据该N个坐标,从该N个顶点中确定M个顶点,包括:根据该N个坐标,遍历该N个顶点,将该N个顶点中的异常顶点删除,得到该M个顶点,其中,第一参考线与第二参考线之间的夹角的角度大于预设角度,该第一参考线为该异常顶点与第一相邻点之间的连线,该第二参考线为该异常顶点与第二相邻点之间的连线,该第一相邻点和该第二相邻点为该N个顶点中位于该异常顶点两侧且与该异常顶点相邻的两个顶点。
利用上述技术方案可以更进一步减少代理模型包括的顶点数目。此外,通过选择合适的预设角度,可以控制需要删除的异常顶点数目以及代理模型和原始模型的相似度。例如,预设角度越小,需要删除的异常顶点数目越多,代理模型包括的顶点数目相应减少,但是代理模型与原始模型的相似度越小;预设角度越大,需要删除的顶点数目越少,代理模型包括的顶点数目较多,但是代理模型与原始模型的相似度越大。代理模型与原始模型的相似度越高,代理模型的结构就越接近原始模型;代理模型与原始模型的相似度越低,代理模型与原始模型的差别就更大。生成代理模型的目的就是为了替换掉结构复杂的原始模 型,而代理模型的结构越接近原始模型,那么对于硬件资源的节约效果越差;反之,如果代理模型与原始模型相比结构更加简单,那么对于硬件资源的解压效果越好。但是如果代理模型与原始模型的结构差距过大就无法保留原始模型的细节,反而不利于后续的应用。因此,通过选择一个合适的预设角度,可以即能保留原始模型的细节,也能起到节约硬件资源的功效。
结合第一方面,在一种可能的实现方式中,该根据该M个顶点的投影坐标和该原始模型的高度信息,建立对应于该原始模型的代理模型,包括:根据该M个顶点的投影坐标和该原始模型的高度信息,确定位于该代理模型顶面的M个顶面顶点的坐标和位于该代理模型底面的M个底面顶点的坐标;根据该M个顶面顶点的坐标和该M个底面顶点的坐标,确定顶点索引,该顶点索引用于记录该代理模型中的各个顶点的连接顺序,该代理模型包括该M个顶面顶点的坐标、该M个底面顶点的坐标和该顶点索引。
该顶点索引可以包括顶面索引、底面索引和侧面索引。顶面索引用于记录位于顶面的顶点的连接顺序,底面索引用于记录位于底面的顶点的连接顺序,侧面索引用于记录顶点在侧面的连接顺序。
该顶面索引可以根据该M个顶面顶点的坐标确定;该底面索引可以根据该M个底面顶点的坐标确定,该侧面索引可以根据该M个顶面顶点的坐标和该M个底面顶点的坐标确定。
第二方面,本申请实施例提供一种计算机设备,该计算机设备包括用于实现第一方面或第一方面的任一种可能的实现方式的单元。
第三方面,本申请实施例提供一种计算机设备,该计算机设备包括处理器,该处理器用于与存储器耦合,读取并执行该存储器中的指令和/或程序代码,以执行第一方面或第一方面的任一种可能的实现方式。
第四方面,本申请实施例提供一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行第一方面或第一方面任一种可能的实现方式。
第五方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有程序代码,当该计算机存储介质在计算机上运行时,使得计算机执行如第一方面或第一方面的任一种可能的实现方式。
第六方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行如第一方面或第一方面的任一种可能的实现方式。
附图说明
图1所示的建筑
图2是一个遮挡剔除的示意图。
图3是根据本申请实施例提供的一种建立模型的方法的示意性流程图。
图4是原始模型的顶点投影在目标平面的示意图。
图5删除异常顶点的过程的示意图。
图6是代理模型的示意图。
图7是应用本申请实施例提供的建立模型的方法的应用场景的示意性流程图。
图8是根据图3所示的方法生成的对应于图1所示的原始模型的代理模型。
图9是根据本申请实施例提供的一种计算机设备的示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
为了帮助本领域技术人员更好地理解本申请的技术方案,首先对本申请涉及的一些概念进行介绍。
1,包围盒(bounds)
包围盒是一种求解离散点集最优包围空间的算法,基本思想是用体积稍大且特性简单的几何体(称为包围盒)来近似地代替复杂的几何对象。常见的包围盒算法有轴对称包围盒包围盒(Axis Aligned Bounding Box,AABB)、包围球(Bounding Sphere)、方向包围盒包围盒(Oriented Bounding Box,OBB)等。
2,网格(mesh)
网格是一系列三角面片的拼接,包括顶点坐标数据、索引坐标数据、法线数据以及纹理坐标(也可以称为UV坐标)等组成。顶点坐标数据中存储了模型所需的所有空间点的坐标,一般是三维的;之后为每个空间点生成索引,每3个索引为一组构成索引坐标,相当于选定某3个空间点构成一个三角形,索引坐标数据中描述了模型中所有的三角面片的构成;法线数据规定了每个顶点的法线方向,UV坐标指定了贴图“贴”到网格的哪个位置。
3,模型(model)
除非特殊说明本文中所称的模型是指三维模型。该三维模型可以应用于动画、游戏等场景。模型可以分为网格和贴图两部分,网格由一系列三角面片拼接而成,相当于模型的“骨骼”,贴图包括模型自带的纹理图片以及光照贴图,相当于模型的“皮肤”。
此外,除非特殊说明,本申请实施例中所称的场景、物体、建筑物等都是三维的。
4,着色器(shader)
着色器是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说,着色器只是一种把输入转化为输出的程序。在渲染管线的不同处理部分会使用不同的着色器。
5,遮挡剔除
遮挡剔除是指去掉场景中被遮挡物遮挡住的物体的模型。这样,在对该场景渲染时,可以只渲染可以被观察者看到的物体的模型。这样可以减少中央处理器(central processing unit,CPU)到图形处理器(graphics processing unit,GPU)的数据传输量,也可以减少顶点着色器和片段着色器阶段的计算量,最终减少任意给定时刻的可见对象数量,从而达到优化性能,降低GPU负载的目的。
图2是一个遮挡剔除的示意图。如图2所示摄像机201的视锥体范围内包括五个建筑物,分别为建筑物211、建筑物212、建筑物213、建筑物214和建筑物215。如果观察者位于摄像机201所在的位置,那么观察者无法看到被遮挡的建筑物215和建筑物213。因此,在渲染如图2所示的场景时,可以仅渲染可以被观察者看到的建筑物,即建筑物211、 建筑物212和建筑物214。
6,碰撞检测
碰撞检测是指判断物体之间是否相交(或者包含、重合)、计算焦点、预测相交时刻等。
以三维游戏为例,利用碰撞检测,可以实现人物在场景中的平滑移动,遇到一定高度内的台阶可以自动上去,而过高的台阶则把人挡住;遇到斜率较小的斜坡可以上去,斜率过大则把人挡住。
7,碰撞体(collider)
碰撞体可以用于定义碰撞对象的形状,便于实现碰撞检测。常见的碰撞体包括盒型碰撞体、球形碰撞体、胶囊碰撞体、符合碰撞体、网格碰撞体、静态碰撞体等。
8,阴影
为了更好地模拟现实的场景,在对场景进行渲染时,会绘制物体的阴影。物体的阴影可以利用体积阴影(shadow volumes)技术实现。体积阴影是一种基于几何形体的技术,它需要物体在一定方向的灯光下的轮廓去产生一个封闭的容积,然后通过光线的投射就可以决定场景中物体的阴影部分。
在遮挡剔除、碰撞检测或阴影生成等应用中,物体的模型只是起辅助作用,而非用于渲染。因此,在这些应用中,可以不需要使用用于生成供观察者观看的图像的模型。为了便于区分,以下将用于生成共观察者观看的图像的模型称为原始模型,将在遮挡剔除、碰撞检测或阴影生成等应用中起辅助作用的模型称为代理模型。
本申请提供一种建立模型的方法,该方法可以根据物体的原始模型,生成对应的代理模型。与该原始模型相比,该代理模型的结构更加简单,但是仍然可以保留原始模型的细节信息。下面,结合图1和图3对本申请实施例进行介绍。
图3是根据本申请实施例提供的一种建立模型的方法的示意性流程图。图3所示的方法可以由计算机设备或者计算机设备中的部件(例如芯片、电路等)实现。本申请实施例中所称计算机设备可以是台式计算机、笔记本电脑、平板电脑、服务器、手机、游戏机(例如游戏站(play station,PS)、任天堂主机(Nintendo switch,NS)等)等设备。为了便于描述,以下假设图3中的原始模型是如图1所示的建筑物的模型。
301,确定原始模型中的顶点投影在目标平面的投影坐标。
目标平面可以是任一个平面。但是为了便于计算,通常可以将该目标平面设置为物体的底面或者顶面。
顶点在目标平面的投影坐标有以下三种获取方案:
方案1,确定每个顶点在目标平面的投影坐标。
在此情况下,步骤301中确定的投影坐标可以是原始模型中所有顶点在目标平面的投影坐标。假设原始模型是用于渲染出如图1所示的建筑物的模型,那么在此情况下,需要获取18709个顶点投影在目标平面的投影坐标。
方案2,每组顶点中只保留一个顶点在目标平面的投影坐标
原始模型中的一些顶点在目标平面上的坐标是相同的,但是在与目标平面垂直的方向上的坐标不同。如图1所示,假设目标平面是建筑物的底面,那么一些顶点在xy平面上的坐标是相同的,但是在z轴方向的坐标是不同的。在此情况下,可以根据顶点的坐标将 顶点分组,每组顶点包括一个或多个顶点。如果一组顶点包括多个顶点,那么该组顶点中的任意两个顶点在xy平面上的坐标是相同的,但是在z轴方向的坐标是不同的。属于不同组的任意两个顶点在xy平面上的坐标是不同的。这样,只确定每组顶点中的一个顶点在目标平面的投影坐标即可。还以图1为例,18709个顶点可以分为2655组顶点。在方案2的情况下,只需要确定2655个投影坐标。这样,可以大大简化后续步骤所需的计算资源。
方案3,确定参考区域内的顶点的投影坐标
根据原始模型所有顶点在目标平面的投影坐标确定一个参考区域,原始模型的95%的顶点在目标平面中的投影坐标都在这个参考区域内。在此情况下,可以只获取投影坐标在参考区域内的顶点的投影坐标。参考区域内的顶点的投影坐标的获取方式可以像上述方案1一样获取每个顶点的投影坐标;也可以像上述方案2一样,相同投影坐标的一组顶点只保留一个顶点的投影坐标。
可以理解的是,上述95%仅是一个预设比例的示意。该预设比例也可以是其他值,例如,通常可以设置为大于等于90%,小于等于98%。
位于参考区域外的顶点通常是物体中凸出的部分,将这些顶点删除对代理模型的功能影响较小。
为了便于描述,以下假设步骤301中共得到了N个顶点的投影坐标,N是大于或等于3的正整数。
302,根据该N个顶点的投影坐标,从N个顶点中确定M个顶点,M是大于或等于3且小于或等于N的正整数。
在一些实施例中,该M个顶点可以通过以下步骤实现:
步骤1,确定目标顶点以及与目标顶点相邻的两个顶点(可以分别称为第一相邻点和第二相邻点),该目标顶点可以是该N个顶点中的任一个顶点;
步骤2,确定第一参考线和第二参考线,其中第一参考线是第一相邻点和该目标顶点之间的连线,该第二参考线是该目标顶点和第二相邻点之间的连线;
步骤3,确定第一参考线和第二参考线之间的夹角的角度是否大于预设角度,若该夹角的角度大于该预设角度,那么可以认为该目标顶点是一个异常顶点,可以将该异常顶点删除;若该夹角的角度小于或等于该预设角度,那么可以保留该目标顶点;
步骤4,确定该目标顶点的一个相邻点(例如第一相邻点)为一个新的目标顶点,然后重复步骤1至3,直到遍历完所有N个顶点。最终保留下的目标顶点就是该M个顶点。
该预设角度可以设置为大于90度,通常可以设置为大于或等于140度且小于或等于150度。
图4是原始模型的顶点投影在目标平面的示意图。以左上角的六个顶点为例对如何删除异常顶点进行介绍。图5删除如图4所示的左上角的六个顶点中的异常顶点的过程的示意图。假设预设角度为145度。
为了便于描述,可以将六个顶点分别称为D1,D2,D3,D4,D5和D6。用L12表示D1与D2之间的连线,用L61表示D6与D1之间的连线,用L23表示D2与D3之间的连线,以此类推。
首先假设D1为目标顶点,那么与D1相邻的两个顶点分别为D2和D6。确定L61与 L12之间的夹角的角度,并将该角度与预设角度比较。显然,L61与L12之间的夹角角度小于145度。在此情况下,可以保留D1。
顶点的顺序可以通过礼物包装算法或者其他用于解决凸包问题的算法来确定。例如,在一些实施例中,假设以D1为起点的一条射线从12点方向逆时针扫描,扫描过程中第一个与该射线重叠的顶点就是D1相邻的顶点D2;继续扫描,第二个与该射线重叠的点就是与D2相邻的顶点D3,以此类推,直到确定了所有顶点的顺序。
继续以D2为目标顶点,与D2相邻的两个顶点分别为D1和D3。确定L12与L23之间的夹角的角度,并将该夹角的角度与预设角度比较。显然,L12与L23之间的夹角角度大于145度,那么可以认为D2是一个异常顶点,删除D2。
继续以D3为目标顶点,与D3相邻的两个顶点分别为D1和D4。确定L13与L34之间的夹角的角度,并将该角度与预设角度比较。显然,L13与L34之间的夹角角度小于145度。在此情况下,可以保留D3。
继续以D4为目标顶点,与D4相邻的两个顶点分别为D3和D5。确定L34与L45之间的夹角的角度,并将该夹角的角度与预设角度比较。显然,L34与L45之间的夹角角度小于145度。在此情况下,可以保留D4。
继续以D5为目标顶点,与D5相邻的两个顶点分别为D4和D6。确定L45与L56之间的夹角的角度,并将该夹角的角度与预设角度比较。显然,L45与L56之间的夹角角度大于145度,那么可以认为D5是一个异常顶点,删除D5。
继续以D6为目标顶点,与D6相邻的两个顶点分别为D4和D1。确定L46与L61之间的夹角的角度,并将该夹角的角度与预设角度比较。显然,L46与L61之间的夹角角度小于145度。在此情况下,可以保留D6。
通过上述步骤,将D1到D6之中包括两个异常顶点D2和D5删除,得到四个顶点,D1,D3,D4和D6。
303,根据该M个顶点的投影坐标和原始模型的高度信息,建立对应于该原始模型的代理模型。
该原始模型的高度信息是垂直于该目标平面的高度信息。高度信息可以包括最大高度和最小高度。
在一些实施例中,该原始模型的高度信息可以是该原始模型的包围盒的高度值。在确定该原始模型的顶点投影在目标平面的投影坐标之前,可以先创建一个包围盒,遍历该原始模型的所有顶点,并对该包围盒进行适当的缩放,使得该包围盒包含该原始模型的所有顶点。此时,可以记录该包围盒的高度信息。该包围盒的高度信息可以作为该原始模型的高度信息。该包围盒的最大高度是该原始模型的最大高度,该包围盒的最小高度是该原始模型的最小高度。
在另一些实施例中,该原始模型的高度信息的最大高度可以是该M个顶点的高度值。如上所述,在步骤301中,方案2和方案3中,每组顶点只保留一个顶点在目标平面的投影坐标。在此情况下,还可以确定并保存每组顶点中高度值最高的顶点的高度值。这样,通过步骤301得到的N个顶点中的每个顶点还有一个对应的高度值。由于步骤302中的M个顶点是从该N个顶点中挑选的,因此该M个顶点中的每个顶点也有一个对应的高度值。该原始模型的高度信息中的最小高度可以认为是0。
根据该M个顶点的投影坐标和原始模型的高度信息,可以确定出该M个顶点中的每个顶点的三维坐标数据。根据M个顶点的投影坐标和原始模型的高度信息中的最大高度,可以确定出位于该代理模型顶面的M个顶点的三维坐标。位于该代理模型顶面的M个顶点的三维坐标的投影坐标分别是该M个顶点的投影坐标,该M个顶点的三维坐标的高度值为高度信息中最大高度。类似的,根据M个顶点的投影坐标和原始模型的高度信息中的最小高度,可以确定出位于该代理模型底面的M个顶点的三维坐标。位于该代理模型底面的M个顶点的三维坐标的投影坐标分别是该M个顶点的投影坐标,该M个顶点的三维坐标的高度值为高度信息中的最小高度。
根据高度信息得到的各个顶点的三维坐标需要按照正确的连接顺序才能形成正确平面。因此,还需要确定顶点索引。顶点索引用于记录各个顶点的连接顺序。顶点索引可以包括顶面索引、底面索引和侧面索引。顶面索引用于记录位于顶面的顶点的连接顺序,底面索引用于记录位于底面的顶点的连接顺序,侧面索引用于记录顶点在侧面的连接顺序。根据顶点的坐标、顶面索引、底面索引和侧面索引可以构建与该原始模型对应的代理模型。
以图6为例,图6中的(a)中的D1、D2、D3和D4是根据投影坐标和高度信息确定的位于顶面的四个顶点,D5、D6、D7和D8是根据投影坐标和高度信息确定的位于底面的四个顶点。图6中的(b)八个顶点的正确的连接顺序。图6中的(c)是侧面的错误连接示意。
顶面索引可以通过礼物包装算法或者其他用于解决凸包问题的算法来确定。以顶面的四个顶点为例,假设以D1为起点的一条射线从12点方向逆时针扫描,扫描过程中第一个与该射线重叠的顶点就是D1相邻的顶点D2;继续扫描,第二个与该射线重叠的点就是与D2相邻的顶点D3,继续扫描,得到下一个顶点D4。这样就确定了D1到D4的连接顺序,即顶面索引。底面索引的确定方式与顶面索引的确定方式相同,为了简洁,在此就不再赘述。
下面介绍一些侧面索引的确定方式。位于顶面和底面的两个投影坐标相同的顶点的三维坐标中只有高度坐标不同。因此,这两个顶点是相关联的。在确定了两个相关联的顶点后,可以沿着其中一个顶点的简化的方向找下一个顶点(例如可以是该顶点向下的方向)。先构造第一个三角面。第二个三角面用上下关联的顶点(其中一个顶点是上一步简化方向上找到的顶点)和第一个三角面的斜边构造。这样用两个三角面形成了一个侧面。这样就可以得到正确的平面。三角面顶点索引(顶点顺序)就构成了最后侧面索引(侧面顶点的顺序)。
如图6中的(d)所示,顶点D1和顶点D5的投影坐标相同,因此,顶点D1和顶点D5是一对相关联的顶点。顶点D5的简化方向是D5到D6的方向。因此,可以确定下一个顶点为顶点D6。这样,可以确定由顶点D1、D5和D6组成的一个三角面(以下简称三角面1)。顶点D6与顶点D2是一对相关联的顶点(即顶点D6和顶点D2的投影坐标相同)。利用顶点D6和顶点D2以及三角面1中的斜边(即D1到D6的边),可以构成另一个三角面(以下称为三角面2)。这样,顶点D1、D2、D5和D6的顺序就确定了。类似的,可以确定其余顶点在侧面的顺序,得到侧面索引。
在确定了该代理模型后,还可以根据具体应用对该代理模型进行缩放。例如,为了便于碰撞检测,减少碰撞检测出现错误判断的情况出现,可以适当放大该代理模型。又如,在遮挡剔除中,可以适当缩小该代理模型,这样可以减少将需要渲染的模型判断为不需要 渲染的模型的情况发生。
在一些实施例中,还可以将该代理模型与对应的原始模型叠加。这样,可以根据叠加结果对代理模型的缩放比例、高度等进行调整。
图7是应用本申请实施例提供的建立模型的方法的应用场景的示意性流程图。
701,获取场景中的需要确定代理模型的物体(例如遮挡物)的原始模型的数据。
702,根据物体的原始模型的数据,利用如图3所示的方法,建立对应于该原始模型的代理模型。
703,在该场景中生成该代理模型的预览。
704,判断该代理模型的预览结果是否满足预期。
如果没有满足预期,则可以执行步骤705;如果满足预期,则可以执行步骤706。
705,调整该代理模型的大小或者高度等数据。在调整了该代理模型的大小或高度后,可以继续判断该代理模型的预览结果是否满足预期,如果仍然不满足预期,可以继续调整该代理模型,直到满足预期。
在一些实施例中,在步骤705中除了调整该代理模型的大小或者高度以外,还可以调整生成代理模型过程中使用到的一些阈值,重新生成代理模型。例如,可以调整步骤301中用于确定获取哪些顶点的预设比例。又如,可以调整步骤302中用于判断异常顶点的预设角度。
706,烘焙生成该代理模型的持久化数据,便于后续运行时调用。
图8是根据图3所示的方法生成的对应于图1所示的原始模型的代理模型。如图8所示的代理模型只有96个顶点和60个三角面。与原始模型的顶点和三角面数目相比,该代理模型减少了约99.5%的顶点数目和三角面数目。由此可见,利用本申请提供的技术方案得到的代理模型极大地减少了顶点和三角面的数目,但是该代理模型与原始模型的契合度却相当高。这样,利用本申请技术方案提供的代理模型可以减少遮挡剔除、碰撞检测等应用的运算量,提高应用运行效率,提升用户体验。
以遮挡剔除为例,对照真实游戏案例的场景中进行测试,得到的测试结果如表1所示。
表1
Figure PCTCN2022124626-appb-000001
根据表1可以看到,随着剔除率的上升,在保证保守剔除的前提下,本方案可以有效提升游戏运行时的帧率,提升游戏体验。
图9是根据本申请实施例提供的一种计算机设备的示意图。如图9所示的计算机设备 900包括获取单元901、处理单元902和建模单元903。
获取单元901,用于获取N个坐标,所述N个坐标分别为原始模型的N个顶点投影在目标平面上的投影坐标,N为大于或等于3的正整数;
处理单元902,用于根据所述N个坐标,从所述N个顶点中确定M个顶点,其中M为大于或等于3且小于或等于N的正整数;
建模单元903,用于根据所述M个顶点的投影坐标和所述原始模型的高度信息,建立对应于所述原始模型的替代模型。
获取单元901、处理单元902和建模单元903的具体功能和有益效果可以参考上述方法部分实施例的描述,为了简洁,在此就不再赘述。
应理解,图9仅为示例而非限定,上述包括获取单元、处理单元和建模单元的计算机设备可以不依赖于图9所示的结构。
当该计算机设备900为芯片时,该芯片包括发送单元和处理单元。其中,发送单元可以是输入输出电路、通信接口;处理单元为该芯片上集成的处理器或者微处理器或者集成电路。
本申请实施例还提供了一种计算机设备,包括处理器和存储器。处理器用于与存储器耦合,读取并执行存储器中的指令和/或程序代码,以执行上述方法实施例中的步骤。
应理解,上述处理器可以是一个芯片。例如,该处理器可以是现场可编程门阵列(field programmable gate array,FPGA),可以是专用集成芯片(application specific integrated circuit,ASIC),还可以是系统芯片(system on chip,SoC),还可以是中央处理器(central processor unit,CPU),还可以是网络处理器(network processor,NP),还可以是数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU),还可以是可编程控制器(programmable logic device,PLD)、其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,或其他集成芯片。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only  memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述实施例中的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述实施例中的各个步骤。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而 前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (17)

  1. 一种建立模型方法,其特征在于,包括:
    获取N个坐标,所述N个坐标分别为原始模型的N个顶点投影在目标平面上的投影坐标,N为大于或等于3的正整数;
    根据所述N个坐标,从所述N个顶点中确定M个顶点,其中M为大于或等于3且小于或等于N的正整数;
    根据所述M个顶点的投影坐标和所述原始模型的高度信息,建立对应于所述原始模型的代理模型。
  2. 根据权利要求1所述的方法,其特征在于,所述获取N个坐标,包括:
    根据所述原始模型包括的顶点投影在所述目标平面中的投影坐标,确定多个候选顶点,其中,所述多个候选顶点中的每个候选顶点投影在所述目标平面中的投影坐标位于参考区域内,所述参考区域为所述原始模型中预设比例的顶点投影在所述目标平面中的区域;
    从所述多个候选顶点中确定所述N个顶点;
    确定所述N个顶点投影在所述目标平面上的投影坐标。
  3. 根据权利要求1所述的方法,其特征在于,所述从所述多个候选顶点中确定所述N个顶点,包括:
    根据所述多个候选顶点中每个候选顶点投影在所述目标平面中的投影坐标,确定N组候选顶点,其中所述N组候选顶点中的每组候选顶点包括至少一个顶点,且任意两个属于同一组的候选顶点投影在所述目标平面中的投影坐标相同,任意两个属于不同组的候选顶点投影在所述目标平面中的投影坐标不同;
    确定所述N个顶点,所述N个顶点分别属于所述N组候选顶点。
  4. 根据权利要求3所述的方法,其特征在于,所述N个顶点分别为所述N组候选顶点中参考方向的坐标值最大的顶点,所述参考方向为与所述目标平面垂直的方向;
    所述原始模型的高度信息为所述M个顶点在所述参考方向的坐标值。
  5. 根据权利要求1或2所述的方法,其特征在于,所述原始模型的高度信息为包围盒的高度信息,所述原始模型的全部顶点位于所述包围盒中。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,根据所述N个坐标,从所述N个顶点中确定M个顶点,包括:
    根据所述N个坐标,遍历所述N个顶点,将所述N个顶点中的异常顶点删除,得到所述M个顶点,其中,第一参考线与第二参考线之间的夹角的角度大于预设角度,所述第一参考线为所述异常顶点与第一相邻点之间的连线,所述第二参考线为所述异常顶点与第二相邻点之间的连线,所述第一相邻点和所述第二相邻点为所述N个顶点中位于所述异常顶点两侧且与所述异常顶点相邻的两个顶点。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述根据所述M个顶点的投影坐标和所述原始模型的高度信息,建立对应于所述原始模型的代理模型,包括:
    根据所述M个顶点的投影坐标和所述原始模型的高度信息,确定位于所述代理模型 顶面的M个顶面顶点的坐标和位于所述代理模型底面的M个底面顶点的坐标;
    根据所述M个顶面顶点的坐标和所述M个底面顶点的坐标,确定顶点索引,所述顶点索引用于记录所述代理模型中的各个顶点的连接顺序,所述代理模型包括所述M个顶面顶点的坐标、所述M个底面顶点的坐标和所述顶点索引。
  8. 一种计算机设备,其特征在于,包括:
    获取单元,用于获取N个坐标,所述N个坐标分别为原始模型的N个顶点投影在目标平面上的投影坐标,N为大于或等于3的正整数;
    处理单元,用于根据所述N个坐标,从所述N个顶点中确定M个顶点,其中M为大于或等于3且小于或等于N的正整数;
    建模单元,用于根据所述M个顶点的投影坐标和所述原始模型的高度信息,建立对应于所述原始模型的替代模型。
  9. 根据权利要求8所述的计算机设备,其特征在于,所述获取单元,具体用于根据所述原始模型包括的顶点投影在所述目标平面中的投影坐标,确定多个候选顶点,从所述多个候选顶点中确定所述N个顶点,确定所述N个顶点投影在所述目标平面上的投影坐标,其中,所述多个候选顶点中的每个候选顶点投影在所述目标平面中的投影坐标位于参考区域内,所述参考区域为所述原始模型中预设比例的顶点投影在所述目标平面中的区域。
  10. 根据权利要求8所述的计算机设备,其特征在于,所述获取单元,具体用于根据所述多个候选顶点中每个候选顶点投影在所述目标平面中的投影坐标,确定N组候选顶点,其中所述N组候选顶点中的每组候选顶点包括至少一个顶点,且任意两个属于同一组的候选顶点投影在所述目标平面中的投影坐标相同,任意两个属于不同组的候选顶点投影在所述目标平面中的投影坐标不同;
    确定所述N个顶点,所述N个顶点分别属于所述N组候选顶点。
  11. 根据权利要求10所述的计算机设备,其特征在于,所述N个顶点分别为所述N组候选顶点中参考方向的坐标值最大的顶点,所述参考方向为与所述目标平面垂直的方向;
    所述原始模型的高度信息为所述M个顶点在所述参考方向的坐标值。
  12. 根据权利要求8或9所述的计算机设备,其特征在于,所述原始模型的高度信息为包围盒的高度信息,所述原始模型的全部顶点位于所述包围盒中。
  13. 根据权利要求8至12中任一项所述的计算机设备,其特征在于,所述处理单元,具体用于根据所述N个坐标,遍历所述N个顶点,将所述N个顶点中的异常顶点删除,得到所述M个顶点,其中,第一参考线与第二参考线之间的夹角的角度大于预设角度,所述第一参考线为所述异常顶点与第一相邻点之间的连线,所述第二参考线为所述异常顶点与第二相邻点之间的连线,所述第一相邻点和所述第二相邻点为所述N个顶点中位于所述异常顶点两侧且与所述异常顶点相邻的两个顶点。
  14. 根据权利要求8至13中任一项所述的计算机设备,其特征在于,所述处理单元,具体用于根据所述M个顶点的投影坐标和所述原始模型的高度信息,确定位于所述代理模型顶面的M个顶面顶点的坐标和位于所述代理模型底面的M个底面顶点的坐标;
    根据所述M个顶面顶点的坐标和所述M个底面顶点的坐标,确定顶点索引,所述顶 点索引用于记录所述代理模型中的各个顶点的连接顺序,所述代理模型包括所述M个顶面顶点的坐标、所述M个底面顶点的坐标和所述顶点索引。
  15. 一种计算机设备,其特征在于,包括:处理器,所述处理器用于与存储器耦合,读取并执行所述存储器中的指令和/或程序代码,以执行如权利要求1-7中任一项所述的方法。
  16. 一种芯片系统,其特征在于,包括:逻辑电路,所述逻辑电路用于与输入/输出接口耦合,通过所述输入/输出接口传输数据,以执行如权利要求1-7中任一项所述的方法。
  17. 一种计算机可读介质,其特征在于,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。
PCT/CN2022/124626 2021-10-15 2022-10-11 建立模型的方法和相关装置 Ceased WO2023061364A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22880301.1A EP4394714A4 (en) 2021-10-15 2022-10-11 MODEL MAKING METHOD AND ASSOCIATED DEVICE
US18/700,902 US20240412457A1 (en) 2021-10-15 2022-10-11 Model establishment method and related apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111205441.1A CN115984506A (zh) 2021-10-15 2021-10-15 建立模型的方法和相关装置
CN202111205441.1 2021-10-15

Publications (1)

Publication Number Publication Date
WO2023061364A1 true WO2023061364A1 (zh) 2023-04-20

Family

ID=85962814

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/124626 Ceased WO2023061364A1 (zh) 2021-10-15 2022-10-11 建立模型的方法和相关装置

Country Status (4)

Country Link
US (1) US20240412457A1 (zh)
EP (1) EP4394714A4 (zh)
CN (1) CN115984506A (zh)
WO (1) WO2023061364A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116152389A (zh) * 2023-04-24 2023-05-23 深圳大学 一种用于纹理贴图的视角选择和纹理对齐方法及相关设备
CN116543105A (zh) * 2023-05-04 2023-08-04 阿里巴巴达摩院(杭州)科技有限公司 三维物体的处理方法、系统、电子设备及存储介质
CN117313221A (zh) * 2023-11-28 2023-12-29 北京理工大学 一种用于目标易损性的建筑目标建模方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118096949A (zh) * 2024-02-23 2024-05-28 网易(杭州)网络有限公司 碎片碰撞动画的生成方法及装置、存储介质、电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160005222A1 (en) * 2013-03-12 2016-01-07 Mitsubishi Electric Corporation Three-dimensional information processing device
CN108460826A (zh) * 2017-12-28 2018-08-28 深圳市创梦天地科技股份有限公司 一种3d模型的处理方法及终端
CN110349267A (zh) * 2019-06-06 2019-10-18 阿里巴巴集团控股有限公司 三维热度模型的构建方法以及装置
CN111223177A (zh) * 2019-12-18 2020-06-02 北京城市网邻信息技术有限公司 三维空间的三维模型的构建方法和装置、存储介质
CN111768488A (zh) * 2020-07-07 2020-10-13 网易(杭州)网络有限公司 一种虚拟角色脸部模型的处理方法和装置
CN112785690A (zh) * 2021-01-28 2021-05-11 北京爱奇艺科技有限公司 一种三维模型构建方法、装置、系统及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103345771B (zh) * 2013-06-28 2016-08-10 中国科学技术大学 一种基于建模的图像高效渲染方法
JP2016099841A (ja) * 2014-11-21 2016-05-30 大日本印刷株式会社 立体物造形用データ削減装置
EP3035291B1 (en) * 2014-12-19 2017-11-15 Donya Labs AB Rendering based generation of occlusion culling models
CN110310354B (zh) * 2019-07-04 2023-03-24 珠海金山数字网络科技有限公司 一种三维场景中的顶点识别方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160005222A1 (en) * 2013-03-12 2016-01-07 Mitsubishi Electric Corporation Three-dimensional information processing device
CN108460826A (zh) * 2017-12-28 2018-08-28 深圳市创梦天地科技股份有限公司 一种3d模型的处理方法及终端
CN110349267A (zh) * 2019-06-06 2019-10-18 阿里巴巴集团控股有限公司 三维热度模型的构建方法以及装置
CN111223177A (zh) * 2019-12-18 2020-06-02 北京城市网邻信息技术有限公司 三维空间的三维模型的构建方法和装置、存储介质
CN111768488A (zh) * 2020-07-07 2020-10-13 网易(杭州)网络有限公司 一种虚拟角色脸部模型的处理方法和装置
CN112785690A (zh) * 2021-01-28 2021-05-11 北京爱奇艺科技有限公司 一种三维模型构建方法、装置、系统及存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116152389A (zh) * 2023-04-24 2023-05-23 深圳大学 一种用于纹理贴图的视角选择和纹理对齐方法及相关设备
CN116543105A (zh) * 2023-05-04 2023-08-04 阿里巴巴达摩院(杭州)科技有限公司 三维物体的处理方法、系统、电子设备及存储介质
CN117313221A (zh) * 2023-11-28 2023-12-29 北京理工大学 一种用于目标易损性的建筑目标建模方法
CN117313221B (zh) * 2023-11-28 2024-02-13 北京理工大学 一种用于目标易损性的建筑目标建模方法

Also Published As

Publication number Publication date
EP4394714A1 (en) 2024-07-03
EP4394714A4 (en) 2024-12-25
US20240412457A1 (en) 2024-12-12
CN115984506A (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
WO2023061364A1 (zh) 建立模型的方法和相关装置
KR102713170B1 (ko) 실시간 깊이 맵을 사용한 지오메트리 인식 증강 현실 효과
US9508191B2 (en) Optimal point density using camera proximity for point-based global illumination
US12602858B2 (en) Rendering method and apparatus, and device
CN114241151B (zh) 三维模型简化方法、装置、计算机设备和计算机存储介质
US11100707B2 (en) Computer graphics method for terrain rendering
CN111788608A (zh) 用于建模光反射的混合射线跟踪方法
CN101840566A (zh) 一种基于gpu并行计算的实时阴影生成方法及系统
US20240203030A1 (en) 3d model rendering method and apparatus, electronic device, and storage medium
CN109979013A (zh) 三维人脸贴图方法及终端设备
CN116934938A (zh) 三维模型纹理处理方法、设备和存储介质
CN118537468A (zh) 一种光场图像的多层级并行渲染方法和系统
JP3350473B2 (ja) オクルージョンカリングを行う3次元グラフィックス描画装置および方法
US20240378793A1 (en) Image rendering method and related device
US20230245364A1 (en) Method for Processing Video, Electronic Device, and Storage Medium
US20230410426A1 (en) Volume intersection using rotated bounding volumes
US11830140B2 (en) Methods and systems for 3D modeling of an object by merging voxelized representations of the object
CN115965735B (zh) 纹理贴图的生成方法和装置
WO2025055518A1 (zh) 虚拟画面的生成方法、装置、电子设备、计算机可读存储介质及计算机程序产品
Takai et al. Harmonised texture mapping
CN115761123A (zh) 三维模型处理方法、装置、电子设备以及存储介质
CN109685882B (zh) 在渲染中将光场作为更好的背景
CN115690365A (zh) 用于管理三维模型的方法、装置、设备和介质
TWI887893B (zh) 產生內容時減少計算負荷的方法及主機
JP3711273B2 (ja) オクルージョンカリングを行う3次元グラフィックス描画装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22880301

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022880301

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 18700902

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2022880301

Country of ref document: EP

Effective date: 20240328

NENP Non-entry into the national phase

Ref country code: DE