(57)【特許請求の範囲】
【請求項１】
仮想キャラクタのターンをプロセッサが実施するための方法であって、
仮想キャラクタのターン角度を取得するステップと、
事前設定された固定ターン時間を取得するステップと、
前記ターン角度および前記事前設定された固定ターン時間に従って、前記仮想キャラクタの平均角速度を計算するステップと、
前記平均角速度でターンするように前記仮想キャラクタを制御するステップとを備え、
前記方法は、
前記仮想キャラクタの各ターン時間と、対応する終了位置を記録し記憶するステップと、
ネットワークが接続された場合、ローカルに記録された前記仮想キャラクタの各ターン時間および対応する終了位置を、サーバに記録された前記仮想キャラクタの各ターン時間および対応する終了位置と定期的に比較するステップと、
ローカルに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置が、前記サーバに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置と同じではないのであれば、前記サーバに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置を更新するために、ローカルに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置を、前記サーバへアップロードするステップと、をさらに備える
ことを特徴とする方法。
【請求項２】
前記仮想キャラクタのターン角度を取得するステップは、
前記仮想キャラクタの開始位置、ターン方向、および終了位置を取得するステップと、
前記仮想キャラクタの前記開始位置、前記ターン方向、および前記終了位置に従って、前記仮想キャラクタの前記ターン角度を取得するステップと
を備える、請求項１に記載の方法。
【請求項３】
前記仮想キャラクタのターン角度を取得するステップは、
タッチ入力、音声入力、またはジェスチャ入力によって生成されたターン命令を取得す
るステップと、
前記ターン命令に従って、前記仮想キャラクタの前記ターン角度を取得するステップと
を備える、請求項１に記載の方法。
【請求項４】
前記方法はさらに、
前記仮想キャラクタの開始位置および前記平均角速度を記録し記憶するステップを備える、請求項１に記載の方法。
【請求項５】
前記ターン角度および前記事前設定された固定ターン時間に従って、前記仮想キャラクタの前記平均角速度を計算する前記ステップは、
前記仮想キャラクタの前記平均角速度を取得するために、前記事前設定された固定ターン時間によって前記ターン角度を除するステップを含む、請求項１に記載の方法。
【請求項６】
前記平均角速度でターンするように前記仮想キャラクタを制御する前記ステップは、
前記平均角速度の一定速度でターンするように前記仮想キャラクタを制御するステップ、および前記仮想キャラクタが、前記終了位置へターンした場合、ターンを停止するステップを含む、請求項２に記載の方法。
【請求項７】
記憶媒体と
プロセッサと
を備える端末であって、前記記憶媒体は命令を記憶し、前記命令が前記プロセッサによって実行された場合、前記プロセッサは、
仮想キャラクタのターン角度を取得し、
事前設定された固定ターン時間を取得し、
前記ターン角度および前記事前設定された固定ターン時間に従って、前記仮想キャラクタの平均角速度を計算し、
前記平均角速度でターンするように前記仮想キャラクタを制御する
ように命令され、
前記端末の前記プロセッサはさらに、
前記仮想キャラクタの各ターン時間および対応する終了位置を記録および記憶するように構成され、
ネットワークが接続された場合、ローカルに記録された前記仮想キャラクタの各ターン時間および対応する終了位置を、サーバに記録された前記仮想キャラクタの各ターン時間および対応する終了位置と定期的に比較し、ローカルに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置が、前記サーバに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置と同じではないのであれば、前記サーバに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置を更新するために、ローカルに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置を、前記サーバへアップロードするように構成される
ことを特徴とする端末。
【請求項８】
前記仮想キャラクタのターン角度を取得することは、
仮想キャラクタの開始位置、ターン方向、および終了位置を取得することと、
前記仮想キャラクタの前記開始位置、前記ターン方向、および前記終了位置に従って、前記仮想キャラクタの前記ターン角度を取得することと
を備える、請求項７に記載の端末。
【請求項９】
前記仮想キャラクタのターン角度を取得することは、
タッチ入力、音声入力、またはジェスチャ入力によって生成されたターン命令を取得することと、
前記ターン命令に従って、仮想キャラクタの前記ターン角度を取得することと
を備える、請求項７に記載の端末。
【請求項１０】
プロセッサによって実行された場合、仮想キャラクタのターンを実施するための方法を実行するためのコンピュータ実行可能プログラムを含む非一時的コンピュータ可読記憶媒体であって、前記方法は、
仮想キャラクタのターン角度を取得するステップと、
事前設定された固定ターン時間を取得するステップと、
前記ターン角度および前記事前設定された固定ターン時間に従って、前記仮想キャラクタの平均角速度を計算するステップと、
前記平均角速度でターンするように前記仮想キャラクタを制御するステップとを備え、
前記方法は、
前記仮想キャラクタの各ターン時間と、対応する終了位置を記録し記憶するステップをさらに備え、
ネットワークが接続された場合、ローカルに記録された前記仮想キャラクタの各ターン時間および対応する終了位置を、サーバに記録された前記仮想キャラクタの各ターン時間
および対応する終了位置と定期的に比較し、ローカルに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置が、前記サーバに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置と同じではないのであれば、前記サーバに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置を更新するために、ローカルに記録された前記仮想キャラクタの各ターン時間および前記対応する終了位置を、前記サーバへアップロードするように構成される
ことを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項１１】
前記仮想キャラクタのターン角度を取得するステップは、
前記仮想キャラクタの開始位置、ターン方向、および終了位置を取得するステップと、
前記仮想キャラクタの前記開始位置、前記ターン方向、および前記終了位置に従って、前記仮想キャラクタの前記ターン角度を取得するステップと
を備える、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【請求項１２】
前記仮想キャラクタのターン角度を取得するステップは、
タッチ入力、音声入力、またはジェスチャ入力によって生成されたターン命令を取得するステップと、
前記ターン命令に従って、前記仮想キャラクタの前記ターン角度を取得するステップと
を備える、請求項１０に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は、2015年6月16日に中国特許庁に出願され「METHOD AND APPARATUS FOR IMPLEMENTING TURNING OF VIRTUAL CHARACTER」と題され、その全体が参照によって本明細書に組み込まれている中国特許出願第201510334763.4号への優先権を主張する。
【０００２】
本開示は、データ処理の分野に関し、特に、仮想キャラクタのターンを実施するための方法および端末に関する。
【背景技術】
【０００３】
コンピュータ技術の急速な発展は、人々の生活へ多くの利便性をもたらし、人々の生活品質を大いに向上させた。便利な生活を楽しんでいる場合、人々はさらにいくつかの娯楽をも必要とする。したがって、様々なゲーム製品が出現した。従来のゲーム製品のシナリオでは、プレーヤが、変位によってターン角度を生成するように仮想キャラクタを制御する場合、固定ターン角度が一般に使用され、ターン移動が生成される度に、プレーヤは、常に固定ターン角度でターンする。図1に図示されるように、固定ターン角度aが設定される。仮想キャラクタがターンすると、ターン角度が、固定ターン角度a未満であれば、仮想キャラクタはターンしない。または、ターン角度が、固定ターン角度aよりも大きければ、仮想キャラクタは、明らかに短縮された時間で、余分に迅速にターンし、したがって、滑らかではない画像および停止が生じる。
【発明の概要】
【課題を解決するための手段】
【０００４】
これに基づいて、仮想キャラクタがターンする場合、滑らかではない画像および停止が生じるという従来の問題を解決するために、仮想キャラクタのターンを実施するための方法を提供することが必要であり、それによって、ターンが実施され得、ターン処理における停止が回避され得、画像滑らかさが向上されるようになり得る。
【０００５】
それに加えて、仮想キャラクタのターンを実施するための装置を提供することも必要であり、それによって、ターンが実施され得、ターン処理における停止が回避され得、画像滑らかさが向上されるようになり得る。
【０００６】
本開示の1つの態様は、仮想キャラクタのターン角度を取得するステップと、事前設定された固定ターン時間を取得するステップと、ターン角度および事前設定された固定ターン時間に従って仮想キャラクタの平均角速度を計算するステップと、平均角速度でターンするように仮想キャラクタを制御するステップとを含む、仮想キャラクタのターンを実施するための方法を提供する。
【０００７】
本開示の別の態様は、記憶媒体およびプロセッサを含む端末を提供し、記憶媒体は命令を記憶し、命令がプロセッサによって実行された場合、プロセッサは、仮想キャラクタのターン角度を取得し、
事前設定された固定ターン時間を取得し、
ターン角度および事前設定された固定ターン時間に従って仮想キャラクタの平均角速度を計算し、
平均角速度でターンするように仮想キャラクタを制御するように構成される。
【０００８】
本開示の別の態様は、プロセッサによって実行された場合、仮想キャラクタのターンを実施するための方法を実行するためのコンピュータ実行可能プログラムを含む非一時的コンピュータ可読記憶媒体を提供し、当該方法は、仮想キャラクタのターン角度を取得するステップと、事前設定された固定ターン時間を取得するステップと、ターン角度および事前設定された固定ターン時間に従って、仮想キャラクタの平均角速度を計算するステップと、平均角速度でターンするように仮想キャラクタを制御するステップとを備える。
【０００９】
仮想キャラクタのターンを実施するための方法および装置に従って、仮想キャラクタのターン角度が取得され、事前設定された固定ターン時間が取得され、平均角速度が計算され、仮想キャラクタが平均角速度でターンするように制御される。ターンは、ターン処理において一定速度で実行され、滑らかなターンが実施され得、ターン処理における停止が回避され、画像滑らかさが向上され得る。ターン角度が比較的大きい場合、平均角速度は大きく、迅速で滑らかなターンが実施され得るか、または、ターン角度が小さい場合も、ターンが実施され得る。したがって、ターンは、より正確である。
【００１０】
本発明の実施形態、または既存の技術における技術的解決策をより明確に説明するために、以下は、実施形態または既存の技術を説明するために必要な添付図面を簡潔に説明する。明らかに、以下の説明における添付図面は、単に本発明のいくつかの実施形態しか図示しておらず、当業者であれば、創造的な努力なくこれら添付図面から他の図面を導出し得る。
【図面の簡単な説明】
【００１１】
【図１】従来技術における固定ターン角度設定の概略図である。
【図２Ａ】実施形態に従う端末の内部構成の概略図である。
【図２Ｂ】実施形態に従うサーバの内部構成の概略図である。
【図３】実施形態に従って仮想キャラクタのターンを実施するための方法のフローチャートである。
【図４】実施形態に従って仮想キャラクタのターン角度を取得するフローチャートである。
【図５】ターン角度を形成する概略図である。
【図６】スタンドアロンゲームにおける仮想キャラクタのターンの実施の概略図である。
【図７】オンラインゲームにおける仮想キャラクタのターンの実施のための処理のシーケンス図である。
【図８】一定速度でターンするようにNPCが制御されることを図示する概略エフェクト図である。
【図９】実施形態に従って仮想キャラクタのターンを実施するための装置の構成ブロック図である。
【図１０】別の実施形態に従って仮想キャラクタのターンを実施するための装置の構成ブロック図である。
【発明を実施するための形態】
【００１２】
本開示の目的、技術的解決策、および利点を、より明確かつ理解可能にするために、以下はさらに、本開示を、添付図面および実施形態を参照して詳細に説明する。本明細書で説明された具体的な実施形態は、本開示を説明するために使用されるが、本開示を限定することは意図されていないことが理解されるべきである。
【００１３】
本開示において使用される「第1」、「第2」等の用語は、この明細書において様々な要素を説明するために使用され得るが、これら要素はこれら用語に限定されないことが理解され得る。これら用語は、単に第1の要素を別の要素と区別するために使用される。たとえば、本開示の範囲から逸脱しない事例において、第1のクライアントは、第2のクライアントと称され得、同様に、第2のクライアントは、第1のクライアントと称され得る。第1のクライアントと第2のクライアントとの両方がクライアントであるが、同じクライアントではない。
【００１４】
図2Aは、実施形態に従う端末の内部構成の概略図である。図2Aに図示されるように、端末は、プロセッサ、記憶媒体、メモリ、ネットワークインターフェース、音声収集装置、ディスプレイ、スピーカ、および入力装置を含み、これらはシステムバスを使用することによって接続される。端末の記憶媒体は、オペレーティングシステムを記憶し、さらに、仮想キャラクタのターンを実施するための命令を含む。プロセッサは、端末全体の動作(例えば、記憶媒体に記憶された命令に基づいて仮想キャラクタのターンを実施すること)をサポートするために、コンピューティングおよび制御機能を提供するように構成される。端末のメモリは、記憶媒体において、仮想キャラクタのターンを実施するための装置の動作のための環境を提供する。ネットワークインターフェースは、サーバとのネットワーク通信、たとえば、仮想キャラクタのデータのサーバへのアップロード、および、サーバによって返却された仮想キャラクタの関連データの受信を実行するように構成される。端末のディスプレイは、液晶ディスプレイ、E-インクディスプレイ等であり得る。入力装置は、ディスプレイ上にカバーされたタッチレイヤであり得るか、または、端末の外部筐体に配置されたボタン、トラックボール、またはタッチパッドであり得るか、または、外部接続されたキーボード、タッチパッド、マウス等であり得る。端末は、モバイル電話、タブレットコンピュータ、または携帯情報端末であり得る。当業者は、図2Aが単に本願の解決策に関連する構成ブロック図の1つの事例であって、本願の解決策が適用される端末への限定を構成しないと理解し得る。具体的には、端末は、図面に図示されるものよりも多いまたは少ない構成要素を含み得るか、または、いくつかの構成要素を結合し得るか、または、異なる構成要素配置を有し得る。
【００１５】
図2Bは、実施形態に従うサーバの内部構成の概略図である。図2Bに図示されるように、サーバは、プロセッサ、記憶媒体、メモリ、およびネットワークインターフェースを含み、これらは、システムバスを使用することによって接続される。サーバの記憶媒体は、オペレーティングシステム、データベース、および、仮想キャラクタのターンを実施するための装置を記憶し、データベースは、ゲームシナリオデータと、仮想キャラクタに関連するデータを記憶し、仮想キャラクタのターンを実施するための装置は、仮想キャラクタのターンを実施するための方法を実施するように構成される。サーバのプロセッサは、サーバ全体の動作(例えば、記憶媒体に記憶された命令に基づいて仮想キャラクタのターンを実施すること)をサポートするために、コンピューティングおよび制御機能を提供するように構成される。サーバのメモリは、記憶媒体において、仮想キャラクタのターンを実施するための装置の動作のための環境を提供する。サーバのネットワークインターフェースは、ネットワークを使用することによって外部端末(例えば、図2Aに示される端末)との接続および通信、たとえば、端末によってアップロードされた仮想キャラクタのデータの受信、および、仮想キャラクタの他のデータの端末への返却、を実行するように構成される。サーバは、独立したサーバによって、または、多数のサーバによって形成されたサーバクラスタによって実施され得る。当業者は、図2Bが、単に本願の解決策に関連する構成ブロック図の1つであって、本願の解決策が適用されるサーバへの限定を構成しないと理解し得る。具体的には、サーバは、図面に図示されるものよりも多いまたは少ない構成要素を含み得るか、または、いくつかの構成要素を結合し得るか、または、様々な構成要素配置を有し得る。
【００１６】
図3は、実施形態に従う仮想キャラクタのターンを実施するための方法のフローチャートである。図3に図示されるように、仮想キャラクタのターンを実施するための方法は、以下のステップを含む。
【００１７】
ステップ302:仮想キャラクタのターン角度を取得するステップ。
【００１８】
具体的には、仮想キャラクタは、ゲームにおける仮想キャラクタを称する。異なるキャラクタは、異なる趣向に従って選択され得る。ゲームクライアントが起動され、端末上で操作される。スタンドアロンゲームでは、登録は必要とされず、入力されたキャラクタのみが、この時のためのプレーヤのユーザ名として使用される必要があり、オンラインゲームでは、サーバは、他のユーザとのインタラクティブな動作を実行するために、ネットワーク接続のために登録されたアカウントを使用することによってログインされる。
【００１９】
端末は、デスクトップコンピュータ、ノート型コンピュータ、タブレットコンピュータ、スマートフォン、携帯情報端末等であり得る。
【００２０】
ターン角度は、仮想キャラクタが回転するように制御される角度を称し、計算の容易のために、ターン角度は、0度と360度との間の値であり得る。キーボード、マウス、またはタッチスクリーンのような入力デバイスが命令を入力した場合、仮想キャラクタは回転する。回転角度が360度を超えた後、残りの角度は、整数倍を乗じられた360度を回転角度から減算することによって取得され、残りの角度は、ターン角度として使用される。
【００２１】
取得されたターン角度は、たとえば30度、40度、または280度であり得る。
【００２２】
ステップ304:事前設定された固定ターン時間を取得するステップ。
【００２３】
具体的には、事前設定された固定ターン時間は、必要に応じて設定された固定ターン時間であり、ターン時間が設定された後、費やされるターン時間は、ターン角度の値に関わらず、固定ターン時間である。固定ターン時間は、0.1秒、0.2秒、または1秒であり得る。事前設定された固定ターン時間は、たとえば、コンフィギュレーションファイルの形式でローカルに記憶され得る。
【００２４】
ステップ306:ターン角度および事前設定された固定ターン時間に従って、仮想キャラクタの平均角速度を計算するステップ。
【００２５】
具体的には、ターン角度および事前設定された固定ターン時間に従って、仮想キャラクタの平均角速度を計算するステップは、仮想キャラクタの平均角速度を取得するために、事前設定された固定ターン時間によってターン角度を除するステップを含む。計算式は、以下の式(1)である。
【００２６】
【数１】
0006470845.tif 000002
【００２７】
式(1)では、ωはターン角度であり、tは事前設定された固定ターン時間であり、νは平均角速度である。
【００２８】
たとえば、ターン角度は280度であり、事前設定された固定ターン時間は0.1秒であり、この事例では、平均角速度は280度/0.1秒であり、2800度/秒に等しい。
【００２９】
ステップ308:平均角速度でターンするように仮想キャラクタを制御するステップ。
【００３０】
具体的には、ゲームシナリオでは、仮想キャラクタは、一定速度の平均角速度でターンするように制御され、仮想キャラクタが、終了位置へターンした場合、ターンが停止される。
【００３１】
仮想キャラクタのターンを実施するための方法に従って、仮想キャラクタのターン角度が取得され、事前設定された固定ターン時間が取得され、平均角速度が計算され、仮想キャラクタが、平均角速度でターンするように制御される。ターンは、ターン処理において一定速度で実行され、滑らかなターンが実施され得、ターン処理における停止が回避され、画像滑らかさが向上され得る。ターン角度が比較的大きい場合、平均角速度は大きく、迅速で滑らかなターンが実施され得るか、または、ターン角度が小さい場合も、ターンが実施され得る。したがって、ターンは、より正確である。
【００３２】
図4は、実施形態に従って仮想キャラクタのターン角度を取得するフローチャートである。図4に図示されるように、仮想キャラクタのターン角度を取得するステップは、以下のステップを含む。
【００３３】
ステップ402:仮想キャラクタの開始位置、ターン方向、および終了位置を取得するステップ。
【００３４】
具体的には、仮想キャラクタの位置は、リアルタイムで記録される。仮想キャラクタがターンするように制御される時点において、この時に仮想キャラクタが配置されている位置は、ターン開始位置として取得される。仮想キャラクタを位置へ回転させ、回転を停止させるように制御するために、ユーザが、入力デバイスを使用することによって入力命令を生成した場合、回転が終了した位置が、終了位置として記録され、回転方向がターン方向として記録される。ターン方向は、時計回り方向または反時計回り方向であり得る。
【００３５】
ステップ404:仮想キャラクタの開始位置、ターン方向、および終了位置に従って、仮想キャラクタのターン角度を取得するステップ。
【００３６】
具体的には、仮想キャラクタの開始位置、ターン方向、および終了位置は、ターン角度を形成するために引き出され、ターン角度の値は、角度計算機または計算プログラムを使用することによって計算される。
【００３７】
仮想キャラクタの開始位置、ターン角度、および終了位置を取得することによって仮想キャラクタのターン方向を計算することが便利である。
【００３８】
図5は、ターン角度を形成する概略図である。図5に図示されるように、仮想キャラクタの開始位置はライン52であり、仮想キャラクタは、反時計回りに回転し、ターン方向は、反時計回りであり、仮想キャラクタの終了位置はライン54であり、開始位置、ターン方向、および終了位置が、ターン角度bを形成する。ターン角度bの値は、角度計算機または計算プログラムを使用することによって計算される。
【００３９】
実施形態において、仮想キャラクタのターン角度を取得するステップは、タッチ入力、音声入力、またはジェスチャ入力によって生成されたターン命令を取得するステップと、ターン命令に従って、仮想キャラクタのターン角度を取得するステップとを含む。
【００４０】
具体的には、タッチ入力によってターン命令を生成するステップは、スマートフォンのようなモバイル端末のタッチスクリーンにタッチすること、たとえば、タッチスクリーンにおいて時計回りに回転すること、または、反時計回りに回転することによって、対応するターン命令を入力し生成するステップを称する。仮想キャラクタの開始位置、ターン方向、および終了位置は、タッチすることによって生成された入力命令に従って取得され得、仮想キャラクタのターン角度は、仮想キャラクタの開始位置、ターン方向、および終了位置に従って計算され得る。
【００４１】
音声入力によってターン命令を生成するステップは、対応するターン命令を取得するために、ユーザの音声情報を受信し、音声情報を認識するステップを称する。音声入力では、音声命令認識ライブラリが最初に生成される必要があり、音声命令認識ライブラリは、音声情報と命令との間の対応を記録する。ユーザの音声情報が認識された後、音声情報と、音声情報と命令との間の対応とに従って、対応するターン命令が生成される。たとえば、音声情報のコンテンツは、90度時計回りに回転している。
【００４２】
ジェスチャ入力によってターン命令を生成するステップは、対応するターン命令を取得するために、入力ジェスチャを受信し、このジェスチャを認識するステップを称する。ジェスチャ入力では、ジェスチャ命令認識ライブラリが最初に生成される必要があり、ジェスチャ命令認識ライブラリは、ジェスチャ情報と命令との間の対応を記録する。ユーザのジェスチャが認識された後、ジェスチャと、ジェスチャと命令との間の対応とに従って、対応するターン命令が生成される。たとえば、ジェスチャ情報のコンテンツは、60度時計回りに回転している。
【００４３】
実施形態では、仮想キャラクタのターンを実施するための方法は、仮想キャラクタの各ターン時間と、対応する終了位置を記録し記憶するステップを含む。
【００４４】
具体的には、ゲームシナリオでは、仮想キャラクタは、何回もターンするように制御され得、同期および更新のフォローアップを容易にするために、ターン時間および対応する終了位置が、各回について記録される。ターン時間は、ターンが開始される時点を称する。たとえば、記録されたターン時間は、1時24分30秒においてであり、終了位置は、ゲームシナリオにおける地図座標(x,y)または経度および緯度によって表される。
【００４５】
実施形態では、仮想キャラクタのターンを実施するための方法はさらに、ネットワークが接続されている場合、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置を、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置と定期的に比較するステップと、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置が、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置と同じではないのであれば、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置を更新するために、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置を、サーバへアップロードするステップ、または、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置が、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置と同じであれば、更新をスキップするステップと、を含む。
【００４６】
具体的には、端末がサーバへ接続され、端末におけるゲームクライアントがゲームサーバへ接続され、ユーザは、アカウントを使用することによってゲームサーバへログインする。仮想キャラクタの各ターン時間および対応する終了位置は、ローカルに(すなわち、端末に)記録される。ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置は、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置と定期的に比較され、これら2つのデータが同じであるか否かが比較され得る。これら2つのデータが同じではないのであれば、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置は、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置を更新するためにサーバへアップロードされ得、最後のターン後の仮想キャラクタの終了位置が表示され得る。
【００４７】
それに加えて、仮想キャラクタの開始位置および平均角速度がさらに記録され得る。
【００４８】
最後のターン後の仮想キャラクタの終了位置が、端末上に表示され、ユーザは、端末上において、定期的な比較処理を感じることはできない。サーバが、表示のために、端末上の仮想キャラクタの終了位置情報を別の端末へ送信した場合、データの一貫性を保証し、停止を回避するために、バッファリング方式が使用される。
【００４９】
ネットワークリソースを節約し、サーバにおける負荷を低減するために、ターン角度を計算するためのデータは、サーバへアップロードされる必要はなく、計算処理はローカルに実行されることが注目されるべきである。確かに、その代わりに、サーバは、ターン角度および平均角速度を計算し得る。
【００５０】
仮想キャラクタのターンを実施するための方法をより明確に説明するために、この方法がスタンドアロンゲームおよびオンラインゲームに適用されるプロセスの処理の説明が、以下に提供される。
【００５１】
図6は、スタンドアロンゲームにおける仮想キャラクタのターンを実施する概略図である。スタンドアロンゲームでは、ユーザは、プレーヤ名またはプレーヤ番号を入力することによりゲームシナリオに入り、ゲームシナリオでは、ユーザは、キーボード、マウス、またはタッチスクリーンのような入力デバイスを使用することによって、対応する仮想キャラクタ62を制御し得る。仮想キャラクタ62のターンを実施する処理は、ターン命令に従って、仮想キャラクタの開始位置、ターン方向、および終了位置を取得するステップと、ユーザによって入力されたターン命令が検出された後、仮想キャラクタの開始位置、ターン方向、および終了位置に従ってターン角度を形成するステップと、ターン角度の値を計算するステップと、事前設定された固定ターン時間をコンフィギュレーションファイルから取得するステップと、平均角速度を取得するために、ターン角度を、固定ターン時間によって除するステップと、一定速度の平均角速度でターンを実行するステップとを含む。したがって、滑らかなターンおよび画像滑らかさが実施される。図6では、仮想キャラクタ62は、位置1から位置2へ90度ターンするように制御され、すなわち、リトルモンスター64へ直面する。リトルモンスターは、ゲームシナリオにおける仮想生物である。
【００５２】
図7は、オンラインゲームにおいて仮想キャラクタのターンを実施するための処理のシーケンス図である。オンラインゲームにおいて、各ユーザは、登録されたアカウントを使用することによってゲームサーバへログインし、登録されたアカウントに対応する仮想キャラクタ名を使用することによってゲームシナリオに入り、ユーザは、キーボード、マウス、またはタッチスクリーンのような入力デバイスを使用することによって、対応する仮想キャラクタを制御し得る。図7に図示されるように、仮想キャラクタのターンを実施する処理は、以下のステップを含む。(1)第1のユーザによって入力されたターン命令を、第1の端末によって検出するステップ。(2)第1のユーザに対応する第1の仮想キャラクタの開始位置、ターン方向、および終了位置を、ターン命令に従って第1の端末によって取得するステップ。(3)第1の仮想キャラクタの開始位置、ターン方向、および終了位置に従って、第1の端末によって、仮想キャラクタのターン角度を形成し、第1の仮想キャラクタのターン角度の値を計算するステップ。(4)事前設定された固定ターン時間を第1の端末によって取得するステップ。(5)第1の仮想キャラクタのターン角度の値と、固定ターン時間とに従って、第1の仮想キャラクタの平均角速度を第1の端末によって計算するステップ。(6)第1の仮想キャラクタを、平均角速度で、対応する終了位置へターンするように、第1の端末によって制御するステップ。(7)第1の仮想キャラクタのターン時間、開始位置、平均ターン速度、および対応する終了位置を、第1の端末によって記録および記憶するステップ。(8)第1の仮想キャラクタのターン時間、開始位置、平均ターン速度、および対応する終了位置を第1の端末によってサーバへアップロードするステップ。(9)サーバによって、第1の仮想キャラクタの開始位置、平均ターン速度、および終了位置を受信し、第1の仮想キャラクタの開始位置、平均ターン速度、および終了位置を第2の端末へ送信するステップ。(10)開始位置から終了位置までの第1の仮想キャラクタのターンを、第2の端末上に表示するステップ。
【００５３】
たとえば、第1の仮想キャラクタの背面が、第2の仮想キャラクタへ向かい、第1の仮想キャラクタが180度ターンした後、第1の仮想キャラクタが、第2の仮想キャラクタに向かって面する。
【００５４】
仮想キャラクタのターンを実施するための方法は、マルチプレーヤオンラインバトルアリーナゲーム(MOBA)シナリオおよびモバイルゲーム製品へ適用され得る。モバイルゲームは、スタンドアロンゲームおよびオンラインゲームを含み得る。MOBAシナリオまたはモバイルゲームにおいて、プレーヤは、NPC(ゲームにおけるキャラクタ、すなわち、仮想キャラクタ)をターンさせるように制御する。ターン時間は事前設定され、ターン角度が取得されるので、平均角速度は、ターン角度をターン時間によって除することによって取得され得、NPCは、ターン処理において生じる停止を回避し、ターンしている画像の滑らかさを向上するために、平均角速度でターンするように制御される。図8に図示されるように、モバイルゲームにおいて、NPCは、時間t内で一定速度で、対応する角度Aまでターンするように制御される。
【００５５】
それに加えて、仮想キャラクタのターンを実施するための方法はまた、パーソナルコンピュータにおいてマウスを使用することによって動作が実行されるゲームシナリオへ適用され得、対応するターン角度が、マウスによって制御された仮想キャラクタの開始位置、および、ターン後の終了位置を取得することによって取得され、対応する平均角速度が、時間に対するターン角度の比率を取得することによって取得され、仮想キャラクタが、一定速度の平均角速度でターンするように制御され、それによって、ターン処理において生じる停止が回避され得、ターンしている画像の滑らかさが向上され得るようになる。
【００５６】
図9は、実施形態に従って、仮想キャラクタのターンを実施するための装置の構成ブロック図である。図9に図示されるように、仮想キャラクタのターンを実施するための装置は、端末において操作され、複数のプログラムモジュールを含む。複数のプログラムモジュールは、メモリに記憶され、プロセッサによって実行可能である。複数のプログラムモジュールは、角度取得モジュール910、時間取得モジュール920、処理モジュール930、および実行モジュール940を含む。
【００５７】
角度取得モジュール910は、仮想キャラクタのターン角度を取得するように構成される。
【００５８】
具体的には、仮想キャラクタは、ゲームにおける仮想キャラクタを称する。異なるキャラクタは、異なる趣向に従って選択され得る。ゲームクライアントは、端末において起動および操作される。スタンドアロンゲームでは、登録は必要とされず、入力されたキャラクタのみが、この時のためのプレーヤのユーザ名として使用される必要があり、オンラインゲームでは、サーバは、他のユーザとのインタラクティブな動作を実行するために、ネットワーク接続のために登録されたアカウントを使用することによってログインされる。
【００５９】
端末は、デスクトップコンピュータ、ノート型コンピュータ、タブレットコンピュータ、スマートフォン、携帯情報端末等であり得る。
【００６０】
ターン角度は、回転するように仮想キャラクタが制御される角度を称し、計算の容易のために、ターン角度は、0度と360度との間の値であり得る。キーボード、マウス、またはタッチスクリーンのような入力デバイスが命令を入力した場合、仮想キャラクタが回転する。回転角度が360度を超えた後、残りの角度は、整数倍を乗じられた360度を回転角度から減算することによって取得され、残りの角度は、ターン角度として使用される。
【００６１】
取得されたターン角度は、たとえば30度、40度、または280度であり得る。
【００６２】
実施形態では、角度取得モジュール910はさらに、仮想キャラクタの開始位置、ターン方向、および終了位置を取得し、仮想キャラクタの開始位置、ターン方向、および終了位置に従って仮想キャラクタのターン角度を取得するように構成される。
【００６３】
具体的には、仮想キャラクタの位置は、リアルタイムで記録される。仮想キャラクタがターンするように制御される時点において、仮想キャラクタがこの時に配置されている位置が、ターン開始位置として取得される。仮想キャラクタを、位置へ回転させ、回転を停止するように制御するための入力命令を、ユーザが、入力デバイスを使用して生成した場合、回転が終了した位置が、終了位置として記録され、回転方向がターン方向として記録される。ターン方向は、時計回りの方向または反時計回り方向であり得る。仮想キャラクタの開始位置、ターン方向、および終了位置は、ターン角度を形成するために引き出され、ターン角度の値は、角度計算機または計算プログラムを使用することによって計算される。仮想キャラクタの開始位置、ターン方向、および終了位置を取得することによって、仮想キャラクタのターン角度を計算することが便利である。
【００６４】
実施形態では、角度取得モジュール910はさらに、タッチ入力、音声入力、またはジェスチャ入力によって生成されたターン命令を取得し、ターン命令に従って仮想キャラクタのターン角度を取得するように構成される。
【００６５】
具体的には、タッチ入力によってターン命令を生成するステップは、タッチスクリーンにタッチすること、たとえば、タッチスクリーンにおいて時計回りに回転する、または、反時計回りに回転することによって、対応するターン命令を入力し、生成するステップを称する。仮想キャラクタの開始位置、ターン方向、および終了位置は、タッチによって生成された入力命令に従って取得され得、仮想キャラクタのターン角度は、仮想キャラクタの開始位置、ターン方向、および終了位置に従って計算され得る。
【００６６】
音声入力によってターン命令を生成するステップは、対応するターン命令を取得するために、ユーザの音声情報を受信し、音声情報を認識するステップを称する。音声入力では、音声命令認識ライブラリが最初に生成される必要があり、音声命令認識ライブラリは、音声情報と命令との間の対応を記録する。ユーザの音声情報が認識された後、音声情報と、音声情報と命令との間の対応とに従って、対応するターン命令が生成される。たとえば、音声情報のコンテンツは、90度時計回りに回転する。
【００６７】
ジェスチャ入力によってターン命令を生成するステップは、対応するターン命令を取得するために、入力ジェスチャを受信し、このジェスチャを認識するステップを称する。ジェスチャ入力では、ジェスチャ命令認識ライブラリが最初に生成される必要があり、ジェスチャ命令認識ライブラリは、ジェスチャ情報と命令との間の対応を記録する。ユーザのジェスチャが認識された後、ジェスチャ情報と命令との間の対応に従って、対応するターン命令が生成される。たとえば、ジェスチャ情報のコンテンツは、60度時計回りに回転する。
【００６８】
時間取得モジュール920は、事前設定された固定ターン時間を取得するように構成される。
【００６９】
具体的には、事前設定された固定ターン時間は、必要に応じて設定された固定ターン時間を称し、ターン時間が設定された後、費やされるターン時間は、ターン角度の値に関わらず、固定ターン時間である。固定ターン時間は、0.1秒、0.2秒、または1秒であり得る。事前設定された固定ターン時間は、たとえば、コンフィギュレーションファイルの形式で、ローカルに記憶され得る。
【００７０】
処理モジュール930は、ターン角度および事前設定された固定ターン時間に従って、仮想キャラクタの平均角速度を計算するように構成される。
【００７１】
具体的には、ターン角度および事前設定された固定ターン時間に従って、仮想キャラクタの平均角速度を計算するステップは、仮想キャラクタの平均角速度を取得するために、ターン角度を、事前設定された固定ターン時間によって除するステップを含む。計算式は、以下の式(1)である。
【００７２】
【数２】
0006470845.tif 000003
【００７３】
式(1)では、ωはターン角度であり、tは事前設定された固定ターン時間であり、νは平均角速度である。
【００７４】
たとえば、ターン角度は280度であり、事前設定された固定ターン時間は0.1秒であり、この事例では、平均角速度は280度/0.1秒であり、2800度/秒に等しい。
【００７５】
実行モジュール940は、仮想キャラクタを、平均角速度でターンするように制御するように構成される。
【００７６】
具体的には、ゲームシナリオでは、仮想キャラクタは、一定速度の平均角速度でターンするように制御され、仮想キャラクタが終了位置へ移った場合、ターンが停止される。
【００７７】
仮想キャラクタのターンを実施するための装置に従って、仮想キャラクタのターン角度が取得され、事前設定された固定ターン時間が取得され、平均角速度が計算され、仮想キャラクタは、平均角速度でターンするように制御される。ターンは、ターン処理において、一定速度で実行され、滑らかなターンが実施され得、ターン処理における停止が回避され、画像滑らかさが向上され得る。ターン角度が比較的大きい場合、平均角速度は大きく、迅速で滑らかなターンが実施され得るか、または、ターン角度が小さい場合も、ターンが実施され得る。したがって、ターンはより正確である。
【００７８】
図10は、別の実施形態に従って仮想キャラクタのターンを実施するための装置の構成ブロック図である。図10に図示されるように、仮想キャラクタのターンを実施するための装置は、端末において操作され、角度取得モジュール910、時間取得モジュール920、処理モジュール930、および実行モジュール940に加えて、装置はさらに、記録および記憶モジュール950、比較モジュール960、およびアップロードモジュール970を含む。
【００７９】
記録および記憶モジュール950は、仮想キャラクタの各ターン時間および対応する終了位置を記録および記憶するように構成される。
【００８０】
具体的には、ゲームシナリオでは、仮想キャラクタは、複数回ターンするように制御され得、同期および更新のフォローアップを容易にするために、ターン時間および対応する終了位置は各回について記録される。ターン時間は、ターンが開始された時点を称する。たとえば、記録されたターン時間は、1時24分30秒においてであり、終了位置は、ゲームシナリオにおける地図座標(x,y)または経度および緯度によって表される。それに加えて、仮想キャラクタの開始位置および平均角速度がさらに記録され得る。
【００８１】
比較モジュール960は、ネットワークが接続された場合、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置を、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置と定期的に比較するように構成される。
【００８２】
ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置が、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置と同じではない場合、アップロードモジュール970は、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置を更新するために、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置をサーバへアップロードするように構成される。
【００８３】
具体的には、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置が、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置と定期的に比較され得、これら2つのデータが同じであるか否かが比較される。これら2つのデータが同じはないのであれば、サーバに記録された仮想キャラクタの各ターン時間および対応する終了位置を更新するために、ローカルに記録された仮想キャラクタの各ターン時間および対応する終了位置が、サーバへアップロードされ得、最終ターン後の仮想キャラクタの終了位置が表示され得る。
【００８４】
当業者であれば、前述した実施形態における方法の処理のすべてまたはいくつかは、関連するハードウェアに命令するコンピュータプログラムによって実施され得ることを理解し得る。このプログラムは、不揮発性コンピュータ読取可能な記憶媒体に記憶され得る。このプログラムが実行された場合、前述した方法実施形態の処理が実行され得る。この記憶媒体は、磁気ディスク、光ディスク、読取専用メモリ(ROM)等であり得る。
【００８５】
前述した実施形態は、本開示のいくつかの実施方式のみを説明しており、それらの説明は具体的かつ詳細であるが、本開示の特許範囲への限定として理解されることはない。当業者はさらに、本開示の概念から逸脱することなく、いくつかのバリエーションおよび改良を行い得、これらバリエーションおよび改良は、本開示の保護範囲に属することが注目されるべきである。したがって、本開示の保護範囲は、添付された特許請求の範囲の保護範囲に従うべきである。
【符号の説明】
【００８６】
1  位置
2  位置
52  ライン
54  ライン
62  仮想キャラクタ
64  リトルモンスター
910  角度取得モジュール
920  時間取得モジュール
930  処理モジュール
940  実行モジュール
950  記録および記憶モジュール
960  比較モジュール
970  アップロードモジュール
【図１】
0006470845.tif 000004
【図２Ａ】
0006470845.tif 000005
【図２Ｂ】
0006470845.tif 000006
【図３】
0006470845.tif 000007
【図４】
0006470845.tif 000008
【図５】
0006470845.tif 000009
【図６】
0006470845.tif 000010
【図７】
0006470845.tif 000011
【図８】
0006470845.tif 000012
【図９】
0006470845.tif 000013
【図１０】
0006470845.tif 000014