CN113262466A - 震动控制方法、装置、移动终端及存储介质 - Google Patents

震动控制方法、装置、移动终端及存储介质 Download PDF

Info

Publication number
CN113262466A
CN113262466A CN202110511837.2A CN202110511837A CN113262466A CN 113262466 A CN113262466 A CN 113262466A CN 202110511837 A CN202110511837 A CN 202110511837A CN 113262466 A CN113262466 A CN 113262466A
Authority
CN
China
Prior art keywords
texture
content
data
content information
game interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110511837.2A
Other languages
English (en)
Inventor
高光磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202110511837.2A priority Critical patent/CN113262466A/zh
Publication of CN113262466A publication Critical patent/CN113262466A/zh
Priority to PCT/CN2022/079665 priority patent/WO2022237289A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output 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/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/30Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by output arrangements for receiving control signals generated by the game device
    • A63F2300/302Features 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features 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/53Features 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/538Features 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请公开了一种震动控制方法、装置、移动终端及存储介质,该震动控制方法应用于移动终端,该震动控制方法包括:在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;若所述内容信息满足震动触发条件,控制所述移动终端震动。本方法可以降低游戏时震动控制时的功耗。

Description

震动控制方法、装置、移动终端及存储介质
技术领域
本申请涉及移动终端技术领域,更具体地,涉及一种震动控制方法、装置、移动终端及存储介质。
背景技术
随着科技水平和生活水平的快速进步,移动终端(例如智能手机、平板电脑等)被人们广泛使用,并且随着移动终端的配置越来越好,越来越多的用户会使用移动终端进行游戏。为了提升游戏体验,通常会提供4维(4D,4-Dimension)震感。移动终端的相关震动控制的方案中,通常采用人工智能(AI,Artificial Intelligence)的方式来确定需要震动的场景,但是采用AI算法来识别震动的场景,会导致移动终端的功耗较高。
发明内容
鉴于上述问题,本申请提出了一种震动控制方法、装置、移动终端及存储介质。
第一方面,本申请实施例提供了一种震动控制方法,应用于移动终端,所述方法包括:在游戏运行过程中,响应于图形应用程序编程接口(Application ProgrammingInterface,API)的绘制指令,获取待绘制的游戏界面的绘制数据;基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;若所述内容信息满足震动触发条件,控制所述移动终端震动。
第二方面,本申请实施例提供了一种震动控制装置,应用于移动终端,所述装置包括:数据获取模块、内容获取模块以及震动触发模块,其中,所述数据获取模块用于在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;所述内容获取模块用于基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;所述震动触发模块用于若所述内容信息满足震动触发条件,控制所述移动终端震动。
第三方面,本申请实施例提供了一种移动终端,包括:一个或多个处理器;存储器;一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述第一方面提供的震动控制方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述第一方面提供的震动控制方法。
本申请提供的方案,通过在游戏运行过程中,响应于图形API的绘制指令,获取待绘制的游戏界面的绘制数据,基于绘制数据,确定游戏界面中指定区域的内容信息,若内容信息满足震动触发条件,控制移动终端震动,从而可以实现在绘制待显示的游戏界面时,通过根据游戏界面的绘制数据,确定指定区域的内容信息,进而控制游戏进行时的震动,避免了利用AI算法识别震动场景所带来的功耗较高的问题,提升移动终端的续航能力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图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_ARRAY_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 LogicArray,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing 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 (15)

