CN109544663A - 应用程序的虚拟场景识别与交互键位匹配方法及装置 - Google Patents

应用程序的虚拟场景识别与交互键位匹配方法及装置 Download PDF

Info

Publication number
CN109544663A
CN109544663A CN201811330926.1A CN201811330926A CN109544663A CN 109544663 A CN109544663 A CN 109544663A CN 201811330926 A CN201811330926 A CN 201811330926A CN 109544663 A CN109544663 A CN 109544663A
Authority
CN
China
Prior art keywords
textures
picture
key
rendering
preset
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.)
Granted
Application number
CN201811330926.1A
Other languages
English (en)
Other versions
CN109544663B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201811330926.1A priority Critical patent/CN109544663B/zh
Publication of CN109544663A publication Critical patent/CN109544663A/zh
Priority to EP19881725.6A priority patent/EP3879496A4/en
Priority to JP2020563939A priority patent/JP7221989B2/ja
Priority to PCT/CN2019/109985 priority patent/WO2020093825A1/zh
Priority to US17/085,649 priority patent/US11511188B2/en
Application granted granted Critical
Publication of CN109544663B publication Critical patent/CN109544663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/80Creating or modifying a manually drawn or painted image using a manual input device, e.g. mouse, light pen, direction keys on keyboard
    • 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/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • 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/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • 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
    • 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/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • 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/85Providing additional services to players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Optics & Photonics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种应用程序的虚拟场景识别与交互键位匹配方法和装置。其中方法包括以下步骤:在虚拟操作系统中启动应用程序;对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;识别所述渲染数据中预设的贴图图片;当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。通过所述方法,能够基于对手机游戏应用程序中贴图图片的识别,快速高效地识别游戏场景,实时动态地在游戏场景中布局游戏操作按键,使得游戏操作按键设置智能化。

Description

