CN109568961B - Occlusion rate calculation method and device, storage medium and electronic device - Google Patents

Occlusion rate calculation method and device, storage medium and electronic device Download PDF

Info

Publication number
CN109568961B
CN109568961B CN201811474315.4A CN201811474315A CN109568961B CN 109568961 B CN109568961 B CN 109568961B CN 201811474315 A CN201811474315 A CN 201811474315A CN 109568961 B CN109568961 B CN 109568961B
Authority
CN
China
Prior art keywords
pixel
current game
game interface
channel
scene
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.)
Active
Application number
CN201811474315.4A
Other languages
Chinese (zh)
Other versions
CN109568961A (en
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201811474315.4A priority Critical patent/CN109568961B/en
Publication of CN109568961A publication Critical patent/CN109568961A/en
Application granted granted Critical
Publication of CN109568961B publication Critical patent/CN109568961B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/308Details of the user interface
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The invention discloses a method and a device for calculating a shielding rate, a storage medium and an electronic device. Wherein, the method comprises the following steps: determining a current game interface where the first object is located, wherein the current game interface comprises a model chartlet; determining a pixel value of a first pixel channel in a current game interface; and calculating the occlusion rate of the first object in the current game interface, which is occluded by the model map, based on the pixel value of the first pixel channel in the current game interface and the pixel values of the pixel channels of the first object. The invention solves the technical problems of complex speed control mode of the equipment in the game and poor user experience in the related technology.

Description

Occlusion rate calculation method and device, storage medium and electronic device
Technical Field
The invention relates to the field of games, in particular to a method and a device for calculating an occlusion rate, a storage medium and an electronic device.
Background
The 2.5D game uses a fixed lens view angle, and the model map uses a 3D rendering. In a game scene, a plurality of model maps, such as buildings, trees, stones and the like, can be placed. Therefore, in the scene of the 2.5D game, from the fixed view angle of the game, a part of the space is blocked by the scene model. When a player-controlled character walks to an area where the model obstructs the view, such as a game chief, the player is confused about the positioning of the position of the manipulated character, which can seriously affect the experience of the player.
In the scene test process, a game developer can check the model shielding problem of the scene. The positions of the model which are seriously shielded and can influence the position release of the combat replica, the position of a mission point, the position of npc and the like are recorded in various ways, and then the shielded model is subjected to position transfer or semi-transparent processing.
At present, test investigation is mainly realized by a human hand. And (3) manually operating the character running scene, recording the position coordinates and the screenshots of the scene model with serious shielding, sorting the position coordinates and the screenshots into a test feedback result, and then correspondingly modifying and adjusting by scene making personnel according to the feedback.
The manual mode of investigation has following technical problem: the labor cost is high, the manpower can search the position of the whole scene for the way, and certain labor and time are required to be invested. The definition of the shielding influence is fuzzy, in the manual running and checking process, the evaluation on the shielding influence is judged more according to experience, and different people and even the same person have different judgment results in different running and checking processes. The processing efficiency is low, new scenes need to be checked every time, and the new scenes need to be checked again after being fed back to scene makers for repair. This is a process that may need to be repeated over and over again.
In view of the above problems, no effective solution has been proposed.
Disclosure of Invention
The embodiment of the invention provides a method and a device for calculating a shielding rate, a storage medium and an electronic device, which are used for at least solving the technical problems of low efficiency and complex mode of checking shielding objects in a game scene in the related art.
According to an aspect of the embodiments of the present invention, there is provided a method for calculating an occlusion rate, including: determining a current game interface where the first object is located, wherein the current game interface comprises a model chartlet; determining a pixel value of a first pixel channel in a current game interface; and calculating the occlusion rate of the first object in the current game interface, which is occluded by the model map, based on the pixel value of the first pixel channel in the current game interface and the pixel values of the pixel channels of the first object.
According to another aspect of the embodiments of the present invention, there is also provided an occlusion rate calculating apparatus, including: the first determining module is used for determining a current game interface where the first object is located, wherein the current game interface comprises a model chartlet; the second determining module is used for determining the pixel value of the first pixel channel in the current game interface; and the calculation module is used for calculating the shielding rate of the first object shielded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface and the pixel value of each pixel channel of the first object.
According to a further embodiment of the present invention, there is also provided a storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the above method embodiments when executed.
According to yet another embodiment of the present invention, there is also provided an electronic device, including a memory in which a computer program is stored and a processor configured to execute the computer program to perform the steps in any of the above method embodiments.
In the embodiment of the invention, the current game interface where the first object is located is determined, wherein the current game interface comprises a model chartlet; determining the pixel value of a first pixel channel in the current game interface; and then calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface. The purpose of checking the shelters in the game scene is achieved, the technical effect of improving the checking efficiency of the shelters in the game scene is achieved, and the technical problems that in the related art, the speed control mode of equipment in the game is complex and the user experience is poor are solved.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
fig. 1 is a block diagram of a hardware structure of a mobile terminal of a method for calculating an occlusion rate according to an embodiment of the present invention;
FIG. 2 is a flowchart illustrating a method for calculating an occlusion rate according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a first object in the present embodiment;
FIG. 4 is a schematic diagram of a Cartesian coordinate system provided in accordance with an embodiment of the invention;
FIG. 5 is a schematic diagram of a game scene before processing according to an embodiment of the invention;
FIG. 6 is a schematic illustration after processing of a game scene provided in accordance with an embodiment of the invention;
FIG. 7 is a game scene occlusion thermodynamic diagram in the present embodiment;
FIG. 8 is a schematic diagram of colors corresponding to the occlusion rate in this embodiment;
fig. 9 is a schematic diagram (one) of the thermodynamic diagram display position in the present embodiment;
fig. 10 is a schematic diagram (two) of the thermodynamic diagram display position in the present embodiment;
FIG. 11 is a schematic structural diagram of a device for calculating an occlusion rate according to an embodiment of the present invention.
Detailed Description
In order to make the technical solutions of the present invention better understood, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
According to an embodiment of the present invention, there is provided an embodiment of a method for calculating an occlusion rate, where it is noted that the steps illustrated in the flowchart of the drawings may be performed in a computer system such as a set of computer executable instructions, and that while a logical order is illustrated in the flowchart, in some cases the steps illustrated or described may be performed in an order different than here.
The method provided by the embodiment of the invention can be executed in a mobile terminal, a computer terminal or a similar arithmetic device. Taking the operation on the mobile terminal as an example, fig. 1 is a hardware structure block diagram of the mobile terminal of the method for calculating the occlusion rate according to the embodiment of the present invention. As shown in fig. 1, the mobile terminal 10 may include one or more (only one shown in fig. 1) processors 102 (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA) and a memory 104 for storing data, and optionally may also include a transmission device 106 for communication functions and an input-output device 108. It will be understood by those skilled in the art that the structure shown in fig. 1 is only an illustration, and does not limit the structure of the mobile terminal. For example, the mobile terminal 10 may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
The memory 104 may be used to store a computer program, for example, a software program and a module of an application software, such as a computer program corresponding to the method for calculating the occlusion rate in the embodiment of the present invention, and the processor 102 executes the computer program stored in the memory 104 to thereby execute various functional applications and data processing, i.e., to implement the method described above. The memory 104 may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory located remotely from the processor 102, which may be connected to the mobile terminal 10 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used for receiving or transmitting data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the mobile terminal 10. In one example, the transmission device 106 includes a Network adapter (NIC), which can be connected to other Network devices through a base station so as to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is used to communicate with the internet in a wireless manner.
Fig. 2 is a schematic flowchart of a method for calculating an occlusion rate according to an embodiment of the present invention, and as shown in fig. 2, the method includes the following steps:
step S202, determining a current game interface where a first object is located, wherein the current game interface comprises a model chartlet;
step S204, determining the pixel value of a first pixel channel in the current game interface;
step S206, calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface and the pixel values of the pixel channels of the first object.
Through the steps, the current game interface where the first object is located is determined, wherein the current game interface comprises the model chartlet; determining the pixel value of a first pixel channel in the current game interface; and then calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface. The purpose of checking the shelters in the game scene is achieved, the technical effect of improving the checking efficiency of the shelters in the game scene is achieved, and the technical problems that in the related art, the speed control mode of equipment in the game is complex and the user experience is poor are solved.
It should be noted that the first object in this embodiment may be a character controlled in a game scene, such as the characters "mythology", "dragon 3", and the like shown in fig. 3. The current game interface may be a scene to which the first object moves.
It should be noted that the 3D coordinate system is a basic concept in 3D project development, and a cartesian coordinate system is adopted in general 3D games to describe coordinate information of an object. The Cartesian coordinate system is divided into a left-hand coordinate system and a right-hand coordinate system, wherein the left-hand coordinate system is that the Y axis points upwards, the X axis points rightwards, and the Z axis points forwards; the X, Y axes of the left and right hand coordinate systems are oriented in the same direction, while the Z axis is reversed, as shown in FIG. 4.
alpha channel: each pixel of an image has three channels of RGB, and later Alvy Ray Smith proposes that each pixel is added with an Alpha channel with a value of 0 to 1 for storing the transparency of the pixel in the picture, wherein 0 represents transparent and 1 represents opaque.
Remote Procedure Call Protocol (RPC): is a protocol that requests services from a remote computer program over a network without requiring knowledge of the underlying network technology. The RPC protocol assumes the existence of some transport protocol, such as TCP or UDP, for carrying information data between communication procedures.
Three-channel diagram: each pixel has 3 values to represent, so it is 3 channels. There is also a 4-channel diagram. For example, an RGB picture is a three-channel picture, an RGB color model is a color standard in the industry, and various colors are obtained by changing three color channels of red (R), green (G), and blue (B) and superimposing them, where RGB represents colors of three channels of red, green, and blue, and the standard includes almost all colors that can be perceived by human vision, and is one of the most widely used color systems at present. The digital image data may be represented by a matrix, each channel being a two-dimensional matrix.
The first pixel channel in this embodiment may be any one of three color channels of red (R), green (G), and blue (B).
In an optional embodiment, before determining the current game interface where the first object is located, a color replacement process needs to be performed on the model map, where the model map that needs to be replaced is all model maps in a scene that needs to be tested and a character model manipulated by a player in the game, specifically:
traversing model maps in a game scene where a current game interface is located, separating image channels of maps of scene models, and setting the pixel value of a first pixel channel of the model maps as a minimum value, wherein the pixel values of other pixel channels except the first pixel channel in the model maps are unchanged. If the first pixel channel is an R pixel channel, i.e. the value of all the R pixels in the game scene is set to 0, other properties of the model map, including transparency, are preserved.
Then, separating image channels of a character model chartlet (namely a first object) controlled in the game, and setting the pixel value of a first pixel channel in the first object as a maximum value; the pixel values of the other pixel channels in the first object except the first pixel channel are set to the minimum value. That is, all the pixels of the first object may be set to 255 for the R channel and 0 for the G and B channels. The picture processing only processes the R channel, and other attributes of the map, including transparency, are reserved. As shown in fig. 5, which is a game scene before no processing is performed, and fig. 6 is a game scene after image processing is performed, after all the pixel values of the G channel and the B channel of the first object manipulated in the game are set to 0, the first object becomes pure red. And after the value of the R channel pixel is set to 0 in the scene model map in the game scene, the color expression is more bluish-green.
In an alternative embodiment, the current game interface at which the first object is located is determined by: determining a coordinate point where a first object is located in a game scene; and intercepting the game interface within a preset range by taking the coordinate point as an origin to obtain the current game interface. In this embodiment, a method of traversing a scene by automatic way finding is required, a screenshot is performed on a game screen according to a coordinate point of a first object, and a relationship between a scene position of the first object and a corresponding screen display is established.
It should be noted that, in general, the game engine has a provision interface that can obtain the coordinate point where the first object is located, and also the current game screen capture. In the 3D coordinate system, the Y-axis coordinate represents the up-down position, so that only the X-axis and Z-axis coordinates need to be recorded regardless of the terrain height.
In order to avoid the problem that the position is too thin and the data amount is too large, the map coordinates in the game scene need to be compressed. It is assumed that the screenshot samples are taken every several units. The coordinate compression method is implemented by using a python script, wherein rate is a compression ratio, and if every five units are taken as a sampling point, the rate is equal to 5:
def compress_position(x,z,rate):
x=round(x/rate)
z=round(z/rate)
return x,z
then, screenshot needs to be carried out on the game picture of the coordinate point where the first object is located, and for convenience of management, the screenshot picture is named by ' scene name _ X axis data _ Z axis data ' png '. And if the screenshot picture naming file corresponding to the sampling point does not exist, screenshot, and if the screenshot picture naming file exists, screenshot does not need to be repeated.
In an optional embodiment, after the current game interface where the first object is located is obtained, a total pixel value of a first pixel channel included in the first object needs to be determined; calculating the ratio of the pixel value of a first pixel channel in the current game interface to the total pixel value; an occlusion rate is determined based on the ratio.
It should be noted that the occlusion rate is defined herein to express the degree of occlusion of the first object by the scene model map in the game scene. There are two extremes: in the first case, when the first object is completely occluded in the scene by the model map, i.e. the model map of the first object is not displayed at all, the occlusion rate is 100%, i.e. 1. In the second case, when the hero is completely unobstructed in the scene, the obstruction rate is 0%, i.e., 0%. The other is between the two.
Another concept is translucency. When the first object is shielded by the model of the scene, if the shielded model map is subjected to semi-transparent processing, the higher the transparency is, the more obvious the first object is displayed, and when the first object is completely transparent, the first object is not shielded at all; conversely, the lower the transparency, the less clear the chief angle display, and when completely opaque, the first object is completely obscured.
The above phenomenon can be resolved using the translucent blending algorithm AlphaBlend. Assuming that one image is A and the other semi-transparent image is B, looking through B to see A, the apparent image C is a mixture of B and A, and the transparency of B is alpha (values 0-1, 1 is completely transparent, 0 is completely opaque).
The Alpha mixing formula is as follows:
R(C)=(1-alpha)*R(B)+alpha*R(A);
G(C)=(1-alpha)*G(B)+alpha*G(A);
B(C)=(1-alpha)*B(B)+alpha*B(A);
wherein, R (x), G (x), B (x) respectively refer to RGB component primary color values of color x.
When the B image is completely transparent (alpha ═ 1), r (c) ═ r (a), g (c) ═ g (a), B (c) ═ B (a); the a picture is not occluded at all by the B picture. When B is completely opaque (alpha ═ 0), r (c) ═ r (B), g (c) ═ g (B), B (c) ═ B (B); the a picture is completely occluded by the B picture.
Based on the above algorithm, the calculation of the occlusion rate specifically includes:
since the R channel values of all the model maps in the game scene are set to 0, the R channel value of the principal angle model map of the first object is set to 255. Therefore, the more the first object is occluded, the less the sum of the values of the R channel matrix in the picture of the screenshot. When the first object is completely shielded, the R channel values of all the pixel points in the screenshot are all 0. When the first object is not occluded at all, the red part is the most, and the sum of the values of the R channel matrix of the screenshot is the largest.
Where R _ Sum represents the Sum of all elements in the matrix of the R channel in a certain screenshot (current game interface) (e.g., scene A _5_10. png). R _ Sum _ Max represents the Sum of all elements in the matrix of the R channel in the screenshot when the first object is not occluded at all.
In a certain screenshot, the calculation formula of the main corner shielding rate is as follows:
the shielding rate is 1-R _ Sum/R _ Sum _ Max
When the chief angle is not occluded at all, R _ Sum is equal to R _ Sum _ Max, so the occlusion rate is equal to 0. When the main corner is completely shielded and not displayed, the values of R channels of all pixels in the screenshot are 0, R _ Sum is equal to 0, and therefore the shielding rate is equal to 1.
In a certain screenshot, the calculation formula of the main corner shielding rate can be as follows:
the shielding rate is R _ Sum/R _ Sum _ Max
When the chief angle is not occluded at all, R _ Sum is equal to R _ Sum _ Max, so the occlusion rate is equal to 1. When the main corner is completely shielded and not displayed, the values of R channels of all pixels in the screenshot are 0, R _ Sum is equal to 0, and therefore the shielding rate is equal to 0.
In an alternative embodiment, after calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface, the occlusion rate of the first object at each coordinate point in the game scene needs to be determined; setting different color marks at each coordinate point where the first object is located based on the shielding rate at each coordinate point; and drawing an occlusion rate thermodynamic diagram of the first object in the game scene by using different color identifiers.
It should be noted that a scene occlusion thermodynamic diagram needs to be drawn according to the occlusion rate corresponding to the coordinate point, and different colors need to be drawn at the corresponding coordinate according to the size of the occlusion rate. Fig. 7 is a game scene occlusion thermodynamic diagram in the present embodiment, and as shown in fig. 7, dark colors represent a higher occlusion ratio, and light colors represent a lower occlusion ratio. Fig. 8 is a schematic diagram of colors corresponding to the occlusion rate in this embodiment.
In an optional embodiment, after drawing the occlusion rate thermodynamic diagram of the first object in the game scene by using different color identifiers, respective anchor points of the first object may also be set at the different color identifiers, where the respective anchor points include: each occlusion rate corresponding to each color identifier, and a coordinate value of the first object at each color identifier; and displaying the occlusion condition of the first object in the game scene by using each positioning point.
It should be noted that each set anchor point is to add click listening to the thermodynamic diagram. For example, a left click thermodynamic diagram location may display an occlusion ratio value for that location (as shown in FIG. 9). The right click thermodynamic location selection transfers the first object to the coordinate point (as shown in FIG. 10). When a coordinate point on the user right-click thermodynamic diagram pops up a button for positioning to a client scene position, the user clicks the button, an rpc instruction is sent to the game, and a first object in the game is transmitted to a coordinate position corresponding to the thermodynamic diagram, so that a game developer can check the actual shielding condition.
In summary, all the way-finding points are automatically traversed by controlling the game role, the coordinate point of each way-finding position is recorded, and the shielding rate of the scene model on the coordinate point is calculated. Drawing a thermodynamic diagram for each coordinate point and the corresponding shielding rate; and distinguishing numerical intervals of the shielding rate by using different colors. And click monitoring is set for the thermodynamic diagrams, the click thermodynamic diagrams can display game screenshots of the click coordinates, and in addition, the position of the thermodynamic diagrams can be clicked right to select and transmit the principal angle to the coordinate point, so that game developers can check the actual shielding condition. An automatic means is created, and the shielding and checking efficiency of the scene model of the 2.5D game is improved. The following technical problems in the related art can be solved: a method for calculating the rate of the occlusion of a game character by a scene model (hereinafter, referred to as the occlusion rate) is designed. And calculating the shielding rate of the character in the game at all the road-searching coordinate points of the scene. And visually displaying the condition that the game role at each position of the scene is blocked. The method realizes efficient completion of the shielding test of the scene model of the game, and game developers can quickly know the shielding condition of the whole scene, thereby bringing great convenience to the scene test.
It should be noted that the main body for executing the above steps may be the terminal shown in fig. 1, but is not limited thereto.
An embodiment of the present invention further provides a device for calculating an occlusion rate, and fig. 11 is a schematic structural diagram of the device for calculating an occlusion rate according to the embodiment of the present invention, as shown in fig. 11, the device includes:
a first determining module 1102, configured to determine a current game interface where the first object is located, where the current game interface includes a model map;
a second determining module 1104, configured to determine a pixel value of the first pixel channel in the current game interface;
a calculating module 1106, configured to calculate an occlusion rate of the first object being occluded by the model map in the current game interface, based on the pixel value of the first pixel channel in the current game interface and the pixel values of the pixel channels of the first object.
Through the steps, the current game interface where the first object is located is determined, wherein the current game interface comprises the model chartlet; determining the pixel value of a first pixel channel in the current game interface; and then calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface. The purpose of checking the shelters in the game scene is achieved, the technical effect of improving the checking efficiency of the shelters in the game scene is achieved, and the technical problems that in the related art, the speed control mode of equipment in the game is complex and the user experience is poor are solved.
It should be noted that the first object in the present embodiment may be a character controlled in a game scene, such as the characters "nvwa", "dragon 3", and the like shown in fig. 3. The current game interface may be a scene to which the first object moves.
It should be noted that the 3D coordinate system is a basic concept in 3D project development, and a cartesian coordinate system is adopted in general 3D games to describe coordinate information of an object. The Cartesian coordinate system is divided into a left-hand coordinate system and a right-hand coordinate system, wherein the left-hand coordinate system is that the Y axis points upwards, the X axis points rightwards, and the Z axis points forwards; the X, Y axes of the left and right hand coordinate systems are oriented in the same direction, while the Z axis is reversed.
alpha channel: each pixel of an image has three channels of RGB, and later Alvy Ray Smith proposes that each pixel is added with an Alpha channel with a value of 0 to 1 for storing the transparency of the pixel in the picture, wherein 0 represents transparent and 1 represents opaque.
Remote Procedure Call Protocol (RPC): is a protocol that requests services from a remote computer program over a network without requiring knowledge of the underlying network technology. The RPC protocol assumes the existence of some transport protocol, such as TCP or UDP, for carrying information data between communication procedures.
Three-channel diagram: each pixel has 3 values to represent, so it is 3 channels. There is also a 4-channel diagram. For example, an RGB picture is a three-channel picture, an RGB color model is a color standard in the industry, and various colors are obtained by changing three color channels of red (R), green (G), and blue (B) and superimposing them, where RGB represents colors of three channels of red, green, and blue, and the standard includes almost all colors that can be perceived by human vision, and is one of the most widely used color systems at present. The digital image data may be represented by a matrix, each channel being a two-dimensional matrix.
The first pixel channel in this embodiment may be any one of three color channels of red (R), green (G), and blue (B).
In an optional embodiment, before determining the current game interface where the first object is located, a color replacement process needs to be performed on the model map, where the model map that needs to be replaced is all model maps in a scene that needs to be tested and a character model manipulated by a player in the game, specifically:
traversing model maps in a game scene where a current game interface is located, separating image channels of maps of scene models, and setting the pixel value of a first pixel channel of the model maps as a minimum value, wherein the pixel values of other pixel channels except the first pixel channel in the model maps are unchanged. If the first pixel channel is an R pixel channel, i.e. the value of all the R pixels in the game scene is set to 0, other properties of the model map, including transparency, are preserved.
Then, separating image channels of the character model chartlet (namely a first object) controlled in the game, and setting the pixel value of the first pixel channel in the first object as the maximum value; the pixel values of the other pixel channels in the first object except the first pixel channel are set to the minimum value. That is, all the pixels of the first object may be set to 255 for the R channel and 0 for the G and B channels. The picture processing only processes the R channel, and other attributes of the map, including transparency, are reserved. As shown in fig. 5, which is a game scene before no processing is performed, and fig. 6 is a game scene after image processing is performed, after all the pixel values of the G channel and the B channel of the first object manipulated in the game are set to 0, the first object becomes pure red. And after the value of the R channel pixel is set to 0 in the scene model map in the game scene, the color expression is more bluish-green.
In an alternative embodiment, the current game interface at which the first object is located is determined by: determining a coordinate point where a first object is located in a game scene; and intercepting the game interface within a preset range by taking the coordinate point as an origin to obtain the current game interface. In this embodiment, a method of traversing a scene by automatic way finding is required, a screenshot is performed on a game screen according to a coordinate point of a first object, and a relationship between a scene position of the first object and a corresponding screen display is established.
It should be noted that, in general, the game engine has a provision interface that can obtain the coordinate point where the first object is located, and also the current game screen capture. In the 3D coordinate system, the Y-axis coordinate represents the up-down position, so that only the X-axis and Z-axis coordinates need to be recorded regardless of the terrain height.
In order to avoid the problem that the position is too fine and the data size is too large, the map coordinates in the game scene need to be compressed. It is assumed that the screenshot samples are taken every several units. The coordinate compression method is implemented by using a python script, wherein rate is a compression ratio, and if every five units are taken as a sampling point, the rate is equal to 5:
def compress_position(x,z,rate):
x=round(x/rate)
z=round(z/rate)
return x,z
then, screenshot needs to be carried out on the game picture of the coordinate point where the first object is located, and for convenience of management, the screenshot picture is named by ' scene name _ X axis data _ Z axis data ' png '. And if the screenshot picture naming file corresponding to the sampling point does not exist, screenshot, and if the screenshot picture naming file exists, screenshot does not need to be repeated.
In an optional embodiment, after the current game interface where the first object is located is obtained, a total pixel value of a first pixel channel included in the first object needs to be determined; calculating the ratio of the pixel value of a first pixel channel in the current game interface to the total pixel value; an occlusion rate is determined based on the ratio.
It should be noted that the occlusion rate is defined herein to express the degree of occlusion of the first object by the scene model map in the game scene. There are two extremes: in the first case, when the first object is completely occluded by the model map in the scene, i.e. the model map of the first object is not displayed at all, the occlusion rate is
100%, i.e. 1. In the second case, when the hero is completely unobstructed in the scene, the obstruction rate is 0%, i.e., 0%. The other is between the two.
Another concept is translucency. When the first object is occluded by the model of the scene, the higher the transparency, the more apparent the first object will appear if the occluded model map is translucently processed, and when it is completely transparent,
the first object will be completely unobstructed; conversely, the lower the transparency, the less clear the chief angle display, and when completely opaque, the first object is completely obscured.
The above phenomenon can be resolved using the translucent blending algorithm AlphaBlend. Assuming that one image is A and the other semi-transparent image is B, looking through B to see A, the apparent image C is a mixture of B and A, and the transparency of B is alpha (values 0-1, 1 is completely transparent, 0 is completely opaque).
The Alpha mixing formula is as follows:
R(C)=(1-alpha)*R(B)+alpha*R(A);
G(C)=(1-alpha)*G(B)+alpha*G(A);
B(C)=(1-alpha)*B(B)+alpha*B(A);
wherein, R (x), G (x), B (x) respectively refer to RGB component primary color values of color x.
When the B image is completely transparent (alpha ═ 1), r (c) ═ r (a), g (c) ═ g (a), B (c) ═ B (a); the a picture is not occluded at all by the B picture. When B is completely opaque (alpha ═ 0), r (c) ═ r (B), g (c) ═ g (B), B (c) ═ B (B); the a picture is completely occluded by the B picture.
Based on the above algorithm, the calculation of the occlusion rate specifically includes:
since the R channel values of all the model maps in the game scene are set to 0, the R channel value of the principal angle model map of the first object is set to 255. Therefore, the more the first object is occluded, the less the sum of the values of the R channel matrix in the picture of the screenshot. When the first object is completely shielded, the R channel values of all the pixel points in the screenshot are all 0. When the first object is not occluded at all, the red portion is the most, and the sum of the values of the R channel matrix of the screenshot is the largest.
Where R _ Sum represents the Sum of all elements in the matrix of the R channel in a certain screenshot (current game interface) (e.g., scene A _5_10. png). R _ Sum _ Max represents the Sum of all elements in the matrix of the R channel in the screenshot when the first object is not occluded at all.
In a certain screenshot, the calculation formula of the main corner shielding rate is as follows:
occlusion ratio 1-R _ Sum/R _ Sum _ Max
When the chief angle is not occluded at all, R _ Sum is equal to R _ Sum _ Max, so the occlusion rate is equal to 0. When the main corner is completely shielded and not displayed, the values of R channels of all pixels in the screenshot are 0, R _ Sum is equal to 0, and therefore the shielding rate is equal to 1.
In a certain screenshot, the calculation formula of the main corner shielding rate can be as follows:
the shielding rate is R _ Sum/R _ Sum _ Max
When the chief angle is not occluded at all, R _ Sum is equal to R _ Sum _ Max, so the occlusion rate is equal to 1. When the main corner is completely shielded and not displayed, the values on the R channels of all pixels in the screenshot are 0, R _ Sum is equal to 0, and therefore the shielding rate is equal to 0.
In an alternative embodiment, after calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface, the occlusion rate of the first object at each coordinate point in the game scene needs to be determined; setting different color marks at each coordinate point where the first object is located based on the shielding rate at each coordinate point; and drawing an occlusion rate thermodynamic diagram of the first object in the game scene by using different color identifications.
It should be noted that a scene occlusion thermodynamic diagram needs to be drawn according to the occlusion rate corresponding to the coordinate point, and different colors need to be drawn at the corresponding coordinate according to the size of the occlusion rate. Fig. 7 is a game scene occlusion thermodynamic diagram in the present embodiment, and as shown in fig. 7, dark colors represent a higher occlusion ratio, and light colors represent a lower occlusion ratio. Fig. 8 shows colors corresponding to the shading rate in this embodiment.
In an optional embodiment, after the occlusion rate thermodynamic diagram of the first object in the game scene is drawn by using different color identifiers, respective anchor points of the first object may be further set at the different color identifiers, where the respective anchor points include: each occlusion rate corresponding to each color identifier, and a coordinate value of the first object at each color identifier; and displaying the occlusion condition of the first object in the game scene by using each positioning point.
It should be noted that each set anchor point is to add click listening to the thermodynamic diagram. For example, a left click thermodynamic diagram location may display an occlusion ratio value for that location (as shown in FIG. 9). The right click thermodynamic location selection transfers the first object to the coordinate point (as shown in FIG. 10). When a coordinate point on the user right-click thermodynamic diagram pops up a button for positioning to a client scene position, the user clicks the button, an rpc instruction is sent to the game, and a first object in the game is transmitted to a coordinate position corresponding to the thermodynamic diagram, so that a game developer can check the actual shielding condition.
In summary, all the way-finding points are automatically traversed by controlling the game role, the coordinate point of each way-finding position is recorded, and the shielding rate of the scene model on the coordinate point is calculated. Drawing a thermodynamic diagram for each coordinate point and the corresponding shielding rate of the coordinate point; and distinguishing numerical intervals of the shielding rate by using different colors. And click monitoring is set for the thermodynamic diagram, the click thermodynamic diagram can display a game screenshot of the click coordinate, and in addition, the position of the thermodynamic diagram can be clicked right to select and transmit the principal angle to the coordinate point, so that game developers can check the actual shielding condition. An automatic means is created, and the shielding and checking efficiency of the scene model of the 2.5D game is improved. The following technical problems in the related art can be solved: a method for calculating the rate of the occlusion of a game character by a scene model (hereinafter, referred to as the occlusion rate) is designed. And calculating the shielding rate of the character in the game at all the road-searching coordinate points of the scene. And visually displaying the shielded condition of the game role at each position of the scene. The method realizes efficient completion of the shielding test of the scene model of the game, and game developers can quickly know the shielding condition of the whole scene, thereby bringing great convenience to the scene test.
It should be noted that the main body for executing the above steps may be the terminal shown in fig. 1, but is not limited thereto.
Embodiments of the present invention also provide a storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the above method embodiments when executed.
Alternatively, in the present embodiment, the storage medium may be configured to store a computer program for executing the steps of:
s1, determining a current game interface where the first object is located, wherein the current game interface comprises a model chartlet;
s2, determining the pixel value of a first pixel channel in the current game interface;
s3, calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface and the pixel value of each pixel channel of the first object.
Optionally, in this embodiment, the storage medium may include, but is not limited to: various media capable of storing computer programs, such as a usb disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.
Embodiments of the present invention also provide an electronic device comprising a memory having a computer program stored therein and a processor arranged to run the computer program to perform the steps of any of the above method embodiments.
Optionally, the electronic apparatus may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
Optionally, in this embodiment, the processor may be configured to execute the following steps by a computer program:
s1, determining a current game interface where the first object is located, wherein the current game interface comprises a model chartlet;
s2, determining the pixel value of a first pixel channel in the current game interface;
s3, calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface and the pixel value of each pixel channel of the first object.
Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation manners, and this embodiment is not described herein again.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
In the above embodiments of the present invention, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the embodiments provided in the present application, it should be understood that the disclosed technology can be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units may be a logical division, and in actual implementation, there may be another division, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, units or modules, and may be in an electrical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
The foregoing is only a preferred embodiment of the present invention, and it should be noted that, for those skilled in the art, various modifications and decorations can be made without departing from the principle of the present invention, and these modifications and decorations should also be regarded as the protection scope of the present invention.

Claims (10)

1. A method for calculating an occlusion rate, comprising:
determining a current game interface where a first object is located, wherein the current game interface comprises a model chartlet;
determining a pixel value of a first pixel channel in the current game interface;
calculating the occlusion rate of the first object occluded by the model map in the current game interface based on the pixel value of the first pixel channel in the current game interface and the pixel value of each pixel channel of the first object;
wherein calculating an occlusion rate at which the first object is occluded by the model map in the current game interface based on pixel values of the first pixel channel in the current game interface comprises:
determining a total pixel value for the first pixel channel included in the first object;
calculating the ratio of the pixel value of the first pixel channel in the current game interface to the total pixel value;
a first occlusion rate is determined based on the ratio.
2. The method of claim 1, wherein prior to determining the current game interface at which the first object is located, the method further comprises:
traversing the model map in the game scene of the current game interface;
setting the pixel value of a first pixel channel of the model map to be a minimum value, wherein the pixel values of other pixel channels except the first pixel channel in the model map are unchanged.
3. The method of claim 2, wherein determining the pixel value for each pixel channel of the first object comprises:
setting a pixel value of the first pixel channel in the first object to a maximum value;
setting pixel values of other pixel channels in the first object except the first pixel channel to be minimum values.
4. The method of claim 3, wherein determining the current game interface at which the first object is located comprises:
determining a coordinate point where the first object is located in the game scene;
and intercepting the game interface within a preset range by taking the coordinate point as an origin to obtain the current game interface.
5. The method of claim 1, wherein after calculating an occlusion rate for the first object being occluded by the model map in the current game interface based on pixel values of the first pixel channel in the current game interface, the method further comprises:
determining the occlusion rate of the first object at each coordinate point in a game scene;
setting different color marks at each coordinate point where the first object is located based on the shielding rate at each coordinate point;
drawing an occlusion rate thermodynamic diagram of the first object in the game scene with the different color identification.
6. The method of claim 5, wherein after drawing an occlusion rate thermodynamic diagram of the first object in the game scene with the different color identification, the method further comprises:
setting each positioning point of the first object at the different color identifier, wherein each positioning point comprises: each occlusion rate corresponding to each color identifier, and a coordinate value of the first object at each color identifier;
and displaying the occlusion condition of the first object in the game scene by utilizing the positioning points.
7. The method of claim 6, wherein displaying the occlusion condition of the first object in the game scene using the respective anchor points comprises:
sending the first object to a triggered localization point;
viewing an occlusion rate of the first object at the location point.
8. An occlusion rate calculation apparatus, comprising:
the first determining module is used for determining a current game interface where a first object is located, wherein the current game interface comprises a model chartlet;
the second determining module is used for determining the pixel value of the first pixel channel in the current game interface;
a calculation module, configured to calculate, based on a pixel value of the first pixel channel in the current game interface and a pixel value of each pixel channel of the first object, an occlusion rate at which the first object is occluded by the model map in the current game interface;
the calculation module is further configured to determine a total pixel value of the first pixel channel included in the first object, calculate a ratio of the pixel value of the first pixel channel in the current game interface to the total pixel value, and determine a first occlusion rate based on the ratio.
9. A storage medium, in which a computer program is stored, wherein the computer program is arranged to perform the method of any of claims 1 to 7 when executed.
10. An electronic device comprising a memory and a processor, wherein the memory has stored therein a computer program, and wherein the processor is arranged to execute the computer program to perform the method of any of claims 1 to 7.
CN201811474315.4A 2018-12-04 2018-12-04 Occlusion rate calculation method and device, storage medium and electronic device Active CN109568961B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811474315.4A CN109568961B (en) 2018-12-04 2018-12-04 Occlusion rate calculation method and device, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811474315.4A CN109568961B (en) 2018-12-04 2018-12-04 Occlusion rate calculation method and device, storage medium and electronic device

Publications (2)

Publication Number Publication Date
CN109568961A CN109568961A (en) 2019-04-05
CN109568961B true CN109568961B (en) 2022-06-21

Family

ID=65927333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811474315.4A Active CN109568961B (en) 2018-12-04 2018-12-04 Occlusion rate calculation method and device, storage medium and electronic device

Country Status (1)

Country Link
CN (1) CN109568961B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112843730A (en) * 2020-12-31 2021-05-28 上海米哈游天命科技有限公司 Shooting method, device, equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106251338A (en) * 2016-07-20 2016-12-21 北京旷视科技有限公司 Target integrity detection method and device
CN108319953A (en) * 2017-07-27 2018-07-24 腾讯科技(深圳)有限公司 Occlusion detection method and device, electronic equipment and the storage medium of target object
CN108805971A (en) * 2018-05-28 2018-11-13 中北大学 A kind of ambient light masking methods
CN108854070A (en) * 2018-06-15 2018-11-23 网易(杭州)网络有限公司 Information cuing method, device and storage medium in game

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091737A (en) * 2001-07-13 2003-03-28 Sony Computer Entertainment Inc Plotting processor, recording medium with plotting processing program recorded thereon, plotting processing program and plotting processing method
US8072470B2 (en) * 2003-05-29 2011-12-06 Sony Computer Entertainment Inc. System and method for providing a real-time three-dimensional interactive environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106251338A (en) * 2016-07-20 2016-12-21 北京旷视科技有限公司 Target integrity detection method and device
CN108319953A (en) * 2017-07-27 2018-07-24 腾讯科技(深圳)有限公司 Occlusion detection method and device, electronic equipment and the storage medium of target object
CN108805971A (en) * 2018-05-28 2018-11-13 中北大学 A kind of ambient light masking methods
CN108854070A (en) * 2018-06-15 2018-11-23 网易(杭州)网络有限公司 Information cuing method, device and storage medium in game

Also Published As

Publication number Publication date
CN109568961A (en) 2019-04-05

Similar Documents

Publication Publication Date Title
CN109685909B (en) Image display method, image display device, storage medium and electronic device
US11880956B2 (en) Image processing method and apparatus, and computer storage medium
CN106548516B (en) Three-dimensional roaming method and device
CN108564646A (en) Rendering intent and device, storage medium, the electronic device of object
US20160180593A1 (en) Wearable device-based augmented reality method and system
CN106157354B (en) A kind of three-dimensional scenic switching method and system
CN111161422A (en) Model display method for enhancing virtual scene implementation
CN108765520B (en) Text information rendering method and device, storage medium and electronic device
CN112446939A (en) Three-dimensional model dynamic rendering method and device, electronic equipment and storage medium
US10921796B2 (en) Component information retrieval device, component information retrieval method, and program
CN111240977A (en) Performance test method, device and equipment for game scene and storage medium
CN108230434B (en) Image texture processing method and device, storage medium and electronic device
CN108837510A (en) Methods of exhibiting and device, storage medium, the electronic device of information
CN112274934A (en) Model rendering method, device, equipment and storage medium
CN109568961B (en) Occlusion rate calculation method and device, storage medium and electronic device
US20240139627A1 (en) Game display method and apparatus, and electronic device, and storage medium
CN109214979B (en) Method and apparatus for fusing objects in panoramic video
CN108615261A (en) The processing method, processing unit and storage medium of image in augmented reality
CN113269781A (en) Data generation method and device and electronic equipment
CN115797579A (en) Image superposition method and device for three-dimensional map, electronic equipment and storage medium
CN112831982A (en) Processing method, device and equipment for clothes color identification and storage medium
CN113313807B (en) Picture rendering method and device, storage medium and electronic device
CN113223186B (en) Processing method, equipment, product and device for realizing augmented reality
CN109344350A (en) A kind of information processing method and its equipment
CN111462343B (en) Data processing method and device, electronic equipment and storage medium

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
GR01 Patent grant
GR01 Patent grant