JP2023503874A - データ同期方法、装置、端末、サーバ及びコンピュータプログラム - Google Patents

データ同期方法、装置、端末、サーバ及びコンピュータプログラム Download PDF

Info

Publication number
JP2023503874A
JP2023503874A JP2022529073A JP2022529073A JP2023503874A JP 2023503874 A JP2023503874 A JP 2023503874A JP 2022529073 A JP2022529073 A JP 2022529073A JP 2022529073 A JP2022529073 A JP 2022529073A JP 2023503874 A JP2023503874 A JP 2023503874A
Authority
JP
Japan
Prior art keywords
information
virtual
virtual tool
collision
motion trajectory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022529073A
Other languages
English (en)
Other versions
JP7311711B2 (ja
Inventor
超 梁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of JP2023503874A publication Critical patent/JP2023503874A/ja
Application granted granted Critical
Publication of JP7311711B2 publication Critical patent/JP7311711B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/573Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/275Synchronous replication
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Optics & Photonics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本願は、データ同期方法、装置、端末、サーバ及び記憶媒体を開示し、コンピュータ技術分野に属する。本願の実施例において、仮想道具が第1動き軌跡に応じて動きを行うプロセスにおいて、第1動き軌跡上の仮想障害物と衝突したときに、サーバに対して、衝突情報及び仮想道具の動き情報を同期することによって、サーバは、同期した衝突情報及び動き情報に基づいて、それ自体が取得した第2動き軌跡を修正することができる。衝突情報及び衝突に関わる仮想道具の動き情報を同期することによって、サーバにおける仮想道具の動き軌跡を修正し、それにより端末における動き軌跡と同期する。このように、サーバと端末における仮想道具の動き軌跡が一致し、仮想道具の動き軌跡の正確性を向上させる。なお、同じ動き軌跡によって算出された着地点も一致し、爆発効果の表示位置と着地点が一致しないという現象を避けることができる。

Description

(関連出願の相互参照)
本願は、2020年04月08日に提出された、出願番号が202010268946.1、発明名称が「データ同期方法、装置、電子機器及び記憶媒体」である中国特許出願に基づく優先権を主張し、該中国特許出願の全内容が参照として本願に組み込まれる。
本願は、コンピュータ技術分野に関し、特にデータ同期方法、装置、端末、サーバ及び記憶媒体に関する。
マルチメディア技術の成長及び端末の機能の多様化に伴い、端末で実行可能なゲームの種類は多くなってきた。ここで、シューティングゲームは、普及しているゲームである。端末は、インタフェースに仮想シーンを表示し、仮想シーンに仮想対象を表示することができる。該仮想対象は、仮想道具を他の仮想対象と対戦するように制御することができる。
現在では、爆発威力を有する仮想道具を例として、このような仮想道具の制御方法は、一般的には、ユーザがインタラクティブボタンをクリックした後、1つの位置へ仮想道具を投擲することである。仮想道具が着地したとき、着地点で仮想道具の爆発効果を表示することができる。該プロセスにおいて、仮想道具が動き軌跡上の障害物と衝突するときに反発し、端末とサーバはいずれも仮想道具の動き軌跡に対して演算を行い、両者による演算結果が一致しないと、サーバによって算出された動き軌跡及び着地点に準じて爆発効果を表示する。
端末とサーバにおけるいくつかの仮想シーン又は角度が完全には一致していないため、両者によって算出された仮想道具の動き軌跡が完全に一致することを確保できない。このように、サーバによって算出された動き軌跡に準じると、両者によって算出された動き軌跡が一致しないことによって、最終的に爆発効果を表示する位置と着地点が一致しないことを引き起こす可能性もある。例えば、最後にサーバによって算出された着地点に準じて仮想道具の爆発効果を表示する場合に、仮想道具がある地点に落ちるが、爆発位置が別の地点にあるという現象が発生する。従って、上記制御方法において取得された仮想道具の動き軌跡が正確ではなく、仮想道具の実際の動き状況に合致しない。
本願の実施例は、仮想道具の動き軌跡の正確性を向上させることができるデータ同期方法、装置、端末、サーバ及び記憶媒体を提供する。該技術的解決手段は以下のとおりである。
一態様によれば、データ同期方法を提供する。該方法は、端末に用いられ、該方法は、
仮想道具に対する投擲操作に応答して、前記仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御するステップと、
前記仮想道具が前記第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突情報及び前記仮想道具の動き情報を取得するステップと、
前記衝突情報及び前記動き情報を含む同期情報をサーバに送信するステップであって、前記同期情報は、前記衝突情報及び前記動き情報に基づいて第2動き軌跡を修正するように前記サーバに指示するためのものであり、前記第2動き軌跡は、前記サーバによって取得された前記仮想道具の動き軌跡である、ステップと、を含む。
一態様によれば、データ同期方法を提供する。前記方法は、サーバに用いられ、前記方法は、
仮想道具に対する投擲命令に応答して、前記仮想道具の第2動き軌跡を取得するステップと、
端末から送信された同期情報を受信するステップであって、前記同期情報に、衝突情報及び前記仮想道具の動き情報が含まれ、前記同期情報は、前記仮想道具が第1動き軌跡上の仮想障害物と衝突したときに前記端末から送信されたものであり、前記第1動き軌跡は、前記端末によって取得された前記仮想道具の動き軌跡である、ステップと、
前記衝突情報及び前記動き情報に基づいて、前記第2動き軌跡に対して修正を行うステップと、を含む。
一態様によれば、データ同期装置を提供する。該装置は、
仮想道具に対する投擲操作に応答して、前記仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御するように構成される制御モジュールと、
前記仮想道具が前記第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突情報及び前記仮想道具の動き情報を取得するように構成される取得モジュールと、
前記衝突情報及び前記動き情報を含む同期情報をサーバに送信するように構成される送信モジュールであって、前記同期情報は、前記衝突情報及び前記動き情報に基づいて第2動き軌跡を修正するように前記サーバに指示するためのものであり、前記第2動き軌跡は、前記サーバによって取得された前記仮想道具の動き軌跡である、送信モジュールと、を備える。
一態様によれば、データ同期装置を提供する。前記装置は、
仮想道具に対する投擲命令に応答して、前記仮想道具の第2動き軌跡を取得するように構成される取得モジュールと、
端末から送信された同期情報を受信するように構成される受信モジュールであって、前記同期情報に、衝突情報及び前記仮想道具の動き情報が含まれ、前記同期情報は、前記仮想道具が第1動き軌跡上の仮想障害物と衝突したときに前記端末から送信されたものであり、前記第1動き軌跡は、前記端末によって取得された前記仮想道具の動き軌跡である、受信モジュールと、
前記衝突情報及び前記動き情報に基づいて、前記第2動き軌跡に対して修正を行うように構成される修正モジュールと、を備える。
一態様によれば、端末を提供する。該端末は、1つ又は複数のプロセッサと、1つ又は複数のメモリと、を備え、該1つ又は複数のメモリに少なくとも1つのプログラムコードが記憶されており、該1つ又は複数のプロセッサは、上記いずれか1つの態様及びいずれか1つの態様におけるいずれか1つの可能な実現形態のデータ同期方法を実現するために、該少なくとも1つのプログラムコードをロードして実行する。
一態様によれば、サーバを提供する。該サーバは、1つ又は複数のプロセッサと、1つ又は複数のメモリと、を備え、該1つ又は複数のメモリに少なくとも1つのプログラムコードが記憶されており、該1つ又は複数のプロセッサは、上記いずれか1つの態様及びいずれか1つの態様におけるいずれか1つの可能な実現形態のデータ同期方法を実現するために、該少なくとも1つのプログラムコードをロードして実行する。
一態様によれば、記憶媒体を提供する。該記憶媒体に少なくとも1つのプログラムコードが記憶されており、前記少なくとも1つのプログラムコードは、プロセッサによりロードされて実行され、プロセッサに上記いずれか1つの態様及びいずれか1つの態様におけるいずれか1つの可能な実現形態のデータ同期方法を実現させる。
一態様によれば、コンピュータプログラム製品又はコンピュータプログラムを提供する。該コンピュータプログラム製品又はコンピュータプログラムは、コンピュータ命令を含み、該コンピュータ命令は、コンピュータ可読記憶媒体に記憶されている。コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体から該コンピュータ命令を読み取り、該コンピュータ命令を実行し、コンピュータ機器は、上記態様の種々の選択可能な実現形態によるデータ同期方法を実行する。
本願の実施例において、仮想道具が第1動き軌跡に応じて動きを行うプロセスにおいて、該第1動き軌跡上の仮想障害物と衝突したときに、サーバに対して、衝突情報及び仮想道具の動き情報を同期することによって、サーバは同期した衝突情報及び動き情報に基づいて、それ自体が取得した第2動き軌跡を修正することができる。上記データ同期方法において、衝突情報及び衝突に関わる仮想道具の動き情報を同期することによって、サーバにおける仮想道具の動き軌跡を修正し、それにより端末における動き軌跡と同期する。このように、サーバと端末における仮想道具の動き軌跡が一致し、仮想道具の動き軌跡の正確性を向上させる。なお、両者によって得られた動き軌跡が同じであり、同じ動き軌跡によって算出された着地点も一致し、仮想道具放出効果の表示位置と着地点が一致しないという現象を避けることができる。
本願の実施例によるデータ同期方法の実施環境概略図である。 本願の実施例によるデータ同期方法のフローチャートである。 本願の実施例によるデータ同期方法のフローチャートである。 本願の実施例によるデータ同期方法のフローチャートである。 本願の実施例による端末インタフェースの概略図である。 本願の実施例による端末インタフェースの概略図である。 本願の実施例による端末インタフェースの概略図である。 本願の実施例による端末インタフェースの概略図である。 本願の実施例による端末インタフェースの概略図である。 本願の実施例による端末インタフェースの概略図である。 本願の実施例による端末インタフェースの概略図である。 本願の実施例による半直線検出の概略図である。 本願の実施例による端末インタフェースの概略図である。 本願の実施例によるデータ同期方法のフローチャートである。 本願の実施例によるデータ同期装置の構造概略図である。 本願の実施例によるデータ同期装置の構造概略図である。 本願の実施例による端末1700の構造概略図である。 本願の実施例によるサーバ1800の構造概略図である。
本願の実施例における技術的解決手段をより明確に説明するために、以下、実施例の説明に必要な図面を簡単に説明する。勿論、以下の図面は本願の一部の実施例に過ぎず、当業者は創造的な労力を要することなく、これらの図面に基づいて他の図面を得ることもできる。
本願の目的、技術的解決手段及びメリットをより明確にするために、以下、図面を参照しながら、本願の実施形態を更に詳しく説明する。
本願における用語「第1」「第2」などは、作用及び機能がほぼ同じである同一項目又は類似項目を区別するためのものである。「第1」、「第2」、「第n」は論理的又は時系列的な依存関係を有することなく、数と実行順番に対しても限定しないことが理解されるべきである。
本願における用語「少なくとも1つ」は、1つ又は1つ以上であることを意味し、「少なくとも2つ」は、2つ又は2つ以上であることを意味し、例えば、少なくとも2つの機器は、2つ又は2つ以上の機器であることを意味する。
以下では、本願に係る用語を説明する。
仮想シーンは、アプリケーションプログラムが端末で実行されるときに表示(又は提供)される仮想シーンである。該仮想シーンは、リアルな世界に対するシミュレーション環境であってもよく、セミシミュレーションやセミ架空の仮想環境であってもよく、更に、完全架空の仮想環境であってもよい。仮想シーンは、二次元仮想シーンと、2.5次元仮想シーンと、三次元仮想シーンと、のうちのいずれか1つであってもよい。本願の実施例は、仮想シーンの次元を限定しない。例えば、仮想シーンは、空、陸地、海洋などを含んでもよく、該陸地は、砂漠、都市などの環境要素を含んでもよい。ユーザは、仮想対象を、該仮想シーンにおいて移動するように制御することができる。
仮想対象は、仮想シーンにおける可動対象である。該可動対象は、仮想人物、仮想動物、アニメキャラクターなどであってもよく、例えば、仮想シーンにおいて表示される人物、動物、植物、ドラム缶、壁、石塊などであってもよい。該仮想対象は、該仮想シーンにおける、ユーザを表すための1つの仮想な仮想キャラクターであってもよい。仮想シーンに複数の仮想対象が含まれてもよく、各仮想対象は、仮想シーンにおいてそれ自体の形状及び体積を有し、仮想シーンにおける一部の空間を占有する。
選択的に、該仮想対象は、クライアント上での操作により制御されるプレイヤーキャラクターであってもよく、訓練により仮想シーン対戦に設けられる人工知能(Artificial Intelligence:AI)であってもよく、さらに、仮想シーンインタラクションにおいて設けられる非ユーザキャラクター(Non-Player Character:NPC)であってもよい。選択的に、該仮想対象は、仮想シーンにおいて競技を行う仮想人物であってもよい。選択的に、該仮想シーンにおけるインタラクションに参加する仮想対象の数は、予め設定されたものであってもよく、インタラクションに参加するクライアントの数に応じて動的に決定されたものであってもよい。
シューティングゲームを例として、ユーザは、仮想対象を、該仮想シーンの空において自由落下、滑空するか又はパラシュートを開いて落下するように制御することができ、仮想対象を、陸地でランニング、ジャンプ、腹這い、腰を曲げて歩くように制御することもでき、仮想対象を海洋において水泳、浮遊又は潜水するように制御することもできる。勿論、ユーザは、仮想対象を、仮想乗り物を乗って該仮想シーンにおいて移動するように制御することもできる。例えば、該仮想乗り物は、仮想自動車、仮想飛行機、仮想ヨットなどであってもよい。ここで、上記シーンのみを例として説明するが、本願の実施例は、これを具体的に限定するものではない。ユーザは、仮想対象を、仮想道具を用いて他の仮想対象と戦うなどの方式でインタラクションを行うように制御することもできる。例えば、該仮想道具は、グレネード弾、クラスター爆弾、発煙弾、スタングレネード、火炎瓶又は粘着手榴弾(「粘着爆弾」と略称される)などの投擲型道具であってもよく、マシンガン、ピストル、ライフルなどのシューティング型道具であってもよく、本願は、仮想道具のタイプを具体的に限定するものではない。
図1は、本願の実施例によるデータ同期方法の実施環境概略図である。図1を参照すると、該実施環境は、第1端末120と、サーバ140と、第2端末160と、を備える。
第1端末120に、仮想シーンをサポートするアプリケーションプログラムがインストールされて実行されている。該アプリケーションプログラムは、一人称シューティングゲーム(First-Person Shooting game:FPS)、三人称シューティングゲーム、マルチプレイヤーオンラインバトルアリーナゲーム(Multiplayer Online Battle Arena games:MOBA)、仮想現実アプリケーションプログラム、三次元地図プログラム、軍事シミュレーションプログラム又はマルチプレイヤー銃撃戦サバイバルゲームのうちのいずれか1つであってもよい。第1端末120は、第1ユーザが用いる端末であってもよい。第1ユーザは、第1端末120を用いて、仮想シーンに位置する第1仮想対象を活動するように操作する。該活動は、体姿勢調整、クローリング、歩行、ランニング、サイクリング、ジャンピング、運転、ピッキング、シューティング、攻撃、投擲のうちの少なくとも1つを含むが、これらに限定されない。概略的に、第1仮想対象は、第1仮想人物、例えば、シミュレーション人物キャラクター又はアニメ人物キャラクターである。概略的に、第1仮想対象は、第1仮想動物、例えば、シミュレーションのサル又は他の動物などであってもよい。
第1端末120及び第2端末160は、無線ネットワーク又は有線ネットワークを介してサーバ140に接続される。
サーバ140は、1台のサーバ、複数台のサーバ、クラウドコンピューティングプラットフォーム又は仮想センタのうちの少なくとも1つを含んでもよい。サーバ140は、仮想環境をサポートするアプリケーションプログラムにバックグラウンドサービスを提供するためのものである。選択的に、サーバ140は、主なコンピューティング動作を担い、第1端末120及び第2端末160は、副次的なコンピューティング動作を担う。又は、サーバ140は、副次的なコンピューティング動作を担い、第1端末120及び第2端末160は、主なコンピューティング動作を担う。又は、サーバ140、第1端末120及び第2端末160の三者は、分散型コンピューティングアーキテクチャを利用して協働コンピューティングを行う。
概略的に、第1端末120及び第2端末160は、生成されたデータをサーバ140に送信することができる。サーバ140は、それ自体が生成したデータと端末によって生成されたデータに対してチェックを行い、いずれか1つの端末とのチェック結果が、データが一致しないことを指示すると、サーバによって生成されたデータをいずれか1つの端末に送信する。該いずれか1つの端末は、サーバによって生成されたデータに準じる。
第2端末160に、仮想シーンをサポートするアプリケーションプログラムがインストールされて実行されている。該アプリケーションプログラムは、FPS、三人称シューティングゲーム、MOBA、仮想現実アプリケーションプログラム、三次元地図プログラム、軍事シミュレーションプログラム又はマルチプレイヤー銃撃戦サバイバルゲームのうちのいずれか1つのであってもよい。第2端末160は、第2ユーザが用いる端末であってもよい。第2ユーザは、第2端末160を用いて、仮想シーンに位置する第2仮想対象を活動するように操作する。該活動は、体姿勢調整、クローリング、歩行、ランニング、サイクリング、ジャンピング、運転、ピッキング、シューティング、攻撃、投擲のうちの少なくとも1つを含むが、これらに限定されない。概略的に、第2仮想対象は、第2仮想人物、例えば、シミュレーション人物キャラクター又はアニメ人物キャラクターである。概略的に、第2仮想対象は、第2仮想動物、例えば、シミュレーションのサル又は他の動物などであってもよい。
選択的に、第1端末120によって制御される第1仮想対象と第2端末160によって制御される第2仮想対象は、同一の仮想シーンに位置する。この場合、第1仮想対象は、仮想シーンにおいて、第1仮想対象とインタラクションを行うことができる。いくつかの実施例において、第1仮想対象と第2仮想対象は、敵対関係を有してもよい。例えば、第1仮想対象と第2仮想対象は、異なるチームと組織に属してもよい。敵対関係にある仮想対象同士は、陸地で互いにシューティングするという方式でインタラクションを行ってもよい。
別のいくつかの実施例において、第1仮想対象と第2仮想対象は、チームメート関係を有してもよい。例えば、第1仮想人物と第2仮想人物は、同一のチーム、同一の組織に属し、フレンド関係にあるか又は一時的通信権限を有するものであってもよい。
選択的に、第1端末120と第2端末160にインストールされるアプリケーションプログラムは、同じであるか、又は、2つの端末にインストールされるアプリケーションプログラムは、異なるオペレーティングシステムプラットフォームの同一のタイプのアプリケーションプログラムである。第1端末120は、広義に、複数の端末のうちの1つを指してもよく、第2端末160は、広義に、複数の端末のうちの1つを指してもよく、本実施例は、第1端末120及び第2端末160のみを例として説明する。第1端末120と第2端末160の機器タイプは、同じであるか又は異なる。該機器タイプは、スマートフォン、タブレットパソコン、電子ブックリーダー、MP3(Moving Picture Experts Group Audio Layer III:動画専門家集団オーディオ規格のレイヤ3)プレーヤー、MP4(Moving Picture Experts Group Audio Layer IV:動画専門家集団オーディオ規格のレイヤ4)プレーヤー、ラップトップ型ポータブルコンピュータ及びデスクトップコンピュータのうちの少なくとも1つを含む。例えば、第1端末120と第2端末160は、スマートフォン又は他の手持ち式携帯用ゲーム機器であってもよい。以下の実施例において、端末がスマートフォンを含むことを例として説明する。
上記端末の数は、より多くても少なくても良いことは、当業者には明らかであろう。例えば、上記端末は、1つのみであってもよく、又は、上記端末は、数十個又は数百個であり、又はより多くてもよい。本願の実施例は、端末の数及び機器タイプを限定するものではない。
図2は、本願の実施例によるデータ同期方法のフローチャートである。図2を参照すると、該方法は、以下のステップを含んでもよい。
201において、端末が仮想道具に対する投擲操作に応答して、該仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御する。
ここで、該仮想道具は、仮想対象とインタラクションを行うことができる道具である。ユーザは、端末上で操作を行うことによって、仮想対象を、仮想シーンにおいて仮想道具を使用又は制御するように制御することができる。本願の実施例において、ユーザは、投擲操作を行ってもよい。端末は、該投擲操作を検出したとき、該投擲操作に応答して、該仮想道具の第1動き軌跡を取得し、仮想対象を、該仮想道具を投擲するように制御し、該仮想道具を、該第1動き軌跡に応じて動きを行うようにすることができる。
ここで、第1動き軌跡に対応する初期投擲角度、投擲方向及び投擲力は、ユーザによる投擲操作によって手動で調整される。
例えば、該仮想道具は、グレネード弾、クラスター爆弾、発煙弾、スタングレネード、火炎瓶又は粘着手榴弾などの投擲型道具であってもよい。本願の実施例は、仮想道具のタイプを具体的に限定するものではない。グレネード弾を例として、ユーザは、グレネード弾を選択し、投擲ボタンを押したまま、適切な投擲角度に調整するときに手を放すことができる。端末は、仮想対象を、現在の投擲角度に応じてグレネード弾を投擲するように制御することができる。該グレネード弾は、現在の投擲角度に対応する第1動き軌跡に応じて空中を飛行することができる。
202において、端末が、該仮想道具が該第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突情報及び該仮想道具の動き情報を取得する。
第1動き軌跡に仮想障害物が存在する可能性がある。仮想道具が仮想障害物と衝突したとき、仮想道具は、反発し、動き軌跡を変更する。該仮想障害物は、仮想シーンにおける仮想物体であってもよく、例えば、障害物は、壁、箱又は車両などであってもよく、仮想シーンにおける仮想対象であってもよい。又は、該仮想障害物は、仮想環境に固設されてもよく、又は、該仮想障害物は、仮想環境において移動可能である。
ここで、該衝突情報は、今回の衝突の関連情報、例えば、衝突位置情報又は衝突位置情報及び仮想障害物のタイプ情報などを表すためのものである。該仮想道具の動き情報は、衝突が発生したときの仮想道具の動き情報であってもよく、衝突した後に該仮想道具の動き情報であってもよい。本願の実施例は、これを限定するものではない。
選択的に、該仮想道具の動き情報は、該仮想道具の動き状況を指示するために用いられてもよい。例えば、該動き情報は、該仮想道具の動き速度情報であってもよい。該動き速度情報は、衝突時の該仮想道具の動き速度であってもよく、衝突後の動き速度であってもよい。本願の実施例は、これを限定するものではない。該動き速度情報は、ベクトルで表される(速度の大きさ及び方向を含む)。
理解できるように、該衝突情報及び動き情報に基づいて、仮想道具が衝突した後の第1動き軌跡を決定することができ、それにより該仮想道具を、該第1動き軌跡に応じて動きを継続するように制御する。無論、衝突後の第1動き軌跡を知っていると、仮想道具が放出されるときの所在位置を決定することもでき、それにより仮想道具を、該位置で放出するように制御することができる。
203において、端末が該衝突情報及び該動き情報を含む同期情報をサーバに送信し、該同期情報は、該衝突情報及び該動き情報に基づいて第2動き軌跡を修正するように該サーバに指示するためのものであり、該第2動き軌跡は、該サーバによって取得された該仮想道具の動き軌跡である。
ここで、第1動き軌跡は、端末によって決定されたものであり、第2動き軌跡は、サーバによって決定されたものである。サーバと端末におけるいくつかの仮想シーン又は角度が完全には一致していないため、第1動き軌跡と第2動き軌跡が異なる可能性がある。
本願の実施例において、仮想道具と仮想障害物が衝突すると、端末は、衝突情報及び仮想道具の動き情報を取得し、サーバに同期し、今回の衝突の関連情報を知らせることができる。後続で、サーバは、該端末によって同期された衝突の関連情報に基づいて、サーバによって取得された第2動き軌跡を修正することができる。修正された第2動き軌跡は、端末における第1動き軌跡と同じである。
なお、上記ステップによって、端末とサーバにおける仮想道具の動き軌跡が一致する。同じ動き軌跡によって、該仮想道具の放出位置、即ちターゲット放出位置を決定する。サーバと端末における取得結果は一致する。端末とサーバとの衝突時の情報によってサーバにおける第2動き軌跡を同期して修正したため、後続で取得されたターゲット放出位置も一致する。仮想道具は、その実の所在位置で放出されることが可能であり、放出効果表示位置の正確性を向上させる。
本願の実施例において、仮想道具が第1動き軌跡に応じて動きを行うプロセスにおいて、該第1動き軌跡上の仮想障害物と衝突したときに、サーバに対して、衝突情報及び仮想道具の動き情報を同期することによって、サーバは同期した衝突情報及び動き情報に基づいて、それ自体が取得した第2動き軌跡を修正することができる。上記データ同期方法において、衝突情報及び衝突に関わる仮想道具の動き情報を同期することによって、サーバにおける仮想道具の動き軌跡を修正し、それにより端末における動き軌跡と同期する。このように、サーバと端末における仮想道具の動き軌跡が一致し、仮想道具の動き軌跡の正確性を向上させる。なお、両者によって得られた動き軌跡が同じであり、同じ動き軌跡によって算出された着地点も一致し、仮想道具放出効果の表示位置と着地点が一致しないという現象を避けることができる。図3は、本願の実施例によるデータ同期方法のフローチャートである。図3を参照すると、該方法は、以下のステップを含んでもよい。
301において、サーバが仮想道具に対する投擲命令に応答して、該仮想道具の第2動き軌跡を取得する。
該投擲命令は、端末によって仮想道具に対する投擲操作に応答して送信されてもよい。例えば、ユーザは、端末上で投擲操作を行ってもよい。端末は、該投擲操作を検出したとき、該投擲操作に応答して、サーバに投擲命令を送信し、サーバに、該仮想道具が投擲されることを知らせる。サーバは、該投擲命令を受信すると、該仮想道具の第2動き軌跡を取得することができる。
可能な実現形態において、該投擲命令に、仮想道具が投擲されたときの所在位置、投擲角度、投擲方向及び投擲力などの投擲パラメータが含まれてもよい。サーバは、該投擲命令から、該投擲パラメータを抽出し、それにより該投擲パラメータに基づいて、第2動き軌跡を決定することができる。該第2動き軌跡の取得プロセスは、上記ステップ201における端末による第1動き軌跡の取得プロセスと同様であり、ここでは説明を省略する。
302において、サーバが端末から送信された同期情報を受信し、該同期情報に、衝突情報及び仮想道具の動き情報が含まれ、同期情報は、仮想道具が第1動き軌跡上の仮想障害物と衝突したときに端末から送信されたものであり、第1動き軌跡は、端末によって取得された仮想道具の動き軌跡である。
端末において、仮想道具は、第1動き軌跡に応じて動きを行う。仮想道具と該第1動き軌跡上の仮想障害物が衝突する可能性がある。衝突が発生するとき、端末は、上記ステップ202と203を実行し、衝突情報及び仮想道具の動き情報を含む同期情報をサーバに送信することができ、衝突関連情報の同期を実現させる。このように、該サーバは、該衝突情報及び動き情報を受信し、これら2つの情報に基づいて、仮想道具が衝突した後の第2動き軌跡を決定することができる。これら2つの情報に基づいて決定される第2動き軌跡は、ステップ301における第2動き軌跡と異なる可能性があるため、下記ステップ303を実行し、端末から送信された同期情報を第2動き軌跡の修正根拠とすることができる。
可能な実現形態において、サーバは、ステップ301を実行した後、該第2動き軌跡と仮想シーンに基づいて、該第2動き軌跡に仮想障害物が含まれるかどうかを決定し、更に、該仮想道具が第2動き軌跡上の仮想障害物と衝突するかどうかを決定し、衝突が発生すると決定するときに、上記衝突情報及び動き情報を取得することができる。
該実現形態において、サーバは、端末によって同期された衝突情報及び動き情報を受信し、それ自体によって取得された衝突情報及び動き情報と比較し、両者が一致するかどうかを決定することができる。両者が一致すれば、サーバは、下記ステップ303を実行することなく、該衝突情報及び動き情報に基づいて、衝突後の第2動き軌跡を直接的に取得してもよい。両者が一致しなければ、下記ステップ303を実行し、第2動き軌跡を再決定し、元々の第2動き軌跡を修正する。
サーバは、それ自体によって取得された衝突情報及び動き情報を更新することもできる。このように、端末とサーバにおける該仮想道具の衝突情報及び動き情報が一致し、該仮想道具の動き軌跡も一致する。従って、後続で、動き軌跡に基づいて決定されるターゲット放出位置も一致する。
303において、サーバが該衝突情報及び該動き情報に基づいて、該第2動き軌跡に対して修正を行う。
上記ステップによって、サーバは、端末によって同期された衝突情報及び動き情報を受信し、これら2つの情報に基づいて仮想道具が衝突した後の動き軌跡を決定し、つまり、第2動き軌跡に対して修正を行うことができる。該第2動き軌跡は、端末によって同期された衝突情報及び動き情報に基づいて修正される。このように、端末とサーバにおける該仮想道具の衝突情報及び動き情報が一致し、これに応じて、該仮想道具の第1ターゲット軌跡と第2動き軌跡も一致する。後続で、該動き軌跡に基づいて決定されるターゲット放出位置も一致する。
可能な実現形態において、本願の実施例による方法により、データ同期を行った後、サーバは、修正された第2動き軌跡に基づいて、ターゲット放出位置を決定することができる。第1動き軌跡と第2動き軌跡が一致するため、仮想道具は、第1動き軌跡に応じて、ターゲット放出位置まで動くことができる。このように、端末は、該ターゲット放出位置に基づいて放出効果を表示することができる。放出効果を表示する位置は、仮想道具の所在位置と一致し、放出効果表示の正確性を確保し、仮想道具放出位置と着地点位置が一致しないという問題を避ける。
可能な実現形態において、仮想道具は、第1動き軌跡に応じて動きを行うときに、複数の仮想障害物と衝突する可能性がある。衝突するたびに、端末は、いずれも、衝突情報及び動き情報をサーバに同期することができる。サーバは、いずれも、端末によって同期された衝突情報及び動き情報に基づいて、仮想道具の第2動き軌跡に対して修正を行うことができる。このように、サーバと端末における該仮想道具の第2動き軌跡と第1動き軌跡が一致する。具体的には、第2動き軌跡に対する各修正プロセスは、いずれも上記ステップ303と同様であり、本願の実施例は、衝突回数を限定するものではない。
本願の実施例において、仮想道具を投擲した後、サーバは、該仮想道具の第2動き軌跡を取得することができる。仮想道具が動きプロセスにおいて仮想障害物と衝突するとき、端末は、サーバに対して衝突情報及び仮想道具の動き情報を同期することができる。サーバは、同期された衝突情報及び動き情報に基づいて、それ自体によって取得された第2動き軌跡を修正することができる。上記データ同期方法において、端末によって同期された衝突関連情報を受信し、サーバにおける仮想道具の動き軌跡を修正し、それにより端末における動き軌跡と同期する。このように、サーバと端末における仮想道具の動き軌跡が一致し、仮想道具の動き軌跡の正確性を向上させる。なお、両者によって得られた動き軌跡が同じであり、同じ動き軌跡によって算出された着地点も一致し、爆発効果の表示位置が着地点と一致しないという現象を避けることができる。
図4は、本願の実施例によるデータ同期方法のフローチャートである。本実施例において、端末とサーバとのインタラクションによって、2つの方法のプロセスを説明する。図4を参照すると、該方法は、以下のステップを含んでもよい。
401において、端末が仮想道具に対する投擲操作に応答して、該仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御する。
ユーザは、操作により、仮想対象を、仮想道具を取得するように制御することができる。端末は、仮想シーンにおける該仮想対象に対応する位置に仮想道具を表示することができる。例えば、該仮想道具がグレネード弾であり、ユーザは、仮想対象を、グレネード弾を得るように制御することができ、端末は、仮想対象の腰回りにグレネード弾を表示することができる。
ここで、該仮想道具は、2つの取得方式を含んでもよく、具体的には、以下のとおりである。
取得方式1:仮想対象によるピッキングによって得られる。
取得方式1において、端末は、仮想シーンにおいて、多種の仮想道具を表示することができる。該多種の仮想道具に、投擲型仮想道具、遠隔仮想道具、近距離仮想道具、補給道具などが含まれてもよい。該投擲型仮想道具は、仮想対象が投擲によって使用する仮想道具、例えば、グレネード弾、発煙弾、火炎瓶などであってもよい。
具体的には、該仮想道具は、仮想シーンの地面又は仮想物品上に表示されてもよい。端末に対応する仮想対象と該仮想道具との距離がターゲット閾値(例えば、1m)よりも小さいとき、端末は、該仮想環境画面の上層に該仮想道具のピッキングオプションを表示し、該ピッキングオプションに対するトリガ操作を検出した場合、端末は、該仮想対象を、該仮想道具をピッキングするように制御することができる。ピッキングが完了した後、仮想シーンにおける仮想対象のターゲット部位に該仮想道具を表示し、それにより、該仮想対象が該仮想道具を装備したことを示す。
該ターゲット部位は、手、肩部、背部などであってもよく、本願の実施例は、ターゲット部位を限定しない。該ターゲット閾値は、関連技術者によって需要に応じて設定されてもよく、本願の実施例は、これを限定しない。
取得方式2:仮想対象による呼び出しによって得られる。
該取得方式2において、端末は、呼び出しコントロールを表示することができる。ユーザは、仮想道具を呼び出すとき、呼び出しコントロールに対してトリガ操作を行ってもよい。端末は、該呼び出しコントロールに対するトリガ信号を受信し、作成命令を生成し、それにより該作成命令に応答して、仮想道具を作成する。該呼び出しコントロールは、該仮想道具を、該仮想シーンに入るように呼び出すためのものであり、呼び出しコントロールの形態は、仮想環境画面の上層に表示される1つのボタンであってもよい。
該仮想道具に対して、ユーザは、操作により、仮想対象を、仮想道具を使用するように制御することができる。可能な実現形態において、該端末は、グラフィカルユーザインタフェースに仮想道具のトリガコントロールを表示することもできる。該トリガコントロールは、ユーザの投擲操作を検出するためのものであり、それにより、仮想対象を、該投擲コントロールにより仮想道具の投擲を制御するように制御する。
以下では、1つの具体的な例により、仮想道具の投擲プロセスを説明する。図5に示すように、端末は、グラフィカルユーザインタフェースにおける仮想道具の表示アイテム501において、該仮想対象に仮想道具が装備されていることを表示することができる。ユーザは、仮想道具を使用しようとすると、仮想道具を選択し、トリガコントロール502に対してタッチ操作を行い、投擲操作を完了することができる。該トリガコントロール502の数は、1つであってもよく、2つ及び2つ以上であってもよく、本願の実施例は、これを限定しない。
説明すべきこととして、該トリガコントロール502は、ユーザが投擲型仮想道具を選択する前に、他の仮想道具のトリガコントロール、又は他の動作のトリガコントロールであってもよい。例えば、ユーザが銃器型仮想道具を選択すると、該トリガコントロール502は、発射コントロールと呼ばれてもよい。ユーザがいずれの仮想道具も選択していないと、該トリガコントロール502は、パンチコントロールであってもよい。ユーザが上記投擲型仮想道具を選択すると、該トリガコントロール502は、投擲コントロールと呼ばれてもよい。
可能な実現形態において、端末は、現在では仮想道具を制御しているという状態に基づいて、該状態に対応する表示様式に応じて、該トリガコントロール502を表示することができる。例えば、該トリガコントロール502の表示様式は、ボタンの中央に弾丸が表示されていることである。該トリガコントロールが投擲コントロールであれば、該トリガコントロール502の表示様式は、ボタンの中央にグレネード弾が表示されていることである。該トリガコントロール502がパンチコントロールであれば、該トリガコントロール502の表示様式は、ボタンの中央に拳が表示されていることである。
可能な実現形態において、仮想道具が選択状態にある場合、端末は更に、現在の仮想シーンの視角方向に基づいて、該仮想道具の候補動き軌跡を取得して表示することができる。具体的には、端末は、現在の仮想シーンの視角方向に基づいて、該仮想道具の投擲角度を決定し、該投擲角度に基づいて、該仮想道具の候補動き軌跡を取得して表示することができる。
例えば、図6に示すように、ユーザが仮想道具を選択しており、端末は、該仮想道具の表示アイテム501がハイライト状態にあることを表示することができる。端末は、トリガコントロール502に対するトリガ操作を検出しており、該トリガ操作が投擲操作であれば、端末は、現在の視角に対応する投擲角度に基づいて、候補動き軌跡504を表示することができる。ユーザは、調整しようとすれば、視角調整操作を行ってもよい。端末は、視角調整操作に基づいて、該候補動き軌跡504を調整し、ユーザが満足するときに、トリガコントロール502に対するトリガ操作を停止し、それにより、仮想道具を投擲するように制御する。投擲されるときの候補動き軌跡504は、第1動き軌跡である。ユーザがトリガ操作を停止する前に、端末は、投擲キャンセルボタン503を表示してもよい。ユーザは、投擲操作を停止しようとすると、投擲キャンセルボタン503的に対するトリガ操作によって実現させることができる。
可能な実現形態において、該仮想道具は、一定の放出時間を有してもよい。該仮想道具の投擲時間が該放出時間に達する場合、該仮想道具は、放出効果をトリガする。該投擲時間は、投擲操作を受信した後に経過する時間であり、そして、異なる仮想道具に対応する放出時間は、同じであっても異なってもよい。例えば、仮想道具が仮想発煙弾である場合、放出時間は4sであり、放出効果は、指定の範囲内に煙を放出することである仮想道具は、仮想フラッシュバンである場合、放出時間は5sである。放出効果は、指定の範囲内にフラッシュを放出することである。
具体的には、端末は、トリガコントロールに対するトリガ操作を検出した場合、グラフィカルユーザインタフェースに該仮想道具の余剰放出時間長を表示することもできる。例えば、図7に示すように、ユーザは、トリガコントロール502を押した後、インタフェースに余剰使用時間長505を表示することができる。該余剰使用時間長4sは、4s後に該仮想道具が放出効果をトリガすることを表すためのものである。
説明すべきこととして、ユーザは、トリガコントロール502の押圧を停止するとき、該仮想道具は、投擲される。端末は、更に、上記余剰使用時間長505を表示し続けることができる。図8に示すように、仮想対象に装備されている投擲型仮想道具の数が1つであれば、仮想対象の状態を、銃器型仮想道具を制御しているという状態に切り替えて、インタフェースに該余剰使用時間長505を表示することができる。該投擲型仮想道具の余剰使用時間長は、1sである。仮想対象に装備されている投擲型仮想道具の数が複数であれば、端末は、該仮想対象が次の投擲型仮想道具を使用しているという状態にあることを表示することができる。このようなケースは、図5又は図6に示すとおりであり、ここでは説明を省略する。
可能な実現形態において、ステップ401において、端末は、更に、仮想道具の第1動き軌跡を表示することができ、このように、ユーザが仮想道具の動き状況をより直観的かつ明瞭に観察することができる。具体的には、端末は、仮想道具に対する投擲操作に応答して、該仮想道具の第1動き軌跡を取得して表示し、該仮想道具が該第1動き軌跡に沿って仮想シーンにおいて動きを行うことを表示することができる。
402において、端末が投擲命令をサーバに送信する。
端末は、更に、投擲操作に応答して、投擲命令をサーバに送信することもできる。該投擲命令は、仮想道具が投擲されるときの関連情報をサーバに知らせるためのものである。該投擲命令における情報は、サーバによる仮想道具の第2動き軌跡の決定のデータ根拠としてもよい。
可能な実現形態において、該投擲命令は、仮想道具が投擲されたときの所在位置、投擲角度を含んでもよい。該仮想道具が投擲されたときの所在位置、投擲角度は、仮想道具の第1動き軌跡又は第2動き軌跡の決定に用いられてもよい。
403において、サーバが仮想道具に対する投擲命令に応答して、該仮想道具の第2動き軌跡を取得する。
サーバは、該投擲命令から、該位置及び投擲角度を抽出し、該位置及び投擲角度に基づいて、第2動き軌跡(例えば、投擲角度に基づいて決定される、投擲位置を起点とする放物線軌跡)を取得することもできる。該第2動き軌跡の取得プロセスは、上記ステップ201における端末による第1動き軌跡の取得プロセスと同様であり、ここでは説明を省略する。
説明すべきこととして、第1動き軌跡と第2動き軌跡は、それぞれ、端末とサーバによって取得された該仮想道具の動き軌跡である。端末とサーバにおけるいくつかの仮想シーン及び角度が完全に一致していないため、両者によって取得された第1動き軌跡と第2動き軌跡が一致しない可能性がある。従って、端末とサーバは、下記ステップ404~ステップ407を実行して、両者を一致した動き軌跡となるように修正することができる。
404において、端末が、該仮想道具が該第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突情報及び該仮想道具の動き情報を取得する。
405において、端末が衝突情報及び該動き情報を含む同期情報をサーバに送信する。
該仮想道具と第1動き軌跡上の障害物が衝突すると、端末は、該衝突情報及び道具の動き情報を取得し、サーバに同期することができる。該ステップ404及びステップ405によって、端末とサーバにおける仮想道具の衝突情報及び動き情報が一致し、算出された第1動き軌跡も一致し、後続で決定されるターゲット放出位置も一致する。従って、該同期ステップによって、後続で、仮想道具の放出位置の表示位置が正確であり、表示効果が高い。
可能な実現形態において、仮想道具は、複数のタイプを含んでもよい。例えば、グレネード弾、発煙弾などのようないくつかの仮想道具は仮想障害物と衝突した後に反発する。なお、例えば、粘着爆弾(粘着属性を有するグレネード弾であり、投擲された後に接触する1つ目の物体に粘着できる)のようないくつかの仮想道具は、仮想障害物と衝突した後に反発しない。反発しない仮想道具について、端末とサーバによって算出されたターゲット放出位置が一致しないことが発生しない。従って、該方法は、仮想道具が反発する仮想道具(即ち、粘着属性を有しない仮想道具、又は反発属性を有する仮想道具)である場合のみに用いられてもよい。
該実現形態において、反発する仮想道具のタイプ情報は、ターゲットタイプである。端末は、該仮想道具のタイプ情報を取得し、現在制御されている仮想道具のタイプ情報がターゲットタイプであるかどうかを判断し、そうであれば、端末は、ステップ405を実行し、そうでなければ、端末は、該ステップ405を実行する必要がない。ターゲットタイプに属する仮想道具は、粘着属性を有しない。
具体的には、端末は、ターゲットタイプに属する仮想道具と該第1動き軌跡上の仮想障害物が衝突したことに応答して、衝突情報及び該仮想道具の動き情報をサーバに送信する該ステップを実行することができる。
選択的に、端末は、該仮想道具のタイプ情報がターゲットタイプではないことに応答して、該衝突位置情報に、該仮想道具の放出効果を表示することもできる。例えば、図9に示すように、ユーザは、仮想対象を、粘着爆弾900を投擲するように制御し、該粘着爆弾900は仮想シーンにおける壁と衝突した後に該壁に粘着し、端末は、該位置に爆発動画を表示することができる。
406において、サーバが端末から送信された同期情報を受信する。
407において、サーバが該衝突情報及び該動き情報に基づいて、該第2動き軌跡に対して修正を行う。
サーバは、端末によって同期された衝突関連情報を受信し、両者に基づいて、第2動き軌跡を再取得し、元々の第2動き軌跡を修正することができる。
衝突情報について、該衝突情報は、異なる情報を含んでもよい。可能な実現形態において、該衝突情報は、衝突位置情報を含んでもよい。理解できるように、仮想道具が衝突した後、衝突位置から、ある方向へ動きを継続する。従って、衝突位置情報を同期することによって、該仮想道具が衝突した後の動きの出発点を同期することができる。
別の可能な実現形態において、該衝突情報は、衝突位置に加えて、他の情報、例えば、仮想障害物のタイプ情報を更に含んでもよい。該実現形態において、タイプ情報が異なる仮想障害物の反発係数は、異なる。仮想障害物のタイプ情報を同期することによって、仮想道具が反発するときの反発係数を決定することができ、それにより反発係数に基づいて、反発後の速度を算出することができる。
動き情報について、該動き情報は、該仮想道具が衝突するときの動き速度情報であってもよく、衝突後の該仮想道具の動き速度情報であってもよい。該動き速度情報は、動き速度であってもよい。2種の動き速度は、いずれもベクトルであり、大きさを含むだけでなく、方向も含む。衝突時の動き速度情報及び上記衝突位置情報によって、衝突後の動き速度情報を算出することができ、衝突後の動き速度情報及び衝突位置情報によって、衝突後の第2動き軌跡を算出することもできる。本願の実施例は、衝突情報及び動き情報が具体的にはどのような情報であるかを限定しない。
以下では、衝突情報及び動き情報の相違点について、第2動き軌跡を決定する3つの可能なケースを提供する。
ケース1:該衝突情報は、衝突位置情報を含み、該動き情報は、該仮想道具が衝突するときの該仮想道具の動き速度情報を含む。選択的に、仮想道具と第1動き軌跡上の仮想障害物が衝突したことに応答して、端末は、衝突位置情報及び衝突時の仮想道具の動き速度情報を取得し、衝突位置情報を衝突情報とし、衝突時の仮想道具の動き速度情報を動き情報とする。
これに応じて、第2動き軌跡の決定プロセスは、以下のとおりであってもよい。サーバは、該衝突位置情報及び該仮想道具が衝突するときの該仮想道具の動き速度情報に基づいて、衝突後の該仮想道具の動き速度情報を取得し、該衝突位置情報によって指示される衝突位置を起点として、該衝突後の動き速度情報を初期動き速度情報として、該仮想道具が衝突した後の第2動き軌跡を取得する。
該ケース1において、端末がサーバに対して同期する情報は、衝突時の情報である。サーバは、該衝突時の情報に基づいて、仮想道具が衝突した後の情報を取得する必要がある。理解できるように、該衝突位置情報は、第2動き軌跡の起点であり、衝突後の動き速度情報は、衝突前の動き速度情報に基づいて算出される。起点が決定されており、初期動き速度情報が決定された場合、第2動き軌跡を算出することができる。衝突後の該仮想道具の動き速度情報は、反発速度とも呼ばれてもよく、これは、反発後の動き方向及び速度大きさを反映する。
ケース2:該衝突情報は、衝突位置情報及び該仮想障害物のタイプ情報を含み、該動き情報は、該仮想道具が衝突するときの動き速度情報を含む。これに応じて、該第2動き軌跡の決定プロセスは、以下のとおりであってもよい。サーバは、該障害物のタイプ情報に基づいて、該仮想道具に対応する反発情報を取得し、該衝突位置情報、該反発情報及び該衝突時の該仮想道具の動き速度情報に基づいて、衝突後の該仮想道具の動き速度情報を決定する。
該ケース2において、タイプ情報が異なる仮想障害物は、異なる反発情報に対応し、衝突前の動き速度情報が同じであり、反発情報が異なる場合、取得される衝突後の動き速度情報も異なる。
可能な実現形態において、該反発情報は、反発係数であってもよく、衝突後の動き速度情報を演算するための演算方式における1つの係数である。具体的な可能な実施例において、該仮想障害物のタイプ情報は、第1タイプ情報及び第2タイプ情報を含んでもよい。第1タイプ情報は、第1反発係数に対応し、第2タイプ情報は、第2反発係数に対応する。これに応じて、上記ステップ1において、サーバは、仮想障害物のタイプ情報が第1タイプ情報であることに応答して、第1タイプ情報に対応する第1反発係数を取得し、該衝突位置情報、第1反発係数及び衝突前の動き速度情報に基づいて、衝突後の動き速度情報を取得する。サーバは、該衝突位置情報を起点として、該衝突後の動き速度情報を初期動き速度情報として、該仮想道具が衝突した後の第2動き軌跡を取得する。
例えば、仮想障害物のタイプ情報に対して、図10及び図11に示すように、第1タイプ情報の仮想障害物は、仮想シーンにおける仮想物品1001、例えば、壁、地面などであってもよい。第2タイプ情報の仮想障害物は、仮想シーンにおける仮想対象1002であってもよい。具体的な可能な実施例において、該第1タイプ情報に対応する第1反発係数は、第2タイプ情報に対応する第2反発係数よりも大きくてもよい。これに応じて、同等な投擲条件下で、仮想道具が第1タイプ情報に対応する仮想障害物と衝突した後の動き速度は、第2タイプ情報に対応する仮想障害物と衝突した後の動き速度よりも大きい。無論、第1反発係数が第2反発係数よりも小さいという他の状況を含んでもよい。本願の実施例は、これを限定しない。
ケース1に比べて、仮想障害物の反発情報が追加されるため、仮想道具が異なるタイプの仮想障害物と衝突した後の反発効果を模擬することができ、仮想道具の反発効果の真実性を向上させる。
ケース3:該衝突情報は、衝突位置情報を含み、該動き情報は、該仮想道具が衝突した後の該仮想道具の動き速度情報を含む。これに応じて、該第2動き軌跡の決定プロセスは、以下のとおりであってもよい。サーバは、該衝突位置情報を起点として、該衝突後の該仮想道具の動き速度情報を初期動き速度情報として、該仮想道具が衝突した後の第2動き軌跡を取得する。
該ケース3において、端末は、直接的に、サーバに対して、衝突後の仮想道具の動き速度情報を同期し、サーバは、衝突位置情報を結び付けて、両者に基づいて、第2動き軌跡を算出することができる。
可能な実施形態において、端末は、衝突情報及び仮想道具の動き情報を取得するとき、仮想道具と第1動き軌跡上の仮想障害物が衝突したことに応答して、端末は、衝突位置情報(衝突情報として決定される)を取得し、衝突位置情報及び衝突時の仮想道具の動き速度情報に基づいて、仮想道具が衝突した後の動き速度情報(動き情報として決定される)を決定する。
選択的に、衝突後の動き速度情報を決定するとき、現実世界中の物体の衝突反発効果をよりリアルに模擬するために、端末は、仮想障害物のタイプ情報に基づいて、仮想道具に対応する反発情報を取得し、それにより衝突位置情報、反発情報及び衝突時の仮想道具の動き速度情報に基づいて、仮想道具が衝突した後の動き速度情報を決定する。端末による衝突後の動き速度情報の決定プロセスは、サーバによる衝突後の動き速度情報の決定プロセスを参照してもよく、本実施例は、ここでは説明を省略する。
上記ケース1及びケース2に比べて、衝突後の動き速度情報の決定プロセスは、端末側で実行されるため、サーバは、衝突位置情報及び動き速度情報に基づいて動き軌跡を決定すればよい。従って、サーバの並行処理負荷の低減に寄与する。
408において、サーバが修正された第2動き軌跡に基づいて、該仮想道具のターゲット放出位置を決定する。
該ターゲット放出位置は、サーバによって該仮想道具の第2動き軌跡に基づいて決定されてもよい。可能な実現形態において、端末は、該仮想道具の第1動き軌跡に基づいて、ターゲット放出位置を決定することもできる。該決定プロセスは、サーバによるターゲット放出位置の決定プロセスと同様であり、ここでは説明を省略する。
該実現形態において、端末は、それ自体によって決定されたターゲット放出位置をサーバによって決定されたターゲット放出位置と比較することもできる。両者が一致すれば、端末は、下記ステップ411を実行してもよい。両者が一致しなければ、端末は、サーバによって決定されたターゲット放出位置に準じて、下記ステップ411を実行する。
説明すべきこととして、上記ステップ404及びステップ405によって、端末は、仮想道具が発生したときにサーバに対して衝突情報及び動き情報を同期し、端末及びサーバは、該仮想道具の動き軌跡が一致すると決定し、ターゲット放出位置の決定根拠である情報が一致し、決定されたターゲット放出位置は、一致する。従って、上記方式で決定されたターゲット放出位置に基づいて、下記ステップ411を実行し、仮想道具は、ターゲット放出位置に到達するとき、ターゲット放出位置で放出効果を表示し、その到達位置は、放出位置と一致し、表示位置は、正確であり、表示効果は高い。
該ターゲット放出位置の決定プロセスに対して、該仮想道具は、多種の放出のトリガ方式を含んでもよい。例えば、該仮想道具が着地するときに放出され、また例えば、該仮想道具の投擲時間が放出時間に達するときに放出される。以下では、該トリガ方式に対して、ターゲット放出位置のいくつかの可能な実現形態を提供する。
方式1:サーバは、修正された該第2動き軌跡及び仮想シーンにおける地面の位置に基づいて、該仮想道具の着地点を決定し、該着地点をターゲット放出位置として決定する。該方式1において、該仮想道具は、着地するときに放出され、該ターゲット放出位置は、該仮想道具の着地点である。
方式2:サーバは、修正された該第2動き軌跡及び該仮想道具の投擲時間に基づいて、投擲時間が放出時間に達するときに該第2動き軌跡上の該仮想道具の所在位置を該ターゲット放出位置として決定する。該方式2において、該仮想道具の投擲時間が放出時間に達するときに放出される。サーバは、該仮想道具の投擲時間に対して計時を行い、投擲時間が仮想道具の放出時間に達するとき、仮想道具の所在位置をターゲット放出位置とする。
上記方式において、該仮想道具は、2つのトリガ方式を有する。着地時にトリガされ、投擲時間が放出時間に達するときにもトリガされる。従って、サーバは、仮想道具が先に着地するか、それとも放出時間に達してから着地するかを判断することができる。いずれか一項を満たすと、ターゲット放出位置を決定することができる。
上記方式において、サーバによる仮想道具の着地点の決定プロセスは具体的には以下のとおりであってもよい。サーバは、修正された該第2動き軌跡と該仮想シーンにおける地面との交点を取得し、該交点を該仮想道具の着地点とする。
説明すべきこととして、上記仮想道具の第1動き軌跡及び第2動き軌跡は、放物線であり、端末は、仮想道具が第1動き軌跡に応じて動きを行うときに仮想障害物と衝突するかどうかを検出することができる。該検出プロセスは、半直線検出の方式で実現されてもよい。
可能な実現形態において、端末は、第1動き軌跡上での仮想道具の所在位置に基づいて、ターゲットの長さの半直線を生成し、該半直線の方向は、第1動き軌跡上での仮想道具の所在位置の接線方向である。半直線が仮想障害物と交差することに応答して、端末は、仮想道具が仮想障害物と衝突したと決定する。
具体的には、仮想道具は、動きプロセスにおいて、第1動き軌跡上での仮想道具の所在位置に対応する接線方向にターゲット長さの半直線を発射し、該半直線が仮想障害物を貫通すると、衝突が発生する。該ターゲット長さは、関連技術者によって需要に応じて設定されてもよい。例えば、該ターゲット長さは、比較的小さい値、1センチメートル(cm)であってもよい。本願の実施例は、これを限定しない。
例えば、図12に示すように、仮想道具は、第1動き軌跡1200に応じて動きを行い、現在位置まで動きを行うとき、前へ半直線ABを発射することができる。該半直線ABが仮想障害物を貫通すると、該仮想道具が仮想障害物と衝突し、仮想障害物を貫通していないと、仮想道具は、衝突しない。
可能な実現形態において、端末は、第1動き軌跡上の仮想障害物と一回衝突する可能性があり、2回ひいては2回以上衝突してもよい。つまり、該仮想道具と該第1動き軌跡上の仮想障害物との衝突回数は、少なくとも1回である。図13に示すように、仮想道具は、仮想シーンにおける複数の障害物と複数回衝突する可能性がある。仮想道具は、1つの障害物と衝突して反発した後、更に、他の障害物と衝突して反発する可能性がある。
該実現形態において、端末は、いずれも、ステップ405を実行し、衝突情報及び動き情報をサーバに送信することができる。サーバと端末は、該少なくとも1回の衝突時の該衝突情報及び該動き情報を同期し、それにより、これらの情報に基づいて、第2動き軌跡を修正する。つまり、該第2動き軌跡は、少なくとも1回の衝突時の該衝突情報及び該動き情報に基づいて修正される。このように、一旦衝突すると、端末とサーバはいずれも、衝突情報及び動き情報を同期し、端末とサーバにおける仮想道具の動き軌跡が一致し、仮想道具の動き軌跡の正確性を向上させる。
409において、サーバが該端末に該ターゲット放出位置を送信する。
410において、端末が該サーバから送信されたターゲット放出位置を受信する。
ここで、該ターゲット放出位置は、第2動き軌跡に基づいて決定される。該第2動き軌跡が端末によって同期された衝突情報及び該仮想道具の動き情報に基づいて決定されるため、該ターゲット放出位置が端末によって同期された衝突情報及び仮想道具の動き情報に基づいて決定されると理解されてもよい。具体的な決定プロセスは、上記ステップ408を参照してもよい。
411において、端末が、該仮想道具が該ターゲット放出位置にあることに応答して、ターゲット放出位置で仮想道具の放出効果を表示する。
ここで、仮想道具の放出効果は、動画の形式で表示されてもよい。可能な実現形態において、異なる仮想道具は、異なる放出効果に対応する。例えば、仮想道具がグレネード弾であれば、該放出効果は、爆発効果であってもよい。仮想道具が発煙弾であれば、該放出効果は、煙効果であってもよい。該仮想道具がスタングレネードであれば、該放出効果は、ノッキング効果であってもよい。
サーバは、ターゲット放出位置を決定した場合、上記ステップ409及びステップ410によって、端末に対して、決定されたターゲット放出位置を同期する。端末は、該仮想道具を、第1動き軌跡に応じて動きを行うように制御し続け、該仮想道具が該ターゲット放出位置にあるとき、該ターゲット放出位置に、該仮想道具の放出効果を表示することができる。このように、ユーザが見た表示効果は、仮想道具がある位置に到達し、該位置で放出されることである。このように、仮想道具の所在位置は、放出効果の表示位置と一致する。
上記ステップにおいて、端末は、仮想道具と衝突した後、該仮想道具を、衝突後の第1動き軌跡に応じて動きを行うように制御し続けることができる。端末とサーバは、衝突情報及び動き情報を同期したため、両者によって決定された、仮想道具が衝突した後の動き軌跡は、同じである。該第2動き軌跡によって決定されるターゲット放出位置は、該第1動き軌跡上の1つの位置である。それにより、仮想道具の動きを制御するプロセスにおいて、該仮想道具が該ターゲット放出位置まで動きを行うとき、端末は、該ターゲット放出位置で放出効果を表示することによって、該仮想道具が該位置まで動きを行うときに放出されることを示す。
可能な実現形態において、該仮想道具の放出は、仮想シーンにおける他の仮想物品に影響を及ぼすことができる。例えば、グレネード弾が爆発するときに、仮想シーンにおける箱を爆破することができ、仮想シーンにおける車両を起爆することができる。上記ステップ409において、端末は、放出効果を表示するとき、他の仮想物品が該仮想道具の放出による影響を受ける効果を表示することもできる。
具体的には、端末は、該ターゲット放出位置に基づいて、該仮想道具の放出範囲を取得し、該放出範囲内に、ターゲット動画を再生することができる。該ターゲット動画は、該仮想シーンにおける該放出範囲内に位置する仮想物品が該仮想道具の放出に伴って変化することを表すためのものである。該放出範囲の取得及びターゲット動画の再生により、グレネード弾などの武器の、リアルなシーンにおける使用状況をリアルに模擬し、仮想シーンにおける仮想道具の放出の真実性を向上させる。
本願の実施例において、仮想道具が第1動き軌跡に応じて動きを行うプロセスにおいて、該第1動き軌跡上の仮想障害物と衝突したときに、サーバに対して、衝突情報及び仮想道具の動き情報を同期することによって、サーバは同期した衝突情報及び動き情報に基づいて、それ自体が取得した第2動き軌跡を修正することができる。上記データ同期方法において、衝突情報及び衝突に関わる仮想道具の動き情報を同期することによって、サーバにおける仮想道具の動き軌跡を修正し、それにより端末における動き軌跡と同期する。このように、サーバと端末における仮想道具の動き軌跡が一致し、仮想道具の動き軌跡の正確性を向上させる。なお、両者によって得られた動き軌跡が同じであり、同じ動き軌跡によって算出された着地点も一致し、仮想道具放出効果の表示位置と着地点が一致しないという現象を避けることができる。
なお、本願の実施例において、端末は、衝突した仮想障害物のタイプ情報に基づいて、反発情報を決定し、それにより反発情報及び衝突時の仮想道具の動き速度情報に基づいて、衝突後の仮想道具の動き速度情報を決定し、衝突位置情報及び衝突後の仮想道具の動き速度情報をサーバに同期し、サーバによって、それ自体が決定した第2動き軌跡を修正し、仮想シーンにおける仮想道具が投擲された後の衝突による反発の真実性を向上させ、サーバの並行処理負荷の低減に寄与する。
以下では、1つの具体的な例を提供する。図14に示すように、該方法は、具体的なプロセスは、下記ステップのとおりである。
ステップ1において、本ゲームにおいて、投擲物型の武器(即ち、上記ターゲットタイプの仮想道具)のみは、該機能を有する。従って、まず、投擲物型の武器に切り替える必要がある。プレイヤーは、投擲物型の武器に切り替えた後に、ファイアボタン(即ち、トリガコントロール502)を押して予備照準状態にある。この場合、1本の赤色の放物線(即ち、候補動き軌跡504)を表示する。該放物線は、プレイヤーに対して、該投擲物が飛行しようとする軌跡を表示する。該放物線は、現在の位置、逆方向及び配置された飛行速度によって、1フレーム内に算出されたものである。続いて、わずかな距離が隔てられている各位置で、1つのポイントを収集することができる(即ち、わずかな距離が隔てられている各位置で1つのポイントを算出できる)。全ての収集されたポイントを1本のエフェクト線に伝達する。続いて、該エフェクト線は、これらのポイントに基づいて、1つの軌跡(即ち、該候補動き軌跡504)を形成する。
ステップ2:ユーザが手を放した後に投擲物武器は、投擲される。その理由は、以下のとおりである。指を放した後に、画面における指タッチ情報が変化し、続いて、ポップアップメッセージを算出し、ポップアップによってファイアイベントをトリガし、続いて、投擲物(即ち、仮想道具)を投擲し、投擲した後、プレイヤーに1つの投擲物のみが装備されていると、元の武器に(即ち、銃器型仮想道具)に切り替えることができる。
ステップ3において、投擲物は、飛行プロセスにおいて、多くの物(即ち、障害物)と衝突する。投擲物の飛行プロセスにおいて、前へ、距離が小さい半直線を発射する。線分ABは、発射される半直線検出である。投擲物が放物線軌跡に沿って飛行するため、各フレームに対応する線分ABの方向及び速度は、変化し、線分ABの方向は、放物線の接線方向である。
半直線検出に基づいて、物体を検出した場合、衝突する物体情報(即ち、障害物のタイプ情報)を知ることができ、続いて、衝突位置(即ち、衝突情報)及び算出された反発方向(即ち、動き情報)の全てをサーバに同期する。サーバは、新たな位置、方向、速度(即ち、衝突後の動き情報)に応じて、サーバにおいて決定された投擲物の動き軌跡を変更する。
ステップ4において、投擲物が着地した後に爆発し(放出されて放出効果を表示する)、サーバの爆発情報(即ち、ターゲット放出位置を含む)に準じて、サーバは、爆発情報をクライアントに送信する。クライアントは、爆発情報を受信した場合のみ、投擲物を爆発するように制御する。
上記全ての選択可能な技術的解決手段は、任意の組み合わせによって本願の選択可能な実施例を形成することができる。ここで、一々説明しないようにする。
図15は、本願の実施例によるデータ同期装置の構造概略図である。図15を参照すると、該装置は、
仮想道具に対する投擲操作に応答して、該仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御するように構成される制御モジュール1501と、
該仮想道具が該第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突情報及び該仮想道具の動き情報を取得するように構成される取得モジュール1502と、
該衝突情報及び該動き情報を含む同期情報をサーバに送信するように構成される送信モジュール1503であって、該同期情報は、該衝突情報及び該動き情報に基づいて第2動き軌跡を修正するように該サーバに指示するためのものであり、該第2動き軌跡は、該サーバによって取得された該仮想道具の動き軌跡である、送信モジュール1503と、を備える。
可能な実現形態において、該衝突情報は、衝突位置情報を含み、該動き情報は、衝突後の該仮想道具の動き速度情報を含み、
該取得モジュール1502は、
仮想道具が第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突位置情報を取得するように構成される位置情報取得ユニットと、
衝突位置情報及び衝突時の仮想道具の動き速度情報に基づいて、仮想道具が衝突した後の動き速度情報を決定するように構成される動き情報取得ユニットと、を備える。
可能な実現形態において、該動き情報取得ユニットは、
仮想障害物のタイプ情報に基づいて、仮想道具に対応する反発情報を取得し、
衝突位置情報、反発情報及び衝突時の仮想道具の動き速度情報に基づいて、仮想道具が衝突した後の動き速度情報を決定するように構成される。
可能な実現形態において、衝突情報は、衝突位置情報を含み、動き情報は、衝突時の仮想道具の動き速度情報を含み、
取得モジュール1502は更に、
仮想道具が第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突位置情報及び衝突時の仮想道具の動き速度情報を取得するように構成される。
可能な実現形態において、該装置は、
前記第1動き軌跡上での前記仮想道具の所在位置に基づいて、ターゲット長さの半直線を生成し、前記半直線の方向は、前記第1動き軌跡上での前記仮想道具の所在位置の接線方向であり、
前記半直線が前記仮想障害物と交差することに応答して、前記仮想道具が前記仮想障害物と衝突したと決定するように構成される衝突検出モジュールを更に備える。
可能な実現形態において、該装置は、
該サーバから送信されたターゲット放出位置を受信するように構成される受信モジュールであって、該ターゲット放出位置は、修正された該第2動き軌跡に基づいて決定される、受信モジュールと、
該仮想道具が該ターゲット放出位置にあることに応答して、ターゲット放出位置で仮想道具の放出効果を表示するように構成される表示モジュールと、を更に備える。
可能な実現形態において、該ターゲット放出位置は、
ターゲット放出位置が仮想道具の着地点であり、着地点が修正された第2動き軌跡及び仮想シーンにおける地面の位置に基づいて決定されることと、
ターゲット放出位置が、仮想道具の投擲時間が放出時間に達するとき、第2動き軌跡上での前記仮想道具の所在位置であることと、のうちのいずれか1つを含む。
可能な実現形態において、該装置は、
前記ターゲット放出位置に基づいて、前記仮想道具の放出範囲を決定するように構成される範囲決定モジュールと、
前記放出範囲内にターゲット動画を再生するように構成される再生モジュールであって、前記ターゲット動画は、前記仮想シーンにおける前記放出範囲内に位置する仮想物品が前記仮想道具の放出に伴って変化することを表すためのものである、再生モジュールと、を更に備える。
可能な実現形態において、該送信モジュール1503は、仮想道具のタイプ情報がターゲットタイプであることに応答して、衝突情報及び動き情報を含む同期情報をサーバに送信するステップを実行するように構成され、ターゲットタイプに属する仮想道具は、粘着属性を有しない。
可能な実現形態において、該仮想道具と該第1動き軌跡上の仮想障害物との衝突回数は、少なくとも1回であり、該第2動き軌跡は、少なくとも1回の衝突時の該衝突情報及び該動き情報に基づいて修正される。
可能な実現形態において、該制御モジュール1501は、
仮想道具に対する投擲操作に応答して、該仮想道具の第1動き軌跡を取得して表示し、
該仮想道具が該第1動き軌跡に沿って仮想シーンにおいて動きを行う画面を表示するように構成される。
本願の実施例において、仮想道具が第1動き軌跡に応じて動きを行うプロセスにおいて、該第1動き軌跡上の仮想障害物と衝突したときに、サーバに対して、衝突情報及び仮想道具の動き情報を同期することによって、サーバは同期した衝突情報及び動き情報に基づいて、それ自体が取得した第2動き軌跡を修正することができる。上記データ同期方法において、衝突情報及び衝突に関わる仮想道具の動き情報を同期することによって、サーバにおける仮想道具の動き軌跡を修正し、それにより端末における動き軌跡と同期する。このように、サーバと端末における仮想道具の動き軌跡が一致し、仮想道具の動き軌跡の正確性を向上させる。なお、両者によって得られた動き軌跡が同じであり、同じ動き軌跡によって算出された着地点も一致し、仮想道具放出効果の表示位置と着地点が一致しないという現象を避けることができる。説明すべきこととして、上記実施例によるデータ同期装置は、データ同期を行うとき、上記各機能モジュールの分割のみを例として説明する。実際の適用において、必要に応じて、様々な機能モジュールにより上記機能を実現させることができる。つまり、電子機器の内部構造を様々な機能モジュールに分割して、上記全て又は一部の機能を完了する。なお、上記実施例によるデータ同期装置の構想は、データ同期方法の実施例の構想と同じであり、具体的な実現プロセスは、データ同期方法の実施例を参照されたい。ここでは説明を省略する。
図16は、本願の実施例によるデータ同期装置の構造概略図である。図16を参照すると、該装置は、
仮想道具に対する投擲命令に応答して、前記仮想道具の第2動き軌跡を取得するように構成される取得モジュール1601と、
端末から送信された同期情報を受信するように構成される受信モジュール1602であって、前記同期情報に、衝突情報及び前記仮想道具の動き情報が含まれ、前記同期情報は、前記仮想道具が第1動き軌跡上の仮想障害物と衝突したときに前記端末から送信されたものであり、前記第1動き軌跡は、前記端末によって取得された前記仮想道具の動き軌跡である、受信モジュール1602と、
前記衝突情報及び前記動き情報に基づいて、前記第2動き軌跡に対して修正を行うように構成される修正モジュール1603と、を備える。
本願の実施例において、仮想道具が第1動き軌跡に応じて動きを行うプロセスにおいて、該第1動き軌跡上の仮想障害物と衝突したときに、サーバに対して、衝突情報及び仮想道具の動き情報を同期することによって、サーバは同期した衝突情報及び動き情報に基づいて、それ自体が取得した第2動き軌跡を修正することができる。上記データ同期方法において、端末によって同期された衝突関連情報を受信することによって、サーバにおける仮想道具の動き軌跡を修正し、それにより端末における動き軌跡と同期する。このように、サーバと端末における仮想道具の動き軌跡が一致し、仮想道具の動き軌跡の正確性を向上させる。なお、両者によって得られた動き軌跡が同じであり、同じ動き軌跡によって算出された着地点も一致し、仮想道具放出効果の表示位置と着地点が一致しないという現象を避けることができる。
説明すべきこととして、上記実施例によるデータ同期装置は、データ同期を行うとき、上記各機能モジュールの分割のみを例として説明する。実際の適用において、必要に応じて、様々な機能モジュールにより上記機能を実現させることができる。つまり、電子機器の内部構造を様々な機能モジュールに分割して、上記全て又は一部の機能を完了する。なお、上記実施例によるデータ同期装置の構想は、データ同期方法の実施例の構想と同じであり、具体的な実現プロセスは、データ同期方法の実施例を参照されたい。ここでは説明を省略する。
上記電子機器は、下記図17に示される端末として提供されてもよく、下記図18に示されるサーバとして提供されてもよい。本願の実施例は、これを限定しない。
図17は、本願の実施例による端末1700の構造概略図である。該端末1700は、スマートフォン、タブレットパソコン、MP3プレーヤー(Moving Picture Experts Group Audio Layer III:動画専門家集団オーディオ規格のレイヤ3)、MP4(Moving Picture Experts Group Audio Layer IV:動画専門家集団オーディオ規格のレイヤ4)プレーヤー、ノートパソコン又はデスクトップパソコンであってもよい。端末1700は、ユーザ装置、携帯端末、ラップトップ端末、デスクトップ端末などの他の名称で呼ばれてもよい。
一般的には、端末1700は、プロセッサ1701と、メモリ1702と、を備える。
プロセッサ1701は、1つ又は複数のプロセッシングコアを含んでもよい。例えば、4コアプロセッサ、8コアプロセッサ等である。プロセッサ1701は、DSP(Digital Signal Processing:デジタル信号処理)、FPGA(Field-Programmable Gate Array:フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Array:プログラマブルロジックアレイ)のうちの少なくとも1つのハードウェア形態により実現してもよい。プロセッサ1701は、ホストプロセッサ及びコプロセッサを含んでもよい。ホストプロセッサは、アウェイク状態であるデータを処理するためのプロセッサであり、CPU(Central Processing Unit:中央演算装置)とも呼ばれる。コプロセッサは、待機状態であるデータを処理するための低電力プロセッサである。幾つかの実施例において、プロセッサ1701に、GPU(Graphics Processing Unit:画像プロセッサ)が集積されてもよい。GPUは、ディスプレイが表示すべきコンテンツのレンダリング及び描画に用いられる。幾つかの実施例において、プロセッサ1701は、AI(Artificial Intelligence:人工知能)プロセッサを含んでもよい。該AIプロセッサは、機器学習に関わる演算操作を処理するためのものである。
メモリ1702は、1つ又は複数のコンピュータ可読記憶媒体を含んでもよい。該コンピュータ可読記憶媒体は、非一時的なものであってもよい。メモリ1702は、高速ランダムアクセスメモリ、及び不揮発性メモリを含んでもよい。例えば、1つ又は複数の磁気ディスク記憶装置、フラッシュ記憶装置を含む。幾つかの実施例において、メモリ1702における非一時的なコンピュータ可読記憶媒体は、少なくとも1つのプログラムコードを記憶するためのものである。該少なくとも1つのプログラムコードは、プロセッサ1701により実行され、本願における各実施例によるデータ同期方法のうちの端末側の方法のステップを実現させる。
幾つかの実施例において、端末1700は、選択的に、外部装置インタフェース1703と、少なくとも1つの外部装置とを備えてもよい。プロセッサ1701、メモリ1702及び外部装置インタフェース1703は、バス又は信号線を介して接続される。各外部装置は、バス、信号線又は回路基板を介して外部装置インタフェース1703に接続される。具体的には、外部装置は、無線周波数回路1704、タッチディスプレイ1705、カメラ1706、オーディオ回路1707、位置決めコンポーネント1708及電源1709のうちの少なくとも1つを含む。
外部装置インタフェース1703は、I/O(Input /Output:入力/出力)に関わる少なくとも1つの外部装置をプロセッサ1701及びメモリ1702に接続するためのものであってもよい。幾つかの実施例において、プロセッサ1701、メモリ1702及び外部装置インタフェース1703は、同一のチップ又は回路基板に集積される。幾つかの他の実施例において、プロセッサ1701、メモリ1702及び外部装置インタフェース1703のうちのいずれか1つ又は2つは、単独のチップ又は回路基板上で実現されてもよく、本実施例はこれを限定するものではない。
無線周波数回路1704は、電磁信号とも呼ばれるRF(Radio Frequency:無線周波数)信号の受信及び送信に用いられる。無線周波数回路1704は電磁信号を経由して通信ネットワーク及び他の通信装置と通信する。無線周波数回路1704は、電気信号を電磁信号に変換して送信するか又は受信した電磁信号を電気信号に変換する。任意選択的に、無線周波数回路1704は、アンテナシステム、RF送受信機、1つ又は複数の増幅器、チューナ、発振器、デジタル信号プロセッサ、コーデックチップセット、加入者識別モジュールカードなどを含む。無線周波数回路1704は、少なくとも1つの無線通信プロトコルにより、他の端末と通信することができる。該無線通信プロトコルは、ワールドワイドウェブ、メトロエリアネットワーク、イントラネット、各世代の移動体通信ネットワーク(2G、3G、4G及び5G)、無線ローカルエリアネットワーク及び/又はWiFi(Wireless Fidelity:ワイヤレスフィデリティ)ネットワークを含むが、これらに限定されない。幾つかの実施例において、無線周波数回路1704は、NFC(Near Field Communication:近接場通信)に関わる回路を含んでもよく、本願は、これを限定するものではない。
ディスプレイ1705は、UI(User Interface:ユーザインタフェース)を表示するためのものである。該UIは、図形、テキスト、アイコン、ビデオ及びそれらの任意の組み合わせを含んでもよい。ディスプレイ1705がタッチディスプレイである場合、ディスプレイ1705は、ディスプレイ1705の表面又は表面の上方のタッチ信号を収集する能力を持つ。該タッチ信号は、制御信号としてプロセッサ1701に入力されて処理されてもよい。この場合、ディスプレイ1705は、ソフトボタン及び/又はソフトキーボードとも呼ばれる仮想ボタン及び/又は仮想キーボードを提供するためのものであってもよい。幾つかの実施例において、ディスプレイ1705は1つであってもよく、端末1700のフロントパネルに設けられる。別の幾つかの実施例において、ディスプレイ1705は少なくとも2つであってもよく、それぞれ端末1700の様々な表面に設けられるか又は折り畳むように設けられる。また幾つかの実施例において、ディスプレイ1705は、フレキシブルディスプレイであってもよく、端末1700の湾曲表面又は折り畳み面に設けられる。なお、ディスプレイ1705は、非矩形の不規則な画像に設けられてもよく、つまり、異形ディスプレイであってもよい。ディスプレイ1705として、LCD(Liquid Crystal Display:液晶ディスプレイ)、OLED(Organic Light-Emitting Diode:有機発光ダイオード)などの材質からなるものであってもよい。
カメラコンポーネント1706は、画像又はビデオの収集に用いられる。選択的に、カメラコンポーネント1706は、フロントカメラ及びリアカメラを備える。一般的には、フロントカメラは、端末のフロントパネルに設けられ、リアカメラは、端末の背面に設けられる。幾つかの実施例において、リアカメラは少なくとも2つであり、それぞれメインカメラ、デプスカメラ、広角カメラ、長焦点カメラのうちのいずれか1つである。これにより、メインカメラとデプスカメラを組み合わせて背景ぼかし機能を実現させる。メインカメラと広角カメラを組み合わせてパノラマ撮影及びVR(Virtual Reality:仮想現実)撮影機能又は他の組み合わせによる撮影機能を実現させる。幾つかの実施例において、カメラコンポーネント1706は、フラッシュを含んでもよい。フラッシュは、単色フラッシュであってもよいし、二色フラッシュであってもよい。二色フラッシュは、暖色光フラッシュと冷色光フラッシュとの組み合わせを指し、様々な色温度での光線補償に用いられる。
オーディオ回路1707は、マイクロホン及びスピーカーを含んでもよい。マイクロホンは、ユーザ及び環境の音波を収集し、音波を電気信号に変換してプロセッサ1701に入力して処理するか、又は無線周波数回路1704に入力して音声通信を実現させる。ステレオ音響の収集又はノイズ低減を実現させるために、マイクロホンは、複数であってもよく、それぞれ端末1700の様々な部位に設けられる。マイクロホンは、アレイマイクロホン又は全方向収集型マイクロホンであってもよい。スピーカーは、プロセッサ1701又は無線周波数回路1704からの電気信号を音波に変換するためのものである。スピーカーは、従来のフィルムスピーカーであってもよいし、圧電セラミックススピーカーであってもよい。スピーカーは、圧電セラミックススピーカーである場合、電気信号を、人間にとって可聴な音波に変換することができるだけでなく、電気信号を、人間にとって不可聴な音波に変換して距離測定などの用途に適用することもできる。幾つかの実施例において、オーディオ回路1707は、イヤホンジャックを含んでもよい。
位置決めコンポーネント1708は、端末1700の現在の地理的位置を位置決めし、ナビゲーション又はLBS(Location Based Service:ロケーションベースサービス)を実現させるためのものである。位置決めコンポーネント1708は、米国のGPS(Global Positioning System:全地球測位システム)、中国の北斗システム、ロシアのガリレオシステム又は欧州連合のガリレオシステムの位置決めコンポーネントであってもよい。
電源1709は、端末1700における各ユニットに給電するためのものである。電源1709は、交流、直流、使い捨て電池又は充電可能な電池であってもよい。電源1709が充電可能な電池を含む場合、該充電可能な電池は、有線充電電池又は無線充電電池であってもよい。有線充電電池は、有線回路により充電される電池であり、無線充電電池は、無線コイルにより充電される電池である。該充電可能な電池は、急速充電技術をサポートするものであってもよい。
幾つかの実施例において、端末1700は、1つ又は複数のセンサ1710を更に備える。該1つ又は複数のセンサ1710は、加速度センサ1711、ジャイロセンサ1712、圧力センサ1713、指紋センサ1714、光学センサ1715及び近接センサ1716を含むが、これらに限定されない。
加速センサ1711は、端末1700により確立された座標系の3つの座標軸における加速度の大きさを検出することができる。例えば、加速度センサ1711は、3つの座標軸における重力加速度の成分を検出することができる。プロセッサ1701は、加速度センサ1711により収集された重力加速度信号に基づいて、タッチディスプレイ1705を、横ビュー又は縦ビューによりユーザインタフェースの表示を行うように制御することができる。加速度センサ1711は、ゲーム又はユーザの運動データの収集にも用いられる。
ジャイロセンサ1712は、端末1700の本体方向及び回転角度を検出することができる。ジャイロセンサ1712は、ユーザによる端末1700に対する3D動作を加速度センサ1711と協力して収集することができる。プロセッサ1701は、ジャイロセンサ1712により収集されたデータに基づいて、動作検知(例えば、ユーザによる傾斜操作に基づいてUIを変える)、撮影時の画像安定化、ゲーム制御及び慣性航法機能を実現させることができる。
圧力センサ1713は、端末1700の側枠及び/又はタッチディスプレイ1705の下層に設けられてもよい。圧力センサ1713が端末1700の側枠に設けられるとき、ユーザによる端末1700に対する把持信号を検出することができる。プロセッサ1701は、圧力センサ1713により収集された把持信号に基づいて、左右手識別又はショートカット操作を行う。圧力センサ1713がタッチディスプレイ1705の下層に設けられるとき、プロセッサ1701は、ユーザによるタッチディスプレイ1705に対する加圧操作に基づいて、UIインタフェースにおける操作可能なコントロールの制御を実現させる。操作可能なコントロールは、ボタンコントロール、スクロールバーコントロール、アイコンコントロール、メニューコントロールのうちの少なくとも1つを含む。
指紋センサ1714は、ユーザの指紋の収集に用いられる。プロセッサ1701は、指紋センサ1714により収集された指紋に基づいて、ユーザの身分認証を行う。又は、指紋センサ1714は、収集された指紋に基づいて、ユーザの身分認証を行う。ユーザの身分が信頼できる身分であると判定したとき、プロセッサ1701は、該ユーザによる関連機密操作の実行を許可する。該機密操作は、スクリーンアンロック、暗号化情報の確認、ソフトウェアダウンロード、支払い及び設定変更などを含む。指紋センサ1714は、端末1700の正面、背面又は側面に設けられてもよい。端末1700に物理的ボタン又はメーカーLogoが設けられた場合、指紋センサ1714は、物理的ボタン又はメーカーLogoと一体化されてもよい。
光学センサ1715は、環境光の強度の収集に用いられる。一実施例において、プロセッサ1701は、光学センサ1715により収集された環境光の強度に基づいて、タッチディスプレイ1705の表示輝度を制御することができる。具体的には、環境光の強度が高いとき、タッチディスプレイ1705の表示輝度を高くする。環境光の強度が低いとき、タッチディスプレイ1705の表示輝度を低くする。別の実施例において、プロセッサ1701は、光学センサ1715により収集された環境光の強度に基づいて、カメラコンポーネント1706の撮影パラメータを動的に調整することもできる。
近接センサ1716は、距離センサとも呼ばれ、一般的には、端末1700のフロントパネルに設けられる。近接センサ1716は、ユーザと端末1700の正面との距離の収集に用いられる。一実施例において、近接センサ1716は、ユーザと端末1700の正面との距離が次第に小さくなることを検出したとき、プロセッサ1701により、タッチディスプレイ1705をスクリーン点灯状態からスクリーン消灯状態に切り替えるように制御する。近接センサ1716は、ユーザと端末1700の正面との距離が次第に大きくなることを検出したとき、プロセッサ1701により、タッチディスプレイ1705をスクリーン消灯状態からスクリーン点灯状態に切り替えるように制御する。
図17に示した構造は、端末1700を限定するものではなく、図示したものより多く又は少ないユニットをふくんでもよいし、幾つかのユニットを組み合わせてもよいし、様々なユニット配置を利用してもよいことは、当業者であれば理解されるべきである。
図18は、本願の実施例によるサーバ1800の構造概略図である。該サーバ1800は、設定又は性能により、大きく相違してもよい。1つ又は1つ以上のプロセッサ(Central Processing Units:CPU)1801及び1つ又は1つ以上のメモリ1802を備えてもよい。該メモリ1802には、少なくとも1つのプログラムコードが記憶されている。該少なくとも1つのプログラムコードは、該プロセッサ1801によりロードされて実行され、上記各実施例によるデータ同期方法のうちのサーバ側の方法のステップを実現させる。無線、該サーバ1800は、入力出力を行うために、有線又は無線ネットワークインタフェース、キーボード及び入力出力インタフェース等の部材を備えてもよい。該サーバ1800は、機器の機能を実現させるための他の部材を備えてもよい。ここでは説明を省略する。
例示的な実施例において、例えば、少なくとも1つのプログラムコードを記憶したメモリのようなコンピュータ可読記憶媒体を更に提供する。上記少なくとも1つのプログラムコードは、電子機器におけるプロセッサにより実行され、上記実施例におけるデータ同期方法を実現させる。例えば、該コンピュータ可読記憶媒体は、ROM(Read-Only Memory:読み出し専用メモリ)、RAM(Random Access Memory:ランダムアクセスメモリ)、CD-ROM(Compact Disc Read-Only Memory:読み出し専用型光ディスク)、磁気テープ、フレキシブルディスク及び光学データ記憶装置などであってもよい。
本願の実施例は、コンピュータプログラム製品又はコンピュータプログラムを更に提供する。該コンピュータプログラム製品又はコンピュータプログラムは、コンピュータ命令を含み、該コンピュータ命令は、コンピュータ可読記憶媒体に記憶されている。コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体から該コンピュータ命令を読み取り、プロセッサは、該コンピュータ命令を実行し、該コンピュータ機器に、上記態様の種々の選択可能な実現形態によるデータ同期方法を実行させる。
上記実施例の全て又は一部のステップはハードウェアにより実行されてもよいし、プログラム命令に係るハードウェアにより実行されてもよく、該プログラムは、コンピュータ可読記憶媒体に記憶されてもよく、上記言及した記憶媒体は、読み出し専用メモリ、磁気ディスク又は光ディスクなどであってもよいことは当業者であれば理解されるべきである。
以上は、本願の好適な実施例に過ぎず、本願を限定するものではない。本願の精神や原則を逸脱しないあらゆる修正、均等物による置換、改良などはすべて本願の保護範囲内に含まれるものとする。
120 第1端末
140 サーバ
160 第2端末
501 表示アイテム
502 トリガコントロール
503 投擲キャンセルボタン
504 候補動き軌跡
505 余剰使用時間長
900 粘着爆弾
1001 仮想物品
1002 仮想対象
1200 第1動き軌跡
1700 端末
1701 プロセッサ
1702 メモリ
1703 外部装置インタフェース
1704 無線周波数回路
1705 ディスプレイ
1706 カメラコンポーネント
1707 オーディオ回路
1708 位置決めコンポーネント
1709 電源
1710 センサ
1711 加速度センサ
1712 ジャイロセンサ
1713 圧力センサ
1714 指紋センサ
1715 光学センサ
1716 近接センサ
1800 サーバ
1801 プロセッサ
1802 メモリ

Claims (17)

  1. 端末に用いられるデータ同期方法であって、
    仮想道具に対する投擲操作に応答して、前記仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御するステップと、
    前記仮想道具が前記第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突情報及び前記仮想道具の動き情報を取得するステップと、
    前記衝突情報及び前記動き情報を含む同期情報をサーバに送信するステップであって、前記同期情報は、前記衝突情報及び前記動き情報に基づいて第2動き軌跡を修正するように前記サーバに指示するためのものであり、前記第2動き軌跡は、前記サーバによって取得された前記仮想道具の動き軌跡である、ステップと、を含むことを特徴とする、データ同期方法。
  2. 前記衝突情報は、衝突位置情報を含み、前記動き情報は、衝突後の前記仮想道具の動き速度情報を含み、
    前記仮想道具が前記第1動き軌跡上の仮想障害物と衝突したことに応答して、前記衝突情報及び前記仮想道具の動き情報を取得するステップは、
    前記仮想道具が前記第1動き軌跡上の前記仮想障害物と衝突したことに応答して、前記衝突位置情報を取得するステップと、
    前記衝突位置情報及び衝突時の前記仮想道具の動き速度情報に基づいて、衝突後の前記仮想道具の動き速度情報を決定するステップと、を含むことを特徴とする、
    請求項1に記載の方法。
  3. 前記衝突位置情報及び衝突時の前記仮想道具の動き速度情報に基づいて、衝突後の前記仮想道具の動き速度情報を決定するステップは、
    前記仮想障害物のタイプ情報に基づいて、前記仮想道具に対応する反発情報を取得するステップと、
    前記衝突位置情報、前記反発情報及び衝突時の前記仮想道具の動き速度情報に基づいて、衝突後の前記仮想道具の動き速度情報を決定するステップと、を含むことを特徴とする、
    請求項2に記載の方法。
  4. 前記衝突情報は、衝突位置情報を含み、前記動き情報は、衝突時の前記仮想道具の動き速度情報を含み、
    前記仮想道具が前記第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突情報及び前記仮想道具の動き情報を取得するステップは、
    前記仮想道具が前記第1動き軌跡上の前記仮想障害物と衝突したことに応答して、前記衝突位置情報及び衝突時の前記仮想道具の動き速度情報を取得するステップを含むことを特徴とする、
    請求項1に記載の方法。
  5. 前記仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御した後、前記方法は、
    前記第1動き軌跡上での前記仮想道具の所在位置に基づいて、ターゲット長さの半直線を生成するステップであって、前記半直線の方向は、前記第1動き軌跡上での前記仮想道具の所在位置の接線方向である、ステップと、
    前記半直線が前記仮想障害物と交差することに応答して、前記仮想道具が前記仮想障害物と衝突したと決定するステップと、を含むことを特徴とする、
    請求項1に記載の方法。
  6. 前記方法は、
    前記サーバから送信されたターゲット放出位置を受信するステップであって、前記ターゲット放出位置は、修正された前記第2動き軌跡に基づいて決定される、ステップと、
    前記仮想道具が前記ターゲット放出位置にあることに応答して、前記ターゲット放出位置で前記仮想道具の放出効果を表示するステップと、を更に含むことを特徴とする、
    請求項1に記載の方法。
  7. 前記ターゲット放出位置は、
    前記ターゲット放出位置が前記仮想道具の着地点であり、前記着地点が修正された前記第2動き軌跡及び仮想シーンにおける地面の位置に基づいて決定されることと、
    前記ターゲット放出位置が、前記仮想道具の投擲時間が放出時間に達するとき、前記第2動き軌跡上での前記仮想道具の所在位置であることと、のうちのいずれか1つを含むことを特徴とする、
    請求項6に記載の方法。
  8. 前記方法は、
    前記ターゲット放出位置に基づいて、前記仮想道具の放出範囲を決定するステップと、
    前記放出範囲内にターゲット動画を再生するステップであって、前記ターゲット動画は、前記仮想シーンにおける前記放出範囲内に位置する仮想物品が前記仮想道具の放出に伴って変化することを表すためのものである、ステップと、を更に含むことを特徴とする、
    請求項6に記載の方法。
  9. 前記衝突情報及び前記動き情報を含む同期情報をサーバに送信するステップは、
    前記仮想道具のタイプ情報がターゲットタイプであることに応答して、前記衝突情報及び前記動き情報を含む同期情報をサーバに送信するステップを実行するステップであって、前記ターゲットタイプに属する仮想道具は、粘着属性を有しない、ステップを含むことを特徴とする、
    請求項1に記載の方法。
  10. 前記仮想道具と前記第1動き軌跡上の仮想障害物との衝突回数は、少なくとも1回であり、前記第2動き軌跡は、少なくとも1回の衝突時の前記衝突情報及び前記動き情報に基づいて修正されることを特徴とする、
    請求項1に記載の方法。
  11. 前記仮想道具に対する投擲操作に応答して、前記仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御するステップは、
    前記仮想道具に対する投擲操作に応答して、前記仮想道具の前記第1動き軌跡を取得して表示するステップと、
    前記仮想道具が前記第1動き軌跡に沿って前記仮想シーンにおいて動きを行う画面を表示するステップと、を含むことを特徴とする、
    請求項1に記載の方法。
  12. サーバに用いられるデータ同期方法であって、
    仮想道具に対する投擲命令に応答して、前記仮想道具の第2動き軌跡を取得するステップと、
    端末から送信された同期情報を受信するステップであって、前記同期情報に、衝突情報及び前記仮想道具の動き情報が含まれ、前記同期情報は、前記仮想道具が第1動き軌跡上の仮想障害物と衝突したときに前記端末から送信されたものであり、前記第1動き軌跡は、前記端末によって取得された前記仮想道具の動き軌跡である、ステップと、
    前記衝突情報及び前記動き情報に基づいて、前記第2動き軌跡に対して修正を行うステップと、を含むことを特徴とする、データ同期方法。
  13. データ同期装置であって、
    仮想道具に対する投擲操作に応答して、前記仮想道具を、第1動き軌跡に応じて仮想シーンにおいて動きを行うように制御するように構成される制御モジュールと、
    前記仮想道具が前記第1動き軌跡上の仮想障害物と衝突したことに応答して、衝突情報及び前記仮想道具の動き情報を取得するように構成される取得モジュールと、
    前記衝突情報及び前記動き情報を含む同期情報をサーバに送信するように構成される送信モジュールであって、前記同期情報は、前記衝突情報及び前記動き情報に基づいて第2動き軌跡を修正するように前記サーバに指示するためのものであり、前記第2動き軌跡は、前記サーバによって取得された前記仮想道具の動き軌跡である、送信モジュールと、を備えることを特徴とする、データ同期装置。
  14. データ同期装置であって、
    仮想道具に対する投擲命令に応答して、前記仮想道具の第2動き軌跡を取得するように構成される取得モジュールと、
    端末から送信された同期情報を受信するように構成される受信モジュールであって、前記同期情報に、衝突情報及び前記仮想道具の動き情報が含まれ、前記同期情報は、前記仮想道具が第1動き軌跡上の仮想障害物と衝突したときに前記端末から送信されたものであり、前記第1動き軌跡は、前記端末によって取得された前記仮想道具の動き軌跡である、受信モジュールと、
    前記衝突情報及び前記動き情報に基づいて、前記第2動き軌跡に対して修正を行うように構成される修正モジュールと、を備えることを特徴とする、データ同期装置。
  15. 少なくとも1つのプログラムコードを記憶するための1つ又は複数のメモリと、前記少なくとも1つのプログラムコードをロードし実行して、請求項1~請求項11のうちいずれか一項に記載のデータ同期方法を実行するための1つ又は複数のプロセッサと、を備えることを特徴とする、端末。
  16. 少なくとも1つのプログラムコードを記憶するための1つ又は複数のメモリと、前記少なくとも1つのプログラムコードをロードし実行して、請求項12に記載のデータ同期方法を実行するための1つ又は複数のプロセッサと、を備えることを特徴とする、サーバ。
  17. 請求項1~請求項11のうちいずれか一項に記載のデータ同期方法を実施するか、又は、請求項12に記載のデータ同期方法を実施するために、プロセッサによりロードされて実行される少なくとも1つのプログラムコードを記憶したことを特徴とする、記憶媒体。
JP2022529073A 2020-04-08 2021-02-23 データ同期方法、装置、端末、サーバ及びコンピュータプログラム Active JP7311711B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010268946.1A CN111475573B (zh) 2020-04-08 2020-04-08 数据同步方法、装置、电子设备及存储介质
CN202010268946.1 2020-04-08
PCT/CN2021/077446 WO2021203856A1 (zh) 2020-04-08 2021-02-23 数据同步方法、装置、终端、服务器及存储介质

Publications (2)

Publication Number Publication Date
JP2023503874A true JP2023503874A (ja) 2023-02-01
JP7311711B2 JP7311711B2 (ja) 2023-07-19

Family

ID=71750141

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022529073A Active JP7311711B2 (ja) 2020-04-08 2021-02-23 データ同期方法、装置、端末、サーバ及びコンピュータプログラム

Country Status (4)

Country Link
US (1) US11944904B2 (ja)
JP (1) JP7311711B2 (ja)
CN (1) CN111475573B (ja)
WO (1) WO2021203856A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111475573B (zh) 2020-04-08 2023-02-28 腾讯科技(深圳)有限公司 数据同步方法、装置、电子设备及存储介质
CN112044071B (zh) * 2020-09-04 2021-10-15 腾讯科技(深圳)有限公司 虚拟物品的控制方法、装置、终端及存储介质
CN112090070B (zh) * 2020-09-18 2022-04-12 腾讯科技(深圳)有限公司 虚拟道具的交互方法、装置及电子设备
CN112587930B (zh) * 2020-12-25 2022-09-02 珠海金山数字网络科技有限公司 一种碰撞效果渲染方法、装置及系统
CN115454313A (zh) * 2021-06-09 2022-12-09 脸萌有限公司 触碰动画显示方法、装置、设备及介质
CN113609218A (zh) * 2021-07-20 2021-11-05 深圳市爱都科技有限公司 数据同步方法、终端设备以及计算机可读存储介质
CN114155605B (zh) * 2021-12-03 2023-09-15 北京字跳网络技术有限公司 一种控制方法、装置以及计算机存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009003584A (ja) * 2007-06-19 2009-01-08 Nhn Corp オブジェクト表示同期制御方法及びオンラインシステム
JP2011113127A (ja) * 2009-11-24 2011-06-09 Ntt Docomo Inc オブジェクト位置決め装置及びオブジェクト位置決め方法
JP2017507693A (ja) * 2014-05-21 2017-03-23 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド オンラインゲームにおいてキャラクタを移動させるための方法およびシステム
CN108260021A (zh) * 2018-03-08 2018-07-06 乐蜜有限公司 直播互动方法和装置
US20200005587A1 (en) * 2018-06-27 2020-01-02 Adp Gauselmann Gmbh Game including a physics-based game for determining a bonus game

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6666766B2 (en) * 2001-09-28 2003-12-23 Igt Gaming device having outcomes which replicate the laws of physics
US7918730B2 (en) * 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
JP4794343B2 (ja) * 2006-03-30 2011-10-19 株式会社バンダイナムコゲームス 画像生成システム、プログラム及び情報記憶媒体
CN101947385B (zh) * 2010-10-12 2012-09-12 刘铮 在斯诺克运动中获取台球碰撞关系和完整运动轨迹的方法
CN103439972B (zh) * 2013-08-06 2016-06-29 重庆邮电大学 一种动态复杂环境下的移动机器人路径规划方法
US20170148256A1 (en) * 2015-11-23 2017-05-25 Casino Game Maker, Inc. Physics engine configuration for an electronic game of chance
US20180082535A1 (en) * 2016-09-22 2018-03-22 Igt Gaming system and method providing a physics-based game including objects that have gameplay-altering features
CN107368071B (zh) * 2017-07-17 2020-11-06 纳恩博(北京)科技有限公司 一种异常恢复方法及电子设备
CN108540454B (zh) * 2018-03-16 2020-09-15 武汉微派网络科技有限公司 碰撞同步方法、客户端及存储介质
CN108786108B (zh) * 2018-06-11 2022-01-25 腾讯科技(深圳)有限公司 目标对象控制方法、装置、存储介质及设备
CN109200582A (zh) * 2018-08-02 2019-01-15 腾讯科技(深圳)有限公司 控制虚拟对象与投掷物交互的方法、装置及存储介质
CN110170169B (zh) * 2019-06-05 2021-03-26 腾讯科技(深圳)有限公司 信息的展示方法和装置、存储介质、电子装置
CN110262488B (zh) * 2019-06-18 2021-11-30 重庆长安汽车股份有限公司 自动驾驶的局部路径规划方法、系统及计算机可读存储介质
CN111475573B (zh) * 2020-04-08 2023-02-28 腾讯科技(深圳)有限公司 数据同步方法、装置、电子设备及存储介质
CN112221135B (zh) * 2020-11-06 2022-07-29 腾讯科技(深圳)有限公司 画面显示方法、装置、设备以及存储介质
US20230033885A1 (en) * 2022-03-14 2023-02-02 Khalid Khamis ATHLETIC SPORT GAME, EQUIPMENT, and METHOD

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009003584A (ja) * 2007-06-19 2009-01-08 Nhn Corp オブジェクト表示同期制御方法及びオンラインシステム
JP2011113127A (ja) * 2009-11-24 2011-06-09 Ntt Docomo Inc オブジェクト位置決め装置及びオブジェクト位置決め方法
JP2017507693A (ja) * 2014-05-21 2017-03-23 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド オンラインゲームにおいてキャラクタを移動させるための方法およびシステム
CN108260021A (zh) * 2018-03-08 2018-07-06 乐蜜有限公司 直播互动方法和装置
US20200005587A1 (en) * 2018-06-27 2020-01-02 Adp Gauselmann Gmbh Game including a physics-based game for determining a bonus game

Also Published As

Publication number Publication date
WO2021203856A1 (zh) 2021-10-14
JP7311711B2 (ja) 2023-07-19
US20220212109A1 (en) 2022-07-07
CN111475573B (zh) 2023-02-28
US11944904B2 (en) 2024-04-02
CN111475573A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
JP7311711B2 (ja) データ同期方法、装置、端末、サーバ及びコンピュータプログラム
CN110917619B (zh) 互动道具控制方法、装置、终端及存储介质
CN111282275B (zh) 虚拟场景中的碰撞痕迹展示方法、装置、设备及存储介质
CN110507994B (zh) 控制虚拟飞行器飞行的方法、装置、设备及存储介质
CN111589150B (zh) 虚拟道具的控制方法、装置、电子设备及存储介质
CN110585710B (zh) 互动道具控制方法、装置、终端及存储介质
CN110507990B (zh) 基于虚拟飞行器的互动方法、装置、终端及存储介质
CN111744186B (zh) 虚拟对象的控制方法、装置、设备及存储介质
CN112057857B (zh) 互动道具处理方法、装置、终端及存储介质
CN113713382B (zh) 虚拟道具控制方法、装置、计算机设备及存储介质
CN112870715B (zh) 虚拟道具的投放方法、装置、终端及存储介质
WO2022199017A1 (zh) 虚拟道具的显示方法、装置、电子设备及存储介质
US20220161138A1 (en) Method and apparatus for using virtual prop, device, and storage medium
CN110585706B (zh) 互动道具控制方法、装置、终端及存储介质
CN112221141A (zh) 控制虚拟对象使用虚拟道具的方法及装置
CN111760284A (zh) 虚拟道具控制方法、装置、设备及存储介质
CN113041622A (zh) 虚拟环境中虚拟投掷物的投放方法、终端及存储介质
CN111475029A (zh) 虚拟道具的操作方法、装置、设备及存储介质
CN112933601A (zh) 虚拟投掷物的操作方法、装置、设备及介质
CN113713383A (zh) 投掷道具控制方法、装置、计算机设备及存储介质
CN112717410A (zh) 虚拟对象控制方法、装置、计算机设备及存储介质
CN111659122B (zh) 虚拟资源显示方法、装置、电子设备及存储介质
CN110960849B (zh) 互动道具控制方法、装置、终端及存储介质
CN114100128B (zh) 道具特效显示方法、装置、计算机设备及存储介质
CN112755518B (zh) 互动道具控制方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220518

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220518

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230626

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230706

R150 Certificate of patent or registration of utility model

Ref document number: 7311711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150