应用程序的虚拟场景识别与交互键位匹配方法及装置
技术领域
本申请涉及互联网技术领域,特别是涉及一种应用程序的虚拟场景识别与交互键位匹配方法及装置。
背景技术
随着游戏技术的发展,游戏开发商开发了许多在手机上运行的游戏,例如,用于安卓操作系统的手机游戏、用于iOS操作系统的手机游戏等等。游戏玩家在玩手机游戏时,通常是通过触摸屏进行操作的,因此,手机游戏在设计时,通常仅设计为支持触摸操作,不支持鼠标和键盘操作。然而,由于手机屏幕尺寸的限制,在手机上很难有很好的视觉体验和效果;另外,在手机上,通过触摸屏幕也很难对游戏进行很多较为复杂的操作控制。因此,为了达到更好的视觉与操控体验和效果,有时候游戏玩家希望在其个人电脑(PC)上玩手机游戏,并通过使用鼠标和键盘来实现对游戏的操作与控制。针对这种情况,需要将支持触摸操作的手机游戏转换为支持鼠标和键盘操作的电脑游戏。目前,市面上有PC模拟器用鼠标和键盘模拟触摸操作实现这种转换功能。在这种PC模拟器中,需要游戏玩家在玩游戏之前或者在游戏中设置操作按键信息,之后才能通过操作按键来操作游戏。但由于手机游戏越来越趋于复杂化,操作方式也越来越复杂,传统的PC模拟器中的按键设置和游戏操作方式已不能够满足游戏玩家玩游戏时的操作体验。
发明内容
本申请实施例提供了一种应用程序的虚拟场景识别与交互键位匹配方法及装置以及计算机存储介质。
根据本申请实施例,所述应用程序的虚拟场景识别与交互键位匹配方法,应用于能够构建或运行虚拟操作系统的计算设备,所述应用程序的虚拟场景识别与交互键位匹配方法包括:
在虚拟操作系统中启动应用程序;
对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;
识别所述渲染数据中预设的贴图图片;
当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;
在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。
根据本申请实施例,所述应用程序的虚拟场景识别与交互键位匹配装置,应用于能够构建或运行虚拟操作系统的计算设备,所述应用程序的虚拟场景识别与交互键位匹配装置包括:
启动模块,用于在虚拟操作系统中启动应用程序;
渲染检测模块,用于对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;
贴图图片识别模块,用于识别渲染检测模块得到的所述渲染数据中预设的贴图图片;
键位设置模块,用于当贴图图片识别模块识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;
显示模块,用于在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。
根据本申请实施例,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
在虚拟操作系统中启动应用程序;
对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;
识别所述渲染数据中预设的贴图图片;
当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;
在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。
在本申请实施例中,通过在虚拟操作系统中启动应用程序,对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据,识别所述渲染数据中预设的贴图图片,当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理,在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息,能够基于对手机游戏应用程序中贴图图片的识别,快速高效地识别游戏场景,实时动态地在游戏场景中布局游戏操作按键,使得游戏操作按键设置智能化,游戏玩家能很方便地使用鼠标和键盘体验游戏,不再需要记忆和设置大量按键,让游戏玩家有较好的游戏操作体验。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。
图1为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配方法及装置的应用环境示意图;
图2为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配方法的流程示意图;
图3A为根据本申请实施例提供的示例的手机游戏中的贴图和贴图图片关系示意图;
图3B为根据本申请实施例提供的示例的手机游戏中的贴图图片在贴图中的位置信息示意图;
图4A为根据本申请实施例提供的一个示例游戏场景的示意图;
图4B为根据本申请实施例提供的另一个示例游戏场景的示意图;
图5为根据本申请实施例提供的对应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据的流程示意图;
图6为根据本申请实施例提供的识别渲染数据中预设的贴图图片的流程示意图;
图7为根据本申请实施例提供的对图6中的步骤601、602进行详细描述的流程示意图;
图8为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配方法的进一步流程示意图;
图9为根据本申请实施例提供的当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理的流程示意图;
图10为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配方法的进一步流程示意图;
图11为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配装置示意图;
图12为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配装置中的贴图图片识别模块的示意图;
图13为根据本申请实施例提供的贴图图片识别模块中的贴图判断模块和纹理坐标判断模块的示意图;
图14为根据本申请实施例提供的对应用程序的虚拟场景识别与交互键位匹配装置的进一步描述示意图;
图15为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配装置的键位设置模块示意图;
图16为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配装置所在的计算设备的硬件结构示意图。
具体实施方式
以下结合说明书附图及具体实施例进一步说明本申请。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例提出了一种应用程序的虚拟场景识别与交互键位匹配方法和装置,应用于能够构建或运行虚拟操作系统的计算设备,该虚拟操作系统用于运行前述应用程序。其中,前述应用程序可以是安装在计算机上的手机游戏应用程序。通过使用本申请实施例的应用程序的虚拟场景识别与交互键位匹配方法,在计算机运行手机游戏应用程序的过程中,能够基于对手机游戏应用程序中贴图图片的识别,快速高效地识别游戏场景,实时动态地在游戏场景中布局游戏操作按键,使得游戏操作按键设置智能化,游戏玩家不需在游戏场景中设置操作按键便可以根据自动设置的操作按键,通过键盘和鼠标上的实体按键,对手机游戏进行操作,让游戏玩家有较好的游戏操作体验。
图1为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配方法及装置的应用环境示意图。如图1所示,该应用环境包括计算设备10和服务器20。其中计算设备10和服务器20可以为个人计算机。计算设备10配置有键盘11和鼠标12。在计算设备10上安装有手机游戏以及应用程序的虚拟场景识别与交互键位匹配装置30。应用程序的虚拟场景识别与交互键位匹配装置30可以体现为一个PC模拟器的形式,例如,模拟安卓手机游戏的PC安卓模拟器。在下文中PC模拟器也简称为模拟器。所述应用程序的虚拟场景识别与交互键位匹配装置30可以执行应用程序的虚拟场景识别与交互键位匹配方法,用于在虚拟操作系统中启动应用程序;对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;识别所述渲染数据中预设的贴图图片;当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。服务器端20可以用于配合手机游戏的更新,向计算设备10下发更新的预配置数据,例如需要在游戏中设置的按键的操作坐标数据等等。本申请实施例中的按键包括键盘11上的按键和鼠标12的左键、右键等等。在本申请各个实施例的描述中,“手机游戏”也简称为“游戏”。
图2为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配方法的流程示意图。所述应用程序的虚拟场景识别与交互键位匹配方法可以应用于计算设备上,例如计算机上。如图2所示,该应用程序的虚拟场景识别与交互键位匹配方法包括以下步骤:
步骤201,在虚拟操作系统中启动应用程序。
根据本申请实施例,例如在计算设备上运行有第一操作系统,而应用程序是适用于第二操作系统的应用程序,因此,当需要在计算设备上运行该适用于第二操作系统的应用程序时,需要在运行第一操作系统的计算机设备上构建并运行一个和第二操作系统相同的虚拟操作系统,用以运行该适用于第二操作系统的应用程序。一种可行的方式为通过在计算设备上安装一个模拟器,用虚拟机构造一个和第二操作系统相同的虚拟操作系统,给应用程序提供运行环境。
第一操作系统例如为Windows、Linux等操作系统,第二操作系统例如为安卓操作系统,虚拟操作系统例如为虚拟安卓操作系统。虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟操作系统是第二操作系统的全新虚拟镜像,它有真实的第二操作系统完全一样的功能,进入虚拟操作系统后,操作都是在这个独立的虚拟操作系统中进行,例如,可以独立安装运行软件,保存数据,有自己的独立桌面,不会影响计算机上的第一操作系统。根据本申请实施例的虚拟机例如为VirtualBox虚拟机。
例如,在计算机上运行有Windows操作系统,而手机游戏为安卓操作系统,当要在计算机上运行手机游戏时,在计算机上可以运行模拟器,模拟器用虚拟机构造一个虚拟的安卓操作系统,给手机游戏提供运行环境。在运行模拟器后,用户可以在模拟器的界面中下载手机游戏,启动手机游戏。
步骤202,对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据。
根据本申请实施例,应用程序在虚拟操作系统上运行时,可能会根据应用程序本身的运行逻辑要在显示屏上呈现各种虚拟场景。而应用程序在显示屏上呈现这些虚拟场景之前,先要在后台对这些待呈现的虚拟场景进行相应的渲染处理操作。本申请实施例通过检测应用程序在后台的渲染处理操作,得到要在显示屏上呈现的虚拟场景的信息,进而根据得到的要在显示屏上呈现的虚拟场景的信息,得知当前应用程序的运行状态,以进行相应的处理。该相应的处理例如是除应用程序本身的运行逻辑之外的额外的处理,例如设置外挂,开发基于第三方应用逻辑的上层应用等。根据本申请实施例,所述相应的处理可以是使实体按键生效,在虚拟场景中用实体按键操作替代应用程序原来支持的触摸屏触摸操作。
根据本申请实施例,应用程序是通过渲染函数对虚拟场景进行渲染的。应用程序在渲染一个虚拟场景时,可能进行多次渲染操作,多次调用渲染函数,模拟器会检测对渲染函数的每次调用,获取渲染函数每次调用时关联的渲染数据,即可得到渲染虚拟场景所用的渲染数据。
例如,当手机游戏在计算机上通过模拟器模拟的虚拟安卓操作系统环境中运行时,需要根据其游戏逻辑在显示屏上呈现游戏场景,游戏场景例如为游戏帧。模拟器可以检测渲染游戏帧过程中进行每次渲染操作时对渲染函数的调用,获得渲染函数使用的各种渲染数据。在一个游戏帧的渲染结束后会有一个刷新操作,开始渲染下一个游戏帧。模拟器可以通过检测所述刷新操作,判断渲染一个游戏帧中的每一次渲染函数的调用。
步骤203,识别所述渲染数据中预设的贴图图片。
根据本申请实施例,模拟器识别渲染数据中的预设的贴图图片。预设的贴图图片例如是需要依据它来确定应用程序当前的运行状态、识别当前的虚拟场景,以对应用程序进行除其本身的运行逻辑之外的额外的处理的贴图图片。模拟器在检测到渲染所述虚拟场景所用的渲染数据中有预设的贴图图片时,可以认为该贴图图片生效。
根据本申请实施例,在应用程序为手机游戏的情况下,由于游戏帧中可能有很多贴图图片,这些贴图图片中,有的是可由游戏玩家操作的操作按钮的贴图图片,用于当手机游戏运行在手机上时,游戏玩家可以通过用手指触摸显示在触摸屏上的操作按钮,进行相应的游戏操作;有的不是操作按钮的贴图图片,不能由游戏玩家操作,例如一些提示性图片。因此,在设计将手机游戏运行在计算机上时,模拟器设计者可以针对手机游戏中操作按钮的贴图图片,预先设置对应的按键,以实现用按键功能模拟触摸屏情况下的触摸功能,针对其他贴图图片,则可以不设置按键。模拟器设计者可以将需要设置对应的按键的贴图图片配置为一个配置文件,称为贴图图片配置文件。在手机游戏的运行过程中,模拟器识别渲染数据中是否有贴图图片配置文件中的预设的贴图图片。
贴图图片配置文件中可以包括需要检测的贴图图片所在的贴图的循环冗余校验码(CRC)、贴图图片在其所在贴图中的位置坐标(Coordinate)、贴图图片的标识(TextureId)、高度(height)、宽度(width)、备注(comm)等信息。贴图图片的标识例如为用数字表示。贴图图片通常为矩形,贴图图片在其所在的贴图中的位置坐标可以用贴图图片的四个角在贴图图片中的位置坐标表示。
示例的贴图图片配置文件例如包括以下内容:
……
<TextureId=“30”width=“512”height=“512”max_bufsize=“20480”CRC=“1576852035”coordinate=“1061945344,1038876672,1061945344,1045823488,1063518208,1038876672,1063518208,1045823488”
comm=“上车驾驶”/>
……
该示例的贴图图片配置文件配置了需要模拟器在应用程序运行的过程中,检测所渲染的虚拟环境中循环校验码为1576852035的贴图中位置为{1061945344,1038876672,1061945344,1045823488,1063518208,1038876672,1063518208,1045823488}的贴图图片。
手机游戏开发者在开发手机游戏时,通常会将手机游戏所需要的一些小的图片放在一个大图里。在本申请实施例中,这个大图称为贴图,小的图片称为贴图图片。手机游戏中可能有多个贴图,每个贴图有其对应的标识,贴图中的各个贴图图片在该贴图中的位置是固定的。贴图可以是图片的格式。贴图标识例如为贴图的名称,可以是一串数字或者字符串。
图3A为根据本申请实施例提供的示例的手机游戏中的贴图和贴图图片关系示意图。如图3A所示,贴图30为绝地求生(Player Unknown’s Battle Grounds)游戏中的贴图。在贴图30中,有各种小贴图图片,例如,贴图图片31、32、33等等。
图3B为根据本申请实施例提供的示例的手机游戏中的贴图图片在贴图中的位置信息示意图。如图3B所示,在贴图34中有五个贴图图片,分别标记为35、36、37、38、39。贴图图片35在贴图34中的位置坐标可以表示为{(0.000000,0.462891),(0.000000,0.255859),(0.207031,0.255859),(0.207031,0.462891)}。其中,坐标(0.000000,0.462891)表示贴图图片35的左下角,(0.000000,0.255859)表示其左上角,坐标(0.207031,0.255859)表示其右上角,坐标(0.207031,0.462891)表示其右下角。这个图中所举的例子是OpenGL ES(OpenGL for Embedded System)中的贴图图片的示例。OpenGL ES是OpenGL的扩展,主要用于手机、PDA和游戏主机等嵌入式设备。例如,对于图3B所示的贴图图片35,在贴图图片配置文件中配置该贴图图片35时,可以配置Coordinate的值对应于贴图图片35的四个角的坐标值。
渲染函数在渲染游戏帧时,会使用贴图的标识和贴图中贴图图片的位置坐标,作为贴图图片的数据来使用。当模拟器检测到应用程序根据游戏逻辑在屏幕上渲染游戏帧时,比较渲染函数使用的渲染数据中的贴图的标识和贴图中贴图图片的位置坐标与贴图图片配置文件中预设的贴图的标识以及预设的贴图中的贴图图片的位置坐标,判断渲染数据及游戏帧中是否有需要设置对应按键的预设的贴图图片。
步骤204,当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应按键的匹配处理。
根据本申请实施例,模拟器设计者可以将贴图图片和对应的按键的相关信息设置为配置文件,例如称为键位配置文件。计算设备中可以预先存储应用程序所需的键位配置文件。当在计算设备上运行应用程序的过程中,模拟器在识别出虚拟场景中有预设的贴图图片时,根据预设的贴图图片查找所述键位配置文件,找到预设的贴图图片对应的按键的信息,在虚拟场景中设置与按键对应的按键图标,并使按键生效,可以操作。键位配置文件可以是从服务器上下载到计算设备上,并且可以从服务器下载更新。
键位配置文件中可以包括需要设置对应按键的贴图图片的信息,例如包括贴图图片的标识(TextureId)、贴图图片的描述或名称(name)(例如描述贴图图片所对应的功能)、贴图图片的备注(Comm)。键位配置文件中还包括贴图图片对应的按键的相关信息,例如按键的名称(Itemname)、按键对应的屏幕位置坐标(Point_x,Point_y)、按键的功能描述(Description)。所述按键的功能例如为与其对应的贴图图片所关联的游戏中操作按钮的功能。除此之外,键位配置文件还可以配置在检测到渲染贴图图片时按键生效,在屏幕上显示对应的按键图标,处于用户可操作状态。
同一个贴图图片,在键位配置文件中的标识和在贴图图片配置文件中的标识相同或对应,使得键位配置文件和贴图图片配置文件中相同的贴图图片的相关信息可以关联起来。
根据本申请实施例,在应用程序为手机游戏的情况下,模拟器可以在确定游戏场景中有贴图图片配置文件中的预设的贴图图片时,根据所述键位配置文件找到预设的贴图图片所对应的按键信息,使对应的按键生效。
例如,对于绝地求生游戏,键位配置文件中可以预先设置其中的捡物贴图图片对应键盘上的F键、G键、H键等,查看周围环境的贴图图片对应Alt键,瞄准贴图图片对应右键,跳跃贴图图片对应空格键,蹲下贴图图片对应C键,趴下贴图图片对应Z键,装弹贴图图片对应R键,方向控制贴图图片分别对应W键(向前)、S键(向后)、A键(向左)、D键(向右),身体左倾贴图图片对应Q键,身体右倾贴图图片对应E键,开/关麦克风贴图图片对应Y键,开/关声音贴图图片对应T键,武器切换贴图图片对应数字键1、2、3等,背包对应Table键,压车头贴图图片对应Q键,抬车头贴图图片对应E键,下车贴图图片对应F键,鸣笛贴图图片对应鼠标左键,左手射击贴图图片对应鼠标左键,等等。另外,键位配置文件中还包括这些按键对应的屏幕位置坐标。
计算设备在配置键位配置文件时,可以配置一键多用,使得在不同的游戏场景,相同的按键可以有不同的操作功能。
步骤205,在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。
根据本申请实施例,所述按键配置信息可以是按键的相关信息,例如按键的图标。
由于显示屏是计算设备的,其是第一操作系统下的硬件设备,因此,在呈现所述虚拟场景及所述按键配置信息时,是在第一操作系统下,在屏幕上呈现所述虚拟场景及所述按键配置信息。模拟器在第一操作系统下,呈现所述虚拟场景,并在所述按键对应的屏幕位置坐标处,显示设置的按键的图标。
模拟器在呈现所述虚拟场景时,可以将所述虚拟场景在虚拟操作系统下的坐标转换为在第一操作系统下的坐标,再在屏幕上呈现虚拟场景。例如将虚拟场景的安卓坐标转换为Windows坐标。
根据本申请实施例,可以将按键的名称设置在一个背景图片上,形成所述按键图标。所述背景图片可以为圆形、椭圆形等,并将背景图片的中心位置设置在按键对应的贴图图片的显示区域之内,使得二者有重叠区域。根据本申请实施例,还可以将按键的图标设置在预设的位置上。在设置按键图标时,可以尽量避免遮挡住贴图图片的主体图像。背景图片可以设置为具有一定的透明度。
图4A为根据本申请实施例提供的一个示例游戏场景的示意图,其中是绝地求生游戏的一个游戏帧。模拟器在该游戏帧中,与背包贴图图片400对应设置Table键,与捡物贴图图片402、403、404对应设置F键、G键、H键,与查看周围环境贴图图片405对应设置Alt键,与瞄准贴图图片406对应设置右键,与跳跃贴图图片407对应设置空格键,与蹲下贴图图片408对应设置C键,与趴下贴图图片409对应设置Z键,与装弹贴图图片410对应设置R键,与左手射击贴图图片411对应设置鼠标左键,与方向控制贴图图片412对应设置W键、S键、A键、D键,与身体左倾贴图图片413对应设置Q键,与身体右倾贴图图片414对应设置E键,与开/关麦克风贴图图片415对应设置Y键,与开/关声音贴图图片416对应设置T键,与武器切换贴图图片417、418、419对应设置数字键1、2、3。
图4B为根据本申请实施例提供的另一个示例游戏场景的示意图。如图4B所示,其中,模拟器与下车贴图图片420、压车头贴图图片421、抬车头贴图图片422、鸣笛贴图图片423对应,分别设置对应的按键:F键、Q键、E键鼠标左键等。另外,与开/关麦克风贴图图片425、开/关声音贴图图片426、游戏设置贴图图片427对应设置Y键、T键、Esc键。与查看周围环境贴图图片424对应设置Alt键,与方向控制贴图图片428对应设置W键、S键、A键、D键,与背包贴图图片429对应设置Table键。
上述按键中未明确指出为鼠标键的为键盘上的按键。
根据本申请实施例,通过在虚拟操作系统中启动应用程序,对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据,识别所述渲染数据中预设的贴图图片,当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理,在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息,能够基于对游戏中贴图图片的识别,快速高效地识别游戏场景,实时动态地在游戏场景中布局游戏操作按键,使得游戏操作按键设置智能化,游戏玩家不需在游戏场景中设置操作按键便可以根据自动设置的操作按键,通过键盘和鼠标上的实体按键对手机游戏进行操作,让游戏玩家有较好的游戏操作体验。
图5为根据本申请实施例提供的对应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据的流程示意图。图5可以是对图2中的步骤202进一步的描述,也可以是对其他实施例中相同或类似步骤的进一步描述。如图5所示,步骤202可以包括:
步骤501,通过检测对所述待呈现的虚拟场景进行渲染的渲染函数的调用,得到所述渲染函数被调用时关联的顶点缓存对象中的渲染数据。
应用程序在渲染虚拟场景时,可以使用OpenGL(Open Graphics Library)中的函数,例如glDrawElements函数。
OpenGL定义了跨编程语言、跨平台的应用程序编程(Application ProgrammingInterface(API))规范。应用程序的图形渲染需求最后都交由实现了OpenGL协议的显卡驱动等渲染相关程序处理。在OpenGL进行图形渲染的过程中,可能需要经过顶点变换、图元装配、纹理映射、光栅化等一系列的计算机图形学操作。
glDrawElements函数是一个图元渲染函数,从数组中获得数据绘制或渲染图元。图元例如为三角形、线、点等。在本申请实施例中,以渲染的图元为三角形为例进行说明。在该glDrawElements函数中的函数参数例如包括:图元类型(mode),用于说明要绘制或渲染的图元的类型;计数值(Count),表示以图元类型连接的顶点的总数,根据不同的mode,Count小于或等于单个mode类型图元的顶点数*图元数;索引值的类型(type),为下列值中的一个:GL_UNSIGNED_BYTE、GL_UNSIGNED_SHORT、GL_UNSIGNED_INT;以及指针(indices),指向索引存贮位置的指针。当调用glDrawElements函数时,该函数会通过索引使用Count表示的数目的一系列的元素来创建一系列的图元。
OpenGL中包括各种库函数,例如基本库函数、实用库函数、辅助库函数、实用工具库函数等等。在OpenGL函数中提供有对顶点缓存对象(Vertex Buffer Object(VBO))进行操作的API函数。VBO是OpenGL在显卡存储空间中创建的一块内存缓存区,用于存储顶点的各类属性信息,例如顶点颜色数据、顶点坐标、纹理坐标、顶点法向量,等等。顶点是计算机图形学中的一个基本概念。在计算机图形学中,二维或三维的物体例如是通过三角形(图元)绘制的。每个三角形有三个顶点,每个顶点都有一个3D位置。一个三角形的顶点3D位置可以用一个数组来定义。由于OpenGL是在3D空间中工作的,而渲染的是一个2D三角形,因此,可以将三角形的顶点的z坐标设置为0.0。顶点坐标作为输入,输入到顶点着色器中,顶点着色器会在GPU上创建内存存储顶点坐标,并配置OpenGL如何解释这些内存,并指定如何将顶点坐标发送给显卡。顶点坐标是三维坐标,而显示屏是二维的,对顶点的顶点坐标进行计算便可以得到顶点在屏幕上的最终显示位置。
在进行渲染时,渲染函数,例如,上述的glDrawElements函数可以从VBO中读取出顶点的各类属性数据进行使用。
根据本申请实施例,模拟器可以检测对待呈现的虚拟场景进行渲染的glDrawElements函数的调用,得到该渲染函数被调用时关联的顶点缓存对象VBO中的渲染数据。
根据本申请实施例,通过检测对所述待呈现的虚拟场景进行渲染的渲染函数的调用,得到所述渲染函数被调用时关联的顶点缓存对象中的渲染数据,可以实时获得应用程序当前的运行状态,以进行相应的处理。
图6为根据本申请实施例提供的识别渲染数据中预设的贴图图片的流程示意图。图6可以是对图2中的步骤203进一步的描述,也可以是对其他实施例中相同或类似步骤的进一步描述。
OpenGL中,在对图形渲染时的纹理映射操作又称为纹理贴图操作,是将贴图图片作为纹理贴到所要渲染的物体的表面上来增强真实感。纹理映射操作是以三角形为单位进行的,需要指定物体表面上的三角形的每一个顶点在贴图中所对应的位置,再进行贴图。根据本申请实施例,所要渲染的物体为游戏中的对象。纹理映射操作例如是通过glDrawElements函数进行的。
根据本申请实施例,模拟器在检测渲染游戏帧时,可以检测进行纹理映射的函数,glDrawElements函数的调用。模拟器通过分析该函数使用的VBO中的顶点数据,得到所要渲染的顶点对应的贴图的标识。模拟器可以根据该贴图的标识,识别出渲染所述游戏帧所用的贴图。另外,模拟器再从VBO中取得所述顶点对应的所述贴图中的贴图图片的纹理坐标。通过贴图图片的纹理坐标便可以定位到贴图中相应贴图图片。
步骤203可以包括:
步骤601,判断所述渲染数据中是否包括所述预设的贴图图片所在的预设贴图。
根据本申请实施例,模拟器可以通过比较VBO中的渲染数据中的贴图的标识和记录的预设贴图的标识,判断渲染数据中是否包括预设的贴图图片所在的预设贴图。在渲染数据中的贴图的标识和所述记录的预设贴图的标识匹配时,模拟器确定所述渲染数据中包括所述预设的贴图图片所在的所述预设贴图的标识,即判断出当前渲染的虚拟场景中有需要进一步处理的贴图图片,例如,设置对应的按键。
图7是对图6中的步骤601、602的具体描述。如图7所示,步骤601可以包括:
步骤701:比较所述渲染数据中的贴图的标识和记录的所述预设贴图的标识;
步骤702:在所述渲染数据中的贴图的标识和记录的所述预设贴图的标识匹配时,确定所述渲染数据中包括所述预设的贴图图片所在的所述预设贴图。
计算设备在通过模拟器运行应用程序的过程中,会先把应用程序中可能会用到的所有贴图从硬盘加载到内存。因此,当模拟器启动应用程序之后,会检测虚拟操作系统将应用程序数据从硬盘加载到显卡内存。应用程序数据中包括有应用程序所用的贴图。根据本申请实施例,贴图加载进内存时会调用glTexImage2D函数。
通过检测glTexImage2D函数,模拟器可以取得各个贴图的循环冗余校验码。模拟器校验所取得的贴图的循环冗余校验码,并比较它和贴图图片配置文件中的预设贴图的循环冗余校验码,以判断应用程序数据中的贴图的循环冗余校验码是否和预设贴图的循环冗余校验码匹配。当模拟器确定应用程序数据中的贴图的循环冗余校验码和贴图图片配置文件中的预设贴图的循环冗余校验码匹配时,记录应用程序数据中的所述贴图的标识(ID),例如为一个数字字符串,作为所述预设贴图的标识。
对于一个贴图,应用程序每次启动时,可能会给贴图分配不同的标识。而贴图的循环冗余校验码是不变的。由于应用程序在使用贴图时,用的是贴图的标识,所以需要在贴图图片配置文件中配置要检测的贴图的循环冗余校验码,根据贴图的循环冗余校验码确定应用程序数据中的贴图的标识,以便检测贴图是否被应用程序使用。
图8为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配方法的进一步流程示意图。如图8所示,在步骤201的启动应用程序之后,所述方法可以包括:
步骤801,检测虚拟操作系统将应用程序数据从硬盘加载到显卡内存;
步骤802,校验所述应用程序数据中的贴图的循环冗余校验码,并判断所述应用程序数据中的贴图的循环冗余校验码是否和所述预设贴图的循环冗余校验码匹配;
步骤803,在确定所述应用程序数据中的贴图的循环冗余校验码和所述预设贴图的循环冗余校验码匹配时,记录所述应用程序数据中的所述贴图的标识,作为所述预设贴图的标识。
根据本申请实施例,模拟器在检测到虚拟操作系统通过glTexImage2D函数将应用程序数据从硬盘加载到显卡内存时,校验应用程序中的贴图的循环冗余校验码,比较贴图的循环冗余校验码和贴图图片配置文件中的预设贴图的循环冗余校验码,在匹配时,记录应用程序数据中的贴图的标识,作为所述预设贴图的标识。
步骤602,在确定所述渲染数据中包括所述预设的贴图图片所在的预设贴图时,判断所述渲染数据中是否包括所述预设的贴图图片在所述预设贴图中的位置信息。
在该步骤中,如图7、图8所示,判断所述渲染数据中是否包括所述预设的贴图图片在所述预设贴图中的位置信息包括:
步骤703:比较所述渲染数据中的贴图图片的纹理坐标和所述预设的贴图图片在所述预设贴图中的纹理坐标;
步骤704:在所述渲染数据中的贴图图片的纹理坐标和所述预设的贴图图片在所述预设贴图中的纹理坐标匹配时,确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息。
模拟器可以比较渲染数据中所渲染顶点对应的贴图图片的纹理坐标和贴图图片配置文件中配置的预设的贴图图片的纹理坐标,在匹配时,确定渲染数据中包括预设的贴图图片在所述预设贴图中的位置信息。
在渲染函数glDrawElements函数所使用的VBO中,会有所使用的贴图图片的纹理坐标,即贴图图片在其所在贴图中的位置坐标。根据本申请实施例,贴图或纹理图像的坐标范围例如是从(0,0)到(1,1)之间,这个坐标是经过归一化处理的坐标。例如,一个贴图的左上角坐标为(0,0),右下角坐标为(1,1)。贴图中的各贴图图片在贴图中的位置可以用各贴图图片四个角在贴图的坐标体系中的位置表示。参考图3B所示的贴图34及贴图图片35。
以图3B为例,根据本申请实施例,模拟器在识别游戏帧中的贴图图片时,可以分析glDrawElements函数所使用的VBO,找到贴图34的标识,再找到纹理坐标为{(0.000000,0.462891),(0.000000,0.255859),(0.207031,0.255859),(0.207031,0.462891)},则可以根据纹理坐标确认当前游戏帧中使用的是贴图34中的贴图图片35。
步骤603,在确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息时,确定所述渲染函数使用的渲染数据中有所述预设的贴图图片。
根据本申请实施例,模拟器在确定VBO中的渲染数据中包括预设的贴图图片所在的预设贴图以及预设的贴图图片在其所在的预设贴图中的纹理坐标时,确定渲染数据中有其要检测的、贴图图片配置文件中的预设的贴图图片。
根据本申请实施例的应用程序的虚拟场景识别与交互键位匹配方法,由于游戏中贴图图片在贴图中的纹理坐标是固定的,对于贴图里某一贴图图片,每一次渲染所使用的该贴图图片的纹理坐标都是一样,因此,通过检测渲染游戏帧时调用的渲染函数,查找渲染函数使用的数据,判断渲染数据中是否包括预设的贴图图片所在的预设贴图,在确定渲染数据中包括所述预设的贴图时,再判断所述渲染数据中是否包括所述预设的贴图图片在所述预设贴图中的位置信息,在确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息时,确定所述渲染函数使用的渲染数据中有预设的贴图图片,只需要进行几个坐标数值的对比,就能精准地判断游戏状态,快速知道某一贴图图片是否要被游戏显示,所处理的字节数比较少,使得计算设备渲染游戏帧的速度更快,所需的计算机资源开销更少,性能更高。
图9为根据本申请实施例提供的当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理的流程示意图。图9是以对图2中的步骤204进一步的描述为例,同时图9也适用于前述其他各个实施例中相同或类似步骤的描述。
如图9所示,步骤204可以包括:
步骤901,当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,根据键位配置文件中所述预设的贴图图片和对应的按键信息,确定所述贴图图片对应的实体按键,使该实体按键生效。
根据本申请实施例,模拟器可以在通过比较贴图图片配置文件中的贴图图片和渲染虚拟场景的渲染函数所使用的渲染数据中的贴图图片,确定出当前虚拟场景中有需要设置对应的按键的预设的贴图图片之后,在键位配置文件中查找该预设的贴图图片对应的按键信息。例如,模拟器可以比较从所述贴图图片配置文件中得到的所述预设的贴图图片的标识与键位配置文件中的贴图图片的标识,在匹配后,根据键位配置文件确认贴图图片的标识所对应的按键的名称、按键对应的屏幕位置坐标。
例如,示例的键位配置文件如下:
<Switch Name=“GetIntoCar”TextureId=“30”Comm=“上车驾驶”/>
……
<KeyMapping ItemName=“F”Point_X=“0.656250”Point_Y=“0.419444”Description=“上车”>
<SwitchOperation Description=“上车”EnableSwitch=“GetIntoCar”/>
</KeyMapping>
其中,键位配置文件配置了贴图图片的标识(TextureId)为“30”,名称(Name)为“GetIntoCar”,备注(Comm)为“上车驾驶”。同时键位配置文件配置了在匹配到键位配置文件中的贴图图片“GetIntoCar”时,得到按键“F”对应的屏幕位置坐标(0.656250,0.419444)。
模拟器根据前述示例的贴图图片配置文件的标识,找到TextureId为“30”的贴图图片对应的名称Itemname“GetIntoCar”,再通过SwitchOperation语句中的EnableSwitch,得到GetIntoCar的贴图图片生效。再根据“GetIntoCar”找到其对应的按键为“F”、按键对应的屏幕位置的横坐标0.656250、纵坐标0.419444,即键盘上的按键F会生效。按键对应的屏幕位置坐标例如为按键的图标的中心在屏幕上的位置。
在键位配置文件中,可以通过多条SwitchOperation语句配置同一个按键在不同贴图图片生效时生效。排列在前的贴图图片的优先级最高。SwitchOperation语句中也可以带有按键对应的屏幕位置坐标信息。这种情况下,某个贴图图片生效后,其他贴图图片就无效,按键对应的屏幕位置坐标信息只取生效的那个贴图图片所在的SwitchOperation语句中的坐标。这样配置更为灵活。
步骤902,确定所述对应的实体按键在屏幕上的操作位置。
模拟器例如是根据所述键位配置文件中的按键对应的屏幕位置坐标确定对应的按键在屏幕上的操作位置;或者是根据所述预设的贴图图片在屏幕上的显示位置确定所述对应的按键在屏幕上的操作位置。
对于根据键位配置文件中的按键对应的屏幕位置坐标确定对应的按键在屏幕上的操作位置,这种确定方法简单且具有通用性,在不方便根据预设的贴图图片在屏幕上的显示位置确定按键在屏幕上的操作位置的情况下,也可以适用。
例如,在绝地求生的游戏中,假设游戏中代表游戏玩家的人物死亡时,游戏场景中的某个位置会有一个正方形的图,模拟器检测到这个图的贴图图片时,会得知游戏结束,需要用户确认是否退出,但这个图的位置处是不能进行操作的,需要在退出按钮的位置进行操作。因此,这种情况下,会预先在键位配置文件中配置对退出按钮操作的按键在屏幕上的操作位置信息。在游戏的运行过程中,模拟器如果检测到游戏场景中有所述正方形的贴图图片时,会在退出按钮的位置处设置相应的按键,供用户进行退出操作。
在根据预设的贴图图片在屏幕上的显示位置确定对应的按键在屏幕上的操作位置的情况,可以包括以下步骤:
查找所述渲染函数使用的渲染数据中的所述预设的贴图图片所要渲染的顶点坐标;
根据所述顶点坐标,计算出所述预设的贴图图片在屏幕上的显示区域;
根据所述预设的贴图图片在屏幕上的显示区域,计算出所述对应的按键在屏幕上的操作位置。
根据本申请实施例,例如,模拟器在检测到游戏根据游戏逻辑渲染游戏帧时,可以从渲染函数glDrawElements所使用的VBO中找到游戏帧中的贴图图片所渲染的游戏帧中的三角形的顶点坐标,例如组成各种操作按钮的三角形的顶点坐标。这个顶点坐标例如是基于第二操作系统屏幕的位置,例如为安卓操作系统下的顶点在屏幕上的位置。安卓操作系统下,屏幕上的最左上角为坐标原点(0,0),最右下角为坐标最大值(如安卓屏幕分辨率为1024*576,则这个坐标最大值为(1024,576))。
例如,在用正方形的贴图图片渲染游戏帧中的三角形时,需要两个三角形,每个三角形有三个顶点,例如第一个三角形中包括顶点1、2、3,第二个三角形中包括顶点4、5、6。在这两个三角形中,有两个顶点是重合的。计算设备可以获得这两个三角形的各个顶点的顶点坐标。
之后,模拟器可以根据所述三角形的顶点坐标计算出贴图图片在屏幕上的显示位置。例如,模拟器可以根据该三角形的顶点坐标,通过模型变换(Model)、视图变换(View)、投影变换(Projection),简称MVP变换后,再通过视口变换计算出贴图图片在第一操作系统下的屏幕上的实际显示位置和区域。模拟器可以在获取游戏帧中的三角形的顶点坐标之后,根据三角形的顶点坐标计算出三角形上所贴的贴图图片在所述第一操作系统下的屏幕上的显示位置。
根据本申请实施例,例如,模拟器可以先根据贴图图片在第一操作系统下的屏幕上的显示位置,确定贴图图片在屏幕上的显示区域,再根据贴图图片在屏幕上的显示区域,确定贴图图片所述对应的按键在屏幕上的操作位置在该显示区域内。
根据本申请实施例的应用程序的虚拟场景识别与交互键位匹配方法,通过在键位配置文件中查找与预设的贴图图片对应的按键的信息,确定对应的按键,并确定按键在屏幕上的操作位置,以设置按键,计算设备可以实时、动态地得到设置相应的按键,并使之生效,使得游戏玩家可以实时操作游戏,有更好的游戏操作体验。
图10为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配方法的进一步流程示意图。如图10所示,在图2所示的各步骤之外,本申请的应用程序的虚拟场景识别与交互键位匹配方法进一步包括:
步骤1001,检测在第一操作系统下通过输入输出设备输入的对所述实体按键的操作消息。
根据本申请实施例,模拟器会检测用户在计算设备的第一操作系统下,通过键盘和鼠标之类的输入输出设备输入的按键操作消息,该按键操作消息是用于对屏幕上显示的虚拟场景中的按键图标进行操作的按键操作消息。
在游戏的情况下,模拟器会通过Hook Windows的消息,确定游戏玩家按下了键盘或鼠标上的某个按键,之后模拟器再查看键位配置文件中,这个按键是否生效。在确定游戏玩家按下了键盘或鼠标上的和屏幕上显示的游戏场景中的按键图标对应的按键时,判断该操作是有效的。
步骤1002,将所述实体按键对应的屏幕上的位置写入触摸屏设备文件中,由触摸屏驱动程序从触摸屏设备文件中读取该写入的屏幕上的位置,并将该屏幕上的位置送入所述应用程序中,由所述应用程序在该屏幕上的位置进行与所述虚拟场景的交互操作。
如前所述,模拟器可以通过键位配置文件,得到所要设置的按键对应的屏幕位置,作为按键对应的屏幕操作位置,或者根据贴图图片的位置信息得到对应的要设置的按键在屏幕上的位置。之后,当模拟器检测到游戏玩家触发对屏幕上所显示的按键图标的操作时,会将所述按键对应的操作数据,例如,按键的屏幕操作位置,写入安卓操作系统的触摸屏设备文件中。在写入之前,可以将屏幕上的操作位置进行坐标转换,转换为对应的安卓值,再写入触摸屏设备文件中。
手机上的安卓操作系统通常是基于Linux内核开发的,可以分成内核层和应用层。应用层可理解为应用程序(App)(例如,游戏)的运行环境,内核层为应用层提供基础服务。在内核层植入有针对于各类硬件的驱动程序,称为硬件驱动程序。硬件驱动程序通过读写安卓操作系统的设备文件,便可以知道硬件的数据。硬件驱动程序将取得的硬件的数据发送到上层应用中,运行应用程序。在安卓操作系统中,有各种硬件驱动程序及对应的设备文件,例如有触摸屏驱动、蓝牙驱动、音响驱动等等。而相应地,有和硬件驱动程序对应的触摸屏设备文件、蓝牙设备文件、音响设备文件等等。
以硬件为手机上的触模屏为例,当触摸屏被触模时,会产生屏幕坐标数据(x,y),作为触摸数据,传送到触模屏设备文件中。内核层的触模屏驱动程序读取该触摸屏设备文件,获得屏幕被触模的触摸数据,然后会把触摸数据传到上层应用中。安卓操作系统的上层应用,例如游戏,再根据触摸数据响应屏幕被触摸的消息。
本申请实施例根据上述安卓操作系统的处理过程,在以PC模拟器模拟安卓手机游戏时,PC模拟器在待渲染游戏帧时,通过贴图图片的位置信息计算得到键盘或鼠标的按键对应的屏幕坐标后,向触模屏设备文件写入按键对应的屏幕坐标数据,作为触摸数据,便可以模拟安卓的触模消息。即PC模拟器模拟触摸屏硬件写触摸屏设备文件的过程。
因此,根据本申请实施例,游戏玩家在玩游戏的过程中按下键盘上的按键,当计算设备检测到该按键与屏幕上显示的游戏帧中的某个按键图标匹配时,计算设备可以认为键盘上的按键的按下是有效的操作。进而,计算设备可以找到与屏幕上按键对应的贴图图片所在的屏幕位置坐标(x,y),再把这个屏幕坐标写进触摸屏设备文件。
例如,根据前述示例的键位配置文件,计算设备会将F键对应的屏幕坐标X=0.656250,Y=0.419444作为触摸数据写入触摸屏文件中。
根据本申请实施例,计算设备调用触摸屏驱动程序读取触摸屏设备文件中写入的操作数据,例如,屏幕坐标,将这个屏幕坐标上传到上层应用中,便产生屏幕被按下消息,模拟触摸屏情况下点击屏幕的操作。
例如,根据前述示例的键位配置文件,计算设备调用触摸屏驱动程序读取触摸屏设备文件中的屏幕坐标X=0.656250,Y=0.419444后,可以计算出对应的安卓坐标,通过触摸屏驱动程序发送到安卓操作系统中,便可以得知游戏玩家按下了上车键。
计算设备在得到驱动程序读取的按键的屏幕坐标后,在该坐标点执行点击操作,以实现对与该按键对应的贴图图片所表示的游戏帧中的操作按钮的操作。之后,计算设备根据游戏逻辑,在屏幕上输出该操作按钮被点击后的结果。
例如,根据前述示例的键位配置文件,计算设备根据由屏幕坐标X=0.656250,Y=0.419444计算的安卓屏幕坐标,在屏幕上点击相应的位置,使游戏中的人物上车。
根据本申请实施例的应用程序的虚拟场景识别与交互键位匹配方法,通过检测在第一操作系统下通过输入输出设备输入的对所述实体按键的操作消息,将所述实体按键对应的屏幕上的位置写入触摸屏设备文件中,由触摸屏驱动程序从触摸屏设备文件中读取该写入的屏幕上的位置,并将该屏幕上的位置送入所述应用程序中,由所述应用程序在该屏幕上的位置进行与所述虚拟场景的交互操作,实现了用户用键盘和鼠标操作游戏。
图11为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配装置示意图。如图11所示,根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配装置可以包括:
启动模块1101,用于在虚拟操作系统中启动应用程序;
渲染检测模块1102,用于对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;
贴图图片识别模块1103,用于识别所述渲染数据中预设的贴图图片;
键位设置模块1104,用于当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;
显示模块1105,用于在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。
根据本申请实施例,所述渲染检测模块1102具体用于通过检测对所述待呈现的虚拟场景进行渲染处理的渲染函数的调用,得到所述渲染函数被调用时关联的顶点缓存对象中的渲染数据。
根据本申请实施例,通过在虚拟操作系统中启动应用程序,对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据,识别所述渲染数据中预设的贴图图片,当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理,在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息,能够基于对游戏中贴图图片的识别,快速高效地识别游戏场景,实时动态地在游戏场景中布局游戏操作按键,使得游戏操作按键设置智能化,游戏玩家不需在游戏场景中设置操作按键便可以根据自动设置的操作按键,通过键盘和鼠标上的实体按键对手机游戏进行操作,让游戏玩家有较好的游戏操作体验。
图12为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配装置中的贴图图片识别模块的示意图。如图12所示,贴图图片识别模块1103可以包括:
贴图判断模块1201,用于判断所述渲染数据中是否包括所述预设的贴图图片所在的预设贴图;
纹理坐标判断模块1202,用于在所述贴图判断模块1201确定所述渲染数据中包括所述预设的贴图图片所在的预设贴图时,判断所述渲染数据中是否包括所述预设的贴图图片在所述预设贴图中的位置信息;
贴图图片确认模块1203,用于在所述纹理坐标判断模块1202判断所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息时,确定所述渲染函数使用的渲染数据中有所述预设的贴图图片。
根据本申请实施例,如图13所示,贴图判断模块1201具体可以包括:贴图标识比较模块1301,用于比较所述渲染数据中的贴图的标识和记录的所述预设贴图的标识;贴图确认模块1302,用于在所述贴图标识比较模块1301确定所述渲染数据中的贴图的标识和记录的所述预设贴图的标识匹配时,确定所述渲染数据中包括所述预设的贴图图片所在的所述预设贴图。
纹理坐标判断模块1202具体可以包括:纹理坐标比较模块1303,用于比较所述渲染数据中的贴图图片的纹理坐标和所述预设的贴图图片在所述预设贴图中的纹理坐标;纹理坐标确定模块1304,用于在所述纹理坐标比较模块1303确定所述渲染数据中的贴图图片的纹理坐标和所述预设的贴图图片在所述预设贴图中的纹理坐标匹配时,确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的纹理坐标。
图14为根据本申请实施例提供的另一个应用程序的虚拟场景识别与交互键位匹配装置示意图。如图14所示,在图13的基础上,所述应用程序的虚拟场景识别与交互键位匹配装置进一步包括以下模块:
贴图加载检测模块1401,用于检测虚拟操作系统将应用程序数据从硬盘加载到显卡内存;
校验模块1402,用于校验所述应用程序数据中的贴图的循环冗余校验码,并判断所述应用程序数据中的贴图的循环冗余校验码是否和所述预设贴图的循环冗余校验码匹配;
记录模块1403,用于在所述校验模块确定所述应用程序数据中的贴图的循环冗余校验码和所述预设贴图的循环冗余校验码匹配时,记录所述应用程序数据中的所述贴图的标识,作为所述预设贴图的标识。
根据本申请实施例的应用程序的虚拟场景识别与交互键位匹配装置,由于游戏中贴图图片在贴图中的纹理坐标是固定的,对于贴图里某一贴图图片,每一次渲染所使用的该贴图图片的纹理坐标都是一样,因此,通过检测渲染游戏帧时调用的渲染函数,查找渲染函数使用的数据,判断渲染数据中是否包括预设的贴图图片所在的预设贴图,在确定渲染数据中包括所述预设的贴图时,再判断所述渲染数据中是否包括所述预设的贴图图片在所述预设贴图中的位置信息,在确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息时,确定所述渲染函数使用的渲染数据中有预设的贴图图片,只需要进行几个坐标数值的对比,就能快速知道某一贴图图片是否要被游戏显示,所处理的字节数比较少,使得计算设备渲染游戏帧的速度更快,所需的计算机资源开销更少,性能更高。
图15为根据本申请实施例提供的应用程序的虚拟场景识别与交互键位匹配装置中的按键确定模块的示意图。如图15所示,按键确定模块1104包括:
按键确定模块1501:用于当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,根据键位配置文件中所述预设的贴图图片和对应的按键信息,确定所述贴图图片对应的实体按键,使该实体按键生效;
按键位置确定模块1502:用于确定所述对应的实体按键在屏幕上的操作位置。
根据本申请实施例的应用程序的虚拟场景识别与交互键位匹配方法,通过在键位配置文件中查找与预设的贴图图片对应的按键的信息,确定对应的按键,并确定按键在屏幕上的操作位置,以设置按键,计算设备可以实时、动态地得到设置相应的按键,并使之生效,使得游戏玩家可以实时操作游戏,有更好的游戏操作体验。
上述装置实施例中的各模块的操作可以参考前面方法描述的具体内容。
图16为根据本申请实施例提供的计算设备的硬件结构示意图。如图16所示,计算设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1601(例如,一个或一个以上处理器)和存储器1602,一个或一个以上存储应用程序1603或数据1604的存储介质1605(例如一个或一个以上海量存储设备)。其中,存储器1602和存储介质1605可以是短暂存储或持久存储。存储在存储介质1605的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对计算设备中的一系列指令操作。更进一步地,中央处理器1601可以设置为与存储介质1605通信,在计算设备上执行存储介质1605中的一系列指令操作。
具体地,在存储介质1605中储存的应用程序1603包括应用程序的虚拟场景识别与交互键位匹配装置的应用程序,且该程序可以包括上述应用程序的虚拟场景识别与交互键位匹配装置中的启动模块1101、检测模块1102、贴图图片识别模块1103、键位设置模块1104、显示模块1105、交互模块1106,在此不进行赘述。更进一步地,中央处理器1601可以设置为与存储介质1605通信,在计算设备上执行存储介质1605中储存的游戏操作的应用程序对应的一系列操作。所述游戏操作的应用程序也可以包括各方法流程图中描述的操作。
计算设备还可以包括一个或一个以上电源1606,一个或一个以上有线或无线网络接口1607,一个或一个以上输入输出接口1608,和/或,一个或一个以上操作系统1609,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例提供了一种计算设备,该计算设备能够构建或运行虚拟操作系统,所述计算设备包括:处理器和存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令由所述处理器执行以完成以下操作:
在虚拟操作系统中启动应用程序;
对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;
识别所述渲染数据中预设的贴图图片;
当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;
在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。
其中,所述对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据包括:通过检测对所述待呈现的虚拟场景进行渲染处理的渲染函数的调用,得到所述渲染函数被调用时关联的顶点缓存对象中的渲染数据。
其中,所述识别所述渲染数据中预设的贴图图片包括:判断所述渲染数据中是否包括所述预设的贴图图片所在的预设贴图;在确定所述渲染数据中包括所述预设的贴图图片所在的预设贴图时,判断所述渲染数据中是否包括所述预设的贴图图片在所述预设贴图中的位置信息;在确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息时,确定所述渲染函数使用的渲染数据中有所述预设的贴图图片。
其中,所述判断所述渲染数据中是否包括所述预设的贴图图片所在的预设贴图包括:比较所述渲染数据中的贴图的标识和记录的所述预设贴图的标识;在确定所述渲染数据中的贴图的标识和记录的所述预设贴图的标识匹配时,确定所述渲染数据中包括所述预设的贴图图片所在的所述预设贴图。
其中,所述判断所述渲染数据中是否包括所述预设的贴图图片在所述预设的贴图中的位置信息包括:比较所述渲染数据中的贴图图片的纹理坐标和所述预设的贴图图片在所述预设贴图中的纹理坐标;在确定所述渲染数据中的贴图图片的纹理坐标和所述预设的贴图图片在所述预设贴图中的纹理坐标匹配时,确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息。
在所述在虚拟操作系统中启动应用程序之后,所述计算机可读指令由所述处理器执行进一步完成以下操作:检测虚拟操作系统将应用程序数据从硬盘加载到显卡内存;判断所述应用程序数据中的贴图的循环冗余校验码是否和所述预设贴图的循环冗余校验码匹配;在确定所述应用程序数据中的贴图的循环冗余校验码和所述预设贴图的循环冗余校验码匹配时,记录所述应用程序数据中的所述贴图的标识,作为所述预设贴图的标识。
其中,当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理包括:当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,根据键位配置文件中所述预设的贴图图片和对应的按键信息,确定所述贴图图片对应的实体按键,使该实体按键生效;确定所述对应的实体按键在屏幕上的操作位置。
其中,所述确定所述对应的按键在屏幕上的操作位置包括:根据所述键位配置文件中对应的按键信息确定所述对应的实体按键在屏幕上的操作位置;或者根据所述预设的贴图图片在屏幕上的显示位置确定所述对应的按键在屏幕上的操作位置。
其中,所述根据所述预设的贴图图片在屏幕上的显示位置确定所述对应的实体按键在屏幕上的操作位置包括:查找所述渲染函数使用的渲染数据中的所述预设的贴图图片所要渲染的顶点坐标;根据所述顶点坐标,计算出所述预设的贴图图片在屏幕上显示区域;根据所述预设的贴图图片在屏幕上的显示区域,计算出所述对应的按键在屏幕上的操作位置。
其中,所述计算机可读指令由所述处理器执行进一步完成以下操作:检测在第一操作系统下通过输入输出设备输入的对所述实体按键的操作消息;将所述实体按键对应的屏幕上的位置写入触摸屏设备文件中,由触摸屏驱动程序从触摸屏设备文件中读取该屏幕上的位置,并将该屏幕上的位置送入所述应用程序中,由所述应用程序在该屏幕上的位置进行与所述虚拟场景的交互操作。
根据本申请实施例的计算设备,根据本申请实施例,通过在虚拟操作系统中启动应用程序,对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据,识别所述渲染数据中预设的贴图图片,当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理,在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息,能够基于对游戏中贴图图片的识别,快速高效地识别游戏场景,实时动态地在游戏场景中布局游戏操作按键,使得游戏操作按键设置智能化,游戏玩家不需在游戏场景中设置操作按键便可以根据自动设置的操作按键,通过键盘和鼠标上的实体按键对手机游戏进行操作,让游戏玩家有较好的游戏操作体验。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的,应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
另外,本申请的每个实例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此,本申请还提供了一种非易失性存储介质,其中存储有游戏操作程序,该游戏操作程序用于执行本申请上述实施例方法中的任何一种实例。
以上所述仅为本申请的实例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (15)

