(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-23
(54)【発明の名称】仮想オブジェクトの切替方法、装置、コンピュータデバイス及びコンピュータプログラム
(51)【国際特許分類】
A63F 13/428 20140101AFI20241016BHJP
A63F 13/58 20140101ALI20241016BHJP
A63F 13/5372 20140101ALI20241016BHJP
A63F 13/533 20140101ALI20241016BHJP
A63F 13/211 20140101ALI20241016BHJP
A63F 13/213 20140101ALI20241016BHJP
G06T 19/00 20110101ALI20241016BHJP
G06F 3/01 20060101ALI20241016BHJP
【FI】
A63F13/428
A63F13/58
A63F13/5372
A63F13/533
A63F13/211
A63F13/213
G06T19/00 A
G06F3/01 570
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024518461
(86)(22)【出願日】2022-10-24
(85)【翻訳文提出日】2024-03-22
(86)【国際出願番号】 CN2022127014
(87)【国際公開番号】W WO2023103615
(87)【国際公開日】2023-06-15
(31)【優先権主張番号】202111506115.4
(32)【優先日】2021-12-10
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】鮑 慧翡
【テーマコード(参考)】
5B050
5E555
【Fターム(参考)】
5B050AA10
5B050BA09
5B050BA11
5B050CA07
5B050EA09
5B050EA27
5B050FA02
5B050FA05
5B050FA08
5E555AA63
5E555BA04
5E555BB04
5E555BC04
5E555BD01
5E555BE17
5E555CA42
5E555CA44
5E555CB66
5E555CC01
5E555DB32
5E555DB57
5E555DC07
5E555DC84
5E555DC85
5E555FA00
(57)【要約】
本出願は、仮想オブジェクトの切替方法、装置、設備、媒体及びプログラム製品を開示し、仮想環境技術の分野に属する。方法は、ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示するステップ(220)と、シェイク操作を受信するステップ(240)と、シェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替えるステップ(260)と、を含む。この方法により、ロックオンターゲットを切り替える際のユーザの効率を向上させることができる。
【特許請求の範囲】
【請求項1】
モバイル端末によって実行される仮想オブジェクトの切替方法であって、
ロックオン状態にある第1の仮想オブジェクト及び前記ロックオン状態にない第2の仮想オブジェクトを表示するステップであって、前記ロックオン状態とは、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示すステップと、
シェイク操作を受信するステップであって、前記シェイク操作は前記モバイル端末の本体を振る操作である、ステップと、
前記シェイク操作が前記第2の仮想オブジェクトとマッチングした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替えるステップと、を含む方法。
【請求項2】
前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替える前記ステップは、
前記第2の仮想オブジェクト上にロックオンインジケータを表示する、及び前記第1の仮想オブジェクト上の前記ロックオンインジケータの表示を取り消すステップ、
前記第2の仮想オブジェクト上にロックオン視覚効果を表示する、及び前記第1の仮想オブジェクト上の前記ロックオン視覚効果の表示を取り消すステップ、
提示情報を表示するステップであって、前記提示情報は前記シェイク操作のシェイク方向を示すために用いられ、前記提示情報の表示方式は図形、矢印、及びテキストのうちの少なくとも一種を含むステップ、
のうち少なくとも一種を含む、請求項1に記載の方法。
【請求項3】
シェイク操作を受信する前記ステップは、
モーションセンサによって前記シェイク操作の前記シェイク方向及びシェイク加速度を取得するステップであって、前記シェイク加速度は前記シェイク操作中の最大加速度であるステップを含み、
前記シェイク操作が前記第2の仮想オブジェクトとマッチングした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替える前記ステップは、
前記シェイク方向及び前記シェイク加速度に基づき、前記第2の仮想オブジェクトを決定する、及び前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替えるステップを含む、請求項2に記載の方法。
【請求項4】
前記シェイク方向及び前記シェイク加速度に基づき、前記第2の仮想オブジェクトを決定する前記ステップは、
仮想環境において前記第1の仮想オブジェクトを基準位置とした場合、前記シェイク方向にある候補仮想オブジェクトの第1のオブジェクト数を決定するステップと、
前記第1のオブジェクト数が1に等しい場合、前記シェイク方向にある前記候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップと、
前記第1のオブジェクト数が1よりも大きい場合、前記シェイク加速度に基づき、前記シェイク方向にある前記候補仮想オブジェクトから前記第2の仮想オブジェクトを決定するステップと、を含む、請求項3に記載の方法。
【請求項5】
前記第1のオブジェクト数が1よりも大きい場合、前記シェイク加速度に基づき、前記シェイク方向にある前記候補仮想オブジェクトから前記第2の仮想オブジェクトを決定する前記ステップは、
前記第1のオブジェクト数が1よりも大きい場合、前記シェイク方向にn個の加速度区間を設置するステップであって、異なる加速度区間が異なる候補仮想オブジェクトの所在位置に対応するステップと、
前記シェイク加速度が含まれる第iの加速度区間に基づき、前記第iの加速度区間にある候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップと、を含み、
ここで、iは正の整数であり、前記候補仮想オブジェクトは、前記第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、前記n個の加速度区間は、加速度の数値が小さいものから大きいものの順に並べられる、請求項4に記載の方法。
【請求項6】
前記第1のオブジェクト数が1よりも大きい場合、前記シェイク加速度に基づき、前記シェイク方向にある前記候補仮想オブジェクトから前記第2の仮想オブジェクトを決定する前記ステップは、
前記第1のオブジェクト数が1よりも大きい場合、予め設定されたk個の加速度区間を取得するステップであって、kは前記第1のオブジェクト数よりも大きいステップと、
前記シェイク加速度が第jの加速度区間にあり、且つjが前記第1のオブジェクト数より大きくない場合、前記候補仮想オブジェクトのうちの第jの候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップと、
前記シェイク加速度が前記第jの加速度区間にあり、且つjが前記第1のオブジェクト数よりも大きい場合、前記候補仮想オブジェクトのうちの第nの候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップであって、nは前記第1のオブジェクト数に等しいステップと、を含み、
k、jは正の整数であり、前記候補仮想オブジェクトは、前記第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、前記k個の加速度区間は、加速度の数値が小さいものから大きいものの順に並べられる、請求項4に記載の方法。
【請求項7】
モーションセンサによって前記シェイク操作の前記シェイク方向を取得する前記ステップは、
前記モーションセンサによって前記モバイル端末が所在する第1位置を取得するステップであって、前記第1位置は、前記モバイル端末が前記シェイク操作の開始時刻に所在する位置であるステップと、
前記モーションセンサによって前記モバイル端末が所在する第2位置を取得するステップであって、前記第2位置は、前記モバイル端末が前記シェイク操作の終了時刻に所在する位置であるステップと、
前記第1位置及び前記第2位置に基づき、前記シェイク操作の前記シェイク方向を決定するステップと、を含む、請求項3から6のいずれか一項に記載の方法。
【請求項8】
モーションセンサによって前記シェイク操作のシェイク加速度を取得する前記ステップは、
前記モーションセンサによって取得した加速度が第1の閾値よりも大きい時刻を、前記シェイク操作の開始時刻として決定するステップと、
前記モーションセンサによって取得した加速度が第2の閾値よりも小さい期間が期間閾値に達した時刻を、前記シェイク操作の終了時刻として決定するステップと、
前記開始時刻と前記終了時刻との間の加速度の最大値を、前記シェイク加速度として決定するステップと、を含む、請求項3から6のいずれか一項に記載の方法。
【請求項9】
シェイク操作を受信する前記ステップは、
カメラによってキャプチャされた画像で前記シェイク操作の前記シェイク方向及びシェイクの振り幅を決定するステップを含み、
前記シェイク操作が前記第2の仮想オブジェクトとマッチングした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替える前記ステップは、
前記シェイク方向及び前記シェイクの振り幅に基づき、前記第2の仮想オブジェクトを決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替えるステップを含む、請求項2に記載の方法。
【請求項10】
前記シェイク方向及び前記シェイクの振り幅に基づき、前記第2の仮想オブジェクトを決定する前記ステップは、
仮想環境において前記第1の仮想オブジェクトを基準位置とした場合、前記シェイク方向にある候補仮想オブジェクトの第2のオブジェクト数を決定するステップと、
前記第2のオブジェクト数が1に等しい場合、前記シェイク方向にある前記候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップと、
前記第2のオブジェクト数が1よりも大きい場合、前記シェイクの振り幅に基づき、前記シェイク方向にある前記候補仮想オブジェクトから前記第2の仮想オブジェクトを決定するステップと、を含む、請求項9に記載の方法。
【請求項11】
カメラによってキャプチャされた画像で前記シェイク操作の前記シェイク方向を決定する前記ステップは、
前記カメラがキャプチャした第1の画像を取得するステップであって、前記第1の画像は前記シェイク操作の開始時刻に前記カメラによってキャプチャして取得されたものであるステップと、
前記カメラがキャプチャした第2の画像を取得するステップであって、前記第2の画像は前記シェイク操作の終了時刻に前記カメラによってキャプチャして取得されたものであるステップと、
前記第1の画像と前記第2の画像との特徴点マッチングに基づき、前記シェイク操作の前記シェイク方向を決定するステップと、を含む、請求項9に記載の方法。
【請求項12】
カメラによってキャプチャされた画像で前記シェイク操作のシェイクの振り幅を決定する前記ステップは、
前記カメラによって取得された第1の連続する2フレームの画像間の類似度が第3の閾値よりも小さい場合、前記第1の連続する2フレームの画像のうちの前のフレームを第1の画像として決定するステップと、
前記カメラによって取得された第2の連続する2フレームの画像間の類似度が第4の閾値よりも大きい場合、前記第2の連続する2フレームの画像のうちの後のフレームを第2の画像として決定するステップと、
前記第1の画像と前記第2の画像との間の類似度に基づき、前記シェイク操作の前記シェイクの振り幅を決定するステップと、を含む、請求項9に記載の方法。
【請求項13】
第1の形態のロックオンコントローラを表示するステップであって、前記第1の形態のロックオンコントローラは、前記シェイク操作により前記ロックオン状態にある仮想オブジェクトを切り替えることを提示するために用いられるステップ、をさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項14】
少なくとも2つの仮想オブジェクトを表示するステップであって、前記少なくとも2つの仮想オブジェクトは、前記ロックオン状態にない第1の仮想オブジェクトを含むステップと、
前記第1の仮想オブジェクトがロックオン条件を満たした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップと、
をさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項15】
前記第1の仮想オブジェクトがロックオン条件を満たした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを表示する前記ステップは、
前記少なくとも2つの仮想オブジェクトのうち、前記マスタ制御仮想オブジェクトからの距離が最小となる仮想オブジェクトを前記第1の仮想オブジェクトとして決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップ、
前記少なくとも2つの仮想オブジェクトのうち、前記マスタ制御仮想オブジェクトからの距離が距離閾値よりも小さく、且つ前記マスタ制御仮想オブジェクトの向きにある仮想オブジェクトを前記第1の仮想オブジェクトとして決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップ、
前記少なくとも2つの仮想オブジェクトのうち、前記マスタ制御仮想オブジェクトからの距離が前記距離閾値よりも小さく、且つ絶対ライフ値が最小である仮想オブジェクトを前記第1の仮想オブジェクトとして決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップであって、前記絶対ライフ値は前記仮想オブジェクトの残りのライフ値であり、前記ライフ値は前記仮想環境における前記仮想オブジェクトの摩耗度の測定に用いられるステップ、
前記少なくとも2つの仮想オブジェクトのうち、前記マスタ制御仮想オブジェクトからの距離が前記距離閾値よりも小さく、且つ相対ライフ値が最小である仮想オブジェクトを前記第1の仮想オブジェクトとして決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップであって、前記相対ライフ値は前記仮想オブジェクトの残りのライフ値とフルライフ値との比であるステップ、
のうち少なくとも一種を含む、請求項14に記載の方法。
【請求項16】
第2の形態のロックオンコントローラを表示するステップと、
前記第2の形態のロックオンコントローラに対する第1のトリガ操作に応答して、ロックオン操作の実行を決定するステップと、をさらに含む、請求項14に記載の方法。
【請求項17】
第3の形態のロックオンコントローラを表示するステップと、
前記第3の形態のロックオンコントローラに対する第2のトリガ操作に応答して、ロックオンの取消操作を実行することを決定するステップと、
をさらに含む、請求項1から6のいずれか一項に記載の方法。
【請求項18】
仮想オブジェクトの切替装置であって、
ロックオン状態にある第1の仮想オブジェクト及び前記ロックオン状態にない第2の仮想オブジェクトを表示するために用いられる表示モジュールであって、前記ロックオン状態とは、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示す表示モジュールと、
シェイク操作を受信するために用いられる受信モジュールであって、前記シェイク操作は、前記装置を振る操作である受信モジュールと、
前記シェイク操作が前記第2の仮想オブジェクトとマッチングした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替えるために用いられる切替モジュールと、を含む、装置。
【請求項19】
プロセッサ及びメモリを含むコンピュータデバイスであって、前記メモリにはコンピュータプログラムが記憶されており、前記コンピュータプログラムは、請求項1から17のいずれか一項に記載の仮想オブジェクトの切替方法を実現するために、前記プロセッサによってロードされて実行されるコンピュータデバイス。
【請求項20】
コンピュータプログラムが記憶されているコンピュータ可読記憶媒体であって、前記コンピュータプログラムは、請求項1から17のいずれか一項に記載の仮想オブジェクトの切替方法を実現するために、プロセッサによってロードされて実行されるコンピュータ可読記憶媒体。
【請求項21】
コンピュータ命令を含むコンピュータプログラム製品であって、前記コンピュータ命令は、コンピュータ可読記憶媒体に記憶されており、コンピュータデバイスのプロセッサは前記コンピュータ可読記憶媒体から前記コンピュータ命令を読み取り、前記プロセッサは、前記コンピュータデバイスが請求項1から17のいずれか一項に記載の仮想オブジェクトの切替方法を実行して実現するように、前記コンピュータ命令を実行する、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年12月10日に出願した、出願番号が202111506115.4であり、発明の名称が「仮想オブジェクトの切替方法、装置、設備、媒体及びプログラム製品」である中国特許出願の優先権を主張するものであり、その全内容を参照によりここに援用する。
【0002】
本出願の実施例は、仮想環境技術の分野に関し、特に、仮想オブジェクトの切替方法、装置、設備、媒体及びプログラム製品に関する。
【背景技術】
【0003】
様々なゲームの中で、ユーザはいくつかの敵キャラクタの中から1体の敵キャラクタをロックオンして攻撃し、且つ、戦闘の中でしばしばロックオンする敵キャラクタを切り替える必要がある。
【0004】
関連技術において、ユーザインターフェースにはロックオンコントローラが設定されており、ユーザが初めてロックオンコントローラをタッチした際に、端末は自動的にいくつかの敵キャラクタの中から第1の敵キャラクタをロックオンし、ユーザが再度ロックオンコントローラをタッチすると、端末は予め設定された切替順で、第1の敵キャラクタから第2の敵キャラクタに切り替えてロックオンする。
【0005】
しかし、ロックオンする敵キャラクタを切り替える際に予め設定された切替順のみに基づいて切替えを行うと、ユーザが攻撃したい敵キャラクタが切替順の最後である場合、関連技術によって切り替えを行うために、ロックオンコントローラを複数回タッチする必要があり、キャラクタの切替効率が低い。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本出願は、仮想オブジェクトの切替方法、装置、設備、媒体及びプログラム製品を提供する。この技術的解決手段は以下の通りである。
【課題を解決するための手段】
【0007】
本出願の一態様によれば、仮想オブジェクトの切替方法を提供し、前記方法はモバイル端末によって実行され、前記方法は、
ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示するステップであって、ロックオン状態とは、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示すステップと、
シェイク操作を受信するステップであって、シェイク操作はモバイル端末の本体を振る操作であるステップと、
シェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替えるステップと、を含む。
【0008】
本出願の別の態様によれば、仮想オブジェクトの切替装置を提供し、前記装置は、
ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示するために用いられる表示モジュールであって、ロックオン状態は、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示す表示モジュールと、
シェイク操作を受信するために用いられる受信モジュールであって、シェイク操作は装置を振る操作である受信モジュールと、
さらに、シェイク操作と第2の仮想オブジェクトとがマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトとして切り替えるために用いられる切替モジュールと、を含む。
【0009】
本出願の一態様によれば、プロセッサ及びメモリを含むコンピュータデバイスを提供し、前記メモリにはコンピュータプログラムが記憶されており、前記コンピュータプログラムは、上記の仮想オブジェクトの切替方法を実現するために、前記プロセッサによってロードされて実行される。
【0010】
本出願の別の態様によれば、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供し、前記コンピュータプログラムは、上記の仮想オブジェクトの切替方法を実現するために、プロセッサによってロードされて実行される。
【0011】
本出願の別の態様によれば、コンピュータ命令を含むコンピュータプログラム製品を提供し、当該コンピュータ命令はコンピュータ可読記憶媒体に記憶されている。コンピュータデバイスが上記態様により提供された仮想オブジェクトの切替方法を実行するように、当該コンピュータデバイスのプロセッサは、コンピュータ可読記憶媒体から当該コンピュータ命令を読み取り、プロセッサは当該コンピュータ命令を実行する。
【0012】
本出願の実施例により提供される技術的解決手段がもたらす有益な効果には、少なくとも以下のものが含まれる。
【0013】
シェイク操作でロックオン状態にある仮想オブジェクトの切替を実現することによって、複数回のロックオンコントローラのタッチによる切替を回避することができ、ユーザの素早いロックオンターゲットの切替えを可能にする。例えば、ユーザの制御するマスタ制御仮想キャラクタが第1の敵キャラクタと激しい戦闘をしている最中に、ユーザが第2の敵キャラクタに致命的な弱点が短期間現れたことを見つけた際、マスタ制御仮想キャラクタがその敵キャラクタへ向かって攻撃を行えば第2の敵キャラクタを倒すことができるため、ユーザはシェイク操作で元々ロックオンしていた仮想キャラクタ(第1の敵キャラクタ)を第2の敵キャラクタに迅速に切り替えて、切り替えた敵キャラクタに向かって攻撃を行えばよい。したがって、ロックオンターゲットを切り替えるシェイク操作を設定することは、ユーザの操作方法を充実させるだけでなく、ユーザのロックオンターゲットの切替効率を向上させ、さらにゲームの攻略性も向上させる。
【図面の簡単な説明】
【0014】
【
図1】本出願の例示的な実施例が提供する、コンピュータシステムの構成ブロック図を示す。
【
図2】本出願の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図3】本出願の例示的な実施例が提供する、ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトの概略図を示す。
【
図4】本出願の例示的な実施例が提供する、シェイク操作の提示情報の概略図を示す。
【
図5】本出願の例示的な実施例が提供する、シェイク方向の提示情報の概略図を示す。
【
図6】本出願の別の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図7】本出願の例示的な実施例が提供する、シェイク方向決定の概略図を示す。
【
図8】本出願の別の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図9】本出願の別の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図10】本出願の例示的な実施例が提供する、仮想オブジェクトの切替プロセスの概略図を示す。
【
図11】本出願の別の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図12】本出願の例示的な実施例が提供する仮想オブジェクトの切替装置の構成ブロック図を示す。
【
図13】本出願の例示的な実施例が提供する、コンピュータデバイスの構成ブロック図を示す。
【発明を実施するための形態】
【0015】
図1は本出願の例示的な実施例が提供する、コンピュータシステムの構成ブロック図を示す。当該コンピュータシステム100は、モバイル端末120とサーバ140とを含む。
【0016】
モバイル端末120では仮想環境をサポートするアプリケーションプログラムが実行されている。当該アプリケーションプログラムは、3Dマップアプリや、横スクロールシューティングゲーム、横スクロールアドベンチャーゲーム、横スクロールアクションゲーム、横スクロールストラテジーゲーム、仮想現実(Virtual Reality、VR)アプリケーションプログラム、拡張現実(Augmented Reality、AR)プログラムのうちのいずれか一種であってもよい。モバイル端末120はユーザが使用するモバイル端末であり、ユーザはモバイル端末120を使用し3D仮想環境に位置するマスタ制御仮想オブジェクトを操縦することで行動し、当該行動は身体の姿勢の調整や歩行、走行、ジャンプ、騎行、運転、エイム、ピックアップ、投擲アイテムの使用、他の仮想オブジェクトへの攻撃のうち少なくとも一種を含むがこれらに限られない。例示的には、マスタ制御仮想オブジェクトは、フォトリアルなキャラクタオブジェクトまたはアニメ調キャラクタオブジェクト等の仮想キャラクタである。例示的には、ユーザは仮想環境画面上のUIコントローラによってマスタ制御仮想キャラクタを操縦することで行動する。
【0017】
モバイル端末120は無線ネットワークまたは有線ネットワークによってサーバ140に接続される。
【0018】
サーバ140は1台のサーバ、複数台のサーバ、クラウドコンピューティングプラットフォーム及び仮想データセンターのうちの少なくとも一種を含む。例示的には、サーバ140はプロセッサ144とメモリ142とを含み、メモリ142には受信モジュール1421、制御モジュール1422及び送信モジュール1423が含まれ、受信モジュール1421は敵への攻撃等のアプリケーションプログラムによって送信されたリクエストを受信するために用いられ、制御モジュール1422は仮想環境画面のレンダリングを制御するために用いられ、送信モジュール1423は攻撃によるダメージ値のアプリケーションプログラムへの送信等のアプリケーションプログラムへの応答を送信するために用いられる。サーバ140は3D仮想環境をサポートするアプリケーションプログラムへのバックグラウンドサービスを提供するために用いられる。任意選択的に、サーバ140が主演算処理を担当し、モバイル端末120は二次演算処理を担当する。または、サーバ140が二次演算処理を担当し、モバイル端末120が主演算処理を担当する。
【0019】
任意選択的に、上記アプリケーションプログラムは異なるオペレーティングシステムプラットフォーム(AndroidまたはIOS)で実行される。任意選択的に、当該アプリケーションプログラムを実行するモバイル端末140のデバイスタイプは同じであるかまたは異なり、当該デバイスタイプは、スマートフォン、スマートウォッチ、スマートテレビ、車載モバイル端末、ウェアラブルデバイス、タブレットPC、電子書籍リーダ、MP3プレーヤー、MP4プレーヤー、ラップトップ型携帯コンピュータのうちの少なくとも一種を含む。以下の実施例はスマートフォンを含むモバイル端末を例として説明する。
【0020】
当業者であればわかるように、上記モバイル端末の数はより多くすることもより少なくすることもできる。例えば、上記モバイル端末は1台のみであっても、または上記モバイル端末は数十台または数百台またはより多い台数であってもよい。本出願の実施例は、モバイル端末の台数やデバイスタイプを限定しない。
【0021】
ロックオンターゲットの切替効率を向上させるために、
図2は本出願の例示的な実施例が提供する仮想オブジェクトの切替方法のフローチャートを示し、当該方法を
図1に示されたモバイル端末120(またはモバイル端末120上のアプリケーションプログラム)に応用することを例として説明する。当該方法は以下を含む。
【0022】
ステップ220:ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。
【0023】
ロックオン状態:ロックオン状態は、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示す。その後、ロックオンされた仮想オブジェクトは、マスタ制御仮想オブジェクトのロックオンされた仮想オブジェクトへ向けて行う打ち付け、発砲、投擲物の解放、攻撃スキルの解放等マスタ制御仮想オブジェクトが発動する攻撃を受ける場合がある。または、マスタ制御仮想オブジェクトがロックオンされた仮想オブジェクトへ向かって移動し、ロックオンされた仮想オブジェクトの所在位置をマスタ制御仮想オブジェクトの目的地とする場合もある。または、仮想オブジェクトをロックオンした後、モバイル端末のディスプレイ上にロックオンされた仮想オブジェクトの詳細な紹介「砲兵[等級5]攻撃力80防御力50」を表示する等、マスタ制御仮想オブジェクトが、ロックオンされた仮想オブジェクトの詳細情報を取得する場合もある。本出願では、ロックオン状態はロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示すだけであり、本出願は、ロックオンされた仮想オブジェクトに対するマスタ制御仮想オブジェクトの具体的な行動を制限しない。
【0024】
マスタ制御仮想オブジェクト:モバイル端末が制御権限を持つ仮想オブジェクトを指す。マスタ制御仮想オブジェクトはモバイル端末の制御下で、身体の姿勢の調整や歩行、走行、ジャンプ、騎行、運転、エイム、ピックアップ、投擲アイテムの使用、他の仮想オブジェクトへの攻撃のうちの少なくとも一種の行動を実行することができる。マスタ制御仮想オブジェクトは、ユーザがゲーム内において操縦する仮想キャラクタオブジェクトや、ユーザがゲーム内において召喚する仮想ペットオブジェクトや、ユーザがゲーム内において使用する仮想キャリアオブジェクトであってもよい。
【0025】
第1の仮想オブジェクト:仮想環境において行動能力を持つ仮想オブジェクトを指し、任意選択的に、第1の仮想オブジェクトは他ユーザが操縦する仮想オブジェクトであるか、または、第1の仮想オブジェクトはNPC(Non-player Character、ノンプレイヤーキャラクタ)である。第2の仮想オブジェクトも仮想環境において行動能力を持つ仮想オブジェクトを指し、第1の仮想オブジェクト及び第2の仮想オブジェクトは異なる仮想オブジェクトの区別にのみ用いられ、即ち、第1の仮想オブジェクトが他ユーザの操縦する仮想オブジェクト(またはNPC)であり、第2の仮想オブジェクトがNPC(または他ユーザの操縦する仮想オブジェクト)である場合もあり、また、第1の仮想オブジェクトと第2の仮想オブジェクトがいずれも他ユーザの操縦する仮想オブジェクトである場合もあり、または、第1の仮想オブジェクトと第2の仮想オブジェクトがいずれもNPCである場合もある。
【0026】
多数のゲームにおいてはアクティブロックオン及びパッシブロックオンという2種類のロックオンモードが存在する場合があり、アクティブロックオンとは、ユーザがマスタ制御仮想オブジェクトを自主的に制御し何らかの仮想オブジェクトをロックオンすることを指し、パッシブロックオンとは、予め設定されたロックオンルールに基づき何らかの仮想オブジェクトをロックオンすることを指す。例えば、ユーザが周囲にある複数の仮想オブジェクトから1つの仮想オブジェクトを自主的に選択して攻撃する場合、当該行動はアクティブロックオンと呼ばれる。ユーザが操縦するマスタ制御仮想オブジェクトが周囲の仮想オブジェクトのうちのいずれかの仮想オブジェクトによる攻撃を受けた後、受動的に当該仮想オブジェクトを次の攻撃のターゲットとする場合は、パッシブロックオンとなる。ユーザは、対応する操作を行うことでアクティブロックオンとパッシブロックオンの中で切替を行うことができる。
【0027】
アクティブロックオンモードでは、モバイル端末の画面上において、通常、ロックオンインジケータまたはロックオン視覚効果等のユーザに現在ロックオンしている仮想オブジェクトを提示するため用いられるものが設定されている。パッシブロックオンモードでは、モバイル端末の画面には、通常、提示情報は特段設定されず、マスタ制御仮想オブジェクトが、ロックオンされた仮想オブジェクトに対して具体的な行動を行うことにより、ロックオンされた仮想オブジェクトを画面上で直接観察し判断することができる。
【0028】
本出願では、主に、ユーザがアクティブロックオンモードにおいてロックオンした仮想オブジェクトを切り替えることについて説明する。
【0029】
1つの実施例において、ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトをモバイル端末上に表示する。概略的には、モバイル端末上においてテキストやロックオンインジケータ、ロックオン視覚効果のうち少なくとも一種の方法で第1の仮想オブジェクトがロックオン状態にあることを示す。例えば、第1の仮想オブジェクトの輪郭の外周にスクエアフレーム(ロックオンインジケータ)を追加することで第1の仮想オブジェクトのロックオンに成功したことを示す、第1の仮想オブジェクトのボディ上に照準器(ロックオンインジケータ)を表示することで第1の仮想オブジェクトのロックオンに成功したことを示す、第1の仮想オブジェクトに点滅効果(ロックオン視覚効果)を表示するように設定する、第1の仮想オブジェクトに拡大効果(ロックオン視覚効果)を表示するように設定する、第1の仮想オブジェクト上において第2の仮想オブジェクトとは異なる色(ロックオン視覚効果)を表示する、等が挙げられる。
【0030】
概略的には、
図3は第1の仮想オブジェクトがロックオンされ第2の仮想オブジェクトがロックオンされていない概略図を示し、第1の仮想オブジェクト31上にロックオンインジケータ301を有し、第2の仮想オブジェクト32上にはロックオンインジケータ301を有しない。ロックオンインジケータ301は、第1の仮想オブジェクトがロックオン状態にあることを示し、第2の仮想オブジェクト32はロックオン状態にないことに対応する。
【0031】
ステップ240:シェイク操作を受信する。
【0032】
ここで、シェイク操作はモバイル端末的の本体をシェイクするための操作である。ユーザがモバイル端末の本体を振ったことに応答して、モバイル端末はシェイク操作を受信する。
【0033】
任意選択的に、モバイル端末は内蔵のモーションセンサから出力される信号によりシェイク操作の受信を決定する。概略的には、モバイル端末はモーションセンサによって収集された信号の変化値によりシェイク操作を受信したことを決定する。モーションセンサは、加速度センサ、ジャイロセンサ、加速度センサとジャイロセンサを融合した6軸センサ(または9軸センサまたは12軸センサ)のうちの少なくとも一種であり得る。
【0034】
任意選択的に、モバイル端末はアンテナで受信した信号によりシェイク操作を受信したことを確認する。概略的には、受信した連続2回の信号の振幅の変化量及び/または周波数の変化量によりシェイク操作を受信したことを確認する、または、受信した連続2回の信号のエネルギーの変化量によりシェイク操作を受信したことを確認する。ユーザがモバイル端末を振ったことに応答して、アンテナで受信した連続2回の信号の伝搬中のインピーダンスを不一致にさせることで、連続2回の信号のエネルギーが不一致になるようにする。任意選択的に、アンテナで受信した信号は、wifi信号やモバイルネットワーク信号、ブルートゥース信号等の場合がある。
【0035】
任意選択的に、モバイル端末はカメラがキャプチャした画像によりシェイク操作を受信したことを確認する。概略的には、キャプチャした連続する2フレームの画像の類似度によりシェイク操作を受信したことを確認する。
【0036】
1つの実施例において、シェイク操作を受信する前に、モバイル端末のディスプレイ上には第1の形態のロックオンコントローラをさらに表示し、第1の形態のロックオンコントローラは、シェイク操作によるロックオン状態にある仮想オブジェクトの切替を提示するために用いられる。概略的には、
図4は第1の形態のロックオンコントローラ401を示し、第1の形態のロックオンコントローラ401上には「端末を振る」という提示パターンが表示される。1つの実施例において、モバイル端末の画面上に、
図4に示すように、予め期間を設定した第1の形態のロックオンコントローラを表示したことに応答して、
図3に示すように第3の形態のロックオンコントローラをさらに表示し、
図3は第3の形態のロックオンコントローラ302を示し、第3の形態のロックオンコントローラ302は「ロックオンの取消」というテキストを表示する。
【0037】
ステップ260:シェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える。
【0038】
1つの実施例において、モバイル端末はモーションセンサが取得したシェイク操作のシェイク方向及びシェイク中の最大加速度(シェイク加速度)に基づき、シェイク操作とマッチングする第2の仮想オブジェクトを決定する。その後、モバイル端末は、ロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0039】
ここで、モバイル端末がロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示するプロセスは、モバイル端末がシェイク操作に基づいて、マッチングする第2の仮想オブジェクトを決定した後、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える(仮想オブジェクトの切替はモバイル端末によって実行される)ことであってもよい。任意選択的に、モバイル端末がシェイク操作に基づいて、マッチングした第2の仮想オブジェクトを決定した後、第2の仮想オブジェクトをサーバへレポートし、サーバによってロックオン状態の切替を実行し、且つ切替結果をモバイル端末へフィードバックし、対応するモバイル端末が切替結果に基づきロックオン状態にある第2の仮想オブジェクト及びロックオン状態にない第1の仮想オブジェクトを表示することであってもよい。
【0040】
1つの実施例において、モバイル端末はアンテナで受信した信号の波形における変異発生からシェイク操作を受信したことを確認する。変異発生後と発生前の波形の変化状況に基づき、シェイク方向を決定する。波形の変異が発生する前後の信号のエネルギー変化値に基づき、シェイク操作の振り幅を確認する。モバイル端末はシェイク方向及びシェイクの振り幅に基づき第2の仮想オブジェクトを決定する。
【0041】
1つの実施例において、モバイル端末はカメラがシェイク操作の開始時刻にキャプチャした画像、及び、シェイク操作の終了時刻にキャプチャした画像に基づき、シェイク操作のシェイク方向と振り幅を決定し、さらにシェイク方向と振り幅から第2の仮想オブジェクトを決定することができる。モバイル端末は、ロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0042】
任意選択的に、モバイル端末がロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する方法は、以下のうちの少なくとも一種を含む。
【0043】
・第2の仮想オブジェクト上にロックオンインジケータを表示する、及び第1の仮想オブジェクト上にロックオンインジケータを表示することを取り消す。
【0044】
・第2の仮想オブジェクト上にロックオン視覚効果を表示する、及び第1の仮想オブジェクト上にロックオン視覚効果を表示することを取り消す。
【0045】
・提示情報を表示し、当該提示情報はシェイク操作のシェイク方向を示すために用いられ、即ちモバイル端末のシェイク操作におけるシェイク方向の提示情報を表示し、提示情報の表示方式は図形、矢印、及びテキストのうちの少なくとも一種を含む。
【0046】
概略的には、
図5はモバイル端末がロックオン状態にある仮想オブジェクトを第1の仮想オブジェクトから第2の仮想オブジェクトに切り替える画面を示す。
図3をあわせて参照すると、ロックオンインジケータ301の所在位置が第1の仮想オブジェクト31から第2の仮想オブジェクト32へ遷移したことがわかる。
図5はさらに二等辺三角形501を示し、二等辺三角形501の2つの等辺は底辺より長く、二等辺三角形501はシェイク操作のシェイク方向を提示するために用いられ、この時のシェイク方向は左である。
【0047】
以上を総合して、シェイク操作によりロックオン状態にある仮想オブジェクトの切替を実現することは、複数回のロックオンコントローラのタッチによる切替を回避することができ、ユーザの素早いロックオンターゲットの切替を可能にする。例えば、ユーザの制御するマスタ制御仮想キャラクタが第1の敵キャラクタと激しい戦闘をしている最中に、ユーザが第2の敵キャラクタに致命的な弱点が短期間現れたことを見つけた際、マスタ制御仮想キャラクタがその敵キャラクタへ向かって攻撃を行えば第2の敵キャラクタを倒すことができるため、ユーザはシェイク操作で元々ロックオンしていた仮想キャラクタ(第1の敵キャラクタ)を第2の敵キャラクタに切り替えて、切り替えた敵キャラクタに向かって攻撃を行えばよい。したがって、シェイク操作によるロックオンターゲットを切り替えるよう設定することは、ユーザの操作方法を充実させるだけでなく、ユーザのロックオンターゲットの切替効率を向上させ、さらにゲームの攻略性も向上させる。
【0048】
ロックオンターゲットの切替効率を向上させるために、
図6は本出願の1つの例示的な実施例が提供する仮想オブジェクトの切替方法のフローチャートを示し、当該方法を
図2に示すモバイル端末120において応用することで例を挙げて説明する。当該方法は以下のステップを含む。
【0049】
ステップ620:ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。
【0050】
ここで、ロックオン状態は、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示し、マスタ制御仮想オブジェクトとは、モバイル端末が制御権限を有する仮想オブジェクトである。1つの実施例において、モバイル端末上にはロックオン状態にある第1の仮想オブジェクト及び前記ロックオン状態にない第2の仮想オブジェクトが表示される。任意選択的に、モバイル端末上においてテキスト、ロックオンインジケータ、及びロックオン視覚効果のうちの少なくとも一種の方法で第1の仮想オブジェクトがロックオン状態にあることを示す。
【0051】
ステップ640:モーションセンサによってシェイク操作のシェイク方向及びシェイク加速度を取得する。
【0052】
ここで、シェイク操作はモバイル端末の本体を振る操作である。
【0053】
シェイク操作は1回のシェイク操作であったり、複数回のシェイク操作であったりする場合があり、1回のシェイク操作は1つのシェイク方向に対応し、複数回のシェイク操作中には複数のシェイク方向が存在する可能性があるため、シェイク操作中の異なるシェイク方向が最終結果に影響を及ぼすことを回避するため、モバイル端末の開始位置及び終了位置に基づいて、シェイク操作全プロセスのシェイク方向を決定することができる。1つの実施例に対応して、モバイル端末がモーションセンサによってモバイル端末のシェイク操作開始時刻に位置する第1位置を取得し、その後、モーションセンサによってモバイル端末のシェイク操作終了時刻に位置する第2位置を取得する。第1位置及び第2位置に基づき、モバイル端末に対して行われたシェイク操作のシェイク方向を決定する。
【0054】
概略的には、モバイル端末がジャイロセンサによってシェイク操作の開始時刻に位置する第1位置の座標(x1,y1,z1)を取得し、ジャイロセンサによってシェイク操作の終了時刻に位置する第2位置の座標(x2,y2,z2)を取得し、座標ベクトルの演算からシェイク方向を決定することができる。例えば、第1位置の座標が(2,0,0)、第2位置の座標が(1,0,0)である場合、シェイク方向は左である。
【0055】
任意選択的に、モバイル端末は加速度センサ、または、加速度センサとジャイロセンサを融合した6軸センサ(または9軸センサ、または12軸センサ)に基づきシェイク方向を決定することもできる。
【0056】
概略的には、
図7(a)は1回のみシェイク操作した場合に、モバイル端末が最終位置及び開始位置に基づきシェイク方向を決定することを示し、
図7(b)は複数回シェイクした場合に、モバイル端末が最終位置及び開始位置に基づきシェイク方向を決定することを示す。
【0057】
モバイル端末のシェイク方向を決定するには、モバイル端末に対して行うシェイク操作の開始時刻及び終了時刻を決定する必要があるが、シェイク操作を行うにはモバイル端末の加速度が不可避的に大きくなることから、モーションセンサが収集した加速度データの大小関係から開始時刻及び終了時刻を決定することができる。1つの実施例に対応して、モバイル端末はモーションセンサによって加速度を取得し、加速度が0から増加し且つ第1の閾値よりも大きくなった場合、モバイル端末が振られたことを表し、対応するモバイル端末がモーションセンサによって取得した加速度が第1の閾値より大きくなった時刻をシェイク操作の開始時刻として決定し、その後、モバイル端末はモーションセンサによって加速度を取得し続け、加速度が小さくなり且つ第2の閾値よりも小さい状態が持続しているとモバイル端末が判断した場合、モバイル端末が振られなくなったことを表し、対応するモバイル端末がモーションセンサによって取得した加速度が第2の閾値よりも小さい期間が期間閾値に達した時刻をシェイク操作の終了時刻として決定する。
【0058】
任意選択的に、第1の閾値と第2の閾値は同じであってもよく、例えば、第1の閾値と第2の閾値は0m/s2であってもよい。第1の閾値と第2の閾値は異なっていてもよく、例えば、第1の閾値は0m/s2で、第2の閾値は0.2m/s2であってもよい。シェイク操作中の加速度データは完全に同一ではなく、その後はロックオンされた1つの仮想オブジェクトを決定する必要があるに過ぎないため、デフォルトではシェイク操作中の最大加速度をシェイク加速度として決定する。1つの可能な実施形態に対応して、モバイル端末がシェイク操作の開始時刻及び終了時刻を決定した後、開始時刻と終了時刻との間の加速度の最大値をシェイク操作のシェイク加速度として決定することができる。
【0059】
概略的には、モバイル端末は加速度センサ、または、加速度センサとジャイロセンサを融合した6軸センサ(または9軸センサ、または12軸センサ)によって加速度を取得する。
【0060】
上記に基づき、モバイル端末がシェイク操作のシェイク方向及びシェイク加速度を取得する。
【0061】
ステップ660:シェイク方向及びシェイク加速度に基づき、第2の仮想オブジェクトを決定し、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える。
【0062】
シェイク方向及びシェイク加速度に基づき第2の仮想オブジェクトを決定するプロセスにおいて、往々にして1つの参照物が必要となり、例えば、シェイク方向が左であれば、第2の仮想オブジェクトは参照物の左側にある。本実施例の切替シーンに基づけば、ユーザはロックオン状態にある第1の仮想オブジェクトを他の仮想オブジェクトに切り替えようとしているため、シェイク方向が左方向である場合、切り替えるべき仮想オブジェクトは第1の仮想オブジェクトの左側にあるべきであることを表す。したがって、1つの実施例では、モバイル端末は仮想環境において第1の仮想オブジェクトを基準位置として、第1の仮想オブジェクトのシェイク方向にある候補仮想オブジェクトの第1のオブジェクト数を決定する。当該第1のオブジェクト数はnで表すことができ、nの値は正の整数とすることができる。
【0063】
任意選択的に、第1の仮想オブジェクトのシェイク方向には1つまたは複数の候補仮想オブジェクトが存在する場合があり、即ちnの値は1であっても、3であってもよい。第1のオブジェクト数が1に等しい場合(即ちnの値が1に等しい場合)、当該候補仮想オブジェクトは切り替えるべき第2の仮想オブジェクトであることを表し、モバイル端末はシェイク方向にある候補仮想オブジェクトを第2の仮想オブジェクトとして直接決定することができる。任意選択的に、第1のオブジェクト数が1よりも大きい場合(即ちnの値が1よりも大きい場合)には、シェイク方向のみに基づいて切り替えるべき第2の仮想オブジェクトを決定することができず、さらにシェイク加速度に基づき、複数の候補仮想オブジェクトから第2の仮想オブジェクトを選別する必要がある。対応するモバイル端末が、シェイク中の加速度の最大値(シェイク加速度)に基づき、シェイク方向に存在するn個の候補仮想オブジェクトから第2の仮想オブジェクトを決定する。
【0064】
1つの実施例において、第1のオブジェクト数が1よりも大きい場合(即ちnの値が1よりも大きい場合)、モバイル端末は、シェイク方向にn個の加速度区間を設定することができ、異なる加速度区間は、異なる候補仮想オブジェクトの所在位置に対応し、したがって、n個の候補仮想オブジェクトが存在する場合、n個の加速度区間を対応して設定する。さらにシェイク加速度が含まれる第iの加速度区間に基づき、第iの加速度区間に対応する候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。即ち、シェイク中のシェイク加速度の最大値が第iの加速度区間にある場合、モバイル端末はn個の仮想オブジェクトうちの第iの候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。ここで、n個の候補仮想オブジェクトとn個の加速度区間とは1対1で対応し、n個の候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、n個の加速度区間は、加速度の数値が小さいものから大きいものの順に並べられる。ここで、n、iは正の整数である。
【0065】
概略的には、モーションセンサによって取得したシェイク方向が左であり、第1の仮想オブジェクトの左側に2つの候補仮想オブジェクトが存在し、モバイル端末が左側に対応する2つの加速度区間を順に(0,3)、(3,+∞)として設定し、モーションセンサに基づき取得したシェイク操作のシェイク加速度の最大値が2である場合、第1の仮想オブジェクトの左側の一番目にある仮想オブジェクトを第2の仮想オブジェクトとして決定する。
【0066】
別の実施例において、第1のオブジェクト数が1よりも大きい場合(即ちnの値が1よりも大きい場合)、モバイル端末が予め設定されたk個の加速度区間を取得し、kはnより大きい。その後、シェイク加速度が含まれる第jの加速度区間を決定し、シェイク中のシェイク加速度の最大値が第jの加速度区間にあり、且つjがnより大きくない場合、n個の候補仮想オブジェクトうちの第jの候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。シェイク加速度の最大値が第jの加速度区間にあり(シェイク加速度が第jの加速度区間にあり)、且つjがnよりも大きい場合、n個の候補仮想オブジェクトうちの第nの候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。ここで、n個の候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、k個の加速度区間は、加速度数値が小さいものから大きいものの順に並べられる。ここで、k、jは正の整数である。
【0067】
概略的には、nの値が3である場合、モバイル端末は、(0,3)、(3,6)、(6,9)、(9,12)、(12,15)、(15,18)、(18,21)、(21,+∞)の順に、8つの予め設定された加速度区間を取得する。シェイク中のシェイク加速度の最大値が5(第2の加速度区間に入る)であれば、第1の仮想オブジェクトの左側の二番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。シェイク中のシェイク加速度の最大値が14(第5の加速度区間に入る)であれば、第1の仮想オブジェクトの左側の三番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。
【0068】
説明しておきたい点として、上記k個の加速度区間はアプリケーションプログラムの実行をサポートするサーバの事前設定に基づいて得られる場合もあれば、ユーザのアプリケーションプログラム上の設定に基づいて得られる場合もあり、例えば、ユーザがアプリケーションプログラム上でシェイク操作の感度を調整すると、加速度区間のレンジ及び/または加速度区間の数量が調整される。
【0069】
以上により、仮想環境において第2の仮想オブジェクトを決定する。その後、モバイル端末は、ロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示し、可能とされる表示方法は既に上記ステップ260にて詳細に説明されているため、ここではこれ以上贅言しない。
【0070】
以上を総合して、モーションセンサによってシェイク操作のシェイク方向及びシェイク加速度を受信し、シェイク方向及びシェイク加速度に基づき、第2の仮想オブジェクトを決定し、最終的にロックオン状態にある仮想オブジェクトを第1の仮想オブジェクトから第2の仮想オブジェクトに切り替えることは、シェイク操作に基づいたロックオンターゲット切替の具体的な実現方法を提供し、ロックオンターゲット切替の高い効率性を保証する。
【0071】
ロックオンターゲット切替効率の向上のため、
図8は本出願の概略的な実施例の1つが提供する仮想オブジェクトの切替方法のフローチャートを示し、当該方法を
図2に示すモバイル端末120に応用した例で説明し、当該方法は以下を含む。
【0072】
ステップ820:ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。
【0073】
ここで、ロックオン状態は、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示し、マスタ制御仮想オブジェクトはモバイル端末が制御権限を有する仮想オブジェクトである。1つの実施例において、モバイル端末上にロックオン状態にある第1の仮想オブジェクト及び前記ロックオン状態にない第2の仮想オブジェクトが表示される。任意選択的に、モバイル端末上で、テキスト、ロックオンインジケータ及びロックオン視覚効果のうちの少なくとも一種の方法で、第1の仮想オブジェクトがロックオン状態にあることを表示する。
【0074】
ステップ840:カメラによってキャプチャした画像により、シェイク操作のシェイク方向及びシェイクの振り幅を決定する。
【0075】
1つの実施例において、モバイル端末は、カメラによって、カメラがシェイク操作の開始時刻にキャプチャした第1の画像、及びカメラがシェイク操作の終了時刻にキャプチャした第2の画像を取得する。その後、第1の画像及び第2の画像に基づき、特徴点マッチングを行い、シェイク操作のシェイク方向を決定する。
【0076】
1つの実施例において、モバイル端末はカメラによってキャプチャした画像で特徴点追跡を行い、シェイク操作のシェイク方向を決定する。特徴点追跡はビジュアルオドメトリに基づいた追跡アルゴリズムを採用してもよく、本出願はこれについて限定しない。任意選択的に、特徴点追跡はKLT(Kanade-Lucas)というオプティカルフローを使用した追跡アルゴリズムを採用する。任意選択的に、特徴点追跡はORB(Oriented FAST and Rotated BRIEF)アルゴリズムに基づき抽出したORB特徴量記述子を採用して特徴点追跡を行う。本出願は特徴点の追跡の具体的なアルゴリズムに対して限定しない。
【0077】
1つの実施例において、モバイル端末はカメラによって画像をキャプチャし、且つ連続する2フレームの画像間の類似度を取得し、連続する2フレームの画像間の類似度が大きければ、モバイル端末にシェイク操作が発生していないことを表し、逆に、接続する2フレームの画像間の類似度が小さければ、モバイル端末にシェイク操作が発生していることを表す。対応するモバイル端末がカメラによってキャプチャした第1の連続する2フレームの画像間の類似度が第3の閾値よりも小さい場合、シェイク操作を開始したことを表し、第1の連続する2フレームの画像のうち、前のフレームを第1の画像として決定し、且つ第1の画像を取得した時刻をシェイク操作の開始時刻として決定する。
【0078】
概略的には、モバイル端末はカメラによって画像を取得した後、連続する2フレームの画像間の類似度を演算する。連続する2フレームの画像間の類似度は、特徴点に基づいて演算することができ、連続する2フレームの画像間で重複して出現する特徴点の数量が第1の数量閾値よりも小さい場合、連続する2フレームの画像間の類似度が第3の閾値よりも小さいと見なされ、このとき、連続する2フレームの画像のうちの前のフレームを第1の画像として決定する。任意選択的に、類似度決定モデルを設定し、連続する2フレームの画像を類似度決定モデルに入力することで、連続する2フレームの画像間の類似度を出力し、且つ類似度と第3の閾値との関係を比較し、類似度が第3の閾値よりも小さい場合、連続する2フレームの画像のうちの前のフレームを第1の画像として決定し、且つ第1の画像のキャプチャ時刻をシェイク操作の開始時刻として決定することができる。
【0079】
開始時刻の誤決定に繋がる類似度の演算誤差を回避するために、任意選択的に、モバイル端末がカメラによって画像をキャプチャした後、連続する2フレームの画像間の類似度が第3の閾値よりも小さいと決定した場合、カウンタに1加算し、第1の予め設定された期間内に、モバイル端末が別の連続する2フレームの画像間の類似度も第3の閾値より小さいと決定した場合、カウンタに再び1加算し、第2の予め設定された期間内に、カウンタに積算された値が予め設定された値に達した場合には、シェイク操作が検出されたと決定し、最初に第3の閾値に達した連続する2フレームの画像のうちの前のフレームを第1の画像として決定する。
【0080】
1つの実施例において、モバイル端末が、連続する2フレームの画像間の類似度が小さいと決定した場合、モバイル端末が振られなくなったことを表し、対応するモバイル端末がカメラによって取得した第2の連続する2フレームの画像間の類似度が第4の閾値よりも大きい場合、第2の連続する2フレームの画像のうちの後のフルームを第2の画像として決定し、第2の画像の取得時刻をシェイク操作の終了時刻として決定する。第2の画像の取得時刻は第2の画像のキャプチャ時刻でもある。
【0081】
概略的には、モバイル端末はカメラによって画像を取得した後、連続する2フレームの画像間の類似度を演算する。任意選択的に、連続する2フレームの画像間で重複して出現する特徴点の数量が第2の数量閾値よりも大きい場合、連続する2フレームの画像間の類似度が第4の閾値よりも大きいと見なされ、このとき、連続する2フレームの画像のうちの後のフレームを第2の画像として決定する。任意選択的に、連続する2フレームの画像を類似度決定モデルに入力することで、連続する2フレームの画像間の類似度を出力し、且つ類似度と第4の閾値との関係を比較し、類似度が第4の閾値よりも大きい場合、連続する2フレームの画像のうちの後のフレームを第2の画像として決定し、且つ第2の画像のキャプチャ時刻をシェイク操作の終了時刻として決定することができる。
【0082】
任意選択的に、モバイル端末はカメラによって画像を取得した後、連続する2フレームの画像間の類似度が第4の閾値よりも大きいと決定した場合、カウンタに1加算し、第3の予め設定された期間内に、モバイル端末が別の連続する2フレームの画像間の類似度も第4の閾値よりも大きいと決定した場合、カウンタに再び1加算し、第4の予め設定された期間内に、カウンタによって積算された値が第2の予め設定された値に達した場合、シェイクの停止が検出されたと決定し、カウンタを第2の予め設定された値に達させた連続する2フレームの画像のうちの後のフレームを第2の画像として決定する。
【0083】
上記により、第1の画像及び第2の画像を得られたことを決定し、さらにシェイク操作のシェイク方向及びシェイクの振り幅を決定することができる。
【0084】
任意選択的に、モバイル端末は第1の画像と第2の画像のマッチングする特徴点の変位方向から、シェイク操作のシェイク方向を決定することができる。任意選択的に、第1の画像と第2の画像の間の類似度に基づいて、シェイク操作のシェイクの振り幅の数値をマッピングにより得ることができる。
【0085】
任意選択的に、モバイル端末に、類似度とシェイクの振り幅との間の対応関係を予め設定することができ、類似度が小さいほど、シェイクの振り幅が大きく、シェイクの振り幅は類似度と負の相関関係を示す。モバイル端末が第1の画像と第2の画像との間の類似度を決定した後、類似度とシェイクの振り幅との間の対応関係から、その回のシェイク操作に対応するシェイクの振り幅を決定することができる。
【0086】
ステップ860:シェイク方向及びシェイクの振り幅に基づき、第2の仮想オブジェクトを決定し、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える。
【0087】
上記実施例におけるシェイク方向及びシェイク加速度に基づき第2の仮想オブジェクトを決定する場合と同様に、シェイク方向及びシェイクの振り幅に基づいて第2の仮想オブジェクトを決定する場合にも、第1の仮想オブジェクトを基準位置とする必要がある。仮想環境において第1の仮想オブジェクトを基準位置とする場合、モバイル端末は、第1の仮想オブジェクトを基準位置とするシェイク方向における候補仮想オブジェクトの第2のオブジェクト数を決定し、第2のオブジェクト数は、mで表すことができ、mは正の整数である。第2のオブジェクト数が1に等しい場合(即ちmの値が1に等しい場合)、モバイル端末は、シェイク方向に存在する1つの候補仮想オブジェクトを第2の仮想オブジェクトとして直接決定することができる。第2のオブジェクト数が1よりも大きい場合(即ちmの値が1よりも大きい場合)、さらに複数の候補仮想オブジェクトから第2の仮想オブジェクトを選別する必要がある。対応して、シェイク中のシェイクの振り幅に基づき、モバイル端末はシェイク方向に存在するm個の候補仮想オブジェクトから第2の仮想オブジェクトを決定することができる。
【0088】
任意選択的に、第2のオブジェクト数が1よりも大きい場合(mの値が1よりも大きい場合)、モバイル端末はシェイク方向に対応するm個の振り幅区間を設定する。シェイクの振り幅が第pの振り幅区間内にある場合、モバイル端末はm個の仮想オブジェクトの中から第pの仮想オブジェクトを第2の仮想オブジェクトとして決定する。ここで、m個の候補仮想オブジェクトとm個の振り幅区間は1対1で対応し、m個の候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、m個の振り幅区間は、振り幅値が小さいものから大きいものの順に並べられる。
【0089】
概略的には、シェイク方向が左で、第1の仮想オブジェクトの左側に2つの候補仮想オブジェクトがある場合、モバイル端末は左側に、対応する2つの振り幅区間を順に(0,3)、(3,+∞)と設定し、類似度に基づき取得したシェイクの振り幅の最大値が2である場合、第1の仮想オブジェクトの左側にある一番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。
【0090】
任意選択的に、第2のオブジェクト数が1よりも大きい場合(mの値が1よりも大きい場合)、モバイル端末は予め設定されたR個の振り幅区間を取得し、Rはmより大きい。その後、シェイクの振り幅が第rの振り幅区間にあり、且つrがmより大きくない場合、m個の候補仮想オブジェクトのうちのr番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。シェイクの振り幅がr番目の振り幅区間にあり、且つrがmより大きい場合、m個の候補仮想オブジェクトのうちのm番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。ここで、m個の候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、R個の振り幅区間は、振り幅値が小さいものから大きいものの順に並べられる。
【0091】
ここで、上記m、p、R及びrはいずれも正の整数である。
【0092】
概略的には、mの値が3である場合、モバイル端末は予め設定された8つの振り幅区間を取得し、順に(0,3)、(3,6)、(6,9)、(9,12)、(12,15)、(15,18)、(18,21)と(21,+∞)である。シェイク中のシェイクの振り幅が5(第2の振り幅区間に入る)である場合、第1の仮想オブジェクトの左側の二番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。シェイク中のシェイクの振り幅が14(第5の加速度区間に入る)である場合、第1の仮想オブジェクトの左側の三番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。
【0093】
以上から、モバイル端末は仮想環境において第2の仮想オブジェクトを決定する。その後、モバイル端末は、ロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示し、可能とされる表示方法は既に上記ステップ260にて詳細に説明されているため、ここではこれ以上贅言しない。
【0094】
以上を総合して、モバイル端末に内蔵されたカメラによってシェイク操作を受信したことを確認し、カメラがキャプチャした画像によりシェイク操作のシェイク方向及びシェイクの振り幅を決定し、さらにシェイク方向及びシェイクの振り幅から第2の仮想オブジェクトを決定し、最終的にロックオン状態にある仮想オブジェクトを第1の仮想オブジェクトから第2の仮想オブジェクトに切り替えることは、シェイク操作に基づいたロックオンターゲット切替の具体的な実現方法を提供し、ロックオンターゲット切替の高い効率性を保証する。
【0095】
ロックオンターゲット切替効率の向上のため、
図9は本出願の概略的な実施例の1つが提供する仮想オブジェクトの切替方法のフローチャートであり、当該方法を
図1に示すモバイル端末120に応用した例で説明する、当該方法は以下を含む。
【0096】
ステップ910:第2の形態のロックオンコントローラを表示する。
【0097】
モバイル端末の画面上において、第2の形態のロックオンコントローラを表示する。第2の形態のロックオンコントローラは、マスタ制御仮想オブジェクトが候補仮想オブジェクトから仮想オブジェクトをロックオンするために用いられる。
図10(a)をあわせて参照すると、
図10(a)は第2の形態のロックオンコントローラ1001を示し、概略的には、第2の形態のロックオンコントローラ1001はモバイル端末の画面右下隅エリアに位置し、ユーザの素早いロックオン操作の実行を可能にする。
【0098】
ステップ920:少なくとも2つの仮想オブジェクトを表示する。
【0099】
ここで、少なくとも2つの仮想オブジェクトはロックオン状態にない第1の仮想オブジェクトを含む。
図10(a)をあわせて参照すると、この時
図10(a)は5つの仮想オブジェクトを示す。
【0100】
ステップ930:第2の形態のロックオンコントローラに対する第1のトリガ操作に応答して、ロックオン操作の実行を決定する。
【0101】
任意選択的に、第1のトリガ操作は長押しトリガ、単押しトリガ、2回押しトリガ、ドラッグトリガ及び圧力トリガのうち少なくとも1種を含む。概略的には、
図10(a)における第2の形態のロックオンコントローラ1001が第1のトリガ操作を受信したことに応答して、モバイル端末がロックオン操作の実行を決定する。
【0102】
ステップ940:第1の仮想オブジェクトがロックオン条件を満たす場合、ロックオン状態にある第1の仮想オブジェクトを表示する。
【0103】
1つの実施例において、第1の仮想オブジェクトがロックオン条件を満たす場合、ロックオン状態にある第1の仮想オブジェクトを表示し、以下の方法のうち少なくとも1種を含む。
【0104】
・仮想環境において、少なくとも2つの仮想オブジェクトの中からマスタ制御仮想オブジェクトとの間の距離が最小となる仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示する。
【0105】
任意選択的に、モバイル端末は各仮想オブジェクトとマスタ制御仮想オブジェクトとの間の距離を取得し、距離が最小となる仮想オブジェクトを第1の仮想オブジェクトとして決定し、第1の仮想オブジェクトに対するロックオン操作を実行し、対応してロックオン状態にある第1の仮想オブジェクトを表示する。
【0106】
・仮想環境において、少なくとも2つの仮想オブジェクトの中からマスタ制御仮想オブジェクトとの距離が閾値より小さく、且つマスタ制御仮想オブジェクトの向きにある仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示する。
【0107】
任意選択的に、モバイル端末は各仮想オブジェクトとマスタ制御仮想オブジェクトとの間の距離を取得し、さらに各距離と距離閾値との関係を比較し、その中から距離閾値よりも距離の小さい仮想オブジェクトを選別し、次に、その中からマスタ制御仮想オブジェクトの向きにある仮想オブジェクトを選別して第1の仮想オブジェクトとし、それに対してロックオン操作を実行し、ロックオン状態にある第1の仮想オブジェクトを表示する。
【0108】
・仮想環境において、少なくとも2つの仮想オブジェクトの中からマスタ制御仮想オブジェクトとの間の距離が距離閾値より小さく、且つ絶対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示し、ライフ値は仮想環境における仮想オブジェクトの摩耗度の測定に用いられ、絶対ライフ値は仮想オブジェクトの残りのライフ値である。
【0109】
任意選択的に、モバイル端末は各仮想オブジェクトとマスタ制御仮想オブジェクトとの間の距離を取得し、且つ各距離と距離閾値との関係を比較し、まず、距離が距離閾値よりも小さい仮想オブジェクトを選別し、次に、各仮想オブジェクトの絶対ライフ値を取得し、絶対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、これにより、第1の仮想オブジェクトに対してロックオン操作を実行する。
【0110】
・仮想環境において、少なくとも2つの仮想オブジェクトの中からマスタ制御仮想オブジェクトとの間の距離が距離閾値より小さく、且つ相対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示し、相対ライフ値は仮想オブジェクトの残りのライフ値とフルライフ値との比である。
【0111】
任意選択的に、モバイル端末は各仮想オブジェクトとマスタ制御仮想オブジェクトとの間の距離を取得し、さらに各距離と距離閾値との関係を比較し、その中から先ず距離閾値よりも距離の小さい仮想オブジェクトを選別し、次に、当該各仮想オブジェクトの相対ライフ値を選別し、相対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、これにより、第1の仮想オブジェクトに対してロックオン操作を実行する。
【0112】
相対ライフ値は絶対ライフ値とフルライフ値との比とすることができる。絶対ライフ値は仮想オブジェクトの残りのライフ値である。
【0113】
図10をあわせて参照すると、第1の仮想オブジェクトがロックオン条件を満たす場合、モバイル端末の表示画面は
図10(a)から
図10(b)に切り替わり、第1の仮想オブジェクト31がロックオン状態にあり、対応して第1の仮想オブジェクト301上にロックオンインジケータ301が表示される。
【0114】
ステップ950:第1の形態のロックオンコントローラを表示する。
【0115】
モバイル端末が第2の形態のロックオンコントローラ1001に対する第1のトリガ操作を受信した際、少なくとも2つの仮想オブジェクトの中から第1の仮想オブジェクト31をロックオンし、モバイル端末の表示画面は
図10(a)から
図10(b)に切り替わり、
図10(b)をあわせて参照すると、第1の形態のロックオンコントローラ401はユーザにシェイク操作によってロックオン状態にある仮想オブジェクトを切り替えることができることを提示する。
図10(b)はさらに第1の仮想オブジェクト31、第2の仮想オブジェクト32及びロックオンインジケータ301を示す。
【0116】
ステップ960:第3の形態のロックオンコントローラを表示する。
【0117】
予め設定された期間内に第1の形態のロックオンコントローラの表示が完了した後、モバイル端末の画面上に第3の形態のロックオンコントローラを表示する。第3の形態のロックオンコントローラは第1の仮想オブジェクトのロックオンを取り消すために用いる。
【0118】
概略的には、
図10(c)は第3の形態のロックオンコントローラ302を示す。
【0119】
モバイル端末が第3の形態のロックオンコントローラ302に対する第2のトリガ操作を受信した場合、モバイル端末はロックオンの取消操作を実行し、モバイル端末は仮想オブジェクトの切替方法の実行を中止する。モバイル端末が第3の形態のロックオンコントローラ302によって第2のトリガ操作を受信していない場合、下記ステップ970を実行する。
【0120】
任意選択的に、第2のトリガ操作は長押しトリガ、単押しトリガ、2回押しトリガ、ドラッグトリガ及び圧力トリガのうち少なくとも1種を含む。
【0121】
ステップ970:ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。
【0122】
1つの実施例において、モバイル端末はロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。任意選択的に、第2の仮想オブジェクトは上記ステップ920の少なくとも2つの仮想オブジェクトのうちの1つに属する。
【0123】
概略的には、
図10(c)はロックオン状態にある第1の仮想オブジェクト31及びロックオン状態にない第2の仮想オブジェクト32を示し、この時第2の仮想オブジェクトは上記ステップ920の少なくとも2つの仮想オブジェクトのうちの1つに属する。
【0124】
ステップ980:シェイク操作を受信する。
【0125】
ここで、シェイク操作とはモバイル端末の本体を振る操作を指す。
【0126】
任意選択的に、モバイル端末は内蔵されたモーションセンサによってシェイク操作を受信し、モーションセンサは加速度センサ、ジャイロセンサ、加速度センサとジャイロセンサを融合した6軸センサセンサ(または9軸センサ、または12軸センサ)を含む。
【0127】
任意選択的に、モバイル端末はカメラによってキャプチャされた画像でシェイク操作を受信したことを確認する。概略的には、キャプチャした連続する2フレームの画像間の類似度でシェイク操作を受信したことを確認する。
【0128】
任意選択的に、モバイル端末はアンテナによって受信された信号からシェイク操作を受信したことを確認する。概略的には、受信した連続2回の信号のエネルギー変化値で、モバイル端末はシェイク操作を受信したことを確認する。
【0129】
任意選択的に、モバイル端末はその他のセンサでシェイク操作を受信することができる。例えば、光学センサでは、シェイク操作がもたらす光度の変化状況により、シェイク操作を受信したことを確認できる。また温度感知器、磁場感知器等でシェイク操作を受信することもできる。
【0130】
ステップ990:シェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える。
【0131】
1つの実施例において、モバイル端末はモーションセンサによって取得されたシェイク操作のシェイク方向及びシェイク中の最大加速度から、シェイク操作とマッチする第2の仮想オブジェクトを決定する。その後、モバイル端末はロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0132】
1つの実施例において、モバイル端末はアンテナによって受信された信号の波形における変異発生からシェイク操作の受信を確認する。変異後の波形と変異前の波形の変化状況から、シェイク方向を決定する。波形変異前後の信号のエネルギー変化値から、シェイク操作のシェイクの振り幅を確認する。モバイル端末はシェイク方向及びシェイクの振り幅から第2の仮想オブジェクトを決定する。その後、モバイル端末はロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0133】
1つの実施例において、モバイル端末はカメラがシェイク操作の開始時刻にキャプチャした画像と、シェイク操作の終了時刻にキャプチャした画像から、シェイク操作のシェイク方向及びシェイクの振り幅を決定し、さらにシェイク方向及びシェイクの振り幅から第2の仮想オブジェクトを決定する。その後、モバイル端末はロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0134】
概略的には、
図10(d)はロックオン状態にある第2の仮想オブジェクト32を示し、ロックオン状態が第1の仮想オブジェクト31から第2の仮想オブジェクト32に切り替わり、第1の仮想オブジェクト31にはロックオンインジケータが表示されていない。なお、
図10(d)はさらにシェイク方向の提示図形501を示す。
【0135】
なお、ステップ970からステップ990を実行する過程で、またはステップ990の実行後、第3の形態のロックオンコントローラが第2のトリガ操作を受信したことに応答し、モバイル端末はロックオンの取消操作を実行する可能性がある。ロックオンの取消操作が実行されると、モバイル端末はロックオンターゲットの切替を停止する。
【0136】
以上を総合して、モバイル端末の画面上に第1の形態のロックオンコントローラ(シェイク操作の提示情報)、第2の形態のロックオンコントローラ(ロックオン操作の実行が可能)と第3の形態のロックオンコントローラ(ロックオンの取消操作の実行が可能)を設定し、シェイク方向の提示情報を設定することで、仮想オブジェクトの切替方法の具体的な実現方法を達成し、当該切替方法をユーザの操作習慣に一層近づけることができる。
【0137】
ロックオンターゲット切替効率の向上のため、
図11は本出願の概略的な実施例の1つが提供する仮想オブジェクトの切替方法のフローチャートを示し、当該方法をスマートフォンに応用した例で説明し、当該方法は以下を含む。
【0138】
ステップ1101:開始する。
【0139】
携帯電話機がロックオンターゲットの切替フローの実行を開始する。
【0140】
ステップ1102:ユーザがメイン画面でターゲットロックオンボタンをタップしたか判断する。
【0141】
携帯電話機はユーザがメイン画面でターゲットロックオンボタンをタップしたか判断する。ターゲットロックオンボタンは自主的にメイン画面上におけるターゲットキャラクタをロックオンするために用いられるボタンである。携帯電話機がアプリケーションプログラムを実行する際、携帯電話機のディスプレイの右下隅エリアにターゲットロックオンボタンが設定される。通常時では、プレイヤーキャラクタから一定距離の範囲内にロックオン可能なターゲットがない場合、ユーザのターゲットロックオンボタンに対するトリガ操作は作用しない。プレイヤーキャラクタから一定距離の範囲内にロックオン可能なターゲットがある場合、ユーザのターゲットロックオンボタンに対するトリガ操作はロックオンを発動する。
【0142】
ユーザがメイン画面でターゲットロックオンボタンをタップした場合、ステップ1104を実行する。ユーザがメイン画面でターゲットロックオンボタンをタップしない場合、ステップ1103を実行する。
【0143】
ステップ1103:ターゲットロックオンの切替を実行しない。
【0144】
携帯電話機がターゲットロックオンボタンのトリガ操作を受信しない場合、携帯電話機はターゲットロックオンの切替を実行しない。任意選択的に、トリガ操作は長押しトリガ、単押しトリガ、2回押しトリガ、ドラッグトリガ及び圧力トリガ等を含む。
【0145】
ステップ1104:視野範囲内にロックオン可能なターゲットがあるか判断する。
【0146】
携帯電話機がユーザによるターゲットロックオンボタンに対するトリガ操作を受信した場合、携帯電話機はプレイヤーキャラクタの視野範囲内にロックオン可能なターゲットがあるか判断する。ロックオン可能なターゲットが存在する場合、ステップ1106を実行する。ロックオン可能なターゲットが存在しない場合、ステップ1105を実行する。
【0147】
ステップ1105:ターゲットロックオンを実行しない。
【0148】
携帯電話機がプレイヤーキャラクタの視野範囲内にロックオン可能なターゲットがないと決定した場合、携帯電話機はターゲットロックオンを実行せず、即ち携帯電話機はプレイヤーキャラクタの視野範囲内において仮想オブジェクトをロックオンしない。
【0149】
ステップ1106:現在のロックオン状態に合致するターゲット数が1よりも大きい。
【0150】
携帯電話機はプレイヤーキャラクタの視野範囲内におけるロックオン状態に合致するターゲット数が1よりも多いか判断する。ロックオン状態に合致するターゲット数が1よりも多い場合、携帯電話機は、シェイク操作に応じてロックオンターゲットを切り替えるスレッドを起動する、即ち、その後、携帯電話機はステップ1108を実行する。ロックオン状態に合致するターゲット数が1に等しい場合、携帯電話機は、現在はロックオンターゲットを切り替えられないと判断する、即ち携帯電話機はシェイク操作に応じてロックオンターゲットを切り替えるスレッドを起動しない、即ち、その後、携帯電話機はステップ1107を実行する。
【0151】
ステップ1107:加速度センサを起動しない。
【0152】
携帯電話機は加速度センサを起動しない。
【0153】
ステップ1108:加速度センサを起動する。
【0154】
ロックオン状態に合致するターゲット数が1よりも多い現状に基づき、携帯電話機は加速度センサを起動する。加速度センサはその後のシェイク操作のシェイク方向及びシェイク加速度を決定することに用いることができる。
【0155】
ステップ1109:携帯電話機にシェイク操作が発生しているか。
【0156】
携帯電話機はシェイク操作を受信したか判断し、受信した場合、さらにシェイク操作のシェイク方向を判断する。受信していない場合、ステップ1110を実行する。
【0157】
ステップ1110:ターゲットロックオンを実行しない。
【0158】
携帯電話機はシェイク操作を受信していないことを確認した場合、ターゲットロックオンを実行しない。
【0159】
ステップ1111:シェイク後の位置がシェイク前の位置と比べて上にある。
【0160】
携帯電話機がシェイク操作の発生を確認した後、携帯電話機はシェイク後の位置がシェイク前の位置と比べて上(シェイク方向が上)にあることを確認する。
【0161】
ステップ1112:シェイク後の位置がシェイク前の位置と比べて左にある。
【0162】
携帯電話機がシェイク操作の発生を確認した後、携帯電話機はシェイク後の位置がシェイク前の位置と比べて左(シェイク方向が左)にあることを確認する。
【0163】
ステップ1113:シェイク後の位置がシェイク前の位置と比べて右にある。
【0164】
携帯電話機がシェイク操作の発生を確認した後、携帯電話機はシェイク後の位置がシェイク前の位置と比べて右(シェイク方向が右)にあることを確認する。
【0165】
ステップ1114:シェイク後の位置がシェイク前の位置と比べて下にある。
【0166】
携帯電話機がシェイク操作の発生を確認した後、携帯電話機はシェイク後の位置がシェイク前の位置と比べて下(シェイク方向が下)にあることを確認する。
【0167】
ステップ1115:携帯電話機のシェイク加速度値を取得する。
【0168】
携帯電話機はシェイク加速度値を取得する。任意選択的に、携帯電話機は加速度センサによってシェイク中のシェイク加速度の最大値を取得する。
【0169】
ステップ1116:シェイク加速度が含まれる加速度の動的区間を決定する。
【0170】
携帯電話機はシェイク加速度が含まれる加速度の動的区間を決定し、加速度の動的区間により、切り替えた後のロックオンターゲットを決定する。任意選択的に、携帯電話機はシェイク中のシェイク加速度の最大値により、前記シェイク加速度の最大値とマッチングする加速度の動的区間を決定する。任意選択的に、携帯電話機は、予め一定数量の加速度の動的区間を設けてもよく、または、携帯電話機は、仮想環境におけるプレイヤーキャラクタのシェイク方向に存在する仮想オブジェクトの数により、同数量の加速度の動的区間を設定することができる。
【0171】
ステップ1117:ロックオンターゲットを奥側に切り替える。
【0172】
シェイク後の位置がシェイク前の位置と比べて上にある場合、携帯電話機はロックオンターゲットが奥側に切り替わるよう制御する。
【0173】
ステップ1118:ロックオンターゲットを左に切り替える。
【0174】
シェイク後の位置がシェイク前の位置と比べて左にある場合、携帯電話機はロックオンターゲットが左に切り替わるよう制御する。
【0175】
ステップ1119:ロックオンターゲットを右に切り替える。
【0176】
シェイク後の位置がシェイク前の位置と比べて右にある場合、携帯電話機はロックオンターゲットが右に切り替わるよう制御する。
【0177】
ステップ1120:ロックオンターゲットを手前に切り替える。
【0178】
シェイク後の位置がシェイク前の位置と比べて下にある場合、携帯電話機はロックオンターゲットが手前に切り替わるよう制御する。
【0179】
ステップ1121:ユーザがロックオン取消ボタンをタップしたか。
【0180】
携帯電話機はユーザがロックオン取消ボタンをタップしたか判断する。ユーザがロックオン取消ボタンをタップした場合、携帯電話機は仮想オブジェクトの切替を停止し、アプリケーションプログラムのロックオンロジックをオフにし、ロックオンプロセスを終了する。
【0181】
ユーザがロックオン取消ボタンをタップした場合、ステップ1122を実行する。
【0182】
ステップ1122:加速度センサをオフにする。
【0183】
携帯電話機はロックオンプロセスを終了し、加速度センサをオフにする。
【0184】
図12は、本出願の例示的な実施例が提供する仮想オブジェクトの切替装置の構成ブロック図であり、当該装置は、
ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示するために用いられる表示モジュール1201であって、ロックオン状態はロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示すものと、
シェイク操作を受信するために用いられる受信モジュール1202であって、シェイク操作はモバイル端末の本体を振る操作であるものと、
さらにシェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトへ切り替えることに用いられる切替モジュール1203と、を含む。
【0185】
1つの任意選択的な実施例において、表示モジュール1201は、さらに第2の仮想オブジェクトにロックオンインジケータを表示する、及び第1の仮想オブジェクトにロックオンインジケータを表示することを取り消すことに用いられる。
【0186】
1つの任意選択的な実施例において、表示モジュール1201は、さらに第2の仮想オブジェクトにロックオン視覚効果を表示する、及び第1の仮想オブジェクトにロックオン視覚効果を表示することを取り消すことに用いられる。
【0187】
1つの任意選択的な実施例において、表示モジュール1201は、さらに提示情報を表示することに用いられ、前記提示情報はシェイク操作のシェイク方向を示すために用いられ、提示情報の表示方式は図形、矢印、及びテキストのうちの少なくとも一種を含む。
【0188】
1つの任意選択的な実施例において、受信モジュール1202は、さらにモーションセンサによってシェイク操作のシェイク方向及びシェイク加速度を取得することに用いられ、シェイク加速度はシェイク操作中の最大加速度である。
【0189】
1つの任意選択的な実施例において、切替モジュール1203は、さらにシェイク方向及びシェイク加速度に基づき、第2の仮想オブジェクトを決定する、及びロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替えることに用いられる。
【0190】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、
仮想環境において第1の仮想オブジェクトを基準位置とする場合、シェイク方向にある候補仮想オブジェクトの第1のオブジェクト数を決定することと、
第1のオブジェクト数が1に等しい場合、シェイク方向上の候補仮想オブジェクトを第2の仮想オブジェクトとして決定することと、
第1のオブジェクト数が1よりも大きい場合、シェイク加速度に基づき、シェイク方向にある候補仮想オブジェクトの中から第2の仮想オブジェクトを決定することに用いられる。
【0191】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、
第1のオブジェクト数が1よりも大きい場合、シェイク方向にあるn個の加速度区間を設定し、異なる加速度区間は異なる候補仮想オブジェクトの所在位置に対応することと、
シェイク加速度が含まれる第iの加速度区間に基づき、第iの加速度区間上の候補仮想オブジェクトを第2の仮想オブジェクトとして決定することに用いられる。
【0192】
ここで、iは正の整数であり、候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、n個の加速度区間は、加速度の数値が小さいものから大きいものの順に並べられる。
【0193】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、
第1のオブジェクト数が1よりも大きい場合、予め設定されたk個の加速度区間を取得し、kは第1のオブジェクト数より大きいことと、
シェイク加速度が第jの加速度区間に含まれ、且つjが第1のオブジェクト数より大きくない場合、候補仮想オブジェクトの第jの候補仮想オブジェクトを第2の仮想オブジェクトとして決定することと、
シェイク加速度が第jの加速度区間に含まれ、且つjが第1のオブジェクト数よりも大きい場合、候補仮想オブジェクトの第nの候補仮想オブジェクトを第2の仮想オブジェクトとし、nは第1のオブジェクト数に等しいことに用いられる。
【0194】
ここで、k、jは正の整数であり、候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、k個の加速度区間は、加速度数値が小さいものから大きいものの順に並べられる。
【0195】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、
モーションセンサによってモバイル端末が位置する第1位置を取得し、第1位置はモバイル端末がシェイク操作の開始時刻に所在する位置であることと、
モーションセンサによってモバイル端末が位置する第2位置を取得し、第2位置はモバイル端末がシェイク操作の終了時刻に所在する位置であることと、
第1位置及び第2位置に基づき、シェイク操作のシェイク方向を決定することに用いられる。
【0196】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、
モーションセンサによって取得された加速度が第1閾値よりも大きい時刻を、シェイク操作の開始時刻として決定することと、
モーションセンサによって取得された加速度が第2閾値よりも小さい期間が期間閾値に達した時刻を、シェイク操作の終了時刻として決定することと、
開始時刻と終了時刻の間の加速度の最大値を、シェイク加速度として決定することに用いられる。
【0197】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、カメラによってキャプチャされた画像でシェイク操作のシェイク方向及びシェイクの振り幅を決定するために用いられる。
【0198】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、シェイク方向及びシェイクの振り幅に基づき、第2の仮想オブジェクトを決定し、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替えるために用いられる。
【0199】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、
仮想環境において前記第1の仮想オブジェクトを基準位置とする場合、シェイク方向における候補仮想オブジェクトの第2のオブジェクト数を決定することと、
第2のオブジェクト数が1に等しい場合、シェイク方向にある候補仮想オブジェクトを第2の仮想オブジェクトとして決定することと、
第2のオブジェクト数が1よりも大きい場合、シェイクの振り幅に基づき、シェイク方向にある候補仮想オブジェクトから第2の仮想オブジェクトを決定することに用いられる。
【0200】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、
カメラによってキャプチャされた第1の画像を取得し、第1の画像はカメラによってシェイク操作の開始時刻にキャプチャして得られることと、
カメラによってキャプチャされた第2の画像を取得し、第2の画像はカメラによってシェイク操作の終了時刻にキャプチャして得られることと、
第1の画像及び第2の画像に基づき特徴点マッチングを行い、シェイク操作のシェイク方向を決定することに用いられる。
【0201】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、
カメラによって取得された第1の連続する2フレームの画像間の類似度が第3の閾値よりも小さい場合、第1の連続する2フレームの画像のうち、前のフレームを第1の画像として決定することと、
カメラによって取得された第2の連続する2フレームの画像間の類似度が第4の閾値よりも大きい場合、第2の連続する2フレームの画像のうち、後のフレームを第2の画像として決定することと、
第1の画像と第2の画像との類似度に基づき、シェイク操作のシェイクの振り幅を決定することに用いられる。
【0202】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第1の形態のロックオンコントローラを表示するために用いられ、第1の形態のロックオンコントローラは、シェイク操作によりロックオン状態にある仮想オブジェクトを切り替えることを提示するために用いられる。
【0203】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、少なくとも2つの仮想オブジェクトを表示するために用いられ、少なくとも2つの仮想オブジェクトはロックオン状態にない第1の仮想オブジェクトを含む。
【0204】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第1の仮想オブジェクトがロックオン条件を満たす場合、ロックオン状態にある第1の仮想オブジェクトを表示するために用いられる。
【0205】
1つの任意選択的な実施例において、表示モジュール1201、さらに、
少なくとも2つの仮想オブジェクトからマスタ制御仮想オブジェクトとの間の距離が最小となる仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示することと、
少なくとも2つの仮想オブジェクトからマスタ制御仮想オブジェクトとの距離が距離閾値よりも小さく、且つマスタ制御仮想オブジェクトの向きにある仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示することと、
少なくとも2つの仮想オブジェクトからマスタ制御仮想オブジェクトとの距離が距離閾値よりも小さく、且つ絶対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示し、絶対ライフ値とは仮想オブジェクトの残りのライフ値であり、前記ライフ値は仮想オブジェクトの前記仮想環境における摩耗度の測定に用いられることと、
少なくとも2つの仮想オブジェクトからマスタ制御仮想オブジェクトとの距離が距離閾値よりも小さく、且つ相対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示し、相対ライフ値は仮想オブジェクトの残りのライフ値とフルライフ値との比であることに用いられる。
【0206】
1つの任意選択的な実施例において、表示モジュール1201は、さらに第2の形態のロックオンコントローラを表示するために用いられる。
【0207】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第2の形態のロックオンコントローラに対する第1のトリガ操作に応答して、ロックオン操作の実行を決定するために用いられる。
【0208】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第3の形態のロックオンコントローラを表示するために用いられる。
【0209】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第3の形態のロックオンコントローラに対する第2のトリガ操作に応答して、ロックオンの取消操作の実行を決定するために用いられる。
【0210】
以上を総合して、上記装置は、シェイク操作によりロックオン状態にある仮想オブジェクトの切替を実現することによって、複数回のロックオンコントローラのタッチによる切替を回避することができ、ユーザの素早いロックオンターゲットの切替を可能にする。例えば、ユーザの制御するマスタ制御仮想キャラクタが第1の敵キャラクタと激しい戦闘をしている最中に、ユーザが第2の敵キャラクタに致命的な弱点が短期間現れたことを見つけた際、マスタ制御仮想キャラクタがその敵キャラクタへ向かって攻撃を行えば第2の敵キャラクタを倒すことができるため、ユーザはシェイク操作で元々ロックオンしていた仮想キャラクタ(第1の敵キャラクタ)を第2の敵キャラクタに切り替えて、切り替えた敵キャラクタに向かって攻撃を行えばよい。したがって、シェイク操作を設定しロックオンターゲットを切り替えることは、ユーザの操作方法を充実させるだけでなく、ユーザのロックオンターゲットの切替効率を向上させ、さらにゲームの攻略性も向上させる。
【0211】
図13は本出願の例示的な1つの実施例が提供するコンピュータデバイス1300の構成ブロック図を示す。当該コンピュータデバイス1300は、例えば、スマートフォン、タブレットPC、MP3プレーヤー(Moving Picture Experts Group Audio Layer III)、MP4(Moving Picture Experts Group Audio Layer IV)プレーヤー、ラップトップコンピュータまたはデスクトップコンピュータなどのポータブルモバイル端末であってもよい。また、コンピュータデバイス1300はユーザデバイス、ポータブル端末、ラップトップ端末、デスクトップ端末などその他の名称で呼ばれる場合もある。
【0212】
一般的に、コンピュータデバイス1300は、プロセッサ1301及びメモリ1302を含む。
【0213】
プロセッサ1301は、1つまたは複数の処理コア、例えば4コアプロセッサ、8コアプロセッサなどを含むことができる。プロセッサ1301は、DSP(Digital Signal Processing、デジタル信号処理)、FPGA(Field-Programmable Gate Array、フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Array、プログラマブルロジックアレイ)のうちの少なくとも一種のハードウェアの形式を採用して実現することができる。プロセッサ1301は、メインプロセッサ及びコプロセッサを含んでもよく、メインプロセッサはウェイクアップ状態下でのデータを処理するためのプロセッサであり、CPU(Central Processing Unit、中央処理装置)とも呼ばれ、コプロセッサは待機状態下でのデータを処理するための低消費電力プロセッサである。いくつかの実施例において、プロセッサ1301には、GPU(Graphics Processing Unit、画像処理装置)が集積されてもよく、GPUはディスプレイに表示する必要がある内容のレンダリング及び描画を担当するために用いられる。いくつかの実施例において、プロセッサ1301は、AI(Artificial Intelligence、人工知能)プロセッサをさらに含むことができ、当該AIプロセッサは、機械学習に関する演算操作を処理するために用いられる。
【0214】
メモリ1302は1つまたは複数のコンピュータ可読記憶媒体を含むことができ、当該コンピュータ可読記憶媒体は非一時的であってもよい。メモリ1302は、高速ランダムアクセスメモリ、及び不揮発性メモリ、例えば1つまたは複数の磁気ディスク記憶装置、フラッシュ記憶装置をさらに含むことができる。いくつかの実施例において、メモリ1302における非一時的なコンピュータ可読記憶媒体は少なくとも1つの命令を記憶するために用いられ、当該少なくとも1つの命令はプロセッサ1301により実行されて本出願の方法の実施例が提供する仮想オブジェクトの切替方法を実現するために用いられる。
【0215】
いくつかの実施例において、任意選択的に、コンピュータデバイス1300は、さらに周辺機器インターフェース1303及び少なくとも1つの周辺機器を含むことができる。プロセッサ1301、メモリ1302及び周辺機器インターフェース1303の間はバスまたは信号線を介して接続することができる。各周辺機器は、バス、信号線または回路基板によって周辺機器インターフェース1303に接続することができる。例示的には、周辺機器は、ディスプレイ1304及びカメラアセンブリ1305を含むことができる。
【0216】
いくつかの実施例において、コンピュータデバイス1300は、1つまたは複数のセンサ1306をさらに含むことができる。当該1つまたは複数のセンサ1306は、加速度センサ、ジャイロセンサ、圧力センサ、光学センサ及び近接センサを含むが、これらに限定されない。
【0217】
当業者であれば理解できるように、
図13に示される構成は、コンピュータデバイス1300を限定するものではなく、図示されたものよりも多いまたは少ないコンポーネントを含んだり、または、いくつかのコンポーネントを組み合わせたり、または、コンポーネントの異なる配置を採用したりすることができる。
【0218】
本出願は、コンピュータ可読記憶媒体をさらに提供し、前記記憶媒体にはプログラムの少なくとも1つのセグメントが記憶されており、前記プログラムの少なくとも1つのセグメントは、上記方法の実施例が提供する仮想オブジェクトの切替方法を実現するよう、プロセッサによりロードされて実行される。
【0219】
本出願はコンピュータプログラム製品を提供し、当該コンピュータプログラム製品はコンピュータ命令を含み、当該コンピュータ命令はコンピュータ可読記憶媒体に記憶されている。コンピュータデバイスのプロセッサは、コンピュータ可読記憶媒体から当該コンピュータ命令を読み取り、プロセッサは、当該コンピュータデバイスが上記実施例で提供される仮想オブジェクトの切替方法を実行するように、コンピュータ命令を実行する。
【手続補正書】
【提出日】2024-03-22
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年12月10日に出願した、出願番号が202111506115.4であり、発明の名称が「仮想オブジェクトの切替方法、装置、設備、媒体及びプログラム製品」である中国特許出願の優先権を主張するものであり、その全内容を参照によりここに援用する。
【0002】
本出願の実施例は、仮想環境技術の分野に関し、特に、仮想オブジェクトの切替方法、装置、設備、媒体及びプログラム製品に関する。
【背景技術】
【0003】
様々なゲームの中で、ユーザはいくつかの敵キャラクタの中から1体の敵キャラクタをロックオンして攻撃し、且つ、戦闘の中でしばしばロックオンする敵キャラクタを切り替える必要がある。
【0004】
関連技術において、ユーザインターフェースにはロックオンコントローラが設定されており、ユーザが初めてロックオンコントローラをタッチした際に、端末は自動的にいくつかの敵キャラクタの中から第1の敵キャラクタをロックオンし、ユーザが再度ロックオンコントローラをタッチすると、端末は予め設定された切替順で、第1の敵キャラクタから第2の敵キャラクタに切り替えてロックオンする。
【0005】
しかし、ロックオンする敵キャラクタを切り替える際に予め設定された切替順のみに基づいて切替えを行うと、ユーザが攻撃したい敵キャラクタが切替順の最後である場合、関連技術によって切り替えを行うために、ロックオンコントローラを複数回タッチする必要があり、キャラクタの切替効率が低い。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本出願は、仮想オブジェクトの切替方法、装置、設備、媒体及びプログラム製品を提供する。この技術的解決手段は以下の通りである。
【課題を解決するための手段】
【0007】
本出願の一態様によれば、仮想オブジェクトの切替方法を提供し、前記方法はモバイル端末によって実行され、前記方法は、
ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示するステップであって、ロックオン状態とは、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示すステップと、
シェイク操作を受信するステップであって、シェイク操作はモバイル端末の本体を振る操作であるステップと、
シェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替えるステップと、を含む。
【0008】
本出願の別の態様によれば、仮想オブジェクトの切替装置を提供し、前記装置は、
ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示するために用いられる表示モジュールであって、ロックオン状態は、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示す表示モジュールと、
シェイク操作を受信するために用いられる受信モジュールであって、シェイク操作は装置を振る操作である受信モジュールと、
さらに、シェイク操作と第2の仮想オブジェクトとがマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトとして切り替えるために用いられる切替モジュールと、を含む。
【0009】
本出願の一態様によれば、プロセッサ及びメモリを含むコンピュータデバイスを提供し、前記メモリにはコンピュータプログラムが記憶されており、前記コンピュータプログラムは、上記の仮想オブジェクトの切替方法を実現するために、前記プロセッサによってロードされて実行される。
【0010】
本出願の別の態様によれば、コンピュータプログラムが記憶されているコンピュータ可読記憶媒体を提供し、前記コンピュータプログラムは、上記の仮想オブジェクトの切替方法を実現するために、プロセッサによってロードされて実行される。
【0011】
本出願の別の態様によれば、コンピュータ命令を含むコンピュータプログラム製品を提供し、当該コンピュータ命令はコンピュータ可読記憶媒体に記憶されている。コンピュータデバイスが上記態様により提供された仮想オブジェクトの切替方法を実行するように、当該コンピュータデバイスのプロセッサは、コンピュータ可読記憶媒体から当該コンピュータ命令を読み取り、プロセッサは当該コンピュータ命令を実行する。
【0012】
本出願の実施例により提供される技術的解決手段がもたらす有益な効果には、少なくとも以下のものが含まれる。
【0013】
シェイク操作でロックオン状態にある仮想オブジェクトの切替を実現することによって、複数回のロックオンコントローラのタッチによる切替を回避することができ、ユーザの素早いロックオンターゲットの切替えを可能にする。例えば、ユーザの制御するマスタ制御仮想キャラクタが第1の敵キャラクタと激しい戦闘をしている最中に、ユーザが第2の敵キャラクタに致命的な弱点が短期間現れたことを見つけた際、マスタ制御仮想キャラクタがその敵キャラクタへ向かって攻撃を行えば第2の敵キャラクタを倒すことができるため、ユーザはシェイク操作で元々ロックオンしていた仮想キャラクタ(第1の敵キャラクタ)を第2の敵キャラクタに迅速に切り替えて、切り替えた敵キャラクタに向かって攻撃を行えばよい。したがって、ロックオンターゲットを切り替えるシェイク操作を設定することは、ユーザの操作方法を充実させるだけでなく、ユーザのロックオンターゲットの切替効率を向上させ、さらにゲームの攻略性も向上させる。
【図面の簡単な説明】
【0014】
【
図1】本出願の例示的な実施例が提供する、コンピュータシステムの構成ブロック図を示す。
【
図2】本出願の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図3】本出願の例示的な実施例が提供する、ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトの概略図を示す。
【
図4】本出願の例示的な実施例が提供する、シェイク操作の提示情報の概略図を示す。
【
図5】本出願の例示的な実施例が提供する、シェイク方向の提示情報の概略図を示す。
【
図6】本出願の別の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図7】本出願の例示的な実施例が提供する、シェイク方向決定の概略図を示す。
【
図8】本出願の別の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図9】本出願の別の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図10】本出願の例示的な実施例が提供する、仮想オブジェクトの切替プロセスの概略図を示す。
【
図11】本出願の別の例示的な実施例が提供する、仮想オブジェクトの切替方法のフローチャートを示す。
【
図12】本出願の例示的な実施例が提供する仮想オブジェクトの切替装置の構成ブロック図を示す。
【
図13】本出願の例示的な実施例が提供する、コンピュータデバイスの構成ブロック図を示す。
【発明を実施するための形態】
【0015】
図1は本出願の例示的な実施例が提供する、コンピュータシステムの構成ブロック図を示す。当該コンピュータシステム100は、モバイル端末120とサーバ140とを含む。
【0016】
モバイル端末120では仮想環境をサポートするアプリケーションプログラムが実行されている。当該アプリケーションプログラムは、3Dマップアプリや、横スクロールシューティングゲーム、横スクロールアドベンチャーゲーム、横スクロールアクションゲーム、横スクロールストラテジーゲーム、仮想現実(Virtual Reality、VR)アプリケーションプログラム、拡張現実(Augmented Reality、AR)プログラムのうちのいずれか一種であってもよい。モバイル端末120はユーザが使用するモバイル端末であり、ユーザはモバイル端末120を使用し3D仮想環境に位置するマスタ制御仮想オブジェクトを操縦することで行動し、当該行動は身体の姿勢の調整や歩行、走行、ジャンプ、騎行、運転、エイム、ピックアップ、投擲アイテムの使用、他の仮想オブジェクトへの攻撃のうち少なくとも一種を含むがこれらに限られない。例示的には、マスタ制御仮想オブジェクトは、フォトリアルなキャラクタオブジェクトまたはアニメ調キャラクタオブジェクト等の仮想キャラクタである。例示的には、ユーザは仮想環境画面上のUIコントローラによってマスタ制御仮想キャラクタを操縦することで行動する。
【0017】
モバイル端末120は無線ネットワークまたは有線ネットワークによってサーバ140に接続される。
【0018】
サーバ140は1台のサーバ、複数台のサーバ、クラウドコンピューティングプラットフォーム及び仮想データセンターのうちの少なくとも一種を含む。例示的には、サーバ140はプロセッサ144とメモリ142とを含み、メモリ142には受信モジュール1421、制御モジュール1422及び送信モジュール1423が含まれ、受信モジュール1421は敵への攻撃等のアプリケーションプログラムによって送信されたリクエストを受信するために用いられ、制御モジュール1422は仮想環境画面のレンダリングを制御するために用いられ、送信モジュール1423は攻撃によるダメージ値のアプリケーションプログラムへの送信等のアプリケーションプログラムへの応答を送信するために用いられる。サーバ140は3D仮想環境をサポートするアプリケーションプログラムへのバックグラウンドサービスを提供するために用いられる。任意選択的に、サーバ140が主演算処理を担当し、モバイル端末120は二次演算処理を担当する。または、サーバ140が二次演算処理を担当し、モバイル端末120が主演算処理を担当する。
【0019】
任意選択的に、上記アプリケーションプログラムは異なるオペレーティングシステムプラットフォーム(AndroidまたはIOS)で実行される。任意選択的に、当該アプリケーションプログラムを実行するモバイル端末120のデバイスタイプは同じであるかまたは異なり、当該デバイスタイプは、スマートフォン、スマートウォッチ、スマートテレビ、車載モバイル端末、ウェアラブルデバイス、タブレットPC、電子書籍リーダ、MP3プレーヤー、MP4プレーヤー、ラップトップ型携帯コンピュータのうちの少なくとも一種を含む。以下の実施例はスマートフォンを含むモバイル端末を例として説明する。
【0020】
当業者であればわかるように、上記モバイル端末の数はより多くすることもより少なくすることもできる。例えば、上記モバイル端末は1台のみであっても、または上記モバイル端末は数十台または数百台またはより多い台数であってもよい。本出願の実施例は、モバイル端末の台数やデバイスタイプを限定しない。
【0021】
ロックオンターゲットの切替効率を向上させるために、
図2は本出願の例示的な実施例が提供する仮想オブジェクトの切替方法のフローチャートを示し、当該方法を
図1に示されたモバイル端末120(またはモバイル端末120上のアプリケーションプログラム)に応用することを例として説明する。当該方法は以下を含む。
【0022】
ステップ220:ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。
【0023】
ロックオン状態:ロックオン状態は、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示す。その後、ロックオンされた仮想オブジェクトは、マスタ制御仮想オブジェクトのロックオンされた仮想オブジェクトへ向けて行う打ち付け、発砲、投擲物の解放、攻撃スキルの解放等マスタ制御仮想オブジェクトが発動する攻撃を受ける場合がある。または、マスタ制御仮想オブジェクトがロックオンされた仮想オブジェクトへ向かって移動し、ロックオンされた仮想オブジェクトの所在位置をマスタ制御仮想オブジェクトの目的地とする場合もある。または、仮想オブジェクトをロックオンした後、モバイル端末のディスプレイ上にロックオンされた仮想オブジェクトの詳細な紹介「砲兵[等級5]攻撃力80防御力50」を表示する等、マスタ制御仮想オブジェクトが、ロックオンされた仮想オブジェクトの詳細情報を取得する場合もある。本出願では、ロックオン状態はロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示すだけであり、本出願は、ロックオンされた仮想オブジェクトに対するマスタ制御仮想オブジェクトの具体的な行動を制限しない。
【0024】
マスタ制御仮想オブジェクト:モバイル端末が制御権限を持つ仮想オブジェクトを指す。マスタ制御仮想オブジェクトはモバイル端末の制御下で、身体の姿勢の調整や歩行、走行、ジャンプ、騎行、運転、エイム、ピックアップ、投擲アイテムの使用、他の仮想オブジェクトへの攻撃のうちの少なくとも一種の行動を実行することができる。マスタ制御仮想オブジェクトは、ユーザがゲーム内において操縦する仮想キャラクタオブジェクトや、ユーザがゲーム内において召喚する仮想ペットオブジェクトや、ユーザがゲーム内において使用する仮想キャリアオブジェクトであってもよい。
【0025】
第1の仮想オブジェクト:仮想環境において行動能力を持つ仮想オブジェクトを指し、任意選択的に、第1の仮想オブジェクトは他ユーザが操縦する仮想オブジェクトであるか、または、第1の仮想オブジェクトはNPC(Non-player Character、ノンプレイヤーキャラクタ)である。第2の仮想オブジェクトも仮想環境において行動能力を持つ仮想オブジェクトを指し、第1の仮想オブジェクト及び第2の仮想オブジェクトは異なる仮想オブジェクトの区別にのみ用いられ、即ち、第1の仮想オブジェクトが他ユーザの操縦する仮想オブジェクト(またはNPC)であり、第2の仮想オブジェクトがNPC(または他ユーザの操縦する仮想オブジェクト)である場合もあり、また、第1の仮想オブジェクトと第2の仮想オブジェクトがいずれも他ユーザの操縦する仮想オブジェクトである場合もあり、または、第1の仮想オブジェクトと第2の仮想オブジェクトがいずれもNPCである場合もある。
【0026】
多数のゲームにおいてはアクティブロックオン及びパッシブロックオンという2種類のロックオンモードが存在する場合があり、アクティブロックオンとは、ユーザがマスタ制御仮想オブジェクトを自主的に制御し何らかの仮想オブジェクトをロックオンすることを指し、パッシブロックオンとは、予め設定されたロックオンルールに基づき何らかの仮想オブジェクトをロックオンすることを指す。例えば、ユーザが周囲にある複数の仮想オブジェクトから1つの仮想オブジェクトを自主的に選択して攻撃する場合、当該行動はアクティブロックオンと呼ばれる。ユーザが操縦するマスタ制御仮想オブジェクトが周囲の仮想オブジェクトのうちのいずれかの仮想オブジェクトによる攻撃を受けた後、受動的に当該仮想オブジェクトを次の攻撃のターゲットとする場合は、パッシブロックオンとなる。ユーザは、対応する操作を行うことでアクティブロックオンとパッシブロックオンの中で切替を行うことができる。
【0027】
アクティブロックオンモードでは、モバイル端末の画面上において、通常、ロックオンインジケータまたはロックオン視覚効果等のユーザに現在ロックオンしている仮想オブジェクトを提示するため用いられるものが設定されている。パッシブロックオンモードでは、モバイル端末の画面には、通常、提示情報は特段設定されず、マスタ制御仮想オブジェクトが、ロックオンされた仮想オブジェクトに対して具体的な行動を行うことにより、ロックオンされた仮想オブジェクトを画面上で直接観察し判断することができる。
【0028】
本出願では、主に、ユーザがアクティブロックオンモードにおいてロックオンした仮想オブジェクトを切り替えることについて説明する。
【0029】
1つの実施例において、ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトをモバイル端末上に表示する。概略的には、モバイル端末上においてテキストやロックオンインジケータ、ロックオン視覚効果のうち少なくとも一種の方法で第1の仮想オブジェクトがロックオン状態にあることを示す。例えば、第1の仮想オブジェクトの輪郭の外周にスクエアフレーム(ロックオンインジケータ)を追加することで第1の仮想オブジェクトのロックオンに成功したことを示す、第1の仮想オブジェクトのボディ上に照準器(ロックオンインジケータ)を表示することで第1の仮想オブジェクトのロックオンに成功したことを示す、第1の仮想オブジェクトに点滅効果(ロックオン視覚効果)を表示するように設定する、第1の仮想オブジェクトに拡大効果(ロックオン視覚効果)を表示するように設定する、第1の仮想オブジェクト上において第2の仮想オブジェクトとは異なる色(ロックオン視覚効果)を表示する、等が挙げられる。
【0030】
概略的には、
図3は第1の仮想オブジェクトがロックオンされ第2の仮想オブジェクトがロックオンされていない概略図を示し、第1の仮想オブジェクト31上にロックオンインジケータ301を有し、第2の仮想オブジェクト32上にはロックオンインジケータ301を有しない。ロックオンインジケータ301は、第1の仮想オブジェクトがロックオン状態にあることを示し、第2の仮想オブジェクト32はロックオン状態にないことに対応する。
【0031】
ステップ240:シェイク操作を受信する。
【0032】
ここで、シェイク操作はモバイル端末的の本体をシェイクするための操作である。ユーザがモバイル端末の本体を振ったことに応答して、モバイル端末はシェイク操作を受信する。
【0033】
任意選択的に、モバイル端末は内蔵のモーションセンサから出力される信号によりシェイク操作の受信を決定する。概略的には、モバイル端末はモーションセンサによって収集された信号の変化値によりシェイク操作を受信したことを決定する。モーションセンサは、加速度センサ、ジャイロセンサ、加速度センサとジャイロセンサを融合した6軸センサ(または9軸センサまたは12軸センサ)のうちの少なくとも一種であり得る。
【0034】
任意選択的に、モバイル端末はアンテナで受信した信号によりシェイク操作を受信したことを確認する。概略的には、受信した連続2回の信号の振幅の変化量及び/または周波数の変化量によりシェイク操作を受信したことを確認する、または、受信した連続2回の信号のエネルギーの変化量によりシェイク操作を受信したことを確認する。ユーザがモバイル端末を振ったことに応答して、アンテナで受信した連続2回の信号の伝搬中のインピーダンスを不一致にさせることで、連続2回の信号のエネルギーが不一致になるようにする。任意選択的に、アンテナで受信した信号は、wifi信号やモバイルネットワーク信号、ブルートゥース信号等の場合がある。
【0035】
任意選択的に、モバイル端末はカメラがキャプチャした画像によりシェイク操作を受信したことを確認する。概略的には、キャプチャした連続する2フレームの画像の類似度によりシェイク操作を受信したことを確認する。
【0036】
1つの実施例において、シェイク操作を受信する前に、モバイル端末のディスプレイ上には第1の形態のロックオンコントローラをさらに表示し、第1の形態のロックオンコントローラは、シェイク操作によるロックオン状態にある仮想オブジェクトの切替を提示するために用いられる。概略的には、
図4は第1の形態のロックオンコントローラ401を示し、第1の形態のロックオンコントローラ401上には「端末を振る」という提示パターンが表示される。1つの実施例において、モバイル端末の画面上に、
図4に示すように、予め期間を設定した第1の形態のロックオンコントローラを表示したことに応答して、
図3に示すように第3の形態のロックオンコントローラをさらに表示し、
図3は第3の形態のロックオンコントローラ302を示し、第3の形態のロックオンコントローラ302は「ロックオンの取消」というテキストを表示する。
【0037】
ステップ260:シェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える。
【0038】
1つの実施例において、モバイル端末はモーションセンサが取得したシェイク操作のシェイク方向及びシェイク中の最大加速度(シェイク加速度)に基づき、シェイク操作とマッチングする第2の仮想オブジェクトを決定する。その後、モバイル端末は、ロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0039】
ここで、モバイル端末がロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示するプロセスは、モバイル端末がシェイク操作に基づいて、マッチングする第2の仮想オブジェクトを決定した後、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える(仮想オブジェクトの切替はモバイル端末によって実行される)ことであってもよい。任意選択的に、モバイル端末がシェイク操作に基づいて、マッチングした第2の仮想オブジェクトを決定した後、第2の仮想オブジェクトをサーバへレポートし、サーバによってロックオン状態の切替を実行し、且つ切替結果をモバイル端末へフィードバックし、対応するモバイル端末が切替結果に基づきロックオン状態にある第2の仮想オブジェクト及びロックオン状態にない第1の仮想オブジェクトを表示することであってもよい。
【0040】
1つの実施例において、モバイル端末はアンテナで受信した信号の波形における変異発生からシェイク操作を受信したことを確認する。変異発生後と発生前の波形の変化状況に基づき、シェイク方向を決定する。波形の変異が発生する前後の信号のエネルギー変化値に基づき、シェイク操作の振り幅を確認する。モバイル端末はシェイク方向及びシェイクの振り幅に基づき第2の仮想オブジェクトを決定する。
【0041】
1つの実施例において、モバイル端末はカメラがシェイク操作の開始時刻にキャプチャした画像、及び、シェイク操作の終了時刻にキャプチャした画像に基づき、シェイク操作のシェイク方向と振り幅を決定し、さらにシェイク方向と振り幅から第2の仮想オブジェクトを決定することができる。モバイル端末は、ロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0042】
任意選択的に、モバイル端末がロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する方法は、以下のうちの少なくとも一種を含む。
【0043】
・第2の仮想オブジェクト上にロックオンインジケータを表示する、及び第1の仮想オブジェクト上にロックオンインジケータを表示することを取り消す。
【0044】
・第2の仮想オブジェクト上にロックオン視覚効果を表示する、及び第1の仮想オブジェクト上にロックオン視覚効果を表示することを取り消す。
【0045】
・提示情報を表示し、当該提示情報はシェイク操作のシェイク方向を示すために用いられ、即ちモバイル端末のシェイク操作におけるシェイク方向の提示情報を表示し、提示情報の表示方式は図形、矢印、及びテキストのうちの少なくとも一種を含む。
【0046】
概略的には、
図5はモバイル端末がロックオン状態にある仮想オブジェクトを第1の仮想オブジェクトから第2の仮想オブジェクトに切り替える画面を示す。
図3をあわせて参照すると、ロックオンインジケータ301の所在位置が第1の仮想オブジェクト31から第2の仮想オブジェクト32へ遷移したことがわかる。
図5はさらに二等辺三角形501を示し、二等辺三角形501の2つの等辺は底辺より長く、二等辺三角形501はシェイク操作のシェイク方向を提示するために用いられ、この時のシェイク方向は左である。
【0047】
以上を総合して、シェイク操作によりロックオン状態にある仮想オブジェクトの切替を実現することは、複数回のロックオンコントローラのタッチによる切替を回避することができ、ユーザの素早いロックオンターゲットの切替を可能にする。例えば、ユーザの制御するマスタ制御仮想キャラクタが第1の敵キャラクタと激しい戦闘をしている最中に、ユーザが第2の敵キャラクタに致命的な弱点が短期間現れたことを見つけた際、マスタ制御仮想キャラクタがその敵キャラクタへ向かって攻撃を行えば第2の敵キャラクタを倒すことができるため、ユーザはシェイク操作で元々ロックオンしていた仮想キャラクタ(第1の敵キャラクタ)を第2の敵キャラクタに切り替えて、切り替えた敵キャラクタに向かって攻撃を行えばよい。したがって、シェイク操作によるロックオンターゲットを切り替えるよう設定することは、ユーザの操作方法を充実させるだけでなく、ユーザのロックオンターゲットの切替効率を向上させ、さらにゲームの攻略性も向上させる。
【0048】
ロックオンターゲットの切替効率を向上させるために、
図6は本出願の1つの例示的な実施例が提供する仮想オブジェクトの切替方法のフローチャートを示し、当該方法を
図2に示すモバイル端末120において応用することで例を挙げて説明する。当該方法は以下のステップを含む。
【0049】
ステップ620:ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。
【0050】
ここで、ロックオン状態は、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示し、マスタ制御仮想オブジェクトとは、モバイル端末が制御権限を有する仮想オブジェクトである。1つの実施例において、モバイル端末上にはロックオン状態にある第1の仮想オブジェクト及び前記ロックオン状態にない第2の仮想オブジェクトが表示される。任意選択的に、モバイル端末上においてテキスト、ロックオンインジケータ、及びロックオン視覚効果のうちの少なくとも一種の方法で第1の仮想オブジェクトがロックオン状態にあることを示す。
【0051】
ステップ640:モーションセンサによってシェイク操作のシェイク方向及びシェイク加速度を取得する。
【0052】
ここで、シェイク操作はモバイル端末の本体を振る操作である。
【0053】
シェイク操作は1回のシェイク操作であったり、複数回のシェイク操作であったりする場合があり、1回のシェイク操作は1つのシェイク方向に対応し、複数回のシェイク操作中には複数のシェイク方向が存在する可能性があるため、シェイク操作中の異なるシェイク方向が最終結果に影響を及ぼすことを回避するため、モバイル端末の開始位置及び終了位置に基づいて、シェイク操作全プロセスのシェイク方向を決定することができる。1つの実施例に対応して、モバイル端末がモーションセンサによってモバイル端末のシェイク操作開始時刻に位置する第1位置を取得し、その後、モーションセンサによってモバイル端末のシェイク操作終了時刻に位置する第2位置を取得する。第1位置及び第2位置に基づき、モバイル端末に対して行われたシェイク操作のシェイク方向を決定する。
【0054】
概略的には、モバイル端末がジャイロセンサによってシェイク操作の開始時刻に位置する第1位置の座標(x1,y1,z1)を取得し、ジャイロセンサによってシェイク操作の終了時刻に位置する第2位置の座標(x2,y2,z2)を取得し、座標ベクトルの演算からシェイク方向を決定することができる。例えば、第1位置の座標が(2,0,0)、第2位置の座標が(1,0,0)である場合、シェイク方向は左である。
【0055】
任意選択的に、モバイル端末は加速度センサ、または、加速度センサとジャイロセンサを融合した6軸センサ(または9軸センサ、または12軸センサ)に基づきシェイク方向を決定することもできる。
【0056】
概略的には、
図7(a)は1回のみシェイク操作した場合に、モバイル端末が最終位置及び開始位置に基づきシェイク方向を決定することを示し、
図7(b)は複数回シェイクした場合に、モバイル端末が最終位置及び開始位置に基づきシェイク方向を決定することを示す。
【0057】
モバイル端末のシェイク方向を決定するには、モバイル端末に対して行うシェイク操作の開始時刻及び終了時刻を決定する必要があるが、シェイク操作を行うにはモバイル端末の加速度が不可避的に大きくなることから、モーションセンサが収集した加速度データの大小関係から開始時刻及び終了時刻を決定することができる。1つの実施例に対応して、モバイル端末はモーションセンサによって加速度を取得し、加速度が0から増加し且つ第1の閾値よりも大きくなった場合、モバイル端末が振られたことを表し、対応するモバイル端末がモーションセンサによって取得した加速度が第1の閾値より大きくなった時刻をシェイク操作の開始時刻として決定し、その後、モバイル端末はモーションセンサによって加速度を取得し続け、加速度が小さくなり且つ第2の閾値よりも小さい状態が持続しているとモバイル端末が判断した場合、モバイル端末が振られなくなったことを表し、対応するモバイル端末がモーションセンサによって取得した加速度が第2の閾値よりも小さい期間が期間閾値に達した時刻をシェイク操作の終了時刻として決定する。
【0058】
任意選択的に、第1の閾値と第2の閾値は同じであってもよく、例えば、第1の閾値と第2の閾値は0m/s2であってもよい。第1の閾値と第2の閾値は異なっていてもよく、例えば、第1の閾値は0m/s2で、第2の閾値は0.2m/s2であってもよい。シェイク操作中の加速度データは完全に同一ではなく、その後はロックオンされた1つの仮想オブジェクトを決定する必要があるに過ぎないため、デフォルトではシェイク操作中の最大加速度をシェイク加速度として決定する。1つの可能な実施形態に対応して、モバイル端末がシェイク操作の開始時刻及び終了時刻を決定した後、開始時刻と終了時刻との間の加速度の最大値をシェイク操作のシェイク加速度として決定することができる。
【0059】
概略的には、モバイル端末は加速度センサ、または、加速度センサとジャイロセンサを融合した6軸センサ(または9軸センサ、または12軸センサ)によって加速度を取得する。
【0060】
上記に基づき、モバイル端末がシェイク操作のシェイク方向及びシェイク加速度を取得する。
【0061】
ステップ660:シェイク方向及びシェイク加速度に基づき、第2の仮想オブジェクトを決定し、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える。
【0062】
シェイク方向及びシェイク加速度に基づき第2の仮想オブジェクトを決定するプロセスにおいて、往々にして1つの参照物が必要となり、例えば、シェイク方向が左であれば、第2の仮想オブジェクトは参照物の左側にある。本実施例の切替シーンに基づけば、ユーザはロックオン状態にある第1の仮想オブジェクトを他の仮想オブジェクトに切り替えようとしているため、シェイク方向が左方向である場合、切り替えるべき仮想オブジェクトは第1の仮想オブジェクトの左側にあるべきであることを表す。したがって、1つの実施例では、モバイル端末は仮想環境において第1の仮想オブジェクトを基準位置として、第1の仮想オブジェクトのシェイク方向にある候補仮想オブジェクトの第1のオブジェクト数を決定する。当該第1のオブジェクト数はnで表すことができ、nの値は正の整数とすることができる。
【0063】
任意選択的に、第1の仮想オブジェクトのシェイク方向には1つまたは複数の候補仮想オブジェクトが存在する場合があり、即ちnの値は1であっても、3であってもよい。第1のオブジェクト数が1に等しい場合(即ちnの値が1に等しい場合)、当該候補仮想オブジェクトは切り替えるべき第2の仮想オブジェクトであることを表し、モバイル端末はシェイク方向にある候補仮想オブジェクトを第2の仮想オブジェクトとして直接決定することができる。任意選択的に、第1のオブジェクト数が1よりも大きい場合(即ちnの値が1よりも大きい場合)には、シェイク方向のみに基づいて切り替えるべき第2の仮想オブジェクトを決定することができず、さらにシェイク加速度に基づき、複数の候補仮想オブジェクトから第2の仮想オブジェクトを選別する必要がある。対応するモバイル端末が、シェイク中の加速度の最大値(シェイク加速度)に基づき、シェイク方向に存在するn個の候補仮想オブジェクトから第2の仮想オブジェクトを決定する。
【0064】
1つの実施例において、第1のオブジェクト数が1よりも大きい場合(即ちnの値が1よりも大きい場合)、モバイル端末は、シェイク方向にn個の加速度区間を設定することができ、異なる加速度区間は、異なる候補仮想オブジェクトの所在位置に対応し、したがって、n個の候補仮想オブジェクトが存在する場合、n個の加速度区間を対応して設定する。さらにシェイク加速度が含まれる第iの加速度区間に基づき、第iの加速度区間に対応する候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。即ち、シェイク中のシェイク加速度の最大値が第iの加速度区間にある場合、モバイル端末はn個の仮想オブジェクトうちの第iの候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。ここで、n個の候補仮想オブジェクトとn個の加速度区間とは1対1で対応し、n個の候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、n個の加速度区間は、加速度の数値が小さいものから大きいものの順に並べられる。ここで、n、iは正の整数である。
【0065】
概略的には、モーションセンサによって取得したシェイク方向が左であり、第1の仮想オブジェクトの左側に2つの候補仮想オブジェクトが存在し、モバイル端末が左側に対応する2つの加速度区間を順に(0,3)、(3,+∞)として設定し、モーションセンサに基づき取得したシェイク操作のシェイク加速度の最大値が2である場合、第1の仮想オブジェクトの左側の一番目にある仮想オブジェクトを第2の仮想オブジェクトとして決定する。
【0066】
別の実施例において、第1のオブジェクト数が1よりも大きい場合(即ちnの値が1よりも大きい場合)、モバイル端末が予め設定されたk個の加速度区間を取得し、kはnより大きい。その後、シェイク加速度が含まれる第jの加速度区間を決定し、シェイク中のシェイク加速度の最大値が第jの加速度区間にあり、且つjがnより大きくない場合、n個の候補仮想オブジェクトうちの第jの候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。シェイク加速度の最大値が第jの加速度区間にあり(シェイク加速度が第jの加速度区間にあり)、且つjがnよりも大きい場合、n個の候補仮想オブジェクトうちの第nの候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。ここで、n個の候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、k個の加速度区間は、加速度数値が小さいものから大きいものの順に並べられる。ここで、k、jは正の整数である。
【0067】
概略的には、nの値が3である場合、モバイル端末は、(0,3)、(3,6)、(6,9)、(9,12)、(12,15)、(15,18)、(18,21)、(21,+∞)の順に、8つの予め設定された加速度区間を取得する。シェイク中のシェイク加速度の最大値が5(第2の加速度区間に入る)であれば、第1の仮想オブジェクトの左側の二番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。シェイク中のシェイク加速度の最大値が14(第5の加速度区間に入る)であれば、第1の仮想オブジェクトの左側の三番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。
【0068】
説明しておきたい点として、上記k個の加速度区間はアプリケーションプログラムの実行をサポートするサーバの事前設定に基づいて得られる場合もあれば、ユーザのアプリケーションプログラム上の設定に基づいて得られる場合もあり、例えば、ユーザがアプリケーションプログラム上でシェイク操作の感度を調整すると、加速度区間のレンジ及び/または加速度区間の数量が調整される。
【0069】
以上により、仮想環境において第2の仮想オブジェクトを決定する。その後、モバイル端末は、ロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示し、可能とされる表示方法は既に上記ステップ260にて詳細に説明されているため、ここではこれ以上贅言しない。
【0070】
以上を総合して、モーションセンサによってシェイク操作のシェイク方向及びシェイク加速度を受信し、シェイク方向及びシェイク加速度に基づき、第2の仮想オブジェクトを決定し、最終的にロックオン状態にある仮想オブジェクトを第1の仮想オブジェクトから第2の仮想オブジェクトに切り替えることは、シェイク操作に基づいたロックオンターゲット切替の具体的な実現方法を提供し、ロックオンターゲット切替の高い効率性を保証する。
【0071】
ロックオンターゲット切替効率の向上のため、
図8は本出願の概略的な実施例の1つが提供する仮想オブジェクトの切替方法のフローチャートを示し、当該方法を
図2に示すモバイル端末120に応用した例で説明し、当該方法は以下を含む。
【0072】
ステップ820:ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。
【0073】
ここで、ロックオン状態は、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示し、マスタ制御仮想オブジェクトはモバイル端末が制御権限を有する仮想オブジェクトである。1つの実施例において、モバイル端末上にロックオン状態にある第1の仮想オブジェクト及び前記ロックオン状態にない第2の仮想オブジェクトが表示される。任意選択的に、モバイル端末上で、テキスト、ロックオンインジケータ及びロックオン視覚効果のうちの少なくとも一種の方法で、第1の仮想オブジェクトがロックオン状態にあることを表示する。
【0074】
ステップ840:カメラによってキャプチャした画像により、シェイク操作のシェイク方向及びシェイクの振り幅を決定する。
【0075】
1つの実施例において、モバイル端末は、カメラによって、カメラがシェイク操作の開始時刻にキャプチャした第1の画像、及びカメラがシェイク操作の終了時刻にキャプチャした第2の画像を取得する。その後、第1の画像及び第2の画像に基づき、特徴点マッチングを行い、シェイク操作のシェイク方向を決定する。
【0076】
1つの実施例において、モバイル端末はカメラによってキャプチャした画像で特徴点追跡を行い、シェイク操作のシェイク方向を決定する。特徴点追跡はビジュアルオドメトリに基づいた追跡アルゴリズムを採用してもよく、本出願はこれについて限定しない。任意選択的に、特徴点追跡はKLT(Kanade-Lucas)というオプティカルフローを使用した追跡アルゴリズムを採用する。任意選択的に、特徴点追跡はORB(Oriented FAST and Rotated BRIEF)アルゴリズムに基づき抽出したORB特徴量記述子を採用して特徴点追跡を行う。本出願は特徴点の追跡の具体的なアルゴリズムに対して限定しない。
【0077】
1つの実施例において、モバイル端末はカメラによって画像をキャプチャし、且つ連続する2フレームの画像間の類似度を取得し、連続する2フレームの画像間の類似度が大きければ、モバイル端末にシェイク操作が発生していないことを表し、逆に、接続する2フレームの画像間の類似度が小さければ、モバイル端末にシェイク操作が発生していることを表す。対応するモバイル端末がカメラによってキャプチャした第1の連続する2フレームの画像間の類似度が第3の閾値よりも小さい場合、シェイク操作を開始したことを表し、第1の連続する2フレームの画像のうち、前のフレームを第1の画像として決定し、且つ第1の画像を取得した時刻をシェイク操作の開始時刻として決定する。
【0078】
概略的には、モバイル端末はカメラによって画像を取得した後、連続する2フレームの画像間の類似度を演算する。連続する2フレームの画像間の類似度は、特徴点に基づいて演算することができ、連続する2フレームの画像間で重複して出現する特徴点の数量が第1の数量閾値よりも小さい場合、連続する2フレームの画像間の類似度が第3の閾値よりも小さいと見なされ、このとき、連続する2フレームの画像のうちの前のフレームを第1の画像として決定する。任意選択的に、類似度決定モデルを設定し、連続する2フレームの画像を類似度決定モデルに入力することで、連続する2フレームの画像間の類似度を出力し、且つ類似度と第3の閾値との関係を比較し、類似度が第3の閾値よりも小さい場合、連続する2フレームの画像のうちの前のフレームを第1の画像として決定し、且つ第1の画像のキャプチャ時刻をシェイク操作の開始時刻として決定することができる。
【0079】
開始時刻の誤決定に繋がる類似度の演算誤差を回避するために、任意選択的に、モバイル端末がカメラによって画像をキャプチャした後、連続する2フレームの画像間の類似度が第3の閾値よりも小さいと決定した場合、カウンタに1加算し、第1の予め設定された期間内に、モバイル端末が別の連続する2フレームの画像間の類似度も第3の閾値より小さいと決定した場合、カウンタに再び1加算し、第2の予め設定された期間内に、カウンタに積算された値が予め設定された値に達した場合には、シェイク操作が検出されたと決定し、最初に第3の閾値に達した連続する2フレームの画像のうちの前のフレームを第1の画像として決定する。
【0080】
1つの実施例において、モバイル端末が、連続する2フレームの画像間の類似度が小さいと決定した場合、モバイル端末が振られなくなったことを表し、対応するモバイル端末がカメラによって取得した第2の連続する2フレームの画像間の類似度が第4の閾値よりも大きい場合、第2の連続する2フレームの画像のうちの後のフルームを第2の画像として決定し、第2の画像の取得時刻をシェイク操作の終了時刻として決定する。第2の画像の取得時刻は第2の画像のキャプチャ時刻でもある。
【0081】
概略的には、モバイル端末はカメラによって画像を取得した後、連続する2フレームの画像間の類似度を演算する。任意選択的に、連続する2フレームの画像間で重複して出現する特徴点の数量が第2の数量閾値よりも大きい場合、連続する2フレームの画像間の類似度が第4の閾値よりも大きいと見なされ、このとき、連続する2フレームの画像のうちの後のフレームを第2の画像として決定する。任意選択的に、連続する2フレームの画像を類似度決定モデルに入力することで、連続する2フレームの画像間の類似度を出力し、且つ類似度と第4の閾値との関係を比較し、類似度が第4の閾値よりも大きい場合、連続する2フレームの画像のうちの後のフレームを第2の画像として決定し、且つ第2の画像のキャプチャ時刻をシェイク操作の終了時刻として決定することができる。
【0082】
任意選択的に、モバイル端末はカメラによって画像を取得した後、連続する2フレームの画像間の類似度が第4の閾値よりも大きいと決定した場合、カウンタに1加算し、第3の予め設定された期間内に、モバイル端末が別の連続する2フレームの画像間の類似度も第4の閾値よりも大きいと決定した場合、カウンタに再び1加算し、第4の予め設定された期間内に、カウンタによって積算された値が第2の予め設定された値に達した場合、シェイクの停止が検出されたと決定し、カウンタを第2の予め設定された値に達させた連続する2フレームの画像のうちの後のフレームを第2の画像として決定する。
【0083】
上記により、第1の画像及び第2の画像を得られたことを決定し、さらにシェイク操作のシェイク方向及びシェイクの振り幅を決定することができる。
【0084】
任意選択的に、モバイル端末は第1の画像と第2の画像のマッチングする特徴点の変位方向から、シェイク操作のシェイク方向を決定することができる。任意選択的に、第1の画像と第2の画像の間の類似度に基づいて、シェイク操作のシェイクの振り幅の数値をマッピングにより得ることができる。
【0085】
任意選択的に、モバイル端末に、類似度とシェイクの振り幅との間の対応関係を予め設定することができ、類似度が小さいほど、シェイクの振り幅が大きく、シェイクの振り幅は類似度と負の相関関係を示す。モバイル端末が第1の画像と第2の画像との間の類似度を決定した後、類似度とシェイクの振り幅との間の対応関係から、その回のシェイク操作に対応するシェイクの振り幅を決定することができる。
【0086】
ステップ860:シェイク方向及びシェイクの振り幅に基づき、第2の仮想オブジェクトを決定し、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える。
【0087】
上記実施例におけるシェイク方向及びシェイク加速度に基づき第2の仮想オブジェクトを決定する場合と同様に、シェイク方向及びシェイクの振り幅に基づいて第2の仮想オブジェクトを決定する場合にも、第1の仮想オブジェクトを基準位置とする必要がある。仮想環境において第1の仮想オブジェクトを基準位置とする場合、モバイル端末は、第1の仮想オブジェクトを基準位置とするシェイク方向における候補仮想オブジェクトの第2のオブジェクト数を決定し、第2のオブジェクト数は、mで表すことができ、mは正の整数である。第2のオブジェクト数が1に等しい場合(即ちmの値が1に等しい場合)、モバイル端末は、シェイク方向に存在する1つの候補仮想オブジェクトを第2の仮想オブジェクトとして直接決定することができる。第2のオブジェクト数が1よりも大きい場合(即ちmの値が1よりも大きい場合)、さらに複数の候補仮想オブジェクトから第2の仮想オブジェクトを選別する必要がある。対応して、シェイク中のシェイクの振り幅に基づき、モバイル端末はシェイク方向に存在するm個の候補仮想オブジェクトから第2の仮想オブジェクトを決定することができる。
【0088】
任意選択的に、第2のオブジェクト数が1よりも大きい場合(mの値が1よりも大きい場合)、モバイル端末はシェイク方向に対応するm個の振り幅区間を設定する。シェイクの振り幅が第pの振り幅区間内にある場合、モバイル端末はm個の仮想オブジェクトの中から第pの仮想オブジェクトを第2の仮想オブジェクトとして決定する。ここで、m個の候補仮想オブジェクトとm個の振り幅区間は1対1で対応し、m個の候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、m個の振り幅区間は、振り幅値が小さいものから大きいものの順に並べられる。
【0089】
概略的には、シェイク方向が左で、第1の仮想オブジェクトの左側に2つの候補仮想オブジェクトがある場合、モバイル端末は左側に、対応する2つの振り幅区間を順に(0,3)、(3,+∞)と設定し、類似度に基づき取得したシェイクの振り幅の最大値が2である場合、第1の仮想オブジェクトの左側にある一番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。
【0090】
任意選択的に、第2のオブジェクト数が1よりも大きい場合(mの値が1よりも大きい場合)、モバイル端末は予め設定されたR個の振り幅区間を取得し、Rはmより大きい。その後、シェイクの振り幅が第rの振り幅区間にあり、且つrがmより大きくない場合、m個の候補仮想オブジェクトのうちのr番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。シェイクの振り幅がr番目の振り幅区間にあり、且つrがmより大きい場合、m個の候補仮想オブジェクトのうちのm番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。ここで、m個の候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、R個の振り幅区間は、振り幅値が小さいものから大きいものの順に並べられる。
【0091】
ここで、上記m、p、R及びrはいずれも正の整数である。
【0092】
概略的には、mの値が3である場合、モバイル端末は予め設定された8つの振り幅区間を取得し、順に(0,3)、(3,6)、(6,9)、(9,12)、(12,15)、(15,18)、(18,21)と(21,+∞)である。シェイク中のシェイクの振り幅が5(第2の振り幅区間に入る)である場合、第1の仮想オブジェクトの左側の二番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。シェイク中のシェイクの振り幅が14(第5の加速度区間に入る)である場合、第1の仮想オブジェクトの左側の三番目の候補仮想オブジェクトを第2の仮想オブジェクトとして決定する。
【0093】
以上から、モバイル端末は仮想環境において第2の仮想オブジェクトを決定する。その後、モバイル端末は、ロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示し、可能とされる表示方法は既に上記ステップ260にて詳細に説明されているため、ここではこれ以上贅言しない。
【0094】
以上を総合して、モバイル端末に内蔵されたカメラによってシェイク操作を受信したことを確認し、カメラがキャプチャした画像によりシェイク操作のシェイク方向及びシェイクの振り幅を決定し、さらにシェイク方向及びシェイクの振り幅から第2の仮想オブジェクトを決定し、最終的にロックオン状態にある仮想オブジェクトを第1の仮想オブジェクトから第2の仮想オブジェクトに切り替えることは、シェイク操作に基づいたロックオンターゲット切替の具体的な実現方法を提供し、ロックオンターゲット切替の高い効率性を保証する。
【0095】
ロックオンターゲット切替効率の向上のため、
図9は本出願の概略的な実施例の1つが提供する仮想オブジェクトの切替方法のフローチャートであり、当該方法を
図1に示すモバイル端末120に応用した例で説明する、当該方法は以下を含む。
【0096】
ステップ910:第2の形態のロックオンコントローラを表示する。
【0097】
モバイル端末の画面上において、第2の形態のロックオンコントローラを表示する。第2の形態のロックオンコントローラは、マスタ制御仮想オブジェクトが候補仮想オブジェクトから仮想オブジェクトをロックオンするために用いられる。
図10(a)をあわせて参照すると、
図10(a)は第2の形態のロックオンコントローラ1001を示し、概略的には、第2の形態のロックオンコントローラ1001はモバイル端末の画面右下隅エリアに位置し、ユーザの素早いロックオン操作の実行を可能にする。
【0098】
ステップ920:少なくとも2つの仮想オブジェクトを表示する。
【0099】
ここで、少なくとも2つの仮想オブジェクトはロックオン状態にない第1の仮想オブジェクトを含む。
図10(a)をあわせて参照すると、この時
図10(a)は5つの仮想オブジェクトを示す。
【0100】
ステップ930:第2の形態のロックオンコントローラに対する第1のトリガ操作に応答して、ロックオン操作の実行を決定する。
【0101】
任意選択的に、第1のトリガ操作は長押しトリガ、単押しトリガ、2回押しトリガ、ドラッグトリガ及び圧力トリガのうち少なくとも1種を含む。概略的には、
図10(a)における第2の形態のロックオンコントローラ1001が第1のトリガ操作を受信したことに応答して、モバイル端末がロックオン操作の実行を決定する。
【0102】
ステップ940:第1の仮想オブジェクトがロックオン条件を満たす場合、ロックオン状態にある第1の仮想オブジェクトを表示する。
【0103】
1つの実施例において、第1の仮想オブジェクトがロックオン条件を満たす場合、ロックオン状態にある第1の仮想オブジェクトを表示し、以下の方法のうち少なくとも1種を含む。
【0104】
・仮想環境において、少なくとも2つの仮想オブジェクトの中からマスタ制御仮想オブジェクトとの間の距離が最小となる仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示する。
【0105】
任意選択的に、モバイル端末は各仮想オブジェクトとマスタ制御仮想オブジェクトとの間の距離を取得し、距離が最小となる仮想オブジェクトを第1の仮想オブジェクトとして決定し、第1の仮想オブジェクトに対するロックオン操作を実行し、対応してロックオン状態にある第1の仮想オブジェクトを表示する。
【0106】
・仮想環境において、少なくとも2つの仮想オブジェクトの中からマスタ制御仮想オブジェクトとの距離が閾値より小さく、且つマスタ制御仮想オブジェクトの向きにある仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示する。
【0107】
任意選択的に、モバイル端末は各仮想オブジェクトとマスタ制御仮想オブジェクトとの間の距離を取得し、さらに各距離と距離閾値との関係を比較し、その中から距離閾値よりも距離の小さい仮想オブジェクトを選別し、次に、その中からマスタ制御仮想オブジェクトの向きにある仮想オブジェクトを選別して第1の仮想オブジェクトとし、それに対してロックオン操作を実行し、ロックオン状態にある第1の仮想オブジェクトを表示する。
【0108】
・仮想環境において、少なくとも2つの仮想オブジェクトの中からマスタ制御仮想オブジェクトとの間の距離が距離閾値より小さく、且つ絶対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示し、ライフ値は仮想環境における仮想オブジェクトの摩耗度の測定に用いられ、絶対ライフ値は仮想オブジェクトの残りのライフ値である。
【0109】
任意選択的に、モバイル端末は各仮想オブジェクトとマスタ制御仮想オブジェクトとの間の距離を取得し、且つ各距離と距離閾値との関係を比較し、まず、距離が距離閾値よりも小さい仮想オブジェクトを選別し、次に、各仮想オブジェクトの絶対ライフ値を取得し、絶対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、これにより、第1の仮想オブジェクトに対してロックオン操作を実行する。
【0110】
・仮想環境において、少なくとも2つの仮想オブジェクトの中からマスタ制御仮想オブジェクトとの間の距離が距離閾値より小さく、且つ相対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示し、相対ライフ値は仮想オブジェクトの残りのライフ値とフルライフ値との比である。
【0111】
任意選択的に、モバイル端末は各仮想オブジェクトとマスタ制御仮想オブジェクトとの間の距離を取得し、さらに各距離と距離閾値との関係を比較し、その中から先ず距離閾値よりも距離の小さい仮想オブジェクトを選別し、次に、当該各仮想オブジェクトの相対ライフ値を選別し、相対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、これにより、第1の仮想オブジェクトに対してロックオン操作を実行する。
【0112】
相対ライフ値は絶対ライフ値とフルライフ値との比とすることができる。絶対ライフ値は仮想オブジェクトの残りのライフ値である。
【0113】
図10をあわせて参照すると、第1の仮想オブジェクトがロックオン条件を満たす場合、モバイル端末の表示画面は
図10(a)から
図10(b)に切り替わり、第1の仮想オブジェクト31がロックオン状態にあり、対応して第1の仮想オブジェクト
31上にロックオンインジケータ301が表示される。
【0114】
ステップ950:第1の形態のロックオンコントローラを表示する。
【0115】
モバイル端末が第2の形態のロックオンコントローラ1001に対する第1のトリガ操作を受信した際、少なくとも2つの仮想オブジェクトの中から第1の仮想オブジェクト31をロックオンし、モバイル端末の表示画面は
図10(a)から
図10(b)に切り替わり、
図10(b)をあわせて参照すると、第1の形態のロックオンコントローラ401はユーザにシェイク操作によってロックオン状態にある仮想オブジェクトを切り替えることができることを提示する。
図10(b)はさらに第1の仮想オブジェクト31、第2の仮想オブジェクト32及びロックオンインジケータ301を示す。
【0116】
ステップ960:第3の形態のロックオンコントローラを表示する。
【0117】
予め設定された期間内に第1の形態のロックオンコントローラの表示が完了した後、モバイル端末の画面上に第3の形態のロックオンコントローラを表示する。第3の形態のロックオンコントローラは第1の仮想オブジェクトのロックオンを取り消すために用いる。
【0118】
概略的には、
図10(c)は第3の形態のロックオンコントローラ302を示す。
【0119】
モバイル端末が第3の形態のロックオンコントローラ302に対する第2のトリガ操作を受信した場合、モバイル端末はロックオンの取消操作を実行し、モバイル端末は仮想オブジェクトの切替方法の実行を中止する。モバイル端末が第3の形態のロックオンコントローラ302によって第2のトリガ操作を受信していない場合、下記ステップ970を実行する。
【0120】
任意選択的に、第2のトリガ操作は長押しトリガ、単押しトリガ、2回押しトリガ、ドラッグトリガ及び圧力トリガのうち少なくとも1種を含む。
【0121】
ステップ970:ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。
【0122】
1つの実施例において、モバイル端末はロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示する。任意選択的に、第2の仮想オブジェクトは上記ステップ920の少なくとも2つの仮想オブジェクトのうちの1つに属する。
【0123】
概略的には、
図10(c)はロックオン状態にある第1の仮想オブジェクト31及びロックオン状態にない第2の仮想オブジェクト32を示し、この時第2の仮想オブジェクトは上記ステップ920の少なくとも2つの仮想オブジェクトのうちの1つに属する。
【0124】
ステップ980:シェイク操作を受信する。
【0125】
ここで、シェイク操作とはモバイル端末の本体を振る操作を指す。
【0126】
任意選択的に、モバイル端末は内蔵されたモーションセンサによってシェイク操作を受信し、モーションセンサは加速度センサ、ジャイロセンサ、加速度センサとジャイロセンサを融合した6軸センサセンサ(または9軸センサ、または12軸センサ)を含む。
【0127】
任意選択的に、モバイル端末はカメラによってキャプチャされた画像でシェイク操作を受信したことを確認する。概略的には、キャプチャした連続する2フレームの画像間の類似度でシェイク操作を受信したことを確認する。
【0128】
任意選択的に、モバイル端末はアンテナによって受信された信号からシェイク操作を受信したことを確認する。概略的には、受信した連続2回の信号のエネルギー変化値で、モバイル端末はシェイク操作を受信したことを確認する。
【0129】
任意選択的に、モバイル端末はその他のセンサでシェイク操作を受信することができる。例えば、光学センサでは、シェイク操作がもたらす光度の変化状況により、シェイク操作を受信したことを確認できる。また温度感知器、磁場感知器等でシェイク操作を受信することもできる。
【0130】
ステップ990:シェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替える。
【0131】
1つの実施例において、モバイル端末はモーションセンサによって取得されたシェイク操作のシェイク方向及びシェイク中の最大加速度から、シェイク操作とマッチする第2の仮想オブジェクトを決定する。その後、モバイル端末はロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0132】
1つの実施例において、モバイル端末はアンテナによって受信された信号の波形における変異発生からシェイク操作の受信を確認する。変異後の波形と変異前の波形の変化状況から、シェイク方向を決定する。波形変異前後の信号のエネルギー変化値から、シェイク操作のシェイクの振り幅を確認する。モバイル端末はシェイク方向及びシェイクの振り幅から第2の仮想オブジェクトを決定する。その後、モバイル端末はロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0133】
1つの実施例において、モバイル端末はカメラがシェイク操作の開始時刻にキャプチャした画像と、シェイク操作の終了時刻にキャプチャした画像から、シェイク操作のシェイク方向及びシェイクの振り幅を決定し、さらにシェイク方向及びシェイクの振り幅から第2の仮想オブジェクトを決定する。その後、モバイル端末はロックオン状態にある仮想オブジェクトが第1の仮想オブジェクトから第2の仮想オブジェクトに切り替わったことを表示する。
【0134】
概略的には、
図10(d)はロックオン状態にある第2の仮想オブジェクト32を示し、ロックオン状態が第1の仮想オブジェクト31から第2の仮想オブジェクト32に切り替わり、第1の仮想オブジェクト31にはロックオンインジケータが表示されていない。なお、
図10(d)はさらにシェイク方向の提示図形501を示す。
【0135】
なお、ステップ970からステップ990を実行する過程で、またはステップ990の実行後、第3の形態のロックオンコントローラが第2のトリガ操作を受信したことに応答し、モバイル端末はロックオンの取消操作を実行する可能性がある。ロックオンの取消操作が実行されると、モバイル端末はロックオンターゲットの切替を停止する。
【0136】
以上を総合して、モバイル端末の画面上に第1の形態のロックオンコントローラ(シェイク操作の提示情報)、第2の形態のロックオンコントローラ(ロックオン操作の実行が可能)と第3の形態のロックオンコントローラ(ロックオンの取消操作の実行が可能)を設定し、シェイク方向の提示情報を設定することで、仮想オブジェクトの切替方法の具体的な実現方法を達成し、当該切替方法をユーザの操作習慣に一層近づけることができる。
【0137】
ロックオンターゲット切替効率の向上のため、
図11は本出願の概略的な実施例の1つが提供する仮想オブジェクトの切替方法のフローチャートを示し、当該方法をスマートフォンに応用した例で説明し、当該方法は以下を含む。
【0138】
ステップ1101:開始する。
【0139】
携帯電話機がロックオンターゲットの切替フローの実行を開始する。
【0140】
ステップ1102:ユーザがメイン画面でターゲットロックオンボタンをタップしたか判断する。
【0141】
携帯電話機はユーザがメイン画面でターゲットロックオンボタンをタップしたか判断する。ターゲットロックオンボタンは自主的にメイン画面上におけるターゲットキャラクタをロックオンするために用いられるボタンである。携帯電話機がアプリケーションプログラムを実行する際、携帯電話機のディスプレイの右下隅エリアにターゲットロックオンボタンが設定される。通常時では、プレイヤーキャラクタから一定距離の範囲内にロックオン可能なターゲットがない場合、ユーザのターゲットロックオンボタンに対するトリガ操作は作用しない。プレイヤーキャラクタから一定距離の範囲内にロックオン可能なターゲットがある場合、ユーザのターゲットロックオンボタンに対するトリガ操作はロックオンを発動する。
【0142】
ユーザがメイン画面でターゲットロックオンボタンをタップした場合、ステップ1104を実行する。ユーザがメイン画面でターゲットロックオンボタンをタップしない場合、ステップ1103を実行する。
【0143】
ステップ1103:ターゲットロックオンの切替を実行しない。
【0144】
携帯電話機がターゲットロックオンボタンのトリガ操作を受信しない場合、携帯電話機はターゲットロックオンの切替を実行しない。任意選択的に、トリガ操作は長押しトリガ、単押しトリガ、2回押しトリガ、ドラッグトリガ及び圧力トリガ等を含む。
【0145】
ステップ1104:視野範囲内にロックオン可能なターゲットがあるか判断する。
【0146】
携帯電話機がユーザによるターゲットロックオンボタンに対するトリガ操作を受信した場合、携帯電話機はプレイヤーキャラクタの視野範囲内にロックオン可能なターゲットがあるか判断する。ロックオン可能なターゲットが存在する場合、ステップ1106を実行する。ロックオン可能なターゲットが存在しない場合、ステップ1105を実行する。
【0147】
ステップ1105:ターゲットロックオンを実行しない。
【0148】
携帯電話機がプレイヤーキャラクタの視野範囲内にロックオン可能なターゲットがないと決定した場合、携帯電話機はターゲットロックオンを実行せず、即ち携帯電話機はプレイヤーキャラクタの視野範囲内において仮想オブジェクトをロックオンしない。
【0149】
ステップ1106:現在のロックオン状態に合致するターゲット数が1よりも大きい。
【0150】
携帯電話機はプレイヤーキャラクタの視野範囲内におけるロックオン状態に合致するターゲット数が1よりも多いか判断する。ロックオン状態に合致するターゲット数が1よりも多い場合、携帯電話機は、シェイク操作に応じてロックオンターゲットを切り替えるスレッドを起動する、即ち、その後、携帯電話機はステップ1108を実行する。ロックオン状態に合致するターゲット数が1に等しい場合、携帯電話機は、現在はロックオンターゲットを切り替えられないと判断する、即ち携帯電話機はシェイク操作に応じてロックオンターゲットを切り替えるスレッドを起動しない、即ち、その後、携帯電話機はステップ1107を実行する。
【0151】
ステップ1107:加速度センサを起動しない。
【0152】
携帯電話機は加速度センサを起動しない。
【0153】
ステップ1108:加速度センサを起動する。
【0154】
ロックオン状態に合致するターゲット数が1よりも多い現状に基づき、携帯電話機は加速度センサを起動する。加速度センサはその後のシェイク操作のシェイク方向及びシェイク加速度を決定することに用いることができる。
【0155】
ステップ1109:携帯電話機にシェイク操作が発生しているか。
【0156】
携帯電話機はシェイク操作を受信したか判断し、受信した場合、さらにシェイク操作のシェイク方向を判断する。受信していない場合、ステップ1110を実行する。
【0157】
ステップ1110:ターゲットロックオンを実行しない。
【0158】
携帯電話機はシェイク操作を受信していないことを確認した場合、ターゲットロックオンを実行しない。
【0159】
ステップ1111:シェイク後の位置がシェイク前の位置と比べて上にある。
【0160】
携帯電話機がシェイク操作の発生を確認した後、携帯電話機はシェイク後の位置がシェイク前の位置と比べて上(シェイク方向が上)にあることを確認する。
【0161】
ステップ1112:シェイク後の位置がシェイク前の位置と比べて左にある。
【0162】
携帯電話機がシェイク操作の発生を確認した後、携帯電話機はシェイク後の位置がシェイク前の位置と比べて左(シェイク方向が左)にあることを確認する。
【0163】
ステップ1113:シェイク後の位置がシェイク前の位置と比べて右にある。
【0164】
携帯電話機がシェイク操作の発生を確認した後、携帯電話機はシェイク後の位置がシェイク前の位置と比べて右(シェイク方向が右)にあることを確認する。
【0165】
ステップ1114:シェイク後の位置がシェイク前の位置と比べて下にある。
【0166】
携帯電話機がシェイク操作の発生を確認した後、携帯電話機はシェイク後の位置がシェイク前の位置と比べて下(シェイク方向が下)にあることを確認する。
【0167】
ステップ1115:携帯電話機のシェイク加速度値を取得する。
【0168】
携帯電話機はシェイク加速度値を取得する。任意選択的に、携帯電話機は加速度センサによってシェイク中のシェイク加速度の最大値を取得する。
【0169】
ステップ1116:シェイク加速度が含まれる加速度の動的区間を決定する。
【0170】
携帯電話機はシェイク加速度が含まれる加速度の動的区間を決定し、加速度の動的区間により、切り替えた後のロックオンターゲットを決定する。任意選択的に、携帯電話機はシェイク中のシェイク加速度の最大値により、前記シェイク加速度の最大値とマッチングする加速度の動的区間を決定する。任意選択的に、携帯電話機は、予め一定数量の加速度の動的区間を設けてもよく、または、携帯電話機は、仮想環境におけるプレイヤーキャラクタのシェイク方向に存在する仮想オブジェクトの数により、同数量の加速度の動的区間を設定することができる。
【0171】
ステップ1117:ロックオンターゲットを奥側に切り替える。
【0172】
シェイク後の位置がシェイク前の位置と比べて上にある場合、携帯電話機はロックオンターゲットが奥側に切り替わるよう制御する。
【0173】
ステップ1118:ロックオンターゲットを左に切り替える。
【0174】
シェイク後の位置がシェイク前の位置と比べて左にある場合、携帯電話機はロックオンターゲットが左に切り替わるよう制御する。
【0175】
ステップ1119:ロックオンターゲットを右に切り替える。
【0176】
シェイク後の位置がシェイク前の位置と比べて右にある場合、携帯電話機はロックオンターゲットが右に切り替わるよう制御する。
【0177】
ステップ1120:ロックオンターゲットを手前に切り替える。
【0178】
シェイク後の位置がシェイク前の位置と比べて下にある場合、携帯電話機はロックオンターゲットが手前に切り替わるよう制御する。
【0179】
ステップ1121:ユーザがロックオン取消ボタンをタップしたか。
【0180】
携帯電話機はユーザがロックオン取消ボタンをタップしたか判断する。ユーザがロックオン取消ボタンをタップした場合、携帯電話機は仮想オブジェクトの切替を停止し、アプリケーションプログラムのロックオンロジックをオフにし、ロックオンプロセスを終了する。
【0181】
ユーザがロックオン取消ボタンをタップした場合、ステップ1122を実行する。
【0182】
ステップ1122:加速度センサをオフにする。
【0183】
携帯電話機はロックオンプロセスを終了し、加速度センサをオフにする。
【0184】
図12は、本出願の例示的な実施例が提供する仮想オブジェクトの切替装置の構成ブロック図であり、当該装置は、
ロックオン状態にある第1の仮想オブジェクト及びロックオン状態にない第2の仮想オブジェクトを表示するために用いられる表示モジュール1201であって、ロックオン状態はロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示すものと、
シェイク操作を受信するために用いられる受信モジュール1202であって、シェイク操作はモバイル端末の本体を振る操作であるものと、
さらにシェイク操作が第2の仮想オブジェクトとマッチングした場合、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトへ切り替えることに用いられる切替モジュール1203と、を含む。
【0185】
1つの任意選択的な実施例において、表示モジュール1201は、さらに第2の仮想オブジェクトにロックオンインジケータを表示する、及び第1の仮想オブジェクトにロックオンインジケータを表示することを取り消すことに用いられる。
【0186】
1つの任意選択的な実施例において、表示モジュール1201は、さらに第2の仮想オブジェクトにロックオン視覚効果を表示する、及び第1の仮想オブジェクトにロックオン視覚効果を表示することを取り消すことに用いられる。
【0187】
1つの任意選択的な実施例において、表示モジュール1201は、さらに提示情報を表示することに用いられ、前記提示情報はシェイク操作のシェイク方向を示すために用いられ、提示情報の表示方式は図形、矢印、及びテキストのうちの少なくとも一種を含む。
【0188】
1つの任意選択的な実施例において、受信モジュール1202は、さらにモーションセンサによってシェイク操作のシェイク方向及びシェイク加速度を取得することに用いられ、シェイク加速度はシェイク操作中の最大加速度である。
【0189】
1つの任意選択的な実施例において、切替モジュール1203は、さらにシェイク方向及びシェイク加速度に基づき、第2の仮想オブジェクトを決定する、及びロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替えることに用いられる。
【0190】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、
仮想環境において第1の仮想オブジェクトを基準位置とする場合、シェイク方向にある候補仮想オブジェクトの第1のオブジェクト数を決定することと、
第1のオブジェクト数が1に等しい場合、シェイク方向上の候補仮想オブジェクトを第2の仮想オブジェクトとして決定することと、
第1のオブジェクト数が1よりも大きい場合、シェイク加速度に基づき、シェイク方向にある候補仮想オブジェクトの中から第2の仮想オブジェクトを決定することに用いられる。
【0191】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、
第1のオブジェクト数が1よりも大きい場合、シェイク方向にあるn個の加速度区間を設定し、異なる加速度区間は異なる候補仮想オブジェクトの所在位置に対応することと、
シェイク加速度が含まれる第iの加速度区間に基づき、第iの加速度区間上の候補仮想オブジェクトを第2の仮想オブジェクトとして決定することに用いられる。
【0192】
ここで、iは正の整数であり、候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、n個の加速度区間は、加速度の数値が小さいものから大きいものの順に並べられる。
【0193】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、
第1のオブジェクト数が1よりも大きい場合、予め設定されたk個の加速度区間を取得し、kは第1のオブジェクト数より大きいことと、
シェイク加速度が第jの加速度区間に含まれ、且つjが第1のオブジェクト数より大きくない場合、候補仮想オブジェクトの第jの候補仮想オブジェクトを第2の仮想オブジェクトとして決定することと、
シェイク加速度が第jの加速度区間に含まれ、且つjが第1のオブジェクト数よりも大きい場合、候補仮想オブジェクトの第nの候補仮想オブジェクトを第2の仮想オブジェクトとし、nは第1のオブジェクト数に等しいことに用いられる。
【0194】
ここで、k、jは正の整数であり、候補仮想オブジェクトは、第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、k個の加速度区間は、加速度数値が小さいものから大きいものの順に並べられる。
【0195】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、
モーションセンサによってモバイル端末が位置する第1位置を取得し、第1位置はモバイル端末がシェイク操作の開始時刻に所在する位置であることと、
モーションセンサによってモバイル端末が位置する第2位置を取得し、第2位置はモバイル端末がシェイク操作の終了時刻に所在する位置であることと、
第1位置及び第2位置に基づき、シェイク操作のシェイク方向を決定することに用いられる。
【0196】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、
モーションセンサによって取得された加速度が第1閾値よりも大きい時刻を、シェイク操作の開始時刻として決定することと、
モーションセンサによって取得された加速度が第2閾値よりも小さい期間が期間閾値に達した時刻を、シェイク操作の終了時刻として決定することと、
開始時刻と終了時刻の間の加速度の最大値を、シェイク加速度として決定することに用いられる。
【0197】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、カメラによってキャプチャされた画像でシェイク操作のシェイク方向及びシェイクの振り幅を決定するために用いられる。
【0198】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、シェイク方向及びシェイクの振り幅に基づき、第2の仮想オブジェクトを決定し、ロックオン状態にある第1の仮想オブジェクトを第2の仮想オブジェクトに切り替えるために用いられる。
【0199】
1つの任意選択的な実施例において、切替モジュール1203は、さらに、
仮想環境において前記第1の仮想オブジェクトを基準位置とする場合、シェイク方向における候補仮想オブジェクトの第2のオブジェクト数を決定することと、
第2のオブジェクト数が1に等しい場合、シェイク方向にある候補仮想オブジェクトを第2の仮想オブジェクトとして決定することと、
第2のオブジェクト数が1よりも大きい場合、シェイクの振り幅に基づき、シェイク方向にある候補仮想オブジェクトから第2の仮想オブジェクトを決定することに用いられる。
【0200】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、
カメラによってキャプチャされた第1の画像を取得し、第1の画像はカメラによってシェイク操作の開始時刻にキャプチャして得られることと、
カメラによってキャプチャされた第2の画像を取得し、第2の画像はカメラによってシェイク操作の終了時刻にキャプチャして得られることと、
第1の画像及び第2の画像に基づき特徴点マッチングを行い、シェイク操作のシェイク方向を決定することに用いられる。
【0201】
1つの任意選択的な実施例において、受信モジュール1202は、さらに、
カメラによって取得された第1の連続する2フレームの画像間の類似度が第3の閾値よりも小さい場合、第1の連続する2フレームの画像のうち、前のフレームを第1の画像として決定することと、
カメラによって取得された第2の連続する2フレームの画像間の類似度が第4の閾値よりも大きい場合、第2の連続する2フレームの画像のうち、後のフレームを第2の画像として決定することと、
第1の画像と第2の画像との類似度に基づき、シェイク操作のシェイクの振り幅を決定することに用いられる。
【0202】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第1の形態のロックオンコントローラを表示するために用いられ、第1の形態のロックオンコントローラは、シェイク操作によりロックオン状態にある仮想オブジェクトを切り替えることを提示するために用いられる。
【0203】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、少なくとも2つの仮想オブジェクトを表示するために用いられ、少なくとも2つの仮想オブジェクトはロックオン状態にない第1の仮想オブジェクトを含む。
【0204】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第1の仮想オブジェクトがロックオン条件を満たす場合、ロックオン状態にある第1の仮想オブジェクトを表示するために用いられる。
【0205】
1つの任意選択的な実施例において、表示モジュール1201、さらに、
少なくとも2つの仮想オブジェクトからマスタ制御仮想オブジェクトとの間の距離が最小となる仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示することと、
少なくとも2つの仮想オブジェクトからマスタ制御仮想オブジェクトとの距離が距離閾値よりも小さく、且つマスタ制御仮想オブジェクトの向きにある仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示することと、
少なくとも2つの仮想オブジェクトからマスタ制御仮想オブジェクトとの距離が距離閾値よりも小さく、且つ絶対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示し、絶対ライフ値とは仮想オブジェクトの残りのライフ値であり、前記ライフ値は仮想オブジェクトの前記仮想環境における摩耗度の測定に用いられることと、
少なくとも2つの仮想オブジェクトからマスタ制御仮想オブジェクトとの距離が距離閾値よりも小さく、且つ相対ライフ値が最小である仮想オブジェクトを第1の仮想オブジェクトとして決定し、ロックオン状態にある第1の仮想オブジェクトを表示し、相対ライフ値は仮想オブジェクトの残りのライフ値とフルライフ値との比であることに用いられる。
【0206】
1つの任意選択的な実施例において、表示モジュール1201は、さらに第2の形態のロックオンコントローラを表示するために用いられる。
【0207】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第2の形態のロックオンコントローラに対する第1のトリガ操作に応答して、ロックオン操作の実行を決定するために用いられる。
【0208】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第3の形態のロックオンコントローラを表示するために用いられる。
【0209】
1つの任意選択的な実施例において、表示モジュール1201は、さらに、第3の形態のロックオンコントローラに対する第2のトリガ操作に応答して、ロックオンの取消操作の実行を決定するために用いられる。
【0210】
以上を総合して、上記装置は、シェイク操作によりロックオン状態にある仮想オブジェクトの切替を実現することによって、複数回のロックオンコントローラのタッチによる切替を回避することができ、ユーザの素早いロックオンターゲットの切替を可能にする。例えば、ユーザの制御するマスタ制御仮想キャラクタが第1の敵キャラクタと激しい戦闘をしている最中に、ユーザが第2の敵キャラクタに致命的な弱点が短期間現れたことを見つけた際、マスタ制御仮想キャラクタがその敵キャラクタへ向かって攻撃を行えば第2の敵キャラクタを倒すことができるため、ユーザはシェイク操作で元々ロックオンしていた仮想キャラクタ(第1の敵キャラクタ)を第2の敵キャラクタに切り替えて、切り替えた敵キャラクタに向かって攻撃を行えばよい。したがって、シェイク操作を設定しロックオンターゲットを切り替えることは、ユーザの操作方法を充実させるだけでなく、ユーザのロックオンターゲットの切替効率を向上させ、さらにゲームの攻略性も向上させる。
【0211】
図13は本出願の例示的な1つの実施例が提供するコンピュータデバイス1300の構成ブロック図を示す。当該コンピュータデバイス1300は、例えば、スマートフォン、タブレットPC、MP3プレーヤー(Moving Picture Experts Group Audio Layer III)、MP4(Moving Picture Experts Group Audio Layer IV)プレーヤー、ラップトップコンピュータまたはデスクトップコンピュータなどのポータブルモバイル端末であってもよい。また、コンピュータデバイス1300はユーザデバイス、ポータブル端末、ラップトップ端末、デスクトップ端末などその他の名称で呼ばれる場合もある。
【0212】
一般的に、コンピュータデバイス1300は、プロセッサ1301及びメモリ1302を含む。
【0213】
プロセッサ1301は、1つまたは複数の処理コア、例えば4コアプロセッサ、8コアプロセッサなどを含むことができる。プロセッサ1301は、DSP(Digital Signal Processing、デジタル信号処理)、FPGA(Field-Programmable Gate Array、フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Array、プログラマブルロジックアレイ)のうちの少なくとも一種のハードウェアの形式を採用して実現することができる。プロセッサ1301は、メインプロセッサ及びコプロセッサを含んでもよく、メインプロセッサはウェイクアップ状態下でのデータを処理するためのプロセッサであり、CPU(Central Processing Unit、中央処理装置)とも呼ばれ、コプロセッサは待機状態下でのデータを処理するための低消費電力プロセッサである。いくつかの実施例において、プロセッサ1301には、GPU(Graphics Processing Unit、画像処理装置)が集積されてもよく、GPUはディスプレイに表示する必要がある内容のレンダリング及び描画を担当するために用いられる。いくつかの実施例において、プロセッサ1301は、AI(Artificial Intelligence、人工知能)プロセッサをさらに含むことができ、当該AIプロセッサは、機械学習に関する演算操作を処理するために用いられる。
【0214】
メモリ1302は1つまたは複数のコンピュータ可読記憶媒体を含むことができ、当該コンピュータ可読記憶媒体は非一時的であってもよい。メモリ1302は、高速ランダムアクセスメモリ、及び不揮発性メモリ、例えば1つまたは複数の磁気ディスク記憶装置、フラッシュ記憶装置をさらに含むことができる。いくつかの実施例において、メモリ1302における非一時的なコンピュータ可読記憶媒体は少なくとも1つの命令を記憶するために用いられ、当該少なくとも1つの命令はプロセッサ1301により実行されて本出願の方法の実施例が提供する仮想オブジェクトの切替方法を実現するために用いられる。
【0215】
いくつかの実施例において、任意選択的に、コンピュータデバイス1300は、さらに周辺機器インターフェース1303及び少なくとも1つの周辺機器を含むことができる。プロセッサ1301、メモリ1302及び周辺機器インターフェース1303の間はバスまたは信号線を介して接続することができる。各周辺機器は、バス、信号線または回路基板によって周辺機器インターフェース1303に接続することができる。例示的には、周辺機器は、ディスプレイ1304及びカメラアセンブリ1305を含むことができる。
【0216】
いくつかの実施例において、コンピュータデバイス1300は、1つまたは複数のセンサ1306をさらに含むことができる。当該1つまたは複数のセンサ1306は、加速度センサ、ジャイロセンサ、圧力センサ、光学センサ及び近接センサを含むが、これらに限定されない。
【0217】
当業者であれば理解できるように、
図13に示される構成は、コンピュータデバイス1300を限定するものではなく、図示されたものよりも多いまたは少ないコンポーネントを含んだり、または、いくつかのコンポーネントを組み合わせたり、または、コンポーネントの異なる配置を採用したりすることができる。
【0218】
本出願は、コンピュータ可読記憶媒体をさらに提供し、前記記憶媒体にはプログラムの少なくとも1つのセグメントが記憶されており、前記プログラムの少なくとも1つのセグメントは、上記方法の実施例が提供する仮想オブジェクトの切替方法を実現するよう、プロセッサによりロードされて実行される。
【0219】
本出願はコンピュータプログラム製品を提供し、当該コンピュータプログラム製品はコンピュータ命令を含み、当該コンピュータ命令はコンピュータ可読記憶媒体に記憶されている。コンピュータデバイスのプロセッサは、コンピュータ可読記憶媒体から当該コンピュータ命令を読み取り、プロセッサは、当該コンピュータデバイスが上記実施例で提供される仮想オブジェクトの切替方法を実行するように、コンピュータ命令を実行する。
【手続補正2】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
モバイル端末によって実行される仮想オブジェクトの切替方法であって、
ロックオン状態にある第1の仮想オブジェクト及び前記ロックオン状態にない第2の仮想オブジェクトを表示するステップであって、前記ロックオン状態とは、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示すステップと、
シェイク操作を受信するステップであって、前記シェイク操作は前記モバイル端末の本体を振る操作である、ステップと、
前記シェイク操作が前記第2の仮想オブジェクトとマッチングした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替えるステップと、を含む
仮想オブジェクトの切替方法。
【請求項2】
前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替える前記ステップは、
前記第2の仮想オブジェクト上にロックオンインジケータを表示する、及び前記第1の仮想オブジェクト上の前記ロックオンインジケータの表示を取り消すステップ、
前記第2の仮想オブジェクト上にロックオン視覚効果を表示する、及び前記第1の仮想オブジェクト上の前記ロックオン視覚効果の表示を取り消すステップ、
提示情報を表示するステップであって、前記提示情報は前記シェイク操作のシェイク方向を示すために用いられ、前記提示情報の表示方式は図形、矢印、及びテキストのうちの少なくとも一種を含むステップ、
のうち少なくとも一種を含む、請求項1に記載の
仮想オブジェクトの切替方法。
【請求項3】
シェイク操作を受信する前記ステップは、
モーションセンサによって前記シェイク操作の前記シェイク方向及びシェイク加速度を取得するステップであって、前記シェイク加速度は前記シェイク操作中の最大加速度であるステップを含み、
前記シェイク操作が前記第2の仮想オブジェクトとマッチングした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替える前記ステップは、
前記シェイク方向及び前記シェイク加速度に基づき、前記第2の仮想オブジェクトを決定する、及び前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替えるステップを含む、請求項2に記載の
仮想オブジェクトの切替方法。
【請求項4】
前記シェイク方向及び前記シェイク加速度に基づき、前記第2の仮想オブジェクトを決定する前記ステップは、
仮想環境において前記第1の仮想オブジェクトを基準位置とした場合、前記シェイク方向にある候補仮想オブジェクトの第1のオブジェクト数を決定するステップと、
前記第1のオブジェクト数が1に等しい場合、前記シェイク方向にある前記候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップと、
前記第1のオブジェクト数が1よりも大きい場合、前記シェイク加速度に基づき、前記シェイク方向にある前記候補仮想オブジェクトから前記第2の仮想オブジェクトを決定するステップと、を含む、請求項3に記載の
仮想オブジェクトの切替方法。
【請求項5】
前記第1のオブジェクト数が1よりも大きい場合、前記シェイク加速度に基づき、前記シェイク方向にある前記候補仮想オブジェクトから前記第2の仮想オブジェクトを決定する前記ステップは、
前記第1のオブジェクト数が1よりも大きい場合、前記シェイク方向にn個の加速度区間を設置するステップであって、異なる加速度区間が異なる候補仮想オブジェクトの所在位置に対応するステップと、
前記シェイク加速度が含まれる第iの加速度区間に基づき、前記第iの加速度区間にある候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップと、を含み、
ここで、iは正の整数であり、前記候補仮想オブジェクトは、前記第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、前記n個の加速度区間は、加速度の数値が小さいものから大きいものの順に並べられる、請求項4に記載の
仮想オブジェクトの切替方法。
【請求項6】
前記第1のオブジェクト数が1よりも大きい場合、前記シェイク加速度に基づき、前記シェイク方向にある前記候補仮想オブジェクトから前記第2の仮想オブジェクトを決定する前記ステップは、
前記第1のオブジェクト数が1よりも大きい場合、予め設定されたk個の加速度区間を取得するステップであって、kは前記第1のオブジェクト数よりも大きいステップと、
前記シェイク加速度が第jの加速度区間にあり、且つjが前記第1のオブジェクト数より大きくない場合、前記候補仮想オブジェクトのうちの第jの候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップと、
前記シェイク加速度が前記第jの加速度区間にあり、且つjが前記第1のオブジェクト数よりも大きい場合、前記候補仮想オブジェクトのうちの第nの候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップであって、nは前記第1のオブジェクト数に等しいステップと、を含み、
k、jは正の整数であり、前記候補仮想オブジェクトは、前記第1の仮想オブジェクトとの距離が近いものから遠いものの順に並べられ、前記k個の加速度区間は、加速度の数値が小さいものから大きいものの順に並べられる、請求項4に記載の
仮想オブジェクトの切替方法。
【請求項7】
モーションセンサによって前記シェイク操作の前記シェイク方向を取得する前記ステップは、
前記モーションセンサによって前記モバイル端末が所在する第1位置を取得するステップであって、前記第1位置は、前記モバイル端末が前記シェイク操作の開始時刻に所在する位置であるステップと、
前記モーションセンサによって前記モバイル端末が所在する第2位置を取得するステップであって、前記第2位置は、前記モバイル端末が前記シェイク操作の終了時刻に所在する位置であるステップと、
前記第1位置及び前記第2位置に基づき、前記シェイク操作の前記シェイク方向を決定するステップと、を含む、請求項
3に記載の
仮想オブジェクトの切替方法。
【請求項8】
モーションセンサによって前記シェイク操作のシェイク加速度を取得する前記ステップは、
前記モーションセンサによって取得した加速度が第1の閾値よりも大きい時刻を、前記シェイク操作の開始時刻として決定するステップと、
前記モーションセンサによって取得した加速度が第2の閾値よりも小さい期間が期間閾値に達した時刻を、前記シェイク操作の終了時刻として決定するステップと、
前記開始時刻と前記終了時刻との間の加速度の最大値を、前記シェイク加速度として決定するステップと、を含む、請求項
3に記載の
仮想オブジェクトの切替方法。
【請求項9】
シェイク操作を受信する前記ステップは、
カメラによってキャプチャされた画像で前記シェイク操作の前記シェイク方向及びシェイクの振り幅を決定するステップを含み、
前記シェイク操作が前記第2の仮想オブジェクトとマッチングした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替える前記ステップは、
前記シェイク方向及び前記シェイクの振り幅に基づき、前記第2の仮想オブジェクトを決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替えるステップを含む、請求項2に記載の
仮想オブジェクトの切替方法。
【請求項10】
前記シェイク方向及び前記シェイクの振り幅に基づき、前記第2の仮想オブジェクトを決定する前記ステップは、
仮想環境において前記第1の仮想オブジェクトを基準位置とした場合、前記シェイク方向にある候補仮想オブジェクトの第2のオブジェクト数を決定するステップと、
前記第2のオブジェクト数が1に等しい場合、前記シェイク方向にある前記候補仮想オブジェクトを前記第2の仮想オブジェクトとして決定するステップと、
前記第2のオブジェクト数が1よりも大きい場合、前記シェイクの振り幅に基づき、前記シェイク方向にある前記候補仮想オブジェクトから前記第2の仮想オブジェクトを決定するステップと、を含む、請求項9に記載の
仮想オブジェクトの切替方法。
【請求項11】
カメラによってキャプチャされた画像で前記シェイク操作の前記シェイク方向を決定する前記ステップは、
前記カメラがキャプチャした第1の画像を取得するステップであって、前記第1の画像は前記シェイク操作の開始時刻に前記カメラによってキャプチャして取得されたものであるステップと、
前記カメラがキャプチャした第2の画像を取得するステップであって、前記第2の画像は前記シェイク操作の終了時刻に前記カメラによってキャプチャして取得されたものであるステップと、
前記第1の画像と前記第2の画像との特徴点マッチングに基づき、前記シェイク操作の前記シェイク方向を決定するステップと、を含む、請求項9に記載の
仮想オブジェクトの切替方法。
【請求項12】
カメラによってキャプチャされた画像で前記シェイク操作のシェイクの振り幅を決定する前記ステップは、
前記カメラによって取得された第1の連続する2フレームの画像間の類似度が第3の閾値よりも小さい場合、前記第1の連続する2フレームの画像のうちの前のフレームを第1の画像として決定するステップと、
前記カメラによって取得された第2の連続する2フレームの画像間の類似度が第4の閾値よりも大きい場合、前記第2の連続する2フレームの画像のうちの後のフレームを第2の画像として決定するステップと、
前記第1の画像と前記第2の画像との間の類似度に基づき、前記シェイク操作の前記シェイクの振り幅を決定するステップと、を含む、請求項9に記載の
仮想オブジェクトの切替方法。
【請求項13】
第1の形態のロックオンコントローラを表示するステップであって、前記第1の形態のロックオンコントローラは、前記シェイク操作により前記ロックオン状態にある仮想オブジェクトを切り替えることを提示するために用いられるステップ、をさらに含む、請求項
1に記載の
仮想オブジェクトの切替方法。
【請求項14】
少なくとも2つの仮想オブジェクトを表示するステップであって、前記少なくとも2つの仮想オブジェクトは、前記ロックオン状態にない第1の仮想オブジェクトを含むステップと、
前記第1の仮想オブジェクトがロックオン条件を満たした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップと、
をさらに含む、請求項
1に記載の
仮想オブジェクトの切替方法。
【請求項15】
前記第1の仮想オブジェクトがロックオン条件を満たした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを表示する前記ステップは、
前記少なくとも2つの仮想オブジェクトのうち、前記マスタ制御仮想オブジェクトからの距離が最小となる仮想オブジェクトを前記第1の仮想オブジェクトとして決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップ、
前記少なくとも2つの仮想オブジェクトのうち、前記マスタ制御仮想オブジェクトからの距離が距離閾値よりも小さく、且つ前記マスタ制御仮想オブジェクトの向きにある仮想オブジェクトを前記第1の仮想オブジェクトとして決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップ、
前記少なくとも2つの仮想オブジェクトのうち、前記マスタ制御仮想オブジェクトからの距離が前記距離閾値よりも小さく、且つ絶対ライフ値が最小である仮想オブジェクトを前記第1の仮想オブジェクトとして決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップであって、前記絶対ライフ値は前記仮想オブジェクトの残りのライフ値であり、前記ライフ値
は仮想環境における前記仮想オブジェクトの摩耗度の測定に用いられるステップ、
前記少なくとも2つの仮想オブジェクトのうち、前記マスタ制御仮想オブジェクトからの距離が前記距離閾値よりも小さく、且つ相対ライフ値が最小である仮想オブジェクトを前記第1の仮想オブジェクトとして決定し、前記ロックオン状態にある前記第1の仮想オブジェクトを表示するステップであって、前記相対ライフ値は前記仮想オブジェクトの残りのライフ値とフルライフ値との比であるステップ、
のうち少なくとも一種を含む、請求項14に記載の
仮想オブジェクトの切替方法。
【請求項16】
第2の形態のロックオンコントローラを表示するステップと、
前記第2の形態のロックオンコントローラに対する第1のトリガ操作に応答して、ロックオン操作の実行を決定するステップと、をさらに含む、請求項14に記載の
仮想オブジェクトの切替方法。
【請求項17】
第3の形態のロックオンコントローラを表示するステップと、
前記第3の形態のロックオンコントローラに対する第2のトリガ操作に応答して、ロックオンの取消操作を実行することを決定するステップと、
をさらに含む、請求項
1に記載の
仮想オブジェクトの切替方法。
【請求項18】
仮想オブジェクトの切替装置であって、
ロックオン状態にある第1の仮想オブジェクト及び前記ロックオン状態にない第2の仮想オブジェクトを表示するために用いられる表示モジュールであって、前記ロックオン状態とは、ロックオンされた仮想オブジェクトがマスタ制御仮想オブジェクトの行動のターゲットになっていることを示す表示モジュールと、
シェイク操作を受信するために用いられる受信モジュールであって、前記シェイク操作は、前記
仮想オブジェクトの切替装置を振る操作である受信モジュールと、
前記シェイク操作が前記第2の仮想オブジェクトとマッチングした場合、前記ロックオン状態にある前記第1の仮想オブジェクトを前記第2の仮想オブジェクトに切り替えるために用いられる切替モジュールと、を含む、
仮想オブジェクトの切替装置。
【請求項19】
プロセッサ及びメモリを含むコンピュータデバイスであって、前記メモリにはコンピュータプログラムが記憶されており、前記コンピュータプログラムは、請求項1から17のいずれか一項に記載の仮想オブジェクトの切替方法を実現するために、前記プロセッサによってロードされて実行されるコンピュータデバイス。
【請求項20】
コンピュータプログラ
ムであって
、コンピュータに、請求項1から17のいずれか一項に記載の仮想オブジェクトの切替方法を実行
させる、コンピュータプログラ
ム。
【国際調査報告】