(58)【調査した分野】(Int.Cl.,DB名)
前記現在選択されている仮想ターゲットと前記制御された仮想キャラクターとの間の前記距離が前記第2の範囲を超えるとき、前記相互作用命令に対応する前記相互作用距離範囲内に仮想ターゲットがあるか否かを検出するステップと、
前記仮想ターゲットが前記相互作用距離範囲内で検出されたとき、前記プリセット優先度データを取得するステップと、前記優先度データに従って前記相互作用距離範囲内の前記仮想ターゲットを選択するステップと、前記相互作用命令に従って、前記制御された仮想キャラクターを前記選択された仮想ターゲットと相互作用するように制御するステップと、をさらに含む、
請求項3に記載の方法。
コンピュータ可読命令を格納する不揮発性記憶媒体であって、前記コンピュータ可読命令は、1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサが、
相互作用命令を取得するするステップと、
前記相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがあるか否かを検出するステップと、
複数の仮想ターゲットが前記相互作用距離範囲内で検出された後に、プリセット優先度データを取得するステップと、
前記優先度データに従って前記相互作用距離範囲内の仮想ターゲットを選択するステップと、
前記相互作用命令に従って、制御された仮想キャラクターを前記選択された仮想ターゲットと相互作用するように制御するステップと、
入力され、かつ前記制御された仮想キャラクターの種別に対応する、第1のパラメータおよび第2のパラメータを、設定インタフェースを介して取得するステップと、
前記制御された仮想キャラクターの前記種別と前記第1のパラメータと前記第2のパラメータとの間の対応を、メモリに格納するステップと、
前記相互作用命令に従って、前記制御された仮想キャラクターを前記選択された仮想ターゲットと相互作用するように制御する前記ステップの後に、前記プロセッサは、前記相互作用命令を再び取得するステップと、
前記相互作用命令に対応する相互作用距離および前記第1のパラメータと前記第2のパラメータに基づいて、前記相互作用命令に従った第1の範囲と前記相互作用命令に従った第2の範囲を計算するステップと、
現在選択されている仮想ターゲットと前記制御された仮想キャラクターとの間の距離が前記第1の範囲または前記第2の範囲内に入る場合、前記制御された仮想キャラクターを前記現在選択されている仮想ターゲットと相互作用するように制御するステップと、を実行することを可能にする、不揮発性記憶媒体。
【発明を実施するための形態】
【0014】
本開示の目的、技術的解決策、および利点をより明確にするために、本開示は、添付図面と実施形態を参照して以下に詳細に説明される。本明細書に記載の具体的な実施形態は、本開示を説明すること意図しただけであり、本開示を限定するものではないことを理解されたい。
【0015】
本開示において使用されるように、「第1」および「第2」などの用語は、様々な要素を説明するために使用されるが、要素は用語によって限定されないことを理解されたい。これらの用語は、単に第1の要素を別の要素と区別すること意図しただけである。
【0016】
図1に示すように、
図1は、一実施形態に従った、仮想ターゲットとの相互作用を制御するための方法の実施形態のアプリケーション環境の略図である。アプリケーション環境は、端末102とサーバ104を含む。端末102は、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどであってもよい。端末102は、ネットワークを使用することによって、サーバ104と通信する。
【0017】
一実施形態において、上述の
図1における端末102の内部構造の概略図が
図2に示される。端末102は、システムバスを使用することによって接続された、プロセッサ、記憶媒体、メモリ、ネットワークインタフェース、ディスプレイ、および入力装置を含む。端末の記憶媒体は、オペレーティングシステムを格納し、さらに仮想ターゲットとの相互作用を制御するための装置を含む。仮想ターゲットとの相互作用を制御するための装置は、仮想ターゲットとの相互作用を制御するための方法を実装するように構成される。プロセッサは、計算および制御の機能を提供し、および端末102の全体の動作をサポートするように構成される。端末102のメモリは、記憶媒体内の仮想ターゲットとの相互対話を制御するための装置を動作するための環境を提供する。ネットワークインタフェースは、例えば、仮想キャラクターと仮想ターゲットのデータをサーバ104にアップロードする、およびサーバ104によって返された、仮想キャラクターおよび仮想ターゲットに関するデータを受信する、などのサーバ104とのネットワーク通信を実行するように構成される。端末102のディスプレイは、ゲームシナリオの操作インタフェースなどを表示するように構成される。入力装置は、ディスプレイを覆うタッチ層であってもよく、あるいは、端末102の筐体に配置されたボタン、トラックボール、またはタッチボードであってもよく、あるいは外付けキーボード、タッチボード、あるいはマウス、または類似のものであってもよい。当業者は、
図2に示された構造が、このアプリケーションの解決策に関する構造の一部のブロック図に過ぎず、このアプリケーションの解決策に適用される端末を限定するものではないことを理解するであろう。特定の端末は、図に示された構成要素よりも多くの、あるいは少ない構成要素を含んでもよく、またはいくつかの構成要素を組み合わせるか、または異なる構成要素レイアウトを有してもよい。
【0018】
図3は、一実施形態に従った、仮想ターゲットとの相互作用を制御するための方法のフローチャート図である。
図2における端末102で
図3に示される仮想ターゲットとの相互作用を制御するための方法を動作することが、説明のための一例として使用される。仮想ターゲットとの相互作用を制御するための方法は以下のステップを含む。
【0019】
ステップS302:相互作用命令を取得する。
【0020】
ここでの相互対話命令は、制御された仮想キャラクターを仮想ターゲットと相互作用するように制御する命令を指す。具体的には、ユーザによって入力された相互作用命令は、提供された操作インタフェースを用いて取得される。例えば、ゲームシナリオにおいて、ユーザによって入力された相互作用命令は、ゲームシナリオ内の操作インタフェースを用いて取得されてもよく、相互作用命令は、様々な攻撃命令、ダイアログ命令などを含むが、これに限定されない。具体的には、相互作用命令は、I/Oデバイスを使用することによって取得されてもよい。I/Oデバイスは、マウス、キーボード、タッチスクリーン等であってもよい。例えば、タッチスクリーン使用することによって、ユーザが端末のスキルボタン、または仮想ターゲットをクリックした時、相互作用命令が生成される。
【0021】
ステップS304:相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがあるか否かを検出し、ある場合は、ステップS306を実行し、そうでなければステップS308を実行する。
【0022】
ここでの相互作用距離範囲は、相互作用命令が効果を有することができる距離範囲を指す。具体的には、異なる相互作用命令は、異なる相互作用距離範囲に対応する。相互作用命令が取得された後、第1に、シナリオ内の制御された仮想キャラクターと各仮想ターゲットの位置データが取得される必要があり、次いでシナリオ内の各仮想ターゲットと制御された仮想キャラクターとの間の距離が、仮想ターゲットと制御された仮想キャラクターの位置データに従って計算される。仮想ターゲットと制御された仮想キャラクターとの間の距離が、相互作用命令に対応する相互作用距離よりも短いか、または等しい場合、仮想ターゲットは相互作用命令に対応する相互作用距離範囲にあり、そうでなければ、仮想ターゲットは、相互作用命令に対応する相互作用距離範囲を超える。
【0023】
例えば、ゲームシナリオにおいて、通常攻撃命令に対応する相互作用距離が5メートルであり、およびスキル割り当て命令に対応する相互作用距離が7メートルである場合、取得された相互作用命令が通常攻撃命令である時、シナリオ内の制御された仮想キャラクターと各仮想ターゲットの位置データが取得され、各仮想ターゲットと制御された仮想キャラクターとの間の距離が、仮想ターゲットと制御された仮想キャラクターの位置データに従って計算され、シナリオ内の制御された仮想キャラクターから5メートル以内に仮想ターゲットがあるか否かが検出される。取得された相互作用命令がスキル割り当て命令である時、シナリオ内の制御された仮想キャラクターから7メートル以内に仮想ターゲットがあるか否かが検出される。
【0024】
ステップS306:プリセット優先度データを取得し、優先度データに従って相互作用距離範囲内の仮想ターゲットを選択する。
【0025】
具体的には、プリセット優先度データは、様々な種別の仮想ターゲットから選択するための優先度条件データを指し、より高い優先度の仮想ターゲットを選択する条件は、実際の要求に従ってプリセットされていてもよい。設定インタフェースが提供されてもよく、そうすることによって、ユーザは、例えば提供された設定インタフェースを使用することによってゲームシナリオにおいて、仮想ターゲットを選択する優先度条件を距離優先度、ターゲット属性値優先度などとして設定して、仮想ターゲットを選択する条件を設定する。優先度データは、より小さい距離を有する仮想ターゲットを優先的に選択すること、あるいはより小さい属性値を有する仮想ターゲットを優先的に選択すること、等を示してもよい。
【0026】
一実施形態において、端末は、設定インタフェースを使用することによって、ユーザによって入力された優先度データを取得し、および制御された仮想キャラクターの識別子に従って、優先度データを記憶装置に格納してもよい。端末は、さらに制御された仮想キャラクターの識別子および対応する優先度データを、格納するためのサーバの記憶装置にアップロードしてもよい。従って、端末が優先度データを局所的に取得できない時、端末は制御された仮想キャラクターの識別子に対応する優先度データを、サーバの記憶装置から取得してもよい。
【0027】
例えば、プリセット優先度データがより小さい距離を有する仮想ターゲットを優先的に選択することを示す場合、仮想ターゲットの選択の間、最も近い仮想ターゲットが優先的に選択される。一実施形態において、2つ以上の最も近い仮想ターゲットがある場合、仮想ターゲットはランダムに選択されるか、あるいは2つ以上の仮想ターゲットから最も小さい属性値を有する仮想ターゲットが選択される。プリセット優先度データがより小さい属性値を有する仮想ターゲットを優先的に選択することを示す場合、仮想ターゲットの選択の間、最も小さい属性値を有する仮想ターゲットが優先的に選択される。一実施形態において、2つ以上の最も小さい属性値を有する仮想ターゲットがある場合、仮想ターゲットはランダムに選択されるか、あるいは最も近い仮想ターゲットが2つ以上の仮想ターゲットから選択される。
【0028】
ステップS308:相互作用命令の種別に従って相互作用命令を終了するか、または実行する。
【0029】
具体的には、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがない場合、さらにいくつかの種別の相互作用命令がさらに実行されることがでるが、いくつかの種別の相互作用命令は実行されることができない。
【0030】
例えば、ゲームシナリオにおいて、取得された相互作用命令が、通常攻撃命令であるか、あるいは単体ターゲット攻撃スキル命令である時、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがない場合、2つの命令が実行されることができず、そのまま終了し、取得された相互作用命令が指向性スキル命令である時、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがない場合、次いで相互作用命令は制御された仮想キャラクターが向いた方向で実行され、および取得された相互作用命令が指定されたスキル命令である時、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがいない場合、相互作用命令はデフォルトの位置で実行される。
【0031】
ステップS310:相互作用命令に従って、制御された仮想キャラクターを選択された仮想ターゲットと相互作用するように制御する。
【0032】
具体的には、仮想ターゲットが、プリセット優先度データに従って相互作用距離範囲内で選択された後、制御された仮想キャラクターが、相互作用命令に従って、選択された仮想ターゲットと相互作用するように制御されてもよい。
【0033】
加えて、仮想ターゲットを選択することによって生成されたデータと、相互作用命令に従って、制御された仮想キャラクターを選択された仮想ターゲットと相互作用するように制御することによって生成されたデータとを、サーバにアップロードしてもよく、これによってデータ同期を実装する。
【0034】
相互作用命令を取得することによって、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがあるか否かを検出し、もしある場合は、プリセット優先度データを取得し、優先度データに従って相互作用命令に対応する相互作用距離範囲内の仮想ターゲットを選択し、最後に、相互作用命令に従って、制御された仮想キャラクターを選択された仮想ターゲットと相互作用するように制御し、仮想ターゲットとの対話を制御する上述の方法は、従来の方法における、相互作用ために制御された仮想キャラクターに最も近い仮想ターゲットをデフォルトで選択することと比較して、プリセット優先度データに従って相互作用距離範囲内で相互作用のためにより適切な仮想ターゲットを選択することができ、これによってリソースの浪費を低減する。
【0035】
図4に示すように、優先度データに従って相互作用距離範囲内の仮想ターゲットを選択するステップは、以下のステップを含む。
【0036】
ステップS402:相互作用距離範囲内の仮想ターゲットに対応するレベルを取得し、最も高いレベルを有する1つ又は複数の仮想ターゲットを選択する。
【0037】
具体的には、優先度データは、仮想ターゲットのレベルおよび異なるレベルの仮想ターゲットに対して設定された選択優先度条件を含む。仮想ターゲットは、異なるレベルに分類され、一般的に、より高いレベルを有する仮想ターゲットは、優先的に選択される、等である。シナリオ内の相互作用命令に対応する相互作用距離範囲内に複数の仮想ターゲットがある時、第1に、相互作用距離範囲内の仮想ターゲットに含まれるレベルが取得される必要があり、第2に、最も高いレベルを有する仮想ターゲットが選択される。
【0038】
例えば、ゲームシナリオにおいて、仮想ターゲットは仮想キャラクター、仮想動物、および仮想アプライアンスといった異なるターゲット種別を含んでもよい。仮想キャラクターは第1レベルの仮想ターゲットであり、仮想動物は第2レベルの仮想ターゲットであり、および仮想アプライアンスは第3レベルの仮想ターゲットである。相互作用距離範囲内の仮想ターゲットが第1レベルの仮想ターゲット、第2レベルの仮想ターゲット、および第3レベルの仮想ターゲットを同時に含む場合、最も高いレベルを有する第1レベルの仮想ターゲットが、3つの種別の仮想ターゲットから選択される。相互作用距離範囲内の仮想ターゲットが、第2レベルの仮想ターゲットと第3レベルの仮想ターゲットのみを含む場合、最も高いレベルを有する第2レベルの仮想ターゲットが、2つの種別の仮想ターゲットから選択される。選択規則は、他の場合にも適用可能であり、詳細はここでは再度説明しない。
【0039】
ステップS404:優先度データに従って、最も高いレベルを有する1つ又は複数の仮想ターゲットから制御された仮想キャラクターに最も近い仮想ターゲット、または最も高いレベルを有する1つ又は複数の仮想ターゲットから最も小さい属性値を有する仮想ターゲットを選択する。
【0040】
具体的には、最も高いレベルを有する複数の仮想ターゲットが、ステップS402で選択されてもよく、ここでは、1つの仮想ターゲットが、プリセット優先度データに従って、最も高いレベルを有する複数の仮想ターゲットから選択される。一実施形態において、制御された仮想キャラクターに最も近い仮想ターゲットが、最も高いレベルを有する複数の仮想ターゲットから選択される。一実施形態において、最も小さい属性値を有する仮想ターゲットが、最も高いレベルを有する複数の仮想ターゲットから選択される。
【0041】
一実施形態において、入力されかつ制御された仮想キャラクターの種別に対応する、第1のパラメータおよび第2のパラメータを、設定インタフェースを用いて取得するステップと、制御された仮想キャラクターの種別と第1のパラメータと第2のパラメータとの間の対応を格納するステップとが、さらに含まれる。
【0042】
図5に示すように、相互作用命令に従って、制御された仮想キャラクターを選択された仮想ターゲットと相互作用するように制御するステップの後に、方法は、以下のステップを含む。
【0043】
ステップS502:相互作用命令を取得する。
【0044】
具体的には、ユーザによって入力された相互作用命令は、提供された操作インタフェースを用いて取得される。例えば、ゲームシナリオにおいて、ユーザによって入力された相互作用命令は、ゲームシナリオ内の操作インタフェースを用いて取得されてもよく、相互作用命令は、様々な攻撃命令、ダイアログ命令等を含むが、これに限定されない。
【0045】
ステップS504:現在選択されている仮想ターゲットと制御された仮想キャラクターとの間の距離が、相互作用命令に対応する第1の範囲を超えているか否かを検出し、超えない場合、ステップS506を実行し、超える場合、ステップS508を実行する。
【0046】
具体的には、相互作用命令が取得された後、第1に、制御された仮想キャラクターの種別が取得され、さらに、予め格納されかつ制御された仮想キャラクターの種別に対応する、第1のパラメータおよび第2のパラメータが取得され、次いで第1の範囲および第2の範囲が、計算によって取得される。
【0047】
第1の範囲は、相互作用命令に対応する相互作用距離と第1のパラメータの合計であり、制御された仮想キャラクターの相互作用距離範囲を示すために使用され、第2の範囲は、相互作用命令に対応する相互作用距離と第2のパラメータの合計であり、制御された仮想キャラクターが仮想ターゲットを探索する範囲を示すために使用される。
【0048】
例えば、ゲームシナリオにおいて、制御された仮想キャラクターは、それらの相互作用範囲に従って、近距離相互作用仮想キャラクターおよび長距離相互作用仮想キャラクターに分類されてもよい。制御された仮想キャラクターが、近距離相互作用仮想キャラクターである場合、近距離相互作用仮想キャラクターに対応する第1の範囲と第2の範囲は、近距離相互作用仮想キャラクターに対応する第1のパラメータと第2のパラメータを取得することによって取得されてもよい。同様に、制御された仮想キャラクターが、長距離相互作用仮想キャラクターである場合、長距離相互作用仮想キャラクターに対応する第1の範囲と第2の範囲は、長距離相互作用仮想キャラクターに対応する第1のパラメータと第2のパラメータを取得することによって取得されてもよい。
【0049】
ステップS506:対話命令に従って、制御された仮想キャラクターが選択された仮想ターゲットと相互作用するように制御することを継続する。
【0050】
現在選択されている仮想ターゲットと制御された仮想キャラクターとの間の距離が、相互作用命令に対応する第1の範囲に入る場合、現在選択されている仮想ターゲットが制御された仮想キャラクターの相互作用距離範囲に入ることを示し、制御された仮想キャラクターは、相互作用命令に従って、選択された仮想ターゲットと相互作用するように制御されることが継続される。
【0051】
ステップS508:現在選択されている仮想ターゲットが相互作用命令に対応する第2の範囲内に入るか否かを検出し、入る場合、ステップS510を実行し、そうでなければステップS512を実行する。
【0052】
現在選択されている仮想ターゲットと制御された仮想キャラクターとの間の距離が、相互作用命令に対応する第1の範囲を超える場合、現在選択されている仮想ターゲットは制御された仮想キャラクターの相互作用距離範囲を超えることを示し、現在選択されている仮想ターゲットが、相互作用命令に対応する第2の範囲に入るか否かがさらに検出される、すなわち、第2の範囲内で現在選択されている仮想ターゲットの探索が行われる。
【0053】
ステップS510:制御された仮想キャラクターを動かす制御を実行し、制御された仮想キャラクターを現在選択されている仮想ターゲットと相互作用することを可能にする。
【0054】
現在選択されている仮想ターゲットと制御された仮想キャラクターとの間の距離が、相互作用命令に対応する第2の範囲に入る場合、制御は、制御された仮想キャラクターを動かして制御された仮想キャラクターが現在選択されている仮想ターゲットと相互作用できるように、実行される。
【0055】
ステップS512:相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがあるか否かを検出し、ない場合はステップS514を実行し、そうでなければステップS516を実行する。
【0056】
現在選択されている仮想ターゲットと制御された仮想キャラクターとの間の距離が、相互作用命令に対応する第2の範囲を超える場合、現在選択されている仮想ターゲットは破棄されなければならず、および相互作用命令に対応する相互作用距離範囲内に別の仮想ターゲットがあるか否かが、相互作用命令に従って検出される。
【0057】
ステップS514:相互作用命令の種別に従って相互作用命令を終了するか、または実行する。
【0058】
具体的には、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットが無い場合において、ある種別の相互作用命令がさらに実行されることができるが、一部の種別は実行されることができない。
【0059】
例えば、ゲームシナリオにおいて、取得された相互作用命令が通常攻撃命令であるか、あるいは単体ターゲット攻撃スキル命令である時、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがない場合、2つの命令が実行されることができず、そのまま終了し、取得された相互作用命令が指向性スキル命令である時、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがない場合、相互作用命令は制御された仮想キャラクターが向いた方向で実行され、および取得された相互作用命令が指定されたスキル命令である時、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがない場合、相互作用命令はデフォルトの位置で実行される。
【0060】
ステップS516:プリセット優先度データを取得し、優先度データに従って相互作用距離範囲内の仮想ターゲットを選択する。
【0061】
具体的には、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがあることが検出された場合、ステップS516が実行される。プリセット優先度データは、様々な種別の仮想ターゲットを選択するための優先度条件データを指し、仮想ターゲットを優先的に選択する条件は、実際の要求に従ってプリセットされていてもよい。設定インタフェースが提供されてもよく、そうすることによって、ユーザは、例えば提供された設定インタフェースを使用することによってゲームシナリオにおいて、距離優先度、ターゲット属性値優先度などを設定して、仮想ターゲットを選択する条件を設定する。優先度データは、より小さい距離を有する仮想ターゲットを優先的に選択すること、あるいはより小さい属性値を有する仮想ターゲットを優先的に選択すること、等を示してもよい。
【0062】
一実施形態において、端末は、設定インタフェースを使用することによって、ユーザによって入力された優先度データを取得し、および制御された仮想キャラクターの識別子に従って、優先度データを格納してもよい。端末は、さらに制御された仮想キャラクターの識別子および対応する優先度データを格納するためのサーバにアップロードしてもよい。従って、端末が優先度データを局所的に取得できない時、端末は制御された仮想キャラクターの識別子に対応する優先度データを、サーバから取得してもよい。
【0063】
ステップS518:相互作用命令に従って、制御された仮想キャラクターと選択された仮想ターゲットが相互作用するように制御する。
【0064】
具体的には、仮想ターゲットが選択された後、制御された仮想キャラクターは、相互作用命令に従って、選択された仮想ターゲットと相互作用するように制御される。加えて、仮想ターゲットを選択することによって、および相互作用命令に従って、制御された仮想キャラクターを選択された仮想ターゲットと相互作用するように制御することによって、生成されたデータをサーバにアップロードしてもよく、これによってデータ同期を実装する。
【0065】
上述した仮想ターゲットとの相互作用を制御するための方法をより明確に説明するために、
図6を参照して、以下に仮想ターゲットとの相互作用を制御するための方法をゲームシナリオに適用するプロセスを説明する。
【0066】
図6に示すように、ゲームシナリオMにおいて、制御された仮想キャラクターAは、近距離相互作用仮想キャラクターであり、入力デバイスを使用することによってユーザによって入力された相互作用命令が、ゲームシナリオ内の操作インタフェースを使用することによって取得される。ゲームシナリオMにおいて、仮想ターゲットB、C、およびDは、第1レベルの仮想ターゲットであり、仮想ターゲットa、b、およびcは、第2レベルの仮想ターゲットであり、並びに仮想ターゲットβおよびεは第3レベルの仮想ターゲットである。
【0067】
端末によって取得された相互作用命令がスキル割り当て命令である時、範囲内の点と短距離相互作用仮想キャラクターAとの間の距離が、スキル割り当て命令に対応する相互作用距離R(例えば、R=20m)より短いか等しい範囲内に仮想ターゲットがあるか否かが検出される。
図6からわかるように、スキル割り当て命令に対応する相互作用距離範囲内に、第1レベルの仮想ターゲットBとC、第2レベルの仮想ターゲットaとb、および第3レベルの仮想ターゲットβがあり、スキル割り当て命令に対応する相互作用距離範囲を超えて、第1レベルの仮想ターゲットD、第2レベルの仮想ターゲットc、および第3レベルの仮想ターゲットεがある。スキル割り当て命令に対応する相互作用距離範囲内の全ての仮想ターゲットのレベルが取得され、最も高いレベルを有する第1レベルの仮想ターゲットBとCが仮想ターゲットとして選択され、次いで最も高いレベルを有する仮想ターゲットBおよびCにおいて近距離相互作用仮想キャラクターAに最も近い仮想ターゲット、あるいは最も高いレベルを有する仮想ターゲットBおよびCにおいて最も小さい属性値を有する仮想ターゲットが、優先度データに従って選択される。例えば、最も高いレベルを有する仮想ターゲットBおよびCにおいて近距離相互作用仮想キャラクターAに最も近い仮想ターゲットが優先度データに従って選択され、第1レベルの仮想ターゲットBと近距離相互作用仮想キャラクターAとの間の距離が1.5メートルであり、および第1レベルの仮想ターゲットCと近距離相互作用仮想キャラクターAとの間の距離が3メートルである場合、第1レベルの仮想ターゲットBが仮想ターゲットとして選択され、相互作用命令に従って、近距離相互作用仮想キャラクターAが選択された第1レベルの仮想ターゲットBと相互作用するように制御される。第1レベルの仮想ターゲットが無く、スキル割り当て命令に対応する相互作用距離範囲内に第2レベルの仮想ターゲットと第3レベルの仮想ターゲットだけがあると仮定すると、第2レベルの仮想ターゲットが最初に選択され、第2レベルの仮想ターゲットにおいて近距離相互作用仮想キャラクターAに最も近い仮想ターゲット、あるいは最も高いレベルを有する仮想ターゲットにおいて最も小さい属性値を有する仮想ターゲットが、優先度データに従って選択される。
【0068】
スキル割り当て命令に対応する相互作用距離範囲内に仮想ターゲットが無い場合、スキルのさらなる分類結果に従って、相互作用命令は終了されるかまたは実行される。スキル割り当て命令を実行するためのフローチャート図については
図7を参照されたい。
【0069】
取得された相互作用命令が通常攻撃命令である時、範囲における点と近距離相互作用仮想キャラクターAとの間の距離が相互作用距離r(例えば、r=5メートル)より小さいか等しい、通常攻撃命令に対応する、範囲内に仮想ターゲットがあるか否かが検出される。
図6からわかるように、通常攻撃命令に対応する相互作用距離範囲内に第2レベルの仮想ターゲットaと第3レベルの仮想ターゲットβがあり、通常攻撃命令に対応する相互作用距離を超えて、第1レベルの仮想ターゲットB、C、およびD、第2レベルの仮想ターゲットbおよびc、並びに第3レベルの仮想ターゲットεがある。通常攻撃命令に対応する相互作用距離内の全ての仮想ターゲットのレベルが取得された後、最も高いレベルを有する第2レベルの仮想ターゲットaが仮想ターゲットとして選択される。通常攻撃命令に対応する相互作用距離範囲内に、仮想ターゲットが無いとみなされると、通常攻撃命令はそのまま終了される。通常攻撃命令を実行するためのフローチャート図については
図8を参照されたい。
【0070】
さらに、制御された仮想キャラクターAが長距離相互作用仮想キャラクターである場合、異なる検出範囲を除いて、制御された仮想キャラクターAを仮想ターゲットと相互作用するように制御するプロセスは、前述した処理と同じであり、詳細はここでは再度説明しない。
【0071】
本開示のこの実施形態において提供される仮想ターゲットとの相互作用を制御するための方法は、好ましくはオンラインゲーム、特に、MOBA(Multiplayer Online Battle Arena Games、マルチプレイヤー・オンライン・バトル・アリーナ・ゲーム)タイプのゲームに適用される。
図9に示すように、具体的なゲームシナリオにおいて、ヒーロー902が制御された仮想キャラクターであり、ユーザはゲームシナリオ内の操作インタフェースの通常攻撃ボタン904をクリックすることによって、通常攻撃命令を入力してもよく、あるいは、スキルボタン906をクリックすることによって、スキル割り当て命令を入力してもよい。ゲームシナリオにおいて、ヒーロー908がヒーロー902に敵対する第1レベルの仮想ターゲットであり、モンスター910がヒーロー902に敵対する第2レベルの仮想ターゲットであり、および建物912はヒーロー902に敵対する第3レベルの仮想ターゲットである。
【0072】
ユーザが通常攻撃ボタン904をクリックした時、相互作用距離範囲がゲームシナリオ内に形成され、次いで相互作用距離範囲内に仮想ターゲットがあるか否かが検出される。
図9からわかるように、スキル割り当て命令に対応する相互作用距離範囲内にヒーロー908だけがあり、従って、ヒーロー902は、最も高いレベルを有するヒーロー908を仮想ターゲットとして選択する。通常攻撃命令に対応する相互作用距離範囲内に仮想ターゲットが無いとみなされると、通常攻撃命令はそのまま終了する。
【0073】
さらに、ゲームシナリオ内の制御された仮想キャラクターおよび各仮想ターゲットは対応する属性値を有する。
図9に示すように、表示枠914は、ヒーロー902の血液値(blood value)や経験値などの属性値を示してもよい。ヒーロー902の相互作用範囲内に、最も高いレベルを有する複数の仮想ターゲットがある時、最も高いレベルを有する仮想ターゲットにおいてヒーロー902に最も近い仮想ターゲット、あるいは最も高いレベルを有する仮想ターゲットにおいて最も小さい属性値を有する仮想ターゲットが、優先度データに従って相互作用のために選択される。
【0074】
図10に示すように、仮想ターゲットとの相互作用を制御するための装置1000は、相互作用命令取得モジュール1002、検出モジュール1004、選択モジュール1006、相互作用制御モジュール1008を含む。
【0075】
相互作用命令取得モジュール1002は、相互作用命令を取得するように構成される。
【0076】
検出モジュール1004は、取得された相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがあるか否かを検出するように構成される。
【0077】
選択モジュール1006は、プリセット優先度データを取得し、および優先度データに従って相互作用距離範囲内の仮想ターゲットを選択するように構成される。
【0078】
相互作用制御モジュール1008は、相互作用命令に従って、制御された仮想キャラクターを選択された仮想ターゲットと相互作用するように制御するように構成される。
【0079】
図11に示すように、別の実施形態において、仮想ターゲットとの相互作用を制御するための装置1100は、相互作用命令取得モジュール1102、検出モジュール1104、選択モジュール1106、相互作用制御モジュール1108、パラメータ取得モジュール1110、ストレージモジュール1112を含む。
【0080】
相互作用命令取得モジュール1102は、相互作用命令を取得するように構成される。
【0081】
検出モジュール1104は、取得された相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがあるか否かを検出するように構成される。
【0082】
選択モジュール1106は、プリセット優先度データを取得し、および優先度データに従って相互作用距離範囲内の仮想ターゲットを選択するように構成される。
【0083】
相互作用制御モジュール1108は、相互作用命令に従って、制御された仮想キャラクターを選択された仮想ターゲットと相互作用するように制御するように構成される。
【0084】
パラメータ取得モジュール1110は、入力されかつ制御された仮想キャラクターの種別に対応する、第1のパラメータと第2のパラメータを、設定インタフェースを用いて取得するように構成される。
【0085】
ストレージモジュール1112は、制御された仮想キャラクターの種別と、第1のパラメータと、第2のパラメータとの間の対応を格納するように構成される。
【0086】
さらに、相互作用命令に従って、相互作用制御モジュール1108が制御された仮想キャラクターを選択された仮想ターゲットと相互作用するように制御した後、相互作用命令取得モジュール1102は、相互作用命令を取得するようにさらに構成される。
【0087】
さらに、検出モジュール1104は、現在選択されている仮想ターゲットと制御された仮想キャラクターとの間の距離が、相互作用命令に対応する第1の範囲を超えるか否かを検出するようにさらに構成され、はいの場合、現在選択されている仮想ターゲットが相互作用命令に対応する第2の範囲に入るか否かが、検出モジュール1104を使用することによって検出され、はいの場合、制御された仮想キャラクターは、制御された仮想キャラクターを現在選択されている仮想ターゲットと相互作用できるようにするために動かすように、相互作用制御モジュール1108を使用することによって、制御される。
【0088】
現在選択されている仮想ターゲットと制御された仮想キャラクターとの間の距離が第1の範囲に入る場合、相互作用命令に従って相互作用制御モジュール1108を使用することによって、選択された仮想ターゲットと相互作用するように、制御された仮想キャラクターがさらに制御される。
【0089】
第1の範囲は、相互作用命令に対応する相互作用距離と第1のパラメータとの合計であり、および第2の範囲は相互作用命令に対応する相互作用距離と第2のパラメータとの合計である。
【0090】
一実施形態において、検出モジュール1104は、現在選択されている仮想ターゲットと制御された仮想キャラクターとの間の距離が第2の範囲を超える時、相互作用命令に対応する相互作用距離範囲内に仮想ターゲットがあるか否かを検出するようにさらに構成され、はいの場合、プリセット優先度データが選択モジュール1106を使用することによって取得され、相互作用距離範囲内の仮想ターゲットが優先度データに従って選択され、相互作用命令に従って相互作用制御モジュール1108を使用することによって、制御された仮想キャラクターが選択された仮想ターゲットと相互作用するように制御される。
【0091】
図12に示すように、一実施形態において、選択モジュール1200は、レベル取得ユニット1202と選択ユニット1204を含む。
【0092】
レベル取得ユニット1202は、相互作用距離範囲内の仮想ターゲットに含まれるレベルを取得するように構成される。
【0093】
選択ユニット1204は、最も高いレベルを有する仮想ターゲットを選択するように構成され、最も高いレベルを有する仮想ターゲットのうち、制御された仮想キャラクターに最も近い仮想ターゲット、あるいは最も高いレベルを有する仮想ターゲットのうち、最も小さい属性値を有する仮想ターゲットが、優先度データに従って選択される。
【0094】
当業者は、上述の実施形態における方法のプロセスの全て又は一部が、関連するハードウェアを指示するコンピュータプログラムによって実装され得ることを理解することができる。プログラムは、不揮発性のコンピュータ可読記憶媒体に格納されてもよい。プログラム実行時には、上記実施形態の方法のプロセスが実行される。記憶媒体は、磁気ディスク、光ディスク、読み出し専用メモリ(Read-Only Memory、ROM)等であってもよい。
【0095】
上述の実施形態は、本開示のいくつかの実施形態を説明するにすぎず、これらの説明は具体的かつ詳細であるが、本開示の特許範囲の制限として理解されることはできない。当業者は、本開示の概念から逸脱することなく、さらに変形および改良を行うことができ、これらはすべて本開示の保護範囲内に入ることに留意すべきである。従って、本開示の特許保護範囲は、添付の特許請求の範囲に従うべきである。