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

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

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

特許7374209仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム
<>
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図1
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図2
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図3
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図4
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図5
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図6
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図7
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図8
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図9
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図10
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図11
  • 特許-仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-26
(45)【発行日】2023-11-06
(54)【発明の名称】仮想オブジェクトの移動制御方法、移動制御装置、端末及びコンピュータプログラム
(51)【国際特許分類】
   A63F 13/56 20140101AFI20231027BHJP
   A63F 13/803 20140101ALI20231027BHJP
   A63F 13/57 20140101ALI20231027BHJP
   G06T 19/00 20110101ALI20231027BHJP
   A63F 13/79 20140101ALI20231027BHJP
   A63F 13/53 20140101ALI20231027BHJP
【FI】
A63F13/56
A63F13/803
A63F13/57
G06T19/00 A
A63F13/79
A63F13/53
【請求項の数】 14
(21)【出願番号】P 2021557137
(86)(22)【出願日】2020-08-31
(65)【公表番号】
(43)【公表日】2022-05-31
(86)【国際出願番号】 CN2020112651
(87)【国際公開番号】W WO2021043110
(87)【国際公開日】2021-03-11
【審査請求日】2021-09-24
(31)【優先権主張番号】201910838665.2
(32)【優先日】2019-09-05
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲謝▼ ▲亞▼▲飛▼
(72)【発明者】
【氏名】霍 崇
【審査官】安田 明央
(56)【参考文献】
【文献】中国特許出願公開第109358620(CN,A)
【文献】中国特許出願公開第110538455(CN,A)
【文献】▲ホウ▼▲ホウ▼▲ソウ▼丁車:和第一名的影子賽▲ホウ▼(Running kart: and first shadow race),YOUKU[online] [video],2019年08月18日,https://v.youku.com/v_show/id_XNDMxOTM4NTc3Ng==.html?,検索日2022年10月6日
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
G06T 19/00
(57)【特許請求の範囲】
【請求項1】
端末が実行する、仮想オブジェクトの移動制御方法であって、
第1のユーザーアカウントが第1の仮想オブジェクトを仮想シーンでレースするように制御する過程で記録された、前記第1の仮想オブジェクトの移動軌跡を描くための第1の記録軌跡情報を取得するステップであって、前記第1の記録軌跡情報は、前記第1の仮想オブジェクトのn個の位置点を含み(ただし、前記nが1よりも大きい整数である)、前記n個の前記位置点は、少なくとも前記第1の仮想オブジェクトが所定の動作を行うことによる状態の変化時点で取得される、ステップと、
第2のユーザーアカウントによって制御される仮想オブジェクトである第2の仮想オブジェクトと、コンピュータによって制御される仮想オブジェクトである第3の仮想オブジェクトとを含むレース試合を示すためのレース試合インタフェースを表示するステップと、
前記レース試合において前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御するステップと、を含む仮想オブジェクトの移動制御方法。
【請求項2】
前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御する前記ステップは、
前記コンピュータによって制御され、前記レース試合インタフェースに表示されない仮想オブジェクトである第4の仮想オブジェクトをダイナミックモデルの駆動により前記n個の位置点に沿って移動するように制御するステップと、
前記第4の仮想オブジェクトの移動軌跡により前記第3の仮想オブジェクトの移動軌跡を決定するステップと、
前記第3の仮想オブジェクトの移動軌跡に沿って移動するように前記第3の仮想オブジェクトを制御するステップと、を含む請求項1に記載の方法。
【請求項3】
第4の仮想オブジェクトをダイナミックモデルの駆動により前記n個の位置点に沿って移動するように制御する前記ステップは、
前記n個の位置点のうちのi番目の位置点に対して、前記ダイナミックモデルにより前記第4の仮想オブジェクトの前記i番目の位置点における状態情報に基づいて前記第4の仮想オブジェクトをi+1番目の位置点へ移動するように駆動する(ただし、前記iが正の整数である)ステップと、
前記i+1番目の位置点に対応するタイムスタンプになった時に、前記第4の仮想オブジェクトが前記i+1番目の位置点に位置するか否かを検出するステップと、
前記第4の仮想オブジェクトが前記i+1番目の位置点に位置しない場合に、前記第4の仮想オブジェクトを前記i+1番目の位置点に瞬間移動するように制御するステップと、を含む請求項2に記載の方法。
【請求項4】
前記第4の仮想オブジェクトの移動軌跡により前記第3の仮想オブジェクトの移動軌跡を決定する前記ステップは、
前記第4の仮想オブジェクトのi番目の位置点からi+1番目の位置点までの間の移動軌跡から、前記i番目の位置点と前記i+1番目の位置点との間にあるk個の位置点をサンプリングにより取得する(ただし、前記iが正の整数であり、前記kが正の整数である)ステップと、
前記i番目の位置点、前記k個の位置点及び前記i+1番目の位置点により、前記第3の仮想オブジェクトの前記i番目の位置点から前記i+1番目の位置点までの間の移動軌跡を決定するステップと、を含む請求項2に記載の方法。
【請求項5】
第1の記録軌跡情報を取得する前記ステップは、
前記第2のユーザーアカウントの能力値を取得するステップと、
前記第2のユーザーアカウントの能力値を含む情報取得要求をサーバに送信するステップと、
前記サーバから送信された、前記第2のユーザーアカウントの能力値にマッチする少なくとも1つの記録軌跡情報を受信するステップと、
前記少なくとも1つの記録軌跡情報から前記第1の記録軌跡情報を選択するステップと、を含む請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記レース試合中に前記第3の仮想オブジェクトに異常状況が発生した場合に、前記異常状況により前記第3の仮想オブジェクトを自由パフォーマンス状態に入るように制御するステップと、
前記自由パフォーマンス状態が終了したら、前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御し続けるステップと、
をさらに含み、
前記異常状況は、前記第3の仮想オブジェクトが前記第3の仮想オブジェクトの移動軌跡上の複数の位置点のうちの1つまたは複数の位置点への移動が不可能である状況であり、
前記自由パフォーマンス状態は、前記第3の仮想オブジェクトが前記異常状況が終了するまで、前記異常状況に対応する動作を行う状態である、請求項1~5のいずれか1項に記載の方法。
【請求項7】
前記第1の記録軌跡情報は、前記第1の仮想オブジェクトのn個の位置点を含み(ただし、前記nが1よりも大きい整数である)、
前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御し続ける前記ステップは、
前記第3の仮想オブジェクトを前記自由パフォーマンス状態の終了時の位置点から前記n個の位置点のうちの目標位置点に移動するように制御するステップであって、前記目標位置点は、前記第3の仮想オブジェクトが通過していない位置点のうちの前記自由パフォーマンス状態の終了時の位置点に最も近い位置点である、ステップと、
前記目標位置点から移動し続けるように前記第3の仮想オブジェクトを制御するステップと、を含む請求項6に記載の方法。
【請求項8】
前記第3の仮想オブジェクトを前記自由パフォーマンス状態の終了時の位置点から前記n個の位置点のうちの目標位置点に移動するように制御する前記ステップは、
前記第3の仮想オブジェクトと前記目標位置点との間の角度、及び前記第3の仮想オブジェクトの向きを取得するステップと、前記向き及び前記角度により、前記目標位置点に移動するように前記第3の仮想オブジェクトを制御するステップとを含み、
或いは、
前記第3の仮想オブジェクトの現在の状態を取得するステップと、前記現在の状態に基づいて、前記第3の仮想オブジェクトを前記目標位置点に移動するようにビヘイビアツリーにより制御するステップとを含む、請求項7に記載の方法。
【請求項9】
前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御する前記ステップの後に、
前記第2の仮想オブジェクトと前記第3の仮想オブジェクトとの位置関係が第1のプリセット条件を満たすか否かを検出するステップであって、前記第1のプリセット条件は、前記第2の仮想オブジェクトと前記第3の仮想オブジェクトとの間の距離を一定範囲内に維持するために使用される条件である、ステップと、
前記位置関係が前記第1のプリセット条件を満たしている場合に、前記第1の記録軌跡情報と異なる別の記録軌跡情報である第2の記録軌跡情報を取得するステップと、
前記レース試合において前記第2の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御するステップと、をさらに含む請求項1~8のいずれか1項に記載の方法。
【請求項10】
第2の記録軌跡情報を取得する前記ステップは、
前記第2の仮想オブジェクトの位置が前記第3の仮想オブジェクトの位置よりも先行し、かつ先行した距離が第1の閾値よりも大きい場合に、前記第1の記録軌跡情報よりもスコアが高い他の記録軌跡情報から前記第2の記録軌跡情報を選択するステップと、
前記第2の仮想オブジェクトの位置が前記第3の仮想オブジェクトの位置よりも遅れ、かつ遅れた距離が第2の閾値よりも大きい場合に、前記第1の記録軌跡情報よりもスコアが低い他の記録軌跡情報から前記第2の記録軌跡情報を選択するステップと、を含む請求項9に記載の方法。
【請求項11】
前記レース試合において前記第2の仮想オブジェクトの軌跡情報を記録するステップと、
前記第2の仮想オブジェクトの軌跡情報が第2のプリセット条件を満たすか否かを判断するステップであって、前記第2のプリセット条件は、前記第2の仮想オブジェクトの逆方向での移動距離が距離の閾値以下である条件、前記第2の仮想オブジェクトのその場に留まる時間が第1の時間の閾値以下である条件、前記第2のユーザーアカウントのハングアップ時間が第2の時間の閾値以下である条件のうちの少なくとも1つを含む、ステップと、
前記第2の仮想オブジェクトの軌跡情報が前記第2のプリセット条件を満たしている場合に、前記第2の仮想オブジェクトの軌跡情報をサーバにアップロードするステップと、 をさらに含む請求項1~10のいずれか1項に記載の方法。
【請求項12】
第1のユーザーアカウントが第1の仮想オブジェクトを仮想シーンでレースするように制御する過程で記録された、前記第1の仮想オブジェクトの移動軌跡を描くための第1の記録軌跡情報を取得するための情報取得モジュールであって、前記第1の記録軌跡情報は、前記第1の仮想オブジェクトのn個の位置点を含み(ただし、前記nが1よりも大きい整数である)、前記n個の前記位置点は、少なくとも前記第1の仮想オブジェクトが所定の動作を行うことによる状態の変化時点で取得される、情報取得モジュールと、
第2のユーザーアカウントによって制御される仮想オブジェクトである第2の仮想オブジェクトと、コンピュータによって制御される仮想オブジェクトである第3の仮想オブジェクトとを含むレース試合を示すためのレース試合インタフェースを表示するためのインタフェース表示モジュールと、
前記レース試合において前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御するための移動制御モジュールと、
を含む仮想オブジェクトの移動制御装置。
【請求項13】
プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶されたメモリとを含む端末であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットが前記プロセッサによってロードされ実行されることにより、請求項1~11のいずれか1項に記載の仮想オブジェクトの移動制御方法を実現することを特徴とする端末。
【請求項14】
請求項1~11のいずれか1項に記載の仮想オブジェクトの移動制御方法をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2019年09月05日に提出された出願番号が201910838665.2で、発明の名称が「仮想オブジェクトの移動制御方法、装置、端末及び記憶媒体」である中国特許出願の優先権を要求し、その全ての内容は、引用により本願に組み込まれる。
【0002】
本願の実施形態は、コンピュータ及びインターネットの技術分野に関し、特に、仮想オブジェクトの移動制御方法、装置、端末及び記憶媒体に関する。
【背景技術】
【0003】
レースゲームアプリケーションでは、ゲーム試合に参加するユーザー数がマッチに不十分である場合に、いくつかのAI(Artificial Intelligence、人工知能)モデルが導入され、リアルユーザーによって制御される仮想オブジェクトとレースする。ここで、AIモデルとは、コンピュータによって制御される仮想オブジェクトを意味する。
【0004】
関連技術では、AIモデルの制御には論理的意思決定が用いられ、つまり、論理的な意思決定によりAIモデルの位置をリアルタイムに演算することにより、AIモデルの操作を出力し、ゲーム試合で提供されるレーストラック上を移動するようにAIモデルを制御するという目的を達成する。例えば、AIモデルの現在のフレームでの位置、速度、向きなどのパラメータに基づいて、論理的意思決定によりAIモデルの次のフレームでの位置、速度、向きなどのパラメータをリアルタイムに算出し、このように、AIモデルの移動制御を実現する。
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、論理的意思決定によるAIモデルの移動制御では、端末の計算・処理オーバーヘッドを大量に消費する必要があり、結果として端末の消費電力が大きくなる。
【課題を解決するための手段】
【0006】
本願の実施形態は、関連技術において論理的意思決定によるAIモデルの移動制御では端末の計算・処理オーバーヘッドを大量に消費する必要があり、結果として端末の消費電力が大きくなるという技術課題を解決するために使用可能な仮想オブジェクトの移動制御方法、装置、端末及び記憶媒体を提供する。前記技術方案は、以下のとおりである。
一態様において、本願の実施形態は、端末に適用される仮想オブジェクトの移動制御方法であって、
第1のユーザーアカウントが第1の仮想オブジェクトを仮想シーンでレースするように制御する時に記録された、前記第1の仮想オブジェクトの移動軌跡を描くための第1の記録軌跡情報を取得するステップと、
第2のユーザーアカウントによって制御される第2の仮想オブジェクト及びコンピュータによって制御される第3の仮想オブジェクトを含むレース試合を示すためのレース試合インタフェースを表示するステップと、
前記レース試合において前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御するステップと、を含む仮想オブジェクトの移動制御方法を提供する。
別の態様において、本願の実施形態は、
第1のユーザーアカウントが第1の仮想オブジェクトを仮想シーンでレースするように制御する時に記録された、前記第1の仮想オブジェクトの移動軌跡を描くための第1の記録軌跡情報を取得するための情報取得モジュールと、
第2のユーザーアカウントによって制御される第2の仮想オブジェクト及びコンピュータによって制御される第3の仮想オブジェクトを含むレース試合を示すためのレース試合インタフェースを表示するためのインタフェース表示モジュールと、
前記レース試合において前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御するための移動制御モジュールと、を含む仮想オブジェクトの移動制御装置を提供する。
【0007】
また別の態様において、本願の実施形態は、プロセッサと、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶されたメモリとを含む端末であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットが前記プロセッサによってロードされ実行されることにより、前記仮想オブジェクトの移動制御方法を実現する端末を提供する。
【0008】
さらに別の態様において、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶されたコンピュータ読み取り可能な記憶媒体であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は命令セットが前記プロセッサによってロードされ実行されることにより、前記仮想オブジェクトの移動制御方法を実現するコンピュータ読み取り可能な記憶媒体を提供する。
【0009】
さらに別の態様において、コンピュータ上で実行される時に、コンピュータに前記仮想オブジェクトの移動制御方法を実行させるコンピュータプログラム製品を提供する。
【発明の効果】
【0010】
本願の実施形態により提供される技術方案は、記録軌跡情報を取得することで、当該記録軌跡情報に基づいてコンピュータによって制御される仮想オブジェクト(即ち、AIモデル)の移動制御を実現する。記録軌跡情報は、リアルユーザーが仮想オブジェクトをレースするように制御する時に記録された移動軌跡であるので、当該移動軌跡に沿って移動するようにAIモデルを制御すればよい。関連技術における論理的意思決定によるAIモデルの移動制御と比べて、計算量を大幅に削減し、端末の消費電力を低減させることができる。
【0011】
また、関連技術における論理的意思決定によるAIモデルの移動制御と比べて、本願の実施形態により提供される技術方案は、次の2つの技術的効果もある。まず、論理的意思決定によるAIモデルの移動制御では、頻繁なブレーキングや壁への衝突が発生するなど、AIモデルの画面パフォーマンスが比較的にぎこちないが、本願では、AIモデルは、リアルユーザーが仮想オブジェクトをレースするように制御する時に生成される移動軌跡に沿って移動するため、より自然で、より実情に即した画面パフォーマンスが可能となる。次に、論理的意思決定によるAIモデルの移動制御では、様々なレースレベルのAIモデル、特にレースレベルの高いAIモデルを提供することは困難であるが、本願では、様々なレースレベルのユーザーのレース中に生成される移動軌跡を取得することができるため、様々なレースレベルのAIモデルを提供でき、明らかにレースレベルの高いAIモデルも提供でき、これにより、ユーザーはより豊かで優れた適応体験を得ることができる。
【0012】
本願の実施形態における技術方案をより明確に説明するために、以下では、実施形態の説明に必要な図面を簡単に紹介する。以下の説明における図面は、本願のいくつかの実施形態に過ぎず、当業者にとって、創造的な労力を払うことなく、これらの図面に基づいて他の図面を得ることもできることが明らかである。
【図面の簡単な説明】
【0013】
図1】本願の一実施形態により提供される実施環境の例示図である。
図2】本願の一実施形態により提供される端末の構造の例示図である。
図3】本願の一実施形態により提供される仮想オブジェクトの移動制御方法のフローチャートである。
図4】本願の一実施形態により提供される仮想環境の模式図である。
図5】本願の別の実施形態により提供される仮想環境の模式図である。
図6】本願のまた別の実施形態により提供される仮想環境の模式図である。
図7】本願のさらに別の実施形態により提供される仮想環境の模式図である。
図8】本願の一実施形態により提供されるコンピュータ装置のユーザーインタフェースの模式図である。
図9】本願の別の実施形態により提供される仮想オブジェクトの移動制御方法のフローチャートである。
図10】本願の一実施形態により提供される仮想オブジェクトの移動制御装置のブロック図である。
図11】本願の別の実施形態により提供される仮想オブジェクトの移動制御装置のブロック図である。
図12】本願の一実施形態により提供される端末の構造のブロック図である。
【発明を実施するための形態】
【0014】
本願の目的、技術方案及び利点をより明確にするために、以下では、図面を参照して本願の実施形態をさらに詳細に説明する。
【0015】
本願の実施形態を説明する前に、まず、本願に関わる関連用語を解釈、説明する。
1、仮想シーン
仮想シーンは、アプリケーション(例えば、ゲームアプリケーション)のクライアントが端末上で実行される時に表示(又は提供)されるシーンであり、当該仮想シーンとは、仮想オブジェクトが活動(例えば、ゲームの競技)を行うために作り出されたシーンを指す。当該仮想シーンは、現実世界のシミュレーションシーンであってもよく、セミシミュレーションとセミフィクションとを組み合わせたシーンであってもよく、純粋なフィクションのシーンであってもよい。仮想シーンは、2次元の仮想シーンであってもよく、2.5次元の仮想シーン又は3次元の仮想シーンであってもよいが、本願の実施形態では、これを限定しない。レースゲームアプリケーションの場合、仮想シーンが仮想レーストラックであってもよく、仮想オブジェクトが当該レーストラック上を移動可能であり、よって、レース機能を実現する。また、レースゲームアプリケーションによっては、提供される仮想レーストラックが異なってもよいが、本願では、仮想レーストラックの具体的なスタイルを限定しない。
【0016】
2、仮想オブジェクト
仮想オブジェクトとは、アプリケーション上でユーザーアカウントによって制御される仮想キャラクターを意味する。アプリケーションがゲームアプリケーションである場合には、仮想オブジェクトとは、ゲームアプリケーション上でユーザーアカウントによって制御されるゲームキャラクターを意味する。仮想オブジェクトは、人間の形態であってもよく、動物、漫画のキャラクター、車などの形態であってもよいが、本願の実施形態では、これを限定しない。仮想オブジェクトは、3次元形態で示されてもよく、2次元形態で示されてもよいが、本願の実施形態では、これを限定しない。任意的に、仮想オブジェクトの存在する仮想環境が3次元の仮想環境である場合に、仮想オブジェクトは、3次元技術に基づいて作成された3次元の立体モデルであってもよい。仮想オブジェクトは、3次元の仮想環境内で独自の形状及び体積を持ち、3次元の仮想環境内の空間の一部を占める。
【0017】
レースゲームアプリケーションにおいて、ユーザーアカウントは、前進、ブレーキ、後退、右折、左折、加速、ドリフト、噴火、アイテムの使用、アイテムの交換などの操作を実行するように仮想オブジェクトを制御することができる。また、レースゲームアプリケーションにおいて、仮想オブジェクトは、仮想レーシングカー、仮想人物、仮想艦船、仮想航空機などであってもよいが、本願の実施形態では、これを限定しない。
もちろん、ゲームアプリケーション以外にも、ユーザーに仮想オブジェクトを提示し、仮想オブジェクトに対応する機能を提供することができる他のタイプのアプリケーションがある。例えば、AR(Augmented Reality、拡張現実)アプリケーション、ソーシャルアプリケーション、インタラクティブエンターテインメントアプリケーションなどが挙げられるが、本願の実施形態では、これを限定しない。また、アプリケーションによっては、提供される仮想オブジェクトの形態も異なり、対応する機能も異なり、実際のニーズに応じて予め配置しておくことができるが、本願の実施形態では、これを限定しない。
【0018】
図1には、本願の一実施形態により提供される実施環境の模式図が示されている。当該実施環境は、端末10と、サーバ20とを含んでもよい。
【0019】
端末10は、例えば、携帯電話、タブレットコンピュータ、ゲームコンソール、電子書籍リーダー、マルチメディア再生機器、ウェアラブル機器、PC(Personal Computer、パーソナルコンピュータ)などの電子機器であってもよい。端末10には、レースゲームアプリケーションのクライアントのようなゲームアプリケーションのクライアントがインストールされてもよい。
【0020】
サーバ20は、端末10におけるアプリケーション(例えば、ゲームアプリケーション)のクライアントにバックグラウンドサービスを提供するためのものである。例えば、サーバ20は、上記のアプリケーション(例えば、ゲームアプリケーション)のバックグラウンドサーバであってもよい。サーバ20は、1つのサーバであってもよく、複数のサーバからなるサーバクラスタ、又はクラウドコンピューティングサービスセンターであってもよい。
【0021】
端末10とサーバ20は、ネットワーク30を介して互いに通信することができる。当該ネットワーク30は、有線ネットワークであってもよく、無線ネットワークであってもよい。
【0022】
本願に係る方法の実施形態では、各ステップは端末によって実行されてもよい。図2には、本願の一実施形態により提供される端末の構造の模式図が示されている。当該端末10は、メインボード110、外部出力/入力機器120、メモリ130、外部インタフェース140、タッチシステム150及び電源160を含んでもよい。
【0023】
メインボード110には、プロセッサ及びコントローラなどの処理要素が組み込まれている。
【0024】
外部出力/入力機器120は、表示コンポーネント(例えば、ディスプレイスクリーン)、音声再生コンポーネント(例えば、スピーカー)、音声収集コンポーネント(例えば、マイクロフォン)及び各種のボタンやキーボード、マウスなどを含んでもよい。
【0025】
メモリ130には、プログラムコード及びデータが記憶されている。
【0026】
外部インタフェース140は、イヤホンインタフェース、充電インタフェース及びデータインタフェースなどを含んでもよい。
【0027】
タッチシステム150は、外部出力/入力機器120の表示コンポーネント又はボタンに組み込まれてもよい。タッチシステム150は、ユーザーが表示コンポーネント又はボタンに対して行うタッチ操作を検出するためのものである。
【0028】
電源160は、端末10における他の各部材に給電するためのものである。
【0029】
本願の実施形態では、メインボード110におけるプロセッサは、メモリに記憶されたプログラムコード及びデータを実行する又は呼び出すことによりユーザーインタフェース(例えば、ゲームインタフェース)を生成し、生成されたユーザーインタフェース(例えば、ゲームインタフェース)を外部出力/入力機器120を介して表示することができる。ユーザーインタフェース(例えば、ゲームインタフェース)の表示中に、タッチシステム150により、ユーザーがユーザーインタフェース(例えば、ゲームインタフェース)とのインタラクション時に行うタッチ操作を検出し、当該タッチ操作に応答することができる。
【0030】
図3には、本願の一実施形態により提供される仮想オブジェクトの移動制御方法のフローチャートが示されている。当該方法は、以上に説明された端末に適用可能であり、例えば、端末のアプリケーション(例えば、レースゲームアプリケーション)のクライアントに適用される。当該方法は、以下のいくつかのステップ(ステップ301~303)を含んでもよい。
【0031】
ステップ301において、第1のユーザーアカウントが第1の仮想オブジェクトを仮想シーンでレースするように制御する時に記録された、第1の仮想オブジェクトの移動軌跡を描くための第1の記録軌跡情報を取得する。
【0032】
仮想シーンは、ユーザーインタフェースに対応している。レースゲームアプリケーションの場合、ユーザーインタフェースは、レース試合の表示インタフェースであってもよく、当該ユーザーインタフェースは、ユーザーにレース試合の仮想シーンを提示するためのものであり、例えば、当該ユーザーインタフェースには、仮想レーストラック、仮想建物、仮想アイテム、仮想オブジェクトなどのような仮想環境内の要素が含まれてもよい。任意的に、当該ユーザーインタフェースには、ユーザーが仮想オブジェクトの移動を制御するように操作するために、ボタン、スライダ、アイコンなどのいくつかの操作コントロールがさらに含まれる。
【0033】
仮想オブジェクトは、人間の形態であってもよく、車、動物、漫画のキャラクターなどの形態であってもよい。例えば、レースゲームアプリケーションにおいて、当該レースゲームアプリケーションのレース形式がレーシングカーのレースである場合、仮想オブジェクトは、仮想レーシングカーの形態で提示される。
【0034】
本願の実施形態では、各仮想オブジェクトは、当該仮想オブジェクトの移動を制御するためのダイナミックモデルに対応している。異なる仮想オブジェクトは、同一のダイナミックモデルによって駆動されてもよく、異なるダイナミックモデルによって駆動されてもよい。ダイナミックモデルは、最高時速、ドリフト時間、最大ドリフト角度などのようないくつかの必要な性能パラメータに対応している。ダイナミックモデルの違いは、ダイナミックモデルに対応する性能パラメータの一部の違い、例えば、最高時速の違いであってもよく、ダイナミックモデルに対応する性能パラメータ全体の違いであってもよいが、本願の実施形態では、これを限定しない。
【0035】
第1の記録軌跡情報は、第1のユーザーアカウントが第1の仮想オブジェクトを仮想シーンでレースするように制御する時に記録された、第1の仮想オブジェクトの移動軌跡を描くためのものであり、サーバに記憶されてもよい。レースゲームアプリケーションの場合、ユーザーアカウントが仮想オブジェクトをレースするように制御している中で、当該ユーザーアカウントに対応するクライアントは、当該仮想オブジェクトの軌跡情報をリアルタイムに記録し、レースの終了後に、当該クライアントによって記録された軌跡情報は、サーバにアップロードされて記憶される。任意的に、ユーザーアカウントが仮想オブジェクトをレースするように制御している中で、当該ユーザーアカウントに対応するクライアントは、ビデオ録画も行い、レースの終了後に、当該クライアントは、録画されたビデオをサーバにアップロードして記憶する。なお、ビデオ録画は、対応するレース試合を鮮明に再現する一方で、クライアントの処理オーバーヘッドを増加させ、録画されたビデオをサーバに記憶することによって、ストレージリソースが過度に消費されてしまう。そのため、ビデオ録画を行うか否かは、実際の状況に応じて決定されるが、本願の実施形態では、これを限定しない。
【0036】
あるユーザーアカウントがレース試合の開始前に対戦モードを選択したが、レース試合で当該ユーザーアカウントによって制御される仮想オブジェクトにマッチする他のユーザーアカウントによって制御される仮想オブジェクトが足りない場合、又は、当該ユーザーアカウントがレース試合の開始前にマンマシンモードを選択した場合に、当該ユーザーアカウントに対応するクライアントは、サーバから一定数の記録軌跡情報を取得し、各記録軌跡情報は、仮想オブジェクトに対応するため、当該記録軌跡情報により、当該仮想オブジェクトのレース試合中の移動軌跡を描くことができる。ここで、対戦モードとは、当該ユーザーアカウントによって制御される仮想オブジェクトと他のユーザーアカウントによって制御される仮想オブジェクトがレースするモードを指し、マンマシンモードとは、当該ユーザーアカウントによって制御される仮想オブジェクトとコンピュータによって制御される仮想オブジェクトがレースするモードを指す。
【0037】
ステップ302において、第2のユーザーアカウントによって制御される第2の仮想オブジェクト及びコンピュータによって制御される第3の仮想オブジェクトを含むレース試合を示すためのレース試合インタフェースを表示する。
【0038】
レース試合インタフェースには、第2の仮想オブジェクト及び第3の仮想オブジェクトに加えて、他の仮想オブジェクトが含まれてもよく、他の仮想オブジェクトは、他のユーザーアカウントによって制御されるものであってもよく、コンピュータによって制御されるものであってもよいが、本願の実施形態では、これを限定しない。1つの可能な実施形態において、レース試合インタフェースに含まれる仮想オブジェクトの数は、ゲームの設定に応じて決定される。例えば、各レース試合で4つの仮想オブジェクトが同時にレースするようにゲームを設定する場合に、ユーザーアカウントによって制御される仮想オブジェクトは、レース試合で別の3つの仮想オブジェクトと同時にレースする。
【0039】
本願の実施形態では、レース試合の具体的なレース方式を限定しない。例えば、仮想オブジェクトが人間の形態である場合に、レース試合のレース方式としては、当該仮想オブジェクトが仮想レーストラックを走ることでレースの目的を達成してもよく、当該仮想オブジェクトが仮想レーストラック上を競歩することでレースの目的を達成してもよく、当該仮想オブジェクトが仮想レーストラック上を滑ることでレースの目的を達成してもよい。仮想オブジェクトがレーシングカーの形態である場合に、レース試合のレース方式としては、当該仮想オブジェクトが仮想レーストラック上を運転することでレースの目的を達成してもよい。
【0040】
本願の実施形態では、ユーザーアカウントによって制御される仮想オブジェクトとは、当該ユーザーアカウントの所有者によって制御される仮想オブジェクト、即ち、リアルユーザーによって制御される仮想オブジェクトを指す。コンピュータによって制御される仮想オブジェクトとは、端末におけるコンピュータプログラムによって制御される仮想オブジェクトを指す。任意的に、コンピュータによって制御される仮想オブジェクトは、AI仮想オブジェクト又はAIモデルと呼ばれてもよい。
【0041】
ステップ303において、レース試合において第1の記録軌跡情報により第3の仮想オブジェクトの移動を制御する。
【0042】
第1の記録軌跡情報は、第1の仮想オブジェクトが参加した履歴レース試合における移動軌跡を含み、当該履歴レース試合に対応する仮想シーンは、前記レース試合の仮想シーンと一致する。本願の実施形態では、仮想シーンの一致とは、2つの仮想シーンが完全に同じであることを意味してもよく、2つの仮想シーンにおける重要な表示要素が同じであることを意味してもよい。例えば、レースゲームアプリケーションにおいて、仮想シーンには、仮想レーストラック、仮想建物、仮想アイテムなどが含まれている。仮想レーストラックは、当該仮想シーンにおける最も重要な表示要素であるため、前記履歴レース試合に対応する仮想シーンと前記レース試合の仮想シーンとの一致とは、前記履歴レース試合の仮想シーンにおけるすべての表示要素と前記レース試合の仮想シーンにおけるすべての表示要素が同じであることを意味してもよく、前記履歴レース試合の仮想シーンにおける仮想レーストラックと前記仮想シーンにおける仮想レーストラックが同じであることを意味してもよい。
【0043】
第1の記録軌跡情報は、第1の仮想オブジェクトの移動軌跡を示すためのものであり、第1の仮想オブジェクトの移動軌跡は、第1のユーザーアカウントによって制御されたもの、即ち、第1のユーザーアカウントに対応するリアルユーザーによって制御されたものである。論理的意思決定技術による第3の仮想オブジェクトの移動制御では、第3の仮想オブジェクトのパフォーマンスがぎこちないという問題を引き起こす可能性があり、それに対して、第1の記録軌跡情報により第3の仮想オブジェクトの移動を制御することによって、第3の仮想オブジェクトの前記レース試合における移動軌跡を第1の仮想オブジェクトの前記履歴レース試合における移動軌跡と類似のものにすることができ、コンピュータによって制御される第3の仮想オブジェクトの移動がより鮮明でリアルになる。
【0044】
以上をまとめると、本願の実施形態により提供される技術方案は、記録軌跡情報を取得することで、当該記録軌跡情報に基づいてコンピュータによって制御される仮想オブジェクト(即ち、AIモデル)の移動制御を実現する。記録軌跡情報は、リアルユーザーが仮想オブジェクトをレースするように制御する時に記録された移動軌跡であるので、当該移動軌跡に沿って移動するようにAIモデルを制御すればよい。関連技術における論理的意思決定によるAIモデルの移動制御と比べて、計算量を大幅に削減し、端末の消費電力を低減させることができる。
【0045】
また、関連技術における論理的意思決定によるAIモデルの移動制御と比べて、本願の実施形態により提供される技術方案は、次の2つの技術的効果もある。まず、論理的意思決定によるAIモデルの移動制御では、例えば、頻繁なブレーキングや壁への衝突が発生するなど、AIモデルの画面パフォーマンスが比較的にぎこちないが、本願では、AIモデルは、リアルユーザーが仮想オブジェクトをレースするように制御する時に生成される移動軌跡に沿って移動するため、より自然で、より実情に即した画面パフォーマンスが可能となる。次に、論理的意思決定によるAIモデルの移動制御では、様々なレースレベルのAIモデル、特にレースレベルの高いAIモデルを提供することは困難であるが、本願では、様々なレースレベルのユーザーのレース中に生成される移動軌跡を取得することができるため、様々なレースレベルのAIモデルを提供でき、明らかにレースレベルの高いAIモデルも提供でき、これにより、ユーザーはより豊かで優れた適応体験を得ることができる。
【0046】
1つの可能な実施形態では、前記第1の記録軌跡情報は、第1の仮想オブジェクトのn個の位置点を含む(ただし、nが1よりも大きい整数である)。第1の記録軌跡情報により第3の仮想オブジェクトの移動を制御する前記ステップは、コンピュータによって制御され、レース試合インタフェースに表示されていない第4の仮想オブジェクトをダイナミックモデルの駆動によりn個の位置点に沿って移動するように制御するステップと、第4の仮想オブジェクトの移動軌跡により第3の仮想オブジェクトの移動軌跡を決定するステップと、第3の仮想オブジェクトの移動軌跡に沿って移動するように第3の仮想オブジェクトを制御するステップとを含む。
【0047】
第1の仮想オブジェクトのn個の位置点は、第1の仮想オブジェクトの履歴レース試合における移動軌跡上の位置点である。任意的に、当該位置点は、第1のユーザーアカウントに対応するクライアントが履歴レース試合からリアルタイムサンプリングにより取得したものである。任意的に、クライアントは、プリセット時間おきに1つの位置点を取得し、例えば、クライアントが0.1sおきに1つの位置点を取得する場合、履歴レース試合の時間が10sであれば、クライアントは、100個の位置点を取得する。任意的に、クライアントは、第1の仮想オブジェクトの各状態変化時点で1つの位置点を取得する。一例としては、履歴レース試合の0.5s~0.7sの間で、第1のユーザーアカウントが第1の仮想オブジェクトをドリフト操作を行うように制御する場合に、クライアントは、0.5s及び0.7sの時点でそれぞれ1つの位置点を取得する。別の例としては、履歴レース試合が0.9s行われた時に、第1のユーザーアカウントが第1の仮想オブジェクトを加速操作を行うように制御する場合に、クライアントは、0.9sの時点で1つの位置点を取得する。実際の応用では、位置点を取得するために、上記の2つの方式を別々に採用してもよく、これらを組み合わせて採用してもよい。
【0048】
例えば、図4に示すように、レース試合に対応する仮想シーン40における仮想レーストラック41のある部分には、位置点A、位置点B、位置点C及び位置点Dという4つの位置点42が含まれている。位置点A及び位置点Dは、クライアントが0.1sおきに1つの位置点を取得するように取得したものであり、位置点B及び位置点Cは、クライアントが第1の仮想オブジェクトの各状態変化時点で1つの位置点を取得するように取得したものであり、位置点Bにおいて、第1の仮想オブジェクトがドリフト操作を行い、位置点Cにおいて、第1の仮想オブジェクトが加速操作を行った。
【0049】
本願の実施形態では、第1の記録軌跡情報は、第1の仮想オブジェクトのn個の位置点に加えて、ドリフト、噴火、復位などのようなn個の位置点に対応する操作情報を含んでもよく、また、最高時速12m/s、ドリフト時間5秒、最大ドリフト角度60度などのようなn個の位置点に対応するダイナミックモデルの性能パラメータの具体的なデータを含んでもよいが、本願の実施形態では、これを限定しない。
【0050】
任意的に、第3の仮想オブジェクトの移動軌跡と第4の仮想オブジェクトの移動軌跡とを一致させるために、第4の仮想オブジェクトを駆動するダイナミックモデルと第3の仮想オブジェクトを駆動するダイナミックモデルを同じにする。例示的には、第4の仮想オブジェクトの移動軌跡と第1の仮想オブジェクトの移動軌跡とを一致させるために、第3の仮想オブジェクト及び第4の仮想オブジェクトを駆動するダイナミックモデルを、第1の仮想オブジェクトを駆動するダイナミックモデルにする。
【0051】
任意的に、第4の仮想オブジェクトのパフォーマンスをより鮮明にするとともに、第4の仮想オブジェクトの移動軌跡を迅速に修正可能であることを確保するために、第4の仮想オブジェクトをダイナミックモデルの駆動によりn個の位置点に沿って移動するように制御する前記ステップは、n個の位置点のうちのi番目の位置点に対して、ダイナミックモデルにより第4の仮想オブジェクトのi番目の位置点における状態情報に基づいてi+1番目の位置点へ移動するように第4の仮想オブジェクトを駆動する(ただし、iが正の整数である)ステップと、i+1番目の位置点に対応するタイムスタンプになった時に、第4の仮想オブジェクトがi+1番目の位置点に位置するか否かを検出するステップと、第4の仮想オブジェクトがi+1番目の位置点に位置しない場合に、i+1番目の位置点に瞬間移動するように第4の仮想オブジェクトを制御するステップとを含む。
【0052】
i番目の位置点とi+1番目の位置点との間の時間間隔が0.1sであると仮定すると、第4の仮想オブジェクトがi番目の位置点に移動する時に、第4の仮想オブジェクトを駆動するダイナミックモデルにより、当該i番目の位置点の状態情報に基づいて、0.1sの時間間隔内でi+1番目の位置点へ移動するように第4の仮想オブジェクトを制御することができる。第4の仮想オブジェクトを駆動するダイナミックモデルと第1の仮想オブジェクトを駆動するダイナミックモデルが同じであれば、第4の仮想オブジェクトの0.1sの時間間隔内での移動軌跡と第1の仮想オブジェクトの0.1sの時間間隔に対応する期間内での移動軌跡は一致する。クライアントの計算に一定の誤差があるため、0.1sの時間間隔が終了した時、即ち、i+1番目の位置点に対応するタイムスタンプになった時に、第4の仮想オブジェクトは、必ずしもi+1番目の位置点に位置するとは限らず、この場合に、第4の仮想オブジェクトの移動軌跡を修正し、即ち、第4の仮想オブジェクトを現在の位置からi+1番目の位置点に瞬間移動するように制御する必要がある。i+1番目の位置点に対応するタイムスタンプになった時に、第4の仮想オブジェクトがi+1番目の位置点に位置する場合に、第4の仮想オブジェクトの移動軌跡を修正する必要がない。
【0053】
例えば、図5に示すように、レース試合に対応する仮想シーン50における仮想レーストラック51のある部分には、位置点A及び位置点Bという2つの位置点52が含まれている。位置点Aは、第1の仮想オブジェクトのi番目の位置点であり、位置点Bは、第1の仮想オブジェクトのi+1番目の位置点である。仮想シーン50には、コンピュータによって制御され、仮想シーン50に表示されていない第4の仮想オブジェクト53がさらに含まれる。第4の仮想オブジェクト53が位置点Aに移動する時に、位置点Aにおける状態情報を取得し、次いで、第4の仮想オブジェクト53を駆動するダイナミックモデルにより、当該状態情報に従って移動するように第4の仮想オブジェクト53を制御する。仮想シーン50における移動軌跡54は、第4の仮想オブジェクト53の位置点Aから位置点Bまでの間の移動軌跡である。i+1番目の位置点に対応するタイムスタンプがレース試合の0.18sであると仮定すると、0.18sになった時に、移動軌跡54の終点が位置点Bに位置していない場合に、当該移動軌跡54の終点から位置点Bに瞬間移動するように第4の仮想オブジェクト53を制御して移動軌跡55を形成する。移動軌跡54と移動軌跡55の組合せは、第4の仮想オブジェクト53の位置点Aと位置点Bとの間の移動軌跡を構成する。仮想シーン50には、第3の仮想オブジェクト56がさらに含まれ、当該第3の仮想オブジェクト56の移動軌跡は、第4の仮想オブジェクト53の移動軌跡により決定される。
【0054】
任意的に、第3の仮想オブジェクトの移動軌跡と第4の仮想オブジェクトの移動軌跡を一致させるとともに、第3の仮想オブジェクトのパフォーマンスがよりリアルで鮮明になることを確保するために、第4の仮想オブジェクトの移動軌跡により第3の仮想オブジェクトの移動軌跡を決定する前記ステップは、第4の仮想オブジェクトのi番目の位置点からi+1番目の位置点までの間の移動軌跡から、i番目の位置点とi+1番目の位置点との間にあるk個の位置点をサンプリングにより取得する(ただし、iが正の整数であり、kが正の整数である)ステップと、i番目の位置点、k個の位置点及びi+1番目の位置点により、第3の仮想オブジェクトのi番目の位置点からi+1番目の位置点までの間の移動軌跡を決定するステップとを含む。
【0055】
本願の実施形態では、i番目の位置点とi+1番目の位置点との間で、k個の位置点をサンプリングにより取得することは、線形補間技術により実現することができる。例えば、図6に示すように、レース試合に対応する仮想シーン60における仮想レーストラック61のある部分には、第1の仮想オブジェクトのi番目の位置点である位置点A、及び第1の仮想オブジェクトのi+1番目の位置点である位置点Bが含まれている。線形補間技術により、第4の仮想オブジェクトの移動軌跡に基づいて、位置点Aと位置点Bとの間で位置点1、位置点2及び位置点3という3つの位置点を取得することができ、この場合に、第3の仮想オブジェクトの移動軌跡は、位置点A、位置点1、位置点2、位置点3及び位置点Bを順番に通過する。
【0056】
本願の実施形態では、kの具体的な値は、実際の応用状況に応じて設定することができる。実際の応用では、kの値が大きいほど、即ち、第3の仮想オブジェクトの位置点の数が多いほど、それに応じて、第3の仮想オブジェクトの移動軌跡は、滑らかで自然になる。しかし、kの値が大きいほど、対応する計算・処理オーバーヘッドも大きくなり、端末に余分な処理負荷を与えてしまう。このため、実際の応用では、移動軌跡の滑らかさの要求と端末の処理オーバーヘッドの両方を総合的に考慮してkの具体的な値を決定することができる。
【0057】
いくつかの実施形態では、k個の位置点のうちの、それぞれの隣接する2つの位置点の間の距離は、等しい。ここで、それぞれの隣接する2つの位置点の間の距離は、それぞれの隣接する2つの位置点の間の直線距離であってもよく、それぞれの隣接する2つの位置点の間の移動軌跡の距離であってもよい。別のいくつかの実施形態では、隣接する2つの位置点の間の距離は、異なってもよい。例えば、i番目の位置点とi+1番目の位置点との間の移動軌跡において、曲率が大きい部分ほど、その軌跡に含まれる位置点が多くなり、曲率が小さい部分ほど、その軌跡に含まれる位置点が少なくなる。任意的に、i番目の位置点とi+1番目の位置点との間の移動軌跡のうちの線分形状の一部の移動軌跡には、それぞれ線分の2つの端点に位置する2つの位置点のみが含まれる。
【0058】
以上をまとめると、本願の実施形態により提供される技術方案は、第1のレース録画の軌跡情報に第1の仮想オブジェクトのn個の位置点が含まれ、当該n個の位置点により第4の仮想オブジェクトの移動を制御することによって、第1の仮想オブジェクトに似た移動軌跡を実現する。また、レース試合で第2のユーザーアカウントによって制御される第2の仮想オブジェクトとレースする第3の仮想オブジェクトの移動軌跡は、第4の仮想オブジェクトの移動軌跡により取得されたものであるため、第4の仮想オブジェクトの移動軌跡を滑らかにするという目的を実現し、第3の仮想オブジェクトのパフォーマンスがより鮮明でリアルになり、ユーザーのニーズをより一層満たし、マンマシンインタラクション体験を向上させた。
【0059】
1つの可能な実施形態では、第1の記録軌跡情報を取得する前記ステップは、第2のユーザーアカウントの能力値を取得するステップと、第2のユーザーアカウントの能力値を含む情報取得要求をサーバに送信するステップと、サーバから送信された第2のユーザーアカウントの能力値にマッチする少なくとも1つの記録軌跡情報を受信するステップと、少なくとも1つの記録軌跡情報から第1の記録軌跡情報を選択するステップとを含む。
【0060】
能力値は、仮想オブジェクトのレース能力を示すためのものであり、例えば、仮想オブジェクトがレーシングカーの形態である場合に、能力値は、当該仮想レーシングカーがレース試合で他の仮想レーシングカーとレースする能力を示すためのものである。任意的に、能力値は、仮想オブジェクトのレース試合における完了時間から算出されたものであり、例示的には、能力値は、仮想オブジェクトのレース試合における完了時間と負の相関関係があり、即ち、完了時間が短いほど、能力値が大きくなり、完了時間が長いほど、能力値が小さくなる。
【0061】
本願の実施形態では、サーバには、仮想オブジェクトのレース試合におけるレース録画及び軌跡情報を含むデータベースが保持されている。サーバには、プリセットされたマッチルールが配置されており、即ち、サーバが第2のユーザーアカウントの能力値を含む録画取得要求を受信すると、プリセットされたマッチルールに従って当該能力値にマッチする能力値範囲を算出し、次いで、クライアントは、サーバに保持されたデータベースから当該能力値範囲に対応する記録軌跡情報をダウンロードする。
【0062】
任意的に、サーバに配置されたマッチルールは、能力値及び能力値の補正係数から構成される。一例では、能力値の補正係数は、レース試合の失敗回数であってもよい。任意的に、サーバに配置されたマッチルールは、第2のユーザーアカウントの能力値の補正係数がプリセット閾値よりも大きい場合に、第2のユーザーアカウントの能力値以下の範囲で当該能力値にマッチする能力値範囲を算出することと、第2のユーザーアカウントの能力値の補正係数がプリセット閾値よりも小さい場合に、第2のユーザーアカウントの能力値以上の範囲で当該能力値にマッチする能力値範囲を算出することと、第2のユーザーアカウントの能力値の補正係数がプリセット閾値と等しい場合に、第2のユーザーアカウントの能力値の前後の範囲で当該能力値にマッチする能力値範囲を算出することとを含む。例えば、サーバが受信した録画取得要求に含まれる第2のユーザーアカウントの能力値が120で、プリセット閾値が100である場合、第2のユーザーアカウントの能力値の補正係数が120であると、サーバがマッチルールに従って算出した能力値範囲は100~110である。第2のユーザーアカウントの能力値の補正係数が80であると、サーバがマッチルールに従って算出した能力値範囲は130~140である。第2のユーザーアカウントの能力値の補正係数が100であると、サーバがマッチルールに従って算出した能力値範囲は110~130である。
【0063】
クライアントが、サーバによりマッチした能力値範囲を受信したら、当該能力値範囲に基づいて、サーバから当該能力値範囲に対応する記録軌跡情報をダウンロードする。当該記録軌跡情報の数は、少なくとも1つである。任意的に、クライアントは、ダウンロードされた少なくとも1つの軌跡情報から第1のレース録画の軌跡情報を乱択アルゴリズムで選択する。
【0064】
以上をまとめると、本願の実施形態により提供される技術方案は、ユーザーアカウントの能力値に応じてマッチにより少なくとも1つの記録軌跡情報を取得してから、当該少なくとも1つの記録軌跡情報から必要な記録軌跡情報を選択することによって、ユーザーアカウントの能力値に応じた記録軌跡情報を正確なマッチにより取得することが可能となり、ユーザーアカウントにその能力にマッチするレース対戦相手を提供できる。また、本願の実施形態は、様々な能力のユーザーにその能力にマッチする記録軌跡情報を提供することができ、よって、ユーザーはその能力にマッチする相手とレース試合を行うことができる。
【0065】
1つの可能な実施形態では、リアルユーザーが仮想オブジェクトを制御する時のレース状況にさらに近づけるために、前記方法は、レース試合中に第3の仮想オブジェクトに異常状況が発生した場合に、当該異常状況により第3の仮想オブジェクトを自由パフォーマンス状態に入るように制御するステップと、自由パフォーマンス状態が終了したら、第1の記録軌跡情報により第3の仮想オブジェクトの移動を制御し続けるステップとをさらに含む。
【0066】
異常状況とは、第3の仮想オブジェクトのレース試合中の予期できない状況を指し、例えば、異常状況には、衝突、水中への落下、仮想アイテムの打撃などが含まれるが、本願の実施形態では、これを限定しない。自由パフォーマンス状態とは、第3の仮想オブジェクトが異常状況に遭遇した時に行う必要なパフォーマンスを意味し、クライアントの基礎的動的論理は、様々な異常状況に応じて第3の仮想オブジェクトを様々な自由パフォーマンスを行うように制御する。一例としては、第3の仮想オブジェクトが衝突した場合に、クライアントは、第3の仮想オブジェクトが受けた衝撃力、重力、摩擦力などの情報に応じて、基礎的動的論理により第3の仮想オブジェクトの自由パフォーマンス状態(たとえば、一定の距離後退する)を算出する。別の例としては、第3の仮想オブジェクトが仮想アイテムに打ち当てられた場合に、クライアントは、第3の仮想オブジェクトが受けた衝撃力の大きさ、方向などの情報に応じて、基礎的動的論理により第3の仮想オブジェクトの自由パフォーマンス状態(たとえば、一定の角度と方向で仮想アイテムによって空中に打たれた後に着地する)を算出する。また別の例としては、第3の仮想オブジェクトが水に落ちた場合に、クライアントは、第3の仮想オブジェクトと川岸との間の距離及び川水の深さなどの情報に応じて、基礎的動的論理により第3の仮想オブジェクトの自由パフォーマンス状態(たとえば、必死に川の中から川岸に移動した後にレーストラックに戻る)を算出する。本願の実施形態では、異常状況によっては、対応する自由パフォーマンスの時間は、異なることがあり、例えば、衝突した場合の自由パフォーマンスの時間は、水に落ちた場合の自由パフォーマンスの時間よりも短いことがある。同じ異常状況は、異常の度合いによっては、それに対応する自由パフォーマンスの時間が異なることもあり、例えば、軽く衝突した場合の自由パフォーマンスの時間は、ひどく衝突した場合の自由パフォーマンスの時間よりも短い。
【0067】
任意的に、前記第1の記録軌跡情報は、第1の仮想オブジェクトのn個の位置点を含む(ただし、nが1よりも大きい整数である)。第1の記録軌跡情報により第3の仮想オブジェクトの移動を制御し続ける前記ステップは、第3の仮想オブジェクトを自由パフォーマンス状態の終了時の位置点からn個の位置点のうちの目標位置点、即ち、第3の仮想オブジェクトが通過していない位置点のうちの自由パフォーマンス状態の終了時の位置点に最も近い位置点に移動するように制御するステップと、目標位置点から移動し続けるように第3の仮想オブジェクトを制御するステップとを含む。
【0068】
第3の仮想オブジェクトは、自由パフォーマンス状態の終了時の位置点からn個の位置点のうちの目標位置点に移動している中で、自動運転状態にある。任意的に、第3の仮想オブジェクトの自動運転には、2つの制御方式がある。即ち、第3の仮想オブジェクトを自由パフォーマンス状態の終了時の位置点からn個の位置点のうちの目標位置点に移動するように制御する前記ステップは、第3の仮想オブジェクトと目標位置点との間の角度、及び第3の仮想オブジェクトの向きを検出するステップと、向き及び角度により、目標位置点に移動するように第3の仮想オブジェクトを制御するステップとを含むか、或いは、第3の仮想オブジェクトの現在の状態を取得するステップと、現在の状態に基づいて、第3の仮想オブジェクトを目標位置点に移動するようにビヘイビアツリーにより制御するステップとを含む。
【0069】
ビヘイビアツリーは、形式化されたグラフィカルモデリング言語であり、本願の実施形態で言うビヘイビアツリーは、決定木に比較的に近い。決定木は、確率分析を直観的に活用した図解法であり、通常、決定点、状態ノード及び結果ノードから構成される。決定点は、いくつかの可能な方案の選択であり、状態ノードは、代替方案の期待値を表す。本願の実施形態では、ビヘイビアツリーは、大量のビヘイビアトレーニングにより得られたものであり、当該ビヘイビアツリーにより、仮想オブジェクトの現在状態に基づいて迅速に決定を下し、当該決定により仮想オブジェクトの移動を制御することができる。
【0070】
例えば、図7に示すように、レース試合に対応する仮想シーン70における仮想レーストラック71のある部分には、第3の仮想オブジェクト72及び障害物73が含まれており、第3の仮想オブジェクト72の障害物73に衝突する前の移動軌跡は移動軌跡74である。第3の仮想オブジェクト72が移動中に障害物73に衝突した場合に、当該第3の仮想オブジェクト72は、自由パフォーマンス状態、即ち、第4の仮想オブジェクトの移動軌跡により制御されない状態に入る。第3の仮想オブジェクト72が障害物73に衝突した場合に、クライアントは、第3の仮想オブジェクト72が受けた衝撃力の大きさ、方向などの情報により第3の仮想オブジェクト72の移動方向及び移動速度などの情報を算出し、次いで、コンピュータは、当該情報により第3の仮想オブジェクト72を自由パフォーマンス状態に入るように制御する。第3の仮想オブジェクト72の自由パフォーマンス状態での移動軌跡は、移動軌跡75である。自由パフォーマンス状態の終了時に、第3の仮想オブジェクト72が位置点Aに位置し、目標位置点が位置点Bに位置し、この場合に、自動運転により位置点Aから位置点Bに移動するように第3の仮想オブジェクト72を制御し、移動軌跡76を形成する。移動軌跡75と移動軌跡76の組合せは、第3の仮想オブジェクト72の、異常状況の発生から第1の記録軌跡情報による制御の継続までの移動軌跡を構成する。
【0071】
本願の実施形態では、第3の仮想オブジェクトが自由パフォーマンス状態に入ると、第1の記録軌跡情報の再生が一時停止され、自動運転状態が終了すると、当該記録軌跡情報の再生が継続される。例えば、第3の仮想オブジェクトは、第1の記録軌跡情報が0.5sまで再生された時に異常状態に入った場合に、当該記録軌跡情報の再生が0.5sの時点で一時停止され、第3の仮想オブジェクトの自由パフォーマンス後の自動運転状態が終了した後に、即ち、第3の仮想オブジェクトが目標位置点に移動した時に、当該記録軌跡情報の再生が0.5sの時点から継続され、第3の仮想オブジェクトの移動を制御する。
【0072】
以上をまとめると、本願の実施形態により提供される技術方案は、仮想オブジェクトがレース中に異常状況が発生した場合に必要な自由パフォーマンスを行うことができるような異常状況の処理メカニズムを追加することにより、レース試合のパフォーマンス状況が、リアルユーザーが仮想オブジェクトを制御する場合のパフォーマンス状況により一層一致するようになる。また、自由パフォーマンスの終了後に仮想オブジェクトを目標位置点に移動するように制御した後に、第1の記録軌跡情報を使用して仮想オブジェクトの移動を制御し続けることによって、仮想オブジェクトのパフォーマンスがより協調的で一貫性のあるものになる。
【0073】
1つの可能な実施形態では、第3の仮想オブジェクトと第2の仮想オブジェクトが常にレース状態にあることを確保し、ユーザーのニーズをより良好に満たすために、第1の記録軌跡情報により第3の仮想オブジェクトの移動を制御する前記ステップの後に、第2の仮想オブジェクトと第3の仮想オブジェクトとの位置関係が第1のプリセット条件を満たすか否かを検出するステップと、当該位置関係が第1のプリセット条件を満たしている場合に、第1の記録軌跡情報と異なる別の記録軌跡情報である第2の記録軌跡情報を取得するステップと、レース試合において第2の記録軌跡情報により第3の仮想オブジェクトの移動を制御するステップとをさらに含む。
【0074】
第2の記録軌跡情報と第1の記録軌跡情報は、スコアが異なってもよく、収集方式が異なってもよい。本願の実施形態では、記録軌跡情報の収集方式には、自動収集と手動収集の2つの方式が含まれる。自動収集とは、クライアントがレース試合の終了後に記録軌跡情報を自動的に保存し、記録軌跡情報のスコアに応じて選択的にサーバにアップロードすることを意味する。手動収集とは、特定のユーザーアカウントを使用して、内部のゲームバージョンで特定のレーストラック上をレースし、当該レース試合に対応する記録軌跡情報をサーバにアップロードすることを意味する。手動収集は、比較的に時間と労力がかかるため、手動収集された記録軌跡情報は、一般的に、能力値の高いユーザーやレーストラックが複雑なレース試合を対象とするものであり、即ち、一般的に、ゲーム上級者のゲーム録画として用いられる。
【0075】
例示的には、第2の記録軌跡情報と第1の記録軌跡情報のスコアが異なる場合に、第2の記録軌跡情報を取得する前記ステップは、第2の仮想オブジェクトの位置が第3の仮想オブジェクトの位置よりも前にあり、かつ先行した距離が第1の閾値よりも大きい場合に、第1の記録軌跡情報よりもスコアが高い他の記録軌跡情報から第2の記録軌跡情報を選択するステップと、第2の仮想オブジェクトの位置が第3の仮想オブジェクトの位置よりも後ろにあり、かつ後れた距離が第2の閾値よりも大きい場合に、第1の記録軌跡情報よりもスコアが低い他の記録軌跡情報から第2の記録軌跡情報を選択するステップとを含む。
【0076】
例えば、第1の閾値が8mで、第2の閾値が7mであると仮定すると、第2の仮想オブジェクトの位置が第3の仮想オブジェクトの位置よりも10m前にありかつ第1の記録軌跡情報のスコアが80点である場合に、スコアが80点よりも高い他の記録軌跡情報から第2の記録軌跡情報を選択する。第2の仮想オブジェクトの位置が第3の仮想オブジェクトの位置よりも8m後ろにあり、かつ第1の記録軌跡情報のスコアが80点である場合に、スコアが80点よりも低い他の記録軌跡情報から第2の記録軌跡情報を選択する。
【0077】
例示的には、第2の記録軌跡情報と第1の記録軌跡情報の収集方式が異なる場合に、第2の記録軌跡情報を取得する前記ステップは、第2の仮想オブジェクトの位置が第3の仮想オブジェクトの位置よりも前にあり、かつ先行した距離が第1の閾値よりも大きく、第1の記録軌跡情報が自動収集されたレース録画である場合に、手動収集された記録軌跡情報から第2の記録軌跡情報を選択するステップと、第2の仮想オブジェクトの位置が第3の仮想オブジェクトの位置よりも後ろにあり、かつ後れた距離が第2の閾値よりも大きく、第1の記録軌跡情報が手動収集された記録軌跡情報である場合に、自動収集された記録軌跡情報から第2の記録軌跡情報を選択するステップとを含む。
【0078】
例えば、第1の閾値が8mで、第2の閾値が7mであると仮定すると、第2の仮想オブジェクトの位置が第3の仮想オブジェクトの位置よりも10m前にあり、第1の記録軌跡情報が自動収集された記録軌跡情報である場合に、手動収集された記録軌跡情報から第2の記録軌跡情報を選択し、第2の仮想オブジェクトの位置が第3の仮想オブジェクトの位置よりも8m後ろにあり、第1の記録軌跡情報が手動収集された記録軌跡情報である場合に、自動収集された記録軌跡情報から第2の記録軌跡情報を選択する。
【0079】
本願の実施形態では、第1の閾値と第2の閾値は、同じ値であってもよく、異なる値であってもよいが、本願の実施形態では、これを限定しない。
【0080】
以上をまとめると、本願の実施形態により提供される技術方案は、ユーザーアカウントによって制御される仮想オブジェクトとコンピュータによって制御される仮想オブジェクトとの位置関係が第1のプリセット条件を満たすか否かを検出し、次いで、検出結果によりコンピュータによって制御される仮想オブジェクトの移動軌跡の記録軌跡情報を別の記録軌跡情報に交換するか否かを決定することにより、コンピュータによって制御される仮想オブジェクトとユーザーアカウントによって制御される仮想オブジェクトが常にレース状態にあることを確保し、コンピュータによって制御される仮想オブジェクトの位置がユーザーアカウントによって制御される仮想オブジェクトの位置よりもはるかに前又は後ろにあることを回避し、ユーザーにより激しいゲームレース体験を提供する。
【0081】
1つの可能な実施形態では、前記方法は、レース試合において第2の仮想オブジェクトの軌跡情報を記録するステップと、第2の仮想オブジェクトの軌跡情報により当該軌跡情報が第2のプリセット条件を満たすか否かを判断するステップと、当該軌跡情報が第2のプリセット条件を満たしている場合に、当該軌跡情報をサーバにアップロードするステップとをさらに含む。
【0082】
本願の実施形態では、サーバに保持されたデータベース内の記録軌跡情報は、特定の分類ルールに従って分類されて記憶される。例えば、データベース内の記録軌跡情報は、異なるレーストラックに応じて分類されて記憶される。データベース内の各カテゴリーにおける記録軌跡情報の必要な充填数は、同じであってもよく、異なってもよい。任意的に、サーバは、レーストラックの難易度に応じて異なるレーストラックカテゴリーにおける記録軌跡情報の必要な充填数を決定する。例えば、シンプルなレーストラックAの場合、サーバから要求される記録軌跡情報の充填数は10個であるが、複雑なレーストラックBの場合、サーバから要求される記録軌跡情報の充填数は20個である。
【0083】
任意的に、クライアントのオーバーヘッド及びサーバのストレージスペースを節約するために、サーバに保持されたデータベース内の記録軌跡情報の数が不十分である場合にのみ、クライアントは、第2の仮想オブジェクトの軌跡情報を記録し、スコアが第2のプリセット条件を満たす軌跡情報をサーバにアップロードする。例示的には、サーバに保持されたデータベース内のあるカテゴリーにおける記録軌跡情報の数が必要な充填数に達していない場合に、サーバは、記録軌跡情報の不足数を含む記録命令をクライアントに送信し、クライアントは、記録命令を受信したら、第2の仮想オブジェクトの軌跡情報の記録を開始し、当該軌跡情報をサーバにアップロードする。
【0084】
任意的に、前記第2のプリセット条件は、第2の仮想オブジェクトの逆方向での移動距離が距離の閾値以下である条件、第2の仮想オブジェクトのその場に留まる時間が第1の時間の閾値以下である条件、第2のユーザーアカウントのハングアップ時間が第2の時間の閾値以下である条件のうちの少なくとも1つを含む。
【0085】
逆方向での移動とは、第2の仮想オブジェクトの移動方向がレーストラックの方向と逆であることを意味する。第2の仮想オブジェクトの移動方向がレーストラックの方向と逆である場合に、逆方向での移動距離を記録する。一例では、クライアントに記録されたレース試合における逆方向での移動の最大距離が距離の閾値以下であると、第2の仮想オブジェクトに対応する軌跡情報が第2のプリセット条件を満たしていることが確認される。別の例では、クライアントに記録されたレース試合における逆方向での移動の距離全体が距離の閾値以下であると、第2の仮想オブジェクトに対応する軌跡情報が第2のプリセット条件を満たしていることが確認される。任意的に、クライアントは、それぞれの2つの位置点を結ぶ線のレーストラックにおける方向により、第2の仮想オブジェクトが逆方向で移動する状態にあるか否かを判断する。
【0086】
その場に留まるとは、第2の仮想オブジェクトがプリセット時間内にプリセット範囲外に移動しないことを意味する。任意的に、プリセット時間とは、第1の仮想オブジェクトがi番目の位置点からi+1番目の位置点に移動するのにかかる時間を指し、ただし、iは正の整数である。プリセット範囲とは、i番目の位置点からi+1番目の位置点までの間のレーストラック範囲を指す。一例では、クライアントに記録されたレース試合におけるその場に留まる最大時間が第1の時間の閾値以下であると、第2の仮想オブジェクトに対応する軌跡情報が第2のプリセット条件を満たしていることが確認される。別の例では、クライアントに記録されたレース試合におけるその場に留まる時間全体が第1の時間の閾値以下であると、第2の仮想オブジェクトに対応する軌跡情報が第2のプリセット条件を満たしていることが確認される。
【0087】
ハングアップ時間とは、第2のユーザーアカウントに対応するクライアントの入力データがゼロである時間を指す。任意的に、クライアントは、ある位置点に入力データがないと検出した場合に、入力データがゼロである時間を記録し始め、ある位置点で入力データが取得されるまで記録を停止する。一例では、クライアントに記録されたレース試合におけるハングアップ時間の最大値が第2の時間の閾値以下であると、第2の仮想オブジェクトに対応する軌跡情報が第2のプリセット条件を満たしていることが確認される。別の例では、クライアントに記録されたレース試合におけるハングアップ時間の積算値が第2の時間の閾値以下であると、第2の仮想オブジェクトに対応する軌跡情報が第2のプリセット条件を満たしていることが確認される。
【0088】
以上をまとめると、本願の実施形態により提供される技術方案は、第2のプリセット条件を満たす仮想オブジェクトに対応する軌跡情報を選別し、サーバにアップロードすることによって、サーバの記録負荷が軽減される。また、本願の実施形態では、サーバに記憶されたデータベース内の記録軌跡情報が不十分である場合にのみ、仮想オブジェクトの軌跡情報を記録するようにクライアントに通知するため、クライアントの処理オーバーヘッドが低減される。
【0089】
1つの可能な実施形態では、位置点又は記録軌跡情報に存在する問題を発見して解決するために、サーバに接続されているコンピュータ装置は、テストツール及びデバッグツールにより記録軌跡情報を分析することができる。
【0090】
任意的に、前記テストツール及びデバッグツールは、記録軌跡情報を可視化するための録画可視化ツールを含む。クライアントが第2の仮想オブジェクトの軌跡情報及びレース録画を記録する際に、多くの位置点及びそれらに対応するデータ情報を記録したので、録画可視化ツールにより、レース試合に対応するレーストラックをコンピュータ装置にロードすることが可能となり、その後、当該レーストラックにおいて線及び点で当該データ情報を示すことによって、記録軌跡情報をプリントアウトして深く分析することが容易になり、位置点の欠落などの位置点に存在する問題を素早く発見するという目的を実現でき、問題の解決方案を迅速に決定することができる。
【0091】
例えば、図8に示すように、ユーザーインタフェース80は、コンピュータ装置に表示されており、当該ユーザーインタフェース80は、仮想シーンに対応しており、仮想シーンには、仮想レーストラック81、位置点82、第3の仮想オブジェクト83が表示されている。コンピュータ装置に録画可視化ツールが備えられたので、コンピュータ装置に表示されるユーザーインタフェース80において、重要なデータ情報は、線又は点で示される。例えば、位置点82は全てピリオドで示され、第3の仮想オブジェクトの自動運転の目標位置点82は太い実線でマークされ、第3の仮想オブジェクトの異常状況の発生によって使用されていない2つの位置点82を結ぶ線は、細い破線でマークされる。
【0092】
任意的に、前記テストツール及びデバッグツールは、正確リプレイツールを含む。プログラムログでは、レース試合で第2のユーザーアカウントによって制御される仮想オブジェクトにマッチした記録軌跡情報の各々は、IDで示すことが可能な一意の識別子を持つ。コンピュータ装置は、1つまたは複数の識別子をサーバに送信し、サーバは、当該識別子を受信したら、当該コンピュータ装置のレース試合において、強制的なマッチにより当該識別子に対応する記録軌跡情報を取得し、レース試合の正確なリプレイ、仮想オブジェクトの移動軌跡の再現を実現し、これによって、位置点の欠落などのような位置点に存在する問題を発見して解決する。
【0093】
任意的に、前記テストツール及びデバッグツールは、バッチ分析ツールを含む。サーバは、記憶したデータベースを圧縮ファイルとしてエクスポートすることができる。コンピュータ装置に対応するバッチ分析ツールは、当該圧縮ファイル内の全ての記録軌跡情報を解析でき、また、プリセットされた解凍・解析ルールにより記録軌跡情報に対応する位置点情報を解析することができ、ワークシートとしてエクスポートすることができる。よって、全ての位置点における初期位置点が一致しておらず、記録軌跡情報におけるダイナミックモデルが古すぎるなどの位置点又は記録軌跡情報の問題を発見して分析し、迅速に解決することが容易になる。
【0094】
本願の実施形態では、コンピュータ装置は、前記テストツール及びデバッグツールを別々に使用して記録軌跡情報を分析してもよく、前記テストツール及びデバッグツールを組み合わせて使用して記録軌跡情報を分析してもよいが、本願の実施形態では、これを限定しない。
【0095】
以上をまとめると、本願の実施形態により提供される技術方案は、特定のテストツール及びデバッグツールにより、サーバに接続されているコンピュータ装置内における記録軌跡情報の分析という目的を達成し、位置点及び/又は記録軌跡情報に存在する問題を迅速に発見し、位置点を正確に位置決めすることが容易になり、仮想オブジェクトの移動制御方法の体系をさらに改善した。
【0096】
1つの可能な実施形態では、図9に示すように、本願の実施形態により提供される仮想オブジェクトの移動制御方法は、
第1のクライアントに対応して、レース試合の終了後に、記録軌跡情報が第2のプリセット条件を満たすか否かを検出し、第2のプリセット条件を満たしている場合に、記録軌跡情報をサーバのデータベースにアップロードするステップ901と、
第2のクライアントに対応して、レース試合の開始前に、能力値リストに従ってサーバのデータベースから記録軌跡情報をダウンロードするステップ902と、を含んでもよい。
【0097】
以下に、本願に係る方法を実行するために使用可能な本願に係る装置の実施形態を説明する。本願に係る装置の実施形態に記載されていない細部について、本願に係る方法の実施形態を参照されたい。
【0098】
図10には、本願の一実施形態により提供される仮想オブジェクトの移動制御装置のブロック図が示されている。当該装置は、前記方法の例を実現する機能を有し、前記機能は、ハードウェアにより実現されてもよく、ハードウェアが対応するソフトウェアを実行することにより実現されてもよい。当該装置は、端末であってもよく、端末に設けられてもよい。当該装置100は、情報取得モジュール101、インタフェース表示モジュール102及び移動制御モジュール103を含んでもよい。
【0099】
情報取得モジュール101は、第1のユーザーアカウントが第1の仮想オブジェクトを仮想シーンでレースするように制御する時に記録された、前記第1の仮想オブジェクトの移動軌跡を描くための第1の記録軌跡情報を取得するためのものである。
【0100】
インタフェース表示モジュール102は、第2のユーザーアカウントによって制御される第2の仮想オブジェクト及びコンピュータによって制御される第3の仮想オブジェクトを含むレース試合を示すためのレース試合インタフェースを表示するためのものである。
【0101】
移動制御モジュール103は、前記レース試合において前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御するためのものである。
【0102】
例示的な実施形態では、前記第1のレース録画の軌跡情報は、前記第1の仮想オブジェクトのn個の位置点を含む(ただし、前記nが1よりも大きい整数である)。前記移動制御モジュール103は、前記コンピュータによって制御され、前記レース試合インタフェースに表示されていない第4の仮想オブジェクトをダイナミックモデルの駆動により前記n個の位置点に沿って移動するように制御し、前記第4の仮想オブジェクトの移動軌跡により前記第3の仮想オブジェクトの移動軌跡を決定し、前記第3の仮想オブジェクトの移動軌跡に沿って移動するように前記第3の仮想オブジェクトを制御するためのものでもある。
【0103】
例示的な実施形態では、前記移動制御モジュール103は、前記n個の位置点のうちのi番目の位置点に対して、前記ダイナミックモデルにより前記第4の仮想オブジェクトの前記i番目の位置点における状態情報に基づいてi+1番目の位置点へ移動するように前記第4の仮想オブジェクトを駆動し(ただし、前記iが正の整数である)、前記i+1番目の位置点に対応するタイムスタンプになった時に、前記第4の仮想オブジェクトが前記i+1番目の位置点に位置するか否かを検出し、前記第4の仮想オブジェクトが前記i+1番目の位置点に位置しない場合に、前記i+1番目の位置点に瞬間移動するように前記第4の仮想オブジェクトを制御するためのものでもある。
【0104】
例示的な実施形態では、前記移動制御モジュール103は、前記第4の仮想オブジェクトのi番目の位置点からi+1番目の位置点までの間の移動軌跡から、前記i番目の位置点と前記i+1番目の位置点との間にあるk個の位置点をサンプリングにより取得し(ただし、前記iが正の整数であり、前記kが正の整数である)、前記i番目の位置点、前記k個の位置点及び前記i+1番目の位置点により、前記第3の仮想オブジェクトの前記i番目の位置点から前記i+1番目の位置点までの間の移動軌跡を決定するためのものでもある。
【0105】
例示的な実施形態では、前記情報取得モジュール101は、前記第2のユーザーアカウントの能力値を取得し、前記第2のユーザーアカウントの能力値を含む情報取得要求をサーバに送信し、前記サーバから送信された前記第2のユーザーアカウントの能力値にマッチする少なくとも1つの記録軌跡情報を受信し、前記少なくとも1つの記録軌跡情報から前記第1の記録軌跡情報を選択するためのものでもある。
【0106】
例示的な実施形態では、図11に示すように、前記装置100は、前記レース試合中に前記第3の仮想オブジェクトに異常状況が発生した場合に、前記異常状況により前記第3の仮想オブジェクトを自由パフォーマンス状態に入るように制御するための異常処理モジュール104をさらに含む。前記移動制御モジュール103は、前記自由パフォーマンス状態が終了したら、前記第1の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御し続けるためのものでもある。
【0107】
例示的な実施形態では、前記第1の記録軌跡情報は、前記第1の仮想オブジェクトのn個の位置点を含む(ただし、前記nが1よりも大きい整数である)。前記移動制御モジュール103は、前記第3の仮想オブジェクトを前記自由パフォーマンス状態の終了時の位置点から前記n個の位置点のうちの目標位置点、即ち、前記第3の仮想オブジェクトが通過していない位置点のうちの前記自由パフォーマンス状態の終了時の位置点に最も近い位置点に移動するように制御し、前記目標位置点から移動し続けるように前記第3の仮想オブジェクトを制御するためのものでもある。
【0108】
例示的な実施形態では、前記移動制御モジュール103は、前記第3の仮想オブジェクトと前記目標位置点との間の角度、及び前記第3の仮想オブジェクトの向きを取得し、前記向き及び前記角度により、前記目標位置点に移動するように前記第3の仮想オブジェクトを制御し、或いは、前記第3の仮想オブジェクトの現在の状態を取得し、前記現在の状態に基づいて、前記第3の仮想オブジェクトを前記目標位置点に移動するようにビヘイビアツリーにより制御するためのものでもある。
【0109】
例示的な実施形態では、図11に示すように、前記装置100は、前記第2の仮想オブジェクトと前記第3の仮想オブジェクトとの位置関係が第1のプリセット条件を満たすか否かを検出するための条件検出モジュール105と、前記位置関係が前記第1のプリセット条件を満たしている場合に、前記第1の記録軌跡情報と異なる別の記録軌跡情報である第2の記録軌跡情報を取得するための情報切替モジュール106とをさらに含む。前記移動制御モジュール103は、前記レース試合において前記第2の記録軌跡情報により前記第3の仮想オブジェクトの移動を制御するためのものでもある。
【0110】
例示的な実施形態では、図11に示すように、前記情報切替モジュール106は、前記第2の仮想オブジェクトの位置が前記第3の仮想オブジェクトの位置よりも前にあり、かつ先行した距離が第1の閾値よりも大きい場合に、前記第1の記録軌跡情報よりもスコアが高い他の記録軌跡情報から前記第2の記録軌跡情報を選択し、前記第2の仮想オブジェクトの位置が前記第3の仮想オブジェクトの位置よりも後ろにあり、かつ後れた距離が第2の閾値よりも大きい場合に、前記第1の記録軌跡情報よりもスコアが低い他の記録軌跡情報から前記第2の記録軌跡情報を選択するためのものでもある。
【0111】
例示的な実施形態では、図11に示すように、前記装置100は、前記レース試合において前記第2の仮想オブジェクトの軌跡情報を記録するための情報記録モジュール107と、前記第2の仮想オブジェクトの軌跡情報により、前記軌跡情報が第2のプリセット条件を満たすか否かを判断するための条件判断モジュール108と、前記軌跡情報が第2のプリセット条件を満たしている場合に、前記軌跡情報をサーバにアップロードするための情報アップロードモジュール109とをさらに含む。
【0112】
例示的な実施形態では、前記第2のプリセット条件は、前記第2の仮想オブジェクトの逆方向での移動距離が距離の閾値以下である条件、前記第2の仮想オブジェクトのその場に留まる時間が第1の時間の閾値以下である条件、前記第2のユーザーアカウントのハングアップ時間が第2の時間の閾値以下である条件のうちの少なくとも1つを含む。
【0113】
以上をまとめると、本願の実施形態により提供される技術方案は、ユーザーアカウントによって制御される仮想オブジェクトとコンピュータによって制御される仮想オブジェクトのレース試合で、端末内のコンピュータプログラムが記録軌跡情報により仮想オブジェクトの移動を制御することによって、レースゲームアプリケーションにおいて仮想オブジェクトに対応する新たな移動制御方式、即ち、記録軌跡情報による仮想オブジェクトの移動制御方式が拡張された。これによって、レース試合における複雑な論理的意思決定による制御方式への依存度の低減、及び仮想オブジェクトの移動制御方式の拡張に役立つ。
【0114】
また、記録軌跡情報は、ユーザーアカウントが履歴レース試合で仮想オブジェクトの移動を制御して生成された情報である。論理的意思決定技術による仮想オブジェクトの移動制御では、仮想オブジェクトの頻繁なブレーキングや壁への衝突など、仮想オブジェクトのパフォーマンスがぎこちない問題が発生するが、それに対して、記録軌跡情報により仮想オブジェクトの移動を制御することによって、仮想オブジェクトのパフォーマンスがより鮮明でリアルになり、ユーザーアカウントによって制御される仮想オブジェクトの移動状態により近づけることができ、レースゲームアプリケーションのレース試合の画面表示効果のような製品性能を向上させ、ユーザーの製品体験を改善した。
【0115】
なお、上記の実施形態により提供される装置は、その機能を実現する際に、上記の各機能モジュールの分割のみを例として挙げて説明したが、実際の応用では、必要に応じて上記の機能を異なる機能モジュールに割り当てて達成し、即ち、デバイスの内部構造を異なる機能モジュールに分割して上述した機能の全部又は一部を達成してもよい。また、上記の実施形態により提供される装置は、方法の実施形態と同じ構想に基づくため、その具体的な実現プロセスについては、方法の実施形態を詳しく参照されたい。ここでは、重複して説明しない。
【0116】
図12には、本願の一実施形態により提供される端末1200の構造のブロック図が示されている。当該端末1200は、携帯電話、タブレットコンピュータ、ゲームコンソール、電子書籍リーダー、マルチメディア再生機器、ウェアラブル機器などのような携帯型電子機器であってもよい。当該端末は、上記の実施形態により提供される仮想オブジェクトの移動制御方法を実施するためのものである。当該端末は、図1に示す実施環境における端末10であってもよい。詳細は以下のとおりである。
【0117】
一般的には、端末1200は、プロセッサ1201及びメモリ1202を含む。
【0118】
プロセッサ1201は、4コアプロセッサ、8コアプロセッサなどのような1つまたは複数の処理コアを含んでもよい。プロセッサ1201は、DSP(Digital Signal Processing、デジタル信号処理)、FPGA(Field Programmable Gate Array、フィールドプログラマブルゲートアレイ)、PLA(Programmable Logic Array、プログラマブルロジックアレイ)のうちの少なくとも1つのハードウェアの形態によって実現されてもよい。プロセッサ1201は、メインプロセッサ及びコプロセッサを含んでもよい。メインプロセッサは、ウェイクアップ状態でのデータを処理するためのプロセッサであり、CPU(Central Processing Unit、中央処理装置)とも呼ばれる。コプロセッサは、スタンバイ状態でのデータを処理するための低消費電力プロセッサである。いくつかの実施形態では、プロセッサ1201には、ディスプレイスクリーンに表示される必要のあるコンテンツのレンダリング及び描画を行うためのGPU(Graphics Processing Unit、グラフィックスプロセッシングユニット)が組み込まれてもよい。いくつかの実施形態では、プロセッサ1201は、機械学習に関する計算操作を処理するためのAI(Artificial Intelligence、人工知能)プロセッサをさらに含んでもよい。
【0119】
メモリ1202は、1つまたは複数のコンピュータ読み取り可能な記憶媒体を含んでもよい。当該コンピュータ読み取り可能な記憶媒体は、非一過性のものであってもよい。メモリ1202は、高速ランダムアクセスメモリ、及び、1つまたは複数の磁気ディスク記憶装置、フラッシュメモリ記憶装置のような不揮発性メモリをさらに含んでもよい。いくつかの実施形態では、メモリ1202における非一過性のコンピュータ読み取り可能な記憶媒体は、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットを記憶するためのものである。上記の少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットは、1つ以上のプロセッサによって実行されることにより、前記仮想オブジェクトの移動制御方法を実現するように配置されている。
【0120】
いくつかの実施形態では、端末1200は、任意的に、周辺機器インタフェース1203及び少なくとも1つの周辺機器をさらに含む。プロセッサ1201とメモリ1202と周辺機器インタフェース1203は、バス又は信号線を介して接続されてもよい。各周辺機器は、バス、信号線又は回路基板を介して周辺機器インタフェース1203と接続されてもよい。具体的には、周辺機器は、無線周波数回路1204、タッチディスプレイスクリーン1205、カメラ1206、オーディオ回路1207、位置決めコンポーネント1208及び電源1209のうちの少なくとも1つを含む。
【0121】
当業者は、図12に示す構造が端末1200を限定するものではなく、図に示されるよりも多い又は少ない構成要素を含んでもよく、或いは、いくつかの構成要素を組み合わせてもよく、或いは、異なる構成要素の配置を採用してもよいことを理解できる。
【0122】
例示的な実施形態では、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶されたコンピュータ読み取り可能な記憶媒体であって、前記少なくとも1つの命令、前記少なくとも1つのプログラム、前記コードセット又は前記命令セットがプロセッサによって実行されると、前記仮想オブジェクトの移動制御方法を実現するコンピュータ読み取り可能な記憶媒体をさらに提供する。
【0123】
任意的に、当該コンピュータ読み取り可能な記憶媒体は、リードオンリーメモリ(ROM、Read Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、ソリッドステートドライブ(SSD、Solid State Drives)、又は光学ディスクなどを含んでもよい。ランダムアクセスメモリは、抵抗変化型メモリ(ReRAM、Resistance Random Access Memory)及びダイナミックランダムアクセスメモリ(DRAM、Dynamic Random Access Memory)を含んでもよい。
【0124】
例示的な実施形態では、プロセッサによって実行される時に、前記仮想オブジェクトの移動制御方法を実現するために使用されるコンピュータプログラム製品をさらに提供する。
【0125】
本明細書に記載された「複数」は、2つ以上を意味すると理解すべきである。「及び/又は」は、関連対象の相関関係を表しており、3種類の関係が存在しうることを示し、例えば、A及び/又はBは、Aのみが存在する場合、AとBが同時に存在する場合、Bのみが存在する場合という3つの場合を示してもよい。符号「/」は、一般的にその前後の関連対象に「又は」という関係があることを示す。また、本明細書に記載されたステップの番号は、ステップ間の1つの可能な実行順序を例示するものに過ぎず、いくつかの他の実施形態では、上記のステップは、番号の順で実行されなくてもよく、例えば、番号の異なる2つのステップは、同時に実行されてもよく、又は図示と逆の順で実行されてもよいが、本願の実施形態では、これを限定しない。
【0126】
上記の説明は、本願の例示的な実施形態に過ぎず、本願を制限するためのものではない。本願の精神及び原則の範囲内で行われる如何なる修正、同等の置換、及び改良も、本願の保護範囲内に含まれるべきである。
【符号の説明】
【0127】
100 移動制御装置
101 情報取得モジュール
102 インタフェース表示モジュール
103 移動制御モジュール
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12