WO2022237289A1 - 震动控制方法、装置、移动终端及存储介质 - Google Patents
震动控制方法、装置、移动终端及存储介质 Download PDFInfo
- Publication number
- WO2022237289A1 WO2022237289A1 PCT/CN2022/079665 CN2022079665W WO2022237289A1 WO 2022237289 A1 WO2022237289 A1 WO 2022237289A1 CN 2022079665 W CN2022079665 W CN 2022079665W WO 2022237289 A1 WO2022237289 A1 WO 2022237289A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- content
- texture
- mobile terminal
- content information
- vibration
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000004044 response Effects 0.000 claims abstract description 23
- 230000008859 change Effects 0.000 claims description 34
- 239000000872 buffer Substances 0.000 claims description 23
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 17
- 239000008186 active pharmaceutical agent Substances 0.000 description 81
- 238000012545 processing Methods 0.000 description 39
- 239000012634 fragment Substances 0.000 description 16
- 238000009877 rendering Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 239000008280 blood Substances 0.000 description 8
- 210000004369 blood Anatomy 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004040 coloring Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000034994 death Effects 0.000 description 1
- 231100000517 death Toxicity 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
- A63F13/28—Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
- A63F13/285—Generating tactile feedback signals via the game input device, e.g. force feedback
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/30—Features 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/302—Features 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 specially adapted for receiving control signals not targeted to a display device or game input means, e.g. vibrating driver's seat, scent dispenser
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/50—Features 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 details of game servers
- A63F2300/53—Features 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 details of game servers details of basic data processing
- A63F2300/538—Features 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 details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
Definitions
- the present application relates to the technical field of mobile terminals, and more specifically, to a vibration control method, device, mobile terminal and storage medium.
- the present application proposes a vibration control method, device, mobile terminal and storage medium.
- the embodiment of the present application provides a vibration control method applied to a mobile terminal, the method comprising: during the running of the game, in response to a drawing instruction of a graphics application programming interface (Application Programming Interface, API), Acquiring drawing data of the game interface to be drawn; determining content information of a specified area in the game interface based on the drawing data; controlling vibration of the mobile terminal if the content information satisfies a vibration triggering condition.
- a vibration control method applied to a mobile terminal comprising: during the running of the game, in response to a drawing instruction of a graphics application programming interface (Application Programming Interface, API), Acquiring drawing data of the game interface to be drawn; determining content information of a specified area in the game interface based on the drawing data; controlling vibration of the mobile terminal if the content information satisfies a vibration triggering condition.
- a vibration control method applied to a mobile terminal, the method comprising: during the running of the game, in response to a drawing instruction of a graphics application programming interface
- an embodiment of the present application provides a vibration control device, which is applied to a mobile terminal.
- the device includes: a data acquisition module, a content acquisition module, and a vibration trigger module, wherein the data acquisition module is used to In the process, in response to the drawing instruction of the graphics application programming interface API, the drawing data of the game interface to be drawn is obtained; the content acquisition module is used to determine the content information of the specified area in the game interface based on the drawing data;
- the vibration triggering module is configured to control the vibration of the mobile terminal if the content information satisfies a vibration triggering condition.
- the embodiment of the present application provides a mobile terminal, including: one or more processors; memory; one or more application programs, wherein the one or more application programs are stored in the memory and Configured to be executed by the one or more processors, the one or more programs configured to execute the vibration control method provided in the first aspect above.
- the embodiment of the present application provides a computer-readable storage medium, where program code is stored in the computer-readable storage medium, and the program code can be invoked by a processor to execute the vibration provided in the above-mentioned first aspect. Control Method.
- Fig. 1 shows a flowchart of a vibration control method according to an embodiment of the present application.
- FIG. 2 shows a schematic diagram of the OpenGL rendering principle provided by an embodiment of the present application.
- Fig. 3 shows a flowchart of a vibration control method according to another embodiment of the present application.
- Fig. 4 shows a flowchart of a vibration control method according to yet another embodiment of the present application.
- Fig. 5 shows a schematic diagram of a software architecture provided by the embodiment of the present application for implementing the vibration control method in the embodiment of the present application.
- Fig. 6 shows a flowchart of a vibration control method according to yet another embodiment of the present application.
- FIG. 7 shows a schematic diagram of an interface provided by an embodiment of the present application.
- FIG. 8 shows another schematic interface provided by the embodiment of the present application.
- FIG. 9 shows another schematic interface provided by the embodiment of the present application.
- Fig. 10 shows another schematic interface provided by the embodiment of the present application.
- FIG. 11 shows yet another schematic diagram of an interface provided by the embodiment of the present application.
- Fig. 12 shows yet another schematic interface provided by the embodiment of the present application.
- Fig. 13 shows a schematic diagram of yet another interface provided by the embodiment of the present application.
- Fig. 14 shows a block diagram of a vibration control device according to an embodiment of the present application.
- Fig. 15 is a block diagram of a mobile terminal for performing a vibration control method according to an embodiment of the present application according to an embodiment of the present application.
- Fig. 16 is a storage unit for saving or carrying program codes for realizing the vibration control method according to the embodiment of the present application according to the embodiment of the present application.
- the mobile terminal recognizes the scene that needs to be vibrated, usually by acquiring game sound and intercepted game interface, and then through AI algorithm, combined with additional hardware acceleration, identifies the scene that needs to be vibrated, and then triggers the vibration.
- the inventor found that by using the AI algorithm or adding an additional processing chip to identify the user interface (UI, User Interface) or game audio, and to identify the scene that triggers the vibration, on the one hand, because of the screen capture, using the AI algorithm or The processing by the chip leads to higher power consumption and increased cost; on the other hand, there will be various sound interference in the game, and the user can customize the position of the UI interface, resulting in low recognition accuracy.
- UI User Interface
- the inventor proposes the vibration control method, device, mobile terminal and storage medium provided by the embodiments of the present application, which can realize that during the game process, when drawing the game interface to be displayed, determine the vibration according to the drawing data of the game interface The content information of the specified area, and then control the vibration during the game, avoiding the problem of high power consumption caused by using the AI algorithm to identify the vibration scene, and improving the battery life of the mobile terminal.
- the specific vibration control method will be described in detail in the subsequent embodiments.
- FIG. 1 shows a schematic flowchart of a vibration control method provided by an embodiment of the present application.
- the vibration control method is applied to a vibration control device 400 as shown in FIG. 13 and a mobile terminal 100 ( FIG. 14 ) configured with the vibration control device 400 .
- the following will take a mobile terminal as an example to illustrate the specific process of this embodiment.
- the mobile terminal used in this embodiment may be a smart phone, a tablet computer, etc., which is not limited here.
- the process shown in Figure 1 will be described in detail below, and the vibration control method may specifically include the following steps:
- Step S110 during the running of the game, in response to the drawing instruction of the graphics application programming interface API, obtain the drawing data of the game interface to be drawn.
- the mobile terminal can monitor the call of the graphics API, so that when the drawing command of the graphics API is monitored, it can obtain the drawing data used to draw the game interface, so that the subsequent drawing data can be , to determine the content information of the specified area in the game interface.
- the above graphics APIs may include: OpenGL, OpenGL ES, OpenCV, Vulkan, DirectX, Metal, etc.
- the specific graphics API in the mobile terminal may not be limited.
- the mobile terminal may include a CPU (Central Processing Unit, central processing unit) and a GPU (Graphics Processing Unit, graphics processing unit).
- the mobile terminal When the mobile terminal renders the game interface, it can determine the graphics API used to render the game picture, and then call the determined graphics API to communicate with the driver of the underlying hardware (eg, GPU), thereby starting the corresponding function of the GPU to render the game picture.
- determining the graphics API to be called may depend on CPU implementation, and calling the graphics API to implement corresponding rendering may depend on GPU implementation.
- the CPU can determine the vertex information (vertex position, normal direction, vertex color, texture coordinates, etc.) and texture information required for rendering according to the data of the game interface, and then provide them to the GPU; To the GPU, the GPU then executes the corresponding graphics API instructions in sequence according to the pipeline sequence of OpenGL to complete the rendering of the game interface.
- a schematic diagram of a pipeline of OpenGL is shown in FIG. 2 .
- the vertex array buffer is the vertex information provided by the CPU to the GPU, including vertex position, vertex color (only the color of the vertex, not related to the color of the texture), texture coordinates (for texture mapping) and other vertex information; vertex coloring
- the vertex shader is a program that processes the vertex information provided by the vertex array buffer. Each vertex provided by the vertex array buffer will execute the vertex shader.
- the next stage of the vertex shader is primitive assembly. Primitives are triangles, straight lines Or geometric objects such as point sprites; at this stage, the vertices output by the vertex shader are combined into primitives.
- rasterization is performed, which is the process of converting the primitive into a set of two-dimensional fragments, which are then processed by the fragment shader (input to the fragment shader).
- These two-dimensional fragments represent pixels that can be drawn on the screen.
- the mechanism used to generate each fragment value from the vertex shader output assigned to each primitive's vertex is called Interpolation. That is to say, the scattered vertex information provided by the CPU is turned into dense pixels on the screen.
- the vertices can be understood as graphics.
- the pixels of the graphics area can be interpolated according to the shape of the graphics (texture) coordinates, color and other information). It is worth noting that the pixels at this time are not pixels on the screen, and they do not have color.
- the fragment shader completes the coloring work.
- Fragment shading is a program used to calculate the color of fragments (pixels) in OpenGL. Fragment shading is a program of pixel-by-pixel operations, which means that each pixel will execute a fragment shader, and of course it is also parallel. There are three main types of data input to the fragment shader, including uniform variables (Uniform), vertex shader input variables (also known as variable variable varying), and samplers (Sampler). The value of the uniform variable is consistent in the vertex shader and fragment shader in the same OpenGL shader program.
- uniform variables Uniform
- vertex shader input variables also known as variable variable varying
- Samplers Samplers
- the vertex shader input variable is generally different in each pixel operation, and its value is determined by the output value of the vertex shader operation corresponding to the vertex that composes the primitive, and is determined according to the interpolation result of the pixel position.
- the sampler is used to obtain the pixel color of the texture from the set texture.
- the fragment-by-fragment operation mainly includes: pixel attribution test, cropping test, template and depth test, blending and dithering. Finally, put the generated fragments into the frame buffer, and the screen draws the fragments in the buffer to complete the rendering and display of the game interface.
- the CPU When the mobile terminal renders and displays the game interface, the CPU needs to provide corresponding graphics API drawing instructions to complete the rendering process of the game interface by the GPU. When the CPU submits these graphics API drawing instructions, it can be monitored, so that drawing data for drawing the game interface to be drawn can be obtained according to these graphics API instructions.
- the drawing data may include at least vertex information and texture information.
- vertex information can be used to determine the position of each graphic element in the game interface, so it can be used to determine the content of the area that needs attention in the game interface
- texture information can be used to determine the specific content information in the graphic element , so the content information of the specified area in the game interface can be subsequently determined based on the vertex information and texture information.
- the mobile terminal may intercept the graphics API instruction submitted by the CPU to the GPU by hooking the graphics API, so as to determine the drawing data.
- the mobile terminal can use the hook function to monitor the API and analyze the drawing instructions, so as to intercept the corresponding drawing instructions, and capture the drawing data for drawing the game interface to be displayed according to the corresponding drawing instructions.
- Step S120 Based on the drawing data, determine the content information of the designated area in the game interface.
- the mobile terminal may determine the content information of the designated area in the game interface based on the drawing data.
- the content information that needs to be determined can be set according to the scene that needs to provide vibration in the game.
- the content information may include the content type of the drawn content, the drawn content, the change information of the drawn content, and the like.
- the content type of the drawn content can be the type corresponding to the content of the designated area in the game interface. For example, if the content of the designated area is a weapon icon, the content type can be the weapon type.
- the content of the designated area is a reminder of the number of kills
- the content type can be prompts corresponding to different numbers of kills
- the drawn content can be the content of a specified area in the game interface, for example, the content of the specified area is the number of kills, the number of bullets, blood volume, etc.
- the change information of the drawn content can be The change of the content of the designated area may include whether the content has changed or not changed, and the specific change when the change occurs. Certainly, the specific content information that needs to be determined may not be limited.
- the designated area in the game interface may be a preset area that needs to be monitored, so that when the content information in the designated area satisfies a corresponding condition, a vibration is triggered.
- the specific location of the specified area in the game interface is not limited.
- the specified area may be a display area for the number of bullets, a display area for weapon icons, a display area for the number of kills, and the like.
- the mobile terminal when the mobile terminal responds to graphics API drawing instructions, obtains drawing data and determines the content information of the specified area based on the drawing data, it does not affect the normal drawing of the game interface, that is, the process of obtaining drawing data and determining the specified area based on the drawing data Content information and rendering in response to graphics API drawing commands are performed synchronously. That is to say, when the CPU submits the corresponding graphics drawing instructions to the GPU, the CPU will also obtain the drawing data of the game interface to be drawn according to these graphics drawing instructions, and determine the content information of the specified area in the game interface based on the drawing data .
- Step S130 If the content information satisfies a vibration trigger condition, control the mobile terminal to vibrate.
- the mobile terminal after the mobile terminal determines the content information, it can match the content information with the vibration trigger condition; if the content information meets the vibration trigger condition, it means that vibration is required, so the mobile terminal can be controlled to vibrate; If the content information does not satisfy the vibration triggering condition, the mobile terminal may not be controlled to vibrate, or the mobile terminal may be controlled to stop vibrating.
- the drawing data when drawing the game interface during the running of the game, it is possible to monitor whether the content information in the designated area meets the vibration triggering conditions, and trigger the vibration when the vibration triggering conditions are met, effectively reducing the monitoring of the vibration scene when the mobile terminal realizes the game It also avoids the power consumption caused by adding additional processing chips.
- the vibration trigger condition may include: the content information changes from the content information corresponding to the previously specified area, or the content information matches the preset content information. That is to say, when the determined content information of the designated area to be drawn changes relative to the previous content information of the designated area, or when the determined content information matches the preset content information, the mobile terminal is controlled to vibrate. Understandably, in some scenarios, if the content information of the specified area changes, vibration needs to be performed. For example, the specified area is the number of remaining bullets of the gun. If it changes, it means that the gun is currently being fired, so the vibration can be triggered , as another example, the designated area is a blood bar.
- the vibration can be triggered; in some scenarios, the content of the designated area may match the set content, and Vibration is required.
- the designated area is the number of kills. If the number of kills reaches the corresponding value, the number of kills matches the set value at this time, so the vibration can be triggered.
- the specific vibration triggering condition can be determined according to the actual game scene.
- the vibration control method provided by the embodiment of the present application is to determine the content information of the specified area by obtaining the drawing data when the API drawing command is detected, and decide whether to vibrate according to the content information, this process is in Before the game interface to be drawn is actually displayed, that is, when the drawing command is submitted to the GPU for drawing, it can improve the real-time performance of vibration control, avoid screenshots of the game interface, and use the AI algorithm to identify the vibration control scheme In the middle, the vibration control is not timely.
- the content information of the specified area is determined by obtaining the drawing data, and whether to vibrate is determined according to the content information, which is performed when the drawing instruction is submitted to the GPU for drawing, so
- the mobile terminal can be controlled to vibrate while the game interface to be drawn is subsequently displayed, which ensures the consistency of the vibration of the game interface and the mobile terminal, and improves the accuracy of vibration control.
- the vibration control method provided by the embodiment of the present application realizes that during the game process, when drawing the game interface to be displayed, the content information of the designated area is determined according to the drawing data of the game interface, and then the vibration when the game is in progress is controlled, avoiding the use of
- the AI algorithm recognizes the problem of high power consumption caused by shaking scenes, improves the battery life of mobile terminals, and avoids the cost of adding additional chips; in addition, since there is no need to take screenshots or extract game sounds, it is possible to determine scenes that require vibration , so the accuracy of vibration control is improved; moreover, when the API drawing command is detected, the content information of the specified area is determined by obtaining the drawing data, and whether to vibrate is determined according to the content information, which is performed after submitting the drawing command to the GPU. It is carried out during drawing, so it can improve the real-time performance of vibration control, and avoid the problem of untimely vibration control in the scheme of controlling vibration by taking screenshots of the game interface and using AI algorithm recognition.
- FIG. 3 shows a schematic flowchart of a vibration control method provided in another embodiment of the present application.
- the vibration control method is applied to the above-mentioned mobile terminal, and the process shown in FIG. 3 will be described in detail below.
- the vibration control method may specifically include the following steps:
- Step S210 During the running of the game, in response to a graphics API instruction of a specified type in the graphics API drawing instructions, determine the drawing data of the game interface to be drawn.
- the drawing instructions of the graphics API can be monitored, so as to determine the drawing data of the game interface to be drawn when a specified type of instruction of the graphics API is detected. Understandably, when rendering the game interface, more graphics API instructions need to be submitted to the GPU to complete the rendering of the game interface, but some instructions are not related to the drawing data that needs to be determined, such as the one used to clear the specified buffer data The command GLbitfield mask, the command GLclampfred for clearing the color value, etc. Therefore, when monitoring the drawing instructions of the graphics API, the graphics API instructions of the specified type in the drawing instructions of the graphics API can be intercepted, that is, the unnecessary graphics API instructions are filtered, and only the graphics API of the specified type is responded instruction.
- the specified type of graphics drawing instructions may include a first graphics API instruction related to a data buffer (Buffer) and a second graphics API instruction related to a texture.
- the first graphics API instruction related to Buffer will involve writing the data for drawing the interface of the game into the buffer, so the data required in the drawing data can be obtained by intercepting the first graphics API instruction;
- the second graphics API instruction related to the texture will involve the information of the texture, so the data related to the texture can be obtained by intercepting the second graphics API instruction, so that by responding to the first graphics API instruction and the second graphics API instruction , you can get the required drawing data.
- the drawing data that needs to be obtained for drawing the game interface to be drawn may include vertex data and an identity tag corresponding to the texture.
- the vertex data includes vertex position, vertex color, and texture coordinates, and of course, the vertex data may also include normal direction and the like.
- the identity tag corresponding to the texture is used to determine what the texture is.
- the identity tag can be Label or Hash. Understandably, when the same texture object is created at different times, its corresponding object address or identity document (id, Identity document) may be different, but the identity tag is the same, so the identity tag can be used to identify what kind of texture is The content information can then be used to determine the content information of the specified area.
- the identity label of the texture object corresponding to a certain gun is Icon_WEP_SCAR_W, then it can be determined which gun it is based on the identity label.
- the method of generating Hash from the content can be used as the identity tag to distinguish different texture objects.
- the mobile terminal may respond to the first graphics API command to obtain vertex data for drawing the game interface, wherein the vertex data includes vertex position, vertex color and texture coordinates; the mobile terminal may also respond to the second graphics API command to obtain An identity tag corresponding to each texture used to draw the game interface.
- the mobile terminal may acquire vertex data for drawing the game interface from the vertex buffer.
- the mobile terminal can copy the vertex data from the vertex buffer to the cache, so as to obtain the vertex data for drawing the game interface, so as to determine the content information of the designated area later.
- the vertex buffer can be VBO/VAO (vertex buffer object or vertex array object). Since vertex data such as vertex position, vertex color, texture coordinates and normal direction are provided in the vertex buffer, the required vertex data can be obtained.
- the mobile terminal may acquire vertex data from the used vertex attribute and vertex index Buffer.
- the graphics API command to obtain the vertex attribute can be glBindBuffer(GL_ARRAY_BUFFER, VBO), glBufferData(GL_ARRAY_BUFFER, sizeof(vertices), vertices, GL_STATIC_DRAW);
- the graphics API command to obtain the vertex index can be glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, EBO), glBufferData( GL_ELEMENT_AR RAY_BUFFER, sizeof(indices), indices, GL_STATIC_DRAW), etc.
- the above are only examples, and do not represent limitations on specific first graphics API instructions.
- the mobile terminal when it acquires the identity tag of the texture in response to the second graphics API instruction, it can find the identity tag of the texture through a texture ID (texture ID) and a mapping table.
- the second graphics API command may include glAtiveTexture, glBindTexture, glDrawElements, etc.
- glAtiveTexture glBindTexture
- glDrawElements etc.
- the above is only an example, and does not represent a limitation to the specific first graphics API command.
- Step S220 Based on the drawing data, determine the content information of the designated area in the game interface.
- Step S230 If the content information satisfies a vibration trigger condition, control the mobile terminal to vibrate.
- step S220 and step S230 in this embodiment of the present application, reference may be made to the contents of other embodiments for step S220 and step S230, and details are not repeated here.
- the vibration control method provided by the embodiment of the present application obtains the required drawing data of the game interface to be drawn by responding to the specified type of graphics API instructions, and then determines the content information of the specified area through the drawing data, and then controls the vibration during the game. Vibration avoids the problem of high power consumption caused by using AI algorithm to identify vibration scenes, improves the battery life of mobile terminals, and avoids the cost of adding additional chips. Moreover, by screening the graphics API commands and only responding to the specified types of graphics API commands, the processing of the processor can be reduced, and the power consumption of the mobile terminal can be reduced.
- FIG. 4 shows a schematic flowchart of a vibration control method provided in another embodiment of the present application.
- the vibration control method is applied to the above-mentioned mobile terminal, and the process shown in FIG. 4 will be described in detail below.
- the vibration control method may specifically include the following steps:
- Step S310 Responding to the first graphics API instruction related to data buffering, acquire vertex data for drawing the game interface, where the vertex data includes vertex position, vertex color and texture coordinates.
- Step S320 In response to the second graphics API instruction related to the texture, obtain the identity tag corresponding to each texture used to draw the game interface.
- Step S330 Responding to the third graphics API instruction related to drawing, based on the vertex data and the identity label, obtain the vertex data corresponding to the currently drawn primitive and the identity label of the texture.
- the game interface will contain multiple graphic elements.
- the multiple graphic elements may be divided into multiple drawing instructions to complete.
- Each drawing instruction can be responsible for drawing multiple graphics. Part of the primitive in the meta.
- the CPU submits graphics API drawing instructions to the GPU, it can submit the graphics API instructions related to the currently drawn graphics primitives, so that the drawing instructions can be submitted multiple times to complete the rendering of all graphics primitives, and finally complete the rendering and display of the game interface. Therefore, the mobile terminal may also respond to the drawing-related third graphics API instruction, and based on the vertex data and the identity label, obtain the vertex data corresponding to the currently drawn primitive and the identity label of the texture.
- the third graphics API instruction related to drawing may be drawTriangles(Textures, Buffers) and so on.
- Step S340 Based on the vertex data corresponding to the currently drawn primitive, determine whether the content of the specified area is currently being drawn.
- the mobile terminal after the mobile terminal obtains the vertex data and the identity tag corresponding to the currently drawn primitive, it can determine the position of the currently drawn primitive in the game interface based on the vertex position in the obtained vertex data. position, and then based on the determined position, determine whether the currently drawn primitive is in the specified area; if it is in the specified area, it means that the content of the specified area is currently being drawn; if it is not in the specified area, it means that it is not currently drawing in the specified area content.
- Step S350 If the content of the designated area is currently being drawn, determine the content information of the designated area based on the vertex data corresponding to the currently drawn primitive and the identity tag of the texture.
- the mobile terminal can determine the content information of the specified area based on the vertex data corresponding to the currently drawn graphics and the identity tag of the texture, so that the content information of the specified area can be determined according to the content information of the specified area. , to determine if vibration is required. If it is determined that the content in the specified area is not currently being drawn, it means that the drawn content does not belong to the content in the area associated with the shaking scene, so the subsequent processing may not be performed.
- Step S360 If the content information satisfies a vibration trigger condition, control the mobile terminal to vibrate.
- step S360 reference may be made to the contents of other embodiments, which will not be repeated here.
- an instruction interception module 111 may run in the mobile terminal.
- the instruction processing module 112 includes a first instruction processing unit 1121 , a second instruction processing unit 1122 and a third instruction processing unit 1123 .
- the instruction interception module 111 can intercept the GPU graphics API instruction through hook mode, and after the intercepted instruction is filtered, the first graphics API instruction, the second graphics API instruction and the third graphics API instruction are screened out, and the filtered instruction is sent into In the instruction processing module 112; the first instruction processing unit 1121 in the instruction processing module 112 can respond to the first graphics API instruction, and obtain the vertex data for drawing the game interface; the second instruction processing unit 1122 in the instruction processing module 112 can In response to the second graphics API instruction, obtain the identity tag corresponding to each texture used to draw the game interface; the third instruction processing unit 1123 in the instruction processing module 112 can respond to the third graphics API instruction, based on the vertex data and the identity tag, obtain The vertex data corresponding to the currently drawn primitive and the identity tag of the texture; the instruction processing module 112 passes the processing result to the logic processing module 113 after processing the filtered graphics API instruction, and the logic processing module 113 processes the module 112 according to the instruction After determining the content information of the specified area, determine whether to trigger
- the vibration control method when the game interface is completed by multiple drawing instructions, it is determined whether the content of the specified area is being drawn according to the obtained vertex data. In the case of currently drawing the content of the specified area, Then according to the content information, the vibration during the game can be controlled according to the content information, avoiding the problem of high power consumption caused by using the AI algorithm to identify the vibration scene, improving the battery life of the mobile terminal, and avoiding the need to add additional chips. come the cost.
- FIG. 6 shows a schematic flowchart of a vibration control method provided in another embodiment of the present application.
- the vibration control method is applied to the above-mentioned mobile terminal.
- the process shown in FIG. 6 will be described in detail below.
- the vibration control method may specifically include the following steps:
- Step S410 During the running of the game, in response to the drawing instruction of the graphics application programming interface API, obtain the drawing data of the game interface to be drawn.
- step S310 for step S310, reference may be made to the contents of the foregoing embodiments, and details are not repeated here.
- Step S420 Based on the drawing data, acquire the texture corresponding to the designated area in the game interface as the target texture.
- the texture corresponding to the designated area when determining the content information of the designated area based on the acquired drawing data, the texture corresponding to the designated area may be determined according to the acquired drawing data, so as to determine the content in the designated area according to the texture of the designated area content information.
- the mobile terminal may determine, based on the position of the vertex in the drawing data, the graphic element whose display position is the specified area in the game interface; and then obtain the texture corresponding to the determined graphic element as the target texture. It can be understood that the position of the vertex represents the position of the primitive in the game interface, so the primitive in the specified area can be determined accordingly, and the texture corresponding to the primitive is the texture corresponding to the specified area.
- the texture of the currently drawn primitive can be directly used as the specified area texture.
- Step S430 Based on the target texture, determine content information of a designated area in the game interface.
- the content information of the specified area in the game interface can be determined based on the target texture.
- the acquired drawing data may include an identity tag corresponding to the texture
- the content information to be determined may include the content type of the drawing content in the specified area.
- the mobile terminal can acquire the identity tag corresponding to the target texture in the drawing data; then, based on the correspondence between the identity tag and the content type, determine the content type of the drawing content in the specified area. For example, in a gunfight game, the designated area is the area of the weapon icon, and the identity label of the texture object corresponding to a certain gun is Icon_WEP_SCAR_W, then the gun type can be determined according to the identity label.
- the drawing data may include texture coordinates of the texture
- the content information may include drawing content of a specified area.
- the mobile terminal can obtain the texture coordinates of the target texture in the drawing data as the target texture coordinates; based on the correspondence between the texture coordinates and the drawing content and the target texture coordinates, determine the drawing content corresponding to the target texture coordinates.
- the corresponding relationship between the texture coordinates and the drawing content can be pre-recognized offline through a recognition tool (such as RenderDoc).
- the specified area is a text display area related to text such as the number of remaining bullets, the number of kills, and the number of deaths
- the corresponding relationship between text and texture coordinates can be recognized offline.
- texture coordinates are located in the texture space.
- a texture When a texture is applied to a primitive, its texture pixel address must be mapped to the object coordinate system, and then translated to the screen coordinate system or pixel position.
- Each texel in can be declared by its coordinates, so when the texture content changes, the texture coordinates also change.
- the texture coordinates that can be obtained in the drawing data can be used to determine the drawing content.
- the acquired drawing data may include texture coordinates of textures
- the content information to be acquired may include change information of content in a specified area.
- the mobile terminal can obtain the texture coordinates corresponding to the texture marked in the drawing data; based on the texture coordinates corresponding to the target texture, determine the change information of the content of the designated area, and the change information includes whether the content of the designated area has changed.
- the texture coordinates also change, so it can be determined whether the content of the specified area changes according to whether the texture coordinates change.
- the above change information may also include the range of change, etc.
- the range of change of the texture content may be determined according to the range of change of the texture coordinates, and then the range of change of the content of the specified area may be determined.
- the content information to be determined may include one or more of content type, drawing content, and change information.
- the specific content information that needs to be determined by the mobile terminal is not limited, and can be set according to the vibration scene that needs to be paid attention to in the actual game.
- Step S440 If the content information satisfies a vibration trigger condition, control the mobile terminal to vibrate.
- the content information when the content information includes the content type of the drawing content in the specified area, it may be determined whether the content type is the specified content type, so as to determine whether the content information meets the vibration condition, so that when the content type is the specified content type, Control the vibration of the mobile terminal.
- the content type when the content type is the specified content type, it can be determined that the content information in the specified area satisfies the vibration triggering condition; when the content type is not the specified content type, it can be determined that the content information in the specified area does not meet the vibration triggering condition.
- the designated content type may be determined according to the actual scene requiring vibration.
- the game scene can be a MOBA game, please refer to Figure 7, the designated area can be the killing prompt area A1, different killing prompts correspond to different prompt content types, and the content type at this time is the prompt content type, here When specifying the content type, it may be: three kills, four kills, five kills, super gods, etc. corresponding to the respective prompt content types.
- the prompt content type in FIG. 7 is the prompt content type corresponding to "five kills"
- the vibration of the mobile terminal may be controlled to improve the user's game experience.
- the game scene can be an FPS gun game
- the designated area can be the area A2 where the gun icon is located
- the content type at this time is the gun type
- the designated content type can be the designated gun type at this time.
- the vibration of the mobile terminal can be controlled to achieve the effect of vibration when a specific gun is currently used, so as to improve the user's gaming experience.
- the content information when the content information includes the drawing content of the specified area, it can be determined whether the drawing content matches the specified content. If the drawing content matches the specified content, it is determined that the content information meets the vibration trigger condition; if the drawing content matches the specified If the content does not match, it is determined that the content information does not meet the vibration triggering condition.
- the specified content may be determined according to the actual scene requiring vibration.
- the game scene can be a MOBA game.
- the specified area can be the display area A3 of the number of kills.
- the drawn content is the number of kills
- the specified content is the specified number of kills.
- the quantity may be the quantity required to control the vibration of the mobile terminal. For example, when the number of kills in Figure 8 is the specified number "8", the mobile terminal can be controlled to vibrate, so that when the number of kills reached by the user reaches the corresponding number, the mobile terminal vibrates to improve the user's gaming experience.
- the content information when the content information includes change information of the content of the specified area, it can be determined according to the change information whether the content of the specified area changes, and when the content of the specified area changes, it is determined that the content information satisfies the vibration trigger condition , to control the vibration of the mobile terminal; when the content in the designated area does not change, it is determined that the content information does not meet the vibration triggering condition.
- the game scene is an FPS gun game
- the designated area may be the area A4 where the blood bar is located.
- FIG. 10 and FIG. 11 at the same time.
- the blood volume bar A4 changes, it can indicate that the character is under attack, so it can vibrate, so as to provide the user with a more realistic game experience.
- the game scene is an FPS gun game
- the designated area can display the number of remaining bullets A5.
- the number of remaining bullets changes, it can indicate that a shot has been fired, so it can vibrate, thereby providing the user with a real gaming experience.
- the mobile terminal may also determine a vibration parameter according to the content information; and then control the mobile terminal to vibrate according to the vibration parameter.
- the vibration parameter includes at least one of the intensity and the frequency of the vibration, that is to say, when controlling the vibration of the mobile terminal, at least one of the intensity and the frequency of the vibration can also be controlled according to different content information.
- the mobile terminal can control the vibration intensity of the vibration motor, so as to control the vibration intensity during the game; the mobile terminal can control the vibration frequency of the vibration motor, so as to control the vibration frequency during the game.
- vibration intensities and/or vibration frequencies may be performed according to different drawing contents.
- the designated area is the number of kills
- vibrations with different vibration intensities can be performed when the number of kills is a different designated number.
- the vibration intensity can be proportional to the number of kills.
- the designated number includes: 8, 10 , 15, and 20, the vibration intensity corresponding to the number of kills 8, 10, 15, and 20 increases in turn, thereby providing the user with a more realistic game experience.
- vibrations with different vibration intensities and/or vibration frequencies may also be performed according to different content types.
- the designated area is a kill reminder area, and different types of kill reminders can correspond to vibrations with different vibration intensities.
- the kill reminder includes: three kills, four kills and five kills, then The vibration intensity corresponding to killing can be increased sequentially, so as to provide users with a more realistic gaming experience.
- the mobile terminal may also determine that the content of the designated area has changed, according to different degree of change , to perform vibrations of different vibration intensities and/or vibration frequencies.
- the designated area is the area where the blood volume bar is located. Different blood volume changes can correspond to vibrations with different vibration intensities.
- the vibration intensity can be proportional to the blood volume change. When , the vibration intensity is also relatively large, so that a more realistic game experience can be provided to the user.
- the above embodiments can also be combined, that is, when the content information includes the above multiple types of information at the same time, they can be combined to realize the control of vibration intensity and vibration frequency.
- the designated area includes a gun icon area, the corresponding content information is the gun type, and the designated area also includes a display area for the number of bullets, and the corresponding content information is the number of bullets; in this case, when it is determined that the number of bullets changes, Vibration with different vibration intensities can be performed according to different gun types.
- the vibration intensity can be proportional to the damage ability of the gun type. It can be realized that the greater the damage ability of the gun, the greater the vibration intensity, giving users a more realistic game. experience.
- the vibration control method obtained by the embodiment of the present application obtains the required drawing data of the game interface to be drawn by responding to a specified type of graphics API instruction, and then determines the target texture corresponding to the specified area through the drawing data, and then determines based on the target texture Content type, drawing content and change information, get content information, and then control the vibration during the game according to these content information, avoid the problem of high power consumption caused by using AI algorithm to identify vibration scenes, and improve the battery life of mobile terminals , and avoid the cost of adding additional chips. Moreover, it provides a way to control the vibration during the game according to different content information, which can improve the user's game experience.
- FIG. 14 shows a structural block diagram of a vibration control device 800 provided by an embodiment of the present application.
- the above-mentioned mobile terminal is applied to the vibration control device 800 , and the vibration control device 800 includes: a data acquisition module 810 , a content acquisition module 820 and a vibration trigger module 830 .
- the data acquisition module 810 is used to obtain the drawing data of the game interface to be drawn in response to the drawing instruction of the graphics application programming interface API during the running of the game;
- the content acquisition module 820 is used to obtain the drawing data based on the drawing data, to determine the content information of the specified area in the game interface;
- the vibration triggering module 830 is used to control the vibration of the mobile terminal if the content information satisfies the vibration triggering condition.
- the content acquisition module 820 includes a texture acquisition unit and an information determination unit.
- the texture acquisition unit is used to acquire the texture corresponding to the specified area in the game interface as the target texture based on the drawing data; the information determination unit is used to determine the content information of the specified area in the game interface based on the target texture.
- the drawing data includes an identity tag corresponding to the texture
- the content information includes a content type of the drawing content of the specified area.
- the information determination unit may be configured to: obtain an identity tag corresponding to the target texture in the drawing data; determine the content type of the drawing content in the designated area based on the correspondence between the identity tag and the content type.
- the drawing data includes texture coordinates of textures
- the content information includes drawing content of the designated area.
- the information determining unit may be configured to: obtain texture coordinates of the target texture in the drawing data as target texture coordinates; The corresponding drawing content.
- the drawing data includes texture coordinates of textures
- the content information includes change information of content in the designated area.
- the information determination unit may be configured to: acquire texture coordinates corresponding to the target texture in the drawing data; determine change information of content in the specified area based on the texture coordinates corresponding to the target texture, the change information includes the Whether the content of the specified area has changed.
- the drawing data includes vertex positions.
- the texture acquiring unit may be configured to: determine, based on the vertex positions in the drawing data, the graphics primitives in the game interface whose display position is the designated area; and acquire the textures corresponding to the graphics primitives as target textures.
- the data acquisition module 810 may be configured to: determine the drawing data of the game interface to be drawn in response to a specified type of graphics API instruction in the graphics API drawing instructions.
- the graphics drawing instructions of the specified type include a first graphics API instruction related to data buffering and a second graphics API instruction related to textures, and the drawing data includes vertex data and texture corresponding identity label.
- the data acquisition module 810 may include: a first data acquisition unit and a second data acquisition unit. The first data acquisition unit is used to obtain vertex data for drawing the game interface in response to the first graphics API instruction, and the vertex data includes vertex position, vertex color and texture coordinates; the second data acquisition unit is used to Responding to the second graphics API instruction, acquire an identity tag corresponding to each texture used to draw the game interface.
- the graphics drawing instruction of the specified type further includes a third graphics API instruction related to drawing.
- the data acquisition module 810 may also include a third data acquisition unit.
- the third data acquisition unit is configured to, in response to the third graphics API instruction, acquire the vertex data and the identity tag of the texture corresponding to the currently drawn primitive based on the vertex data and the identity tag.
- the content acquisition module 820 can be used to: determine whether the content of the specified area is currently being drawn based on the vertex data corresponding to the currently drawn primitive; if the content of the specified area is currently being drawn, then based on The vertex data corresponding to the currently drawn primitive and the identity tag of the texture determine the content information of the specified area.
- the first data acquisition unit may be configured to: acquire vertex data for drawing the game interface from a vertex buffer in response to the first graphics API instruction.
- the vibration triggering module 830 can be used to control the mobile terminal if the content information changes relative to the content information corresponding to the previously specified area, or if the content information matches the preset content information. Shake.
- the vibration triggering module 830 may be configured to: control the mobile terminal to vibrate while displaying the game interface.
- the coupling between the modules may be electrical, mechanical or other forms of coupling.
- each functional module in each embodiment of the present application may be integrated into one processing module, each module may exist separately physically, or two or more modules may be integrated into one module.
- the above-mentioned integrated modules can be implemented in the form of hardware or in the form of software function modules.
- the solution provided by this application obtains the drawing data of the game interface to be drawn in response to the drawing instructions of the graphics API during the running of the game, and determines the content information of the specified area in the game interface based on the drawing data. If the content information satisfies the vibration trigger condition, control the vibration of the mobile terminal, so that when drawing the game interface to be displayed, the content information of the designated area can be determined according to the drawing data of the game interface, and then the vibration when the game is in progress can be controlled, avoiding Use the AI algorithm to identify the problem of high power consumption caused by the vibration scene, and improve the battery life of the mobile terminal.
- FIG. 15 shows a structural block diagram of a mobile terminal provided by an embodiment of the present application.
- the mobile terminal 100 may be an electronic device capable of running application programs, such as a smart phone and a tablet computer.
- the mobile terminal 100 in this application may include one or more of the following components: a processor 110, a memory 120, a vibration motor 130, and one or more application programs, wherein one or more application programs may be stored in the memory 120 and It is configured to be executed by one or more processors 110, and one or more programs are configured to execute the methods described in the foregoing method embodiments.
- Processor 110 may include one or more processing cores.
- the processor 110 uses various interfaces and lines to connect various parts in the entire mobile terminal 100, and executes by running or executing instructions, programs, code sets or instruction sets stored in the memory 120, and calling data stored in the memory 120.
- Various functions and processing data of the mobile terminal 100 may adopt at least one of Digital Signal Processing (Digital Signal Processing, DSP), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), and Programmable Logic Array (Programmable Logic Array, PLA).
- DSP Digital Signal Processing
- FPGA Field-Programmable Gate Array
- PLA Programmable Logic Array
- the processor 110 may integrate one or a combination of a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU), a modem, and the like.
- the CPU mainly handles the operating system, user interface and application programs, etc.; the GPU is used to render and draw the displayed content; the modem is used to handle wireless communication. It can be understood that, the above-mentioned modem may not be integrated into the processor 110, but may be realized by a communication chip alone.
- the memory 120 may include random access memory (Random Access Memory, RAM), and may also include read-only memory (Read-Only Memory).
- the memory 120 may be used to store instructions, programs, codes, sets of codes, or sets of instructions.
- the memory 120 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system and instructions for implementing at least one function (such as a touch function, a sound playback function, an image playback function, etc.) , instructions for implementing the following method embodiments, and the like.
- the data storage area can also store data created during use of the mobile terminal 100 (such as phonebook, audio and video data, chat record data) and the like.
- the vibration motor 130 is used to control the operation of the vibration motor 130 to generate vibration when the mobile terminal determines a scene requiring vibration.
- the vibration motor 130 may be used to generate vibration during the running of the game.
- FIG. 16 shows a structural block diagram of a computer-readable storage medium provided by an embodiment of the present application.
- Program codes are stored in the computer-readable medium 800, and the program codes can be invoked by a processor to execute the methods described in the foregoing method embodiments.
- the computer readable storage medium 800 may be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, hard disk, or ROM.
- the computer-readable storage medium 800 includes a non-transitory computer-readable storage medium (non-transitory computer-readable storage medium).
- the computer-readable storage medium 800 has a storage space for program code 810 for executing any method steps in the above-mentioned methods. These program codes can be read from or written into one or more computer program products.
- Program code 810 may, for example, be compressed in a suitable form.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种震动控制方法、装置、移动终端及存储介质,该震动控制方法应用于移动终端,该震动控制方法包括:在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;若所述内容信息满足震动触发条件,控制所述移动终端震动。本方法可以降低游戏时震动控制时的功耗。
Description
相关申请的交叉引用
本申请要求于2021年5月11日提交的申请号为202110511837.2的中国申请的优先权,其在此出于所有目的通过引用将其全部内容并入本文。
本申请涉及移动终端技术领域,更具体地,涉及一种震动控制方法、装置、移动终端及存储介质。
随着科技水平和生活水平的快速进步,移动终端(例如智能手机、平板电脑等)被人们广泛使用,并且随着移动终端的配置越来越好,越来越多的用户会使用移动终端进行游戏。为了提升游戏体验,通常会提供4维(4D,4-Dimension)震感。移动终端的相关震动控制的方案中,通常采用人工智能(AI,Artificial Intelligence)的方式来确定需要震动的场景,但是采用AI算法来识别震动的场景,会导致移动终端的功耗较高。
发明内容
鉴于上述问题,本申请提出了一种震动控制方法、装置、移动终端及存储介质。
第一方面,本申请实施例提供了一种震动控制方法,应用于移动终端,所述方法包括:在游戏运行过程中,响应于图形应用程序编程接口(Application Programming Interface,API)的绘制指令,获取待绘制的游戏界面的绘制数据;基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;若所述内容信息满足震动触发条件,控制所述移动终端震动。
第二方面,本申请实施例提供了一种震动控制装置,应用于移动终端,所述装置包括:数据获取模块、内容获取模块以及震动触发模块,其中,所述数据获取模块用于在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;所述内容获取模块用于基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;所述震动触发模块用于若所述内容信息满足震动触发条件,控制所述移动终端震动。
第三方面,本申请实施例提供了一种移动终端,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的震动控制方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的震动控制方法。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得 其他的附图。
图1示出了根据本申请一个实施例的震动控制方法流程图。
图2示出了本申请一个实施例提供的OpenGL渲染原理示意图。
图3示出了根据本申请另一个实施例的震动控制方法流程图。
图4示出了根据本申请又一个实施例的震动控制方法流程图。
图5示出了本申请实施例提供的用于实现本申请实施例中的震动控制方法的一种软件架构示意图。
图6示出了根据本申请再一个实施例的震动控制方法流程图。
图7示出了本申请实施例提供的一种界面示意图。
图8示出了本申请实施例提供的另一种界面示意图。
图9示出了本申请实施例提供的又一种界面示意图。
图10示出了本申请实施例提供的再一种界面示意图。
图11示出了本申请实施例提供的又另一种界面示意图。
图12示出了本申请实施例提供的又再一种界面示意图。
图13示出了本申请实施例提供的再另一种界面示意图。
图14示出了根据本申请一个实施例的震动控制装置的一种框图。
图15是本申请实施例的用于执行根据本申请实施例的震动控制方法的移动终端的框图。
图16是本申请实施例的用于保存或者携带实现根据本申请实施例的震动控制方法的程序代码的存储单元。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
由于移动终端的配置越来越高,越来越多的用户选择在移动终端上玩游戏。在利用移动终端进行游戏时,存在一些方案中会结合游戏中的内容,例如开枪、中枪、击杀等场景,通过配合马达的震动,提供4D震动反馈,从而提高玩家的游戏沉浸感,进而提升用户体验。
在相关技术中,移动终端识别需要进行震动的场景,通常是通过获取游戏声音和截取的游戏界面,然后经过AI算法,再结合额外的硬件加速,识别出需要进行震动的场景,然后触发震动。
发明人经过长时间的研究发现,通过AI算法或者增加额外的处理芯片,来识别用户界面(UI,User Interface)或者游戏音频的方式,识别触发震动的场景,一方面因为截屏,使用AI算法或芯片进行处理,导致功耗较高,成本增加;另一方面,游戏中会有各种声音干扰,以及用户可自定义UI界面位置,导致识别准确率低。
针对上述问题,发明人提出了本申请实施例提供的震动控制方法、装置、移动终端以及存储介质,可以实现游戏过程中,在绘制待显示的游戏界面时,通过根据游戏界面的绘制数据,确定指定区域的内容信息,进而控制游戏进行时的震动,避免了利用AI算法识别震动场景所带来的功耗较高的问题,提升移动终端的续航能力。其中,具体的震动控制方法在后续的实施例中进行详细的说明。
请参阅图1,图1示出了本申请一个实施例提供的震动控制方法的流程示意图。在具体的实施例中,所述震动控制方法应用于如图13所示的震动控制装置400以及配置有所述震动控制装置400的移动终端100(图14)。下面将以移动终端为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的移动终端可以为智能手机、平板电脑等,在此不做限定。下面将针对图1所示的流程进行详细的阐述,所述震动控制方法具体可以包括以下步骤:
步骤S110:在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据。
在本申请实施例中,移动终端在游戏的运行过程中,可以监测图形API的调用,以在监测到图形API的绘制指令时,获取用于绘制游戏界面的绘制数据,从而后续可以根据绘制数据,确定游戏界面中指定区域的内容信息。
在一些实施方式中,以上图形API可以包括:OpenGL、OpenGL ES、OpenCV、Vulkan、DirectX、Metal等。当然,移动终端中的具体的图形API可以不做限定。
在一些实施方式中,移动终端中可以包括CPU(CentralProcessingUnit,中央处理器)以及GPU(GraphicsProcessingUnit,图形处理器)。移动终端在渲染游戏界面时,可以确定渲染游戏画面所使用的图形API,再调用确定的图形API与底层硬件(如,GPU)的驱动程序通信,从而启动GPU相应的功能来渲染得到游戏画面。其中,确定需要调用的图形API,可以依赖于CPU实现,调用图形API以实现相应的渲染可以依赖于GPU实现。
下面以OpenGL为例,来说明移动终端对游戏界面的渲染。
CPU可以根据游戏界面的数据,确定出渲染需要的顶点信息(顶点位置、法线方向、顶点颜色、纹理坐标等)和纹理信息,然后提供给GPU;GPU确定所需的图形API指令后,提交给GPU,GPU再按照OpenGL的管线顺序,依次执行相应的图形API指令,来完成对游戏界面的渲染。其中,OpenGL的管线的原理示意图如图2所示。
其中,顶点数组缓冲区是CPU提供给GPU的顶点信息,包括了顶点的位置、顶点颜色(只是顶点的颜色,和纹理的颜色无关)、纹理坐标(用于纹理贴图)等顶点信息;顶点着色器是处理顶点数组缓冲区提供的顶点信息的程序,顶点数组缓冲区提供的每个顶点都会执行一遍顶点着色器;顶点着色器下一个阶段是图元装配,图元(prmitive)是三角形、直线或者点精灵等几何对象;这个阶段,把顶点着色器输出的顶点组合成图元。
然后,再执行光栅化,光栅化是将图元转化为一组二维片段的过程,然后,这些片段由片段着色器处理(片段着色器的输入)。这些二维片段代表着可在屏幕上绘制的像素。用于从分配给每个图元顶点的顶点着色器输出生成每个片段值的机制称作插值(Interpolation)。也就是说,将CPU提供的分散的顶点信息变成屏幕上密集的像素,图元装配后顶点可以理解成变为图形,光栅化时可以根据图形的形状,插值出那个图形区域的像素(纹理坐标、颜色等信息)。值得注意的是,此时的像素并不是屏幕上的像素,其并不不带有颜色,接下来在片段着色器完成上色的工作。
片段着色是OpenGL中用于计算片段(像素)颜色的程序,片段着色是逐像素运算的程序,也就是说每个像素都会执行一次片段着色器,当然也是并行的。片段着色器的数据输入主要有三种,包括统一变量(Uniform)、顶点着色器输入变量(也被称为可变变量varying)以及采样器(Sampler)。统一变量的值,在同个OpenGL着色器程序中的顶点着色器和片段着色器中是一致的。顶点着色器输入变量在每个像素运算中则一般是不同的,它的值由组成图元的顶点对应的顶点着色器运算输出的值,根据像素位置进行插值的结果而决定。采样器则是用于从设定好的纹理中,获取纹理的像素颜色的。
在完成片段着色后,再进行逐片段操作,逐片段操作主要包括:像素归属测试、裁剪测试、模板和深度测试、混合和抖动。最后,把产生的片段放到帧缓冲区中,屏幕绘制缓冲区中的片段,完成游戏界面的渲染和显示。
移动终端在进行游戏界面的渲染和显示过程中,CPU需要提供相应的图形API绘制指令,以完成GPU对游戏界面的渲染过程。而CPU在提交这些图形API绘制指令时,则可以被监测到,从而根据这些图形API指令,能够获取到用于绘制待绘制的游戏界面的绘制数据。
在一些实施方式中,绘制数据可以至少包括顶点信息和纹理信息。可以理解地,顶点信息可以用于确定游戏界面中各个图元所在的位置,因此可以用于确定游戏界面中需要关注的区域的内容,并且纹理信息可以用于确定图元中具体的内容的信息,因此可以后续可以基于顶点信息和纹理信息来确定游戏界面中指定区域的内容信息。
在一些实施方式中,移动终端可以通过hook(钩子)图形API的方式,对CPU提交给GPU的图形API指令进行截取,以确定绘制数据。具体地,移动终端可以利用hook函数,对API进行监视,并分析绘制指令,从而可以截取到相应的绘制指令,并根据相应的绘制指令,抓取用于绘制待显示的游戏界面的绘制数据。
步骤S120:基于所述绘制数据,确定所述游戏界面中指定区域的内容信息。
在本申请实施例中,移动终端在确定出待绘制的游戏界面的绘制数据之后,则可以基于绘制数据,确定游戏界面中指定区域的内容信息。其中,需要确定的内容信息可以根据游戏中需要提供震动的场景设置。
在一些实施方式中,内容信息可以包括绘制内容的内容类型、绘制内容以及绘制内容的变化信息等。其中,绘制内容的内容类型可以为游戏界面中指定区域的内容对应的类型,例如,指定区域的内容为武器图标,则内容类型可以为武器类型,又例如,指定区域的内容为击杀数量提示,则内容类型可以为不同击杀数量对应的提示;绘制内容可以为游戏界面中指定区域的内容,例如,指定区域的内容为击杀数量、子弹数量、血量等;绘制内容的变化信息可以为指定区域的内容的变化,可以包括内容发生变化或者未发生变化,以及发生变化时具体的变化等。当然,具体需要确定的内容信息可以不做限定。
在一些实施方式中,游戏界面中的指定区域可以为预先设置的需要进行监测的区域,以在该指定区域的内容信息满足相应的条件时,触发震动。指定区域在游戏界面中的具体位置可以不做限定,例如,指定区域可以为子弹数量的显示区域、武器图标的显示区域、击杀数量的显示区域等。
需要说明的是,移动终端在响应图形API绘制指令,获取绘制数据以及基于绘制数据确定指定区域的内容信息时,并不影响游戏界面的正常绘制,即获取绘制数据以及基于绘制数据确定指定区域的内容信息,与响应图形API绘制指令进行渲染,是同步进行的。也就是说,CPU在将相应的图形绘制指令提交至GPU的同时,CPU也会根据这些图形绘制指令,获取待绘制的游戏界面的绘制数据,以及基于绘制数据确定游戏界面中指定区域的内容信息。
步骤S130:若所述内容信息满足震动触发条件,控制所述移动终端震动。
在本申请实施例中,移动终端在确定出内容信息之后,则可以将内容信息与震动触发条件进行匹配;若内容信息满足震动触发条件,则表示需要进行震动,因此可以控制移动终端进行震动;若内容信息不满足震动触发条件,则可以不控制移动终端震动,或者控制移动终端停止震动。从而实现了根据游戏运行过程中,绘制游戏界面时的绘制数据,监测指定区域的内容信息是否满足震动触发条件,并在满足震动触发条件时触发震动,有效减少移动终端实现游戏时震动场景的监测的计算量,也避免了增加额外处理的芯片所带来的功耗。
在一些实施方式中,震动触发条件可以包括:内容信息相对此前指定区域对应的内容信息发生变化,或者内容信息与预设内容信息匹配。也就是说,当本次确定出的待绘制的指定区域的内容信息相对指定区域此前的内容信息发生变化,或者当本次确定出的内容信息与预设内容信息匹配,则控制移动终端震动。可以理解地,在一些场景中,可能指定区域的内容信息发生变化,则需要进行震动,例如,指定区域为枪支的剩余子弹数量,若发生变化,则表示当前进行了开枪,因此可以触发震动,又例如,定区域为血条,若血条发生变化,则表示当前受到攻击(例如中枪),因此可以触发震动;在一些场景中,可能指定区域的内容与设置的内容相匹配,也需要进行震动, 例如,指定区域为击杀数量,若击杀数量达到相应的数值时,此时击杀数量与设定的数值匹配,因此可以触发震动。当然,具体的震动触发条件可以根据实际的游戏场景确定。
可以理解的是,由于本申请实施例提供的震动控制方法,是在检测到API绘制指令时,通过获取绘制数据来确定指定区域的内容信息,并根据内容信息决定是否进行震动,此过程是在待绘制的游戏界面未真正进行显示之前进行,即提交绘制指令至GPU进行绘制时进行的,因此可以提升震动控制的实时性,避免通过截图游戏界面,并利用AI算法识别的方式控制震动的方案中,震动控制不及时的问题。
在一些实施方式中,由于在检测到API绘制指令时,通过获取绘制数据来确定指定区域的内容信息,并根据内容信息决定是否进行震动,是在提交绘制指令至GPU进行绘制时进行的,因此,在具体控制移动终端震动时,可以在后续将该待绘制的游戏界面进行显示的同时,控制移动终端进行震动,保证了游戏界面与移动终端震动的一致性,提升震动控制的准确性。可选的,游戏运行时有相应的显示帧率,每帧游戏画面的显示是按照显示帧率来显示的,移动终端会按照显示帧率来控制渲染和显示(display)的总时长,因此,移动终端可以根据渲染和显示的总时长,来确定出以上待绘制游戏界面的显示时刻,然后在该显示时刻,控制移动终端震动,达到精准控制移动终端震动的效果。
本申请实施例提供的震动控制方法,实现游戏过程中,在绘制待显示的游戏界面时,通过根据游戏界面的绘制数据,确定指定区域的内容信息,进而控制游戏进行时的震动,避免了利用AI算法识别震动场景所带来的功耗较高的问题,提升移动终端的续航能力,也避免了增加额外芯片带来的成本;另外,由于不需要截图或者提取游戏声音,确定需要震动的场景,因此提升了震动控制的准确性;而且,由于在检测到API绘制指令时,通过获取绘制数据来确定指定区域的内容信息,并根据内容信息决定是否进行震动,是在提交绘制指令至GPU进行绘制时进行的,因此可以提升震动控制的实时性,避免通过截图游戏界面,并利用AI算法识别的方式控制震动的方案中,震动控制不及时的问题。
请参阅图3,图3示出了本申请另一个实施例提供的震动控制方法的流程示意图。该震动控制方法应用于上述移动终端,下面将针对图3所示的流程进行详细的阐述,所述震动控制方法具体可以包括以下步骤:
步骤S210:在游戏运行过程中,响应于图形API的绘制指令中的指定类型的图形API指令,确定待绘制的游戏界面的绘制数据。
在本申请实施例中,在游戏运行过程中,可以监测图形API的绘制指令,以在监测到图形API的指定类型的指令时,确定待绘制的游戏界面的绘制数据。可以理解地,在渲染游戏界面时,需要较多的图形API指令提交至GPU,以完成游戏界面的渲染,但一些指令与需要确定的绘制数据并不相关,例如用于清除指定的缓冲数据的指令GLbitfield mask,用于清除颜色值的指令GLclampf red等。因此,在监测图形API的绘制指令时,可以截取出图形API的绘制指令中的指定类型的图形API指令,也就是说,对不需要的图形API指令进行过滤,而只响应指定类型的图形API指令。
在一些实施方式中,指定类型的图形绘制指令可以包括与数据缓冲(Buffer)相关的第一图形API指令以及与纹理相关的第二图形API指令。其中,与Buffer相关的第一图形API指令,会涉及到用于绘制游戏的界面的数据写入缓冲区中,因此可以通过截取第一图形API指令,可以获取到绘制数据中所需的数据;与纹理相关的第二图形API指令,会涉及到纹理的信息,因此可以通过截取第二图形API指令,可以获取到与纹理相关的数据,从而通过响应第一图形API指令以及第二图形API指令,可以获取到所需的绘制数据。
在一种可能的实施方式中,需要获取的用于绘制待绘制游戏界面的绘制数据可以 包括顶点数据以及纹理对应的身份标签。其中,顶点数据中包括顶点位置、顶点颜色以及纹理坐标,当然,顶点数据中还可以包括法线方向等。纹理对应的身份标签,以用来确定纹理为何种内容。可选的,身份标签可以为Label或者Hash。可以理解地,同一纹理对象在不同时间被创建时,其对应的对象地址或者身份标识号(id,Identity document)可能不同,但是身份标签是相同的,因此可以利用身份标签作为识别纹理是何种内容的信息,进而可以用来确定指定区域的内容信息。例如,枪战类游戏中,某个枪支对应的纹理对象的身份标签为Icon_WEP_SCAR_W,则可以根据该身份标签确定出是哪个枪支。其中,当纹理对象未被创建身份标签时,可以使用内容生成Hash的方式来作为身份标签,以区分不同的纹理对象。
移动终端可以响应于第一图形API指令,获取用于绘制游戏界面的顶点数据,其中,顶点数据包括顶点位置、顶点颜色以及纹理坐标;移动终端还可以响应于所述第二图形API指令,获取用于绘制所述游戏界面的每个纹理对应的身份标签。
可选地,移动终端响应于第一图形API指令,可以从顶点缓冲区中获取用于绘制游戏界面的顶点数据。具体地,移动终端可以从顶点缓冲区拷贝顶点数据到缓存中,从而得到用于绘制游戏界面的顶点数据,以便后续确定指定区域的内容信息。以OpenGL为例,顶点缓冲区可以为VBO/VAO(顶点缓冲区对象或顶点数组对象)。由于顶点缓冲区中提供了顶点位置、顶点颜色、纹理坐标以及法线方向等顶点数据,因此可以获取到所需的顶点数据。
示例性地,移动终端可以从使用的顶点属性和顶点索引的Buffer中获取顶点数据。其中,获取顶点属性的图形API指令可以为glBindBuffer(GL_ARRAY_BUFFER,VBO),glBufferData(GL_ARRAY_BUFFER,sizeof(vertices),vertices,GL_STATIC_DRAW);获取顶点索引的图形API指令可以为glBindBuffer(GL_ELEMENT_ARRAY_BUFFER,EBO),glBufferData(GL_ELEMENT_AR RAY_BUFFER,sizeof(indices),indices,GL_STATIC_DRAW)等,当然,以上仅为示例,并不代表对具体的第一图形API指令的限定。
可选地,移动终端响应于第二图形API指令,获取纹理的身份标签时,可以通过纹理ID(texture ID)和映射表,找到纹理的身份标签。第二图形API指令可以包括glAtiveTexture、glBindTexture、glDrawElements等,当然,以上仅为示例,并不代表对具体的第一图形API指令的限定。
步骤S220:基于所述绘制数据,确定所述游戏界面中指定区域的内容信息。
步骤S230:若所述内容信息满足震动触发条件,控制所述移动终端震动。
在本申请实施例中,步骤S220以及步骤S230可以参阅其他实施例的内容,在此不再赘述。
本申请实施例提供的震动控制方法,通过响应于指定类型的图形API指令,获取所需的待绘制游戏界面的绘制数据,然后通过绘制数据,确定指定区域的内容信息,进而控制游戏进行时的震动,避免了利用AI算法识别震动场景所带来的功耗较高的问题,提升移动终端的续航能力,也避免了增加额外芯片带来的成本。并且,通过筛选图形API指令,只对指定类型的图形API指令进行响应,可以减少处理器的处理,降低移动终端的功耗。
请参阅图4,图4示出了本申请又一个实施例提供的震动控制方法的流程示意图。该震动控制方法应用于上述移动终端,下面将针对图4所示的流程进行详细的阐述,所述震动控制方法具体可以包括以下步骤:
步骤S310:响应于与数据缓冲相关的第一图形API指令,获取用于绘制所述游戏界面的顶点数据,所述顶点数据包括顶点位置、顶点颜色以及纹理坐标。
步骤S320:响应于与纹理相关的第二图形API指令,获取用于绘制所述游戏界面的每个纹理对应的身份标签。
在本申请实施例中,步骤S310以及步骤S320可以参阅前述实施例的内容,在此不再赘述。
步骤S330:响应于与绘制相关的第三图形API指令,基于所述顶点数据以及身份标签,获取当前绘制的图元对应的顶点数据以及纹理的身份标签。
在本申请实施例中,通常游戏界面中会包含多个图元,在渲染游戏界面时,可能会将多个图元分为多个绘制指令来完成,每个绘制指令可以负责绘制多个图元中的部分图元。CPU在向GPU提交图形API绘制指令时,可以提交当前绘制的图元的相关的图形API指令,从而可以分多次提交绘制指令,完成所有图元的渲染,最终完成游戏界面的渲染和显示。因此,移动终端还可以响应于与绘制相关的第三图形API指令,并基于顶点数据以及身份标签,获取当前绘制的图元对应的顶点数据以及纹理的身份标签。以OpenGL为例,与绘制相关的第三图形API指令可以为drawTriangles(Textures,Buffers)等。
步骤S340:基于当前绘制的图元对应的顶点数据,确定当前是否在绘制所述指定区域的内容。
在本申请实施例中,移动终端在获取到当前绘制的图元对应的顶点数据以及身份标签之后,则可以基于获取到的顶点数据中的顶点位置,确定当前绘制的图元在游戏界面中的位置,然后基于确定出的位置,确定当前绘制的图元是否位于指定区域;若位于指定区域,则表示当前在绘制指定区域的内容;若不位于指定区域,则表示当前未在绘制指定区域的内容。
步骤S350:若当前在绘制所述指定区域的内容,则基于当前绘制的图元对应的顶点数据以及纹理的身份标签,确定所述指定区域的内容信息。
在本申请实施例中,若确定出当前在绘制指定区域的内容,移动终端可以基于当前绘制的图形对应的顶点数据以及纹理的身份标签,确定指定区域的内容信息,以便根据指定区域的内容信息,确定是否需要进行震动。若确定出当前未在绘制指定区域的内容,表示绘制的内容并不属于与震动场景关联的区域的内容,因此可以不执行后续处理。
步骤S360:若所述内容信息满足震动触发条件,控制所述移动终端震动。
在本申请实施例中,步骤S360可以参阅其他实施例的内容,在此不再赘述。
在一些实施方式中,请参阅图5,移动终端中可以运行有指令截取模块111、指令处理模块112以及逻辑处理模块113。指令处理模块112包括第一指令处理单元1121、第二指令处理单元1122以及第三指令处理单元1123。指令截取模块111可以通过hook方式截取GPU图形API指令,截取后的指令经过过滤后,筛选出第一图形API指令、第二图形API指令以及第三图形API指令,并将过滤后的指令送入到指令处理模块112中;指令处理模块112中的第一指令处理单元1121可以响应第一图形API指令,获取用于绘制游戏界面的顶点数据;指令处理模块112中的第二指令处理单元1122可以响应第二图形API指令,获取用于绘制游戏界面的每个纹理对应的身份标签;指令处理模块112中的第三指令处理单元1123可以响应第三图形API指令,基于顶点数据以及身份标签,获取当前绘制的图元对应的顶点数据以及纹理的身份标签;指令处理模块112在对筛选出的图形API指令处理完成后,将处理结果传入逻辑处理模块113,逻辑处理模块113根据指令处理模块112的处理结果,确定出指定区域的内容信息后,再确定是否触发震动,从而实现通过图形绘制时的指令和数据来确定是否触发震动,避免了利用AI算法识别震动场景所带来的功耗较高的问题,提升移动终端的续航能力。其中,指令截取模块111、指令处理模块112以及逻辑处理模块113中实现的步骤的具体处理过程可以参阅上述内容,在此不再赘述。
本申请实施例提供的震动控制方法,在游戏界面由多次的绘制指令完成时,根据获取到的顶点数据,确定是否正在绘制指定区域的内容,在当前在绘制指定区域的内 容的情况下,再根据内容信息,从而可以根据内容信息控制游戏进行时的震动,避免了利用AI算法识别震动场景所带来的功耗较高的问题,提升移动终端的续航能力,也避免了增加额外芯片带来的成本。
请参阅图6,图6示出了本申请再一个实施例提供的震动控制方法的流程示意图。该震动控制方法应用于上述移动终端,下面将针对图6所示的流程进行详细的阐述,所述震动控制方法具体可以包括以下步骤:
步骤S410:在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据。
在本申请实施例中,步骤S310可以参阅前述实施例的内容,在此不再赘述。
步骤S420:基于所述绘制数据,获取所述游戏界面中指定区域所对应的纹理作为目标纹理。
在本申请实施例中,在基于获取到的绘制数据,确定指定区域的内容信息时,可以根据获取到的绘制数据,确定指定区域对应的纹理,以便根据指定区域的纹理,确定指定区域中内容的内容信息。
在一些实施方式中,移动终端可以基于绘制数据中的顶点位置,确定游戏界面中显示位置为指定区域的图元;然后再获取确定出的图元对应的纹理,作为目标纹理。可以理解地,顶点位置表示了图元在游戏界面中的位置,因此可以据此确定指定区域内的图元,而图元对应的纹理,即为指定区域所对应的纹理。
在另一些实施方式中,若在获取绘制数据时,是通过前一个实施例中,确定当前是否在绘制指定区域的内容的方式进行,则可以直接将当前绘制的图元的纹理,作为指定区域的纹理。
步骤S430:基于所述目标纹理,确定所述游戏界面中指定区域的内容信息。
在本申请实施例中,在确定出指定区域对应的以上目标纹理后,由于纹理与游戏界面中的内容相关联,则可以基于目标纹理,确定游戏界面中指定区域的内容信息。
在一种可能的实施方式中,获取到的绘制数据中可以包括纹理对应的身份标签,需要确定的内容信息可以包括指定区域的绘制内容的内容类型。移动终端可以获取绘制数据中目标纹理对应的身份标签;然后基于身份标签与内容类型的对应关系,确定指定区域的绘制内容的内容类型。例如,枪战类游戏中,指定区域为武器图标的区域,某个枪支对应的纹理对象的身份标签为Icon_WEP_SCAR_W,则可以根据该身份标签确定出是枪支类型。
在一种可能的实施方式中,绘制数据可以包括纹理的纹理坐标,内容信息可以包括指定区域的绘制内容。移动终端可以获取绘制数据中目标纹理的纹理坐标,作为目标纹理坐标;基于纹理坐标与绘制内容的对应关系,以及目标纹理坐标,确定目标纹理坐标所对应的绘制内容。其中,纹理坐标与绘制内容的对应关系,可以通过识别工具(例如RenderDoc)预先离线识别内容和纹理坐标的对应关系。例如,指定区域为剩余子弹数量、击杀数量、死亡数量等与文字相关的文字显示区域,则可以离线识别文字与纹理坐标的对应关系。可以理解地,纹理坐标位于纹理空间中,当将一个纹理应用于一个图元时,它的纹理像素地址必须要映射到对象坐标系中,再被平移到屏幕坐标系或像素位置上,纹理中的每一个纹理像素可以通过它的坐标来声明,因此在纹理内容发生变化时,纹理坐标也会发生变化。通过绘制数据中可获取到的纹理坐标,可以用来确定绘制内容。
在一种可能的实施方式中,获取到的绘制数据可以包括纹理的纹理坐标,需要获取的内容信息可以包括指定区域的内容的变化信息。移动终端可以获取绘制数据中所标纹理对应的纹理坐标;基于目标纹理对应的纹理坐标,确定指定区域的内容的变化信息,变化信息包括指定区域的内容是否发生变化。可以理解地,在纹理内容发生变化时,纹理坐标也会发生变化,因此可以根据纹理坐标是否发生变化,来确定指定区 域的内容是否发生变化。当然,以上变化信息,还可以包括变化的幅度等,例如,可以根据纹理坐标的变化幅度,确定纹理内容的变化幅度,进而确定出指定区域的内容的变化幅度。
应当理解的是,需要确定的内容信息可以包括内容类型、绘制内容以及变化信息中的一种或者多种。当然,移动终端具体需要确定的内容信息可以不做限定,可以根据实际游戏中需要关注的震动场景来设定。
步骤S440:若所述内容信息满足震动触发条件,控制所述移动终端震动。
在一些实施方式中,在内容信息包括指定区域的绘制内容的内容类型时,可以判断内容类型是否为指定内容类型,从而确定出内容信息是否满足震动条件,以在内容类型为指定内容类型时,控制移动终端震动。其中,在内容类型为指定内容类型时,则可以确定指定区域的内容信息满足震动触发条件;在内容类型不为指定内容类型时,则可以确定指定区域的内容信息不满足震动触发条件。其中,指定内容类型可以根据实际需要震动的场景确定。
示例性的,游戏场景可以为MOBA类游戏,请参阅图7,指定区域可以为击杀提示区域A1,不同击杀提示对应了不同的提示内容类型,此时的内容类型为提示内容类型,此时指定内容类型可以为:三杀、四杀、五杀、超神等分别对应的提示内容类型。例如,图7中提示内容类型为“五杀”对应的提示内容类型时,可以控制移动终端震动,以提升用户的游戏体验。
示例性的,游戏场景可以为FPS类的枪战游戏,请参阅图8,指定区域可以为枪支图标所在区域A2,此时的内容类型为枪支类型,此时指定内容类型可以为指定枪支类型。例如,枪支类型为指定枪支类型时,可以控制移动终端震动,以达到当前使用特定枪支时,进行震动的效果,提升用户的游戏体验。
在一些实施方式中,在内容信息包括指定区域的绘制内容时,则可以确定绘制内容是否与指定内容匹配,若绘制内容与指定内容匹配,则确定内容信息满足震动触发条件;若绘制内容与指定内容不匹配,则确定内容信息不满足震动触发条件。其中,指定内容可以根据实际需要震动的场景确定出。
示例性的,游戏场景可以为MOBA类游戏,请参阅图9,指定区域可以为击杀数量的显示区域A3,此时的绘制内容即为击杀数量,指定内容即为指定击杀数量,指定数量可以为需要控制移动终端震动的数量。例如,图8中击杀数量为指定数量“8”时,可以控制移动终端进行震动,从而在用户击杀数量达到相应数量时,移动终端进行震动,提升用户的游戏体验。
在一些实施方式中,在内容信息包括指定区域的内容的变化信息时,则可以根据变化信息,确定指定区域的内容是否产生变化,在指定区域的内容产生变化时,确定内容信息满足震动触发条件,控制移动终端震动;在指定区域的内容未产生变化时,确定内容信息不满足震动触发条件。
示例性的,游戏场景为FPS类的枪战游戏,请参阅图10,指定区域可以为血量条所在区域A4。请同时参阅图10及图11,在血量条A4发生变化时,可以表示角色受到攻击,因此可以进行震动,从而可以提供给用户更为真实地游戏体验。
示例性的,游戏场景为FPS类的枪战游戏,请参阅图12,指定区域可以剩余子弹数量的显示区域A5。请同时参阅图12及图13,在剩余子弹数量发生变化时,可以表示进行了开枪,因此可以进行震动,从而可以提供给用户真实地游戏体验。
当然,以上的游戏场景以及游戏中进行震动的场景仅为用于说明根据内容信息来确定是否进行震动的举例。
在一些实施方式中,移动终端在确定出内容信息满足震动触发条件,还可以根据内容信息,确定震动参数;然后根据震动参数,控制移动终端进行震动。其中,震动参数包括震动的强度以及频率中的至少一个,也就是说,在控制移动终端震动时,还 可以根据不同的内容信息,对震动的强度以及频率中的至少一个进行控制。其中,移动终端可以对震动马达的震动强度进行控制,以对游戏时的震动强度进行控制;移动终端可以对震动马达的震动频率进行控制,以对游戏时的震动频率进行控制。
在一种可能的实施方式中,在内容信息包括绘制内容时,可以根据不同的绘制内容,进行不同震动强度和/或震动频率的震动。示例性的,指定区域为击杀数量,则可以在击杀数量为不同的指定数量时,进行不同震动强度的震动,震动强度可以与击杀数量成正比,比如,指定数量包括:8、10、15和20,则击杀数量8、击杀数量10、击杀数量15和击杀数量20对应的震动强度依次增加,从而提供给用户较为真实地游戏体验。
在一种可能的实施方式中,在内容信息包括内容类型时,还可以根据不同的内容类型,进行不同震动强度和/或震动频率的震动。示例性的,指定区域为击杀提示区域,不同类型的击杀提示可以对应不同震动强度的震动,比如,击杀提示包括:三杀、四杀和五杀,则三杀、四杀和五杀对应的震动强度可以依次增加,从而提供给用户较为真实地游戏体验。
在一种可能的实施方式中,在内容信息包括变化信息,且变化信息包括指定区域的内容是否变化以及变化程度时,移动终端也可以在确定指定区域的内容发生变化时,根据不同的变化程度,进行不同震动强度和/或震动频率的震动。示例性的,指定区域为血量条所在区域,不同的血量变化可以对应不同震动强度的震动,震动强度可以与血量变化大小成正比,比如,在枪战类游戏中,在受到严重的攻击时,则震动强度也较大,从而可以提供给用户较为真实地游戏体验。
以上的实施方式也可以结合,也就是说,在内容信息同时包括以上的多种信息时,可以结合实现对震动强度和震动频率的控制。示例性的,指定区域包括枪支图标区域,对应的内容信息为枪支类型,指定区域还包括子弹数量的显示区域,对应的内容信息为子弹数量;该情况下,在确定出子弹数量发生变化时,可以根据不同的枪支类型进行不同震动强度的震动,比如,震动强度可以与枪支类型的伤害能力成正比,可以实现枪支的伤害能力越大,则震动强度也越大,给用户更为真实地游戏体验。
本申请实施例提供的震动控制方法,通过响应于指定类型的图形API指令,获取所需的待绘制游戏界面的绘制数据,然后通过绘制数据,确定指定区域对应的目标纹理,然后基于目标纹理确定内容类型、绘制内容以及变化信息,得到内容信息,进而根据这些内容信息控制游戏进行时的震动,避免了利用AI算法识别震动场景所带来的功耗较高的问题,提升移动终端的续航能力,也避免了增加额外芯片带来的成本。并且,提供了根据不同的内容信息,控制游戏时的震动的方式,可以提升用户的游戏体验。
请参阅图14,其示出了本申请实施例提供的一种震动控制装置800的结构框图。该震动控制装置800应用上述的移动终端,该震动控制装置800包括:数据获取模块810、内容获取模块820以及震动触发模块830。其中,所述数据获取模块810用于在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;所述内容获取模块820用于基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;所述震动触发模块830用于若所述内容信息满足震动触发条件,控制所述移动终端震动。
在一些实施方式中,内容获取模块820包括纹理获取单元以及信息确定单元。纹理获取单元用于基于所述绘制数据,获取所述游戏界面中指定区域所对应的纹理作为目标纹理;信息确定单元用于基于所述目标纹理,确定所述游戏界面中指定区域的内容信息。
在一种可能的实施方式中,所述绘制数据包括纹理对应的身份标签,所述内容信息包括所述指定区域的绘制内容的内容类型。信息确定单元可以用于:获取所述绘制 数据中目标纹理对应的身份标签;基于所述身份标签与内容类型的对应关系,确定所述指定区域的绘制内容的内容类型。
在一种可能的实施方式中,所述绘制数据包括纹理的纹理坐标,所述内容信息包括所述指定区域的绘制内容。信息确定单元可以用于:获取所述绘制数据中所述目标纹理的纹理坐标,作为目标纹理坐标;基于纹理坐标与绘制内容的对应关系,以及所述目标纹理坐标,确定所述目标纹理坐标所对应的绘制内容。
在一种可能的实施方式中,所述绘制数据包括纹理的纹理坐标,所述内容信息包括所述指定区域的内容的变化信息。信息确定单元可以用于:获取所述绘制数据中所述目标纹理对应的纹理坐标;基于所述目标纹理对应的纹理坐标,确定所述指定区域的内容的变化信息,所述变化信息包括所述指定区域的内容是否发生变化。
在一种可能的实施方式中,所述绘制数据包括顶点位置。纹理获取单元可以用于:基于所述绘制数据中的顶点位置,确定所述游戏界面中显示位置为所述指定区域的图元;获取所述图元对应的纹理,作为目标纹理。
在一些实施方式中,数据获取模块810可以用于:响应于图形API的绘制指令中的指定类型的图形API指令,确定待绘制的游戏界面的绘制数据。
在一种可能的实施方式中,所述指定类型的图形绘制指令包括与数据缓冲相关的第一图形API指令以及与纹理相关的第二图形API指令,所述绘制数据包括顶点数据以及纹理对应的身份标签。数据获取模块810可以包括:第一数据获取单元以及第二数据获取单元。第一数据获取单元用于响应于所述第一图形API指令,获取用于绘制所述游戏界面的顶点数据,所述顶点数据包括顶点位置、顶点颜色以及纹理坐标;第二数据获取单元用于响应于所述第二图形API指令,获取用于绘制所述游戏界面的每个纹理对应的身份标签。
在一种可能的实施方式中,所述指定类型的图形绘制指令还包括与绘制相关的第三图形API指令。数据获取模块810还可以包括第三数据获取单元。第三数据获取单元用于响应于所述第三图形API指令,基于所述顶点数据以及身份标签,获取当前绘制的图元对应的顶点数据以及纹理的身份标签。
在该实施方式下,内容获取模块820可以用于:基于当前绘制的图元对应的顶点数据,确定当前是否在绘制所述指定区域的内容;若当前在绘制所述指定区域的内容,则基于当前绘制的图元对应的顶点数据以及纹理的身份标签,确定所述指定区域的内容信息。
在一种可能的实施方式中,第一数据获取单元可以用于:响应于所述第一图形API指令,从顶点缓冲区中获取用于绘制所述游戏界面的顶点数据。
在一些实施方式中,震动触发模块830可以用于:若所述内容信息相对此前所述指定区域对应的内容信息发生变化,或者,所述内容信息与预设内容信息匹配,控制所述移动终端进行震动。
在一些实施方式中,震动触发模块830可以用于:显示所述游戏界面的同时,控制所述移动终端进行震动。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
综上所述,本申请提供的方案,通过在游戏运行过程中,响应于图形API的绘制指令,获取待绘制的游戏界面的绘制数据,基于绘制数据,确定游戏界面中指定区域 的内容信息,若内容信息满足震动触发条件,控制移动终端震动,从而可以实现在绘制待显示的游戏界面时,通过根据游戏界面的绘制数据,确定指定区域的内容信息,进而控制游戏进行时的震动,避免了利用AI算法识别震动场景所带来的功耗较高的问题,提升移动终端的续航能力。
请参考图15,其示出了本申请实施例提供的一种移动终端的结构框图。该移动终端100可以是智能手机、平板电脑等能够运行应用程序的电子设备。本申请中的移动终端100可以包括一个或多个如下部件:处理器110、存储器120、震动马达130以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个移动终端100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行移动终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储移动终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
震动马达130用于移动终端在确定出需要进行震动的场景时,控制震动马达130工作,从而产生震动。例如,本申请实施例提供的震动控制方法中,震动马达130可以用于产生游戏运行过程中的震动。
请参考图16,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质800中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质800可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质800包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质800具有执行上述方法中的任何方法步骤的程序代码810的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码810可以例如以适当形式进行压缩。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (20)
- 一种震动控制方法,其特征在于,应用于移动终端,所述方法包括:在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;若所述内容信息满足震动触发条件,控制所述移动终端震动。
- 根据权利要求1所述的方法,其特征在于,所述基于所述绘制数据,确定所述游戏界面中指定区域的内容信息,包括:基于所述绘制数据,获取所述游戏界面中指定区域所对应的纹理作为目标纹理;基于所述目标纹理,确定所述游戏界面中指定区域的内容信息。
- 根据权利要求2所述的方法,其特征在于,所述绘制数据包括纹理对应的身份标签,所述内容信息包括所述指定区域的绘制内容的内容类型,所述基于所述目标纹理,确定所述游戏界面中指定区域的内容信息,包括:获取所述绘制数据中目标纹理对应的身份标签;基于所述身份标签与内容类型的对应关系,确定所述指定区域的绘制内容的内容类型。
- 根据权利要求2所述的方法,其特征在于,所述绘制数据包括纹理的纹理坐标,所述内容信息包括所述指定区域的绘制内容,所述基于所述目标纹理,确定所述游戏界面中指定区域的内容信息,包括:获取所述绘制数据中所述目标纹理的纹理坐标,作为目标纹理坐标;基于纹理坐标与绘制内容的对应关系,以及所述目标纹理坐标,确定所述目标纹理坐标所对应的绘制内容。
- 根据权利要求2所述的方法,其特征在于,所述绘制数据包括纹理的纹理坐标,所述内容信息包括所述指定区域的内容的变化信息,所述基于所述目标纹理,确定所述游戏界面中指定区域的内容信息,包括:获取所述绘制数据中所述目标纹理对应的纹理坐标;基于所述目标纹理对应的纹理坐标,确定所述指定区域的内容的变化信息,所述变化信息包括所述指定区域的内容是否发生变化。
- 根据权利要求2-5任一项所述的方法,其特征在于,所述绘制数据包括顶点位置,所述基于所述绘制数据,确定所述游戏界面中指定区域所对应的纹理作为目标纹理,包括:基于所述绘制数据中的顶点位置,确定所述游戏界面中显示位置为所述指定区域的图元;获取所述图元对应的纹理,作为目标纹理。
- 根据权利要求2-5任一项所述的方法,其特征在于,所述基于所述绘制数据,确定所述游戏界面中指定区域所对应的纹理作为目标纹理,包括:基于所述绘制数据获取当前绘制的图元对应的顶点数据;基于当前绘制的图元对应的顶点数据,确定当前是否在绘制所述指定区域的内容;若当前在绘制所述指定区域的内容,获取当前绘制的图元的纹理,作为所述指定区域的纹理。
- 根据权利要求1-7任一项所述的方法,其特征在于,所述响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据,包括:响应于图形API的绘制指令中的指定类型的图形API指令,确定待绘制的游戏界 面的绘制数据。
- 根据权利要求8所述的方法,其特征在于,所述指定类型的图形绘制指令包括与数据缓冲相关的第一图形API指令以及与纹理相关的第二图形API指令,所述绘制数据包括顶点数据以及纹理对应的身份标签,所述基于所述指定类型的图形API指令,确定待绘制的游戏界面的绘制数据,包括:响应于所述第一图形API指令,获取用于绘制所述游戏界面的顶点数据,所述顶点数据包括顶点位置、顶点颜色以及纹理坐标;响应于所述第二图形API指令,获取用于绘制所述游戏界面的每个纹理对应的身份标签。
- 根据权利要求9所述的方法,其特征在于,所述指定类型的图形绘制指令还包括与绘制相关的第三图形API指令,所述基于所述指定类型的图形API指令,确定待绘制的游戏界面的绘制数据,还包括:响应于所述第三图形API指令,基于所述顶点数据以及身份标签,获取当前绘制的图元对应的顶点数据以及纹理的身份标签;所述基于所述绘制数据,确定所述游戏界面中指定区域的内容信息,包括:基于当前绘制的图元对应的顶点数据,确定当前是否在绘制所述指定区域的内容;若当前在绘制所述指定区域的内容,则基于当前绘制的图元对应的顶点数据以及纹理的身份标签,确定所述指定区域的内容信息。
- 根据权利要求9所述的方法,其特征在于,所述响应于所述第一图形API指令,获取用于绘制所述游戏界面的顶点数据,包括:响应于所述第一图形API指令,从顶点缓冲区中获取用于绘制所述游戏界面的顶点数据。
- 根据权利要求1-11任一项所述的方法,其特征在于,所述若所述内容信息满足震动触发条件,控制所述移动终端进行震动,包括:若所述内容信息相对此前所述指定区域对应的内容信息发生变化,或者,若所述内容信息与预设内容信息匹配,控制所述移动终端进行震动。
- 根据权利要求11所述的方法,其特征在于,若所述内容信息包括指定区域的绘制内容的内容类型,所述若所述内容信息满足震动触发条件,控制所述移动终端进行震动,包括:若所述内容类型为指定内容类型,控制移动终端震动。
- 根据权利要求11所述的方法,其特征在于,若所述内容信息包括指定区域的绘制内容,所述若所述内容信息满足震动触发条件,控制所述移动终端进行震动,包括:若所述绘制内容是否与指定内容匹配,控制移动终端震动。
- 根据权利要求11所述的方法,其特征在于,若所述内容信息包括指定区域的内容的变化信息,所述若所述内容信息满足震动触发条件,控制所述移动终端进行震动,包括:根据所述变化信息,确定所述指定区域的内容是否产生变化;若所述指定区域的内容产生变化,控制所述移动终端震动。
- 根据权利要求1-15任一项所述的方法,其特征在于,所述控制所述移动终端进行震动,包括:显示所述游戏界面的同时,控制所述移动终端进行震动。
- 根据权利要求1-16任一项所述的方法,其特征在于,所述控制所述移动终端进行震动,包括:根据所述内容信息,确定震动参数;根据所述震动参数,控制所述移动终端进行震动。
- 一种震动控制装置,其特征在于,应用于移动终端,所述装置包括:数据获取 模块、内容获取模块以及震动触发模块,其中,所述数据获取模块用于在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;所述内容获取模块用于基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;所述震动触发模块用于若所述内容信息满足震动触发条件,控制所述移动终端震动。
- 一种移动终端,其特征在于,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-17任一项所述的方法。
- 一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-17任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110511837.2 | 2021-05-11 | ||
CN202110511837.2A CN113262466A (zh) | 2021-05-11 | 2021-05-11 | 震动控制方法、装置、移动终端及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022237289A1 true WO2022237289A1 (zh) | 2022-11-17 |
Family
ID=77230406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/079665 WO2022237289A1 (zh) | 2021-05-11 | 2022-03-08 | 震动控制方法、装置、移动终端及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113262466A (zh) |
WO (1) | WO2022237289A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113262466A (zh) * | 2021-05-11 | 2021-08-17 | Oppo广东移动通信有限公司 | 震动控制方法、装置、移动终端及存储介质 |
CN114356097A (zh) * | 2022-01-10 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 虚拟场景的振动反馈处理方法、装置、设备、介质及程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003027963A1 (fr) * | 2001-09-26 | 2003-04-03 | Pioneer Corporation | Appareil et procede de creation d'images, programme informatique associe |
CN109646955A (zh) * | 2018-12-20 | 2019-04-19 | 网易(杭州)网络有限公司 | 游戏界面生成方法、装置和存储介质 |
CN109718537A (zh) * | 2018-12-29 | 2019-05-07 | 努比亚技术有限公司 | 游戏视频录制方法、移动终端及计算机可读存储介质 |
CN111598976A (zh) * | 2019-02-01 | 2020-08-28 | 华为技术有限公司 | 场景识别方法及装置、终端、存储介质 |
US20210069601A1 (en) * | 2018-10-31 | 2021-03-11 | Snap Inc. | Game drawer |
CN113262466A (zh) * | 2021-05-11 | 2021-08-17 | Oppo广东移动通信有限公司 | 震动控制方法、装置、移动终端及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6300936B1 (en) * | 1997-11-14 | 2001-10-09 | Immersion Corporation | Force feedback system including multi-tasking graphical host environment and interface device |
CN104717361A (zh) * | 2015-02-28 | 2015-06-17 | 深圳市中兴移动通信有限公司 | 基于移动终端的情景模式智能调节方法及移动终端 |
CN109343837A (zh) * | 2018-09-12 | 2019-02-15 | Oppo广东移动通信有限公司 | 游戏渲染方法及相关设备 |
CN110135011B (zh) * | 2019-04-24 | 2023-04-25 | 华南理工大学 | 一种基于视觉的柔性板振动形态可视化方法 |
CN110704191A (zh) * | 2019-09-29 | 2020-01-17 | Oppo广东移动通信有限公司 | 一种游戏优化方法、游戏优化装置及移动终端 |
-
2021
- 2021-05-11 CN CN202110511837.2A patent/CN113262466A/zh active Pending
-
2022
- 2022-03-08 WO PCT/CN2022/079665 patent/WO2022237289A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003027963A1 (fr) * | 2001-09-26 | 2003-04-03 | Pioneer Corporation | Appareil et procede de creation d'images, programme informatique associe |
US20210069601A1 (en) * | 2018-10-31 | 2021-03-11 | Snap Inc. | Game drawer |
CN109646955A (zh) * | 2018-12-20 | 2019-04-19 | 网易(杭州)网络有限公司 | 游戏界面生成方法、装置和存储介质 |
CN109718537A (zh) * | 2018-12-29 | 2019-05-07 | 努比亚技术有限公司 | 游戏视频录制方法、移动终端及计算机可读存储介质 |
CN111598976A (zh) * | 2019-02-01 | 2020-08-28 | 华为技术有限公司 | 场景识别方法及装置、终端、存储介质 |
CN113262466A (zh) * | 2021-05-11 | 2021-08-17 | Oppo广东移动通信有限公司 | 震动控制方法、装置、移动终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113262466A (zh) | 2021-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022237289A1 (zh) | 震动控制方法、装置、移动终端及存储介质 | |
WO2020038128A1 (zh) | 视频处理方法、装置、电子设备及计算机可读介质 | |
US20210168441A1 (en) | Video-Processing Method, Electronic Device, and Computer-Readable Storage Medium | |
CN112529995B (zh) | 图像渲染计算方法、装置、存储介质以及终端 | |
US20170061662A1 (en) | System and method for layering using tile-based renderers | |
CN110047123B (zh) | 一种地图渲染方法、装置、存储介质及计算机程序产品 | |
WO2020024692A1 (zh) | 一种人机交互方法和装置 | |
WO2022089592A1 (zh) | 一种图形渲染方法及其相关设备 | |
WO2022100663A1 (zh) | 一种选择抗锯齿算法的方法、装置、设备及可读存储介质 | |
US10803547B2 (en) | Graphics processing systems using a subset of pipeline stages | |
JP6207618B2 (ja) | 描画装置 | |
US11731050B2 (en) | Asset aware computing architecture for graphics processing | |
US20220058048A1 (en) | Varying firmware for virtualized device | |
CN113838184A (zh) | 渲染方法、设备以及系统 | |
US10733790B2 (en) | Systems and methods for creating and displaying interactive 3D representations of real objects | |
CN112116719B (zh) | 三维场景中对象的确定方法、装置、存储介质和电子设备 | |
JP2017056038A (ja) | プレイヤの意図を予測してレンダリングするためのリソース配分を決定するプログラム、電子装置、システム及び方法 | |
CN114377394B (zh) | 一种云游戏画面渲染方法及装置 | |
US11471773B2 (en) | Occlusion in mobile client rendered augmented reality environments | |
CN114119394A (zh) | 图像处理方法、装置、系统、电子设备及存储介质 | |
CN113934500A (zh) | 渲染方法、装置、存储介质及电子设备 | |
KR20220123883A (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템의 동작 방법 | |
CN111107425B (zh) | 基于渲染组件元素获取计算资源的方法、系统和存储介质 | |
CN114100130A (zh) | 一种游戏画面截取方法、装置、设备及云服务器 | |
CN115253291A (zh) | 一种运动状态识别方法、装置、存储介质及电子设备 |
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: 22806264 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 22806264 Country of ref document: EP Kind code of ref document: A1 |