1.一种应用程序的虚拟场景识别与交互键位匹配方法,其特征在于,应用于能够构建或运行虚拟操作系统的计算设备,所述应用程序的虚拟场景识别与交互键位匹配方法包括:
在虚拟操作系统中启动应用程序;
对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;
识别所述渲染数据中预设的贴图图片;
当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;
在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。
2.根据权利要求1的方法,其特征在于,其中,所述对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据包括:
通过检测对所述待呈现的虚拟场景进行渲染处理的渲染函数的调用,得到所述渲染函数被调用时关联的顶点缓存对象中的渲染数据。
3.根据权利要求1的方法,其特征在于,其中,所述识别所述渲染数据中预设的贴图图片包括:
判断所述渲染数据中是否包括所述预设的贴图图片所在的预设贴图;
在确定所述渲染数据中包括所述预设的贴图图片所在的预设贴图时,判断所述渲染数据中是否包括所述预设的贴图图片在所述预设贴图中的位置信息;
在确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息时,确定所述渲染函数使用的渲染数据中有所述预设的贴图图片。
4.根据权利要求3的方法,其特征在于,其中,所述判断所述渲染数据中是否包括所述预设的贴图图片所在的预设贴图包括:
比较所述渲染数据中的贴图的标识和记录的所述预设贴图的标识;
在确定所述渲染数据中的贴图的标识和记录的所述预设贴图的标识匹配时,确定所述渲染数据中包括所述预设的贴图图片所在的所述预设贴图。
5.根据权利要求3或4的方法,其特征在于,其中,所述判断所述渲染数据中是否包括所述预设的贴图图片在所述预设的贴图中的位置信息包括:
比较所述渲染数据中的贴图图片的纹理坐标和所述预设的贴图图片在所述预设贴图中的纹理坐标;
在确定所述渲染数据中的贴图图片的纹理坐标和所述预设的贴图图片在所述预设贴图中的纹理坐标匹配时,确定所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息。
6.根据权利要求4的方法,其特征在于,其中,在所述在虚拟操作系统中启动应用程序的步骤之后,所述方法进一步包括:
检测虚拟操作系统将应用程序数据从硬盘加载到显卡内存;
判断所述应用程序数据中的贴图的循环冗余校验码是否和所述预设贴图的循环冗余校验码匹配;
在确定所述应用程序数据中的贴图的循环冗余校验码和所述预设贴图的循环冗余校验码匹配时,记录所述应用程序数据中的所述贴图的标识,作为所述预设贴图的标识。
7.根据权利要求1的方法,其特征在于,当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理包括:
当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,根据键位配置文件中所述预设的贴图图片和对应的按键信息,确定所述贴图图片对应的实体按键,使该实体按键生效;
确定所述对应的实体按键在屏幕上的操作位置。
8.根据权利要求7的方法,其特征在于,其中,所述确定所述对应的按键在屏幕上的操作位置包括:
根据所述键位配置文件中对应的按键信息确定所述对应的实体按键在屏幕上的操作位置;或者
根据所述预设的贴图图片在屏幕上的显示位置确定所述对应的实体按键在屏幕上的操作位置。
9.根据权利要求8的方法,其特征在于,其中,所述根据所述预设的贴图图片在屏幕上的显示位置确定所述对应的实体按键在屏幕上的操作位置包括:
查找所述渲染函数使用的渲染数据中的所述预设的贴图图片所要渲染的顶点坐标;
根据所述顶点坐标,计算出所述预设的贴图图片在屏幕上显示区域;
根据所述预设的贴图图片在屏幕上的显示区域,计算出所述对应的按键在屏幕上的操作位置。
10.根据权利要求1的方法,其特征在于,其中所述方法进一步包括:
检测在第一操作系统下通过输入输出设备输入的对所述实体按键的操作消息;
将所述实体按键对应的屏幕上的位置写入触摸屏设备文件中,由触摸屏驱动程序从触摸屏设备文件中读取该屏幕上的位置,并将该屏幕上的位置送入所述应用程序中,由所述应用程序在该屏幕上的位置进行与所述虚拟场景的交互操作。
11.一种应用程序的虚拟场景识别与交互键位匹配装置,其特征在于,应用于能够构建或运行虚拟操作系统的计算设备,所述应用程序的虚拟场景识别与交互键位匹配装置包括:
启动模块,用于在虚拟操作系统中启动应用程序;
渲染检测模块,用于对所述应用程序的待呈现的虚拟场景进行渲染处理,得到渲染所述虚拟场景所用的渲染数据;
贴图图片识别模块,用于识别渲染检测模块得到的所述渲染数据中预设的贴图图片;
键位设置模块,用于当贴图图片识别模块识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,以完成所述贴图图片与所述计算设备的对应实体按键的匹配处理;
显示模块,用于在所述计算设备的屏幕上呈现所述虚拟场景及与该虚拟场景对应的按键配置信息。
12.根据权利要求11的装置,其特征在于,其中所述渲染检测模块具体用于:
通过检测对所述待呈现的虚拟场景进行渲染处理的渲染函数的调用,得到所述渲染函数被调用时关联的顶点缓存对象中的渲染数据。
13.根据权利要求11的装置,其特征在于,其中所述贴图图片识别模块包括:
贴图判断模块,用于判断所述渲染数据中是否包括所述预设的贴图图片所在的预设贴图;
纹理坐标判断模块,用于在所述贴图判断模块确定所述渲染数据中包括所述预设的贴图图片所在的预设贴图时,判断所述渲染数据中是否包括所述预设的贴图图片在所述预设贴图中的位置信息;
贴图图片确认模块,用于在所述纹理坐标判断模块判断所述渲染数据中包括所述预设的贴图图片在所述预设贴图中的位置信息时,确定所述渲染函数使用的渲染数据中有所述预设的贴图图片。
14.根据权利要求11的装置,其特征在于,其中所述键位设置模块包括:
按键确定模块,用于当识别到所述虚拟场景中有预设的贴图图片时,调用对应的键位配置文件,根据键位配置文件中所述预设的贴图图片和对应的按键信息,确定所述贴图图片对应的实体按键,使该实体按键生效;
按键位置确定模块,用于确定所述对应的实体按键在屏幕上的操作位置。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1至10任意一项的方法步骤。
CN201811330926.1A 2018-11-09 2018-11-09 应用程序的虚拟场景识别与交互键位匹配方法及装置 Active CN109544663B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201811330926.1A CN109544663B (zh) 2018-11-09 2018-11-09 应用程序的虚拟场景识别与交互键位匹配方法及装置
EP19881725.6A EP3879496A4 (en) 2018-11-09 2019-10-08 METHOD FOR DETECTION OF VIRTUAL SCENES AND FOR INTERACTION KEY POSITION ADAPTATION FOR APPLICATION PROGRAM AND COMPUTER DEVICE
JP2020563939A JP7221989B2 (ja) 2018-11-09 2019-10-08 アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置
PCT/CN2019/109985 WO2020093825A1 (zh) 2018-11-09 2019-10-08 应用程序的虚拟场景识别与交互键位匹配方法及计算设备
US17/085,649 US11511188B2 (en) 2018-11-09 2020-10-30 Virtual scene recognition and interaction key position matching method for application and computing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811330926.1A CN109544663B (zh) 2018-11-09 2018-11-09 应用程序的虚拟场景识别与交互键位匹配方法及装置

