(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-01
(45)【発行日】2024-05-13
(54)【発明の名称】仮想シーンにおける状態切り替え方法、装置、機器及びコンピュータプログラム
(51)【国際特許分類】
A63F 13/52 20140101AFI20240502BHJP
A63F 13/533 20140101ALI20240502BHJP
A63F 13/5375 20140101ALI20240502BHJP
A63F 13/837 20140101ALI20240502BHJP
A63F 13/55 20140101ALI20240502BHJP
A63F 13/2145 20140101ALI20240502BHJP
A63F 13/426 20140101ALI20240502BHJP
【FI】
A63F13/52
A63F13/533
A63F13/5375
A63F13/837
A63F13/55
A63F13/2145
A63F13/426
(21)【出願番号】P 2022567368
(86)(22)【出願日】2021-10-11
(86)【国際出願番号】 CN2021123010
(87)【国際公開番号】W WO2022105474
(87)【国際公開日】2022-05-27
【審査請求日】2022-11-04
(31)【優先権主張番号】202011302490.2
(32)【優先日】2020-11-19
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ヤン,ゼォフォン
(72)【発明者】
【氏名】パン,ジィアチィ
【審査官】岸 智史
(56)【参考文献】
【文献】中国特許出願公開第111921194(CN,A)
【文献】特開2020-032206(JP,A)
【文献】中国特許出願公開第111921198(CN,A)
【文献】中国特許出願公開第110354489(CN,A)
【文献】PUBGモバイルのスプリント(ダッシュ・走る)方法を詳しく紹介!,men.leve [online],2018年06月07日,<https://nanpa-no1.com/pubgmobile-sprint/>,[2023年10月26日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24、13/00-13/98
(57)【特許請求の範囲】
【請求項1】
電子機器が実行する、仮想シーンにおける状態切り替え方法であって、
仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示するステップであって、前記仮想オブジェクトは仮想アイテムを装備しており、前記仮想アイテムは第1の装備状態にある、ステップと、
前記仮想オブジェクトに対する状態切り替えウィジェットを表示するステップと、
前記状態切り替えウィジェットに対するトリガ操作に応じて、前記仮想オブジェクトに対する第1の切り替え命令を受信するステップと、
前記仮想オブジェクトが第2の動作状態において第2の装備状態にある前記仮想アイテムを制御するように、前記仮想オブジェクトに対する
前記第1の切り替え命令に応じて、前記仮想オブジェクトが前記仮想アイテムの装備状態を前記第1の装備状態から前記第2の装備状態に切り替えるように制御し、前記仮想オブジェクトが動作状態を前記第1の動作状態から前記第2の動作状態に切り替えるように制御するステップと、を含
み、
前記仮想オブジェクトに対する状態切り替えウィジェットを表示するステップは、
仮想シーンの画面において、前記仮想オブジェクトの動作状態及び前記仮想アイテムの装備状態を制御するための方向ジョイスティックウィジェットを表示するステップと、
前記方向ジョイスティックウィジェットに対するドラッグ操作に応じて、前記ドラッグ操作に対応するドラッグ距離が目標距離に達した場合、第1の表示スタイルで非アクティブ状態の前記状態切り替えウィジェットを表示するステップと、を含み、
前記仮想オブジェクトに対する第1の切り替え命令を受信するステップは、
前記トリガ操作が前記非アクティブ状態の前記状態切り替えウィジェットに対する押圧操作である場合、前記押圧操作に対応する押圧時間、押圧圧力及び押圧頻度のうちの少なくとも1つの押圧パラメータを取得するステップと、
前記押圧パラメータが状態切り替え条件を満たす場合、前記第1の表示スタイルとは異なる第2の表示スタイルでアクティブ状態の前記状態切り替えウィジェットを表示し、前記仮想オブジェクトに対する第1の切り替え命令を受信するステップと、を含む、方法。
【請求項2】
前記仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示する前に、
仮想シーンの画面において方向ジョイスティックウィジェットを表示するステップと、
前記方向ジョイスティックウィジェットに対するドラッグ操作に応じて、前記ドラッグ操作に対応するドラッグ位置を取得するステップと、
前記ドラッグ位置が目標位置に位置する場合、前記仮想オブジェクトが第1の動作状態にあるように制御するステップと、をさらに含む、請求項1に記載の方法。
【請求項3】
前記仮想オブジェクトに対する状態切り替えウィジェットを表示するステップは、
前記仮想オブジェクトにより前記仮想シーンにおいて獲得された実績を表示するステップと、
前記実績が実績閾値に達した場合、前記仮想オブジェクトに対する状態切り替えウィジェットを表示するステップと、を含む、請求項
1に記載の方法。
【請求項4】
前記仮想オブジェクトに対する第1の切り替え命令を受信するステップは、
前記画面に対するスライド操作を受け付け、前記スライド操作に対応するスライド軌跡を取得するステップと、
前記スライド軌跡と前記第1の切り替え命令をトリガするための目標軌跡とのマッチングを行い、マッチング結果を取得するステップと、
前記スライド軌跡と前記目標軌跡とがマッチしたことが前記マッチング結果により示された場合、前記仮想オブジェクトに対する第1の切り替え命令を受信するステップと、を含む、請求項1に記載の方法。
【請求項5】
前記仮想オブジェクトが前記仮想アイテムの装備状態を前記第1の装備状態から前記第2の装備状態に切り替えるように制御し、前記仮想オブジェクトが動作状態を前記第1の動作状態から前記第2の動作状態に切り替えるように制御するステップは、
前記仮想オブジェクトが所在するシーンカテゴリを決定するステップと、
前記仮想アイテムの第1の装備状態と前記シーンカテゴリとのマッチングを行い、前記仮想オブジェクトの第1の動作状態と前記シーンカテゴリとのマッチングを行うステップと、
前記第1の装備状態が前記シーンカテゴリに適合せず、且つ前記第1の動作状態が前記シーンカテゴリに適合しない場合、前記仮想オブジェクトが前記仮想アイテムの装備状態を第1の装備状態から前記シーンカテゴリに適合する第2の装備状態に切り替えるように制御し、前記仮想オブジェクトが動作状態を第1の動作状態から前記シーンカテゴリに適合する第2の動作状態に切り替えるように制御するステップと、を含む、請求項1に記載の方法。
【請求項6】
前記仮想オブジェクトが前記仮想アイテムの装備状態を前記第1の装備状態から前記第2の装備状態に切り替えるように制御する前に、前記方法は、
前記仮想オブジェクトが前記第1の動作状態にある場合、方向ジョイスティックウィジェットを表示するステップ、をさらに含み、
前記仮想オブジェクトが動作状態を前記第1の動作状態から前記第2の動作状態に切り替えるように制御した後、前記方法は、
前記第2の動作状態における前記仮想オブジェクトの動作中、前記方向ジョイスティックウィジェットの表示領域における目標領域に目標状態アイコンを表示するステップ、をさらに含み、
前記目標状態アイコンは、前記仮想オブジェクトが前記第2の動作状態にあることを示すために使用される、請求項1に記載の方法。
【請求項7】
前記仮想オブジェクトが動作状態を前記第1の動作状態から前記第2の動作状態に切り替えるように制御した後、
前記仮想オブジェクトが前記第2の動作状態において動作する動作時間を表示するステップと、
前記仮想オブジェクトが第3の動作状態において第3の装備状態にある前記仮想アイテムを制御するように、前記動作時間が目標時間に達した場合、前記仮想オブジェクトが前記仮想アイテムの装備状態を前記第2の装備状態から前記第3の装備状態に切り替えるように制御し、前記仮想オブジェクトが動作状態を前記第2の動作状態から前記第3の動作状態に切り替えるように制御するステップと、をさらに含む、請求項1に記載の方法。
【請求項8】
前記仮想オブジェクトが動作状態を前記第1の動作状態から前記第2の動作状態に切り替えるように制御した後、前記方法は、
前記第2の動作状態における前記仮想オブジェクトの動作中、前記仮想オブジェクトに対する第2の切り替え命令を受信するステップであって、前記第2の切り替え命令は、前記仮想オブジェクトの動作状態及び前記仮想アイテムの装備状態を切り替えるように指示するために使用される、ステップと
、
前記第2の切り替え命令に応じて、
切り替えの頻度が頻度条件を満たさない場合、前記仮想オブジェクトの動作状態及び前記仮想アイテムの装備状態を切り替えることができないことを示す指示情報を表示するステップと、をさらに含む、請求項1に記載の方法。
【請求項9】
仮想シーンにおける状態切り替え装置であって、
仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示する第1の表示モジュールであって、前記仮想オブジェクトは仮想アイテムを装備しており、前記仮想アイテムは第1の装備状態にある、第1の表示モジュールと、
前記仮想オブジェクトに対する状態切り替えウィジェットを表示する第2の表示モジュールと、
前記状態切り替えウィジェットに対するトリガ操作に応じて、前記仮想オブジェクトに対する第1の切り替え命令を受信する命令受信モジュールと、
前記仮想オブジェクトが第2の動作状態において第2の装備状態にある前記仮想アイテムを制御するように、前記仮想オブジェクトに対する
前記第1の切り替え命令に応じて、前記仮想オブジェクトが前記仮想アイテムの装備状態を前記第1の装備状態から前記第2の装備状態に切り替えるように制御し、前記仮想オブジェクトが動作状態を前記第1の動作状態から前記第2の動作状態に切り替えるように制御する第1の制御モジュールと、を含
み、
前記第2の表示モジュールは、
仮想シーンの画面において、前記仮想オブジェクトの動作状態及び前記仮想アイテムの装備状態を制御するための方向ジョイスティックウィジェットを表示し、
前記方向ジョイスティックウィジェットに対するドラッグ操作に応じて、前記ドラッグ操作に対応するドラッグ距離が目標距離に達した場合、第1の表示スタイルで非アクティブ状態の前記状態切り替えウィジェットを表示し、
前記トリガ操作が前記非アクティブ状態の前記状態切り替えウィジェットに対する押圧操作である場合、前記命令受信モジュールは、前記押圧操作に対応する押圧時間、押圧圧力及び押圧頻度のうちの少なくとも1つの押圧パラメータを取得し、
前記押圧パラメータが状態切り替え条件を満たす場合、前記第2の表示モジュールは、前記第1の表示スタイルとは異なる第2の表示スタイルでアクティブ状態の前記状態切り替えウィジェットを表示し、前記命令受信モジュールは、前記仮想オブジェクトに対する第1の切り替え命令を受信する、装置。
【請求項10】
実行可能な命令が記憶されたメモリと、
前記メモリに記憶された実行可能な命令を実行する際に、請求項1乃至
8の何れかに記載の仮想シーンにおける状態切り替え方法を実現するプロセッサと、を含む、電子機器。
【請求項11】
コンピュータプログラムであって、前記コンピュータプログラムは、プロセッサにより実行される際に、請求項1乃至
8の何れかに記載の仮想シーンにおける状態切り替え方法を実現する、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年11月19日に出願した出願番号が202011302490.2である中国特許出願に基づく優先権を主張し、該中国特許出願の全ての内容を参照により本発明に援用する。
【0002】
本発明は、コンピュータのヒューマンコンピュータインタラクション技術に関し、特に仮想シーンにおける状態切り替え方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラムプロダクトに関する。
【背景技術】
【0003】
仮想シーンのアプリケーションにおいて、仮想オブジェクトの仮想シーンにおける動作状態及び装備する仮想アイテムの装備状態などを切り替える際に、関連技術では、複数の状態の切り替えを実現するために、複数のインタラクティブな操作を実行する必要がある。仮想シーンがシューティングゲームであることを一例にすると、仮想オブジェクトが仮想アイテムを保持している状態において、移動速度を加速させるために、ユーザは、アイテムバーをタップ(クリック)して仮想アイテムを収納して手を空ける状態にして、方向ジョイスティックを用いて疾走領域にスライドして疾走状態にする必要がある。しかし、この方法では、2回のタップ操作が必要であり、操作が面倒であり、特にアイテムバーと方向ジョイスティックとの間に一定の操作距離がある場合、操作コストがさらに増加し、ヒューマンコンピュータインタラクションの効率が低下してしまう。
【発明の概要】
【0004】
本発明の実施例は、1つの切り替え命令に基づいて仮想オブジェクトの動作状態と仮想アイテムの装備状態との同時切り替えを制御し、ヒューマンコンピュータインタラクションの効率を向上させることができる、仮想シーンにおける状態切り替え方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラムプロダクトを提供する。
【0005】
本発明の実施例の技術的手段は、以下の通りである。
【0006】
本発明の実施例では、電子機器が実行する、仮想シーンにおける状態切り替え方法であって、仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示するステップであって、前記仮想オブジェクトは仮想アイテムを装備しており、前記仮想アイテムは第1の装備状態にある、ステップと、前記仮想オブジェクトが第2の動作状態において第2の装備状態にある前記仮想アイテムを制御するように、前記仮想オブジェクトに対する第1の切り替え命令に応じて、前記仮想オブジェクトが前記仮想アイテムの装備状態を前記第1の装備状態から前記第2の装備状態に切り替えるように制御し、前記仮想オブジェクトが動作状態を前記第1の動作状態から前記第2の動作状態に切り替えるように制御するステップと、を含む、方法を提供する。
【0007】
本発明の実施例では、仮想シーンにおける状態切り替え装置であって、仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示する第1の表示モジュールであって、前記仮想オブジェクトは仮想アイテムを装備しており、前記仮想アイテムは第1の装備状態にある、第1の表示モジュールと、前記仮想オブジェクトが第2の動作状態において第2の装備状態にある前記仮想アイテムを制御するように、前記仮想オブジェクトに対する第1の切り替え命令に応じて、前記仮想オブジェクトが前記仮想アイテムの装備状態を前記第1の装備状態から前記第2の装備状態に切り替えるように制御し、前記仮想オブジェクトが動作状態を前記第1の動作状態から前記第2の動作状態に切り替えるように制御する第1の制御モジュールと、を含む、装置を提供する。
【0008】
本発明の実施例では、実行可能な命令が記憶されたメモリと、前記メモリに記憶された実行可能な命令を実行する際に、本発明の実施例に係る仮想シーンにおける状態切り替え方法を実現するプロセッサと、を含む、電子機器を提供する。
【0009】
本発明の実施例では、実行可能な命令が記憶されたコンピュータ読み取り可能な記憶媒体であって、前記命令は、プロセッサにより実行される際に、本発明の実施例に係る仮想シーンにおける状態切り替え方法を実現する、記憶媒体を提供する。
【0010】
本発明の実施例では、コンピュータプログラム又は命令を含むコンピュータプログラムプロダクトであって、前記コンピュータプログラム又は命令は、プロセッサにより実行される際に、本発明の実施例に係る仮想シーンにおける状態切り替え方法を実現する、コンピュータプログラムプロダクトを提供する。
【0011】
本発明の実施例に係る技術的手段は、以下の有利な効果を有する。
【0012】
本発明の実施例によれば、仮想オブジェクトが第2の動作状態において第2の装備状態にある仮想アイテムを制御するように、仮想オブジェクトに対する第1の切り替え命令に応じて、仮想オブジェクトが仮想アイテムの装備状態を元の第1の装備状態から第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を元の第1の動作状態から第2の動作状態に切り替えるように制御する。これによって、端末は、1つの切り替え命令を受信することで、仮想オブジェクトの動作状態と仮想アイテムの装備状態との同時切り替えを制御することができる。各切り替え命令により1つの状態の切り替え操作しかできない場合に比べて、状態の切り替え効率を向上させることができるため、インタラクションの目的を達成するために必要なインタラクション回数を低減させ、ヒューマンコンピュータインタラクションの効率を向上させ、ハードウェア処理の占有リソースを削減することができる。
【図面の簡単な説明】
【0013】
【
図1】本発明の実施例に係る仮想シーンにおける状態切り替えシステムの構成の概略図である。
【
図2】本発明の実施例に係る電子機器の構成の概略図である。
【
図3】本発明の実施例に係る仮想シーンにおける状態切り替え装置にインストールされたヒューマンコンピュータインタラクションエンジンの原理の概略図である。
【
図4】本発明の実施例に係る仮想シーンにおける状態切り替え方法のフローチャートである。
【
図5】本発明の実施例に係る仮想シーンの状態表示インターフェースの概略図である。
【
図6】本発明の実施例に係る仮想シーンの表示インターフェースの概略図である。
【
図7】本発明の実施例に係る仮想シーンの状態切り替えウィジェットのトリガの概略図である。
【
図8】本発明の実施例に係る状態切り替えウィジェットのトリガの概略図である。
【
図9】本発明の実施例に係るスライド軌跡の概略図である。
【
図10】本発明の実施例に係る状態切り替えの概略図である。
【
図11】本発明の実施例に係る切り替え指示の概略図である。
【
図12】本発明の実施例に係る仮想シーンにおける状態切り替え方法のフローチャートである。
【
図13】本発明の実施例に係る仮想シーンにおける状態切り替え方法のフローチャートである。
【
図14A】本発明の実施例に係るトリガ検出の概略図である。
【
図14B】本発明の実施例に係るトリガ検出の概略図である。
【
図15】本発明の実施例に係る仮想シーンにおける状態切り替え装置の構成の概略図である。
【発明を実施するための形態】
【0014】
本発明の目的、技術的手段及び利点をより明確にするために、以下は、図面を参照しながら本発明の実施形態をさらに詳細に説明する。説明される実施例は、本発明を制限するものではなく、当業者は、創造的な作業を行うことなく得られる他の全ての実施例は、本発明の保護の範囲に属する。
【0015】
以下の説明では、言及される「幾つかの実施例」は、全ての可能な実施例のサブセットを説明しているが、「幾つかの実施例」は、全ての可能な実施例の同一又は異なるサブセットであってもよく、矛盾しない限り、互いに組み合わせられてもよい。
【0016】
以下の説明では、言及される用語「第1の」、「第2の」は、単なる類似のオブジェクトを区別するためのものであり、オブジェクトの特定の順序を表すものではない。なお、「第1の」、「第2の」は、許可されている場合に、記載される本発明の実施例が本明細書に図示又は記載されているもの以外の順序で実施できるように、特定の順序又は前後の順序を交換されてもよい。
【0017】
特に明記されていない限り、ここで使用される全ての技術用語及び科学用語は、当業者が通常理解できる意味と同一である。本明細書で使用される用語は、単なる本発明の実施例を説明するためのものであり、本発明を制限するものではない。
【0018】
本発明の実施例をさらに詳細に説明する前に、本発明の実施例に含まれる名詞及び用語を説明し、本発明の実施例に含まれる名詞及び用語は、以下の解釈に適している。
【0019】
(1)クライアント:様々なサービスを提供するために端末で実行されるアプリケーションであり、例えばビデオ再生クライアント、ゲームクライアントなどである。
【0020】
(2)「に応じて」:実行された操作が依存する条件又は状態を表すために使用される。依存する条件又は状態が満たされる場合、実行される1つ又は複数の操作は、リアルタイムであってもよいし、設定された遅延を有してもよい。特に指定のない限り、実行される複数の操作の実行順序を制限しない。
【0021】
(3)仮想シーン:アプリケーションプログラムが端末で実行されている際に表示(又は提供)される仮想シーンである。該仮想シーンは、実世界に対するシミュレーション環境であってもよいし、半シミュレーション及び半架空の環境であってもよいし、純粋な架空の環境であってもよい。仮想シーンは、2次元仮想シーン、2.5次元仮想シーン、及び3次元仮想シーンのうちの何れかであってもよいが、本発明の実施例は仮想シーンの次元に限定されない。例えば、仮想シーンは、空、陸地、海などを含んでもよい。陸地は、砂漠、都市などの環境要素を含んでもよく、ユーザは、仮想オブジェクトが該仮想シーン内を移動するように制御してもよい。
【0022】
(4)仮想オブジェクト:仮想シーンにおいてインタラクションを行うことができる人間又は物の形象であってもよいし、仮想シーンにおける移動可能なオブジェクトであってもよい。該移動可能なオブジェクトは、仮想キャラクタ、仮想動物、漫画又はアニメーションのキャラクタなどであってもよく、例えば、仮想シーンに表示されるキャラクタ、動物、植物、樽、壁、石などである。該仮想オブジェクトは、仮想シーンにおけるユーザを表す仮想な形象であってもよい。仮想シーンには、複数の仮想オブジェクトが含まれてもよく、各仮想オブジェクトは、仮想シーンにおいて独自の形状及び体積を持ち、仮想シーンにおいて空間の一部を占める。
【0023】
好ましくは、該仮想オブジェクトは、クライアントでの操作により制御されるユーザキャラクタであってもよいし、トレーニングにより仮想シーンの対戦において設定された人工知能(AI:Artificial Intelligence)であってもよいし、仮想シーンのインタラクションで設定された非プレーヤキャラクタ(NPC:Non-Player Character)であってもよい。好ましくは、該仮想オブジェクトは、仮想シーンにおいて対抗的なインタラクションを実行する仮想キャラクタであってもよい。好ましくは、該仮想シーンのインタラクションに参加する仮想オブジェクトの数は、事前に設定されてもよいし、インタラクションに参加するクライアントの数に応じて動的に決定されてもよい。
【0024】
シューティングゲームの例では、ユーザは、仮想オブジェクトが該仮想シーンの空に自由に落下したり、パラシュートを開いて落下したり、陸地で走ったり、ジャンプしたり、這ったり、前に曲がって歩いたりするように制御してもよいし、仮想オブジェクトが海で泳いだり、浮いたり、ダイビングしたりするように制御してもよい。なお、ユーザは、仮想オブジェクトが仮想車両を乗って仮想シーン内を移動するように制御してもよい。例えば、仮想車両は、仮想自動車、仮想航空機、仮想ヨットなどであり、ここで、単なる上記のシナリオを一例にして説明しているが、本発明の実施例はこれらに限定されない。ユーザは、仮想オブジェクトが仮想アイテムを介して他の仮想オブジェクトと対抗的なインタラクションを行うように制御してもよい。例えば、仮想アイテムは、手榴弾、クラスター地雷、粘着性手榴弾などの投げタイプの仮想アイテムであってもよいし、マシンガン、ピストル、ライフルなどの射撃タイプの仮想アイテムであってもよく、本発明は仮想アイテムの種類に特に限定されない。
【0025】
(5)シーンデータ:インタラクションプロセスにおける仮想シーン内のオブジェクトの様々な特徴を表すものであり、例えば、仮想シーン内のオブジェクトの位置を含んでもよい。なお、仮想シーンのタイプに応じて様々なタイプの特徴を含んでもよい。例えば、ゲームの仮想シーンでは、シーンデータは、仮想シーンで構成された様々な機能の待機時間(所定の期間内に同一の機能を使用可能な回数に依存する)を含んでもよいし、ゲームキャラクタの様々な状態を表す属性値、例えば生命値(HP)(赤の量とも称される)や魔法値(青の量とも称される)などを含んでもよい。
【0026】
図1は、本発明の実施例に係る仮想シーンにおける状態切り替えシステム100の構成の概略図である。
図1に示すように、1つの例示的なアプリケーションを実現するために、端末(例えば、端末400-1及び端末400-2)は、ネットワーク300を介してサーバ200に接続され、ネットワーク300は、広域ネットワーク若しくはローカルエリアネットワーク、又はその2つの組み合わせであってもよく、無線又は有線リンクを使用してデータ伝送を実現する。
【0027】
端末は、スマートフォン、タブレットコンピュータ、ノートブックコンピュータなどの様々なタイプのユーザ端末であってもよいし、デスクトップコンピュータ、ゲームコンソール、テレビ、車載端末又はこれらのデータ処理装置のうちの任意の2つ以上の組み合わせであってもよい。サーバ200は、様々なサービスをサポートする個別に構成された単一のサーバであってもよいし、サーバクラスターとして構成されてもよいし、クラウドサーバであってもよい。
【0028】
実際の応用では、端末は、仮想シーンをサポートするアプリケーションプログラムをインストールして実行する。該アプリケーションプログラムは、一人称シューティングゲーム(FPS:First-Person Shooting game)、三人称シューティングゲーム、マルチプレーヤオンラインバトルアリーナゲーム(MOBA:Multiplayer Online Battle Arena games)、大規模マルチプレーヤオンラインゲーム(MMO:Massive Multiplayer Online)、2次元(Two Dimension、2Dと略称される)ゲームアプリケーション、3次元(Three Dimension、3Dと略称される)ゲームアプリケーション、仮想現実アプリケーションプログラム、3次元マッププログラム、軍事シミュレーションプログラム、又はマルチプレーヤガンバトルサバイバルゲームの何れかであってもよい。該アプリケーションプログラムは、スタンドアロンバージョンなどのアプリケーションプログラム、例えばスタンドアロンバージョンの3Dゲームプログラムであってもよい。ユーザは、端末を使用して仮想オブジェクトが仮想シーンでアクティビティを実行するように制御してもよい。該アクティビティは、体の姿勢の調整、這うこと、走ること、乗ること、ジャンプ、運転、拾うこと、射撃、攻撃、投げること、切ることの少なくとも1つを含むが、これらに限定されない。例えば、仮想オブジェクトは、人間キャラクタ又はアニメキャラクタなどをシミュレートする仮想キャラクタである。
【0029】
例示的なシーンでは、端末400-1により制御される第1の仮想オブジェクトと他の端末400-2により制御される第2の仮想オブジェクトとは、同一の仮想シーン内に位置する。この場合、第1の仮想オブジェクトは、仮想シーンにおいて第2の仮想オブジェクトとインタラクションを行ってもよい。幾つかの実施例では、第1の仮想オブジェクトと第2の仮想オブジェクトは、同盟関係にあってもよい。例えば、第1の仮想オブジェクトと第2の仮想オブジェクトは、同一のチーム及び組織に属し、仮想シーンでは、第1の仮想オブジェクトと敵対的な関係にある仮想オブジェクトがあり、敵対的な関係にある仮想オブジェクト間では、陸地で互いに射撃することなどの敵対的なインタラクションを行ってもよい。
【0030】
電子ゲームのシーンの例では、ユーザは、事前に該端末を操作してもよく、端末は、ユーザの操作を検出した後、電子ゲームのゲーム構成ファイルをダウンロードしてもよい。該ゲーム構成ファイルは、電子ゲームのアプリケーションプログラム、インターフェース表示データ又は仮想シーンデータなどを含んでもよい。これによって、ユーザは、端末に電子ゲームにログインした際に、ゲーム構成ファイルを呼び出し、電子ゲームインターフェースをレンダリング及び表示することができる。ユーザは、端末でタッチ操作を行ってもよい。端末は、タッチ操作を検出した後、タッチ操作に対応するゲームデータを決定し、ゲームデータをレンダリング及び表示してもよい。ゲームデータは、仮想シーンデータ、仮想シーン内の仮想オブジェクトの動作データなどを含んでもよい。
【0031】
実際の応用では、仮想シーンに入る際に、端末は、仮想シーンのシーンデータの取得要求をサーバ200に送信し、サーバは、仮想シーンのシーンデータの取得要求に基づいて、仮想シーンのシーンデータを取得して端末に返す。端末は、仮想シーンのシーンデータを受信し、該シーンデータに基づいて仮想シーンの画面をレンダリングし、仮想シーンのインターフェースに第1の動作状態にある仮想オブジェクトを表示する。仮想オブジェクトは仮想アイテムを装備しており、仮想アイテムは第1の装備状態にある。仮想オブジェクトが第2の動作状態において第2の装備状態にある仮想アイテムを制御するように、仮想オブジェクトに対する第1の切り替え命令に応じて、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第1の動作状態から前記第2の動作状態に切り替えるように制御する。
【0032】
軍事仮想シミュレーションアプリケーションの例では、仮想シーン技術を使用して、訓練生が戦場環境を視覚的及び聴覚的に体験し、戦闘領域の環境特性に精通し、必要な設備を介して仮想環境内のオブジェクトとインタラクションを行う。戦場環境の実現方法は、戦闘背景、戦場シーン、様々な兵器装備及び戦闘要員などを含む対応する3次元戦場環境の図形画像ライブラリにより、背景生成及び画像合成により真実の環境に近い立体的な戦場環境を作成することにより実現されてもよい。
【0033】
実際の応用では、仮想シーンに入る際に、端末は、仮想シーンのシーンデータの取得要求をサーバ200に送信し、サーバは、仮想シーンのシーンデータの取得要求に基づいて、仮想シーンのシーンデータを取得して端末に返す。端末は、仮想シーンのシーンデータを受信し、該シーンデータに基づいて仮想シーンの画面をレンダリングし、仮想シーンのインターフェースに第1の動作状態にある仮想オブジェクト(例えば模擬戦闘要員)を表示する。仮想オブジェクトは仮想アイテムを装備しており、仮想アイテムは第1の装備状態にある。仮想オブジェクトが第2の動作状態において第2の装備状態にある仮想アイテムを制御するように、仮想オブジェクトに対する第1の切り替え命令に応じて、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第1の動作状態から前記第2の動作状態に切り替えるように制御する。
【0034】
図2は、本発明の実施例に係る電子機器500の構成の概略図である。
図2に示すように、実際の応用では、電子機器500は、
図1に示される端末400-1、端末400-2又はサーバであってもよい。電子機器が
図1に示される端末400-1又は端末400-2であることを一例にして、本発明の実施例に係る仮想シーンにおける状態切り替え方法を実施するためのコンピュータ機器を説明する。
図5に示すように、電子機器500は、少なくとも1つのプロセッサ510、メモリ550、少なくとも1つのネットワークインターフェース520及びユーザインターフェース530を含む。電子機器500における各構成要素は、バスシステム540を介して接続されている。なお、バスシステム540は、これらの構成要素間の接続通信を実現するために使用される。バスシステム540は、データバスに加えて、電力バス、制御バス及び状態信号バスを含む。なお、説明の便宜上、
図2における各バスをバスシステム540と総称する。
【0035】
プロセッサ510は、汎用プロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、又は他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどの信号処理機能を備えた集積回路チップであってもよい。ここで、汎用プロセッサは、マイクロプロセッサ又は任意の従来のプロセッサなどであってもよい。
【0036】
ユーザインターフェース530は、メディア内容の表示を可能にする1つ又は複数の出力装置531を含み、該出力装置531は、1つ又は複数のスピーカ及び/又は1つ又は複数の視覚的ディスプレイを含む。ユーザインターフェース530は、1つ又は複数の入力装置532をさらに含み、該入力装置532は、例えばキーボード、マウス、マイクロフォン、タッチスクリーンディスプレイ、カメラ、及び他の入力ボタン及びウィジェットなどのユーザ入力を容易にするユーザインターフェースコンポーネントを含む。
【0037】
メモリ550は、取り外し可能なもの、取り外し不可能なもの、又はそれらの組み合わせであってもよい。例示的なハードウェアデバイスには、ソリッドステートメモリ、ハードドライブ、光学ドライブなどを含む。メモリ550は、好ましくは、プロセッサ510から物理的に離れた1つ又は複数のストレージデバイスを含む。
【0038】
メモリ550は、揮発性メモリ又は不揮発性メモリを含み、或いは揮発性及び不揮発性メモリの両方を含んでもよい。不揮発性メモリは、読み取り専用メモリ(ROM:Read Only Memory)であってもよく、揮発性メモリは、ランダムアクセスメモリ(RAM:Random Access Memory)であってもよい。本発明の実施例で説明されるメモリ550は、任意の適切なタイプのメモリを含むことを意図している。
【0039】
幾つかの実施例では、メモリ550は、様々な動作をサポートするためにデータを格納することができ、その例には、以下に例示するように、プログラム、モジュール、及びデータ構造、或いはそれらのサブセット又はスーパーセットが含まれる。
【0040】
オペレーティングシステム551は、様々な基本システムサービスを処理し、様々な基本サービスを実装し、ハードウェアベースのタスクを処理するためのフレームワーク層、コアライブラリ層、ドライバ層などのハードウェア関連タスクを実行するためのシステムプログラムを含む。
【0041】
ネットワーク通信モジュール552は、1つ又は複数の(有線又は無線)ネットワークインターフェース520を介して他の電子機器に到達する。ネットワークインターフェース520は、例えばブルートゥース、ワイヤレス互換性(WiFi)、及びユニバーサルシリアルバス(USB:Universal Serial Bus)などを含む。
【0042】
表示モジュール553は、ユーザインターフェース530を介して関連付けられた出力装置531(例えば、ディスプレイ、スピーカなど)により情報を表示する(例えば、周辺機器を操作し、内容及び情報を表示するためのユーザインターフェース)。
【0043】
入力処理モジュール554は、1つ又は複数の入力装置532のうちの1つからの1つ又は複数のユーザ入力又はインタラクションを検出し、検出された入力又はインタラクションを変換する。
【0044】
幾つかの実施例では、本発明の実施例に係る仮想シーンにおける状態切り替え装置は、ソフトウェアで実現されてもよい。
図2に示すように、メモリ550に記憶された仮想シーンにおける状態切り替え装置555は、プログラム及びプラグインなどの形態のソフトウェアであってもよく、第1の表示モジュール5551及び第1の制御モジュール5552を含む。これらのモジュールは、論理的であるため、実現された機能に従って任意の組み合わせ又はさらなる分割を行ってもよい。以下は、モジュールの機能を説明する。
【0045】
幾つかの実施例では、仮想シーンにおける状態切り替え装置555には、仮想シーンにおける状態切り替え方法を実現するように構成されたヒューマンコンピュータインタラクションエンジンがインストールされている。ヒューマンコンピュータインタラクションエンジンは、仮想シーンにおける状態切り替え方法を実現するように構成された機能モジュール、コンポーネント又はプラグインソフトウェアを含む。
図3は、本発明の実施例に係る仮想シーンにおける状態切り替え装置にインストールされたヒューマンコンピュータインタラクションエンジンの原理の概略図である。
図3に示すように、仮想シーンがゲームシーンであることを一例にして説明し、それに対応して、ヒューマンコンピュータインタラクションエンジンは、ゲームエンジンである。
【0046】
ゲームエンジンは、特定の種類のゲームを実行するためにマシンにより設計されたマシンにより認識可能な一連のコード(命令)の集合であり、エンジンのようなものであり、ゲームの動作を制御する。ゲームプログラムは、主にゲームエンジンとゲームリソースの2つの部分に分けることができる。ゲームリソースは、画像、音声、動画などを含み、ゲーム=エンジン(プログラムコード)+リソース(画像、音声、動画など)となり、ゲームエンジンは、ゲーム設計の要求に応じてこれらのリソースを順次呼び出す。
【0047】
本発明の実施例に係る仮想シーンにおける状態切り替え方法は、
図2に示される仮想シーンにおける状態切り替え装置内の各モジュールが
図3に示されるゲームエンジンの関連モジュール、コンポーネント又はプラグインソフトウェアを呼び出すことによって実施されてもよい。以下は、
図3に示されるゲームエンジンに含まれるモジュール、コンポーネント、又はプラグインソフトウェアを例示的に説明する。
【0048】
(1)仮想カメラ:ゲームシーン画面に必要なコンポーネントであり、ゲームシーン画面を表示するために使用される。ゲームシーンは、少なくとも1つの仮想カメラに対応し、実際のニーズに応じて、2つ以上の仮想カメラを有してもよい。仮想カメラは、ゲームのレンダリングウィンドウとして使用され、プレーヤのためにゲームの世界の画面コンテンツを取り込み、表示する。仮想カメラのパラメータを設定することで、一人称視点や第三者の視点などのプレーヤがゲームの世界を観察するための視点(視角)を調整することができる。
【0049】
(2)シーン構成:衝突検出、可視性カリングなどのゲームシーン管理に使用される。ここで、衝突検出は、衝突体を介して実現されてもよく、実際のニーズに応じて、衝突体を軸整列バウンディングボックス(Axis-Aligned Bounding Box:AABB)により実現されてもよいし、指向バウンディングボックス(Oriented Bounding Box:OBB)により実現されてもよい。可視性カリングは、視覚体に基づいて実現されてもよい。視覚体は、仮想カメラにより生成された立体枠であり、カメラの視認可能な範囲外のオブジェクトをトリミングするために使用される。視覚体内のオブジェクトはビュープレーンに投影され、視覚体の外側のオブジェクトは破棄されて処理されない。
【0050】
(3)地形管理:ゲームシーンにおける地形管理のためのコンポーネントであり、山、峡谷、洞窟などのゲームシーン内のゲーム地形を作成、編集するために使用される。
【0051】
(4)エディタ:ゲーム設計における補助ツールであり、以下のものを含む。
【0052】
シーンエディタ:地形の変更、植生分布のカスタマイズ、照明レイアウトなどのゲームシーンの内容を編集するために使用される。
【0053】
モデルエディタ:ゲーム内モデル(ゲームシーンにおけるキャラクタモデル)を作成及び編集するために使用される。
【0054】
特殊効果エディタ:ゲーム画面における特殊効果を編集するために使用される。
【0055】
アクションエディタ:ゲーム画面のキャラクタのアクションを定義及び編集するために使用される。
【0056】
(5)特殊効果コンポーネント:ゲーム画面におけるゲーム特殊効果の作成と編集に使用される。実際の応用では、粒子特殊効果とテクスチャUVアニメーションを使用して実現されてもよい。ここで、粒子特殊効果は、大量の単一粒子を組み合わせて固定的な形状を表現し、コントローラとスクリプトによりその全体又は個々の動きを制御し、現実の水、火、霧、ガスなどの効果をシミュレートする。UVアニメーションは、画像のUV座標を動的に変更することによって実現されるテクスチャアニメーションである。
【0057】
(6)スケルタルアニメーション:内蔵されたボーンを使用してオブジェクトを移動させることで実現されるアニメーションであり、次の2つの概念として理解されてもよい。
【0058】
骨:皮膚を制御するための抽象的な概念であり、例えば皮膚を制御するため人間の骨などである。
【0059】
スキニング:骨により制御され、外部に表示される要素であり、例えば骨の影響を受ける人間の皮膚などである。
【0060】
(7)モーフ(Morph)アニメーション:即ち、基本モデルの頂点を調整することによって実現される変形アニメーションである。
【0061】
(8)UIウィジェット:ゲーム画面を表示するためのウィジェットである。
【0062】
(9)基礎アルゴリズム:ゲームエンジンの機能を実現するために呼び出す必要のあるアルゴリズムであり、例えばシーン構成を実現するために必要なグラフィックスアルゴリズム、スケルタルアニメーションを実現するために必要な行列変換及びベクトル変換を含む。
【0063】
(10)レンダリングコンポーネント:ゲーム画面効果を表示するために必要なコンポーネントである。レンダリングコンポーネントにより、3Dベクトルで記述されたシーンを2D画素で記述されたシーンに変換することができる。例えば、モデルレンダリング及びシーンレンダリングを含む。
【0064】
(11)A*探索:ゲーム設計における経路計画、探索及びグラフ走査を行う際に使用される最短経路を探索するためのアルゴリズムである。
【0065】
次に、本発明の実施例に係る仮想シーンにおける状態切り替え方法を説明する。実際に実施する際に、本発明の実施例に係る仮想シーンにおける状態切り替え方法は、サーバ又は端末により単独して実施されてもよいし、サーバと端末により共同で実施されてもよい。
【0066】
図4は、本発明の実施例に係る仮想シーンにおける状態切り替え方法のフローチャートである。該仮想シーンにおける状態切り替え方法は、端末により独立して実施される。以下は、
図4を参照しながら該方法のステップを説明する。
【0067】
ステップ101:端末は、仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示する。仮想オブジェクトは、仮想アイテムを装備しており、仮想アイテムは、第1の装備状態にある。
【0068】
実際の応用では、端末には、仮想シーンをサポートするアプリケーションプログラムがインストールされている。ユーザが端末でアプリケーションプログラムを起動し、端末がアプリケーションプログラムを実行する際に、端末は、仮想シーンの画面を表示する。ここで、仮想シーンの画面は、一人称視点のオブジェクト視点で仮想シーンを観察して得られてもよいし、三人称視点で仮想シーンを観察して得られてもよい。仮想シーンの画面は、インタラクティブオブジェクト及びオブジェクトインタラクション環境を含む。例えば、互いに敵対的な関係にある第1の仮想オブジェクトと第2の仮想オブジェクトとは仮想シーンにおいてインタラクションを行う。
【0069】
ユーザは、端末により、仮想シーンにある仮想オブジェクトが動作を行うように操作してもよい。動作は、体の姿勢の調整、這うこと、歩くこと、走ること、乗ること、ジャンプ、攻撃、投げること、スライドタックルのうちの少なくとも1つを含むが、これらに限定されない。これによって、仮想オブジェクトが対応する動作状態にある。さらに、第1の動作状態は、静止状態であってもよい。例えば、仮想オブジェクトは、シミュレートされたキャラクタ又はアニメキャラクタなどの仮想キャラクタであり、仮想オブジェクトは、上記の動作状態の何れかにあってもよい。
【0070】
ユーザは、仮想オブジェクトが仮想シーン内で動作を行うように制御する際に、仮想オブジェクトが対応する仮想アイテムを装備するようにさらに制御してもよい。ここで、異なるタイプの仮想アイテムは、異なる装備状態に対応する。例えば、仮想アイテムが機関銃、ピストル、ライフルなどの射撃タイプの仮想アイテムである場合、対応する装備状態は、把持状態、照準状態、発射状態又は収納状態であってもよい。別の例では、仮想アイテムが手榴弾、クラスター地雷、粘着性手榴弾などの投げタイプの仮想アイテムである場合、対応する装備状態は、把持状態、投擲状態又は収納状態などであってもよい。いわゆる収納状態とは、仮想オブジェクトが収納状態にある仮想アイテムを使用できないように、仮想オブジェクトが対応する仮想アイテムを背負ったり、バッグに置いたりすることを意味する。なお、これに加えて、仮想アイテムは、他のタイプのアイテムであってもよい。それに応じて、装備状態は、対応する仮想アイテムに対応する状態であってもよい。本発明は、仮想アイテムのタイプ、及び仮想アイテムの構成状態に限定されない。
【0071】
幾つかの実施例では、端末は、仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示する前に、以下のように仮想オブジェクトが第1の動作状態にあるように制御してもよい。
【0072】
仮想シーンの画面において方向ジョイスティックウィジェットを表示し、方向ジョイスティックウィジェットに対するドラッグ操作に応じて、ドラッグ操作に対応するドラッグ位置を取得し、ドラッグ位置が目標位置に位置する場合、仮想オブジェクトが第1の動作状態にあるように制御する。
【0073】
ここで、方向ジョイスティックウィジェットは、仮想オブジェクトの動作方向及び動作状態を制御するために使用され、目標位置は、仮想オブジェクトが第1の動作状態にあるようにトリガするための位置である。ドラッグ操作に対応するドラッグ位置が目標位置に位置すれば、方向ジョイスティックウィジェットをどのドラッグ経路でドラッグしても、仮想オブジェクトが第1の動作状態にあるように制御することができる。
【0074】
ユーザが方向ジョイスティックウィジェットを目標位置にドラッグした場合、仮想オブジェクトの動作状態に対する制御命令をトリガし、仮想オブジェクトが第1の動作状態で動作するように制御する。そうでない場合、他の操作を実行し、例えば、仮想オブジェクトが他の動作状態で動作するように制御する。例えば、実際の応用では、第1の動作状態は、這う状態、歩く状態、走る状態、乗る状態、ジャンプ状態、スライドタックル状態などの何れかの動作状態であってもよく、他の動作状態は、第1の動作状態とは異なる状態である。
【0075】
図5は、本発明の実施例に係る仮想シーンの状態表示インターフェースの概略図である。例えば、
図5に示すように、ユーザが方向ジョイスティックウィジェット501を目標位置502まで上方にドラッグすると、端末は、方向ジョイスティックウィジェットのドラッグ操作に応じて、仮想オブジェクト503が歩く状態にあるように制御し、仮想オブジェクト503が歩行中に仮想アイテムを把持するように制御する。この場合、仮想オブジェクト503の動作状態は歩行状態であり、仮想オブジェクトが装備している仮想アイテムの装備状態は把持状態である。
【0076】
幾つかの実施例では、端末は、仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示する前に、仮想シーンの画面において方向ジョイスティックウィジェットを表示し、方向ジョイスティックウィジェットに対するドラッグ操作に応じて、ドラッグ操作により示されるドラッグ方向及びドラッグ距離を決定し、ドラッグ方向と目標ドラッグ方向とが一致し、且つドラッグ距離が目標距離に達した場合、仮想オブジェクトが第1の動作状態にあるように制御してもよい。
【0077】
実際の応用では、目標のドラッグ方向及びドラッグ距離を事前に設定してもよい。ここで、仮想シーン画面には、ユーザが対応するドラッグ操作を実行するように指示するために、目標のドラッグ方向及びドラッグ距離に対応するプロンプト情報が表示されている。ここで、ドラッグ距離を決定する際に、端末は、ユーザがドラッグ操作をトリガした開始位置と終了位置を取得する。ここで、座標の形式でドラッグ操作の開始位置(即ち、ユーザが方向ジョイスティックをタッチした位置)と終了位置(即ち、ユーザが方向ジョイスティックを放した位置)を記録し、開始位置と終了位置に基づいてドラッグ操作のドラッグ距離を決定し、ドラッグ距離と目標距離とを比較してもよい。ドラッグ距離が目標距離に達した場合、仮想オブジェクトの動作状態に対する制御命令をトリガし、仮想オブジェクトが第1の動作状態で動作するように制御してもよい。そうでない場合、他の操作を行い、例えば仮想オブジェクトが第1の動作状態とは異なる他の動作状態にあり、他の動作状態で動作するように制御する。
【0078】
ステップ102:仮想オブジェクトが第2の動作状態において第2の装備状態にある仮想アイテムを制御するように、仮想オブジェクトに対する第1の切り替え命令に応じて、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御する。
【0079】
ここで、第2の装備状態は、仮想オブジェクトが第2の動作状態で仮想アイテムを制御できる装備状態である。即ち、仮想オブジェクトは、第2の装備状態において第2の装備状態にある仮想アイテムを制御又は使用して対応する操作を行い、或いは、仮想オブジェクトは、第2の動作状態において仮想アイテムが第2の装備状態にあるように制御することができる。例えば、第2の動作状態が歩行状態であり、第2の装備状態が把持状態である場合、仮想オブジェクトは、歩行状態において把持状態にある仮想アイテムを制御して照準や射撃などの操作を実行してもよい。別の例として、第1の動作状態が走る状態であり、第2の装備状態が収納状態である場合、仮想オブジェクトは、走り速度を向上させるために、走る状態において収納状態にある仮想アイテムを収納状態に維持するように制御してもよい。
【0080】
実際の応用では、第1の動作状態は第2の動作状態とは異なり、第1の装備状態も第2の装備状態とは異なる。例えば、仮想オブジェクトが歩行状態において仮想アイテムを把持している際に、端末は、第1の切り替え命令を受信した場合、第1の切り替え命令に応じて、仮想オブジェクトが歩行状態(即ち第1の動作状態)からしゃがみ状態(即ち第2の動作状態)に切り替えるように制御し、仮想オブジェクトが仮想アイテムを使用して敵を撃つように制御し、即ち仮想アイテムの装備状態を把持状態(即ち第1の装備状態)から発射状態(即ち第2の装備状態)に切り替えるように制御する。別の例では、仮想オブジェクトが手ぶらで戦う準備ができている状態にある際に、端末は、第1の切り替え命令を受信した場合、第1の切り替え命令に応じて、仮想オブジェクトが仮想アイテムを把持して他のオブジェクトと戦うように制御し、即ち仮想オブジェクトの動作状態を戦闘準備完了状態(即ち第1の動作状態)から戦闘状態(即ち第2の動作状態)に切り替えるように制御し、仮想アイテムを収納状態(即ち第1の装備状態であり、手ぶらは仮想オブジェクトが仮想アイテムを把持していないことを意味する)から把持状態(即ち第2の装備状態であり、ナイフで戦うことは仮想オブジェクトがナイフを把持していることを意味する)に切り替えるように制御する。
【0081】
なお、端末が第1の切り替え命令に応じて実行される2つの切り替え動作の実行順序は特に限定されない。例えば、仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替える切り替え操作を実行してから、仮想オブジェクトの動作状態を第1の動作状態から第2の動作状態に切り替える切り替え操作を行ってもよいし、逆の場合でもよいし、2つの切り替え動作を同時に実行してもよい。
【0082】
幾つかの実施例では、端末は、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御する前に、以下のように仮想オブジェクトに対する第1の切り替え命令を受信してもよい。仮想オブジェクトに対する状態切り替えウィジェットを表示し、状態切り替えウィジェットに対するトリガ操作に応じて、仮想オブジェクトに対する第1の切り替え命令を受信する。
【0083】
ここで、状態切り替えウィジェットは、仮想シーンにおいて仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えることができる機能アイコン又はボタンであり、状態切り替えウィジェットは、仮想シーンの画面に浮動的に表示されてもよい。なお、状態切り替えウィジェットのトリガ操作は、状態切り替えウィジェットのタップ(クリック)操作、長押し操作、又はスライド操作などであってもよく、本発明は、トリガ操作の具体的な態様に限定されない。
【0084】
図6は、本発明の実施例に係る仮想シーンの表示インターフェースの概略図である。
図6に示すように、切り替え動作の前に、仮想オブジェクト601は、仮想シーンにおいて「歩行及び銃把持状態」にあり、即ち、第1の動作状態は歩行状態であり、第1の装備状態は把持状態である。ユーザが状態切り替えウィジェット602をトリガすると、端末は、該トリガ操作に基づいてトリガされた第1の切り替え命令に応じて、仮想オブジェクト601が「歩行及び銃把持状態」から「銃収納及び疾走状態」に切り替えるように制御し、即ち、仮想オブジェクト601が歩行状態から疾走状態(第2の動作状態)に切り替えるように制御すると共に、仮想アイテム(即ち銃)の装備状態を把持状態から収納状態(第2の装備状態であり、即ち仮想オブジェクトが銃を収納して背負う状態)に切り替えるように制御する。これによって、仮想オブジェクトが仮想アイテムを把持する必要がないため、走り速度を向上させることができる。
【0085】
幾つかの実施例では、端末は、以下のように仮想オブジェクトに対する状態切り替えウィジェットを表示してもよい。仮想シーンの画面において、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を制御するための方向ジョイスティックウィジェットを表示し、方向ジョイスティックウィジェットに対するドラッグ操作に応じて、ドラッグ操作に対応するドラッグ距離が目標距離に達した場合、仮想オブジェクトに対する状態切り替えウィジェットを表示する。
【0086】
ここで、方向ジョイスティックウィジェットは、仮想オブジェクトの動作状態及び仮想オブジェクトが装備している仮想アイテムの装備状態を制御するために使用される。実際の実施では、ユーザは、方向ジョイスティックウィジェットに対するドラッグ操作により、対応する状態切り替えウィジェットの表示をトリガしてもよい。
【0087】
図7は、本発明の実施例に係る仮想シーンの状態切り替えウィジェットのトリガの概略図である。
図7に示すように、ユーザが方向ジョイスティックウィジェット701を目標位置にドラッグすると、仮想シーンの画面に仮想オブジェクトに対する状態切り替えウィジェット702を表示し、ユーザは、状態切り替えウィジェット702をトリガすることで、仮想オブジェクトの動作状態及び装備している仮想アイテムの装備状態を切り替えてもよい。
【0088】
幾つかの実施例では、端末は、以下のように仮想オブジェクトに対する状態切り替えウィジェットを表示してもよい。仮想オブジェクトにより前記仮想シーンにおいて獲得された実績を表示し、実績が実績閾値に達した場合、仮想オブジェクトに対する状態切り替えウィジェットを表示する。
【0089】
ここで、実績は、仮想オブジェクトが仮想シーンにおいてタスクを実行して取得されたタスクスコアであってもよいし、取得された仮想リソース値であってもよいし、仮想オブジェクトが仮想シーンにおいて第1の動作状態で動作して達成した動作値であってもよく、例えば、第1の動作状態が歩行状態である場合、歩行状態で達成した歩行距離の値などであってもよい。仮想オブジェクトが仮想シーンにおいて達成した実績が仮想オブジェクトの動作状態及び装備している仮想アイテムの装備状態を切り替えるための条件を満たす場合、仮想シーンの画面に状態切り替えウィジェットを表示し、ユーザが切り替え操作を実現するようにウィジェットをトリガする。例えば、仮想オブジェクトにより仮想シーンにおいて得られたスコアが目標スコアに達した場合、得られた仮想リソース値が目標リソース値に達した場合、又は歩行距離が目標距離に達した場合、対応する状態切り替えウィジェットを表示する。これによって、状態切り替えウィジェットを使用可能な条件をできるだけ早く達成するように、ユーザが仮想オブジェクトを制御してインタラクション又は動作を行うインセンティブを向上させ。仮想シーンにおけるユーザの活発度を向上させることができる。
【0090】
図8は、本発明の実施例に係る状態切り替えウィジェットのトリガの概略図である。
図8に示すように、仮想オブジェクトにより仮想シーンにおいて得られたスコアが目標スコアに到達していない場合(目標スコアを500点とする)、仮想シーンの画面仮想シーンには状態切り替えウィジェットを表示せず、仮想オブジェクトにより仮想シーンにおいて得られたスコアが目標スコアに達した場合、仮想シーンの画面には状態切り替えウィジェット801を表示する。これによって、ユーザは、状態切り替えウィジェット801をトリガして動作状態及び装備態に対する切り替え操作を実現することができる。
【0091】
幾つかの実施例では、状態切り替えウィジェットは、仮想オブジェクトが特定の動作状態にある場合のみ、又は仮想アイテムの装備状態が特定の装備状態である場合にのみ、表示されてもよい。ここで、状態切り替えウィジェットは、新たに表示されてもよく、即ち、仮想オブジェクトが特定の動作状態以外の状態にある場合、又は仮想アイテムの装備状態が特定の装備状態以外の状態である場合、状態切り替えウィジェットは表示されない。仮想オブジェクトが特定の動作状態において仮想シーンで動作する場合、又は仮想アイテムが特定の装備状態で装備されている場合、状態切り替えウィジェットが表示される。例えば、仮想オブジェクトが立ち状態であり、仮想アイテムが収納状態である場合、状態切り替えウィジェットを表示せず、方向ジョイスティックウィジェットに対するドラッグ操作が受信され、且つドラッグ距離が目標距離に達した場合、仮想オブジェクトが疾走状態で動作するように制御し、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えるための状態切り替えウィジェットを表示するように制御する。
【0092】
幾つかの実施例では、端末は、以下のように、仮想オブジェクトに対する状態切り替えウィジェットを表示してもよい。仮想オブジェクトに対する状態切り替えウィジェットを第1の表示スタイルで表示する。それに応じて、端末は、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、以下のように仮想オブジェクトに対する状態切り替えウィジェットを表示してもよい。第2の動作状態における仮想オブジェクトの動作中、状態切り替えウィジェットを第1の表示スタイルとは異なる第2の表示スタイルで表示する。
【0093】
実際の応用では、非アクティブ状態の状態切り替えウィジェットの表示スタイルは、アクティブ状態の状態切り替えウィジェットの表示スタイルとは異なる。例えば、様々な表示色、透明度などの表示スタイルを使用して、様々な状態における状態切り替えウィジェットを区別して表示する。通常、画面に最初に表示される状態切り替えウィジェットは非アクティブ状態(即ち、使用できない)にあり、仮想シーンの画面に該状態切り替えウィジェットをグレースケール表示(即ち、第1の表示スタイル)で表示する。ユーザが該状態切り替えウィジェットを長押し、例えば0.5秒間長押しした場合、該状態切り替えウィジェットをアクティブ化し、ハイライトの表示スタイル(即ち、第2の表示スタイル)で表示する。
【0094】
例えば、
図6では、状態切り替えウィジェット602がアクティブ化される前に、仮想シーンの画面に非アクティブ状態にある状態切り替えウィジェット602をグレースケール表示で表示する。状態切り替えウィジェット602がアクティブ化された後、即ち、該状態切り替えウィジェット602により仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えることができる場合、仮想オブジェクトが切り替え後の移動状態での移動中に、状態切り替えウィジェット602をハイライトの表示スタイルで表示する。
【0095】
幾つかの実施例では、端末は、以下のように仮想オブジェクトに対する第1の切り替え命令を受信してもよい。トリガ操作が状態切り替えウィジェットに対する押圧操作である場合、押圧操作に対応する押圧時間、押圧圧力及び押圧頻度のうちの少なくとも1つの押圧パラメータを取得し、押圧パラメータが状態切り替え条件を満たす場合、仮想オブジェクトに対する第1の切り替え命令を受信する。
【0096】
ここで、状態切り替え条件を満たす押圧操作が有効な操作とみなされ、有効な操作のみが仮想オブジェクトの第1の切り替え命令をトリガすることができる。
【0097】
幾つかの実施例では、端末は、以下のように仮想オブジェクトに対する第1の切り替え命令を受信してもよい。画面に対するスライド操作を受け付け、スライド操作に対応するスライド軌跡を取得し、スライド軌跡と第1の切り替え命令をトリガするための目標軌跡とのマッチングを行い、マッチング結果を取得し、スライド軌跡と目標軌跡とがマッチしたことがマッチング結果により示された場合、又はスライド軌跡と目標軌跡とのマッチング度(例えば類似度)が目標マッチング度(目標類似度)に達した場合、仮想オブジェクトに対する第1の切り替え命令を受信する。
【0098】
ここで、目標軌跡は、仮想シーンに事前に記憶された軌跡であり、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えるための切り替え命令をトリガすることができる軌跡である。目標軌跡は、実際の状況に応じて設定されてもよい。ユーザが仮想シーンの画面でスライド操作を行う際に、端末は、該スライド操作に応じて、スライド操作に対応するスライド軌跡を取得し、取得されたスライド軌跡と目標軌跡とのマッチングを行う。スライド軌跡と目標軌跡とが一致し、或いは両者のマッチング度が目標マッチング度に達した(例えば、両者の類似度が類似度閾値を超えた)場合、ユーザのスライド操作が対応する切り替え命令をトリガできると判断する。
【0099】
図9は、本発明の実施例に係るスライド軌跡の概略図である。
図9に示すように、ユーザの仮想シーンの画面でのスライド軌跡はスライド軌跡901であり、スライド軌跡901と切り替え命令をトリガするためのターゲット軌跡とのマッチングを行い。マッチングが成功した場合、対応する切り替え命令をトリガする。
【0100】
幾つかの実施例では、端末は、以下のように仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御してもよい。
【0101】
仮想オブジェクトが所在するシーンカテゴリを決定し、仮想アイテムの第1の装備状態とシーンカテゴリとのマッチングを行い、仮想オブジェクトの第1の動作状態とシーンカテゴリとのマッチングを行い、第1の装備状態がシーンカテゴリに適合せず、且つ第1の動作状態がシーンカテゴリに適合しない場合、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態からシーンカテゴリに適合する第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第1の動作状態からシーンカテゴリに適合する第2の動作状態に切り替えるように制御する。
【0102】
ここで、シーンカテゴリは、空中、水中、地面、雪原、障害物などのシーンを含んでもよいが、これらに限定されない。状態切り替え命令が受信された場合、端末は、仮想オブジェクトが現在所在するシーンカテゴリを取得し、仮想オブジェクトの現在の動作状態及び仮想アイテムの装備状態が現在のシーンカテゴリに適合しない場合、現在の動作状態を現在のシーンカテゴリに適合する動作状態に切り替え、仮想アイテムの装備状態を現在のシーンカテゴリに適当する装備状態に切り替える。
【0103】
例えば、仮想オブジェクトは仮想シーンにおいて「銃を持って歩く」、即ち、第1の動作状態は歩行状態であり、仮想アイテム(即ち銃)の第1の装備状態は把持状態である。状態切り替え命令が受信された場合、端末は、シーン要素に基づいて仮想オブジェクトが現在所在するシーンを判断し、例えば、仮想オブジェクトの動きの前方に障害物があるか否かを判断する。例えば、仮想オブジェクトの動きの前方に障害物(例えば壁)があると判断された場合、仮想オブジェクトが「銃を収納して壁を乗り越える」ように制御し、即ち、仮想オブジェクトの動作状態を「歩行状態」から「壁を越える状態」(即ち第2の動作状態)に切り替え、仮想アイテムの装備状態を「把持状態」から「収納状態」(即ち第2の装備状態)に切り替える。別の例では、仮想オブジェクトは、「銃を持って歩く」。仮想シーン状態切り替え命令が受信されると、端末は、仮想オブジェクトが氷雪シーンにあると判断した場合、仮想オブジェクトが「銃を収納してスライドタックルする」ように制御し、即ち、仮想オブジェクトの動作状態を「歩行状態」から「スライドタックル」(即ち第2の動作状態)に切り替え、仮想アイテムの装備状態を「把持状態」から「収納状態」(即ち第2の装備状態)に切り替える。
【0104】
なお、実際の応用では、仮想アイテムの第1の装備状態とシーンカテゴリとのマッチングを行い、仮想オブジェクトの第1の動作状態とシーンカテゴリとのマッチングを行った後、仮想オブジェクトの動作状態及び仮想アイテムの装備状態のうちの一方が現在シーンカテゴリに合致し、他方が現在のシーンカテゴリに合致しないとマッチング結果により示された場合、合致しない状態のみを現在のシーンカテゴリに合致した状態に切り替えるように制御し、現在のシーンカテゴリに合致する状態をそのまま維持してもよい。
【0105】
幾つかの実施例では、端末は、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御する前に、以下のように方向ジョイスティックウィジェットを表示してもよい。仮想オブジェクトが第1の動作状態にある場合、方向ジョイスティックウィジェットを表示する。それに応じて、端末は、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、以下のように方向ジョイスティックウィジェットを表示してもよい。第2の動作状態における仮想オブジェクトの動作中、方向ジョイスティックウィジェットの表示領域における目標領域に目標状態アイコンを表示する。ここで、目標状態アイコンは、仮想オブジェクトが第2の動作状態にあることを示すために使用される。
【0106】
例えば、
図6では、仮想オブジェクトが「銃を持って歩く」状態にある場合、仮想シーンの画面には、仮想オブジェクトの移動方向を制御するための方向ジョイスティックウィジェット603が表示される。仮想オブジェクトが「銃を持って歩く」から「銃を収納して疾走する」に切り替えるように制御した後、即ち、仮想オブジェクトの疾走中、仮想オブジェクトが目標状態アイコンに対応する疾走の動作状態にあることを示すように、方向ジョイスティックウィジェットの表示領域における目標領域に目標状態アイコン604を表示する。
【0107】
幾つかの実施例では、端末は、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、以下のように切り替え操作を再度実行してもよい。
【0108】
仮想オブジェクトが第2の動作状態において動作する動作時間を表示し、仮想オブジェクトが第3の動作状態において第3の装備状態にある仮想アイテムを制御するように、動作時間が目標時間に達した場合、仮想オブジェクトが仮想アイテムの装備状態を第2の装備状態から第3の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第2の動作状態から第3の動作状態に切り替えるように制御する。
【0109】
ここで、第3の動作状態は、第1の動作状態と同一であってもよいし、第1の動作状態とは異なってもよい。同様に、第3の装備状態は、第1の装備状態と同一であってもよいし、第1の装備状態とは異なってもよい。端末は、仮想オブジェクトが仮想シーンにおける複数の異なる動作状態間で切り替えるように制御し、仮想オブジェクトが仮想アイテムの装備状態を複数の異なる装備状態間で切り替えるように制御してもよい。例えば、仮想オブジェクトは、仮想シーンにおいて「銃を持って歩く」状態で3秒間移動した後、「銃を収納して疾走する」状態に切り替え、仮想シーンにおいて「銃を収納して疾走する」状態で5秒間移動した後、「銃を持って歩く」状態に再度切り替る。別の例として、仮想オブジェクトは、仮想シーンにおいて「銃を持って歩く」状態で3秒間移動した後、「銃を収納して疾走する」状態に切り替え、仮想シーンにおいて「銃を収納して疾走する」状態で5秒間移動した後、「銃を持ってスライドタックルする」状態に切り替る。
【0110】
実際の応用では、状態切り替えウィジェットによりトリガされた状態切り替え命令に基づいて状態切り替え操作を実行することに加えて、各状態の期間を設定してもよい。該状態の継続期間が設定された目標期間に達した場合、ユーザが状態切り替えウィジェットをトリガする必要がなく、状態切り替え操作を実行するように対応する状態切り替え命令をトリガする。
【0111】
図10は、本発明の実施例に係る状態切り替えの概略図である。
図10に示すように、仮想シーンの画面には、仮想オブジェクトが「銃を収納して疾走する」状態1001(即ち、第2の動作状態は疾走状態であり、第2の装備状態は収納状態である)で動作する動作時間1003が表示されている。動作期間が目標期間(例えば5秒間)に達した場合、仮想オブジェクトの状態を「銃を収納して疾走する」状態1001から「銃を持って歩く」状態1002に自動的に切り替え、即ち、仮想オブジェクトの動作状態を疾走状態から歩行状態(即ち、第3の動作状態)に自動的に切り替え、仮想オブジェクトが仮想アイテムの装備状態を首脳状態から把持状態(即ち第3の装備状態)に切り替えるように制御する。
【0112】
幾つかの実施例では、端末は、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、以下のように切り替え操作を再度実行してもよい。仮想オブジェクトが第2の動作状態において動作する動作距離を表示し、仮想オブジェクトが第4の動作状態において第4の装備状態にある仮想アイテムを制御するように、動作距離が目標距離に達した場合、仮想オブジェクトが仮想アイテムの装備状態を第2の装備状態から第4の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第2の動作状態から第4の動作状態に切り替えるように制御する。
【0113】
ここで、第4の動作状態は、第1の動作状態と同一であってもよいし、第1の動作状態とは異なってもよく、同様に、第4の装備状態は、第1の装備状態と同一であってもよいし、第1の装備状態とは異なってもよい。実際の応用では、第2の動作状態で移動できる目標距離を事前に設定してもよい。即ち、仮想オブジェクトが第2の動作状態で目標距離を移動した後、状態切り替えを自動的に実行する。実際の実施では、端末は、仮想オブジェクトが第2の動作状態で移動する距離を検出し、第2の動作状態で移動した距離が目標距離に達した場合、仮想オブジェクトが第2の動作状態から第1の動作状態又は他の動作状態に切り替えるように制御し、仮想アイテムの装備状態を第2の装備状態から第1の装備状態又は他の装備状態に切り替えるように制御する。
【0114】
なお、仮想オブジェクトが第2の動作状態で動作する期間が目標期間に達する前、或いは仮想オブジェクトが第2の動作状態での動作距離が目標距離に達する前に、ユーザは、状態切り替えを手動で実行してもよい。
【0115】
幾つかの実施例では、端末は、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、以下のように切り替えることができないことを示す指示情報を表示してもよい。
【0116】
第2の動作状態における仮想オブジェクトの動作中、仮想オブジェクトに対する第2の切り替え命令を受信する。第2の切り替え命令は、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えるように指示するために使用される。仮想オブジェクトの仮想シーンにおけるインタラクションレベルを取得し、第2の切り替え命令に応じて、インタラクションレベルが目標レベルに達していない場合、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えることができないことを示す指示情報を表示する。
【0117】
ここで、切り替え命令を再度受信すると、端末は、仮想シーン内の仮想オブジェクトのインタラクションレベルを取得し、インタラクションレベルが目標レベルに達した場合、仮想オブジェクトの動作状態を第2の動作状態から第4の動作状態に切り替えるように制御し、仮想オブジェクトが仮想アイテムの装備状態を第2の装備状態から第4の装備状態に切り替えるように制御する。インタラクションレベルが目標レベルに達していない場合、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えることができない旨の指示情報を表示する。これによって、頻繁な状態切り替えによる仮想シーンの環境の不均衡を回避することができる。なお、再度切り替え命令を受信した場合、仮想オブジェクトのインタラクションレベルが切り替えに必要な目標レベルに達しているか否かを判断するだけでなく、切り替え命令の間隔が目標期間に達しているか否かを判断し、或いは仮想オブジェクトの動作の実績が目標実績に達しているか否かを判断することによって、対応する状態切り替え操作を実行するか否かを決定してもよい。
【0118】
図11は、本発明の実施例に係る切り替え指示の概略図である。
図11に示すように、仮想オブジェクトが第2の動作状態で動作している際に、端末は、状態切り替え命令を受信した場合、仮想オブジェクトのインタラクションレベルが切り替え操作を実行できる目標レベルに達していないと判断したとき、状態切り替え操作を実行できないことを示す指示情報1101を表示する。これによって、現在のインタラクションレベルでは仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えることができないことをユーザに提示することができる。
【0119】
以上のように、本発明の実施例は、仮想オブジェクトが第2の動作状態において第2の装備状態にある仮想アイテムを制御するように、仮想オブジェクトに対する第1の切り替え命令に応じて、仮想オブジェクトが仮想アイテムの装備状態を元の第1の装備状態から第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を元の第1の動作状態から第2の動作状態に切り替えるように制御する。また、仮想オブジェクトに対する第2の切り替え命令を受信した場合、仮想オブジェクトが仮想アイテムの装備状態を第2の装備状態から第3の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第2の動作状態から第3の動作状態に切り替えるように制御する。これによって、端末は、1つの切り替え命令を受信することで、仮想オブジェクトの動作状態と仮想アイテムの装備状態との同時切り替えを制御することができる。各切り替え命令により1つの状態の切り替え操作しかできない場合に比べて、状態の切り替え効率を向上させることができるため、インタラクションの目的を達成するために必要なインタラクション回数を低減させ、ヒューマンコンピュータインタラクションの効率を向上させ、ハードウェア処理の占有リソースを削減することができる。
【0120】
以下は、本発明の実施例に係る仮想シーンにおける状態切り替え方法を引き続き説明する。該仮想シーンにおける状態切り替え方法は、端末とサーバにより協調して実施される。
図12は、本発明の実施例に係る仮想シーンにおける状態切り替え方法のフローチャートである。
図12に示すように、本発明の実施例に係る仮想シーンにおける状態切り替え方法は、以下のステップを含む。
【0121】
ステップ201:端末は、仮想シーンの開始操作に応じて仮想シーンに入る。
【0122】
ステップ202:端末は、仮想シーンのシーンデータの取得要求を生成し、サーバに送信する。
【0123】
ステップ203:サーバは、受信されたシーンデータの取得要求に基づいて、仮想シーンのシーンデータを取得する。
【0124】
ステップ204:サーバは、仮想シーンのシーンデータを端末に返す。
【0125】
ステップ205:端末は、受信されたシーンデータに基づいて仮想シーンの画面をレンダリングし、仮想シーンの画面を表示する。
【0126】
ステップ206:端末は、仮想シーンの画面に第1の動作状態にある仮想オブジェクト及び該仮想オブジェクトに対応する状態切り替えウィジェットを表示する。仮想オブジェクトは仮想アイテムを装備しており、仮想アイテムは第1の装備状態にある。
【0127】
ステップ207:端末は、状態切り替えウィジェットに対するトリガ操作に応じて、押圧操作に対応する押圧時間、押圧圧力及び押圧頻度のうちの少なくとも1つの押圧パラメータを取得する。
【0128】
ステップ208:押圧パラメータが状態切り替え条件を満たす場合、端末は、仮想オブジェクトに対する第1の切り替え命令を受信する。
【0129】
ステップ209:端末は、仮想オブジェクトが第2の動作状態において第2の装備状態にある仮想アイテムを制御するように、仮想オブジェクトに対する第1の切り替え命令に応じて、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御する。
【0130】
以下は、実際の応用シナリオにおける本発明の実施例の例示的な応用を説明する。
【0131】
仮想シーンが移動装置側のシューティングゲームであることを一例にして説明する。
図13は、本発明の実施例に係る仮想シーンにおける状態切り替え方法のフローチャートである。
図13に示すように、本発明の実施例に係る仮想シーンにおける状態切り替え方法には、以下のステップを含む。
【0132】
ステップ301:端末は、「銃を収納して疾走する」というボタンに対するタッチ操作に応じて、タッチ操作に対応するタッチ時間を取得する。
【0133】
ここで、移動装置側のシューティングゲームでは、ゲームインターフェースには、プレーヤが選択したキャラクタ(即ち、上記の仮想オブジェクト)が銃器(即ち、上記の仮想アイテム)を持っている様子、及びキャラクタの動作状態及び銃の装備状態を切り替えるための「銃を収納して疾走する」というボタン(即ち、上記の状態切り替えウィジェット)が表示されている。プレーヤが「銃を収納して疾走する」というボタンをタッチすると、端末は、タッチ操作に対応するタッチジェスチャを検出する。該ボタンのタッチ方式は、クリック、ダブルクリック、長押し、及びスライドの少なくとも1つであってもよい。
【0134】
図14A~
図14Bは、本発明の実施例に係るトリガ検出の概略図である。
図14A~14Bに示すように、移動装置のタッチスクリーンにおける「銃を収納して疾走する」というボタンがタッチされると、端末はタッチ操作を検出し、即ち、タッチホールド(touch hold)とタッチエンド(touch end)の2つのイベントを検出する必要がある。タッチホールドは、タッチの開始時にトリガされるイベントであり、タッチエンドは、タッチの終了時にトリガされるイベントである。プロセッサは、「銃を収納して疾走する」というボタンに対するトリガイベントデータを収集した後、タッチ時間が目標時間に達したか否かを判断する。
【0135】
ステップ302:タッチ時間が目標時間に達したか否かを判断する。
【0136】
ここで、タッチ時間が目標時間に達した場合、該タッチ操作が長押し操作であると判断してもよい。即ち、「銃を収納して疾走する」というボタンに対応するプログレスバーにプログレスが満了し、切り替え操作を実行するための条件が満たされ、ステップ303を実行してもよい。タッチ時間が目標時間に達していない場合、プロセスを終了する。
【0137】
ステップ303:キャラクタが銃器を持っているか否かを判断する。
【0138】
ここで、キャラクタが現在銃器を持っている場合、ステップ304を実行し、キャラクタが現在銃器を持っていない場合、ステップ305を実行する。
【0139】
ステップ304:キャラクタが銃を収納して疾走するように制御する。
【0140】
ここで、キャラクタが現在銃器を持っている場合、キャラクタが装備している銃器の装備状態は把持状態(即ち第1の装備状態)であり、キャラクタ自体の動作状態は静止状態又は歩行状態(即ち第1の動作状態)である。「銃を収納して疾走する」というボタンに対するタッチによりトリガされた状態切り替え命令が受信された場合、キャラクタが銃器の装備状態を把持状態から収納状態(即ち第2の装備状態)に切り替えるように制御すると共に、キャラクタの動作状態を静止状態又は歩行状態から疾走状態(即ち第2の動作状態)に切り替えるように制御する。これによって、キャラクタが手ぶらの状態で疾走する速度は速くなる。
【0141】
ステップ305:キャラクタが疾走状態になるように制御する。
【0142】
ここで、キャラクタが現在銃器を持っていない場合、「銃を収納して疾走する」というボタンに対するタッチによりトリガされた状態切り替え命令が受信されたとき、直接キャラクタが疾走状態になるように制御する。
【0143】
キャラクタが疾走状態にある際に、「銃を収納して疾走する」というボタンがハイライト表示状態にあり、方向ジョイスティックウィジェットの表示領域における目標領域には疾走状態アイコンが表示されている。プレーヤは、「銃を収納して疾走する」というボタンを再度クリックすると、銃を持っている状態(疾走前に収納された状態と同一である)及び歩行状態に戻り、「銃を収納して疾走する」というボタンが通常の状態に戻る。
【0144】
本発明の実施例に係る仮想シーンにおける状態切り替え方法によれば、「銃を収納して疾走する」というボタンを長押しすることで、キャラクタが銃を収納して疾走する状態に入ることができる。これによって、疾走と銃収納を組み合わせて、「銃を収納して疾走する」というボタンを長押しすることで、プレーヤが2つの切り替え操作を一括的に実行することができ、アイテムバーをクリックして銃器を収納し、且つ方向ジョイスティックをスライドして疾走するという元のマルチステップ操作と比べて、操作コストを削減し、操作効率を向上させることができる。また、本発明の実施例に係る切り替え方法は、起伏の大きい地形、キャラクタの移動速度が速いシューティングゲームに適しており、この便利な操作は地図のパルクール(parkour)に適合し、プレーヤのユーザエクスペリエンスを向上させることができる。
【0145】
以下は、本発明の実施例に係る仮想シーンにおける状態切り替え装置555がソフトウェアモジュールとして実装される例示的な構成を引き続き説明する。
図15は、本発明の実施例に係る仮想シーンにおける状態切り替え装置の構成の概略図である。幾つかの実施例では、
図15に示すように、仮想シーンにおける状態切り替え装置555は、以下のモジュールを含んでもよい。
【0146】
第1の表示モジュール5551は、仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示する。仮想オブジェクトは仮想アイテムを装備しており、仮想アイテムは第1の装備状態にある。
【0147】
第1の制御モジュール5552は、仮想オブジェクトが第2の動作状態において第2の装備状態にある仮想アイテムを制御するように、仮想オブジェクトに対する第1の切り替え命令に応じて、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御する。
【0148】
幾つかの実施例では、仮想シーンの画面において第1の動作状態にある仮想オブジェクトを表示する前に、該装置は、第2の制御モジュールをさらに含む。
【0149】
第2の制御モジュールは、仮想シーンの画面において方向ジョイスティックウィジェットを表示し、方向ジョイスティックウィジェットに対するドラッグ操作に応じて、ドラッグ操作に対応するドラッグ位置を取得し、ドラッグ位置が目標位置に位置する場合、仮想オブジェクトが第1の動作状態にあるように制御する。
【0150】
幾つかの実施例では、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御する前に、該装置は、以下のモジュールをさらに含む。
【0151】
第2の表示モジュールは、仮想オブジェクトに対する状態切り替えウィジェットを表示する。
【0152】
命令受信モジュールは、状態切り替えウィジェットに対するトリガ操作に応じて、仮想オブジェクトに対する第1の切り替え命令を受信する。
【0153】
幾つかの実施例では、第2の表示モジュールは、仮想シーンの画面において、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を制御するための方向ジョイスティックウィジェットを表示し、方向ジョイスティックウィジェットに対するドラッグ操作に応じて、ドラッグ操作に対応するドラッグ距離が目標距離に達した場合、仮想オブジェクトに対する状態切り替えウィジェットを表示する。
【0154】
幾つかの実施例では、第2の表示モジュールは、仮想オブジェクトにより仮想シーンにおいて獲得された実績を表示し、実績が実績閾値に達した場合、仮想オブジェクトに対する状態切り替えウィジェットを表示する。
【0155】
幾つかの実施例では、第2の表示モジュールは、仮想オブジェクトに対する状態切り替えウィジェットを第1の表示スタイルで表示する。
【0156】
仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、第2の表示モジュールは、第2の動作状態における仮想オブジェクトの動作中、状態切り替えウィジェットを第1の表示スタイルとは異なる第2の表示スタイルで表示する。
【0157】
幾つかの実施例では、命令受信モジュールは、トリガ操作が状態切り替えウィジェットに対する押圧操作である場合、押圧操作に対応する押圧時間、押圧圧力及び押圧頻度のうちの少なくとも1つの押圧パラメータを取得し、押圧パラメータが状態切り替え条件を満たす場合、仮想オブジェクトに対する第1の切り替え命令を受信する。
【0158】
幾つかの実施例では、命令受信モジュールは、画面に対するスライド操作を受け付け、スライド操作に対応するスライド軌跡を取得し、スライド軌跡と第1の切り替え命令をトリガするための目標軌跡とのマッチングを行い、マッチング結果を取得し、スライド軌跡と目標軌跡とがマッチしたことがマッチング結果により示された場合、仮想オブジェクトに対する第1の切り替え命令を受信する。
【0159】
幾つかの実施例では、第1の制御モジュールは、仮想オブジェクトが所在するシーンカテゴリを決定し、仮想アイテムの第1の装備状態とシーンカテゴリとのマッチングを行い、仮想オブジェクトの第1の動作状態とシーンカテゴリとのマッチングを行い、第1の装備状態がシーンカテゴリに適合せず、且つ第1の動作状態がシーンカテゴリに適合しない場合、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態からシーンカテゴリに適合する第2の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第1の動作状態からシーンカテゴリに適合する第2の動作状態に切り替えるように制御する。
【0160】
幾つかの実施例では、仮想オブジェクトが仮想アイテムの装備状態を第1の装備状態から第2の装備状態に切り替えるように制御する前に、該装置は、第3の表示モジュールをさらに含む。
【0161】
第3の表示モジュールは、仮想オブジェクトが第1の動作状態にある場合、方向ジョイスティックウィジェットを表示する。
【0162】
仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、第3の表示モジュールは、第2の動作状態における仮想オブジェクトの動作中、方向ジョイスティックウィジェットの表示領域における目標領域に目標状態アイコンを表示する。
【0163】
目標状態アイコンは、仮想オブジェクトが第2の動作状態にあることを示すために使用される。
【0164】
幾つかの実施例では、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、該装置は、第3の制御モジュールをさらに含む。
【0165】
第3の制御モジュールは、仮想オブジェクトが第2の動作状態において動作する動作時間を表示し、仮想オブジェクトが第3の動作状態において第3の装備状態にある仮想アイテムを制御するように、動作時間が目標時間に達した場合、仮想オブジェクトが仮想アイテムの装備状態を第2の装備状態から第3の装備状態に切り替えるように制御し、仮想オブジェクトが動作状態を第2の動作状態から第3の動作状態に切り替えるように制御する。
【0166】
幾つかの実施例では、仮想オブジェクトが動作状態を第1の動作状態から第2の動作状態に切り替えるように制御した後、該装置は、表示モジュールをさらに含む。
【0167】
表示モジュールは、第2の動作状態における仮想オブジェクトの動作中、仮想オブジェクトに対する第2の切り替え命令を受信し、第2の切り替え命令は、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えるように指示するために使用され、仮想オブジェクトの仮想シーンにおけるインタラクションレベルを取得し、第2の切り替え命令に応じて、インタラクションレベルが目標レベルに達していない場合、仮想オブジェクトの動作状態及び仮想アイテムの装備状態を切り替えることができないことを示す指示情報を表示する。
【0168】
本発明の実施例は、コンピュータプログラム又は命令を含むコンピュータプログラムプロダクトをさらに提供する。該コンピュータプログラム又は命令は、プロセッサにより実行される際に、本発明の実施例に係る上記の仮想シーンにおける状態切り替え方法を実現する。
【0169】
本発明の実施例は、実行可能な命令が記憶されたコンピュータ読み取り可能な記憶媒体をさらに提供する。該命令は、プロセッサにより実行される際に、本発明の実施例に係る上記の仮想シーンにおける状態切り替え方法を実現する。
【0170】
幾つかの実施例では、コンピュータ読み取り可能な記憶媒体は、FRAM、ROM、PROM、EPROM、EEPL、フラッシュメモリ、磁気表面メモリ、光ディスク、又はCD-ROMなどのメモリであってもよいし、上記のメモリの1つ又は任意の組み合わせを含む各種の機器であってもよい。
【0171】
幾つかの実施例では、実行可能な命令は、プログラム、ソフトウェア、ソフトウェアモジュール、スクリプト又はコードの形式で任意の形式のプログラミング言語(コンパイル若しくは解釈言語、又は宣言的又は手続き的言語を含む)で作成されてもよく、任意の形式で実装されてもよく、例えば、スタンドアロンプログラムとして実装されてもよいし、モジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に適したその他のユニットとして実装されてもよい。
【0172】
一例として、実行可能な命令は、ファイルシステム内のファイルに対応してもよいし、他のプログラム又はデータを保持するためのファイルの一部として記憶されてもよい。例えば、ハイパーテキストマークアップ言語(HTML:Hyper Text Markup Language)のドキュメントにおける1つ又は複数のスクリプトに記憶されてもよいし、言及されるプログラム専用の単一のファイルに記憶されてもよいし、複数の協調ファイル(例えば、1つ又は複数のモジュール、サブプログラム又はコードセクションを記憶するためのファイル)に記憶されてもよい。
【0173】
一例として、実行可能な命令は、1つの電子機器に実装されて実行されてもよいし、1つの場所に配置された複数の電子機器で実行されてもよいし、複数の場所に分散され、且つ通信ネットワークを介して相互に接続された複数の電子機器で実行されてもよい。
【0174】
以上は、単に本発明の例示的な実施例を説明し、本発明を制限するものではない。本発明の主旨及び原則の範囲内で行われる変更、均等的な置換、改良などは、本発明の保護範囲内に含まれる。