1.一种震动控制方法,其特征在于,应用于移动终端,所述方法包括:
在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;
基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;
若所述内容信息满足震动触发条件,控制所述移动终端震动。
2.根据权利要求1所述的方法,其特征在于,所述基于所述绘制数据,确定所述游戏界面中指定区域的内容信息,包括:
基于所述绘制数据,获取所述游戏界面中指定区域所对应的纹理作为目标纹理;
基于所述目标纹理,确定所述游戏界面中指定区域的内容信息。
3.根据权利要求2所述的方法,其特征在于,所述绘制数据包括纹理对应的身份标签,所述内容信息包括所述指定区域的绘制内容的内容类型,所述基于所述目标纹理,确定所述游戏界面中指定区域的内容信息,包括:
获取所述绘制数据中目标纹理对应的身份标签;
基于所述身份标签与内容类型的对应关系,确定所述指定区域的绘制内容的内容类型。
4.根据权利要求2所述的方法,其特征在于,所述绘制数据包括纹理的纹理坐标,所述内容信息包括所述指定区域的绘制内容,所述基于所述目标纹理,确定所述游戏界面中指定区域的内容信息,包括:
获取所述绘制数据中所述目标纹理的纹理坐标,作为目标纹理坐标;
基于纹理坐标与绘制内容的对应关系,以及所述目标纹理坐标,确定所述目标纹理坐标所对应的绘制内容。
5.根据权利要求2所述的方法,其特征在于,所述绘制数据包括纹理的纹理坐标,所述内容信息包括所述指定区域的内容的变化信息,所述基于所述目标纹理,确定所述游戏界面中指定区域的内容信息,包括:
获取所述绘制数据中所述目标纹理对应的纹理坐标;
基于所述目标纹理对应的纹理坐标,确定所述指定区域的内容的变化信息,所述变化信息包括所述指定区域的内容是否发生变化。
6.根据权利要求2所述的方法,其特征在于,所述绘制数据包括顶点位置,所述基于所述绘制数据,确定所述游戏界面中指定区域所对应的纹理作为目标纹理,包括:
基于所述绘制数据中的顶点位置,确定所述游戏界面中显示位置为所述指定区域的图元;
获取所述图元对应的纹理,作为目标纹理。
7.根据权利要求1所述的方法,其特征在于,所述响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据,包括:
响应于图形API的绘制指令中的指定类型的图形API指令,确定待绘制的游戏界面的绘制数据。
8.根据权利要求7所述的方法,其特征在于,所述指定类型的图形绘制指令包括与数据缓冲相关的第一图形API指令以及与纹理相关的第二图形API指令,所述绘制数据包括顶点数据以及纹理对应的身份标签,所述基于所述指定类型的图形API指令,确定待绘制的游戏界面的绘制数据,包括:
响应于所述第一图形API指令,获取用于绘制所述游戏界面的顶点数据,所述顶点数据包括顶点位置、顶点颜色以及纹理坐标;
响应于所述第二图形API指令,获取用于绘制所述游戏界面的每个纹理对应的身份标签。
9.根据权利要求8所述的方法,其特征在于,所述指定类型的图形绘制指令还包括与绘制相关的第三图形API指令,所述基于所述指定类型的图形API指令,确定待绘制的游戏界面的绘制数据,还包括:
响应于所述第三图形API指令,基于所述顶点数据以及身份标签,获取当前绘制的图元对应的顶点数据以及纹理的身份标签;
所述基于所述绘制数据,确定所述游戏界面中指定区域的内容信息,包括:
基于当前绘制的图元对应的顶点数据,确定当前是否在绘制所述指定区域的内容;
若当前在绘制所述指定区域的内容,则基于当前绘制的图元对应的顶点数据以及纹理的身份标签,确定所述指定区域的内容信息。
10.根据权利要求8所述的方法,其特征在于,所述响应于所述第一图形API指令,获取用于绘制所述游戏界面的顶点数据,包括:
响应于所述第一图形API指令,从顶点缓冲区中获取用于绘制所述游戏界面的顶点数据。
11.根据权利要求1-10任一项所述的方法,其特征在于,所述若所述内容信息满足震动触发条件,控制所述移动终端进行震动,包括:
若所述内容信息相对此前所述指定区域对应的内容信息发生变化,或者,所述内容信息与预设内容信息匹配,控制所述移动终端进行震动。
12.根据权利要求1-10任一项所述的方法,其特征在于,所述控制所述移动终端进行震动,包括:
显示所述游戏界面的同时,控制所述移动终端进行震动。
13.一种震动控制装置,其特征在于,应用于移动终端,所述装置包括:数据获取模块、内容获取模块以及震动触发模块,其中,
所述数据获取模块用于在游戏运行过程中,响应于图形应用程序编程接口API的绘制指令,获取待绘制的游戏界面的绘制数据;
所述内容获取模块用于基于所述绘制数据,确定所述游戏界面中指定区域的内容信息;
所述震动触发模块用于若所述内容信息满足震动触发条件,控制所述移动终端震动。
14.一种移动终端,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-12任一项所述的方法。
15.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-12任一项所述的方法。
CN202110511837.2A 2021-05-11 2021-05-11 震动控制方法、装置、移动终端及存储介质 Pending CN113262466A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110511837.2A CN113262466A (zh) 2021-05-11 2021-05-11 震动控制方法、装置、移动终端及存储介质
PCT/CN2022/079665 WO2022237289A1 (zh) 2021-05-11 2022-03-08 震动控制方法、装置、移动终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110511837.2A CN113262466A (zh) 2021-05-11 2021-05-11 震动控制方法、装置、移动终端及存储介质

Publications (1)

Publication Number Publication Date
CN113262466A true CN113262466A (zh) 2021-08-17