Publications (2)

Publication Number Publication Date
CN109544663A true CN109544663A (zh) 2019-03-29
CN109544663B CN109544663B (zh) 2023-01-06

Family

ID=65846634

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811330926.1A Active CN109544663B (zh) 2018-11-09 2018-11-09 应用程序的虚拟场景识别与交互键位匹配方法及装置

Country Status (5)

Country Link
US (1) US11511188B2 (zh)
EP (1) EP3879496A4 (zh)
JP (1) JP7221989B2 (zh)
CN (1) CN109544663B (zh)
WO (1) WO2020093825A1 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110227264A (zh) * 2019-06-06 2019-09-13 腾讯科技(成都)有限公司 虚拟对象控制方法、装置、可读存储介质和计算机设备
CN110860085A (zh) * 2019-11-14 2020-03-06 网易(杭州)网络有限公司 键鼠设置方法及装置
WO2020093825A1 (zh) * 2018-11-09 2020-05-14 腾讯科技(深圳)有限公司 应用程序的虚拟场景识别与交互键位匹配方法及计算设备
CN111510780A (zh) * 2020-04-10 2020-08-07 广州华多网络科技有限公司 视频直播控制、桥接、流控、播控方法及客户端
CN112200712A (zh) * 2020-09-08 2021-01-08 成都安易迅科技有限公司 Gles图像渲染方法及装置、存储介质、计算机设备
CN112274916A (zh) * 2020-11-20 2021-01-29 杭州雾联科技有限公司 一种键鼠输入方法、装置、设备及介质
CN112657177A (zh) * 2019-10-16 2021-04-16 宏碁股份有限公司 游戏操作优化方法及移动装置
CN113140028A (zh) * 2021-04-08 2021-07-20 广州三七互娱科技有限公司 虚拟物体渲染方法、装置及电子设备
CN113617026A (zh) * 2021-08-27 2021-11-09 腾讯科技(深圳)有限公司 云游戏的处理方法、装置、计算机设备和存储介质
CN113617027A (zh) * 2021-08-27 2021-11-09 腾讯科技(深圳)有限公司 云游戏的处理方法、装置、设备以及介质
CN113975804A (zh) * 2021-10-29 2022-01-28 腾讯科技(深圳)有限公司 虚拟控件显示方法、装置、设备、存储介质及产品

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111598976B (zh) * 2019-02-01 2023-08-22 华为技术有限公司 场景识别方法及装置、终端、存储介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092612A (zh) * 2012-12-31 2013-05-08 深圳天珑无线科技有限公司 实现安卓操作系统3d桌面贴图的方法及电子装置
CN104469465A (zh) * 2014-12-09 2015-03-25 四川长虹电器股份有限公司 基于安卓系统的智能电视悬浮主场景交互方法
CN104599319A (zh) * 2014-12-26 2015-05-06 福建工程学院 一种3d场景的实时生成方法
CN104740872A (zh) * 2015-04-13 2015-07-01 北京奇虎科技有限公司 模拟安卓环境中游戏程序运行控制方法及装置
CN105513038A (zh) * 2014-10-20 2016-04-20 网易(杭州)网络有限公司 图像匹配方法及手机应用测试平台
CN105641931A (zh) * 2016-03-31 2016-06-08 深圳市创想天空科技股份有限公司 游戏操作配置方法与系统
CN106027753A (zh) * 2016-04-27 2016-10-12 广州百田信息科技有限公司 一种点读故事机的控制方法及装置
CN107320956A (zh) * 2017-08-08 2017-11-07 腾讯科技(深圳)有限公司 一种游戏界面生成方法及装置
CN107635078A (zh) * 2017-10-30 2018-01-26 广东欧珀移动通信有限公司 游戏控制方法及设备
CN107743604A (zh) * 2015-09-16 2018-02-27 谷歌有限责任公司 增强和/或虚拟现实环境中的触摸屏悬停检测
CN107909641A (zh) * 2017-10-26 2018-04-13 广州市雷军游乐设备有限公司 一种烘焙渲染方法、装置、终端设备及存储介质
CN107970562A (zh) * 2017-12-06 2018-05-01 中南林业科技大学 用于划船机的虚拟现实游戏实现方法
CN108176048A (zh) * 2017-11-30 2018-06-19 腾讯科技(深圳)有限公司 图像的处理方法和装置、存储介质、电子装置
CN108564646A (zh) * 2018-03-28 2018-09-21 腾讯科技(深圳)有限公司 对象的渲染方法和装置、存储介质、电子装置
CN108579082A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 游戏中显示光影的方法、装置和终端

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070037625A1 (en) * 2005-06-28 2007-02-15 Samsung Electronics Co., Ltd. Multiplayer video gaming system and method
WO2009026198A1 (en) * 2007-08-20 2009-02-26 Double Fusion, Inc. Independently-defined alteration of output from software executable using later-integrated code
US8041860B2 (en) * 2008-12-15 2011-10-18 Cywee Group Limited Method for producing a mapping tool, a PC game having the mapping tool and operation method therefore
US8539039B2 (en) * 2010-06-22 2013-09-17 Splashtop Inc. Remote server environment
US20120086630A1 (en) * 2010-10-12 2012-04-12 Sony Computer Entertainment Inc. Using a portable gaming device to record or modify a game or application in real-time running on a home gaming system
EP2661666A4 (en) * 2011-01-05 2015-01-21 Razer Asia Pacific Pte Ltd SYSTEMS AND METHODS FOR MANAGING, SELECTING, AND UPDATING CONTENT FOR THE VISUAL INTERFACE USING DISPLAY KEYPADS, AND / OR OTHER USER INPUT DEVICES
KR101759537B1 (ko) * 2011-08-17 2017-07-31 (주)경문엔터테인먼트 화면터치식 버튼의 키매핑방법
CN102707937A (zh) * 2011-08-29 2012-10-03 新奥特(北京)视频技术有限公司 一种图文系统中触摸屏菜单场景的实现方法及系统
CN102662466A (zh) * 2012-03-28 2012-09-12 深圳市兴达实电子有限公司 平板电脑游戏控制器系统及其控制方法
CN102799359B (zh) * 2012-06-20 2016-06-08 宇龙计算机通信科技(深圳)有限公司 终端和终端操控方法
US9671874B2 (en) * 2012-11-08 2017-06-06 Cuesta Technology Holdings, Llc Systems and methods for extensions to alternative control of touch-based devices
US9751005B1 (en) * 2013-12-13 2017-09-05 Aftershock Services, Inc. Facilitating map navigation in an online game
CN103823673B (zh) * 2014-02-12 2017-07-07 陈昱 云计算系统终端实现gtk图形界面与云端应用对接的方法
US9857939B2 (en) * 2015-02-27 2018-01-02 Accenture Global Services Limited Three-dimensional virtualization
US10062181B1 (en) * 2015-07-30 2018-08-28 Teradici Corporation Method and apparatus for rasterizing and encoding vector graphics
CN106909547B (zh) * 2015-12-22 2020-09-04 北京奇虎科技有限公司 基于浏览器的图片加载方法及装置
KR20180111397A (ko) * 2017-04-02 2018-10-11 둘툰 주식회사 외부 입력장치를 이용한 게임 가상 컨트롤러 생성 및 매핑 방법
US10238960B2 (en) * 2017-04-26 2019-03-26 Microsoft Technology Licensing, Llc Dual input multilayer keyboard
CN107297073B (zh) * 2017-06-15 2022-11-01 广州华多网络科技有限公司 外设输入信号的模拟方法、装置及电子设备
CN107789830A (zh) 2017-09-15 2018-03-13 网易(杭州)网络有限公司 信息处理方法、装置、电子设备及存储介质
US11383164B2 (en) * 2018-02-23 2022-07-12 Rovi Guides, Inc. Systems and methods for creating a non-curated viewing perspective in a video game platform based on a curated viewing perspective
US10850199B2 (en) * 2018-04-04 2020-12-01 UberGeekGames LLC Scripting engine and implementations
CN109544663B (zh) * 2018-11-09 2023-01-06 腾讯科技(深圳)有限公司 应用程序的虚拟场景识别与交互键位匹配方法及装置

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092612A (zh) * 2012-12-31 2013-05-08 深圳天珑无线科技有限公司 实现安卓操作系统3d桌面贴图的方法及电子装置
CN105513038A (zh) * 2014-10-20 2016-04-20 网易(杭州)网络有限公司 图像匹配方法及手机应用测试平台
CN104469465A (zh) * 2014-12-09 2015-03-25 四川长虹电器股份有限公司 基于安卓系统的智能电视悬浮主场景交互方法
CN104599319A (zh) * 2014-12-26 2015-05-06 福建工程学院 一种3d场景的实时生成方法
CN104740872A (zh) * 2015-04-13 2015-07-01 北京奇虎科技有限公司 模拟安卓环境中游戏程序运行控制方法及装置
CN107743604A (zh) * 2015-09-16 2018-02-27 谷歌有限责任公司 增强和/或虚拟现实环境中的触摸屏悬停检测
CN105641931A (zh) * 2016-03-31 2016-06-08 深圳市创想天空科技股份有限公司 游戏操作配置方法与系统
CN106027753A (zh) * 2016-04-27 2016-10-12 广州百田信息科技有限公司 一种点读故事机的控制方法及装置
CN107320956A (zh) * 2017-08-08 2017-11-07 腾讯科技(深圳)有限公司 一种游戏界面生成方法及装置
CN107909641A (zh) * 2017-10-26 2018-04-13 广州市雷军游乐设备有限公司 一种烘焙渲染方法、装置、终端设备及存储介质
CN107635078A (zh) * 2017-10-30 2018-01-26 广东欧珀移动通信有限公司 游戏控制方法及设备
CN108176048A (zh) * 2017-11-30 2018-06-19 腾讯科技(深圳)有限公司 图像的处理方法和装置、存储介质、电子装置
CN107970562A (zh) * 2017-12-06 2018-05-01 中南林业科技大学 用于划船机的虚拟现实游戏实现方法
CN108564646A (zh) * 2018-03-28 2018-09-21 腾讯科技(深圳)有限公司 对象的渲染方法和装置、存储介质、电子装置
CN108579082A (zh) * 2018-04-27 2018-09-28 网易(杭州)网络有限公司 游戏中显示光影的方法、装置和终端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
胡莉等: "基于增强现实与人体动作识别的互动游戏应用设计", 《电信工程技术与标准化》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020093825A1 (zh) * 2018-11-09 2020-05-14 腾讯科技(深圳)有限公司 应用程序的虚拟场景识别与交互键位匹配方法及计算设备
US11511188B2 (en) 2018-11-09 2022-11-29 Tencent Technology (Shenzhen) Company Limited Virtual scene recognition and interaction key position matching method for application and computing device
CN110227264A (zh) * 2019-06-06 2019-09-13 腾讯科技(成都)有限公司 虚拟对象控制方法、装置、可读存储介质和计算机设备
CN110227264B (zh) * 2019-06-06 2023-07-11 腾讯科技(成都)有限公司 虚拟对象控制方法、装置、可读存储介质和计算机设备
CN112657177A (zh) * 2019-10-16 2021-04-16 宏碁股份有限公司 游戏操作优化方法及移动装置
CN110860085A (zh) * 2019-11-14 2020-03-06 网易(杭州)网络有限公司 键鼠设置方法及装置
CN110860085B (zh) * 2019-11-14 2023-04-25 网易(杭州)网络有限公司 键鼠设置方法及装置
CN111510780B (zh) * 2020-04-10 2021-10-26 广州方硅信息技术有限公司 视频直播控制、桥接、流控、播控方法及客户端
CN111510780A (zh) * 2020-04-10 2020-08-07 广州华多网络科技有限公司 视频直播控制、桥接、流控、播控方法及客户端
CN112200712A (zh) * 2020-09-08 2021-01-08 成都安易迅科技有限公司 Gles图像渲染方法及装置、存储介质、计算机设备
CN112200712B (zh) * 2020-09-08 2023-10-27 成都安易迅科技有限公司 Gles图像渲染方法及装置、存储介质、计算机设备
CN112274916A (zh) * 2020-11-20 2021-01-29 杭州雾联科技有限公司 一种键鼠输入方法、装置、设备及介质
CN113140028A (zh) * 2021-04-08 2021-07-20 广州三七互娱科技有限公司 虚拟物体渲染方法、装置及电子设备
CN113617026A (zh) * 2021-08-27 2021-11-09 腾讯科技(深圳)有限公司 云游戏的处理方法、装置、计算机设备和存储介质
CN113617027A (zh) * 2021-08-27 2021-11-09 腾讯科技(深圳)有限公司 云游戏的处理方法、装置、设备以及介质
CN113617026B (zh) * 2021-08-27 2023-07-25 腾讯科技(深圳)有限公司 云游戏的处理方法、装置、计算机设备和存储介质
CN113617027B (zh) * 2021-08-27 2023-10-24 腾讯科技(深圳)有限公司 云游戏的处理方法、装置、设备以及介质
CN113975804A (zh) * 2021-10-29 2022-01-28 腾讯科技(深圳)有限公司 虚拟控件显示方法、装置、设备、存储介质及产品
CN113975804B (zh) * 2021-10-29 2024-04-19 腾讯科技(深圳)有限公司 虚拟控件显示方法、装置、设备、存储介质及产品

