(57)【要約】  仮想オブジェクト制御方法、装置、電子機器、及び記憶媒体であって、当該方法は、仮想シーンにおける仮想オブジェクトの移動形態を制御するための制御領域に対するタッチ操作を検出した場合、仮想シーンの視野角を決定し、制御領域のタッチ操作、視野角、及び重力加速度に基づいて、仮想オブジェクトの落下過程における加速度を取得し、仮想シーンにおいて加速度に応じて落下するように仮想オブジェクトを制御する、ことを含む。
2021512418.tif 000002
【特許請求の範囲】
【請求項１】
任意の電子機器に適用される仮想オブジェクト制御方法であって、前記方法は、
仮想シーンにおける仮想オブジェクトの移動形態を制御するための制御領域に対するタッチ操作を検出した場合、前記仮想シーンの視野角を決定するステップと、
前記制御領域のタッチ操作、前記視野角、及び重力加速度に基づいて、前記仮想オブジェクトの落下過程における加速度を取得するステップと、
前記仮想シーンにおいて前記加速度に応じて落下するように前記仮想オブジェクトを制御するステップと、を含むことを特徴とする方法。
【請求項２】
前記制御領域に対するタッチ操作を検出した場合、前記方法は、
前記仮想シーンにおける前記仮想オブジェクトの位置を検出するステップと、
前記仮想オブジェクトが前記仮想シーンにおける空中の領域に位置することを検出した場合、前記仮想シーンの視野角を決定するステップを実行するステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記仮想シーンにおける前記仮想オブジェクトの位置を検出した後に、前記方法は、
前記仮想オブジェクトが前記仮想シーンにおける空中でない領域に位置することを検出した場合、前記制御領域のタッチ操作に基づいて、前記タッチ操作に対応する加速度を取得するステップと、
前記仮想シーンにおいて前記加速度に応じて移動するように前記仮想オブジェクトを制御するステップとをさらに含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記方法は、
前記仮想シーンの視野角を調整するための視野角調整操作を検出した場合、前記視野角調整操作に応じて視野角を調整するステップと、
調整後の視野角に応じて、前記仮想オブジェクトの第１の向きを調整するステップとをさらに含み、
前記仮想オブジェクトの第１の向きは、前記仮想オブジェクトのオイラー角におけるヨー角を指すことを特徴とする請求項１に記載の方法。
【請求項５】
前記制御領域のタッチ操作、前記視野角、及び重力加速度に基づいて、前記仮想オブジェクトの落下過程における加速度を取得するステップは、
前記タッチ操作でトリガーされるタッチコマンドを受信するステップと、
前記タッチコマンド、及び前記視野角に基づいて、第１の加速度を取得するステップと、 
前記第１の加速度と重力加速度とに対してベクトル加算を行うことで、前記仮想オブジェクトの加速度を取得するステップとを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記方法は、
前記制御領域のタッチ操作が検出されなかった場合、重力加速度を、前記仮想オブジェクトの落下過程における加速度とするステップをさらに含むことを特徴とする請求項１又は５に記載の方法。
【請求項７】
前記タッチコマンド、及び前記視野角に基づいて、第１の加速度を取得するステップは、
前記タッチコマンドが第１のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向である第１の加速度を取得するステップを含み、
前記第１のタッチコマンドは、前記仮想オブジェクトを加速して移動させるように制御することを指示することを特徴とする請求項５に記載の方法。
【請求項８】
前記タッチコマンド、及び前記視野角に基づいて、第１の加速度を取得するステップは、
前記タッチコマンドが第２のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向の逆方向である第１の加速度を取得するステップを含み、
前記第２のタッチコマンドは、前記仮想オブジェクトを減速して移動させるように制御することを指示することを特徴とする請求項５に記載の方法。
【請求項９】
前記タッチコマンド、及び前記視野角に基づいて、第１の加速度を取得するステップは、
前記タッチコマンドが第３のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が前記仮想オブジェクトの左である第１の加速度を取得するステップを含み、
前記第３のタッチコマンドは、前記仮想オブジェクトを左へ移動させるように制御することを指示することを特徴とする請求項５に記載の方法。
【請求項１０】
前記タッチコマンド、及び前記視野角に基づいて、第１の加速度を取得するステップは、
前記タッチコマンドが第４のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が前記仮想オブジェクトの右である第１の加速度を取得するステップを含み、
前記第４のタッチコマンドは、前記仮想オブジェクトを右へ移動させるように制御することを指示することを特徴とする請求項５に記載の方法。
【請求項１１】
前記仮想シーンにおいて前記加速度に応じて落下するように前記仮想オブジェクトを制御するステップは、
落下過程において前記仮想オブジェクトの第２の向きを調整するステップを含み、
前記仮想オブジェクトの第２の向きは、前記仮想オブジェクトのオイラー角におけるピッチ角を指すことを特徴とする請求項５に記載の方法。
【請求項１２】
落下過程において前記仮想オブジェクトの第２の向きを調整するステップは、
前記第１の加速度の方向が視野角方向である場合に、落下過程において前記仮想オブジェクトの第２の向きを調整し、調整後の前記仮想オブジェクトのピッチ角が前記視野角のピッチ角と同じとなり、
前記第１の加速度の方向が視野角方向の逆方向である場合に、落下過程において前記仮想オブジェクトの第２の向きを調整し、調整後の前記仮想オブジェクトのピッチ角が０°となる、ことを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記方法は、
落下過程において、前記タッチ操作に応じて前記仮想オブジェクトの体姿勢を調整するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１４】
電子機器であって、
プロセッサと、
コンピュータプログラムを格納するためのメモリとを含み、
前記プロセッサは、
仮想シーンにおける仮想オブジェクトの移動形態を制御するための制御領域に対するタッチ操作を検出した場合、仮想シーンの視野角を決定するステップと、
前記制御領域のタッチ操作、前記視野角、及び重力加速度に基づいて、前記仮想オブジェクトの落下過程における加速度を取得するステップと、
前記仮想シーンにおいて前記加速度に応じて落下するように前記仮想オブジェクトを制御するステップとを実現するために、メモリに格納されているコンピュータプログラムを実行することを特徴とする電子機器。
【請求項１５】
前記プロセッサは、さらに、
前記仮想シーンにおける前記仮想オブジェクトの位置を検出し、
前記仮想オブジェクトが前記仮想シーンにおける空中の領域に位置することを検出した場合、前記仮想シーンの視野角を決定するステップを実行する、ことを実行することを特徴とする請求項１４に記載の電子機器。
【請求項１６】
前記プロセッサは、さらに、
前記仮想オブジェクトが前記仮想シーンにおける空中でない領域に位置することを検出した場合、前記制御領域のタッチ操作に基づいて、前記タッチ操作に対応する加速度を取得し、
前記仮想シーンにおいて前記加速度に応じて移動するように前記仮想オブジェクトを制御する、ことを実行することを特徴とする請求項１５に記載の電子機器。
【請求項１７】
前記プロセッサは、さらに、
前記仮想シーンの視野角を調整するための視野角調整操作を検出した場合、前記視野角調整操作に応じて視野角を調整し、
調整後の視野角に応じて、前記仮想オブジェクトの第１の向きを調整する、ことを実行し、
前記仮想オブジェクトの第１の向きは、前記仮想オブジェクトのオイラー角におけるヨー角を指すことを特徴とする請求項１４に記載の電子機器。
【請求項１８】
前記プロセッサは、
前記タッチ操作でトリガーされるタッチコマンドを受信し、
前記タッチコマンド、及び前記視野角に基づいて、第１の加速度を取得し、 
前記第１の加速度と重力加速度とに対してベクトル加算を行うことで、前記仮想オブジェクトの加速度を取得する、ことを実行することを特徴とする請求項１４に記載の電子機器。
【請求項１９】
前記プロセッサは、さらに、
前記制御領域のタッチ操作が検出されなかった場合、重力加速度を、前記仮想オブジェクトの落下過程における加速度とすることを実行することを特徴とする請求項１４又は１８に記載の電子機器。
【請求項２０】
前記プロセッサは、
前記タッチコマンドが第１のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向である第１の加速度を取得することを実行し、
前記第１のタッチコマンドは、前記仮想オブジェクトを加速して移動させるように制御することを指示することを特徴とする請求項１８に記載の電子機器。
【請求項２１】
前記プロセッサは、
前記タッチコマンドが第２のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向の逆方向である第１の加速度を取得することを実行し、
前記第２のタッチコマンドは、前記仮想オブジェクトを減速して移動させるように制御することを指示することを特徴とする請求項１８に記載の電子機器。
【請求項２２】
前記プロセッサは、
前記タッチコマンドが第３のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が前記仮想オブジェクトの左である第１の加速度を取得することを実行し、
前記第３のタッチコマンドは、前記仮想オブジェクトを左へ移動させるように制御することを指示することを特徴とする請求項１８に記載の電子機器。
【請求項２３】
前記プロセッサは、
前記タッチコマンドが第４のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が前記仮想オブジェクトの右である第１の加速度を取得することを実行し、
前記第４のタッチコマンドは、前記仮想オブジェクトを右へ移動させるように制御することを指示することを特徴とする請求項１８に記載の電子機器。
【請求項２４】
前記プロセッサは、
落下過程において前記仮想オブジェクトの第２の向きを調整することを実行し、
前記仮想オブジェクトの第２の向きは、前記仮想オブジェクトのオイラー角におけるピッチ角を指すことを特徴とする請求項１８に記載の電子機器。
【請求項２５】
前記プロセッサは、
前記第１の加速度の方向が視野角方向である場合に、落下過程において前記仮想オブジェクトの第２の向きを調整し、調整後の前記仮想オブジェクトのピッチ角が前記視野角のピッチ角と同じとなり、
前記第１の加速度の方向が視野角方向の逆方向である場合に、落下過程において前記仮想オブジェクトの第２の向きを調整し、調整後の前記仮想オブジェクトのピッチ角が０°となる、ことを実行することを特徴とする請求項２４に記載の電子機器。
【請求項２６】
前記プロセッサは、さらに、
落下過程において、前記タッチ操作に応じて前記仮想オブジェクトの体姿勢を調整することを実行することを特徴とする請求項１４に記載の電子機器。
【請求項２７】
プロセッサによって実行される場合に、請求項１〜１３のいずれか一項に記載の方法のステップを実現するコンピュータプログラムが記憶されていることを特徴とするコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年０２月０９日に中国専利局に提出した、出願番号が２０１８１０１３２６４７８であって、発明の名称が「仮想オブジェクト制御方法、装置、電子機器、及び記憶媒体」である中国特許出願の優先権を主張し、本願で、その全ての内容を援用するものとする。
【０００２】
本発明は、コンピュータ技術の分野に関し、特に、仮想オブジェクト制御方法、装置、電子機器、及び記憶媒体に関する。
【背景技術】
【０００３】
コンピュータ技術の発展に伴い、人々はシミュレーション技術を通じて現実世界のシーンをシミュレーションすることができ、シミュレーション技術とは、相似原理を利用して研究オブジェクトのモデルを構築し、モデルによりプロトタイプの規則性を間接的に研究する実験方法を指す。例えば、ゲームアプリケーションにおいて、人々は、仮想シーンにおいて仮想オブジェクトを制御することにより、仮想オブジェクトに走ったり、ジャンプしたり、射撃したり、パラシュート降下したりするなどの動作を実行させ、現実の人の動作をシミュレートすることができる。
【０００４】
現在、仮想オブジェクト制御方法は、一般的に、仮想ジョイスティック領域を設置し、ユーザーの当該仮想ジョイスティック領域へのタッチ操作を検出することにより、当該仮想オブジェクトの移動方向を決定し、当該移動方向に移動するように当該仮想オブジェクトを制御し、固定の視野角で当該仮想オブジェクトの位置変化を表示し、ここで、当該移動方向は一般的に上、下、左、右である。
【発明の概要】
【課題を解決するための手段】
【０００５】
本発明の実施例は、仮想オブジェクト制御方法、装置、電子機器、及び記憶媒体を提供し、仮想オブジェクトの動作をリアルにシミュレーションできない問題を解決することができる。技術案は以下通りである。
【０００６】
一局面によれば、仮想オブジェクト制御方法を提供し、前記方法は、
仮想シーンにおける仮想オブジェクトの移動形態を制御するための制御領域に対するタッチ操作を検出した場合、仮想シーンの視野角を決定することと、
前記制御領域のタッチ操作、前記視野角、及び重力加速度に基づいて、前記仮想オブジェクトの落下過程における加速度を取得することと、
前記仮想シーンにおいて前記加速度に応じて落下するように前記仮想オブジェクトを制御することとを含む。
【０００７】
他の局面によれば、仮想オブジェクト制御装置を提供し、前記装置は、
前記仮想シーンにおける仮想オブジェクトの移動形態を制御するための制御領域に対するタッチ操作を検出した場合、仮想シーンの視野角を決定するための決定モジュールと、
前記制御領域のタッチ操作、前記視野角、及び重力加速度に基づいて、前記仮想オブジェクトの落下過程における加速度を取得するための取得モジュールと、
前記仮想シーンにおいて前記加速度に応じて落下するように前記仮想オブジェクトを制御するための制御モジュールとを含む。
【０００８】
他の局面によれば、電子機器を提供し、前記電子機器は、プロセッサと、コンピュータプログラムを格納するためのメモリとを含み、前記プロセッサは、前記仮想オブジェクト制御方法のいずれか一項に記載の方法のステップを実現するために、メモリに格納されているコンピュータプログラムを実行する。
【０００９】
他の局面によれば、コンピュータ読み取り可能な記憶媒体を提供し、プロセッサに実行される場合に、前記仮想オブジェクト制御方法のいずれか一項に記載の方法のステップを実現するコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体である。
【００１０】
本発明の実施例は、制御領域に対するタッチ操作を検出し、タッチ操作、視野角及び重力加速度などの要因と合わせて、仮想オブジェクトの加速度を決定することにより、仮想オブジェクトに対する移動制御を実現し、当該加速度の方向が固定ではなく、大きさがゼロではないので、仮想オブジェクトを任意の方向に移動させることができ、仮想オブジェクトを加速又は減速して移動させることもでき、これにより、実際の人物の動作を現実的にシミュレーションすることができる。
【００１１】
本発明の実施例における技術案をより明確に説明するために、以下で実施例の記述において使用する必要がある図面を簡単に紹介し、もちろん、以下に記述の図面が本発明のいくつかの実施例に過ぎず、当業者にとって、創造的な労力をしない前提で、これらの図面に応じて他の図面を得ることもできる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例で提供される端末インターフェースの模式図である。
【図２】本発明の実施例で提供される仮想オブジェクトの向きの模式図である。
【図３】本発明の実施例で提供される仮想オブジェクトの向きの模式図である。
【図４】本発明の実施例で提供される仮想オブジェクト制御方法のフローチャートである。
【図５】本発明の実施例で提供される仮想オブジェクトの体姿勢の模式図である。
【図６】本発明の実施例で提供される仮想オブジェクトの体姿勢の模式図である。
【図７】本発明の実施例で提供される仮想オブジェクトの体姿勢の模式図である。
【図８】本発明の実施例で提供される仮想オブジェクトの体姿勢の模式図である。
【図９】本発明の実施例で提供される仮想オブジェクト制御方法のフローチャートである。
【図１０】本発明の実施例で提供される仮想オブジェクト制御装置の構成模式図である。
【図１１】本発明の実施例で提供される電子機器１１００の構成模式図である。
【発明を実施するための形態】
【００１３】
本出願の目的、技術案及び利点をより明確にするために、本発明の実施形態は、添付の図面を参照して、以下でさらに詳細に記述する。
【００１４】
本発明の実施例では、端末は、取得されたシーンデータに基づいて、仮想シーンをシミュレーションすることが可能であり、当該仮想シーンは、仮想現実、ビデオゲームシーンであってもよいし、国防科学、物理教育などの分野のシミュレーションシーンであってもよい。ビデオゲームシーンを例に、ユーザーは、端末上でタッチ操作を行うことができ、当該端末は検出されたタッチ操作に応じて、当該タッチ操作に対応するゲームデータを決定し、当該ゲームデータをレンダリング表示することができ、当該ゲームデータは仮想シーンデータ、当該仮想シーンにおける仮想オブジェクトの行為データなどを含んでもよい。
【００１５】
本発明の実施例に係る仮想シーンは、一つの仮想空間をシミュレーションするために使用され、該仮想空間はオープンスペースであってもよく、当該仮想シーンは三次元の仮想シーンであってもよいし、二次元の仮想シーンであってもよく、本発明の実施例では、それを限定しない。ユーザーは、当該仮想シーンにおいて移動するように仮想オブジェクトを制御し、当該仮想オブジェクトは当該仮想シーンにおけるユーザを代表するための一つの仮想的なアバターであってもよく、仮想オブジェクトは仮想シーンにおいて自身の形状と体積を有し、仮想シーンにおける一部の空間を占める。当該アバターは、例えば、人、動物などの任意の態様であってもよく、本発明の実施例では、それを限定しない。
【００１６】
実際のシーンをシミュレーションするために、当該三次元の仮想空間は、空中の領域と空中でない領域を含んでもよく、当該空中でない領域は陸地領域と海洋領域であってもよく、当該仮想オブジェクトが空中の領域に位置する場合、重力の作用によって、当該仮想オブジェクトの移動過程は落下過程であり、当該ユーザーは、当該仮想オブジェクトの落下過程においてタッチ操作を行って、当該仮想オブジェクトの落下速度と落下過程でのずれ方向を変更することにより、異なる着地地点への着地を選択することができる。もちろん、この方法は、海洋領域においてダイビングする過程にも適用でき、この場合、タッチ操作に基づいて仮想オブジェクトのダイビングの際の加速度を調整することにより、ダイビングの速度と移動方向などを変更することができる。
【００１７】
なお、端末が、当該仮想オブジェクトが空中の領域に位置すると決定する方法は、放射線検出方法であってもよく、端末は、当該仮想オブジェクトのターゲット部位から鉛直下向きに一本の放射線を放射し、当該仮想オブジェクトと当該仮想オブジェクトの鉛直下方向の物体との距離を検出することができ、当該距離がゼロではない場合、端末は、当該仮想オブジェクトが空中の領域に位置すると決定することができる。例えば、当該ターゲット部位は、当該仮想オブジェクトの足、当該仮想オブジェクトの頭であってもよく、本発明の実施例では、それを限定しない。具体的に、当該端末は、放射線検出関数を呼び出して、上記の放射線検出ステップを行うことにより、当該放射線により地面又は地面上の物体と衝突しているかどうかを検出して、当該仮想オブジェクトが地面又は地面上の物体と接触しているかどうかを確定し、当該仮想オブジェクトが地面又は地面上の物体と接触していないと、当該仮想オブジェクトが空中の領域に位置すると決定することができる。可能な実現方式において、当該端末は、放射線を通じて当該仮想オブジェクトの鉛直下方向の物体の世界座標系における座標を検出し、当該物体の座標、及び当該仮想オブジェクトの座標に基づいて、当該仮想オブジェクトが当該物体に接触しているかどうかを決定することにより、当該仮想オブジェクトが空中の領域に位置するかどうかを決定してもよい。他の可能な実現方式では、当該端末は、さらに、当該仮想オブジェクトから地面又は地面上の物体に向かう放射線ベクトルの大きさがゼロであるかどうかを決定することにより、当該仮想オブジェクトが空中の領域に位置するかどうかを決定し、当該放射線ベクトルの大きさがゼロではない場合に、当該仮想オブジェクトが空中の領域に位置すると決定してもよい。もちろん、当該端末は、放射線を通じて地面上の物体又は地面を検出した後、当該物体又は地面及び仮想オブジェクトを１つの平面に投影することにより、仮想オブジェクトと当該物体又は地面との距離を算出してもよく、一つの可能な実現方式において、当該平面は地面に垂直な平面であってもよく、本発明の実施例では、具体的にどのような放射線検出方法を採用して仮想オブジェクトが空中の領域に位置すると決定するかについて、具体的に限定しない。
【００１８】
当該仮想オブジェクトが空中でない領域に位置する場合に、当該仮想シーンにおいて、鉛直方向に、重力に加えて、地面の支持力や、海洋中の鉛直上向きの浮力がさらに存在する可能性があり、仮想オブジェクトが落下せず、ユーザーは、当該仮想オブジェクトを制御して陸地で歩いたり、走ったり、ジャンプしたり、這って歩いたり、海に浮いたり、泳いだりするなどの動作を実行させることができる。それに対応して、当該仮想オブジェクトの当該仮想シーンにある位置が異なる場合、端末が、如何にタッチ操作に基づいて仮想オブジェクトを制御して上記の動作をシミュレーションするかの方式も異なってもよく、具体的に、端末が如何にタッチ操作に基づいて仮想オブジェクトを制御して移動させるかについて、図４に示す実施例を参照する。
【００１９】
ユーザーは、タッチ操作により仮想オブジェクトの移動速度を制御してもよいし、タッチ操作により仮想オブジェクトの移動方向を制御してもよい。当該仮想オブジェクトはユーザーの仮想的なアバターであるため、自己の視野角を例に、ユーザーに見える仮想シーンは、一般に、当該仮想オブジェクトの視野角で見える仮想シーンであり、且つ、現実世界において人が移動する際に、一般に、視野角は人の前方であり、仮想シーンの視野角を調整することで仮想オブジェクトの移動方向を変更する制御形態を提供できる。端末は、当該仮想シーンにおける仮想オブジェクトの移動形態を制御するための制御領域をさらに提供でき、端末は、仮想シーンの視野角及び当該制御領域のタッチ操作を組み合わせて仮想オブジェクトの移動方向及び移動速度を決定することができる。
【００２０】
一つの可能な実現方式では、当該制御領域は、仮想ジョイスティック領域であってもよいし、１つの仮想制御領域であってもよく、もちろん、当該制御領域は、実際のジョイスティック装置におけるジョイスティックコントロールが位置する領域であってもよく、本発明の実施例では、それを具体的に限定しない。それに対応して、当該制御領域が仮想ジョイスティック領域である場合、ユーザーによる当該制御領域へのタッチ操作は、スライド操作であってもよいし、クリック操作であってもよく、本発明の実施例では、それを限定しない。当該制御領域が仮想制御領域である場合、当該仮想制御領域は、カメラが採集可能な領域であり、ユーザーによる当該仮想制御領域へのタッチ操作は、ジェスチャ操作であってもよく、端末は、カメラにより採集されたジェスチャ動作に応じて、仮想オブジェクトが移動するように制御することができる。当該制御領域がジョイスティックコントロールの位置する領域である場合、ユーザーによる当該制御領域へのタッチ操作は、プレス操作やフリック操作などであってもよい。
【００２１】
仮想ジョイスティック領域について、当該仮想ジョイスティック領域の形状は円形であってもよいし、半円であってもよく、本発明の実施例では、当該仮想ジョイスティック領域の形状を具体的に限定しない。当該仮想ジョイスティック領域に１つの原点があってもよく、当該原点は、当該仮想ジョイスティック領域の中心に位置してもよいし、他のターゲット位置に位置してもよく、本発明の実施例では、それを具体的に限定しない。端末は、ユーザーによるタッチ操作の終点と当該原点との相対位置に応じて、ユーザーが制御しようとする仮想オブジェクトの移動方向と速度を決定することができる。
【００２２】
図１は、本発明の実施例で提供される端末インターフェースの模式図であり、図１に示すように、当該仮想ジョイスティック領域の形状が円形であり、ユーザーによる当該仮想ジョイスティック領域へのタッチ操作がスライド操作であることを例に、当該仮想ジョイスティック領域に４つの方向矢印アイコンがあってもよく、当該４つの方向矢印アイコンはそれぞれ、上、下、左、右であり、それぞれ、前方向、後方向、左方向、右方向を示すためのものである。当該４つの方向矢印アイコンは、当該仮想ジョイスティック領域の方向指向をより直感的にするためのものであり、これにより、ユーザーに如何にユーザー操作に対応する方向を決定するかについてガイドする。もちろん、当該仮想ジョイスティック領域に当該４つの方向矢印アイコンを表示しなくてもよく、ユーザーは、実際の操作状況に応じて、当該仮想ジョイスティック領域に対するタッチ操作に徐々に慣れることができる。ユーザーによるタッチ操作の終点が当該４つの方向矢印アイコンが示す方向にある場合、当該タッチ操作を、それぞれ、第１のタッチ操作、第２のタッチ操作、第３のタッチ操作、及び第４のタッチ操作と呼ぶことができる。
【００２３】
一つの可能な実現方式では、端末は、タッチ操作の終点と当該仮想ジョイスティック領域の原点との距離の大きさに応じて、当該タッチ操作に対応する加速度の大きさを決定してもよく、当該加速度は、当該タッチ操作でトリガーされ仮想オブジェクトに加えられる加速度を指し、当該加速度は、当該仮想オブジェクトの移動方向及び移動速度を制御するためのものであり、例えば、当該タッチ操作に対応する加速度の大きさと、当該タッチ操作と原点位置との距離とは、正の相関があり、つまり、当該タッチ操作と仮想ジョイスティック領域の原点位置との距離が大きいほど、当該タッチ操作に対応する加速度が大きくなる。もちろん、当該端末は、当該タッチ操作の圧力値などに応じて、当該タッチ操作に対応する加速度の大きさを決定してもよく、当該タッチ操作に対応する加速度の大きさと、当該タッチ操作の圧力値とは、正の相関があり、本発明の実施例では、それを具体的に限定しない。
【００２４】
なお、端末が検出したタッチ操作の終点が、隣接する２つの方向矢印アイコンが示す方向の間にある場合、端末は、当該タッチ操作が２つのサブタッチ操作を含むと決定することができる。例えば、端末が検出したタッチ操作の終点が、第１のタッチ操作がある方向と第３のタッチ操作がある方向の間にある場合、つまり、当該タッチ操作の終点が当該仮想ジョイスティック領域の原点の左上にある場合、端末は、当該タッチ操作が第１のタッチ操作と第３のタッチ操作を含むと考えることができ、任意選択で、さらに、当該タッチ操作の終点と仮想ジョイスティック領域の原点との相対位置に応じて、当該タッチ操作に対応する第１のタッチ操作と第３のタッチ操作のそれぞれに対応する加速度の大きさを決定してもよく、もちろん、一つの可能な実現方式では、端末は、直接に、当該タッチ操作と仮想ジョイスティック領域の原点との相対位置に応じて、当該タッチ操作に対応する加速度の方向と大きさを決定してもよい。上記は、当該仮想ジョイスティック領域の操作設置の一例であり、当該仮想ジョイスティック領域の具体的な形状、操作設置は、実際の操作ニーズに応じて調整してもよく、本発明の実施例では、それを具体的に限定しない。
【００２５】
仮想シーンの視野角について、当該視野角は、ユーザーが仮想シーンを見る視野角であり、端末は、異なる視野角により同一の仮想シーンにおける異なる角度に対応する領域を表示することができる。最初に当該仮想シーンを表示する場合、端末は、デフォルトの視野角、及び仮想オブジェクトのデフォルトの向きを提供することができる。当該仮想オブジェクトの向きは、第１の向きと第２の向きとを含んでもよく、当該第１の向きは、当該仮想オブジェクトのオイラー角におけるヨー角を指し、当該第２の向きは、当該仮想オブジェクトのオイラー角におけるピッチ角を指す。当該ヨー角と、当該ピッチ角とは、当該仮想オブジェクトの中心を原点とする予め設定されたデカルト座標系におけるｐｉｔｃｈ座標とｙａｗ座標であり、当該ｐｉｔｃｈ座標の範囲は−９０°から０°であり、当該ｙａｗ座標範囲は−１８０°から１８０°である。
【００２６】
一つの可能な実現方式では、当該仮想オブジェクトの初期位置が当該仮想シーンにおける空中の領域に位置する場合、端末は第１のデフォルトの視野角を提供でき、当該第１のデフォルトの視野角は、当該仮想オブジェクトの前下４５°であってもよい。当該仮想オブジェクトの初期位置が当該仮想シーンにおける空中でない領域に位置する場合、端末は第２のデフォルトの視野角を提供でき、当該第２のデフォルトの視野角は、当該仮想オブジェクトが立ち姿勢である場合の真正面である。当該デフォルトの視野角は、一例であり、本発明の実施例では、当該デフォルトの視野角の設置を具体的に限定しない。例えば、図２に示すように、当該仮想オブジェクトのデフォルトの第１の向きは−９０°であってもよく、図３に示すように、当該仮想オブジェクトのデフォルトの第２の向きは−９０°であってもよい。それに対応して、当該第１のデフォルトの視野角のヨー角は−９０°、ピッチ角は−４５°であってもよい。
【００２７】
図４は、本発明の実施例で提供される仮想オブジェクト制御方法のフローチャートである。本発明の実施例において、当該仮想オブジェクト制御方法がビデオゲームシーンに適用され、制御領域が仮想ジョイスティック領域であることを例に説明する。図４を参照し、当該仮想オブジェクト制御方法は以下のステップを含む。
【００２８】
４０１において、仮想ジョイスティック領域のタッチ操作を検出した場合、端末は仮想シーンの視野角を決定する。
【００２９】
ユーザーが、簡単な操作で仮想オブジェクトを制御して移動させ、且つ、仮想オブジェクトを自由に制御して加速、減速させたり、移動方向を変更させる等するために、端末は、上記の仮想ジョイスティック領域、及び仮想シーンの視野角を提供でき、ユーザーは、当該視野角を調整することで仮想オブジェクトの移動方向を変更することができ、端末は、仮想ジョイスティック領域のタッチ操作を検出した場合、仮想シーンの視野角を決定する必要があり、これにより、ユーザーが当該仮想オブジェクトをどのように制御して移動させるかを決定する。
【００３０】
一つの可能な実現方式では、ユーザーは端末上で視野角調整操作を行って視野角を調整してもよく、端末が視野角調整操作を検出した場合、端末は当該視野角調整操作に応じて視野角を調整することができる。当該視野角調整操作は、スライド操作又はクリック操作であってもよく、当該視野角調整操作がスライド操作であることを例に、ユーザーは、端末のスクリーン上でスライド操作を行うことができ、端末は、当該スライド操作を検出した場合、当該スライド操作のスライド方向に応じて、視野角を調整し、当該視野角の移動方向を当該スライド方向と同じにする。任意選択で、当該視野角が移動する角度は、当該スライド操作のスライド距離に正比例してもよい。つまり、当該スライド距離が大きいほど、当該視野角が移動する角度が大きくなる。一つの可能な実現方式では、当該ユーザーは、別の仮想ジョイスティック領域を設置してもよく、当該別の仮想ジョイスティック領域は、視野角の調整ステップを実現するように、端末が当該ユーザーによるタッチ操作を検出するためのものである。端末は、当該仮想ジョイスティック領域内のタッチ操作を検出した場合、当該仮想ジョイスティック領域内のタッチ操作の終点と、当該仮想ジョイスティック領域の原点との相対位置に応じて、当該タッチ操作に対応する視野角調整方向、及び調整角度を決定する。任意選択で、当該仮想ジョイスティック領域の原点に対する当該タッチ操作の終点の方向は視野角調整方向と同じであり、当該視野角調整角度と、当該タッチ操作の終点と当該仮想ジョイスティック領域の原点との距離とは、正の相関がある。つまり、当該距離が大きいほど、当該視野角の調整角度が大きくなる。
【００３１】
端末は、上記の視野角調整操作を検出した場合、視野角を調整することに加えて、調整後の視野角に応じて、当該仮想オブジェクトの第１の向きを調整し、当該仮想オブジェクトのヨー角を当該視野角のヨー角と同じにし、実際の人物が空中の領域で滑空方向を調整した後に、それに伴って視野角も変化するシーンをシミュレーションしてもよい。例えば、端末が視野角調整操作を検出した場合、端末は、当該視野角のヨー角を−９０°から−４５°に調整し、当該仮想オブジェクトの第１の向きも−４５°に調整し、仮想オブジェクトが依然として現在表示されている仮想シーンに向かう状態を維持するようにする。
【００３２】
ユーザーに落下過程において周囲環境をよりよく観察させるために、周囲環境に基づいて着地地点を選択してもよく、又は周囲環境に他の仮想オブジェクトがあるかどうかを観察してもよく、端末は、１つの観察視野角機能ボタンを提供することもでき、当該端末が当該観察視野角機能ボタンに対するタッチ操作を検出した場合、端末は、当該観察視野角機能ボタンに対するタッチ操作の動作方向に応じて視野角を調整してもよく、当該端末は当該観察視野角機能ボタンに対するタッチ操作に応じて仮想オブジェクトの第１の向きを調整しなくてもよい。当該タッチ操作は、当該観察視野角機能ボタンを中心とするターゲット領域であってもよく、当該ターゲット領域の形状は円形であってもよいし、他の形状であってもよく、本発明の実施例では、当該ターゲット領域の形状及び大きさを具体的に限定しない。当該観察視野角機能ボタンの機能をより鮮明に示すために、当該観察視野角機能ボタンの仕様は目の形状であってもよく、もちろん、当該観察視野角機能ボタンは他の形状であってもよく、本発明の実施例では、それを限定しない。なお、当該端末は、当該観察視野角機能ボタンに対するタッチ操作がなくなったことを検出した場合、視野角を当該観察視野角機能ボタンに対してタッチ操作を行う前に戻してもよい。一つの可能な実現方式では、ユーザーによる当該観察視野角機能ボタンの具体的な操作は、まず、当該観察視野角機能ボタンを押して保持し、当該観察視野角機能ボタンの周りでスライド又はドラッグすることであってもよい。端末は、ユーザーによる当該観察視野角機能ボタンのタッチ操作を検出した場合、ユーザー操作に基づいて視野角を調整し、調整後の視野角に応じて仮想シーンを提供してもよく、ユーザーが当該仮想オブジェクトの周囲環境を観察することができるようにし、ユーザーが現在の周囲環境に基づいて着地地点を選択し、次の操作を行うようにする。
【００３３】
なお、端末が当該ステップ４０１にて決定した仮想シーンの視野角は、当該観察視野角機能ボタンに対するタッチ操作により調整した視野角ではなく、当該端末が仮想ジョイスティック領域のタッチ操作を検出するとともに、端末が、当該観察視野角機能ボタンに対するタッチ操作に応じて視野角調整を行っていると、端末によって決定される仮想シーンの視野角は当該観察視野角機能ボタンに対するタッチ操作に応じて視野角調整を行う前の視野角である。
【００３４】
一つの可能な実現方式では、当該端末は、当該タッチ操作を検出した場合、当該仮想シーンにおける仮想オブジェクトの位置を検出してもよく、当該仮想オブジェクトが当該仮想シーンの空中の領域に位置することを検出すると、当該仮想オブジェクトが滑空状態にあり、ユーザーは、上記の仮想ジョイスティック領域、及び仮想シーンの視野角により仮想オブジェクトの落下の着地地点と落下速度を制御することができ、端末は、当該ステップにおける仮想シーンの視野角を決定するステップを実行することができる。当該仮想オブジェクトが当該仮想シーンの空中でない領域に位置することを検出すると、当該仮想オブジェクトが陸地に立っているか又は海洋で泳いでいる状態にあり、ユーザーは直接に仮想ジョイスティック領域に対してタッチ操作を行うことで、仮想オブジェクトがその周りに移動するように制御してもよく、タッチ操作が示す移動方向の違いによって、当該仮想オブジェクトは周囲の３６０°方向の中の任意の方向に移動してもよく、端末は、当該ステップ４０１を実行する必要がなく、ステップ４０６を実行し、ユーザーによるタッチ操作に基づいて、仮想オブジェクトが移動するように制御する。もちろん、当該ユーザーは、仮想シーンの視野角を調整することで当該仮想オブジェクトの正面の向きを調整し、これにより、当該仮想オブジェクトが真正面へ移動する場合における方向を調整し、実際の人物が方向を回転して移動し、及び人物が正面を変えずに各方向に移動するなどのシーンをシミュレーションしてもよい。
【００３５】
４０２において、端末は、仮想ジョイスティック領域のタッチ操作でトリガーされるタッチコマンドを受信する。
【００３６】
端末によって検出されるタッチ操作は異なってもよく、それに対応して、端末が受信するタッチコマンドも異なってもよい。上記の第１のタッチ操作、第２のタッチ操作、第３のタッチ操作及び第４のタッチ操作に対応して、端末は、第１のタッチコマンド、第２のタッチコマンド、第３のタッチコマンド、及び第４のタッチコマンドを受信できる。一つの可能な実現方式では、上記の実施例で言及されたタッチ操作の終点は、隣接する２つの方向矢印アイコンが示す方向の間にある場合、端末は、当該タッチ操作によりトリガーされる２つのタッチコマンドを取得してもよく、当該２つのタッチコマンドは、当該隣接する２つの方向矢印アイコンが示す方向に対応するタッチ操作に対応するタッチコマンドであってもよいし、又は、当該端末は、当該タッチ操作によりトリガーされるタッチコマンドを取得してもよく、当該タッチコマンドが示す仮想オブジェクト移動効果は上記の実現方式における２つのタッチコマンドの重畳効果であってもよく、本発明の実施例では、上記の２つのいずれを採用するかを具体的に限定しない。
【００３７】
４０３において、端末は、当該タッチコマンド、及び当該視野角に応じて、第１の加速度を取得する。
【００３８】
当該タッチコマンドが異なる場合や当該視野角が異なる場合、当該第１の加速度の大きさ及び方向も異なる。当該ステップ４０３において、端末は、当該タッチコマンドが示す方向と視野角の方向とに応じて、第１の加速度の方向を決定し、当該タッチコマンドに基づいて、第１の加速度の大きさが第１のプリセット閾値であるか、それとも、第２のプリセット閾値であるかを決定してもよい。具体的に、当該タッチコマンドが４つのタッチコマンドを含むことを例に、端末が取得する第１の加速度は、以下の４つの場合を含み得る。
【００３９】
第１の場合：当該タッチコマンドが第１のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向である第１の加速度を取得し、当該第１のタッチコマンドは、当該仮想オブジェクトを加速して移動させるように制御することを指示する。当該第１の場合では、端末は、当該第１のタッチコマンドが示す方向「前方」と、視野角方向とに応じて、第１の加速度の方向が視野角方向であると決定し、当該第１のタッチコマンドに従って、当該第１の加速度の大きさが第１のプリセット閾値であると決定してもよい。
【００４０】
第２の場合：当該タッチコマンドが第２のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向の逆方向である第１の加速度を取得し、当該第２のタッチコマンドは、当該仮想オブジェクトを減速して移動させるように制御することを指示する。当該第２の場合では、端末は、当該第２のタッチコマンドが示す「後方向」と、視野角方向とに応じて、第１の加速度の方向が視野角方向の逆方向であると決定し、当該第２のタッチコマンドに従って、当該第１の加速度の大きさが第１のプリセット閾値であると決定してもよい。
【００４１】
つまり、上記の第１のタッチコマンドと、第２のタッチコマンドとに対応する第１の加速度の大きさは第１のプリセット閾値である。
【００４２】
上記の第１の場合と第２の場合について、当該第１のプリセット閾値は、技術者によって設定されてもよく、ユーザーは第１のタッチ操作により第１のタッチコマンドをトリガーしてもよく、端末は、当該第１のタッチコマンドに従って、当該仮想オブジェクトを加速して前方へ移動させるように制御してもよく、第２のタッチ操作により第２のタッチコマンドをトリガーしてもよく、端末は、当該第２のタッチコマンドに従って、当該仮想オブジェクトを減速して前方へ移動させるように制御してもよく、これにより、当該仮想オブジェクトの移動速度を制御する目的を達成する。なお、当該第２のタッチ操作は、当該仮想オブジェクトを減速して移動させるように制御することを指示するだけであり、当該仮想オブジェクトは空中の領域において後方へ移動しない。
【００４３】
例えば、ビデオゲームシーンでは、ユーザーによって制御される仮想オブジェクトは、他の仮想オブジェクトと共に飛行機内に配置され、当該飛行機は、予め設定された速度で予め設定された方向に向かって移動し、ユーザーは、端末上で相関操作を行って、当該仮想オブジェクトが当該飛行機から離れて落下するように制御してもよい。図２に示すように、当該仮想オブジェクトの初期位置は空中の領域であってもよく、且つ、当該仮想オブジェクトのデフォルトの第１の向きは−９０°であってもよく、当該仮想オブジェクトの左は０°であり、図３に示すように、当該仮想オブジェクトの側面から見て、当該仮想オブジェクトのデフォルトの第２の向きは−９０°であってもよく、鉛直下方向は０°である。第１のデフォルトの視野角のヨー角は−９０°であってもよく、ピッチ角は−４５°であってもよい。ユーザーによるトリガー操作が第１のトリガー操作である場合、端末は、当該第１のトリガー操作でトリガーされる第１のタッチコマンドを受信し、当該第１のトリガーコマンドに対応する第１の加速度の方向が、ヨー角が当該仮想オブジェクトの第１の向きと同じで、９０°であり、且つピッチ角が視野角のヨー角と同じで、−４５°である方向であると決定してもよい。
【００４４】
第３の場合：当該タッチコマンドが第３のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が当該仮想オブジェクトの左である第１の加速度を取得し、当該第３のタッチコマンドは、当該仮想オブジェクトを左へ移動させるように制御することを指示する。当該第３の場合では、端末は、当該第３のタッチコマンドが示す方向「左方向」と、視野角方向とに応じて、第１の加速度の方向が視野角方向を前方向とする左であると決定し、当該第３のタッチコマンドに従って、当該第１の加速度の大きさが第２のプリセット閾値であると決定してもよい。
【００４５】
第４の場合：当該タッチコマンドが第４のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が当該仮想オブジェクトの右である第１の加速度を取得し、当該第４のタッチコマンドは、当該仮想オブジェクトを右へ移動させるように制御することを指示する。当該第４の場合では、端末は、当該第４のタッチコマンドが示す方向「右方向」と、視野角方向とに応じて、第１の加速度の方向が視野角方向を前方向とする右であると決定し、当該第４のタッチコマンドに従って、当該第１の加速度の大きさが第２のプリセット閾値である決定してもよい。
【００４６】
つまり、上記の第３のタッチコマンドと、第４のタッチコマンドとに対応する第１の加速度の大きさは第２のプリセット閾値である。
【００４７】
上記の第３の場合と第４の場合について、当該第２のプリセット閾値は、技術者によって設定されてもよく、一般に、当該第２のプリセット閾値は比較的小さく、ユーザーは、当該第３のタッチ操作又は第４のタッチ操作により第３のタッチコマンド又は第４のタッチコマンドをトリガーしてもよく、端末は、当該第３のタッチコマンド又は第４のタッチコマンドに従って、当該仮想オブジェクトを左又は右向へやや少し移動させるように制御してもよく、当該仮想オブジェクトの移動方向を左右方向に細かく補正する目的を達成し、仮想オブジェクトの移動方向をより精度よく調整することができる。
【００４８】
一つの可能な実現方式では、上記の端末が上記の４つのタッチコマンドのうちの２つのタッチコマンドを受信できる実現方式において、端末は、当該２つのタッチコマンドに対応する２つの第１の加速度に対してベクトル加算を行うことで、ユーザーのトリガー操作に対応する第１の加速度を取得してもよく、つまり、当該第１の加速度は、当該タッチ操作でトリガーされる２つのタッチコマンドに対応する第１の加速度のサブベクトルの和であってもよい。上記は、ユーザーによるタッチ操作に応じて第１の加速度を決定する一例であり、一つの可能な実現方式では、端末は、直接にタッチ操作でトリガーされるタッチコマンドを受信してもよく、当該タッチコマンドが示す仮想移動効果は上記の２つのタッチコマンドの重畳効果であってもよく、当該タッチコマンドに従って、第１の加速度の方向と大きさを決定し、本発明の実施例では、具体的に上記の２つの方式のいずれを採用して当該第１の加速度の方向と大きさを決定するかを具体的に限定しない。
【００４９】
４０４において、端末は、当該第１の加速度と重力加速度とに対してベクトル加算を行うことで、当該仮想オブジェクトの落下過程における加速度を取得する。
【００５０】
当該仮想オブジェクトが空中の領域に位置するので、上記のユーザーの当該仮想オブジェクトへのタッチ操作に対応する第１の加速度に加えて、当該仮想オブジェクトも重力加速度の作用があり、端末は、上記の第１の加速度と重力加速度とに対してベクトル加算を行うことで、当該仮想オブジェクトの加速度を取得してもよい。具体的に、端末は、当該第１の加速度と重力加速度ベクトルとを加算して得たベクトルの方向を、仮想オブジェクトの加速度方向として決定し、当該第１の加速度と重力加速度ベクトルとを加算して得たベクトルの大きさを、仮想オブジェクトの加速度の大きさとして決定してもよい。
【００５１】
上記のステップ４０２ないし４０４は、当該仮想ジョイスティック領域のタッチ操作、当該視野角及び重力加速度に基づいて、当該仮想オブジェクトの落下過程における加速度を取得するプロセスであり、ユーザーが制御領域に対してタッチ操作を行わないと、ユーザーは当該仮想オブジェクトが自由に落下させようとすることを意味し、当該仮想オブジェクトの移動に対して人為的な干渉を行わず、また、当該仮想オブジェクトが仮想シーンの空中の領域に位置し、仮想オブジェクトは重力の作用を受け、端末は、重力加速度を当該仮想オブジェクトの加速度としてもよい。
【００５２】
４０５において、端末は、仮想シーンにおいて当該加速度に応じて落下するように当該仮想オブジェクトを制御する。
【００５３】
ビデオゲームシーンにおいて、当該ユーザーは、当該仮想オブジェクトの落下軌跡を制御して、より適切な着地地点を選択し、後続のプレーにおいて利点を得るように意図する可能性があり、例えば、当該ビデオゲームにおいて、仮想オブジェクトのプレーリソースを建物に設置する可能性があり、ユーザーは、当該仮想オブジェクトが、建物が配置されている地点に向かって落下するように制御することを意図する可能性があり、ユーザーは、また、当該仮想オブジェクトの落下速度を制御することで、当該仮想オブジェクトが地面にすばやく着地してリソースを獲得するように意図する可能性があり、或いは、当該ユーザーは、減速して落下することで時間を増やして適切な着地地点を選択するように意図する可能性がある。ユーザーは、落下過程において上記のタッチ操作を複数回行うことにより、端末によりタッチ操作を検出するたびに、仮想オブジェクトの加速度の方向と大きさを決定することができ、これにより、タッチ操作が検出されるときの仮想オブジェクトの運動状態に基づいて、仮想シーンにおいて当該加速度に応じてその落下の速度と方向を動的に変更するように当該仮想オブジェクトを制御する。例えば、当該仮想オブジェクトはもともと自由落下運動をしており、当該端末が第１のトリガー操作を検出した場合、上記のステップにより、当該仮想オブジェクトの加速度の方向が当該仮想オブジェクトの前下方であることを取得し、端末は、当該仮想オブジェクトを前下方へ加速して移動させるように制御してもよい。
【００５４】
一つの可能な実現方式では、落下過程において、端末は、さらに、当該仮想オブジェクトの第２の向きを調整してもよい。端末は、当該仮想オブジェクトの第２の向きを調整する場合、上記の第１の加速度の方向に応じて調整してもよい。具体的に、当該第１の加速度の方向が視野角方向である場合、落下過程において、端末は、当該仮想オブジェクトの第２の向きを調整し、当該仮想オブジェクトのピッチ角を当該視野角のピッチ角と同じにし、実際の人物が下に急降下して体の向きを変更するシーンをより現実的にシミュレーションでき、当該第１の加速度の方向が視野角方向の逆方向である場合、落下過程において、端末は、当該仮想オブジェクトの第２の向きを調整し、当該仮想オブジェクトのピッチ角が０°となり、実際の人物が落下過程で体の向きを調整するシーンをより現実的にシミュレーションできる。
【００５５】
なお、一つの可能な実現方式では、当該仮想オブジェクトのピッチ角範囲は、−９０°から０°であってもよく、当該仮想オブジェクトは、水平方向の上に向かず、つまり、当該仮想オブジェクトは空中の領域で上向きに移動しない。端末は、当該仮想オブジェクトが自由落下運動を行うように制御する。前に当該仮想オブジェクトに対して第１のタッチ操作を行っていると、端末は、当該仮想オブジェクトが前下方に向いて、前下方へ加速して移動するように制御するが、現在、ユーザーは、当該仮想オブジェクトに対してタッチ操作を行わず、当該仮想オブジェクトの加速度は重力加速度に戻り、端末は、当該仮想オブジェクトが前下方に移動し続けるように制御してもよく、当該仮想オブジェクトの運動軌跡は放物線形状であり、当該仮想オブジェクトの水平方向の移動速度が変化しなく、当該仮想オブジェクトの第２の向きを０°に戻す。もちろん、当該仮想オブジェクトのピッチ角範囲は、他の範囲であってもよく、本発明の実施例では、それを限定しない。
【００５６】
一つの可能な実現方式では、落下過程において、端末は、さらに、タッチ操作に応じて当該仮想オブジェクトの体姿勢を調整することで、仮想オブジェクトが落下過程において現実シーンにおける空中に現れる可能性のある人の体姿勢をシミュレーションすることができるようにし、シミュレーション結果はより真実的になる。具体的に、４つの異なるタッチ操作に基づいて、当該タッチ操作に対応する体姿勢も異なる。
【００５７】
図５に示すように、当該タッチ操作が第１のタッチ操作である場合に、端末は、当該仮想オブジェクトを急降下姿勢に制御し、当該第１のタッチ操作でトリガーされる第１のタッチコマンドに対応する第１の加速度の方向が当該仮想オブジェクトの頭が前となる方向であり、つまり、当該第１の加速度の方向は当該仮想オブジェクトの向きと同じであり、且つ当該仮想オブジェクトの加速度には重力加速度がさらに含まれ、重力加速度の方向が鉛直下向きとなる。
【００５８】
図６に示すように、当該タッチ操作が第２のタッチ操作である場合、当該仮想オブジェクトをリーンバック姿勢に制御し、当該第２のタッチ操作でトリガーされる第２のタッチコマンドに対応する第１の加速度の方向が当該仮想オブジェクトの後方であり、当該第１の加速度の方向は当該視野角の方向とは逆であり、且つ当該仮想オブジェクトの加速度には重力加速度がさらに含まれ、重力加速度の方向が鉛直下向きとなる。
【００５９】
当該タッチ操作が第３のタッチ操作である場合、端末は、当該仮想オブジェクトを左に傾く姿勢に制御し、当該第３のタッチ操作でトリガーされる第３のタッチコマンドに対応する第１の加速度の方向は、左方向であり、当該仮想オブジェクトの加速度には重力加速度がさらに含まれ、重力加速度の方向が鉛直下向きとなる。
【００６０】
図７に示すように、当該タッチ操作が第４のタッチ操作である場合、端末は、当該仮想オブジェクトを右に傾く姿勢に制御し、当該第４のタッチ操作でトリガーされる第４のタッチコマンドに対応する第１の加速度の方向は右方向であり、当該仮想オブジェクトの加速度には重力加速度がさらに含まれ、重力加速度の方向が鉛直下向きとなる。当該仮想オブジェクトの右に傾く姿勢と、左に傾く姿勢とは、仮想オブジェクトの頭と足とを結ぶ線を中心軸として互いに鏡面対称である。一つの可能な実現方式では、当該端末が前に第１のタッチ操作を検出した場合、当該仮想オブジェクトが落下しながら前へ移動するように制御し、後に第４のタッチ操作を検出した場合、当該仮想オブジェクトは、続けて前へ移動しながら、ゆっくりと右にずれる。
【００６１】
なお、図８に示すように、当該端末によりタッチ操作が検出されず、端末は、当該仮想オブジェクトが自由落下運動を行うように制御する場合、当該仮想オブジェクトの体姿勢を、水平方向から下向きに落下する姿勢に調整してもよい。
【００６２】
上記の５つの体姿勢に基づいて、２つの極端なシーンがあり得る。第１のシーンにおいて、ユーザーは、視野角を水平方向に調整してもよく、つまり、ピッチ角は−９０であり、その後、第１のタッチ操作を行い、端末は、当該第１のタッチ操作を検出した場合、当該第１のタッチ操作でトリガーされる第１のタッチコマンドに対応する第１の加速度の方向が水平前向きであり、重力加速度が鉛直下向きであると決定してもよく、よって、端末は、当該仮想オブジェクトが前下方へ移動するように制御してもよく、運動軌跡は放物線であってもよい。当該第１の加速度の大きさが同じであり、当該第１の加速度の方向が水平方向前方である場合に、当該仮想オブジェクトが水平方向の最も遠い箇所に移動するようにし、「浅い急降下」という効果を達成する。第２の特別なシーンでは、ユーザーは、視野角を鉛直方向に調整してもよく、つまり、ピッチ角は０であり、その後、第１のタッチ操作を行い、端末は、当該第１のタッチ操作を検出した場合に、当該第１のタッチ操作でトリガーされる第１のタッチコマンドに対応する第１の加速度と重力加速度方向とが同じであると決定してもよく、いずれも鉛直下向きであり、よって、端末は、当該仮想オブジェクトが鉛直下向きに移動するように制御してもよく、当該仮想オブジェクトのピッチ角を０に制御し、鉛直下向きに急降下することを実現し、地面に最も速く着地する効果を達成することができる。
【００６３】
なお、上記のステップ４０１ないしステップ４０５は、仮想オブジェクトの落下を動的に制御するプロセスであり、端末は、フレームごとに上記のステップ４０１ないし４０５を実行してもよく、仮想オブジェクトの加速度を取得した後に、次のフレームでの当該仮想オブジェクトの位置を算出し、その後、次のフレームでのユーザー動作に基づいて上記の取得及び算出処理を繰り返し、当該仮想オブジェクトの位置が空中の領域から空中でない領域に切り替えられた場合、以下のステップ４０６と４０７を実行してもよい。一つの可能な実現方式では、隣接する２つのフレームの間の時間間隔は、ユーザーが自身デバイスの性能パラメーターに応じて設置して決定してもよい。このように、フレームごとに仮想オブジェクトの加速度をリアルタイムに取得し、リアルタイムの加速度に応じて次のフレームでの仮想オブジェクトの位置を算出し、端末は、算出して得られた位置に基づいて次のフレームをレンダリング表示してもよく、端末は、仮想シーンに当該仮想オブジェクトを表示することができ、端末によって表示される仮想オブジェクトの落下プロセスをより現実的且つ正確にすることができる。
【００６４】
４０６において、端末は、当該仮想ジョイスティック領域のタッチ操作に基づいて、当該タッチ操作に対応する加速度を取得する。
【００６５】
当該仮想オブジェクトが空中の領域から空中でない領域に切り替えられる場合、又は当該仮想オブジェクトの初期位置が陸地領域又は海洋領域に位置する場合、端末は、第２のデフォルトの視野角を提供でき、当該第２のデフォルトの視野角は、当該仮想オブジェクトが立ち姿勢にある場合における真正面である。
【００６６】
当該仮想オブジェクトが当該仮想シーンの空中でない領域に位置する場合、当該仮想オブジェクトが静止していると、端末は、当該仮想オブジェクトの初期姿勢を立ち姿勢に制御してもよい。当該仮想オブジェクトが空中の領域に位置しないので、当該仮想オブジェクトの鉛直方向に受ける力はバランスをとって、当該端末が検出する仮想ジョイスティック領域のタッチ操作に対応する加速度は、当該仮想オブジェクトの加速度である。具体的に、端末はタッチ操作でトリガーされるタッチコマンドを受信でき、タッチコマンドが示す方向を当該仮想オブジェクトの加速度の方向として決定し、例えば、当該タッチ操作に対応するタッチコマンドが示す方向は前方向であると、当該加速度の方向は当該仮想オブジェクトの前方であり、当該タッチ操作に対応するタッチコマンドが示す方向は後方向であると、当該加速度の方向は当該仮想オブジェクトの後方であり、当該タッチ操作に対応するタッチコマンドが示す方向は左方向であると、当該加速度の方向は当該仮想オブジェクトの左方であり、当該タッチ操作に対応するタッチコマンドが示す方向は右方向であると、当該加速度の方向は当該仮想オブジェクトの右方である。もちろん、当該タッチ操作に対応するタッチコマンドが示す方向は左前方であると、当該加速度の方向は当該仮想オブジェクトの左前方であり、当該タッチ操作に対応するタッチコマンドが示す方向範囲は３６０°であり、本発明の実施例では、一つずつ挙げない。
【００６７】
４０７において、端末は、仮想シーンにおいて当該加速度に応じて移動するように当該仮想オブジェクトを制御する。
【００６８】
端末は、ステップ４０６にて当該仮想オブジェクトの加速度を取得した場合に、当該仮想オブジェクトを制御して仮想シーンにおいて当該加速度に応じて走ったり、這ったり、歩いたり、泳いだり等するようにし、ここで再度記述しない。
【００６９】
図９は、本発明の実施例で提供される仮想オブジェクト制御方法のフローチャートである。図９を参照して、当該端末は、フレームごとに、仮想オブジェクトが着地したかどうかを検出し、当該仮想オブジェクトが着地していない場合、端末は、当該仮想オブジェクトの現在の向きを決定し、当該仮想オブジェクトの現在のタッチ操作に対応するベクトル速度を算出し、さらに、当該ベクトル速度と重力加速度とを組み合わせて、当該仮想オブジェクトの最終的な加速度を取得し、最終的な加速度、及び現在のフレームでの当該仮想オブジェクトの運動状態と位置に応じて、当該フレームの当該仮想オブジェクトの次のフレームでの位置を決定し、さらに、次のフレームで当該仮想オブジェクトが着地したかどうかを検出し、当該仮想オブジェクトが既に着地したことが検出されると、端末は、上記の当該仮想オブジェクトが空中の領域に位置する場合における向き、加速度などを算出するステップを停止する。
【００７０】
本発明の実施例では、制御領域のタッチ操作を検出し、タッチ操作、視野角、及び重力加速度などの要素と合わせて、仮想オブジェクトの加速度を決定することにより、仮想オブジェクトに対する移動制御を実現し、当該加速度の方向が固定ではなく、大きさが０ではないので、当該仮想オブジェクトを任意の方向に移動させることができ、当該仮想オブジェクトを加速又は減速して移動させることもでき、これにより、実際の人物の動作を現実的にシミュレーションすることができる。そして、端末は、さらに、落下過程において仮想オブジェクトの向きを制御することで、当該仮想オブジェクトに異なる運動状態に応じて体の向きを調整させ、実際の人物の空中に現れる可能性のある異なる向きをより現実的にシミュレーションする。端末は、さらに、落下過程において仮想オブジェクトの体姿勢を制御することで、当該仮想オブジェクトが異なるシーンに対して相応する体姿勢をするようにし、現実シーンにおける実際の人物の動作をより現実的にシミュレーションするようにする。
【００７１】
上記の全てのオプションの技術案は、任意に組み合わせて本発明のオプションの実施例を形成することができ、ここで一つずつ再度記述しない。
【００７２】
図１０は、本発明の実施例で提供される仮想オブジェクト制御装置の構成模式図である。当該装置は、
仮想シーンにおける仮想オブジェクトの移動形態を制御するための制御領域に対するタッチ操作を検出した場合、仮想シーンの視野角を決定するための決定モジュール１００１と、
当該制御領域のタッチ操作、当該視野角、及び重力加速度に基づいて、当該仮想オブジェクトの落下過程における加速度を取得するための取得モジュール１００２と、
当該仮想シーンにおいて当該加速度に応じて落下するように当該仮想オブジェクトを制御するための制御モジュール１００３とを含む。
【００７３】
一実施例では、当該装置は、
当該仮想オブジェクトの当該仮想シーンにおける位置を検出するための検出モジュールと、
当該仮想オブジェクトが当該仮想シーンにおける空中の領域に位置することを検出した場合、当該仮想シーンの視野角を決定するステップを実行するための実行モジュールとをさらに含む。
【００７４】
一実施例では、当該取得モジュール１００２は、さらに、当該仮想オブジェクトが当該仮想シーンにおける空中でない領域に位置することを検出した場合、当該制御領域のタッチ操作に基づいて、当該タッチ操作に対応する加速度を取得する。
当該制御モジュール１００３は、さらに、当該仮想シーンにおいて当該加速度に応じて移動するように当該仮想オブジェクトを制御する。
【００７５】
一実施例では、当該装置は、
当該仮想シーンの視野角を調整するための視野角調整操作を検出した場合、当該視野角調整操作に応じて視野角を調整するための調整モジュールをさらに含む。
当該調整モジュールは、さらに、調整後の視野角に応じて、当該仮想オブジェクトの第１の向きを調整し、当該仮想オブジェクトの第１の向きは、当該仮想オブジェクトのオイラー角におけるヨー角を指す。
【００７６】
一実施例では、当該取得モジュール１００２は、
当該タッチ操作でトリガーされるタッチコマンドを受信し、
当該タッチコマンド、及び当該視野角に応じて、第１の加速度を取得し、
当該第１の加速度と重力加速度とに対してベクトル加算を行うことで、当該仮想オブジェクトの加速度を取得する。
【００７７】
一実施例では、当該取得モジュール１００２は、当該制御領域のタッチ操作が検出されなかった場合、重力加速度を、当該仮想オブジェクトの落下過程における加速度とする。
【００７８】
一実施例では、当該取得モジュール１００２は、
当該タッチコマンドが第１のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向である第１の加速度を取得し、当該第１のタッチコマンドは、当該仮想オブジェクトを加速して移動させるように制御することを指示する。
【００７９】
一実施例では、当該取得モジュール１００２は、
当該タッチコマンドが第２のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向の逆方向である第１の加速度を取得し、当該第２のタッチコマンドは、当該仮想オブジェクトを減速して移動させるように制御することを指示する。
【００８０】
一実施例では、当該取得モジュール１００２は、
当該タッチコマンドが第３のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が当該仮想オブジェクトの左である第１の加速度を取得し、当該第３のタッチコマンドは、当該仮想オブジェクトを左へ移動させるように制御することを指示する。
【００８１】
一実施例では、当該取得モジュール１００２は、
当該タッチコマンドが第４のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が当該仮想オブジェクトの右である第１の加速度を取得し、当該第４のタッチコマンドは、当該仮想オブジェクトを右へ移動させるように制御することを指示する。
【００８２】
一実施例では、当該制御モジュール１００３は、落下過程において当該仮想オブジェクトの第２の向きを調整し、当該仮想オブジェクトの第２の向きは、当該仮想オブジェクトのオイラー角におけるピッチ角を指す。
【００８３】
一実施例では、当該制御モジュール１００３は、
当該第１の加速度の方向が視野角方向である場合、落下過程において当該仮想オブジェクトの第２の向きを調整し、調整後の当該仮想オブジェクトのピッチ角が当該視野角のピッチ角と同じとなり、
当該第１の加速度の方向が視野角方向の逆方向である場合、落下過程において当該仮想オブジェクトの第２の向きを調整し、調整後の当該仮想オブジェクトのピッチ角が０°となる。
【００８４】
一実施例では、当該制御モジュール１００３は、さらに、落下過程において、当該タッチ操作に応じて当該仮想オブジェクトの体姿勢を調整する。
【００８５】
本発明の実施例で提供される装置は、仮想ジョイスティック領域のタッチ操作を検出し、タッチ操作、視野角、及び重力加速度などの要素と合わせて、仮想オブジェクトの加速度を決定することにより、仮想オブジェクトに対する移動制御を実現し、当該加速度の方向が固定ではなく、大きさが０ではないので、当該仮想オブジェクトを任意の方向に移動させることができ、当該仮想オブジェクトを加速又は減速して移動させることもでき、これにより、実際の人物の動作を現実的にシミュレーションすることができる。
【００８６】
なお、上記の実施例で提供される仮想オブジェクト制御装置は、仮想オブジェクトの制御を実現する場合、上記の各機能モジュールの分割を例にとって説明したが、実際の応用において、上記の機能は、必要に応じて異なる機能モジュールに割り当てられて実現されてもよく、即ち、装置の内部構成は、前述の全ての機能又は一部の機能を実現するために、異なる機能モジュールに分割される。また、上記の実施例で提供される仮想オブジェクト制御装置と仮想オブジェクト制御方法の実施例は同じ概念に属し、その具体的な実現プロセスに関して、方法実施例を参照し、ここで再度記述しない。
【００８７】
図１１は、本発明の実施例で提供される電子機器１１００の構成模式図であり、当該電子機器１１００は端末として提供されてもよく、当該電子機器１１００は、配置又は性能によって大きく異なり、１つ又は複数のプロセッサ(ｃｅｎｔｒａｌ ｐｒｏｃｅｓｓｉｎｇ ｕｎｉｔｓ、ＣＰＵ)１１０１と、１つ又は複数のメモリ１１０２とを含んでもよく、ここで、当該メモリ１１０２には少なくとも一つのコマンドが記憶されており、当該少なくとも一つのコマンドが当該プロセッサ１１０１によってロードされて実行されることで、
当該仮想シーンにおける仮想オブジェクトの移動形態を制御するための制御領域に対するタッチ操作を検出した場合、仮想シーンの視野角を決定するステップと、
当該制御領域のタッチ操作、当該視野角、及び重力加速度に基づいて、当該仮想オブジェクトの落下過程における加速度を取得するステップと、
当該仮想シーンにおいて当該加速度に応じて落下するように当該仮想オブジェクトを制御するステップとを実現する。
【００８８】
一つの可能な実現方式では、当該プロセッサ１１０１は、さらに、
当該仮想オブジェクトの当該仮想シーンにおける位置を検出し、
当該仮想オブジェクトが当該仮想シーンにおける空中の領域に位置することを検出した場合、当該仮想シーンの視野角を決定するステップを実行する、ことを実行する。
【００８９】
一つの可能な実現方式では、当該プロセッサ１１０１は、さらに、
当該仮想オブジェクトが当該仮想シーンにおける空中でない領域に位置することを検出した場合、当該制御領域のタッチ操作に基づいて、当該タッチ操作に対応する加速度を取得し、
当該仮想シーンにおいて当該加速度に応じて移動するように当該仮想オブジェクトを制御する、ことを実行する。
【００９０】
一つの可能な実現方式では、当該プロセッサ１１０１は、さらに、
当該仮想シーンの視野角を調整するための視野角調整操作を検出した場合、当該視野角調整操作に応じて視野角を調整し、
調整後の視野角に応じて、当該仮想オブジェクトの第１の向きを調整する、ことを実行し、当該仮想オブジェクトの第１の向きは、当該仮想オブジェクトのオイラー角におけるヨー角を指す。
【００９１】
一つの可能な実現方式では、当該プロセッサ１１０１は、
当該タッチ操作でトリガーされるタッチコマンドを受信し、
当該タッチコマンド、及び当該視野角に応じて、第１の加速度を取得し、
当該第１の加速度と重力加速度とに対してベクトル加算を行うことで、当該仮想オブジェクトの加速度を取得する、ことを実行する。
【００９２】
一つの可能な実現方式では、当該プロセッサ１１０１は、さらに、
当該制御領域のタッチ操作が検出されなかった場合、重力加速度を、当該仮想オブジェクトの落下過程における加速度とすることを実行する。
【００９３】
一つの可能な実現方式では、当該プロセッサ１１０１は、
当該タッチコマンドが第１のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向である第１の加速度を取得することを実行し、当該第１のタッチコマンドは、当該仮想オブジェクトを加速して移動させるように制御することを指示する。
【００９４】
一つの可能な実現方式では、当該プロセッサ１１０１は、
当該タッチコマンドが第２のタッチコマンドである場合、大きさが第１のプリセット閾値、方向が視野角方向の逆方向である第１の加速度を取得することを実行し、当該第２のタッチコマンドは、当該仮想オブジェクトを減速して移動させるように制御することを指示する。
【００９５】
一つの可能な実現方式では、当該プロセッサ１１０１は、
当該タッチコマンドが第３のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が当該仮想オブジェクトの左である第１の加速度を取得することを実行し、当該第３のタッチコマンドは、当該仮想オブジェクトを左へ移動させるように制御することを指示する。
【００９６】
一つの可能な実現方式では、当該プロセッサ１１０１は、
当該タッチコマンドが第４のタッチコマンドである場合、大きさが第２のプリセット閾値、方向が当該仮想オブジェクトの右である第１の加速度を取得することを実行し、当該第４のタッチコマンドは、当該仮想オブジェクトを右へ移動させるように制御することを指示する。
【００９７】
一つの可能な実現方式では、当該プロセッサ１１０１は、
落下過程において当該仮想オブジェクトの第２の向きを調整することを実行し、当該仮想オブジェクトの第２の向きは、当該仮想オブジェクトのオイラー角におけるピッチ角を指す。
【００９８】
一つの可能な実現方式では、当該プロセッサ１１０１は、
当該第１の加速度の方向が視野角方向である場合、落下過程において当該仮想オブジェクトの第２の向きを調整し、調整後の当該仮想オブジェクトのピッチ角が当該視野角のピッチ角と同じとなり、
当該第１の加速度の方向が視野角方向の逆方向である場合、落下過程において当該仮想オブジェクトの第２の向きを調整し、調整後の当該仮想オブジェクトのピッチ角が０°となることを実行する。
【００９９】
一つの可能な実現方式では、当該プロセッサ１１０１は、さらに、落下過程において、当該タッチ操作に応じて当該仮想オブジェクトの体姿勢を調整することを実行する。
【０１００】
もちろん、当該電子機器１１００は、入出力のために、有線又は無線ネットワークインターフェース、キーボード及び入出力デバイスなどの部品をさらに有してもよく、当該電子機器１１００は、他のデバイス機能を実現するための部品をさらに含んでもよく、ここで再度記述しない。
【０１０１】
例示的な実施例では、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体、例えば、コンピュータプログラムが記憶されているメモリをさらに提供し、上記のコンピュータプログラムは、プロセッサによって実行される場合に、上記の仮想オブジェクト制御方法を実現する。例えば、上記のコンピュータ読み取り可能な記憶媒体は、読み取り専用メモリ(Ｒｅａｄ−Ｏｎｌｙ Ｍｅｍｏｒｙ、ＲＯＭ)、ランダムアクセスメモリ(Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ、ＲＡＭ)、コンパクトディスク読み取り専用メモリ(Ｃｏｍｐａｃｔ Ｄｉｓｃ Ｒｅａｄ−Ｏｎｌｙ Ｍｅｍｏｒｙ、ＣＤ−ＲＯＭ)、磁気テープ、フレキシブルディスク、及び光データ記憶装置などであってもよい。
【０１０２】
当業者であれば、上記の実施例のステップの全部又は一部は、ハードウェアによって実現されてもよいし、プログラムから関連のハードウェアへ指示することにより実現されてもよい。当該プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよい。上記に言及された記憶媒体は、読み出し専用メモリ、磁気ディスクや光ディスクなどであってもよい。
【０１０３】
上記は、本発明の単なる好適な実施例であり、本発明の限定を意図しない。本発明の精神及び原則内で行われる任意の修正、同等の置換、改善等は本発明の保護範囲内に含まれるべきである。
【符号の説明】
【０１０４】
１００１  決定モジュール
１００２  取得モジュール
１００３  制御モジュール
１１００  電子機器
１１０１  プロセッサ
１１０２  メモリ
【図１】
2021512418.tif 000003
【図２】
2021512418.tif 000004
【図３】
2021512418.tif 000005
【図４】
2021512418.tif 000006
【図５】
2021512418.tif 000007
【図６】
2021512418.tif 000008
【図７】
2021512418.tif 000009
【図８】
2021512418.tif 000010
【図９】
2021512418.tif 000011
【図１０】
2021512418.tif 000012
【図１１】
2021512418.tif 000013
【国際調査報告】
2021512418.tif 000014
2021512418.tif 000015
2021512418.tif 000016
2021512418.tif 000017