Family

ID=77230406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110511837.2A Pending CN113262466A (zh) 2021-05-11 2021-05-11 震动控制方法、装置、移动终端及存储介质

Country Status (2)

Country Link
CN (1) CN113262466A (zh)
WO (1) WO2022237289A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022237289A1 (zh) * 2021-05-11 2022-11-17 Oppo广东移动通信有限公司 震动控制方法、装置、移动终端及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
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广东移动通信有限公司 游戏渲染方法及相关设备
CN110135011A (zh) * 2019-04-24 2019-08-16 华南理工大学 一种基于视觉的柔性板振动形态可视化方法
CN110704191A (zh) * 2019-09-29 2020-01-17 Oppo广东移动通信有限公司 一种游戏优化方法、游戏优化装置及移动终端

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4807692B2 (ja) * 2001-09-26 2011-11-02 パイオニア株式会社 画像作成装置及びその方法、並びにコンピュータプログラム
US11103795B1 (en) * 2018-10-31 2021-08-31 Snap Inc. Game drawer
CN109646955B (zh) * 2018-12-20 2022-06-24 网易(杭州)网络有限公司 游戏界面生成方法、装置和存储介质
CN109718537A (zh) * 2018-12-29 2019-05-07 努比亚技术有限公司 游戏视频录制方法、移动终端及计算机可读存储介质
CN111598976B (zh) * 2019-02-01 2023-08-22 华为技术有限公司 场景识别方法及装置、终端、存储介质
CN113262466A (zh) * 2021-05-11 2021-08-17 Oppo广东移动通信有限公司 震动控制方法、装置、移动终端及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
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广东移动通信有限公司 游戏渲染方法及相关设备
CN110135011A (zh) * 2019-04-24 2019-08-16 华南理工大学 一种基于视觉的柔性板振动形态可视化方法
CN110704191A (zh) * 2019-09-29 2020-01-17 Oppo广东移动通信有限公司 一种游戏优化方法、游戏优化装置及移动终端

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022237289A1 (zh) * 2021-05-11 2022-11-17 Oppo广东移动通信有限公司 震动控制方法、装置、移动终端及存储介质

Also Published As

Publication number Publication date
WO2022237289A1 (zh) 2022-11-17

Similar Documents

Publication Publication Date Title
CN107154063B (zh) 图像展示区域的形状设置方法及装置
US20210168441A1 (en) Video-Processing Method, Electronic Device, and Computer-Readable Storage Medium
CN110990516B (zh) 地图数据的处理方法、装置和服务器
CN111957040B (zh) 遮挡位置的检测方法、装置、处理器及电子装置
US10943389B2 (en) Removing or identifying overlapping fragments after z-culling
CN110047123B (zh) 一种地图渲染方法、装置、存储介质及计算机程序产品
KR102104996B1 (ko) 중앙 연산 장치(cpu)와 그래픽 연산 유닛(gpu)을 위한 하이브리드 엔진
WO2011044450A2 (en) Automatic real-time shader modification for texture fetch instrumentation
US10803547B2 (en) Graphics processing systems using a subset of pipeline stages
CN112529995A (zh) 图像渲染计算方法、装置、存储介质以及终端
CN112044062B (zh) 游戏画面渲染方法、装置、终端和存储介质
CN114565708A (zh) 一种选择抗锯齿算法的方法、装置、设备及可读存储介质
CN114529658A (zh) 一种图形渲染方法及其相关设备
CN113838184A (zh) 渲染方法、设备以及系统
JP2024061779A (ja) グラフィック処理のためのアセット認識コンピューティングアーキテクチャ
EP3050605B1 (en) A method for event detection in real-time graphic applications
JP2007517330A (ja) 3次元グラフィック・サブシステムにおけるテクスチャマップデータのプログラム可能なフィルタ処理方法及び装置
WO2022237289A1 (zh) 震动控制方法、装置、移动终端及存储介质
JP5899364B1 (ja) プレイヤの意図を予測してレンダリングするためのリソース配分を決定するプログラム、電子装置、システム及び方法
EP3343516A1 (en) Method and device for applying an effect of an augmented or mixed reality application
KR20110050482A (ko) 그래픽 이미지들의 시각적 창작 동안의 성능 분석
US20100194747A1 (en) Dynamic Fragment Coverage Antialiasing
CN107569851B (zh) 游戏挂机方法、装置及系统
CN110334027B (zh) 游戏画面测试方法和装置
CN113838180A (zh) 一种渲染指令处理方法及其相关设备

Legal Events

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