Also Published As

Publication number Publication date
EP3879496A1 (en) 2021-09-15
US11511188B2 (en) 2022-11-29
CN109544663B (zh) 2023-01-06
JP7221989B2 (ja) 2023-02-14
WO2020093825A1 (zh) 2020-05-14
JP2021524094A (ja) 2021-09-09
EP3879496A4 (en) 2022-01-05
US20210046382A1 (en) 2021-02-18

Similar Documents

Publication Publication Date Title
CN109544663A (zh) 应用程序的虚拟场景识别与交互键位匹配方法及装置
US11119564B2 (en) Information processing apparatus, method for information processing, and game apparatus for performing different operations based on a movement of inputs
US11393154B2 (en) Hair rendering method, device, electronic apparatus, and storage medium
US8654099B2 (en) Control of data processing based on inter-image motion detection
US20170255450A1 (en) Spatial cooperative programming language
US20220148279A1 (en) Virtual object processing method and apparatus, and storage medium and electronic device
CN108694073B (zh) 虚拟场景的控制方法、装置、设备及存储介质
JP5449422B2 (ja) 画面スクロール装置,画面スクロール方法,及びゲーム装置
US20120242664A1 (en) Accelerometer-based lighting and effects for mobile devices
CN105531756A (zh) 信息处理装置、信息处理方法和计算机程序
CN109345558A (zh) 图像处理方法、装置、介质和电子设备
TW202138971A (zh) 互動方法、裝置、互動系統、電子設備及存儲介質
US11054941B2 (en) Information processing system, information processing method, and program for correcting operation direction and operation amount
JP6235544B2 (ja) プログラム,コンピュータ装置,画面制御方法,及びシステム
WO2024093609A1 (zh) 一种叠加光遮挡的渲染方法、装置及相关产品
WO2022127852A1 (zh) 手指触摸操作显示方法及装置
Madsen et al. OpenGL Game Development By Example
JP5826244B2 (ja) ゲームシステム
CN118057313A (zh) 交互设备的测试方法、装置、设备及可读存储介质
JP2019186588A (ja) コンテンツ表示システム
CN115937284A (zh) 一种图像生成方法、设备以及存储介质和程序产品
US20170110138A1 (en) Virtualizing audio decoding hardware
WO2015033967A1 (ja) エミュレーション装置、エミュレーション方法、プログラム及び情報記憶媒体

Legal Events

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