IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許7221989アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置
<>
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図1
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図2
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図3A
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図3B
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図4A
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図4B
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図5
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図6
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図7
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図8
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図9
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図10
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図11
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図12
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図13
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図14
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図15
  • 特許-アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-06
(45)【発行日】2023-02-14
(54)【発明の名称】アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置
(51)【国際特許分類】
   G06T 11/80 20060101AFI20230207BHJP
   G06F 9/445 20180101ALI20230207BHJP
   A63F 13/22 20140101ALI20230207BHJP
   A63F 13/533 20140101ALI20230207BHJP
【FI】
G06T11/80 A
G06F9/445
A63F13/22
A63F13/533
【請求項の数】 12
(21)【出願番号】P 2020563939
(86)(22)【出願日】2019-10-08
(65)【公表番号】
(43)【公表日】2021-09-09
(86)【国際出願番号】 CN2019109985
(87)【国際公開番号】W WO2020093825
(87)【国際公開日】2020-05-14
【審査請求日】2020-11-12
(31)【優先権主張番号】201811330926.1
(32)【優先日】2018-11-09
(33)【優先権主張国・地域又は機関】CN
【前置審査】
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲呉▼ 智文
(72)【発明者】
【氏名】黄 源超
【審査官】片岡 利延
(56)【参考文献】
【文献】韓国公開特許第10-2018-0111397(KR,A)
【文献】米国特許第10062181(US,B1)
【文献】米国特許出願公開第2009/0054140(US,A1)
【文献】米国特許出願公開第2016/0054807(US,A1)
【文献】ちもろぐ,荒野行動をPCからプレイする方法とおすすめの設定,[online],2018年03月12日,https://chimolog.co/pubg-vs-knives-out-pc/
(58)【調査した分野】(Int.Cl.,DB名)
G06T 11/80
G06F 9/445
A63F 13/22
A63F 13/533
(57)【特許請求の範囲】
【請求項1】
仮想オペレーティングシステムを構築又は実行可能であり、第1のオペレーティングシステムが実行される計算装置が実行するアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法であって、
前記仮想オペレーティングシステムにおいて、第2のオペレーティングシステムに適用するアプリケーションを起動するステップであって、前記仮想オペレーティングシステムは、前記第2のオペレーティングシステムの仮想ミラーである、ステップと、
前記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得するステップと、
前記レンダリングデータに所定のマップピクチャが含まれていると認識されると、前記所定のマップピクチャと対応する物理キーの関連情報が設定された、対応するキープロファイルを呼び出し、前記所定のマップピクチャと前記計算装置の前記対応する物理キーとのマッチング処理を実行するステップと、
前記計算装置の表示画面に、前記仮想シーンと前記仮想シーンに対応するキー設定情報とを表示するステップであって、前記キー設定情報は、マッチングされた物理キーに関連付けられている、ステップとを含むことを特徴とする方法。
【請求項2】
前記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得する前記ステップは、
前記アプリケーションによるレンダリング関数の呼び出しを検出することにより、前記レンダリング関数が呼び出された場合の頂点バッファオブジェクトにおけるレンダリングデータを取得し、前記頂点バッファオブジェクトにおけるレンダリングデータを、前記仮想シーンをレンダリングするためのレンダリングデータとするステップであって、前記レンダリング関数は、前記仮想シーンをレンダリング処理するためのものである、ステップを含むことを特徴とする、請求項1に記載の方法。
【請求項3】
前記レンダリングデータに前記所定のマップピクチャの位置する所定のマップが含まれていると決定され、且つ、前記レンダリングデータに前記所定のマップピクチャの前記所定のマップにおける位置情報が含まれていると決定されると、前記レンダリングデータには前記所定のマップピクチャが含まれていると決定するステップをさらに含むことを特徴とする、請求項1に記載の方法。
【請求項4】
前記レンダリングデータにおけるマップの識別子と記録された前記所定のマップの識別子とを比較するステップと、
前記レンダリングデータにおけるマップの識別子と記録された前記所定のマップの識別子がマッチングすると決定されると、前記レンダリングデータには前記所定のマップが含まれていると決定するステップとをさらに含むことを特徴とする、請求項3に記載の方法。
【請求項5】
前記レンダリングデータにおけるマップピクチャのテクスチャ座標と前記所定のマップピクチャの前記所定のマップにおけるテクスチャ座標とを比較するステップと、
前記レンダリングデータにおけるマップピクチャのテクスチャ座標と前記所定のマップピクチャの前記所定のマップにおけるテクスチャ座標がマッチングすると決定されると、前記レンダリングデータには前記所定のマップピクチャの前記所定のマップにおける位置情報が含まれていると決定するステップとをさらに含むことを特徴とする、請求項3又は請求項4に記載の方法。
【請求項6】
前記仮想オペレーティングシステムにおいてアプリケーションを起動する前記ステップの後、
前記仮想オペレーティングシステムがアプリケーションデータをハードディスクからビデオメモリに展開したことを検出した後、前記アプリケーションデータにおけるマップの巡回冗長検査符号と前記所定のマップの巡回冗長検査符号とがマッチングすると決定されると、前記アプリケーションデータにおける前記マップの識別子を前記所定のマップの識別子とするステップをさらに含むことを特徴とする、請求項4に記載の方法。
【請求項7】
前記レンダリングデータに所定のマップピクチャが含まれていると認識されると、キープロファイルを呼び出し、前記所定のマップピクチャと前記計算装置の対応する物理キーとのマッチング処理を実行する前記ステップは、
前記レンダリングデータに前記所定のマップピクチャが含まれていると認識されると、前記キープロファイルを呼び出し、前記キープロファイルにおける、前記所定のマップピクチャに対応するキー情報に基づいて、前記所定のマップピクチャに対応する物理キーを決定し、前記物理キーを有効にイネーブルするステップと、
前記所定のマップピクチャに対応する物理キーの表示画面での操作位置を決定するステップとを含むことを特徴とする、請求項1に記載の方法。
【請求項8】
前記所定のマップピクチャに対応する物理キーの表示画面での操作位置を決定する前記ステップは、
前記キープロファイルにおける、前記所定のマップピクチャに対応するキー情報に基づいて、前記所定のマップピクチャに対応する物理キーの前記表示画面での操作位置を決定するステップ、又は
前記所定のマップピクチャの前記表示画面での表示位置に基づいて、前記所定のマップピクチャに対応する物理キーの前記表示画面での操作位置を決定するステップを含むことを特徴とする、請求項7に記載の方法。
【請求項9】
前記所定のマップピクチャの前記表示画面での表示位置に基づいて、前記所定のマップピクチャに対応する物理キーの前記表示画面での操作位置を決定する前記ステップは、
前記レンダリングデータにおける前記所定のマップピクチャのレンダリングしようとする頂点座標を検索するステップと、
前記頂点座標に基づいて、前記所定のマップピクチャの前記表示画面での表示領域を取得するステップと、
前記所定のマップピクチャの前記表示画面での表示領域に基づいて、前記所定のマップピクチャに対応する物理キーの前記表示画面での操作位置を取得するステップとを含むことを特徴とする、請求項8に記載の方法。
【請求項10】
前記第1のオペレーティングシステムにおいて入出力装置によって入力された、前記所定のマップピクチャに対応する物理キーに対する操作メッセージを検出するステップと、
前記所定のマップピクチャに対応する物理キーの前記表示画面での操作位置をタッチスクリーンデバイスファイルに書き込み、タッチスクリーンドライバによって前記タッチスクリーンデバイスファイルから前記操作位置を読み取り、前記操作位置を前記アプリケーションに送り込み、前記アプリケーションによって前記表示画面での前記操作位置で前記仮想シーンとのインタラクション操作を行うステップとをさらに含むことを特徴とする、請求項1に記載の方法。
【請求項11】
プロセッサと、コンピュータ読み取り可能な命令が記憶されているメモリとを含む計算装置であって、
前記コンピュータ読み取り可能な命令が前記プロセッサによって実行されると、請求項1から請求項10のいずれか一項に記載の方法を実現することを特徴とする、計算装置。
【請求項12】
プロセッサによって実行されると、請求項1から請求項10のいずれか一項に記載の方法を実現するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2018年11月9日に提出された、出願番号が第201811330926.1号で、発明の名称が「アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、装置」の中国特許出願の優先権を主張するものであり、その全ての内容が引用により本願に組み込まれるものとする。
【0002】
本願は、インターネットの技術分野に関し、特に、アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、並びに計算装置に関する。
【背景技術】
【0003】
ゲーム技術の発展に伴い、ゲーム開発者は、携帯電話で実行されるゲーム、例えばAndroid(登録商標)オペレーティングシステム用の携帯電話ゲーム、iOS(登録商標)オペレーティングシステム用の携帯電話ゲームなどを多数開発している。ゲームプレーヤが携帯電話ゲームをプレイするとき、タッチスクリーンを介して操作することが一般的であるため、携帯電話ゲームの設計において、通常、マウスとキーボードによる操作をサポートせず、タッチ操作のみをサポートするように設計される。しかし、携帯電話のスクリーンサイズの制約によって、携帯電話では良好な視覚体験と視覚効果を得るのは困難であり、一方、携帯電話で、スクリーンへのタッチでは携帯電話ゲームに多くの複雑な操作を行うことが困難である。したがって、より良好な視覚体験と視覚効果を達成し、携帯電話ゲームに対してより複雑な操作を行うために、ゲームプレーヤは、パーソナルコンピュータ(PC、Personal Computer)で携帯電話ゲームをプレイし、マウスとキーボードを用いて携帯電話ゲームへの操作を実現することが望む場合がある。
【0004】
このような場合、タッチ操作をサポートする携帯電話ゲームを、マウスとキーボードによる操作をサポートするコンピュータゲームに変換する必要がある。現在、マウスとキーボードを用いてタッチ操作をシミュレートすることで、上記のような変換機能を実現するPCシミュレータが市販されている。このようなPCシミュレータでは、ゲームプレーヤは、ゲーム前又はゲーム中に自らゲーム操作キーを設定しないと、その後、ゲーム操作キーによって携帯電話ゲームを操作できなくなる。しかし、携帯電話ゲームがますます複雑化し、操作方式もますます複雑化するため、ゲームプレーヤは、多くのゲーム操作キーを自ら設定することを必要とする可能性がある。手動でゲーム操作キーを設定する方法が知能的でないため、このようなPCシミュレータにおけるキー設定とゲーム操作方式では、ゲームプレーヤが携帯電話ゲームをプレイする際のゲーム操作体験への要求を満たすことができなくなる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本願の実施例は、アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法及び装置、並びに、コンピュータプログラム、計算装置を提供する。
【0006】
本願の実施例によれば、前記アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法は、仮想オペレーティングシステムを構築又は実行可能な計算装置に応用され、
前記仮想オペレーティングシステムにおいてアプリケーションを起動するステップと、
前記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得するステップと、
前記レンダリングデータに所定のマップピクチャが含まれていると認識されると、キープロファイルを呼び出し、前記所定のマップピクチャと前記計算装置の対応する物理キーとのマッチング処理を実行するステップと、
前記計算装置の表示画面に、前記仮想シーンと前記仮想シーンに対応するキー設定情報とを表示するステップであって、前記キー設定情報は、マッチングされた物理キーに関連付けられている、ステップとを含む。
【0007】
本願の実施例によれば、前記アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置は、仮想オペレーティングシステムを構築又は実行可能な計算装置に応用され、
前記仮想オペレーティングシステムにおいてアプリケーションを起動する起動モジュールと、
前記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得するレンダリング検出モジュールと、
レンダリング検出モジュールにより取得された前記レンダリングデータに、所定のマップピクチャが含まれているか否かを認識するマップピクチャ認識モジュールと、
マップピクチャ認識モジュールが前記仮想シーンに所定のマップピクチャが含まれていると認識されると、対応するキープロファイルを呼び出し、前記所定のマップピクチャと前記計算装置の対応する物理キーとのマッチング処理を実行するキー設定モジュールと、
前記計算装置の表示画面に、前記仮想シーンと前記仮想シーンに対応するキー設定情報とを表示する表示モジュールであって、前記キー設定情報は、マッチングされた物理キーに関連付けられている、表示モジュールとを含む。
【0008】
本願の実施例によれば、前記コンピュータプログラムがプロセッサによって実行されると、
前記仮想オペレーティングシステムにおいてアプリケーションを起動するステップと、
前記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得するステップと、
前記レンダリングデータに所定のマップピクチャが含まれていると認識されると、キープロファイルを呼び出し、前記所定のマップピクチャと前記計算装置の対応する物理キーとのマッチング処理を実行するステップと、
前記計算装置の表示画面に、前記仮想シーンと前記仮想シーンに対応するキー設定情報とを表示するステップであって、前記キー設定情報は、マッチングされた物理キーに関連付けられている、ステップとを実行する。
【0009】
本願の実施例によれば、仮想オペレーティングシステムを構築又は実行可能な前記計算装置は、プロセッサと、コンピュータ読み取り可能な命令が記憶されているメモリとを含み、前記コンピュータ読み取り可能な命令が前記プロセッサによって実行されると、
前記仮想オペレーティングシステムにおいてアプリケーションを起動する操作と、
前記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得する操作と、
前記レンダリングデータに所定のマップピクチャが含まれていると認識されると、キープロファイルを呼び出し、前記所定のマップピクチャと前記計算装置の対応する物理キーとのマッチング処理を実行する操作と、
前記計算装置の表示画面に、前記仮想シーンと前記仮想シーンに対応するキー設定情報とを表示する操作であって、前記キー設定情報は、マッチングされた物理キーに関連付けられている、操作とを実現する。
【0010】
本願の実施例では、仮想オペレーティングシステムにおいてアプリケーションを起動し、前記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得し、前記レンダリングデータにおける所定のマップピクチャを認識し、前記仮想シーンには所定のマップピクチャがあると認識した場合、対応するキープロファイルを呼び出して、前記マップピクチャと前記計算装置の対応する物理キーとのマッチング処理を完了し、前記計算装置の画面に、前記仮想シーンと該仮想シーンに対応するキー設定情報とを表示する。本願の実施例は、携帯電話ゲームアプリケーションにおけるマップピクチャに対する認識に基づいて、ゲームシーンを迅速かつ効率的に認識し、認識されたゲームシーンにゲーム操作キーをリアルタイムで、自動的かつ合理的に配置し、ゲーム操作キーの設定を知能化することができ、ゲームプレーヤは、マウス及びキーボードを用いて容易にゲームを体験することができ、複数のゲーム操作キーを自ら設定する必要がなくなるため、優れたゲーム操作体験を有する。したがって、このようなゲームシーン認識に基づくキー設定方式は知能的であり、効果が高い。
【図面の簡単な説明】
【0011】
以下、本願の技術的解決手段をより明確に説明するために、実施例の説明に必要な図面を簡単に説明する。
【0012】
図1】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法及び装置の応用環境の概略図である。
図2】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法のフローチャートである。
図3A】本願の実施例に係る例示的な携帯電話ゲームにおけるマップとマップピクチャとの関係の概略図である。
図3B】本願の実施例に係る例示的な携帯電話ゲームにおけるマップピクチャのマップにおける位置情報の概略図である。
図4A】本願の実施例に係る1つの例示的なゲームシーンの概略図である。
図4B】本願の実施例に係る別の例示的なゲームシーンの概略図である。
図5】本願の実施例に係るアプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得するフローチャートである。
図6】本願の実施例に係るレンダリングデータにおける所定のマップピクチャを認識するフローチャートである。
図7】本願の実施例に係る図6のステップ601、602を詳細に説明するフローチャートである。
図8】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法のさらなるフローチャートである。
図9】本願の実施例に係る前記仮想シーンには所定のマップピクチャがあると認識された場合、対応するキープロファイルを呼び出して、前記マップピクチャと前記計算装置の対応する物理キーとのマッチング処理を完了するフローチャートである。
図10】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法のさらなるフローチャートである。
図11】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置の概略図である。
図12】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置内のマップピクチャ認識モジュールの概略図である。
図13】本願の実施例に係るマップピクチャ認識モジュール内のマップ判断モジュール及びテクスチャ座標判断モジュールの概略図である。
図14】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置のさらなる説明の概略図である。
図15】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置のキー設定モジュールの概略図である。
図16】本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置が位置する計算装置のハードウェアの概略構成図である。
【発明を実施するための形態】
【0013】
以下、図面及び具体的な実施例を組み合わせて本願をさらに説明する。なお、本明細書に記載される具体的な実施例は、本願を説明するためのものに過ぎず、本願を限定するものではない。
【0014】
本願の実施例は、仮想オペレーティングシステムを構築又は実行可能な計算装置に応用されるアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法、装置を提供し、該仮想オペレーティングシステムは、前述したアプリケーションを実行する。1つの可能な実施形態では、前述したアプリケーションは、計算装置にインストールされる携帯電話ゲームアプリケーションであってもよく、本願の実施例はこれを具体的に限定しない。
【0015】
本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法を用いることにより、計算装置が携帯電話ゲームアプリケーションを実行する過程で、携帯電話ゲームアプリケーションにおけるマップピクチャに対する認識に基づいて、ゲームシーンを迅速かつ効率的に認識し、認識されたゲームシーンにゲーム操作キーをリアルタイムで、自動的かつ適切に配置し、ゲーム操作キーを知能化することができ、ゲームプレーヤは、ゲームシーンにおいてゲーム操作キーを自ら設定する必要がなくなり、計算装置が自動的に設定したゲーム操作キーに従って、キーボード及びマウス上の対応する物理キーを操作するだけで、携帯電話ゲームを操作することができ、このようなゲームシーン認識に基づくキー設定方式は、ゲームプレーヤに良好なゲーム操作体験を与えることができ、知能的であり、効果が高い。
【0016】
図1は、本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法及び装置の応用環境の概略図である。図1に示すように、該応用環境は、計算装置10及びサーバ20を含む。計算装置10及びサーバ20は、パーソナルコンピュータであってもよい。計算装置10には、キーボード11及びマウス12が設けられている。計算装置10には、携帯電話ゲームアプリケーションと、アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置30がインストールされている。アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置30は、PCシミュレータの形態、例えばAndroid携帯電話ゲームをシミュレートするPCAndroidシミュレータであってもよい。以下、PCシミュレータを単にシミュレータともいう。
【0017】
上記アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置30は、アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法を実行することができ、仮想オペレーティングシステムにおいてアプリケーションを起動し、上記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、上記仮想シーンをレンダリングするためのレンダリングデータを取得し、上記レンダリングデータにおける所定のマップピクチャを認識し、上記仮想シーンには所定のマップピクチャがあると認識された場合、対応するキープロファイルを呼び出して、上記マップピクチャと上記計算装置の対応する物理キーとのマッチング処理を完了し、上記計算装置の表示画面に、上記仮想シーンと該仮想シーンに対応するキー設定情報とを表示する。
【0018】
サーバ側20は、携帯電話ゲームの更新に合わせて、更新後の事前設定データを計算装置10に配信することができ、例えば、更新後の事前設定データは、ゲームにおいて設定する必要があるキーの操作座標データなどを含む。本願の実施例に係るキーは、キーボード11上のキーとマウス12の左ボタン、右ボタンなどを含む。本願の各実施例の説明では、「携帯電話ゲーム」を単に「ゲーム」ともいう。
【0019】
図2は、本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法のフローチャートである。上記アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法は、計算装置、例えばパーソナルコンピュータに応用することができる。図2に示すように、該アプリケーションの仮想シーン認識及びインタラクションキーマッチング方法は、以下のステップ201~205を含む。
【0020】
ステップ201では、計算装置は、仮想オペレーティングシステムにおいてアプリケーションを起動する。
【0021】
本願の実施例によれば、例えば、計算装置に第1のオペレーティングシステムが実行されているが、アプリケーションが第2のオペレーティングシステムに適用するアプリケーションであるため、該第2のオペレーティングシステムに適用するアプリケーションを計算装置において実行しようとする場合、該第2のオペレーティングシステムに適用するアプリケーションを実行するために、第1のオペレーティングシステムを実行する計算装置において、第2のオペレーティングシステムと同じ仮想オペレーティングシステムを構築して実行する必要がある。1つの可能な形態は、計算装置にシミュレータをインストールし、仮想マシンを用いて第2のオペレーティングシステムと同じ仮想オペレーティングシステムを構築し、アプリケーションに実行環境を提供する。
【0022】
第1のオペレーティングシステムは、例えばWindows(登録商標)、Linux(登録商標)などのオペレーティングシステムであり、第2のオペレーティングシステムは、例えばAndroidオペレーティングシステムであり、仮想オペレーティングシステムは、例えば仮想Androidオペレーティングシステムである。仮想マシン(Virtual Machine)とは、ソフトウェアによりシミュレートし、完全なハードウェアシステムの機能を有し、完全隔離環境で実行される完全なコンピュータシステムを意味する。仮想オペレーティングシステムは、第2のオペレーティングシステムの全く新しい仮想ミラーであり、実際の第2のオペレーティングシステムと全く同様の機能を有し、仮想オペレーティングシステムに入った後、操作はいずれもこの独立した仮想オペレーティングシステムにおいて行われ、例えば、仮想オペレーティングシステムは、独立してソフトウェアをインストールして実行し、データを保存することができ、自体の独立したデスクトップを有し、計算装置における第1のオペレーティングシステムに影響を与えない。1つの可能な実施形態では、本願の実施例に係る仮想マシンは、例えばVirtualBox仮想マシンであってもよい。
【0023】
例えば、計算装置にWindowsオペレーティングシステムが実行されているが、携帯電話ゲームアプリケーションがAndroidオペレーティングシステムに適用し、計算装置において携帯電話ゲームアプリケーションを実行しようとする場合、計算装置においてシミュレータを実行し、シミュレータが仮想マシンを用いて仮想Androidオペレーティングシステムを構築し、携帯電話ゲームアプリケーションに実行環境を提供する。シミュレータを実行した後、ユーザは、シミュレータのインタフェースで携帯電話ゲームアプリケーションをダウンロードし、携帯電話ゲームアプリケーションを起動することができる。
【0024】
ステップ202では、計算装置は、上記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、上記仮想シーンをレンダリングするためのレンダリングデータを取得する。
【0025】
本願の実施例によれば、アプリケーションを仮想オペレーティングシステムにおいて実行する際、アプリケーション自体の実行ロジックに従って表示画面に様々な仮想シーンを表示することがある。アプリケーションは、表示画面にこれらの仮想シーンを表示する前に、まずバックグラウンドでこれらの表示対象となる仮想シーンに対して対応するレンダリング処理操作を行う必要がある。本願の実施例は、アプリケーションのバックグラウンドでのレンダリング処理操作を検出することにより、表示画面に表示する必要がある仮想シーンの情報を取得し、さらに、取得された、表示画面に表示する必要がある仮想シーンの情報に基づいて、アプリケーションの現在の実行状態を把握し、対応する処理を行う。1つの可能な実施形態では、該対応する処理は、例えば、アプリケーション自体の実行ロジック以外の追加処理、例えば、裏ワザソフトの設定、第三者のアプリケーションロジックに基づく上位層アプリケーションの開発などである。本願の実施例によれば、上記対応する処理は、物理キーを有効にイネーブルし、仮想シーンにおいて、アプリケーションがサポートしていたタッチスクリーンのタッチ操作の代わりに、物理キー操作を採用することであってもよい。
【0026】
本願の実施例によれば、アプリケーションは、レンダリング関数によって仮想シーンをレンダリングすることができる。アプリケーションは、仮想シーンをレンダリングする際、レンダリング操作を複数回行い、レンダリング関数を複数回呼び出す可能性があり、シミュレータは、レンダリング関数に対する毎回の呼び出しを検出し、レンダリング関数が呼び出されるたびに関連付けられたレンダリングデータを取得し、即ち、シミュレータは、仮想シーンをレンダリングするためのレンダリングデータを取得することができる。
【0027】
例えば、携帯電話ゲームアプリケーションが計算装置においてシミュレータによりシミュレートされた仮想Androidオペレーティングシステムにおいて実行される場合、そのゲームロジックに従って表示画面にゲームシーン、例えばゲームフレームを表示する必要がある。シミュレータは、ゲームフレームをレンダリングする過程でアプリケーションが毎回レンダリング操作を行うときのレンダリング関数に対する呼び出しを検出し、さらにレンダリング関数が使用する様々なレンダリングデータを取得することができる。1つのゲームフレームのレンダリングが終了した後、1つのリフレッシュ操作を行い、そして次のゲームフレームのレンダリングを開始する。シミュレータは、上記リフレッシュ操作を検出することにより、1つのゲームフレームのレンダリング過程でのレンダリング関数に対する毎回の呼び出しを判断することができる。
【0028】
ステップ203では、計算装置は、上記レンダリングデータに所定のマップピクチャが含まれているか否かを認識する。
【0029】
本願の実施例によれば、シミュレータは、レンダリングデータにおける所定のマップピクチャを認識する。1つの可能な実施形態では、所定のマップピクチャは、例えば、アプリケーションに対してそれ自体の実行ロジック以外の追加処理を行うために、アプリケーションの現在の実行状態を決定し、現在の仮想シーンを認識する根拠となるマップピクチャである。シミュレータは、上記仮想シーンをレンダリングするためのレンダリングデータに所定のマップピクチャが含まれていると検出した場合、該マップピクチャが有効になるとみなすことができる。
【0030】
本願の実施例によれば、アプリケーションが携帯電話ゲームアプリケーションである場合、ゲームフレームに複数のマップピクチャが含まれている可能性があり、これらのマップピクチャのうち、一部のマップピクチャは、ゲームプレーヤが操作できる仮想操作ボタンのマップピクチャであり、携帯電話ゲームアプリケーションを携帯電話において実行する際、ゲームプレーヤがタッチスクリーンに表示された仮想操作ボタンを指でタッチすることにより、対応するゲーム操作を行うことを可能にするものであり、一部のマップピクチャは、仮想操作ボタンのマップピクチャではなく、ゲームプレーヤによって操作されることができず、例えば、提示用イメージである。
【0031】
したがって、携帯電話ゲームアプリケーションを計算装置に実行するように設計する際、シミュレータ設計者は、携帯電話ゲームにおける仮想操作ボタンのマップピクチャに対して、対応する物理キーを予め設定することにより、タッチスクリーンの場合におけるタッチ機能をキー押し機能でシミュレートすることを実現する。他のマップピクチャに対しては、物理キーを設定しなくてもよい。シミュレータ設計者は、対応する物理キーを設定する必要があるマップピクチャを、マップピクチャプロファイルというプロファイルとして設定することができる。携帯電話ゲームアプリケーションの実行過程で、シミュレータは、レンダリングデータにマップピクチャプロファイルにおける所定のマップピクチャがあるか否かを認識する。
【0032】
1つの可能な実施形態では、マップピクチャプロファイルには、検出すべきマップピクチャの位置するマップの巡回冗長検査符号(CRC、Cyclic Redundancy Check)、マップピクチャの位置するマップにおける位置座標(Coordinate)、マップピクチャの識別子(TextureId)、高さ(height)、幅(width)、コメント(comm)などの情報を含んでもよい。一例として、マップピクチャの識別子の例は、例えば、数字で表すことができる。マップピクチャは、一般的に矩形であり、マップピクチャの、その位置するマップにおける位置座標は、マップピクチャの四隅の該マップにおける位置座標で表すことができる。
【0033】
例示的には、マップピクチャプロファイルは、例えば、以下の内容を含む。
・・・・・・
<TextureId=“30” width=“512” height=“512” maxbufsize=“20480”
CRC=“1576852035” coordinate=“1061945344, 1038876672, 1061945344, 1045823488,1063518208,1038876672,1063518208,1045823488”
comm=“乗車運転”/>
・・・・・・
【0034】
該例のマップピクチャプロファイルには、シミュレータがアプリケーションを実行する過程で検出する、レンダリングされた仮想シーンにおける巡回検査符号が1576852035であるマップにおける位置が{1061945344,1038876672,1061945344,1045823488,1063518208,1038876672,1063518208,1045823488}であるマップピクチャが設定されている。
【0035】
携帯電話ゲーム開発者は、携帯電話ゲームを開発する際、携帯電話ゲームに必要ないくつかの小さな画像を1つの大きな画像に配置することが一般的である。本願の実施例では、この大きな画像はマップと呼ばれ、小さい画像はマップピクチャと呼ばれる。携帯電話ゲームには複数のマップがある可能性があり、各マップが対応する識別子を有し、マップにおける各マップピクチャの該マップにおける位置が一定である。マップは、画像のフォーマットであってもよい。マップ識別子は、例えば、マップの名称であってもよく、マップの名称は、一連の数字又は文字列であってもよい。
【0036】
図3Aは、本願の実施例に係る例示的な携帯電話ゲームにおけるマップとマップピクチャとの関係の概略図である。図3Aに示すように、マップ30は、絶地求生(PUBG、Player Unknown’s Battle Grounds)というゲームにおけるマップである。マップ30には、マップピクチャ31、32、33などの様々な小さいマップピクチャがある。
【0037】
図3Bは、本願の実施例に係る例示的な携帯電話ゲームにおけるマップピクチャのマップにおける位置情報の概略図である。図3Bに示すように、マップ34には、5つのマップピクチャがあり、それぞれ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、Personal Digital Assistant)及びゲームホストなどの組み込み装置に用いられる。例えば、図3Bに示すマップピクチャ35に対して、マップピクチャプロファイルに該マップピクチャ35を設定する際、Coordinateの値がマップピクチャ35の四隅の座標値に対応するように設定することができる。
【0038】
レンダリング関数は、ゲームフレームをレンダリングする際、マップの識別子及びマップにおけるマップピクチャの位置座標をマップピクチャのデータとして使用する。シミュレータは、アプリケーションがゲームロジックに従って表示画面にゲームフレームをレンダリングすることを検出する場合、レンダリング関数が使用するレンダリングデータにおけるマップの識別子及びマップにおけるマップピクチャの位置座標と、マップピクチャプロファイルにおける所定のマップの識別子及び所定のマップにおけるマップピクチャの位置座標とを比較し、レンダリングデータ及びゲームフレームに、対応する物理キーを設定する必要がある所定のマップピクチャが含まれているか否かを判断する。
【0039】
ステップ204では、上記レンダリングデータに所定のマップピクチャが含まれていると認識されると、計算装置は、対応するキープロファイルを呼び出し、上記マップピクチャと上記計算装置の対応する物理キーとのマッチング処理を実行する。
【0040】
本願の実施例によれば、シミュレータ設計者は、マップピクチャと対応する物理キーの関連情報を、例えば、キープロファイルのようなプロファイルに設定することができる。計算装置には、アプリケーションに必要なキープロファイルを予め記憶されることができる。計算装置でアプリケーションを実行する過程で、シミュレータは、仮想シーンに所定のマップピクチャが含まれていると認識されると、所定のマップピクチャに基づいて上記キープロファイルにおいて検索して、所定のマップピクチャに対応するキー情報を取得し、仮想シーンにおいて物理キーに対応するキーアイコンを設定し、物理キーを有効に、操作できるようにイネーブルする。キープロファイルは、サーバから計算装置にダウンロードされるものであってもよく、サーバからダウンロードし更新することができる。
【0041】
キープロファイルには、対応する物理キーを設定する必要があるマップピクチャの情報、例えば、マップピクチャの識別子(TextureId)、マップピクチャの説明又は名称(name)(例えば、マップピクチャに対応する機能の説明)、マップピクチャのコメント(Comm)を含んでもよい。
【0042】
キープロファイルは、さらに、マップピクチャに対応する物理キーの関連情報、例えば、物理キーの名称(Itemname)、物理キーに対応する画面位置座標(Point_x,Point_y)、物理キーの機能説明(Description)を含む。上記物理キーの機能は、例えば、それに対応するマップピクチャに関連付けられるゲームにおける仮想操作ボタンの機能であってもよい。加えて、キープロファイルには、さらに、マップピクチャをレンダリングすることが検出されると、物理キーが有効になり、対応するキーアイコンを表示画面に表示し、ユーザが操作可能な状態にするように設定している。
【0043】
同一のマップピクチャは、キープロファイルにおける識別子とマップピクチャプロファイルにおける識別子が同じであるか又は対応するため、キープロファイル及びマップピクチャプロファイルにおける同一のマップピクチャの関連情報を関連付けることができる。
【0044】
本願の実施例によれば、アプリケーションが携帯電話ゲームアプリケーションである場合、シミュレータは、ゲームシーンにおいてマップピクチャプロファイルの所定のマップピクチャが含まれていると決定すると、上記キープロファイルに基づいて所定のマップピクチャに対応するキー情報を見つけ、対応する物理キーを有効にイネーブルすることができる。
【0045】
例えば、絶地求生のようなゲームの場合、キープロファイルにおいて、拾うマップピクチャがキーボード上のFキー、Gキー、Hキーなどに対応し、周囲環境を見るマップピクチャがAltキーに対応し、狙うマップピクチャが右ボタンに対応し、跳ぶマップピクチャがスペースキーに対応し、しゃがむマップピクチャがCキーに対応し、伏せるマップピクチャがZキーに対応し、装弾するマップピクチャがRキーに対応し、方向を制御するマップピクチャがそれぞれWキー(前に移動)、Sキー(後に移動)、Aキー(左に移動)、Dキー(右に移動)に対応し、体を左側に傾けるマップピクチャがQキーに対応し、体を右側に傾けるマップピクチャがEキーに対応し、マイクをオン/オフにするマップピクチャがYキーに対応し、音声をオン/オフにするマップピクチャがTキーに対応し、武器を切り換えるマップピクチャがテンキー1、2、3などに対応し、バックパックがTableキーに対応し、ピッチを下げるマップピクチャがQキーに対応し、ピッチを上げるマップピクチャがEキーに対応し、車両を降りるマップピクチャがFキーに対応し、警笛を鳴らすマップピクチャがマウスの左ボタンに対応し、左手で射撃するマップピクチャがマウスの右ボタンに対応するなどと、予め設定することができる。なお、キープロファイルには、さらに、これらの物理キーに対応する画面位置座標が含まれている。
【0046】
計算装置は、キープロファイルを設定する際、1つのキーが複数の機能を有するように設定し、異なるゲームシーンにおいて、同じ物理キーが異なる操作機能を有するようにすることができる。
【0047】
ステップ205では、計算装置は、表示画面に上記仮想シーンと該仮想シーンに対応するキー設定情報とを表示する。
【0048】
本願の実施例によれば、上記キー設定情報は、キーの関連情報、例えば物理キーのキーアイコンであってもよい。
【0049】
表示画面は、計算装置に属するものであり、第1のオペレーティングシステムのハードウェアデバイスであるため、上記仮想シーン及び上記キー設定情報を表示する際、第1のオペレーティングシステム下で、表示画面に上記仮想シーン及び上記キー設定情報を表示することができる。さらに、シミュレータは、第1のオペレーティングシステム下で、表示画面に上記仮想シーンを表示し、かつ上記物理キーに対応する画面位置座標に、設定された物理キーのキーアイコンを表示する。
【0050】
1つの可能な実施形態では、シミュレータは、上記仮想シーンを表示する際、上記仮想のシーンの仮想オペレーティングシステムでの座標を第1のオペレーティングシステムでの座標に変換し、次に表示画面に仮想シーンを表示することができる。例えば、仮想シーンのAndroidオペレーティングシステムでの座標をWindowsオペレーティングシステムでの座標に変換する。
【0051】
本願の実施例によれば、物理キーの名称を背景画像に設定し、上記キーアイコンを形成することができる。上記背景画像は円形、楕円形などであってもよく、背景画像の中心位置を物理キーに対応するマップピクチャの表示領域内に設定することにより、両者が重畳領域を有するようにする。本願の実施例によれば、物理キーのキーアイコンを所定の位置に設定することもできる。キーアイコンを設定する際、マップピクチャの主体を隠すことをできるだけ回避してもよい。背景画像は、一定の透明度を有するように設定してもよい。
【0052】
図4Aは、本願の実施例に係る1つの例示的なゲームシーンの概略図であり、絶地求生というゲームの1つのゲームフレームである。シミュレータは、該ゲームフレームにおいて、バックパックのマップピクチャ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に対応するように設定している。
【0053】
図4Bは、本願の実施例に係る別の例示的なゲームシーンの概略図である。図4Bに示すように、シミュレータは、該ゲームフレームにおいて、車両を降りるマップピクチャ420、ピッチを下げるマップピクチャ421、ピッチを上げるマップピクチャ422、警笛を鳴らすマップピクチャ423がそれぞれ、Fキー、Qキー、Eキー、マウスの左ボタンなどに対応するように設定している。なお、マイクをオン/オフにするマップピクチャ425、音声をオン/オフにするマップピクチャ426、ゲームを設定するマップピクチャ427がそれぞれ、Yキー、Tキー、Escキーに対応するように設定している。周辺環境を見るマップピクチャ424がAltキーに対応し、方向を制御するマップピクチャ428がWキー、Sキー、Aキー、Dキーに対応し、バックパックのマップピクチャ429がTableキーに対応するように設定している。
【0054】
上記キーは、マウスボタンであると明記していない限り、キーボード上のキーである。
【0055】
本願の実施例によれば、仮想オペレーティングシステムにおいてアプリケーションを起動し、上記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、上記仮想シーンをレンダリングするためのレンダリングデータを取得し、上記レンダリングデータにおける所定のマップピクチャを認識し、上記仮想シーンには所定のマップピクチャがあると認識した場合、対応するキープロファイルを呼び出して、上記マップピクチャと上記計算装置の対応する物理キーとのマッチング処理を完了し、上記計算装置の画面に、上記仮想シーンと該仮想シーンに対応するキー設定情報とを表示する。本願の実施例は、ゲームにおけるマップピクチャに対する認識に基づいて、ゲームシーンを迅速かつ効率的に認識し、認識されたゲームシーンにゲーム操作キーをリアルタイム、自動的かつ合理的に配置し、ゲーム操作キーの設定を知能化することができ、ゲームプレーヤは、ゲームシーンにおいてゲーム操作キーを自ら設定する必要がなく、計算装置が自動的に設定したゲーム操作キーに従って、キーボード及びマウス上の対応する物理キーを操作するだけで、携帯電話ゲームを操作することができる。このようなゲームシーン認識に基づくキー設定方式は、ゲームプレーヤに良好なゲーム操作体験を与えることができ、知能的であり、効果が高い。
【0056】
図5は、本願の実施例に係るアプリケーションの表示対象となる仮想シーンをレンダリング処理して、前記仮想シーンをレンダリングするためのレンダリングデータを取得するフローチャートである。図5は、図2のステップ202のさらなる説明であってもよく、他の実施例における同じ又は類似のステップのさらなる説明であってもよい。図5に示すように、ステップ202は、
計算装置が、上記表示対象となる仮想シーンをレンダリングするレンダリング関数の呼び出しを検出することにより、上記レンダリング関数が呼び出されたときに関連付けられる頂点バッファオブジェクトにおけるレンダリングデータを取得するステップ501を含んでもよい。
【0057】
アプリケーションは、仮想シーンをレンダリングする際、OpenGL(Open Graphics Library)における関数、例えば、glDrawElements関数を使用することができる。
【0058】
OpenGLは、クロスプログラミング言語、クロスプラットフォームのアプリケーションプログラミング(API、Application Programming Interface)仕様を定義する。アプリケーションのグラフィックスレンダリング需要は、最終的に、OpenGLプロトコルを実現するビデオカードドライバなどのレンダリング関連プログラムにより処理される。OpenGLがグラフィックスレンダリングを行う過程で、頂点変換、プリミティブアセンブリング、テクスチャマッピング、ラスタライズなどの一連のコンピュータグラフィックス操作を行う必要があるかもしれない。
【0059】
glDrawElements関数は、配列からデータレンダリング又はレンダリングプリミティブを取得するプリミティブレンダリング関数である。1つの可能な実施形態では、プリミティブは、例えば、三角形、線、点などである。本願の実施例では、レンダリングプリミティブが三角形であることを例にして説明する。一例として、該glDraw Elements関数における関数パラメータは、例えば、描画又はレンダリングされるプリミティブのタイプを説明するプリミティブタイプ(mode)と、プリミティブタイプで接続される頂点の総数を表し、異なるmodeによって、Countが単一のmodeタイプのプリミティブの頂点数*プリミティブ数以下であるカウント値(Count)と、GL_UNSIGNED_BYTE、GL_UNSIGNED_SHORT、GL_UNSIGNED_INTのうちの1つであるインデックス値のタイプ(type)と、インデックス記憶位置を指すポインタ(indices)とを含む。glDrawElements関数を呼び出す際、該関数は、インデックスによりCountが表す数の一連の要素を使用して、一連のプリミティブを作成する。
【0060】
OpenGLは、様々なライブラリ関数、例えば、基本ライブラリ関数、ユーティリティライブラリ関数、補助ライブラリ関数、ユーティリティプログラムライブラリ関数などを含む。OpenGLには、頂点バッファオブジェクト(VBO、Vertex Buffer Object)を操作するAPI関数が提供される。VBOは、OpenGLがビデオカードの記憶空間内に作成したメモリキャッシュ領域であり、頂点の様々な属性情報を記憶する。前述した属性情報は、例えば、頂点色データ、頂点座標、テクスチャ座標、頂点法線ベクトルなどを含んでもよい。頂点は、コンピュータグラフィックスにおける基本的な概念である。コンピュータグラフィックスにおいて、二次元又は三次元の物体は、例えば、三角形(プリミティブ)で描画することができる。各三角形は3つの頂点を有し、各頂点はいずれも1つの3D位置を有する。1つの三角形の頂点の3D位置は、1つの配列で定義することができる。OpenGLが3D空間内に動作し、レンダリングされるものが2D三角形であるため、三角形の頂点のz座標を0.0に設定することができる。頂点座標を入力として頂点シェーダに入力し、頂点シェーダがグラフィックプロセッサ(GPU、Graphics Processing Unit)でメモリを作成して頂点座標を記憶し、かつOpenGLを構成してこれらのメモリを解釈し、頂点座標をビデオカードに送信する方式を指定する。頂点座標は三次元座標であり、表示画面は二次元であり、頂点の頂点座標を算出すると、表示画面での頂点の最終的な表示位置を取得することができる。
【0061】
レンダリングを行うとき、レンダリング関数、例えば、上記glDrawElements関数は、VBOから頂点の様々な属性情報を読み出して使用することができる。
【0062】
本願の実施例によれば、シミュレータは、表示対象となる仮想シーンをレンダリングするglDrawElements関数の呼び出しを検出することにより、該レンダリング関数が呼び出されたときに関連付けられる頂点バッファオブジェクトVBOのレンダリングデータを取得することができる。
【0063】
本願の実施例によれば、上記表示対象となる仮想シーンをレンダリングするレンダリング関数の呼び出しを検出することにより、上記レンダリング関数が呼び出されたときに関連付けられる頂点バッファオブジェクトにおけるレンダリングデータを取得し、アプリケーションの現在の実行状態をリアルタイムに取得し、対応する処理を行うことができる。
【0064】
図6は、本願の実施例に係るレンダリングデータにおける所定のマップピクチャを認識するフローチャートである。図6は、図2のステップ203のさらなる説明であってもよく、他の実施例における同じ又は類似のステップのさらなる説明であってもよい。
【0065】
OpenGLで、グラフィックスをレンダリングする際のテクスチャマッピング操作は、テクスチャ貼り付け操作とも呼ばれ、マップピクチャをテクスチャとして、レンダリングしようとする物体の表面に貼り付けて迫真性を向上させることである。テクスチャマッピング操作は、三角形単位で行われ、物体の表面上の三角形の各頂点の、マップにおける対応する位置を指定してからマッピングする必要がある。本願の実施例によれば、レンダリングされる物体はゲームにおけるオブジェクトである。一例として、テクスチャマッピング操作は、例えば、glDrawElements関数により行うことができる。
【0066】
本願の実施例によれば、シミュレータは、アプリケーションがゲームフレームをレンダリングすることを検出する際、アプリケーションによる、テクスチャマッピングを行うglDrawElements関数の呼び出しを検出することにより実現することができる。シミュレータは、該関数が使用するVBOにおける頂点データを分析することにより、レンダリングされる頂点に対応するマップの識別子を取得する。シミュレータは、該マップの識別子に基づいて、上記ゲームフレームをレンダリングするマップを認識することができる。そして、シミュレータは、上記頂点に対応する上記マップにおけるマップピクチャのテクスチャ座標をVBOから取得する。マップピクチャのテクスチャ座標によりマップにおける対応するマップピクチャに定位することができる。
【0067】
ステップ203は、以下のステップ601~603を含む。
【0068】
ステップ601では、計算装置は、上記レンダリングデータに、上記所定のマップピクチャの位置する所定のマップが含まれているか否かを判断する。
【0069】
本願の実施例によれば、シミュレータは、VBOにおけるレンダリングデータに含まれるマップの識別子と、記録された所定のマップの識別子とを比較することにより、レンダリングデータに、所定のマップピクチャの位置する所定のマップが含まれているか否かを判断することができる。レンダリングデータにおけるマップの識別子と上記記録された所定のマップの識別子がマッチングする場合、シミュレータは、上記レンダリングデータには上記所定のマップピクチャの位置する上記所定のマップの識別子が含まれていると決定し、即ち、現在レンダリングされている仮想シーンに、さらなる処理、例えば、対応する物理キーの設定を必要とするマップピクチャが含まれていると判断する。
【0070】
図7は、図6のステップ601、602の具体的な説明である。図7に示すように、ステップ601は、
計算装置が、上記レンダリングデータにおけるマップの識別子と記録された上記所定のマップの識別子とを比較するステップ701と、
計算装置が、上記レンダリングデータにおけるマップの識別子と記録された上記所定のマップの識別子がマッチングする場合、上記レンダリングデータには上記所定のマップピクチャの位置する上記所定のマップが含まれていると決定するステップ702とを含んでもよい。
【0071】
計算装置は、シミュレータによりアプリケーションを実行する過程で、まずアプリケーションで使用可能な全てのマップをハードディスクからメモリに展開する。したがって、シミュレータがアプリケーションを起動した後、仮想オペレーティングシステムがアプリケーションデータをハードディスクからビデオメモリに展開することを検出する。アプリケーションデータには、アプリケーションが使用するマップが含まれている。本願の実施例によれば、マップをメモリに展開する際、glTexImage2D関数を呼び出す。
【0072】
glTexImage2D関数を検出することにより、シミュレータは、各マップの巡回冗長検査符号を取得することができる。シミュレータは、取得されたマップの巡回冗長検査符号を検査し、かつそれとマップピクチャプロファイルにおける所定のマップの巡回冗長検査符号とを比較することにより、アプリケーションデータにおけるマップの巡回冗長検査符号が所定のマップの巡回冗長検査符号とマッチングするか否かを判断する。シミュレータは、アプリケーションデータにおけるマップの巡回冗長検査符号とマップピクチャプロファイルにおける所定のマップの巡回冗長検査符号がマッチングすると決定すると、アプリケーションデータにおける上記マップの識別子(ID)を上記所定のマップの識別子として記録する。一例として、マップの識別子は、例えば数字文字列であってもよく、本願の実施例は、これを具体的に限定するものではない。
【0073】
マップの場合、アプリケーションが起動するたびに、マップに異なる識別子を割り当てる可能性がある。マップの巡回冗長検査符号は変化しない。アプリケーションは、マップを使用する際にマップの識別子を使用するため、マップがアプリケーションにより使用されるか否かを検出するには、マップピクチャプロファイルにおいて検出しようとするマップの巡回冗長検査符号を設定し、マップの巡回冗長検査符号に基づいてアプリケーションデータにおけるマップの識別子を決定する必要がある。
【0074】
図8は、本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法のさらなるフローチャートである。図8に示すように、ステップ201でアプリケーションを起動した後、
計算装置が、仮想オペレーティングシステムがアプリケーションデータをハードディスクからビデオメモリに展開することを検出するステップ801と、
計算装置が、上記アプリケーションデータにおけるマップの巡回冗長検査符号を検査し、かつ上記アプリケーションデータにおけるマップの巡回冗長検査符号が上記所定のマップの巡回冗長検査符号とマッチングするか否かを判断するステップ802と、
計算装置が、上記アプリケーションデータにおけるマップの巡回冗長検査符号と上記所定のマップの巡回冗長検査符号がマッチングすると決定すると、上記アプリケーションデータにおける上記マップの識別子を上記所定のマップの識別子として記録するステップ803とを含んでもよい。
【0075】
本願の実施例によれば、シミュレータは、仮想オペレーティングシステムがglTexImage2D関数によりアプリケーションデータをハードディスクからビデオメモリに展開することを検出すると、アプリケーションにおけるマップの巡回冗長検査符号を検査し、アプリケーションにおけるマップの巡回冗長検査符号とマップピクチャプロファイルにおける所定のマップの巡回冗長検査符号とを比較し、両者がマッチングすれば、アプリケーションデータにおけるマップの識別子を上記所定のマップの識別子として記録する。
【0076】
ステップ602では、計算装置は、上記レンダリングデータには上記所定のマップピクチャの位置する所定のマップが含まれていると決定すると、上記レンダリングデータに、上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれているか否かを判断する。
【0077】
該ステップでは、図7図8に示すように、上記レンダリングデータに、上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれているか否かを判断するステップは、
計算装置が、上記レンダリングデータにおけるマップピクチャのテクスチャ座標と上記所定のマップピクチャの上記所定のマップにおけるテクスチャ座標とを比較するステップ703と、
計算装置が、上記レンダリングデータにおけるマップピクチャのテクスチャ座標と上記所定のマップピクチャの上記所定のマップにおけるテクスチャ座標がマッチングする場合、上記レンダリングデータには上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれていると決定するステップ704とを含む。
【0078】
1つの可能な実施形態では、シミュレータは、レンダリングデータにおけるレンダリングされた頂点に対応するマップピクチャのテクスチャ座標と、マップピクチャプロファイルにおいて設定された所定のマップピクチャのテクスチャ座標とを比較し、両者がマッチングすると、レンダリングデータには所定のマップピクチャの上記所定のマップにおける位置情報が含まれていると決定することができる。
【0079】
一例として、レンダリング関数であるglDrawElements関数が使用するVBOには、該レンダリング関数が使用するマップピクチャのテクスチャ座標、即ち、マップピクチャの、その位置するマップにおける位置座標が含まれている。本願の実施例によれば、マップ又はマップ画像の座標範囲は、例えば、(0,0)から(1,1)までであってもよく、この座標は正規化処理された座標である。例えば、1つのマップの左上隅の座標が(0,0)であり、右下隅の座標が(1,1)である。マップにおける各マップピクチャの位置は、各マップピクチャの四隅の該マップの座標系での位置で表すことができる。図3Bに示すマップ34及びマップピクチャ35を参照する。
【0080】
図3Bを例にして、本願の実施例によれば、シミュレータは、ゲームフレームにおけるマップピクチャを認識する際、glDrawElements関数が使用するVBOを分析し、マップ34の識別子を見つけ、さらにテクスチャ座標{(0.000000,0.462891),(0.000000,0.255859),(0.207031,0.255859),(0.207031,0.462891)}を見つけた場合、見つけたテクスチャ座標に基づいて現在ゲームフレームにおいてマップ34のマップピクチャ35を使用することを確認することができる。
【0081】
ステップ603では、計算装置は、上記レンダリングデータには上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれていると決定すると、上記レンダリング関数が使用するレンダリングデータには上記所定のマップピクチャが含まれていると決定する。
【0082】
本願の実施例によれば、シミュレータは、VBOにおけるレンダリングデータには、所定のマップピクチャの位置する所定のマップと、所定のマップピクチャの位置する所定のマップにおけるテクスチャ座標とが含まれていると決定すると、レンダリングデータのうち、検出しようとする、マップピクチャプロファイルにおける所定のマップピクチャを決定する。
【0083】
本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法は、ゲームにおけるマップピクチャのマップにおけるテクスチャ座標が一定であり、マップにおけるいずれかのマップピクチャについて、毎回のレンダリングで使用する該マップピクチャのテクスチャ座標がいずれも同じであるため、ゲームフレームをレンダリングするときに呼び出されるレンダリング関数を検出することにより、レンダリング関数が使用するレンダリングデータを検索し、レンダリングデータに、所定のマップピクチャの位置する所定のマップが含まれているか否かを判断し、レンダリングデータには上記所定のマップが含まれていると判断する場合、上記レンダリングデータに上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれているか否かをさらに判断し、上記レンダリングデータには上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれていると判断する場合、上記レンダリング関数が使用するレンダリングデータには所定のマップピクチャが含まれていると決定する。いくつかの座標数値を比較するだけで、ゲーム状態を正確に判断し、該マップピクチャがゲームにより表示されるか否かを迅速に把握することができ、処理するバイト数が少ないため、計算装置がゲームフレームをレンダリングする速度がより速くなり、必要な計算リソースのオーバーヘッドがより少なくなり、性能がより高くなる。
【0084】
図9は、本願の実施例に係る上記仮想シーンに所定のマップピクチャが含まれていると認識されると、対応するキープロファイルを呼び出して、上記マップピクチャと上記計算装置の対応する物理キーとのマッチング処理を完了するフローチャートである。図9は、図2のステップ204のさらなる説明であるとともに、前述した他のそれぞれの実施例における同じ又は類似のステップの説明にも適用する。
【0085】
図9に示すように、ステップ204は、以下のステップ901~902を含んでもよい。
【0086】
ステップ901では、上記仮想シーンに所定のマップピクチャが含まれていると認識されると、計算装置は、対応するキープロファイルを呼び出し、キープロファイルにおける上記所定のマップピクチャと対応するキー情報に基づいて、上記所定のマップピクチャに対応する物理キーを決定し、該物理キーを有効にイネーブルする。
【0087】
本願の実施例によれば、シミュレータは、マップピクチャプロファイルにおけるマップピクチャと、仮想シーンをレンダリングするレンダリング関数が使用するレンダリングデータにおけるマップピクチャとを比較することにより、現在仮想シーンに、対応する物理キーを設定する必要がある所定のマップピクチャを決定した後、キープロファイルにおいて該所定のマップピクチャに対応するキー情報を検索することができる。例えば、シミュレータは、上記マップピクチャプロファイルから得られた上記所定のマップピクチャの識別子とキープロファイルにおけるマップピクチャの識別子とを比較し、両者がマッチングすると、キープロファイルに基づいて、マップピクチャの識別子に対応する物理キーの名称と物理キーに対応する画面位置座標を確認することができる。
【0088】
例えば、例示的なキープロファイルは、以下のとおりである。
<Switch Name=“GetIntoCar”TextureId=“30”Comm=“乗車運転”/>
・・・・・・
<KeyMapping ItemName=“F” Point_X=“0.656250” Point_Y=“0.419444” Description=“乗車”>
<SwitchOperation Description=“乗車”EnableSwitch=“GetIntoCar”/>
</KeyMapping>
【0089】
キープロファイルは、マップピクチャの識別子(TextureId)が「30」であり、名称(Name)が「GetIntoCar」であり、コメント(Comm)が「乗車運転」であるように設定している。また、キープロファイルは、キープロファイルにおける「GetIntoCar”」というマップイメージがマッチングしたとき、キー「F」に対応する画面位置座標(0.656250,0.419444)を取得するように設定している。
【0090】
シミュレータは、前述した例のマップピクチャプロファイルの識別子に基づいて、TextureIdが「30」であるマップピクチャに対応する名称Itemname「GetIntoCar」を見つけ、さらにSwitchOperation言語におけるEnableSwitchにより、GetIntoCarのマップピクチャを有効にイネーブルする。さらに、「GetIntoCar」に基づいて、その対応するキーが「F」であり、Fキーに対応する画面位置の横座標が0.656250であり、縦座標が0.419444であることを見つけ、即ち、キーボード上のFキーが有効になる。一例として、物理キーに対応する画面位置座標は、例えば、表示画面における、物理キーのキーアイコンの中心の位置であってもよい。
【0091】
キープロファイルにおいて、複数のSwitchOperation言語により、異なるマップピクチャが有効になるときに、同一の物理キーを有効にするように設定することができる。一例として、最も前のマップピクチャの優先度が最も高い。SwitchOperation言語には、物理キーに対応する画面位置座標を搬送することもできる。この場合、あるマップピクチャが有効になると、他のマップピクチャが無効になり、物理キーに対応する画面位置座標は、有効になったマップピクチャの位置するSwitchOperation言語における座標のみである。このような設定は、より柔軟である。
【0092】
ステップ902では、上記所定のマップピクチャに対応する物理キーの表示画面での操作位置を決定する。
【0093】
1つの可能な実施形態では、シミュレータは、例えば、上記キープロファイルにおける物理キーに対応する画面位置座標に基づいて、対応する物理キーの表示画面での操作位置を決定するか、又は上記所定のマップピクチャの表示画面での表示位置に基づいて、上記対応する物理キーの表示画面での操作位置を決定することができる。
【0094】
キープロファイルにおける物理キーに対応する画面位置座標に基づいて、対応する物理キーの画面での操作位置を決定する方法は、簡単かつ汎用的であり、所定のマップピクチャの表示画面での表示位置に基づいて、物理キーの表示画面での操作位置を決定することが容易でない場合でも適用可能である。
【0095】
例えば、絶地求生というゲームにおいて、ゲーム中のゲームプレーヤを表す人物が死んだとき、ゲームシーンにおけるある位置に正方形の画像があり、シミュレータがこの画像のマップピクチャを検出した場合、ゲームが終了したことが分かり、ユーザがログアウトするか否かを確認する必要があるが、この画像の位置では操作できず、ログアウトボタンの位置で操作する必要がある。したがって、この場合、キープロファイルにおいて、ログアウト操作を実行する物理キーの表示画面での操作位置を予め設定する。ゲームの実行過程で、シミュレータは、ゲームシーンには上記正方形のマップピクチャが含まれていると検出すると、ログアウトボタンの位置に、対応する物理キーのキーアイコンを設定し、ユーザがログアウト操作を行うことを可能にする。
【0096】
所定のマップピクチャの表示画面での表示位置に基づいて、対応する物理キーの表示画面での操作位置を決定する場合、
上記レンダリング関数が使用するレンダリングデータにおける上記所定のマップピクチャのレンダリングしようとする頂点座標を検索するステップと、
上記頂点座標に基づいて、上記所定のマップピクチャの表示画面での表示領域を算出するステップと、
上記所定のマップピクチャの表示画面での表示領域に基づいて、上記対応する物理キーの表示画面での操作位置を算出するステップとを含んでもよい。
【0097】
本願の実施例によれば、例えば、シミュレータは、アプリケーションがゲームロジックに従ってゲームフレームをレンダリングすることを検出する場合、レンダリング関数glDrawElementsが使用するVBOから、マップピクチャを用いてレンダリングされるゲームフレームにおける三角形の頂点座標を見つけることができる。この頂点座標は、例えば、様々な操作ボタンを構成する三角形の頂点座標であってもよい。一例として、この頂点座標は、例えば、第2のオペレーティングシステムに基づく画面位置であってもよく、例えば、Androidオペレーティングシステムにおける表示画面での頂点の位置である。一例として、Androidオペレーティングシステムにおいて、表示画面での一番左上隅が座標原点(0,0)であり、一番右下隅が座標の最大値である。例えば、Androidオペレーティングシステムでの画面解像度が1024*576であれば、この座標の最大値は(1024,576)である。
【0098】
例えば、正方形のマップピクチャを用いてゲームフレームにおける三角形をレンダリングする際、2つの三角形が必要であり、各三角形に3つの頂点があり、例えば、1番目の三角形は頂点1、2、3を含み、2番目の三角形は頂点4、5、6を含む。この2つの三角形は、2つの頂点が重なり合う。計算装置は、この2つの三角形の各頂点の頂点座標を取得することができる。
【0099】
その後、シミュレータは、ゲームフレームにおける三角形の頂点座標に基づいて、マップピクチャの表示画面での表示位置を算出することができる。例えば、シミュレータは、ゲームフレームにおける三角形の頂点座標に基づいて、モデル変換(Model)、ビュー変換(View)、投影変換(Projection)を行った後、ビューポート変換により、第1のオペレーティングシステムにおけるマップピクチャの表示画面での実際の表示位置及び表示領域を算出することができる。上記モデル変換、ビュー変換及び投影変換は、MVP変換と略称する。なお、シミュレータは、ゲームフレームにおける三角形の頂点座標を取得した後、ゲームフレームにおける三角形の頂点座標に基づいて、ゲームフレームにおける三角形に貼り付けられるマップピクチャの第1のオペレーティングシステムにおける表示画面での表示位置を算出することができる。
【0100】
本願の実施例によれば、例えば、シミュレータは、まずマップピクチャの第1のオペレーティングシステムにおける表示画面での表示位置に基づいて、マップピクチャの表示画面での表示領域を決定し、次にマップピクチャの表示画面での表示領域に基づいて、マップピクチャに対応する物理キーの表示画面での操作位置が該表示領域内に位置すると決定することができる。
【0101】
本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法は、キープロファイルにおいて所定のマップピクチャに対応するキー情報を検索し、対応する物理キーを決定し、物理キーの表示画面での操作位置を決定することにより、物理キーを設定する。計算装置が対応する物理キーをリアルタイムかつ動的に設定し、それを有効にすることができるため、ゲームプレーヤは、ゲームをリアルタイムで操作することができ、より優れたゲーム操作体験を有する。
【0102】
図10は、本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法のさらなるフローチャートである。図10に示すように、図2に示す各ステップ以外、本願に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法は、さらに、以下のステップ1001~1002を含む。
【0103】
ステップ1001では、第1のオペレーティングシステムにおいて入出力装置により入力された、上記所定のマップピクチャに対応する物理キーに対する操作メッセージを検出する。
【0104】
本願の実施例によれば、シミュレータは、ユーザが計算装置の第1のオペレーティングシステムにおいてキーボード及びマウスなどの入出力装置により入力した、表示画面に表示された仮想シーンにおけるキーアイコンを操作するための操作メッセージを検出する。
【0105】
ゲームの場合、シミュレータは、Hook Windowsのメッセージにより、ゲームプレーヤがキーボード又はマウスのいずれかの物理キーを押したことを決定した後、キープロファイルにおけるこの物理キーが有効になるか否かを検査する。ゲームプレーヤがキーボード又はマウス上の対応する物理キーを押したと決定されると、該操作が有効であることを判断する。前述した対応する物理キーは、表示画面に表示されたゲームシーンにおけるキーアイコンに対応する。
【0106】
ステップ1002では、上記所定のマップピクチャに対応する物理キーの表示画面での操作位置をタッチスクリーンデバイスファイルに書き込み、タッチスクリーンドライバによりタッチスクリーンデバイスファイルから該操作位置を読み取り、該操作位置を上記アプリケーションに送り込み、上記アプリケーションにより該操作位置で上記仮想シーンとのインタラクション操作を行う。
【0107】
前述したように、シミュレータは、キープロファイルにより、設定しようとする物理キーの表示画面での操作位置を取得するか、又はマップピクチャの位置情報に基づいて設定される物理キーの表示画面での操作位置を取得することができる。その後、シミュレータは、ゲームプレーヤが表示画面に表示されたキーアイコンに対する操作をトリガしたと検出した場合、上記物理キーに対応する操作データをAndroidオペレーティングシステムのタッチスクリーンデバイスファイルに書き込む。上記物理キーに対応する操作データは、例えば、物理キーの表示画面での操作位置であってもよく、本願の実施例は、これを具体的に限定するものではない。書き込む前に、物理キーの表示画面での操作位置に対し座標の変換を行って、対応するAndroid値に変換し、即ち、仮想Androidオペレーティングシステムにおける操作位置に変換してから、タッチスクリーンデバイスファイルに書き込むことができる。
【0108】
携帯電話上のAndroidオペレーティングシステムは、一般的に、Linuxカーネルに基づいて開発されるものであり、カーネル層とアプリケーション層に分けられる。なお、アプリケーション層は、アプリケーション(App)の実行環境であり、アプリケーションがゲームであってもよく、カーネル層は、アプリケーション層に基本的なサービスを提供する。カーネル層には、様々なハードウェアに対するドライバであって、ハードウェアドライバと呼ばれるものが埋め込まれている。ハードウェアドライバは、Androidオペレーティングシステムのデバイスファイルを読み書きすることにより、ハードウェアのデータを把握することができる。ハードウェアドライバは、取得したハードウェアのデータを上位層アプリケーションに送信し、アプリケーションを実行する。Androidオペレーティングシステムにおいて、様々なハードウェアスドライバ及び対応するデバイスファイルがあり、例えば、タッチスクリーンドライバ、ブルートゥース(登録商標)ドライバ、音響ドライバなどがある。これに応じて、ハードウェアドライバに対応するタッチスクリーンデバイスファイル、ブルートゥースデバイスファイル、オーディオファイルなどがある。
【0109】
ハードウェアが携帯電話のタッチスクリーンである場合を例にして、タッチスクリーンをタッチする場合、タッチにより生成した画面位置座標(x,y)をタッチデータとして、タッチスクリーンデバイスファイルに送信する。カーネル層のタッチスクリーンドライバは、該タッチスクリーンデバイスファイルを読み取り、タッチスクリーンをタッチして得られたタッチデータを取得し、そしてタッチデータを上位層アプリケーションにアップロードする。その後、Androidオペレーティングシステムの上位層アプリケーション、例えばゲームは、タッチデータに基づいて、タッチスクリーンがタッチされたというメッセージに応答する。
【0110】
本願の実施例では、上記Androidオペレーティングシステムの処理過程に基づいて、PCシミュレータを用いてAndroid携帯電話ゲームをシミュレートする場合、PCシミュレータは、ゲームフレームをレンダリングする場合、マップピクチャの位置情報により、キーボード又はマウスの物理キーに対応する画面位置座標を算出した後、物理キーに対応する画面位置座標をタッチデータとしてタッチスクリーンデバイスファイルに書き込むことにより、Androidのタッチメッセージをシミュレートすることができる。即ち、PCシミュレータは、タッチスクリーンハードウェアがタッチスクリーンデバイスファイルを書き込むプロセスをシミュレートする。
【0111】
したがって、本願の実施例によれば、ゲームプレーヤは、ゲームをプレイする過程でキーボード上の物理キーを押し、計算装置は、該物理キーが表示画面に表示されたゲームフレームのいずれかのキーアイコンとマッチングすることを検出する場合、キーボード上の物理キーの押しが有効な操作であるとみなすことができる。さらに、計算装置は、表示画面での物理キーに対応するマップピクチャが位置する画面位置座標(x,y)を見つけ、次にこの画面位置座標をタッチスクリーンデバイスファイルに書き込むことができる。
【0112】
例えば、前述した例のキープロファイルに基づいて、計算装置は、Fキーに対応する画面位置座標X=0.656250,Y=0.419444をタッチデータとしてタッチスクリーンファイルに書き込む。
【0113】
本願の実施例によれば、計算装置は、タッチスクリーンドライバを呼び出してタッチスクリーンデバイスファイルに書き込まれた操作データ、例えば画面位置座標を読み込み、この画面位置座標を上位層アプリケーションにアップロードすることにより、表示画面が押されたことを表するメッセージを生成し、タッチスクリーンの場合における表示画面をクリックする操作をシミュレートする。
【0114】
例えば、前述した例のキープロファイルに基づいて、計算装置は、タッチスクリーンドライバを呼び出して、タッチスクリーンデバイスファイル内の画面位置座標X=0.656250,Y=0.419444を読み取った後、対応するAndroidオペレーティングシステムにおける画面位置座標を算出することができ、タッチスクリーンドライバによりAndroidオペレーティングシステムに送信することで、ゲームプレーヤが乗車キーを押したことを把握することができる。
【0115】
計算装置は、タッチスクリーンドライバが読み取った物理キーの画面位置座標を取得した後、該座標点でクリック操作を行うことにより、該物理キーに対応するマップピクチャが表すゲームフレームにおける仮想操作ボタンの操作を実現する。その後、計算装置は、ゲームロジックに従って、該仮想操作ボタンをクリックした結果を表示画面に出力する。
【0116】
例えば、前述した例のキープロファイルに基づいて、計算装置は、画面位置座標X=0.656250,Y=0.419444から算出されたAndroidオペレーティングシステムにおける画面位置座標に基づいて、表示画面で対応する位置をクリックすることにより、ゲームにおける人物を乗車させる。
【0117】
本願の実施に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法は、第1のオペレーティングシステムにおいて入出力装置により入力された、上記所定のマップピクチャに対応する物理キーの表示画面での操作位置を検出することにより、上記物理キーの表示画面での操作位置をタッチスクリーンデバイスファイルに書き込み、タッチスクリーンドライバによりタッチスクリーンデバイスファイルから該書き込まれた操作位置を読み取り、該操作位置を上記アプリケーションに送り込み、上記アプリケーションにより該操作位置で上記仮想シーンとのインタラクション操作を行い、ユーザがキーボード及びマウスを用いてゲームを操作することを実現する。
【0118】
図11は、本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置の概略図である。図11に示すように、本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置は、
仮想オペレーティングシステムにおいてアプリケーションを起動する起動モジュール1101と、
上記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、上記仮想シーンをレンダリングするためのレンダリングデータを取得するレンダリング検出モジュール1102と、
上記レンダリングデータに所定のマップピクチャが含まれているか否かを認識するマップピクチャ認識モジュール1103と、
上記レンダリングデータに所定のマップピクチャが含まれていると認識されると、対応するキープロファイルを呼び出し、上記所定のマップピクチャと上記計算装置の対応する物理キーとのマッチング処理を実行するキー設定モジュール1104と、
上記計算装置の表示画面に、上記仮想シーンと該仮想シーンに対応し、マッチングした物理キーに関連付けられているキー設定情報とを表示する表示モジュール1105とを含んでもよい。
【0119】
本願の実施例によれば、上記レンダリング検出モジュール1102は、上記アプリケーションによる、上記仮想シーンをレンダリング処理するレンダリング関数の呼び出しを検出することにより、上記レンダリング関数が呼び出された場合の頂点バッファオブジェクトにおけるレンダリングデータを取得し、上記頂点バッファオブジェクトにおけるレンダリングデータを、上記仮想シーンをレンダリングするためのレンダリングデータとする。
【0120】
本願の実施例によれば、仮想オペレーティングシステムにおいてアプリケーションを起動し、上記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、上記仮想シーンをレンダリングするためのレンダリングデータを取得し、上記レンダリングデータにおける所定のマップピクチャを認識し、上記仮想シーンには所定のマップピクチャがあると認識した場合、対応するキープロファイルを呼び出して、上記マップピクチャと前記計算装置の対応する物理キーとのマッチング処理を完了し、上記計算装置の画面に、上記仮想シーンと該仮想シーンに対応するキー設定情報とを表示する。本願の実施例は、携帯電話ゲームアプリケーションにおけるマップピクチャに対する認識に基づいて、ゲームシーンを迅速かつ効率的に認識し、認識されたゲームシーンにゲーム操作キーをリアルタイム、自動的かつ合理的に配置し、ゲーム操作キーの設定を知能化することができ、ゲームプレーヤは、マウス及びキーボードを用いて容易にゲームを体験し、大量のゲーム操作キーを自ら設定する必要がなくなるため、優れたゲーム操作体験を有する。したがって、このようなゲームシーン認識に基づくキー設定方式は知能的であり、効果が高い。
【0121】
図12は、本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置内のマップピクチャ認識モジュールの概略図である。図12に示すように、マップピクチャ認識モジュール1103は、
上記レンダリングデータに、上記所定のマップピクチャの位置する所定のマップが含まれているか否かを判断するマップ判断モジュール1201と、
上記マップ判断モジュール1201によって、上記レンダリングデータには上記所定のマップピクチャの位置する所定のマップが含まれていると決定されると、上記レンダリングデータに、上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれているか否かを判断するテクスチャ座標判断モジュール1202と、
上記テクスチャ座標判断モジュール1202によって、上記レンダリングデータには上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれていると決定されると、上記レンダリング関数が使用するレンダリングデータには上記所定のマップピクチャが含まれていると決定するマップピクチャ確認モジュール1203とを含んでもよい。
【0122】
本願の実施例によれば、図13に示すように、マップ判断モジュール1201は、上記レンダリングデータにおけるマップの識別子と記録された上記所定のマップの識別子とを比較するマップ識別子比較モジュール1301と、上記マップ識別子比較モジュール1301によって、上記レンダリングデータにおけるマップの識別子と記録された上記所定のマップの識別子がマッチングすると決定されると、上記レンダリングデータには上記所定のマップピクチャが位置する上記所定のマップが含まれていると決定するマップ確認モジュール1302とを含んでもよい。
【0123】
テクスチャ座標判断モジュール1202は、上記レンダリングデータにおけるマップピクチャのテクスチャ座標と上記所定のマップピクチャの上記所定のマップにおけるテクスチャ座標とを比較するテクスチャ座標比較モジュール1303と、上記テクスチャ座標比較モジュール1303によって、上記レンダリングデータにおけるマップピクチャのテクスチャ座標と上記所定のマップピクチャの上記所定のマップにおけるテクスチャ座標がマッチングすると決定されると、上記レンダリングデータには上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれていると決定するテクスチャ座標決定モジュール1304とを含んでもよい。
【0124】
図14は、本願の実施例に係る別のアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置の概略図である。図14に示すように、図13に基づいて、上記アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置は、さらに、
仮想オペレーティングシステムがアプリケーションデータをハードディスクからビデオメモリに展開したか否かを検出するマップ展開検出モジュール1401と、
上記仮想オペレーティングシステムがアプリケーションデータをハードディスクからビデオメモリに展開したことを検出すると、上記アプリケーションデータにおけるマップの巡回冗長検査符号を検査し、上記アプリケーションデータにおけるマップの巡回冗長検査符号が上記所定のマップの巡回冗長検査符号とマッチングするか否かを判断する検査モジュール1402と、
上記検査モジュールによって、上記アプリケーションデータにおけるマップの巡回冗長検査符号が上記所定のマップの巡回冗長検査符号とマッチングすると決定されると、上記アプリケーションデータにおける上記マップの識別子を記録し、上記アプリケーションデータにおける上記マップの識別子を上記所定のマップの識別子とする記録モジュール1403とを含む。
【0125】
本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置は、ゲームにおけるマップピクチャのマップにおけるテクスチャ座標が一定であり、マップにおけるいずれかのマップピクチャについて、毎回のレンダリングで使用する該マップピクチャのテクスチャ座標がいずれも同じであるため、ゲームフレームをレンダリングするときに呼び出されるレンダリング関数を検出することにより、レンダリングデータに、所定のマップピクチャの位置する所定のマップが含まれているか否かを判断し、レンダリングデータには上記所定のマップが含まれていると決定すると、上記レンダリングデータに上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれているか否かをさらに判断し、上記レンダリングデータには上記所定のマップピクチャの上記所定のマップにおける位置情報が含まれていると決定すると、上記レンダリング関数が使用するレンダリングデータには所定のマップピクチャが含まれていると決定する。いくつかの座標数値を比較するだけで、該マップピクチャをゲームにより表示する必要があるか否かを迅速に把握することができ、処理するバイト数が少ないため、計算装置がゲームフレームをレンダリングする速度がより速くなり、必要な計算リソースのオーバーヘッドがより少なくなり、性能がより高くなる。
【0126】
図15は、本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置内のキー決定モジュールの概略図である。図15に示すように、キー決定モジュール1104は、
上記レンダリングデータに所定のマップピクチャが含まれていると認識されると、対応するキープロファイルを呼び出し、キープロファイルにおける上記所定のマップピクチャと対応するキー情報に基づいて、上記所定のマップピクチャに対応する物理キーを決定し、該物理キーを有効にイネーブルするキー決定モジュール1501と、
上記所定のマップピクチャに対応する物理キーの表示画面での操作位置を決定するキー位置決定モジュール1502とを含む。
【0127】
本願の実施例に係るアプリケーションの仮想シーン認識及びインタラクションキーマッチング装置は、キープロファイルにおいて所定のマップピクチャに対応するキー情報を検索することにより、対応する物理キーを決定し、該物理キーの表示画面での操作位置を決定する。即ち、計算装置は、対応する物理キーをリアルタイムかつ動的に設定し、それを有効にすることができ、ゲームプレーヤは、ゲームをリアルタイムで操作することができ、より優れたゲーム操作体験を有する。
【0128】
上記装置の実施例における各モジュールの操作について、前述した方法で説明された具体的な内容を参照することができる。
【0129】
図16は、本願の実施例に係る計算装置のハードウェアの概略構成図である。図16に示すように、計算装置は、構成又は性能によって大きな差が生じる可能性があり、1つ以上の中央処理装置(central processing units、CPU)1601(例えば、1つ以上のプロセッサ)と、メモリ1602と、アプリケーション1603又はデータ1604を記憶する1つ以上の記憶媒体1605(例えば、1つ以上の大容量記憶装置)とを含んでもよい。メモリ1602及び記憶媒体1605は、一時的記憶装置でも永続的記憶装置でもよい。記憶媒体1605に記憶されているプログラムは、それぞれ計算装置に対する一連の命令操作を含む1つ以上のモジュール(図示せず)を含んでもよい。さらに、中央処理装置1601は、記憶媒体1605と通信して、記憶媒体1605における一連の命令操作を計算装置で実行するように構成されてもよい。
【0130】
具体的には、記憶媒体1605に記憶されているアプリケーション1603は、アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置のアプリケーションプログラムを含み、かつ該アプリケーションプログラムは、上記アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置内の起動モジュール1101、検出モジュール1102、マップピクチャ認識モジュール1103、キー設定モジュール1104、表示モジュール1105及びインタラクションモジュール1106を含んでよく、ここでは説明を省略する。さらに、中央処理装置1601は、記憶媒体1605と通信して、記憶媒体1605に記憶されているゲームで操作するアプリケーションに対応する一連の操作を計算装置で実行するように構成されてもよい。上記ゲームで操作するアプリケーションは、各方法のフローチャートで説明した操作を含んでもよい。
【0131】
計算装置は、1つ以上の電源1606、1つ以上の有線/無線ネットワークインタフェース1607、1つ以上の入出力インタフェース1608、及び/又は1つ以上のオペレーティングシステム1609、例えばWindows Server(登録商標)、Mac OS X(登録商標)、Unix(登録商標)、Linux(登録商標)、FreeBSD(登録商標)などを含んでもよい。
【0132】
本願の実施例は、仮想オペレーティングシステムを構築又は実行可能な計算装置を提供し、上記計算装置は、プロセッサと、上記プロセッサにより実行されて、前述した各方法の実施例に記載のアプリケーションの仮想シーン認識及びインタラクションキーマッチング方法を完了するコンピュータ読み取り可能な命令が記憶されているメモリとを含む。
【0133】
本願の実施例に係る計算装置は、仮想オペレーティングシステムにおいてアプリケーションを起動し、上記アプリケーションの表示対象となる仮想シーンをレンダリング処理して、上記仮想シーンをレンダリングするためのレンダリングデータを取得し、上記レンダリングデータにおける所定のマップピクチャを認識し、上記仮想シーンには所定のマップピクチャがあると認識した場合、対応するキープロファイルを呼び出して、上記マップピクチャと上記計算装置の対応する物理キーとのマッチング処理を完了し、上記計算装置の画面に、上記仮想シーンと該仮想シーンに対応するキー設定情報とを表示する。本願の実施例は、携帯電話ゲームアプリケーションにおけるマップピクチャに対する認識に基づいて、ゲームシーンを迅速かつ効率的に認識し、認識されたゲームシーンにゲーム操作キーをリアルタイム、自動的かつ合理的に配置し、ゲーム操作キーの設定を知能化することができ、ゲームプレーヤは、マウス及びキーボードを用いて容易にゲームを体験し、大量のゲーム操作キーを自ら設定する必要がなくなるため、優れたゲーム操作体験を有する。したがって、このようなゲームシーン認識に基づくキー設定方式は知能的であり、効果が高い。
【0134】
なお、本願は、本願の実施例に係る方法、装置(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して説明したものであり、コンピュータプログラム命令によってフローチャート及び/又はブロック図の各フロー及び/又はブロック、並びにフローチャート及び/又はブロック図のフロー及び/又はブロックの組み合わせを実現できる。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、組み込みプロセッサ又は他のプログラマブルデータ処理装置のプロセッサに提供してマシンを構成することにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャートの1つ以上のフロー及び/又はブロック図の1つ以上のブロック内で指定される機能を実現する装置を構成することができる。
【0135】
これらのコンピュータプログラム命令を、コンピュータ又は他のプログラマブルデータ処理装置が特定の方式で動作するように指示できるコンピュータ読み取り可能なメモリに記憶することにより、該コンピュータ読み取り可能なメモリに記憶されている命令が、フローチャートの1つ以上のフロー及び/又はブロック図の1つ以上のブロックで指定される機能を実現する命令装置を含む製品を形成することができる。
【0136】
これらのコンピュータプログラム命令をコンピュータ又は他のプログラマブルデータ処理装置に展開することで、コンピュータ又は他のプログラマブルデータ処理装置で一連の操作ステップを実行して、コンピュータ実現プロセスを生成することにより、コンピュータ又は他のプログラマブル装置で実行される命令が、フローチャートの1つ以上のフロー及び/又はブロック図の1つ以上のブロック内で指定される機能を実現するステップを提供する。
【0137】
なお、本願の各実施例における各機能モジュールは、1つの処理ユニットに集積されてもよく、単独で物理的に存在してもよく、或いは、2つ以上のモジュールが1つのユニットに集積されてもよい。上記集積されたユニットは、ハードウェアの形態で実現されてもよく、ソフトウェア機能ユニットの形態で実現されてもよい。
【0138】
なお、本願の各例は、データ処理装置、例えば、コンピュータにより実行されるデータ処理プログラムによって実現することができる。明らかに、データ処理プログラムは本願を構成する。また、一般的に、記憶媒体に記憶されているデータ処理プログラムは、プログラムを記憶媒体から直接的に読み取ったり、プログラムをデータ処理装置(例えば、ハードディスク及び/又はメモリ)の記憶装置にインストール又はコピーしたりすることで実行される。したがって、このような記憶媒体も本願を構成する。記憶媒体は、任意の種類の記録方式、例えば、紙記憶媒体(例えば、紙テープなど)、磁気記憶媒体(例えば、フレキシブルディスク、ハードディスク、フラッシュメモリなど)、光記憶媒体(例えば、CD-ROMなど)、光磁気記録媒体(例えば、MOなど)などを用いることができる。
【0139】
したがって、本願は、本願の上記実施例の方法におけるいずれかの例を実行するゲーム操作プログラムを記憶している不揮発性記憶媒体をさらに提供する。
【0140】
以上の記載は、本願の例に過ぎず、本願を限定するものではなく、本願の主旨及び原則の範囲内で行われた全ての修正、等価置換及び改善などは、いずれも本願の保護範囲内に含まれるべきである。
【符号の説明】
【0141】
10 計算装置
11 キーボード
12 マウス
20 サーバ
30 アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置
1101 起動モジュール
1102 レンダリング検出モジュール
1103 マップピクチャ認識モジュール
1104 キー設定モジュール
1105 表示モジュール
1201 マップ判断モジュール
1202 テクスチャ座標判断モジュール
1203 マップピクチャ確認モジュール
1301 マップ識別子比較モジュール
1302 マップ確認モジュール
1303 テクスチャ座標比較モジュール
1304 テクスチャ座標決定モジュール
1401 マップ展開検出モジュール
1402 検査モジュール
1403 記録モジュール
1501 キー決定モジュール
1502 キー位置決定モジュール
1600 計算装置
1601 中央処理装置
1602 メモリ
1603 アプリケーションの仮想シーン認識及びインタラクションキーマッチング装置のアプリケーションプログラム
1604 データ
1605 記憶媒体
1606 電源
1607 有線/無線ネットワークインタフェース
1608 入出力インタフェース
1609 オペレーティングシステム
図1
図2
図3A
図3B
図4A
図4B
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16