(57)【要約】  ゲームシーンにおける仮想リソースの処理方法及び装置であり、該方法は、ゲームシーンにおける仮想キャラクターの現在位置に基づいて、該仮想キャラクターが位置する領域を決定することと、該領域の範囲に基づいて、ゲームシーンに対応する仮想リソースをロードすることと、ゲームシーンにおける仮想リソースの状態を領域単位で更新することとを含み、これにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
2021504017.tif 000002
【特許請求の範囲】
【請求項１】
ゲームシーンにおける仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定することと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定することと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成することと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにすることと、を含む、ゲームシーンにおける仮想リソースの処理方法。
【請求項２】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する前に、
前記取り除くべき仮想リソースが所定の条件を満たしたことを検出することをさらに含む、請求項１に記載の方法。
【請求項３】
前記領域に対応する領域仮想リソース状態情報を生成する前に、
前記取り除くべき仮想リソースと隣接関係を有する隣接仮想リソースを決定することと、
前記隣接仮想リソースの隣接関係リストを取得し、前記取り除くべき仮想リソースを前記隣接関係リストから削除することと、
前記隣接関係リストに基づいて、前記隣接仮想リソースが地面に接続されているか否かを判断し、前記隣接仮想リソースが地面に接続できなければ、前記隣接仮想リソースを前記ゲームシーンの前記領域から削除することと、をさらに含む、請求項１に記載の方法。
【請求項４】
前記ゲームシーンは、領域内の仮想リソースの現在の状態情報を示す領域バージョン番号がそれぞれ設定された複数の領域に分割され、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定した後、
前記仮想キャラクターが前記領域に入ったのが初めてであるか否かを判断することと、
前記領域に入ったのが初めてである場合、前記領域の現在の領域バージョン番号を仮想キャラクター領域バージョン情報として保存し、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することと、
前記領域に入ったのが初めてではない場合、前記仮想キャラクターに対応する仮想キャラクター領域バージョン情報を取得することと、
前記仮想キャラクター領域バージョン情報を前記領域の現在の領域バージョン番号とマッチングすることと、
前記仮想キャラクター領域バージョン情報が前記領域の現在の領域バージョン番号と異なれば、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することと、をさらに含む、請求項１に記載の方法。
【請求項５】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成し、前記方法は、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除することと、
前記領域に対応する領域バージョン番号をイテレートして前記領域の現在の領域バージョン番号として決定することと、
領域仮想リソース状態情報を更新することと、をさらに含む、請求項４に記載の方法。
【請求項６】
前記ゲームシーンにおける複数の仮想リソースに基づいて、少なくとも各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とを含む仮想リソース状態インデックステーブルを作成することと、
前記仮想リソース状態インデックステーブルをクライアントに同期することと、をさらに含む、請求項１に記載の方法。
【請求項７】
前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、前記仮想リソース識別子の上位情報は合成モデルを示すものであり、前記識別子の下位情報は前記合成モデルを構成する仮想リソースを示すものである、請求項６に記載の方法。
【請求項８】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、
前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つである、請求項６に記載の方法。
【請求項９】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、
前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つである、請求項６に記載の方法。
【請求項１０】
前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、
前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、
前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなり、
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、
前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものである、請求項６に記載の方法。
【請求項１１】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、
前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものである、請求項６に記載の方法。
【請求項１２】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成することは、
前記領域に基づいて、仮想リソース状態インデックステーブルから前記領域内の仮想リソース状態情報を取得することと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域内の仮想リソース状態情報を更新し、前記領域に対応する領域仮想リソース状態情報を生成することと、を含む、請求項１１に記載の方法。
【請求項１３】
ゲームシーンにおける仮想リソースの処理方法であって、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて、前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定することと、
前記取り除くべき仮想リソースの識別子をサーバに送信することと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信することと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示することと、を含む方法。
【請求項１４】
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、前記方法は、
前記領域仮想リソース状態情報に基づいて、前記領域内の取り除くべき仮想リソース、及び前記取り除くべき仮想リソースの隣接仮想リソースの状態を更新し、更新された前記領域内の仮想リソースの状態に基づいて、前記領域内の仮想リソースをレンダリングして表示することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答する前に、
ゲームシーンにおける前記仮想キャラクターの現在位置を取得し、ローカルから仮想リソース状態インデックステーブルを取得することと、
ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードすることと、をさらに含む、請求項１３に記載の方法。
【請求項１６】
ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードすることは、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定することと、
前記仮想リソース状態インデックステーブルに基づいて、前記領域内の仮想リソース状態情報を取得することと、
前記領域内の仮想リソース状態情報に基づいて、前記ゲームシーンの前記領域内の仮想リソースをレンダリングしてロードすることと、を含む、請求項１５に記載の方法。
【請求項１７】
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、前記方法は、
前記領域仮想リソース状態情報に基づいて、ローカルの前記仮想リソース状態インデックステーブルを更新することと、
更新された前記仮想リソース状態インデックステーブルに基づいて、前記仮想リソースをレンダリングして表示することと、をさらに含む、請求項１６に記載の方法。
【請求項１８】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とをさらに含む、請求項１５に記載の方法。
【請求項１９】
前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、
前記仮想リソース識別子の上位情報は合成モデルを示すものであり、
前記識別子の下位情報は前記合成モデルを構成する仮想リソースを示すものである、請求項１８に記載の方法。
【請求項２０】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、
前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つである、請求項１５に記載の方法。
【請求項２１】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、
前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つである、請求項１５に記載の方法。
【請求項２２】
前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、
前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、
前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなり、
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、
前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものである、請求項１５に記載の方法。
【請求項２３】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、
前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものである、請求項１５に記載の方法。
【請求項２４】
ゲームシーンにおける仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定する第１の決定モジュールと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定する第２の決定モジュールと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成する第１の更新モジュールと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにする第１の送信モジュールと、を含む、ゲームシーンにおける仮想リソースの処理装置。
【請求項２５】
ゲームシーンにおける仮想リソースの処理装置であって、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて、前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定する第３の決定モジュールと、
前記取り除くべき仮想リソースの識別子をサーバに送信する第２の送信モジュールと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信する第１の受信モジュールと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示する第２の更新モジュールと、を含む装置。
【請求項２６】
サーバとクライアントとを含み、
サーバは、第１のプロセッサと、
前記第１のプロセッサの第１の実行可能な命令を記憶する第１のメモリと、を含み、
前記第１のプロセッサは、前記第１の実行可能な命令を実行することにより、請求項１〜１２のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法を実行するように構成され、
クライアントは、第２のプロセッサと、
前記第２のプロセッサの第２の実行可能な命令を記憶する第２のメモリと、を含み、
前記第２のプロセッサは、前記第２の実行可能な命令を実行することにより、請求項１３〜２３のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法を実行するように構成される、ゲームシステム。
【請求項２７】
プロセッサと、
前記プロセッサの実行可能な命令を記憶するメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、請求項１〜１２のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法を実行するように構成されることを特徴とする、電子機器。
【請求項２８】
プロセッサと、
前記プロセッサの実行可能な命令を記憶するメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、請求項１３〜２３のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法を実行するように構成されることを特徴とする、電子機器。
【請求項２９】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜１２のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法が実現されることを特徴とする、コンピュータ読み取り可能な記憶媒体。
【請求項３０】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１３〜２３のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法が実現されることを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年１月３０日に中国特許局に提出された、出願番号が２０１８１００９２８１３．６で、発明の名称が「ゲームシーンにおける仮想リソースの処理方法及び装置」である中国特許出願の優先権を主張し、その内容を全部本願に引用する。
【０００２】
本発明は、ゲームの技術分野に関し、特に、ゲームシーンにおける仮想リソースの処理方法及び装置に関する。
【背景技術】
【０００３】
インターネットの波に乗って、ハードウェア及びソフトウェア技術が継続的に発展し、進化することにより、インテリジェント機器及びソフトウェアの出現が促進される。これに伴い、ユーザの需要を満たすために、大量の、様々な主題のゲームが大勢現れてきた。
【０００４】
端末上で実行されるゲームアプリケーションは、現在、様々な異なる主題及びプレータイプがあり、様々な異なるプレーを組み合わせることによりゲームのプレーアビリティを向上させることは、本分野の現在の発展方向である。例えば、シューティングゲームと建設ゲームとを組み合わせたり、ストラテジーゲームとパルクールゲームとを組み合わせたりする。
【０００５】
シューティングゲームと建設ゲームとを組み合わせるゲームタイプの場合、複雑なゲームのプレーは、コンピューティング能力が制限される端末にとって実現不可能であるか又は大きく制限される場合があり、例えば、ゲーム中の建設プレーは、ゲームシーンにおいて大量の取り除き可能で建設可能なモデルが存在し、全てのモデルが占めるメモリが非常に大きいため、メモリが小さい端末は大量のモデルによる負荷に耐えられない恐れがある。メモリが十分であっても、このような大量の細かい細分化モデルが、データ処理及びグラフィックスレンダリングの面にも端末に大きな負荷をもたらす。
【０００６】
なお、上記背景技術の部分に開示された情報は、本開示の背景に対する理解を深めるためのものに過ぎず、当業者に既知の従来技術を構成しない情報を含むことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、ゲームシーンにおける仮想リソースの処理方法及び装置を提供し、さらに、関連技術の制限及び欠陥による１つ以上の問題を少なくともある程度解決することである。
【課題を解決するための手段】
【０００８】
本発明の一態様において、
ゲームシーンにおける仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定することと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定することと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成することと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにすることと、を含む、ゲームシーンにおける仮想リソースの処理方法を提供する。
【０００９】
本開示の別の態様において、
ゲームシーンにおける仮想リソースの処理方法であって、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて、前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定することと、
前記取り除くべき仮想リソースの識別子をサーバに送信することと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信することと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示することと、を含む方法を提供する。
【００１０】
本開示の別の態様において、
ゲームシーンにおける仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定する第１の決定モジュールと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定する第２の決定モジュールと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成する第１の更新モジュールと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにする第１の送信モジュールと、を含む、ゲームシーンにおける仮想リソースの処理装置を提供する。
【００１１】
本開示の別の態様において、
ゲームシーンにおける仮想リソースの処理装置であって、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて、前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定する第３の決定モジュールと、
前記取り除くべき仮想リソースの識別子をサーバに送信する第２の送信モジュールと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信する第１の受信モジュールと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示する第２の更新モジュールと、を含む装置を提供する。
【００１２】
本開示の別の態様において、
サーバとクライアントとを含み、
サーバは、第１のプロセッサと、
前記第１のプロセッサの第１の実行可能な命令を記憶する第１のメモリと、を含み、
前記第１のプロセッサは、前記第１の実行可能な命令を実行することにより、上記のゲームシーンにおける仮想リソースの処理方法を実行するように構成され、
クライアントは、第２のプロセッサと、
前記第２のプロセッサの第２の実行可能な命令を記憶する第２のメモリと、を含み、
前記第２のプロセッサは、前記第２の実行可能な命令を実行することにより、上記のゲームシーンにおける仮想リソースの処理方法を実行するように構成される、ゲームシステムを提供する。
【００１３】
本開示の別の態様において、
プロセッサと、
前記プロセッサの実行可能な命令を記憶するメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、上記のゲームシーンにおける仮想リソースの処理方法を実行するように構成される、電子機器を提供する。
【００１４】
本開示の別の態様において、
プロセッサと、
前記プロセッサの実行可能な命令を記憶するメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、上記のゲームシーンにおける仮想リソースの処理方法を実行するように構成される、電子機器を提供する。
【００１５】
本開示の別の態様において、プロセッサにより実行されると、上記ゲームシーンにおける仮想リソースの処理方法が実現されるコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供する。
【００１６】
本開示の別の態様において、
プロセッサと、
前記プロセッサの実行可能な命令を記憶するメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、上記ゲームシーンにおける仮想リソースの処理方法を実行するように構成される、電子機器を提供する。
【００１７】
本開示の別の態様において、プロセッサにより実行されると、上記ゲームシーンにおける仮想リソースの処理方法が実現されるコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供する。
【００１８】
本開示の別の態様において、プロセッサにより実行されると、上記ゲームシーンにおける仮想リソースの処理方法が実現されるコンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供する。
【発明の効果】
【００１９】
本開示の１つの実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【図面の簡単な説明】
【００２０】
以下の図面を参照しながら例示的な実施例を詳しく説明することにより、本開示の上記及び他の特徴及び利点は、より明らかになる。明らかに、以下に説明される図面は、本開示のいくつかの実施例に過ぎず、当業者にとって、創造的労働をすることなく、さらに、これらの図面に基づいて他の図面を得ることができる。
【図１】本開示の実施例に係るゲームシーンにおける仮想リソースの処理方法の１つのフローチャートである。
【図２】本開示の１つの例示的な実施例に係る仮想リソースの三次元再構築マッピング関係の概略図である。
【図３】本開示の１つの例示的な実施例に係る仮想リソース状態インデックステーブルの概略図である。
【図４】本開示の実施例に係るゲームシーンにおける仮想リソースの処理方法の１つのフローチャートである。
【図５】本開示の実施例に係るゲームシーンにおける仮想リソースの処理方法の１つのフローチャートである。
【図６】本開示の実施例に係るゲームシーンにおける仮想リソースの処理装置の１つの構成図である。
【図７】本開示の実施例に係るゲームシーンにおける仮想リソースの処理装置の１つの構成図である。
【図８】本開示の実施例に係るゲームシステムの１つの構成図である。
【図９】本開示の実施例に係る電子機器の１つの構成概略図である。
【図１０】本開示の実施例に係る電子機器の１つの構成概略図である。
【図１１】本開示の実施例に係る記憶媒体の１つの構成概略図である。
【図１２】本開示の実施例に係る記憶媒体の１つの構成概略図である。
【発明を実施するための形態】
【００２１】
なお、本願の実施例及び実施例の特徴は、矛盾しない限り、互いに組み合わせることができる。以下、図面を参照しながら実施例を組み合わせて本発明を詳細に説明する。
【００２２】
当業者に本発明の技術手段をうまく理解させるために、以下、本発明の実施例に係る図面を組み合わせて、本発明の実施例に係る技術的解決手段を明確かつ完全に説明し、明らかに、説明される実施例は、本発明の一部の実施例に過ぎず、全ての実施例ではない。本発明の実施例に基づいて、当業者が創造的労働を行わずに得られる他の全ての実施例は、いずれも本発明の保護範囲に属すべきである。
【００２３】
なお、本発明の明細書、特許請求の範囲及び上記図面に用いられる「第１」、「第２」などの用語は、類似する対象を区別するためのもので、特定の順又は前後順を限定するものではない。本発明の実施例を説明する利便性のために、このように使用されるデータは適切な状況で交換可能であることを理解すべきである。また、用語「含む」、「有する」及びそれらの変形は、非排他的に含むことをカバーするものであり、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は機器は、それらのステップ又はユニットを明確に例示したのに限定されず、明確に例示していない又はこれらのプロセス、方法、製品又は機器固有の他のステップ又はユニットを含んでもよいことを表す。
【００２４】
なお、本明細書に開示された様々なトリガーイベントは、予め設定されてよく、異なるトリガーイベントは、異なる機能をトリガーして実行してよい。
【００２５】
本開示の実施例はゲームシーンにおける仮想リソースの処理方法を提供し、該方法の実行主体はサーバであり、該サーバは一台又は複数台のコンピュータ、サーバ、クラスタ等の任意のサーバデバイスであってもよい。図１は本発明の実施例に係るゲームシーンにおける仮想リソースの処理方法の１つのフローチャートである。図１に示すように、本実施例では、該方法は、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定するステップＳ１１０と、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定するステップＳ１２０と、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成するステップＳ１３０と、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにするステップＳ１４０と、を含む。
【００２６】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【００２７】
以下、例示的な本実施例に係るゲームシーンにおける仮想リソースの処理方法の各ステップをさらに説明する。
【００２８】
例示的な本実施例において、ゲームシーンは、角形であってもよいし、他の形状（例えば、円形等）であってもよい。ゲームシーンには、地面、山、石、花、草、木、建物等が含まれてよい。
【００２９】
ゲームシーンには少なくとも１つの仮想リソースが含まれ、仮想リソースは、ゲームシーンに建設される建物、例えば住宅、水平面、垂直面、傾斜面、テーブル、椅子、街灯などの仮想物体であってよい。仮想リソースは、クライアントのグラフィカルユーザインタフェースにより表示されてよく、表示されるコンテンツは、仮想リソースの全部を含んでもよいし、仮想リソースの一部を含んでもよい。
【００３０】
ゲームシーンは、クライアントのグラフィカルユーザインタフェースにより表示できる少なくとも１つの仮想キャラクターを含み、表示されるコンテンツは、仮想キャラクターの全部を含んでもよいし、仮想キャラクターの一部を含んでもよい。例えば、第３者視点のゲームにおいて、グラフィカルユーザインタフェースにより表示されるコンテンツは、仮想キャラクターの全部を含むことができ、また、例えば、第１者視点のゲームにおいて、グラフィカルユーザインタフェースにより表示されるコンテンツは、仮想キャラクターの一部又は部分を含むことができる。
【００３１】
仮想キャラクターは、敵陣の仮想キャラクターであってもよいし、味方の仮想キャラクターであってもよく、仮想キャラクターは、ユーザの操作に応じてゲームシーンにおいて対応する挙動をすることができ、例えば、ユーザは、仮想キャラクターを制御してゲームシーンにおいて歩き、走り、蹲り、這い蹲り、攻撃、シューティングなどの動作を行うことができ、本発明では、これについて限定しない。
【００３２】
好適な実施形態において、ステップＳ１１０では、ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて前記仮想キャラクターが位置する領域を決定する。
【００３３】
サーバは、ゲームシーンにおける仮想キャラクターの現在位置をリアルタイムに監視し、ゲームシーンにおいて、ユーザのクライアントでのタッチ操作により仮想キャラクターの移動方向を変更することにより、該仮想キャラクターが自由に移動することができるため、仮想キャラクターのゲームシーンにおける位置が変化する。
【００３４】
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて前記仮想キャラクターが位置する領域を決定する。該領域は、ゲームシーンにおける、仮想キャラクターが位置する位置を中心として、所定の距離を半径とする円形範囲の領域であってもよいし、仮想キャラクターが位置する現在位置を含む任意の形状の領域であってもよいし、ゲームシーンを複数の領域に予め分割して、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該現在位置が属する所定の領域を決定してもよい。
【００３５】
好適な実施形態において、前記ゲームシーンは複数の領域に分割され、各前記領域はそれぞれ、前記領域内の仮想リソースの現在の状態情報を示すための領域バージョン番号が設定されている。
【００３６】
なお、ゲームシーンは、論理的なゲームシーン領域である複数の領域に分割され、該領域の分割はプレイヤーに見えなくてもよいし、プレイヤーに見えてもよく、該領域は、ゲームシーンとゲームシーンにおけるモデルに領域的な管理を行うために用いられる。それにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【００３７】
各領域内の仮想リソース状態情報の新旧を示すように、サーバは各領域のために領域バージョン番号をメインテインする。該領域バージョン番号は、正の自然数であってよく、各領域内の仮想リソースの状態が変化すると、該領域バージョン番号は所定のルールに従ってイテレートして変更することができ、領域バージョン番号をイテレートして変更する方式は、領域バージョン番号に１を加算すること、領域バージョン番号から１を引くこと、又は領域バージョン番号に唯一の識別子を追加することなどであってよい。このため、該領域バージョン番号により該領域内の仮想リソース状態情報の新旧を識別する。例えば、領域Ｚの領域バージョン番号が２であり、該領域Ｚ内の仮想リソースの状態が変化すると、該領域Ｚの領域バージョン番号が３にイテレートして変更され、該領域Ｚの領域バージョン番号が３であることに対応する領域仮想リソース状態情報は、該領域Ｚ内の仮想リソースの現在の状態情報である。
【００３８】
好適な実施形態において、ステップＳ１１０の後に、
前記仮想キャラクターが前記領域に入ったのが初めてであるか否かを判断するステップＳ１１０１と、
前記領域に入ったのが初めてである場合、前記領域の現在の領域バージョン番号を仮想キャラクター領域バージョン情報として保存し、かつ前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信するステップＳ１１０２と、
前記領域に入ったのが初めてではない場合、前記仮想キャラクターに対応する仮想キャラクター領域バージョン情報を取得するステップＳ１１０３と、
前記仮想キャラクター領域バージョン情報を前記領域の現在の領域バージョン番号とマッチングするステップＳ１１０４と、
前記仮想キャラクター領域バージョン情報が前記領域の現在の領域バージョン番号と異なれば、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信するステップＳ１１０５と、をさらに含む。
【００３９】
サーバは、各領域のために領域バージョン番号をメインテインするとともに、各仮想キャラクターのためにその通過した領域の領域バージョン情報をメインテインし、仮想キャラクターがある領域に初めて入ったとき、サーバは、該領域の現在の領域バージョン番号を仮想キャラクター領域バージョン情報として保存し、かつ前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することにより、クライアントが該領域仮想リソース状態情報に基づいて該領域内の仮想リソースをロードするようにする。該仮想キャラクターが再び前記領域に入ると、該仮想キャラクターに対応する該領域の仮想キャラクター領域バージョン情報を取得し、該仮想キャラクター領域バージョン情報を該領域の現在の領域バージョン番号とマッチングし、一致しなければ、サーバは、該領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することにより、クライアントが該領域仮想リソース状態情報に基づいてローカルにバッファリングされた関連情報を更新しかつ／又は該領域内の仮想リソースをロードするようにする。
【００４０】
例えば、サーバは、領域Ｚのために「２」という領域バージョン番号をメインテインし、キャラクタａ（クライアントａにより操作される）が初めて領域Ｚに入ると、サーバは、領域Ｚの現在の領域バージョン番号「２」をキャラクタａに対応する領域Ｚの領域バージョン情報として保存し、かつ該領域Ｚの領域バージョン番号「２」に対応する領域仮想リソース状態情報をキャラクタａに対応するクライアントａに送信する。領域Ｚにおける仮想リソースの状態が変化すると、該領域Ｚの現在の領域バージョン番号が「３」になり、キャラクタａが再び領域Ｚに入ると、該キャラクタａに対応する該領域Ｚの仮想キャラクター領域バージョン情報として「２」を取得し、該仮想キャラクター領域バージョン情報が該領域Ｚの現在の領域バージョン番号と異なるため、サーバは、該領域Ｚの現在の領域バージョン番号「３」に対応する領域仮想リソース状態情報をキャラクタａに対応するクライアントａに送信する。
【００４１】
好適な実施形態において、サーバは、各領域のために領域バージョン番号をメインテインするとともに、各仮想キャラクターのためにその通過した領域の領域バージョン情報をメインテインし、仮想キャラクターがある領域に初めて入ったとき、サーバは、該領域の現在の領域バージョン番号を仮想キャラクター領域バージョン情報として保存し、かつ該領域の現在の領域バージョン番号が最初の領域バージョン番号に一致するか否かを判断し、一致しなければ、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することにより、クライアントが該領域仮想リソース状態情報に基づいて該領域内の仮想リソースをロードするようにする。該仮想キャラクターが再び前記領域に入ると、該仮想キャラクターに対応する該領域の仮想キャラクター領域バージョン情報を取得し、該仮想キャラクター領域バージョン情報を該領域の現在の領域バージョン番号とマッチングし、一致しなければ、サーバは、該領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することにより、クライアントが該領域仮想リソース状態情報に基づいてローカルにバッファリングされた関連情報を更新しかつ／又は該領域内の仮想リソースをロードするようにする。
【００４２】
例えば、サーバによって領域Ｚに割り当てられた最初の領域バージョン番号は「１」であり、該領域Ｚの現在の領域バージョン番号は「２」であり、キャラクタａ（クライアントａにより操作される）が初めて領域Ｚに入ると、サーバは、領域Ｚの現在の領域バージョン番号「２」をキャラクタａに対応する領域Ｚの領域バージョン情報として保存し、該領域Ｚの現在の領域バージョン番号が最初の領域バージョン番号と一致しないため、該領域Ｚの領域バージョン番号「２」に対応する領域仮想リソース状態情報をキャラクタａに対応するクライアントａに送信する。領域Ｚ内の仮想リソース状態が変化すると、該領域Ｚの現在の領域バージョン番号が「３」になり、キャラクタａが再び領域Ｚに入ると、該キャラクタａに対応する該領域Ｚの仮想キャラクター領域バージョン情報として「２」を取得し、該仮想キャラクター領域バージョン情報が該領域Ｚの現在の領域バージョン番号と異なるため、サーバは、該領域Ｚの現在の領域バージョン番号「３」に対応する領域仮想リソース状態情報をキャラクタａに対応するクライアントａに送信する。
【００４３】
上記実施形態によれば、領域バージョン番号を設定することにより、領域内の仮想リソース状態情報の同期、及びゲームシーンにおけるモデルの領域的な管理を実現し、仮想キャラクターがある領域に繰り返して入ったとき、対応するクライアントが状態を継続的に更新することを回避し、リソース消費を効果的に低減し、大幅にデータ処理負荷を低減し、データ同期効率を向上させることができる。
【００４４】
好適な実施形態において、ステップＳ１２０では、取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて前記取り除くべき仮想リソースを決定する。
【００４５】
ゲームシーンにおける仮想リソースには、いずれも唯一の識別子が割り当てられ、例えば、グローバルＩＤ、シリアル番号などであり、サーバは、クライアントから送信された取り除くべき仮想リソースの識別子を受信した後、該識別子に基づいてローカルに問い合わせて該識別子に対応する仮想リソースを取得する。
【００４６】
好適な実施形態において、クライアント側で名前-ＩＤマッピングテーブルがメインテインされ、該テーブルはゲームシーンにおける全ての仮想リソースの名前、及び該仮想リソースに割り当てられたＩＤを記憶し、名前とＩＤとのマッピング関係を示し、クライアントで取り除きイベントが検出されると、該取り除きイベントに基づいて取り除くべき仮想リソースの名前が取得され、該仮想リソースの名前に基づいて名前-ＩＤマッピングテーブルから該仮想リソースに対応するＩＤが取得され、クライアントは該仮想リソースのＩＤをサーバに送信する。サーバは、クライアントから送信された仮想リソースＩＤを受信した後、該仮想リソースＩＤに基づいて、ローカルに問い合わせて該ＩＤに対応する仮想リソースを取得する。
【００４７】
グローバルＩＤは主にクライアントとサーバとの通信に用いられ、これは、シーンにおける仮想リソースの唯一の名前を用いて通信するとき、通常名前が非常に長く、プレイヤーのトラフィックを浪費するため、１つの４バイトの整数を用いて仮想リソースを一意に識別して通信するからである。
【００４８】
好適な実施形態において、ゲームが実行されると、サーバは、初期化情報をクライアントに送信し、ゲームシーンにおける全ての仮想リソースに唯一のグローバルＩＤを割り当て、クライアントは、この初期化情報を受信すると、全ての仮想リソースに対して各仮想リソースを管理するための１つのエンティティオブジェクトを作成する。その同時に、クライアントは、ロードされた全ての仮想リソースを取得し、これらの仮想リソースを対応するエンティティにバインドする。これにより、エンティティの仮想リソースに対する制御を実現する。
【００４９】
上記実施形態によれば、具体的な仮想リソース情報の代わりにＩＤを用いることで、データ伝送の効率を効果的に向上させることができる。
【００５０】
好適な実施形態において、ステップＳ１３０では、前記取り除くべき仮想リソースを前記ゲームシーンにおける前記領域から削除し、かつ前記領域に対応する領域仮想リソース状態情報を生成する。
【００５１】
サーバは、ゲームシーンに存在する全ての仮想リソースの状態情報をメインテインし、取り除くべき仮想リソースを決定した後、該取り除くべき仮想リソースをゲームシーンにおける、仮想キャラクターの現在位置に基づいて決定された領域から直接削除してもよいし、前記取り除くべき仮想リソースが所定の条件を満たしたことが検出されると、該取り除くべき仮想リソースをゲームシーンにおける、仮想キャラクターの現在位置に基づいて決定された領域から削除してもよく、そして、該領域に対応する領域仮想リソース状態情報を生成し、領域仮想リソース状態情報は、取り除かれるか否か、仮想リソースの材質、残りのヒットポイントなどを含む、対応する領域内の全ての仮想リソースの現在の状態情報を含むことができ、或いは、領域仮想リソース状態情報は、仮想リソースの材質、残りのヒットポイントなどを含む、対応する領域内の全ての仮想リソースの現在の状態情報を含むことができ、或いは、領域仮想リソース状態情報は、対応する領域内に状態が変化した仮想リソースの現在の状態情報を含むことができる。
【００５２】
例えば、仮想キャラクターの現在位置に基づいて決定された領域（領域Ｚとする）には仮想リソースＡ、Ｂ、Ｃ、Ｄが元々存在し、取り除くべき仮想リソースの識別子を受信して、取り除くべき仮想リソースを仮想リソースＡとして決定すると、仮想リソースをゲームシーンの領域Ｚから削除し、つまり、削除後、領域Ｚには仮想リソースＢ、Ｃ、Ｄが残る。その同時に、領域Ｚに対応する領域仮想リソース状態情報を生成し、該情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」という内容を含むことができ、或いは、該情報は、「仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」という内容を含むことができ、或いは、該情報は、「仮想リソースＡ：取り除き済み」という内容を含むことができる。
【００５３】
好適な実施形態において、ステップＳ１３０では、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する前に、前記方法は、前記取り除くべき仮想リソースが所定の条件を満たしたことを検出することをさらに含む。
【００５４】
所定の条件は、開発者が実際の状況に応じて予め設定することができ、前記取り除くべき仮想リソースが所定の条件を満たすことが検出されると、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する。例えば、取り除くべき仮想リソースの現在の残りのヒットポイントが０になることが検出されると、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、また、例えば、取り除くべき仮想リソースが特定の攻撃モード（例えば、仮想キャラクターが直接取り除きモードにあるか又は取り除くべき仮想リソースが取り除き武器によって攻撃されるとき）によって攻撃されることが検出されると、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する。
【００５５】
例えば、仮想キャラクターの現在位置に基づいて決定された領域（領域Ｚとする）には仮想リソースＡ、Ｂ、Ｃ、Ｄが元々存在し、例えば、仮想リソースＡ：正常、残りのヒットポイント６０％；仮想リソースＢ：正常、残りのヒットポイント１００％；仮想リソースＣ：残りのヒットポイント１００％、正常；仮想リソースＤ：残りのヒットポイント１００％である。取り除くべき仮想リソースの識別子を受信して取り除くべき仮想リソースを仮想リソースＡとして決定すると、仮想リソースＡの残りのヒットポイントが０であるか否かを検出し、仮想リソースＡの残りのヒットポイントが０である場合、仮想リソースをゲームシーンの領域Ｚから削除し、つまり、削除後、領域Ｚには仮想リソースＢ、Ｃ、Ｄが残る。その同時に、領域Ｚに対応する領域仮想リソース状態情報を生成し、該情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常、残りのヒットポイント１００％；仮想リソースＣ：残りのヒットポイント１００％、正常；仮想リソースＤ：残りのヒットポイント１００％」という内容を含むことができ、或いは、該情報は、「仮想リソースＢ：正常、残りのヒットポイント１００％；仮想リソースＣ：残りのヒットポイント１００％、正常；仮想リソースＤ：残りのヒットポイント１００％」という内容を含むことができ、或いは、該情報は、「仮想リソースＡ：取り除き済み」という内容を含むことができる。
【００５６】
また、例えば、仮想キャラクターの現在位置に基づいて決定された領域（領域Ｚとする）には仮想リソースＡ、Ｂ、Ｃ、Ｄが元々存在し、取り除くべき仮想リソースの識別子を受信して取り除くべき仮想リソースを仮想リソースＡとして決定すると、仮想リソースＡが取り除き武器（鍬、ハンマーなど）によって攻撃されることが検出されたか又は仮想キャラクターが直接取り除きモードにあることが検出された場合、仮想リソースをゲームシーンの領域Ｚから削除し、つまり、削除後、領域Ｚには仮想リソースＢ、Ｃ、Ｄが残る。その同時に、領域Ｚに対応する領域仮想リソース状態情報を生成し、該情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」という内容を含むことができ、或いは、該情報は、「仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」という内容を含むことができ、或いは、該情報は、「仮想リソースＡ：取り除き済み」という内容を含むことができる。
【００５７】
好適な実施形態において、ステップＳ１３０では、前記領域に対応する領域仮想リソース状態情報を生成する前に、前記方法は、
前記取り除くべき仮想リソースと隣接関係を有する隣接仮想リソースを決定するステップＳ１３０１と、
前記隣接仮想リソースの隣接関係リストを取得し、かつ前記取り除くべき仮想リソースを前記隣接関係リストから削除するステップＳ１３０２と、
前記隣接関係リストに基づいて前記隣接仮想リソースが地面に接続されているか否かを判断し、前記隣接仮想リソースが地面に接続できなければ、前記隣接仮想リソースを前記ゲームシーンの前記領域から削除するステップＳ１３０３と、をさらに含む。
【００５８】
前記取り除くべき仮想リソースと隣接関係を有する隣接仮想リソースを決定し、隣接仮想リソースは、該取り除くべき仮想リソースに直接的に隣接してもよいし、該取り除くべき仮想リソースに間接的に隣接してもよい。すなわち、隣接関係は、直接的な隣接関係及び間接的な隣接関係を含む。直接的な隣接関係とは、２つの仮想リソースに共通の辺が存在するか、一方の仮想リソースの一面が他方の仮想リソースの表面に接続されるか、又は、一方の仮想リソースの一点が他方の仮想リソースの表面に接続されることを指す。例えば、仮想リソースＡが水平面であり、仮想リソースＢも水平面であり、仮想リソースＡと仮想リソースＢとが並べて配置され、２つの水平面の側面が貼り合わされると、２つの水平面は直接的に隣接すると考えられ、また、例えば、仮想リソースＣが垂直面であり、仮想リソースＡの側面と仮想リソースＣの正面とが貼り合わされて建屋の垂直壁面と地面又は垂直壁面と上面を構成すると、仮想リソースＡは仮想リソースＣに直接的に隣接すると考えられる。間接的な隣接関係とは、２つの仮想リソースが、直接関係を有する同じ仮想リソースを有することを指し、例えば、仮想リソースＡが水平面であり、仮想リソースＢも水平面であり、仮想リソースＡと仮想リソースＢとの間に仮想リソースＤ（水平面）が存在し、仮想リソースＤの２つの側面がそれぞれ仮想リソースＡと仮想リソースＢに直接的に隣接すると、仮想リソースＡと仮想リソースＢとの間に間接的な隣接関係が存在すると考えられる。
【００５９】
サーバは、ゲームシーンにおける各仮想リソースのために隣接関係リストをメインテインし、該隣接関係リストには、各仮想リソースに対応する、該仮想リソースと現在隣接関係を有する隣接仮想リソースの識別子がリアルタイムに記録され、ゲームシーンにおけるある仮想リソースが取り除くべき仮想リソースとして決定されると、該仮想リソースの隣接仮想リソースを決定し、隣接仮想リソースの隣接関係リストを取得し、該取り除くべき仮想リソースを隣接関係リストから削除する。
【００６０】
例えば、仮想リソースＡは仮想リソースＢに隣接し、仮想リソースＢは仮想リソースＣ、仮想リソースＤに隣接し、取り除くべき仮想リソースが仮想リソースＡとして決定されると、仮想リソースＡの隣接仮想リソースを仮想リソースＢとして決定し、仮想リソースＢの隣接関係リストを取得し、該リスト情報は、仮想リソースＡ、仮想リソースＣ、及び仮想リソースＤを含む。仮想リソースＡを隣接関係リストから削除し、このとき、仮想リソースＢの隣接関係リストは、仮想リソースＣ、仮想リソースＤを含む。
【００６１】
隣接関係リストを問い合わせることにより、各仮想リソースの隣接仮想リソースを毎回検出することなく迅速に取得することができ、データ処理の効率が向上する。
【００６２】
好適な実施形態において、サーバは、ゲームの初期化過程において、データ導出のみに使用される初期化ターミナルを起動し、この初期化ターミナルは、最新のシーンリソースをロードし、カメラを作成し、カメラを用いてゲームシーンにおける各仮想リソースをトラバースし、各仮想リソースの衝突体を取得し、一実施形態では、該衝突体を用いて衝突検出を行うことにより、各仮想リソースの隣接仮想リソースを取得し、かつ各仮想リソースの隣接関係リストを作成する。別の実施形態では、仮想リソースが互いに接続されるか又は小さなギャップがある場合、衝突検出を行うと失敗し、またモデルの建造の誤差によって、モデルとモデル間の直接接触がなく、このとき、これらの隣接する衝突体が検出されなかった。したがって、衝突検出を行う前に、まず衝突体の位置、衝突体のサイズ、及びワールド回転行列を取得し、これらの情報に基づいて元の衝突体の位置に新しいボックス衝突体を新たに作成し、その同時に、該衝突体を所定の値、例えば、元の衝突体の１．１倍拡大したり、元の衝突体を５．５ｃｍ拡大したりして、この新たに作成された衝突体を用いて衝突検出を行い、該衝突体と衝突する他の全ての衝突体を得て、これらの衝突する他の衝突体に基づいて対応する仮想リソース識別子を決定することにより、各仮想リソースの隣接仮想リソースを得て、各仮想リソースの隣接関係リストを作成する。
【００６３】
好適な実施形態において、各仮想リソースに対応する隣接関係リストは、地面接続情報識別子を含み（例えば、該識別子が「１」であれば、該仮想リソースが地面に接続されることを示し、該識別子が「０」であれば、該仮想リソースが地面に接続できないことを示す）、該地面接続情報識別子の値を読み取ることにより、取り除くべき仮想リソースの各隣接仮想リソースが地面に接続されているか否かを判断することができ、該隣接仮想リソースが地面に接続できなければ、該隣接仮想リソースを前記ゲームシーンの前記領域から削除し、該隣接仮想リソースを取り除くべき仮想リソースとして決定し、ステップＳ１３０１を繰り返して実行する。
【００６４】
例えば、仮想リソースＡは仮想リソースＢに隣接し、仮想リソースＢは仮想リソースＣ、仮想リソースＤに隣接し、仮想リソースＤは仮想リソースＥに隣接するが、仮想リソースＥのみは地面に接続される。取り除くべき仮想リソースを仮想リソースＡとして決定すると、仮想リソースＡの隣接仮想リソースを仮想リソースＢとして決定し、仮想リソースＢの隣接関係リストを取得し、該リスト情報は、仮想リソースＡ、仮想リソースＣ、仮想リソースＤ、及び「１」である地面接続情報識別子（仮想リソースＤは仮想リソースＥを介して地面に接続できるからである）を含む。仮想リソースＡを隣接関係リストから削除し、このとき、仮想リソースＢの隣接関係リストは、仮想リソースＣ、仮想リソースＤ、及び「１」である地面接続情報識別子を含む。仮想リソースＢの隣接関係リストにおける地面接続情報識別子の判断により、該地面接続情報識別子が「１」であり、つまり、該仮想リソースＢが仮想リソースＤを介して地面に接続できることが分かったため、仮想リソースＢを取り除きない。
【００６５】
また、例えば、仮想リソースＡは仮想リソースＢに隣接し、仮想リソースＢは仮想リソースＣ、仮想リソースＤに隣接し、仮想リソースＤは仮想リソースＥに隣接するが、地面に接続される仮想リソースはない。取り除くべき仮想リソースを仮想リソースＡとして決定すると、仮想リソースＡの隣接仮想リソースを仮想リソースＢとして決定し、仮想リソースＢの隣接関係リストを取得し、該リスト情報は、仮想リソースＡ、仮想リソースＣ、仮想リソースＤ、及び「０」である地面接続情報識別子を含む。仮想リソースＡを隣接関係リストから削除し、このとき、仮想リソースＢの隣接関係リストは、仮想リソースＣ、仮想リソースＤ、及び「０」である地面接続情報識別子を含む。仮想リソースＢの隣接関係リストにおける地面接続情報識別子の判断により、該地面接続情報識別子が「０」であり、つまり、該仮想リソースＢが地面に接続できないことが分かったため、隣接仮想リソースＢを前記ゲームシーンの前記領域から削除し、該隣接仮想リソースＢを取り除くべき仮想リソースとして決定し、仮想リソースＢの隣接仮想リソースを仮想リソースＥとして決定し、仮想リソースＥの隣接関係リストを取得し、全ての隣接仮想リソースがトラバースされるまで上記ステップを繰り返して実行する。
【００６６】
上記実施形態によれば、取り除くべき仮想リソースを決定した後、所定の隣接関係に基づいて条件に合致する他の取り除くべき仮想リソースを自動的に決定することにより、システムデータ処理リソースの占有率を低減し、このような形態によると、ユーザが取り除くべき仮想リソースを取り除いた後、条件に合致する他の取り除くべき隣接仮想リソースが連帯的に取り除かれることにより、迫真の建物崩壊効果を達成し、ユーザのゲーム体験を改善する。
【００６７】
好適な実施形態において、ステップＳ１３０では、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成し、前記方法は、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除するステップＳ１３０４と、
前記領域に対応する領域バージョン番号をイテレートして前記領域の現在の領域バージョン番号として決定するステップＳ１３０５と、
領域仮想リソース状態情報を更新するステップＳ１３０６と、をさらに含む。
【００６８】
サーバが取り除くべき仮想リソースをゲームシーンの前記領域から削除した後に、該領域内の仮想リソース状態が変化したため、サーバは、該領域に対応する領域バージョン番号をイテレートした後に該領域の現在の領域バージョン番号として決定し、該領域に対応する領域仮想リソース状態情報を更新し、領域バージョン番号をイテレートする方法は、領域バージョン番号に１を加算すること、領域バージョン番号から１を引くこと、又は領域バージョン番号に唯一の識別子を追加することなどであってよい。
【００６９】
好適な実施形態において、サーバが該領域仮想リソース状態情報を、該領域内にある全ての仮想キャラクターに対応するクライアントに送信することにより、該領域内の全ての仮想キャラクターに対応するクライアントは該領域内の仮想リソースの状態を更新して表示し、該領域外の全ての仮想キャラクターに対応するクライアントは該領域内の仮想リソースの状態を更新することなく、領域外の仮想キャラクターが該領域に入ると、該仮想キャラクターの仮想キャラクター領域バージョン情報と該領域の現在の領域バージョン番号とのマッチングにより非同期更新を行う。
【００７０】
例えば、サーバにより領域Ｚに割り当てられた最初の領域バージョン番号は「１」であり、該領域Ｚの現在の領域バージョン番号は「２」であり、該領域Ｚには、現在、３つの仮想リソース、すなわち仮想リソースＡ、Ｂ、Ｃが存在し、該領域Ｚには、現在、３つのキャラクタ、すなわちキャラクタａ、ｂ、ｃが存在し、また、該領域Ｚの外には１つのキャラクタ、すなわちキャラクタｄが存在し、該領域バージョン番号「２」に対応する領域仮想リソース状態情報は、「仮想リソースＡ：正常；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」である。キャラクタａが領域Ｚ内の仮想リソースＡを取り除くことが検出されると、該領域Ｚの現在の領域バージョン番号を「３」に変更し、領域仮想リソース状態情報を「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」に更新するか、又は、領域仮想リソース状態情報を、「仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」に更新するか、又は、領域仮想リソース状態情報を、「仮想リソースＡ：取り除き済み」に更新する。
【００７１】
サーバが該領域仮想リソース状態情報を、該領域Ｚ内にある全てのキャラクタａ、ｂ、ｃに対応するクライアントａ、ｂ、ｃに送信することにより、該領域Ｚ内にある全てのキャラクタに対応するクライアントは該領域Ｚ内の仮想リソースの状態を更新して表示し、キャラクタｄが該領域Ｚの外にあるため、キャラクタｄに対応するクライアントｄは、該領域仮想リソース状態情報を受信しないか又は受信された該領域仮想リソース状態情報を無視するため、該領域Ｚ内の仮想リソースの状態について更新も表示もせず、キャラクタｄが初めて領域Ｚに入ると、サーバは、領域Ｚの現在の領域バージョン番号「３」をキャラクタｄに対応する領域Ｚの領域バージョン情報として保存し、該領域Ｚの現在の領域バージョン番号が最初の領域バージョン番号と一致しないため、該領域Ｚの領域バージョン番号「３」に対応する領域仮想リソース状態情報をキャラクタｄに対応するクライアントｄに送信することにより、クライアントｄが該領域Ｚ内の仮想リソースの状態を更新して表示するようにする。
【００７２】
キャラクタｄが領域Ｚに入るのが初めてではない場合、該キャラクタｄに対応する該領域Ｚの仮想キャラクター領域バージョン情報を「２」として取得し、該仮想キャラクター領域バージョン情報が該領域Ｚの現在の領域バージョン番号と異なるため、サーバは、該領域Ｚの現在の領域バージョン番号「３」に対応する領域仮想リソース状態情報をキャラクタｄに対応するクライアントｄに送信することにより、クライアントｄが該領域Ｚ内の仮想リソースの状態を更新して表示するようにする。
【００７３】
上記実施形態によれば、領域バージョン番号を設定して、領域内の仮想リソース状態情報の同期、及びゲームシーンにおけるモデルの領域的な管理を実現し、仮想リソースの状態が変化すると、領域内のクライアントにリアルタイムに同期させ、領域外のクライアントに非同期させることにより、リソース消費を効果的に低減し、大幅にデータ処理負荷を軽減し、データ同期効率を向上させる。
【００７４】
好適な実施形態において、ステップＳ１４０では、前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにする。
【００７５】
サーバが領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントは、前記領域仮想リソース状態情報に基づいて該領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示する。
【００７６】
例えば、クライアントａがローカルに保存した領域Ｚ内の仮想リソースの状態は、「仮想リソースＡ：正常；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」であり、サーバは、領域仮想リソース状態情報をクライアントａに送信し、該領域仮想リソース状態情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」であり、或いは、該領域仮想リソース状態情報は、「仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」であり、或いは、該領域仮想リソース状態情報は、「仮想リソースＡ：取り除き済み」である。クライアントａは、該領域仮想リソース状状態情報に基づいて該領域内の仮想リソースの状態を更新し、つまり、仮想リソースＡの状態を正常から取り除き済みに変更し、かつクライアントＡのグラフィカルユーザインタフェースに仮想リソースＡの取り除きアニメーションをレンダリングして表示する。
【００７７】
好適な実施形態において、サーバは、領域仮想リソース状態情報を、仮想キャラクターに対応するクライアント、及び該領域内にある全ての仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて該領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示するようにする。
【００７８】
好適な実施形態において、更新された前記仮想リソースの状態に基づいて前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、仮想リソースの状態は、仮想リソース状態情報によって決まり、仮想リソース状態情報は、仮想リソースの現在の状態、例えば、取り除かれるか否か、仮想リソースの材質、残りのヒットポイントなどを含む。
【００７９】
例えば、仮想リソースＡの仮想リソース状態情報が「仮想リソースＡ：正常」である場合、クライアントのグラフィカルユーザインタフェースに前記仮想リソースの正常形態をレンダリングして表示し、例えば、仮想リソースＡの仮想リソース状態情報が「仮想リソースＡ：取り除き済み」であるか、又は現在の仮想リソース状態情報に仮想リソースＡが存在しない場合、クライアントのグラフィカルユーザインタフェースに前記仮想リソースの取り除きアニメーションをレンダリングして表示した後、該仮想リソースを隠すか又は削除し、例えば、仮想リソースＡの仮想リソース状態情報が「仮想リソースＡ：残りのヒットポイント２０％」である場合、クライアントのグラフィカルユーザインタフェースに前記仮想リソースをレンダリングして表示し、該仮想リソースに割れ、欠けなどの表示効果を付加する。
【００８０】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【００８１】
好適な実施形態において、前記方法は、
前記ゲームシーンにおける前記複数の仮想リソースについて、少なくとも各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とを含む仮想リソース状態インデックステーブルを作成するステップＳ１５０と、
前記仮想リソース状態インデックステーブルをクライアントに同期するステップＳ１６０と、をさらに含む。
【００８２】
なお、ステップＳ１５０及びステップＳ１６０は、いずれも初期化ステップとしてステップＳ１１０の前に実行してもよいし、リセットステップとして必要に応じて任意のステップの前、後又は中で実行してもよい。
【００８３】
クライアントが取り除きデータの記憶構造にアクセスする利便性を考慮すると、ある領域の仮想リソース状態情報を同期させるとき、該領域内にどの仮想リソースがあるかを迅速に探し当てることができ、サーバは、ゲームシーンに存在する複数の仮想リソースに対して仮想リソース状態インデックステーブルを作成し、仮想リソース状態インデックステーブルは、ゲームシーンにおける全ての仮想リソースの状態情報を記憶するためのマルチレベルのインデックス式記憶データ構造であり、仮想リソース状態インデックステーブルは、少なくとも、各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とを含む。該仮想リソース状態インデックステーブルをクライアントに同期させて、クライアントが仮想リソースを迅速に探し当てるようにし、サーバは、自らが作成した仮想リソース状態インデックステーブルを用いたり、ゲームシーンに存在する複数の仮想リソースの状態情報を別途メインテインしたりしてもよい。
【００８４】
好適な実施形態において、前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、前記仮想リソース識別子の中の上位情報は合成モデルを示すものであり、前記識別子の中の下位情報は前記合成モデルを構成する仮想リソースを示すものである。
【００８５】
ゲームシーンにおける複数の仮想リソースは、互いに接合されて合成モデルを構成することができ、例えば、２つの水平面仮想リソースと４つの垂直面仮想リソースは、互いに接合されて住宅（合成モデル）を構成することができる。
【００８６】
好適な実施形態において、ゲームシーンにおける仮想リソースが合成モデルのサブモデルであるか又は独立モデルであることを識別し、かつ各仮想リソースのインデックスを取得するために、グローバルに唯一のＩＤを仮想リソースに割り当てるとき、３２ビットの整数をＩＤとして使用し、整数の下位１２ｂｉｔを合成モデルのサブモデルのインデックスとして使用し、残りの上位２４ｂｉｔを独立モデル／合成モデルのインデックスとして使用する。
【００８７】
１２ｂｉｔをサブモデルのインデックスとして使用する理由は、ゲームシーンにおいて最大の合成モデルが既に数百のサブモデルあり、１２ｂｉｔが４０９６個の数を表すことができ、現在の使用に十分であり、かつ将来のより大きな合成モデルに十分なスペースが確保されるからである。上位は２の１９乗個の数を表すことができ、これに対し、ゲームシーンにおける独立モデル／合成モデルの数は数万個に過ぎない。また、合成モデルにおけるサブモデルのインデックスが０から始まり、これに１のオフセットを加え、このようにサブモデルのインデックスが０であるとき、該仮想リソースが独立モデルであることを表す。
【００８８】
例えば、２つの水平面仮想リソースと４つの垂直面仮想リソースは、互いに接合されて住宅（合成モデル）を構成することができ、２つの水平面仮想リソースのＩＤは、それぞれ、
００００  ００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００１；
００００  ００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００２であり、
４つの垂直面仮想リソースのＩＤは、それぞれ、
００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００３；
００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００４；
００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００５；
００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００６であり、
１つの独立水平面仮想リソースのＩＤは、
００００  ００００  ００００  ００００  ０００２：００００  ００００  ００００である。
【００８９】
仮想リソースＩＤの下位情報から、該仮想リソースが独立したモデルであるか又は合成モデルのサブモデルであるかを迅速に識別することができ、例えば、下位情報が００００  ００００  ００００であるとき、該仮想リソースが独立モデルであることを表し、下位情報が００００  ００００  ０００１などであり数値オフセットがあるとき、該仮想リソースが合成モデルであることを表す。その同時に、仮想リソースＩＤの上位情報から、合成モデルの全てのサブモデルを迅速に識別することができ、例えば、上位情報が００００  ００００  ００００  ００００  ０００１の仮想リソースＩＤは、同一の合成モデルのサブモデルに属する。
【００９０】
上記実施形態によれば、クライアントが取り除きデータの記憶構造にアクセスする利便性を向上させることができ、クライアントは、ある領域の仮想リソース状態情報を同期させるとき、該領域内にどの仮想リソースがあるかを迅速に探し当てることができる。
【００９１】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つである。
【００９２】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つである。
【００９３】
前記新規仮想リソース（すなわち、ゲーム画面におけるレンダリング生成）の建設は、プレイヤーの建設命令によってトリガーされ、建設命令には、少なくともプレイヤーが建設しようとする仮想リソース（すなわち新規リソース）の空間タイプが含まれ、さらに新規リソースの材料の属性（例えば木材、コンクリート、れんがなど）及び数量が含まれてもよい。既存仮想リソースは、ゲーム開発者によりゲームシーンに初期設定された仮想リソースであり、形状が新規仮想リソースの形状と同じであっても異なっていてもよく、例えば、新規仮想リソースの形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面を含み、既存仮想リソースの形状情報は、水平面、垂直面、柱、不規則なタイプを含む。
【００９４】
好適な実施形態において、前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなる。
【００９５】
ゲームシーンの空間は、互いに接合される複数の立体に分割される。立体は、直方体、立方体、平行六面体、ハニカムなどであってよく、立体同士が互いに接合されてゲームシーン全体の空間を形成することが理解できる。なお、ゲームシーンの空間を分割して得られた立体は論理的な空間、例えば、ｘ、ｙ、ｚ座標がいずれも０〜５０の範囲内にある空間範囲である。
【００９６】
ゲームシーンにおいて分割される領域はｘ、ｚ軸（水平方向）において分割される２次元領域であり、各分割された領域は少なくとも１つの前記立体からなり、分割された領域は通常、立体の整数倍である。なお、立体自体は３次元領域であり、ここで説明する各分割された領域は、少なくとも１つの前記立体からなり、つまり、ｙ軸（垂直方向）を考慮せず、ｘ軸とｚ軸によって規定される平面内（水平方向）を前提として、各分割された領域は、少なくとも１つの前記立体からなる。
【００９７】
好適な実施形態において、前記立体は、長さ及び幅が同じである直方体である。ゲームシーンの空間にＸＹＺ座標系を確立し、それぞれ水平方向のＸＺ座標、垂直上向きの座標Ｙである。空間分割の方式としては、空間を、水平のＸ＝５ｍ、Ｚ＝５ｍで、垂直上向き方向のＹ＝３．５ｍの間隔の無限個の直方体に分割することが用いられ、なお、直方体の長さ、幅及び高さの目盛り値は、開発者が実際の状況に応じて任意に設定することができる。
【００９８】
互いに接合される複数の立体に分割されたゲームシーン空間において、各立体の表面及び立体の内部の断面は、いずれも新しい仮想リソースを建設することができ、また、ゲームシーンにおける既存の建物の部材（既存仮想リソース）も立体の表面及び内部の断面に基づいて予め配置される。
【００９９】
新規仮想リソースと既存仮想リソースが同じ配置ルールを有するため、新規仮想リソースを生成したときに既存仮想リソースとより容易にマッチングし、同様に計算量を大幅に低減し、ゲームの実行効率を向上させる。
【０１００】
以下、空間を長さ及び幅が同じで互いに接合される複数の直方体に分割することを例として説明し、なお、空間を任意の形状の互いに接合可能な複数の立体に分割することは、いずれも本開示の保護範囲内に含まれる。
【０１０１】
仮想リソースの形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面であってよく、つまり、前記直方体の幾何学的位置に対して、直方体の垂直面に沿って建設されてもよいし、直方体の水平面に沿って建設されてもよいし、直方体の内斜面に沿って建設されてもよい。前記垂直面とは、直方体における、ゲームシーンのグラウンドプレーンに垂直な４つの面であり、前記水平面とは、直方体における、ゲームシーンのグラウンドプレーンに平行な２つの面であり、前記内斜面とは、直方体内の対角断面である（前記対角断面が位置する平面は、直方体の水平面の２つの辺を通り、直方体の２つの垂直面と交差する）。仮想リソースの材料特性がれんがである場合を例として、直方体の垂直面に沿って建設される仮想リソースは垂直壁であり、直方体の水平面に沿って建設される仮想リソースは水平壁であり、直方体の内斜面に沿って建設される仮想リソースは、上向き又は下向きのスロープである。
【０１０２】
上記実施形態によれば、ゲームシーンを幾何学的に標準化することにより、新規仮想リソースとゲームシーンにおける既存仮想リソースとを位置合わせして接合させ、画面の美感を向上させることができ、その同時に、ゲームシーンにおいて建設するときに仮想リソース間の物理的な衝突検出を回避し、これにより、システムのオーバーヘッドを効果的に低減し、ゲーム実行の滑らかさを向上させることができる。
【０１０３】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものである。
【０１０４】
ゲームの初期化過程において、サーバは、ゲームシーンファイルから全ての仮想リソースのＩＤ、仮想リソースのモデル情報（仮想リソースは合成モデルのサブモデルであってもよいし、独立モデルであってもよい）、世界座標情報、回転情報などの情報を取得し、また、ゲームシーンにおける合成モデルのｇｉｍファイルを解析し、合成モデルの各サブモデルの、合成モデルのローカル座標系における回転、拡縮、位置情報を取得し、各サブモデルのｇｉｍファイルパスを取得し、サブモデルのｇｉｍファイルを解析し、各サブモデルのバウンディングボックス情報を取得する。
【０１０５】
次に、ゲームシーンにおける仮想リソースを三次元再構築し、各仮想リソースが位置する立体を決定し、仮想リソースと立体とのマッピング関係を確立する。三次元再構築の目的は、仮想リソースの格子化建設に情報を提供し、ゲームシーン内のどの場所で仮想リソースを建設できるか、どの場所で建設できないかなどを決定するためである。
【０１０６】
図２は、本開示の１つの例示的な実施例に係る仮想リソースの三次元再構築のマッピング関係の概略図であり、ゲームシーンにおける仮想リソースを三次元再構築するとき、合成モデルのサブモデルは、以下のいくつかのタイプにマッピングされることができる。
【０１０７】
１．垂直面（西向き、南向きの２つのタイプを含む）
２．水平面
３．不規則なタイプ（主に屋根、階段のようなサブモデル）
４．柱
図２に示すように、図２の左側の建物を抽象化して三次元再構築した後、図２の右側の合成モデルを得て、図２内の合成モデルの立体における座標を（ｘ，ｙ，ｚ）とし、抽象化後の合成モデルを用いて原建物を以下の表に示すように記述する。
【０１０８】
【表１】
2021504017.tif 000003
【０１０９】
上記三次元再構築を経た後、仮想リソースと立体とのマッピング関係を確立することにより、ゲームシーンにおいて仮想キャラクターが建設するか又は取り除くとき、仮想リソース状態インデックステーブルに基づいて、各立体に存在する仮想リソースのタイプを判断し、建設を実行できる場所を決定することができ、仮想リソース状態インデックス値に基づいて、該仮想リソースが位置する立体を迅速にインデックスすることもできる。
【０１１０】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものである。
【０１１１】
各仮想リソースに対応する領域インデックス情報は、各仮想リソースとその位置する領域とのマッピング関係を示すものである。クライアントが取り除きデータの記憶構造にアクセスする利便性を向上させ、クライアントは、取り除くべき仮想リソースが位置する領域を迅速に確定することができ、ある領域の仮想リソース状態情報を同期させるとき、該領域内にどの仮想リソースがあるかを迅速に探し当てることもできる。
【０１１２】
上記実施形態によれば、クライアントが取り除きデータの記憶構造にアクセスする利便性を向上させることができ、クライアントは、ある領域の仮想リソース状態情報を同期させるとき、該領域内にどの仮想リソースがあるかを迅速に探し当てることができ、さらに該仮想リソースが位置する立体、分類情報、形状情報などの情報を迅速に確定することができ、その同時に、仮想リソース状態インデックステーブルにより、ゲームシーン全体をメモリにロードする必要がなく、位置する領域内の、仮想リソースが存在する立体をメモリにロードすればよい。それによりメモリの消費を大幅に節約する。
【０１１３】
好適な実施形態において、仮想リソース状態インデックステーブルはインデックス記憶の方式を採用し、図３は、本開示の１つの例示的な実施例に係る仮想リソース状態インデックステーブルの概略図であり、図３に示すように、１次インデックスは領域インデックスであり、２次インデックスは立体インデックスであり、３次インデックスは仮想リソース分類情報インデックスであり、４次インデックスは仮想リソース形状情報インデックスである。ゲームシーン内のある仮想リソースが取り除かれた後、該仮想リソースを仮想リソース状態インデックステーブルから削除するか又は該仮想リソースの状態情報を取り除き済みの状態に変更し、上記方式により、クライアントは、該取り除かれた仮想リソースの元の位置又は隣接位置に新規仮想リソースを建設しようとするとき、仮想リソース状態インデックステーブルから対応する情報をタイムリーかつ迅速に問い合わせることができる。
【０１１４】
好適な実施形態において、ステップＳ１３０では、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成し、前記方法は、
前記領域に基づいて仮想リソース状態インデックステーブルから前記領域内の仮想リソース状態情報を取得するステップＳ１３０７と、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域内の仮想リソース状態情報を更新し、前記領域に対応する領域仮想リソース状態情報を生成するステップＳ１３０８と、をさらに含む。
【０１１５】
サーバは、自らが確立した仮想リソース状態インデックステーブルを用いて、ゲームシーンに存在する仮想リソースの状態情報をメインテインすることができる。ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定した後、ローカルにメインテインされた仮想リソース状態インデックステーブルを読み取り、該領域に基づいて仮想リソース状態インデックステーブルから該領域内の仮想リソース状態情報をインデックスする。仮想リソース状態インデックステーブルがゲームシーンにおける各仮想リソースの最新状態を正しく反映できることを確保するために、取り除くべき仮想リソースを削除した後、仮想リソース状態インデックステーブルをリアルタイムに更新し、状態が変化した仮想リソース状態情報のみを更新してもよいし、該領域内の全ての仮想リソース状態情報を一緒に更新してもよく、その同時に、最新の仮想リソース状態インデックステーブルに基づいて該領域に対応する領域仮想リソース状態情報を生成する。
【０１１６】
上記実施形態によれば、サーバは、領域インデックスを用いて、対応する領域の仮想リソース状態情報を迅速に更新して生成することができ、情報処理効率を向上させ、リソース消費を効果的に低減することができる。
【０１１７】
本開示の実施例は、さらに、ゲームシーンにおける仮想リソースの処理方法を提供し、該方法の実行主体は、コンピュータ、携帯電話、タブレットコンピュータ、モバイル端末、電子機器などの任意のクライアントデバイスであり得るクライアントである。図４は、本開示の実施例に係るゲームシーンにおける仮想リソースの処理方法の１種のフローチャートである。図４に示すように、本実施例において、該方法は、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定するステップＳ２１０と、
前記取り除くべき仮想リソースの識別子をサーバに送信するステップＳ２２０と、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信するステップＳ２３０と、
前記領域仮想リソース状態情報に基づいて前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示するステップＳ２４０と、を含む。
【０１１８】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０１１９】
以下、例示的な本実施例に係るゲームシーンにおける仮想リソースの処理方法の各ステップをさらに説明する。
【０１２０】
例示的な本実施例において、クライアントデバイスのプロセッサでソフトウェアアプリケーションを実行し、前記クライアントデバイスのディスプレイでレンダリングすることにより、グラフィカルユーザインタフェースを得、前記グラフィカルユーザインタフェースが表示するコンテンツはゲームシーンの一部又は全部を少なくとも部分的に含み、前記ゲームシーンには、少なくとも１つの仮想キャラクターが含まれる。
【０１２１】
グラフィカルユーザインタフェースが表示するコンテンツは、ゲームシーンの全部を含んでもよいし、ゲームシーンの一部を含んでもよい。例えば、ゲームシーンが大きいとき、ゲームをする過程で、モバイル端末のグラフィカルユーザインタフェースにゲームシーンの一部のコンテンツが表示される。ゲームシーンは、角形であってもよいし、他の形状（例えば、円形等）であってもよい。ゲームシーンには、地面、山、石、花、草、木、建物等が含まれてよい。
【０１２２】
ゲームシーンには少なくとも１つの仮想リソースが含まれ、仮想リソースは、ゲームシーンに建設される建物、例えば住宅、水平面、垂直面、傾斜面、テーブル、椅子、街灯などの仮想物体であってよい。仮想リソースは、グラフィカルユーザインタフェースにより表示されてよく、表示されるコンテンツは、仮想リソースの全部を含んでもよいし、仮想リソースの一部を含んでもよい。
【０１２３】
ゲームシーンは、グラフィカルユーザインタフェースにより表示できる少なくとも１つの仮想キャラクターを含み、表示されるコンテンツは、仮想キャラクターの全部を含んでもよいし、仮想キャラクターの一部を含んでもよい。例えば、第３者視点のゲームにおいて、グラフィカルユーザインタフェースにより表示されるコンテンツは、仮想キャラクターの全部を含むことができ、また、例えば、第１者視点のゲームにおいて、グラフィカルユーザインタフェースにより表示されるコンテンツは、仮想キャラクターの一部又は部分を含むことができる。
【０１２４】
仮想キャラクターは、敵陣の仮想キャラクターであってもよいし、味方の仮想キャラクターであってもよく、仮想キャラクターは、ユーザの操作に応じてゲームシーンにおいて対応する挙動をすることができ、例えば、ユーザは、仮想キャラクターを制御してゲームシーンにおいて歩き、走り、蹲り、這い蹲り、攻撃、シューティングなどの動作を行うことができ、本発明では、これについて限定しない。
【０１２５】
好適な実施形態において、ステップＳ２１０では、前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定する。
【０１２６】
前記ゲームシーンにおける前記仮想リソースの取り除きイベントは、ユーザグラフィックインタフェースに提供される特定のトリガーコントロールのタッチ操作が検出されることによりトリガーされてもよいし、所定のインターアクション条件、例えば、ユーザの押圧、揺動、音声入力、特殊なジェスチャー操作などの方式によりトリガーされてもよいし、また、ゲームシーンにおける仮想リソースが攻撃されたか否かが検出されることによりトリガーされてもよく、例えば、仮想リソースＡが弾丸又は道具に衝突したことが検出されると、取り除きイベントがトリガーされ、さらに、ゲームシーンにおける仮想リソースの残りのヒットポイントが０になることが検出されたことによりトリガーされてもよい。
【０１２７】
なお、ゲームシーンにおける仮想リソースが攻撃されたか否かを検出することによりトリガーする場合、攻撃が同一の仮想キャラクター又は異なる仮想キャラクターからの複数回の攻撃であってよいため、仮想リソースが攻撃されるたびに取り除きイベントがトリガーされるように設定してもよいし、仮想リソースが各異なる仮想キャラクターに初めて、事前設定された数回、又は特定回目に攻撃されると取り除きイベントがトリガーされるように設定してもよい。
【０１２８】
なお、ゲームシーンにおける仮想リソースの残りのヒットポイントが０になることを検出することによりトリガーする場合、仮想リソースは、プリセット値の初期血量を備え、攻撃を受けると、攻撃の種類によって一定量のヒットポイントが失われ、ゲームシーンにおける仮想リソースの残りのヒットポイントが０になることが検出されると、取り除きイベントがトリガーされる。
【０１２９】
前記取り除きイベントに基づいて前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定する。例えば、仮想リソースＡが弾丸又は道具に衝突したことを検出すると、取り除きイベントをトリガーし、該仮想リソースＡを取り除くべき仮想リソースとして決定し、仮想リソースＡの識別子を取得する。
【０１３０】
好適な実施形態において、クライアント側で名前-ＩＤマッピングテーブルがメインテインされ、該テーブルはゲームシーンにおける全ての仮想リソースの名前、及び該仮想リソースに割り当てられたＩＤを記憶し、名前とＩＤとのマッピング関係を示し、クライアントで取り除きイベントが検出されると、該取り除きイベントに基づいて取り除くべき仮想リソースの名前が取得され、該仮想リソースの名前に基づいて名前-ＩＤマッピングテーブルから該仮想リソースに対応するＩＤが取得され、仮想リソースのＩＤは主にクライアントとサーバとの通信に用いられ、これは、シーンにおける仮想リソースの唯一の名前を用いて通信するとき、通常名前が非常に長く、プレイヤーのトラフィックを浪費するため、１つの４バイトの整数を用いて仮想リソースを一意に識別して通信するからである。
【０１３１】
好適な実施形態において、前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答するステップは、クライアントの物理的なボタンと取り除き命令とを関連付け、該物理的なボタンが押されたことがモバイル端末により検出されると、仮想キャラクターを制御してゲームシーンにおける仮想リソースを取り除くことを含む。他の実施形態において、予め設定されたオーディオ命令により仮想キャラクターを制御して仮想リソースを取り除く。
【０１３２】
好適な実施形態において、ステップＳ２２０では、前記取り除くべき仮想リソースの識別子をサーバに送信する。
【０１３３】
クライアントは該仮想リソースの識別子をサーバに送信する。サーバは、クライアントから送信された仮想リソースの識別子を受信した後、該仮想リソースの識別子に基づいて、ローカルに問い合わせて該識別子に対応する仮想リソースを取得する。
【０１３４】
前記取り除くべき仮想リソースの識別子をサーバに送信することは、有線又は無線の方式で送信することができ、用いられる通信プロトコルは従来技術に属し、ここでは説明を省略する。
【０１３５】
好適な実施形態において、ステップＳ２３０では、前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信する。
【０１３６】
サーバは、ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて前記仮想キャラクターが位置する領域を決定する。該領域は、ゲームシーンにおける、仮想キャラクターが位置する位置を中心として、所定の距離を半径とする円形範囲の領域であってもよいし、仮想キャラクターが位置する現在位置を含む任意の形状の領域であってもよいし、ゲームシーンを複数の領域に予め分割して、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該現在位置が属する所定の領域を決定してもよい。
【０１３７】
サーバは、ゲームシーンに存在する全ての仮想リソースの状態情報をメインテインし、取り除くべき仮想リソースの識別子により取り除くべき仮想リソースを決定した後、該取り除くべき仮想リソースをゲームシーンにおける、仮想キャラクターの現在位置に基づいて決定された領域から直接削除してもよいし、前記取り除くべき仮想リソースが所定の条件を満たしたことが検出されると、該取り除くべき仮想リソースをゲームシーンにおける、仮想キャラクターの現在位置に基づいて決定された領域から削除してもよく、そして、該領域に対応する領域仮想リソース状態情報を生成し、領域仮想リソース状態情報は、取り除かれるか否か、仮想リソースの材質、残りのヒットポイントなどを含む、対応する領域内の全ての仮想リソースの現在の状態情報を含むことができ、或いは、領域仮想リソース状態情報は、仮想リソースの材質、残りのヒットポイントなどを含む、対応する領域内の全ての仮想リソースの現在の状態情報を含むことができ、或いは、領域仮想リソース状態情報は、対応する領域内に状態が変化した仮想リソースの現在の状態情報を含むことができる。クライアントはサーバからフィードバックされた上記領域仮想リソース状態情報を受信する。
【０１３８】
例えば、仮想キャラクターの現在位置に基づいて決定された領域（領域Ｚとする）には仮想リソースＡ、Ｂ、Ｃ、Ｄが元々存在し、取り除くべき仮想リソースを仮想リソースＡとして決定すると、仮想リソースをゲームシーンの領域Ｚから削除し、つまり、削除後、領域Ｚには仮想リソースＢ、Ｃ、Ｄが残る。その同時に、領域Ｚに対応する領域仮想リソース状態情報を生成し、該情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」という内容を含むことができ、或いは、該情報は、「仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」という内容を含むことができ、或いは、該情報は、「仮想リソースＡ：取り除き済み」という内容を含むことができ、クライアントはサーバからフィードバックされた上記領域仮想リソース状態情報を受信する。
【０１３９】
好適な実施形態において、サーバは、取り除くべき仮想リソースが所定の条件を満たしたことを検出すると、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する。所定の条件は、開発者が実際の状況に応じて予め設定することができ、サーバは、前記取り除くべき仮想リソースが所定の条件を満たしたことを検出すると、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する。例えば、サーバは、取り除くべき仮想リソースの現在の残りのヒットポイントが０になることを検出すると、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除したり、また、例えば、サーバは、取り除くべき仮想リソースが特定の攻撃モード（例えば、仮想キャラクターが直接取り除きモードにあるか又は取り除くべき仮想リソースが取り除き武器によって攻撃されるとき）によって攻撃されることを検出すると、前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除したりする。
【０１４０】
例えば、仮想キャラクターの現在位置に基づいて決定された領域（領域Ｚとする）には仮想リソースＡ、Ｂ、Ｃ、Ｄが元々存在し、例えば、仮想リソースＡ：正常、残りのヒットポイント６０％；仮想リソースＢ：正常、残りのヒットポイント１００％；仮想リソースＣ：残りのヒットポイント１００％、正常；仮想リソースＤ：残りのヒットポイント１００％である。取り除くべき仮想リソースを仮想リソースＡとして決定すると、仮想リソースＡの残りのヒットポイントが０であるか否かを検出し、仮想リソースＡの残りのヒットポイントが０である場合、仮想リソースをゲームシーンの領域Ｚから削除し、つまり、削除後、領域Ｚには仮想リソースＢ、Ｃ、Ｄが残る。その同時に、領域Ｚに対応する領域仮想リソース状態情報を生成し、該情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常、残りのヒットポイント１００％；仮想リソースＣ：残りのヒットポイント１００％、正常；仮想リソースＤ：残りのヒットポイント１００％」という内容を含むことができ、或いは、該情報は、「仮想リソースＢ：正常、残りのヒットポイント１００％；仮想リソースＣ：残りのヒットポイント１００％、正常；仮想リソースＤ：残りのヒットポイント１００％」という内容を含むことができ、或いは、該情報は、「仮想リソースＡ：取り除き済み」という内容を含むことができ、クライアントはサーバからフィードバックされた上記領域仮想リソース状態情報を受信する。
【０１４１】
また、例えば、仮想キャラクターの現在位置に基づいて決定された領域（領域Ｚとする）には仮想リソースＡ、Ｂ、Ｃ、Ｄが元々存在し、取り除くべき仮想リソースの識別子を受信して取り除くべき仮想リソースを仮想リソースＡとして決定すると、仮想リソースＡが取り除き武器（鍬、ハンマーなど）によって攻撃されることが検出されたか又は仮想キャラクターが直接取り除きモードにあることが検出された場合、仮想リソースをゲームシーンの領域Ｚから削除し、つまり、削除後、領域Ｚには仮想リソースＢ、Ｃ、Ｄが残る。その同時に、領域Ｚに対応する領域仮想リソース状態情報を生成し、該情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」という内容を含むことができ、或いは、該情報は、「仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」という内容を含むことができ、或いは、該情報は、「仮想リソースＡ：取り除き済み」という内容を含むことができ、クライアントはサーバからフィードバックされた上記領域仮想リソース状態情報を受信する。
【０１４２】
好適な実施形態において、ステップＳ２４０では、前記領域仮想リソース状態情報に基づいて前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示する。
【０１４３】
クライアントは、前記領域仮想リソース状態情報に基づいて該領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいてクライアントのグラフィカルユーザインタフェースに前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、クライアントには、該領域内の仮想リソースの状態情報が保存されるか又はゲームシーンにおける全ての仮想リソースの状態情報が保存され、情報記憶形式とデータ構造は必要に応じて任意に設定できる。クライアントは、受信した前記領域仮想リソース状態情報に基づいて、ローカルに保存された仮想リソースの状態情報を更新することにより、該領域内の仮想リソースの状態の更新を完了する。
【０１４４】
例えば、クライアントａがローカルに保存した領域Ｚ内の仮想リソースの状態は、「仮想リソースＡ：正常；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」であり、サーバは、領域仮想リソース状態情報をクライアントａに送信し、該領域仮想リソース状態情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」であり、或いは、該領域仮想リソース状態情報は、「仮想リソースＢ：正常；仮想リソースＣ：正常；仮想リソースＤ：正常」であり、或いは、該領域仮想リソース状態情報は、「仮想リソースＡ：取り除き済み」であり、クライアントａは、該領域仮想リソース状状態情報に基づいて該領域内の仮想リソースの状態を更新し、つまり、仮想リソースＡの状態を正常から取り除き済みに変更し、かつクライアントＡのグラフィカルユーザインタフェースに仮想リソースＡの取り除きアニメーションをレンダリングして表示する。
【０１４５】
好適な実施形態において、更新された前記仮想リソースの状態に基づいて前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、仮想リソースの状態は、仮想リソース状態情報によって決まり、仮想リソース状態情報は、仮想リソースの現在の状態、例えば、取り除かれるか否か、仮想リソースの材質、残りのヒットポイントなどを含む。
【０１４６】
例えば、仮想リソースＡの仮想リソース状態情報が「仮想リソースＡ：正常」である場合、クライアントのグラフィカルユーザインタフェースに前記仮想リソースの正常形態をレンダリングして表示し、例えば、仮想リソースＡの仮想リソース状態情報が「仮想リソースＡ：取り除き済み」である場合、クライアントのグラフィカルユーザインタフェースに前記仮想リソースの取り除きアニメーションをレンダリングして表示した後、該仮想リソースを隠すか又は削除し、例えば、仮想リソースＡの仮想リソース状態情報が「仮想リソースＡ：残りのヒットポイント２０％」である場合、クライアントのグラフィカルユーザインタフェースに前記仮想リソースをレンダリングして表示し、該仮想リソースに割れ、欠けなどの表示効果を付加する。
【０１４７】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０１４８】
好適な実施形態において、ステップＳ２４０は、
前記領域仮想リソース状態情報に基づいて、前記領域内の取り除くべき仮想リソース、及び前記取り除くべき仮想リソースの隣接仮想リソースの状態を更新し、更新された前記領域内の仮想リソースの状態に基づいて、前記領域内の仮想リソースをレンダリングして表示するステップＳ２４０１をさらに含む。
【０１４９】
サーバからフィードバックされた、受信された領域仮想リソース状態情報が取り除くべき仮想リソースの状態情報を含み、前記方法は、前記取り除くべき仮想リソースに隣接する取り除くべき隣接仮想リソースの状態情報をさらに含む。サーバは、前記取り除くべき仮想リソースと隣接関係を有する隣接仮想リソースを決定し、前記隣接仮想リソースの隣接関係リストを取得し、前記取り除くべき仮想リソースを前記隣接関係リストから削除し、前記隣接関係リストに基づいて前記隣接仮想リソースが地面に接続されているか否かを判断し、前記隣接仮想リソースが地面に接続できなければ、前記隣接仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域内の仮想リソースの現在の状態に基づいて領域仮想リソース状態情報を生成する。
【０１５０】
前記取り除くべき仮想リソースと隣接関係を有する隣接仮想リソースを決定し、隣接仮想リソースは、該取り除くべき仮想リソースに直接的に隣接してもよいし、該取り除くべき仮想リソースに間接的に隣接してもよい。すなわち、隣接関係は、直接的な隣接関係及び間接的な隣接関係を含む。直接的な隣接関係とは、２つの仮想リソースに共通の辺が存在するか、一方の仮想リソースの一面が他方の仮想リソースの表面に接続されるか、又は、一方の仮想リソースの一点が他方の仮想リソースの表面に接続されることを指す。例えば、仮想リソースＡが水平面であり、仮想リソースＢも水平面であり、仮想リソースＡと仮想リソースＢとが並べて配置され、２つの水平面の側面が貼り合わされると、２つの水平面は直接的に隣接すると考えられ、また、例えば、仮想リソースＣが垂直面であり、仮想リソースＡの側面と仮想リソースＣの正面とが貼り合わされて建屋の垂直壁面と地面又は垂直壁面と上面を構成すると、仮想リソースＡは仮想リソースＣに直接的に隣接すると考えられる。間接的な隣接関係とは、２つの仮想リソースが、直接関係を有する同じ仮想リソースを有することを指し、例えば、仮想リソースＡが水平面であり、仮想リソースＢも水平面であり、仮想リソースＡと仮想リソースＢとの間に仮想リソースＤ（水平面）が存在し、仮想リソースＤの２つの側面がそれぞれ仮想リソースＡと仮想リソースＢに直接的に隣接すると、仮想リソースＡと仮想リソースＢとの間に間接的な隣接関係が存在すると考えられる。
【０１５１】
サーバは、ゲームシーンにおける各仮想リソースのために隣接関係リストをメインテインし、該隣接関係リストには、各仮想リソースに対応する、該仮想リソースと現在隣接関係を有する隣接仮想リソースの識別子がリアルタイムに記録され、ゲームシーンにおけるある仮想リソースが取り除くべき仮想リソースとして決定されると、該仮想リソースの隣接仮想リソースを決定し、隣接仮想リソースの隣接関係リストを取得し、該取り除くべき仮想リソースを隣接関係リストから削除する。
【０１５２】
クライアントは、前記領域仮想リソース状態情報に基づいて、該領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、クライアントのグラフィカルユーザインタフェースに前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示する。
【０１５３】
上記実施形態によれば、取り除くべき仮想リソースを決定した後、所定の隣接関係に基づいて条件に合致する他の取り除くべき仮想リソースを自動的に決定することにより、システムデータ処理リソースの占有率を低減し、このような形態によると、ユーザが取り除くべき仮想リソースを取り除いた後、条件に合致する他の取り除くべき隣接仮想リソースが連帯的に取り除かれることにより、迫真の建物崩壊効果を達成し、ユーザのゲーム体験を改善する。
【０１５４】
好適な実施形態において、前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答するステップＳ２１０の前に、前記方法は、
ゲームシーンにおける前記仮想キャラクターの現在位置を取得し、ローカルから仮想リソース状態インデックステーブルを取得するステップＳ２５０と、
ゲームシーンにおける前記仮想キャラクターの現在位置と前記仮想リソース状態インデックステーブルに基づいて前記ゲームシーンの仮想リソースをレンダリングしてロードするステップＳ２６０と、をさらに含む。
【０１５５】
ユーザのクライアントでのタッチ操作によりゲームシーンにおける仮想キャラクターの移動方向を変更することにより、仮想キャラクターをゲームシーンにおいて自由に移動させるように制御するため、ゲームシーンにおける仮想キャラクターの位置が変化する。ゲームシーンにおける前記仮想キャラクターの現在位置の取得は、ゲームシーンにおける該仮想キャラクターの座標の取得であってもよいし、ゲームシーンにおける仮想キャラクターの位置を示すことができる他の数値の取得であってもよい。
【０１５６】
好適な実施形態において、前記グラフィカルユーザインタフェースに移動制御装置を提供し、前記仮想キャラクターは、前記移動制御装置により受信されたタッチ操作に基づいて前記第１のゲームシーンにおいて移動するように構成される。前記移動制御装置は、例えば仮想ジョイスティック、方向制御仮想キーなどであってよく、本例示的な実施例では特に限定されない。
【０１５７】
具体的には、前記移動制御装置に作用するタッチ操作を検出し、該タッチ操作のタッチポイントの移動に基づいて、前記仮想キャラクターを前記ゲームシーンにおいて移動させるように制御する。
【０１５８】
好適な実施形態において、移動制御装置は、仮想ジョイスティックであり、仮想ジョイスティックにより受信されたタッチ操作に基づいて、仮想キャラクターをゲームシーンにおいて移動させるように制御する。
【０１５９】
好適な実施形態において、移動制御装置は、仮想十字キー／仮想方向キー（Ｄ−ＰＡＤ）であり、仮想十字キーにより受信されたタッチ操作に基づいて、仮想キャラクターをゲームシーンにおいて移動させるように制御する。
【０１６０】
仮想リソース状態インデックステーブルは、ゲームシーンにおける全ての仮想リソースの状態情報を記憶するためのマルチレベルのインデックス式記憶データ構造であり、ゲームの初期化過程において、クライアントは、ゲームシーンにおける各仮想リソースに対応する仮想リソース状態インデックステーブルをサーバから受信し、ローカルに記憶する。ゲームをする過程において、クライアントは、ローカルから仮想リソース状態インデックステーブルを取得する。ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードする。
【０１６１】
なお、ゲームシーンにおける前記仮想キャラクターの現在位置及び前記仮想リソース状態インデックステーブルに基づいて全てのゲームシーンの仮想リソースをレンダリングしてロードしてもよいし、ゲームシーンにおける前記仮想キャラクターの現在位置に基づいてゲームシーンの、一部の領域内の仮想リソースのみをレンダリングしてロードしてもよい。
【０１６２】
仮想リソース状態インデックステーブルは、クライアントが取り除きデータの記憶構造にアクセスする利便性を向上させることができ、クライアントは、該インデックステーブルによって各建設モデルの状態情報を迅速にインデックスすることができ、情報処理効率を向上させ、リソース消費を効果的に低減することができる。
【０１６３】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とをさらに含む。クライアントは、ある領域の仮想リソース状態情報を同期させるとき、該領域内にどの仮想リソースがあるかを迅速に探し当てることができ、仮想リソース識別子に基づいて、対応する仮想リソースの状態情報を迅速に取得することができる。
【０１６４】
好適な実施形態において、前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、前記仮想リソース識別子の中の上位情報は合成モデルを示すものであり、前記識別子の中の下位情報は前記合成モデルを構成する仮想リソースを示すものである。
【０１６５】
ゲームシーンにおける複数の仮想リソースは、互いに接合されて合成モデルを構成することができ、例えば、２つの水平面仮想リソースと４つの垂直面仮想リソースは、互いに接合されて住宅（合成モデル）を構成することができる。
【０１６６】
好適な実施形態において、ゲームシーンにおける仮想リソースが合成モデルのサブモデルであるか又は独立モデルであることを識別し、かつ各仮想リソースのインデックスを取得するために、グローバルに唯一のＩＤを仮想リソースに割り当てるとき、３２ビットの整数をＩＤとして使用し、整数の下位１２ｂｉｔを合成モデルのサブモデルのインデックスとして使用し、残りの上位２４ｂｉｔを独立モデル／合成モデルのインデックスとして使用する。
【０１６７】
１２ｂｉｔをサブモデルのインデックスとして使用する理由は、ゲームシーンにおいて最大の合成モデルが既に数百のサブモデルあり、１２ｂｉｔが４０９６個の数を表すことができ、現在の使用に十分であり、かつ将来のより大きな合成モデルに十分なスペースが確保されるからである。上位は２の１９乗個の数を表すことができ、これに対し、ゲームシーンにおける独立モデル／合成モデルの数は数万個に過ぎない。また、合成モデルにおけるサブモデルのインデックスが０から始まり、これに１のオフセットを加え、このようにサブモデルのインデックスが０であるとき、該仮想リソースが独立モデルであることを表す。
【０１６８】
例えば、２つの水平面仮想リソースと４つの垂直面仮想リソースは、互いに接合されて住宅（合成モデル）を構成することができ、２つの水平面仮想リソースのＩＤは、それぞれ、
００００  ００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００１、
００００  ００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００２であり、
４つの垂直面仮想リソースのＩＤは、それぞれ、
００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００３、
００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００４、
００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００５、
００００  ００００  ００００  ００００  ０００１：００００  ００００  ０００６であり、
１つの独立水平面仮想リソースのＩＤは、
００００  ００００  ００００  ００００  ０００２：００００  ００００  ００００である。
【０１６９】
仮想リソースＩＤの下位情報から、該仮想リソースが独立したモデルであるか又は合成モデルのサブモデルであるかを迅速に識別することができ、例えば、下位情報が００００  ００００  ００００であるとき、該仮想リソースが独立モデルであることを表し、下位情報が００００  ００００  ０００１などであり数値オフセットがあるとき、該仮想リソースが合成モデルであることを表す。その同時に、仮想リソースＩＤの上位情報から、合成モデルの全てのサブモデルを迅速に識別することができ、例えば、上位情報が００００  ００００  ００００  ００００  ０００１の仮想リソースＩＤは、同一の合成モデルのサブモデルに属する。
【０１７０】
上記実施形態によれば、クライアントが取り除きデータの記憶構造にアクセスする利便性を向上させることができ、クライアントは、ある領域の仮想リソース状態情報を同期させるとき、該領域内にどの仮想リソースがあるかを迅速に探し当てることができる。
【０１７１】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つである。
【０１７２】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つである。
【０１７３】
前記新規仮想リソース（すなわち、ゲーム画面におけるレンダリング生成）の建設は、プレイヤーの建設命令によってトリガーされ、建設命令には、少なくともプレイヤーが建設しようとする仮想リソース（すなわち新規リソース）の空間タイプが含まれ、さらに新規リソースの材料の属性（例えば木材、コンクリート、れんがなど）及び数量が含まれてもよい。既存仮想リソースは、ゲーム開発者によりゲームシーンに初期設定された仮想リソースであり、形状が新規仮想リソースの形状と同じであっても異なっていてもよく、例えば、新規仮想リソースの形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面を含み、既存仮想リソースの形状情報は、水平面、垂直面、柱、不規則なタイプを含む。
【０１７４】
好適な実施形態において、前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなる。
【０１７５】
ゲームシーンの空間は、互いに接合される複数の立体に分割される。立体は、直方体、立方体、平行六面体、ハニカムなどであってよく、立体同士が互いに接合されてゲームシーン全体の空間を形成することが理解できる。なお、ゲームシーンの空間を分割して得られた立体は論理的な空間、例えば、ｘ、ｙ、ｚ座標がいずれも０〜５０の範囲内にある空間範囲である。
【０１７６】
ゲームシーンにおいて分割される領域はｘ、ｚ軸（水平方向）において分割される２次元領域であり、各分割された領域は少なくとも１つの前記立体からなり、分割された領域は通常、立体の整数倍である。なお、立体自体は３次元領域であり、ここで説明する各分割された領域は、少なくとも１つの前記立体からなり、つまり、ｙ軸（垂直方向）を考慮せず、ｘ軸とｚ軸によって規定される平面内（水平方向）を前提として、各分割された領域は、少なくとも１つの前記立体からなる。
【０１７７】
好適な実施形態において、前記立体は、長さ及び幅が同じである直方体である。ゲームシーンの空間にＸＹＺ座標系を確立し、それぞれ水平方向のＸＺ座標、垂直上向きの座標Ｙである。空間分割の方式としては、空間を、水平のＸ＝５ｍ、Ｚ＝５ｍで、垂直上向き方向のＹ＝３．５ｍの間隔の無限個の直方体に分割することが用いられ、なお、直方体の長さ、幅及び高さの目盛り値は、開発者が実際の状況に応じて任意に設定することができる。
【０１７８】
互いに接合される複数の立体に分割されたゲームシーン空間において、各立体の表面及び立体の内部の断面は、いずれも新しい仮想リソースを建設することができ、また、ゲームシーンにおける既存の建物の部材（既存仮想リソース）も立体の表面及び内部の断面に基づいて予め配置される。
【０１７９】
新規仮想リソースと既存仮想リソースが同じ配置ルールを有するため、新規仮想リソースを生成したときに既存仮想リソースとより容易にマッチングし、同様に計算量を大幅に低減し、ゲームの実行効率を向上させる。
【０１８０】
以下、空間を長さ及び幅が同じで互いに接合される複数の直方体に分割することを例として説明し、なお、空間を任意の形状の互いに接合可能な複数の立体に分割することは、いずれも本開示の保護範囲内に含まれる。
【０１８１】
仮想リソースの形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面であってよく、つまり、前記直方体の幾何学的位置に対して、直方体の垂直面に沿って建設されてもよいし、直方体の水平面に沿って建設されてもよいし、直方体の内斜面に沿って建設されてもよい。前記垂直面とは、直方体における、ゲームシーンのグラウンドプレーンに垂直な４つの面であり、前記水平面とは、直方体における、ゲームシーンのグラウンドプレーンに平行な２つの面であり、前記内斜面とは、直方体内の対角断面である（前記対角断面が位置する平面は、直方体の水平面の２つの辺を通り、直方体の２つの垂直面と交差する）。仮想リソースの材料特性がれんがである場合を例として、直方体の垂直面に沿って建設される仮想リソースは垂直壁であり、直方体の水平面に沿って建設される仮想リソースは水平壁であり、直方体の内斜面に沿って建設される仮想リソースは、上向き又は下向きのスロープである。
【０１８２】
上記実施形態によれば、ゲームシーンを幾何学的に標準化することにより、新規仮想リソースとゲームシーンにおける既存仮想リソースとを位置合わせして接合させ、画面の美感を向上させることができ、その同時に、ゲームシーンにおいて建設するときに仮想リソース間の物理的な衝突検出を回避し、これにより、システムのオーバーヘッドを効果的に低減し、ゲーム実行の滑らかさを向上させることができる。
【０１８３】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものである。
【０１８４】
仮想リソース状態インデックステーブルの中の立体インデックス情報に基づいて、各仮想リソースが位置する立体、及び各立体に含まれる仮想リソースを迅速に確定することができる。
【０１８５】
好適な実施形態において、図２に示すように、図２の右側の合成モデル（仮想リソースが合成モデルの各サブモデルである）の立体における座標を（ｘ，ｙ，ｚ）とすると、リソース状態インデックステーブルの中の立体インデックス情報は以下の表に示すとおりである。
【０１８６】
【表２】
2021504017.tif 000004
【０１８７】
リソース状態インデックステーブルの中の立体インデックス情報に基づいて、立体（ｘ，ｙ，ｚ）に仮想リソースｏＤ、ｏＡＥＤ、ＣｏＤＧ、ｏＡＢＣが含まれ、立体（ｘ＋ｌ，ｙ，ｚ）に仮想リソースＡＥ、ＡＢＦＥが含まれ、立体（ｘ，ｙ＋ｌ，ｚ）に仮想リソースＤＥＦＧ、ＤＥＦＧＬＭが含まれ、立体（ｘ，ｙ，ｚ＋１）に仮想リソースＣＧ、ＢＣＧＦが含まれ、立体（ｘ＋１，ｙ，ｚ＋１）に仮想リソースＢＦが含まれていることを確定することができる。リソース状態インデックステーブルの中の立体インデックス情報に基づいて、各仮想リソースが位置する立体座標を迅速に確定することができ、これにより、仮想リソースと立体とのマッピング関係を確立する。ゲームシーンにおいて仮想キャラクターが建設するか又は取り除くとき、仮想リソース状態インデックステーブルに基づいて、各立体に存在する仮想リソースのタイプを判断し、建設を実行できる場所を決定することができ、仮想リソースに基づいて、該仮想リソースが位置する立体を迅速にインデックスすることもできる。
【０１８８】
好適な実施形態において、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものである。
【０１８９】
各仮想リソースに対応する領域インデックス情報は、各仮想リソースとその位置する領域とのマッピング関係を示すものである。クライアントが取り除きデータの記憶構造にアクセスする利便性を向上させ、クライアントは、取り除くべき仮想リソースが位置する領域を迅速に確定することができ、ある領域の仮想リソース状態情報を同期させるとき、該領域内にどの仮想リソースがあるかを迅速に探し当てることもできる。
【０１９０】
上記実施形態によれば、クライアントが取り除きデータの記憶構造にアクセスする利便性を向上させることができ、クライアントは、ある領域の仮想リソース状態情報を同期させるとき、該領域内にどの仮想リソースがあるかを迅速に探し当てることができ、さらに該仮想リソースが位置する立体、分類情報、形状情報などの情報を迅速に確定することができ、その同時に、仮想リソース状態インデックステーブルにより、ゲームシーン全体をメモリにロードする必要がなく、位置する領域内の、仮想リソースが存在する立体をメモリにロードすればよい。それによりメモリの消費を大幅に節約する。
【０１９１】
好適な実施形態において、仮想リソース状態インデックステーブルはインデックス記憶の方式を採用し、図３は、本開示の１つの例示的な実施例に係る仮想リソース状態インデックステーブルの概略図であり、図３に示すように、１次インデックスは領域インデックスであり、２次インデックスは立体インデックスであり、３次インデックスは仮想リソース分類情報インデックスであり、４次インデックスは仮想リソース形状情報インデックスである。ゲームシーン内のある仮想リソースが取り除かれた後、該仮想リソースを仮想リソース状態インデックステーブルから削除するか又は該仮想リソースの状態情報を取り除き済みの状態に変更し、上記方式により、クライアントは、該取り除かれた仮想リソースの元の位置又は隣接位置に新規仮想リソースを建設しようとするとき、仮想リソース状態インデックステーブルから対応する情報をタイムリーかつ迅速に問い合わせることができる。
【０１９２】
クライアントが使用する仮想リソース状態インデックステーブルには、仮想リソースの状態情報がバッファリングされ、仮想リソースの状態が変化すると、該状態を仮想リソース状態インデックステーブルのデータ構造に記憶する。プレイヤーが現在の領域から離れて再びこの領域に戻ると、これらの仮想リソースの状態がそのままバッファから読み取られ、該仮想リソースの状態が特殊効果又はＵＩで表現されることができる。仮想リソースの状態をバッファリングすることで、仮想リソースの状態を更新するためのクライアントのトラフィック消費を大幅に低減することができる。
【０１９３】
図３に例示するように、ゲームシーンは４つの領域に分割され、それぞれ領域Ｗ、Ｘ、Ｙ、Ｚであり、各領域には６つの立体が含まれ、それぞれ立体１−６、７−１２、１３−１８、１９−２４であり、各立体にはさらに２種類の分類情報が含まれ、それぞれ既存仮想リソース、新規仮想リソースであり、既存仮想リソースは５種類の形状情報を含み、それぞれ水平面、西向き垂直面、南向き垂直面、不規則なタイプ、柱であり、新規仮想リソースは４種類の形状情報を含み、それぞれ水平面、垂直面、上向きスロープ、下向きスロープであり、既存仮想リソースの各種類の形状情報は、仮想リソースＩＤ、最大ヒットポイント、現在のヒットポイントを含み、新規仮想リソースの各種類の形状情報は、仮想リソースＩＤ、最大ヒットポイント、現在のヒットポイント、材質ＩＤ、エンティティオブジェクトを含む。
【０１９４】
仮想リソース状態インデックステーブルにおける仮想リソースＡの情報は、「グローバルＩＤ１、最大ヒットポイント１００、現在のヒットポイント１００、水平面、既存仮想リソース、立体３、領域Ｚ」で、仮想リソース状態インデックステーブルにおける仮想リソースＢの情報は、「グローバルＩＤ２、最大ヒットポイント１００、現在のヒットポイント１００、２（木材ＩＤ）、エンティティオブジェクト２、垂直面、新規仮想リソース、立体４、領域Ｚ」であるとする。
【０１９５】
クライアントは、サーバからフィードバックされた、領域Ｚに対応する領域仮想リソース状態情報を受信すると、受信した領域仮想リソース状態情報から、領域Ｚ内の仮想リソースＡを取り除き、仮想リソース２のヒットポイントを４０％に減少させることが分かり、そして、領域仮想リソース状態情報に基づいて仮想リソース状態インデックステーブルを更新し、つまり、仮想リソースＡを仮想リソース状態インデックステーブルから削除し、仮想リソースＢの状態情報を、「グローバルＩＤ２、最大ヒットポイント１００、現在のヒットポイント４０、２（木材ＩＤ）、エンティティオブジェクト２、垂直面、新規仮想リソース、立体４、領域Ｚ」に更新する。
【０１９６】
好適な実施形態において、ステップＳ２６０では、ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードし、前記方法は、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定するステップＳ２６０１と、
前記仮想リソース状態インデックステーブルに基づいて、前記領域内の仮想リソース状態情報を取得するステップＳ２６０２と、
前記領域内の仮想リソース状態情報に基づいて、前記ゲームシーンの前記領域内の仮想リソースをレンダリングしてロードするステップＳ２６０３と、をさらに含む。
【０１９７】
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定する。該領域は、ゲームシーンにおける、仮想キャラクターが位置する位置を中心として、所定の距離を半径とする円形範囲の領域であってもよいし、仮想キャラクターが位置する現在位置を含む任意の形状の領域であってもよいし、ゲームシーンを複数の領域に予め分割して、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該現在位置が属する所定の領域を決定してもよい。前記仮想キャラクターが位置する領域に基づいて、仮想リソース状態インデックステーブルおいてインデックスして、該領域内の全ての仮想リソース状態情報を取得し、該領域内の全ての仮想リソース状態情報に基づいて、前記ゲームシーンの前記領域内の仮想リソースをレンダリングしてロードする。
【０１９８】
上記実施形態によれば、仮想リソース状態インデックステーブル及び仮想キャラクターの現在の位置に基づいて、位置する領域の仮想リソースをレンダリングしてロードすることにより、ゲームシーンの全てのモデルのロードを回避し、リソース消費を効果的に低減する。
【０１９９】
図３に再び例示するように、ゲームシーンは４つの領域に分割され、それぞれ領域Ｗ、Ｘ、Ｙ、Ｚであり、各領域には６つの立体が含まれ、それぞれ立体１−６、７−１２、１３−１８、１９−２４であり、各立体にはさらに２種類の分類情報が含まれ、それぞれ既存仮想リソース、新規仮想リソースであり、既存仮想リソースは５種類の形状情報を含み、それぞれ水平面、西向き垂直面、南向き垂直面、不規則なタイプ、柱であり、新規仮想リソースは４種類の形状情報を含み、それぞれ水平面、垂直面、上向きスロープ、下向きスロープであり、既存仮想リソースの各種類の形状情報は、仮想リソースＩＤ、最大ヒットポイント、現在のヒットポイントを含み、新規仮想リソースの各種類の形状情報は、仮想リソースＩＤ、最大ヒットポイント、現在のヒットポイント、材質ＩＤ、エンティティオブジェクトを含む。
【０２００】
仮想キャラクターが領域Ｚに位置し、仮想リソース状態インデックステーブルにおける仮想リソースＡの情報は、「グローバルＩＤ１、最大ヒットポイント１００、現在のヒットポイント１００、水平面、既存仮想リソース、立体３、領域Ｚ」で、仮想リソース状態インデックステーブルにおける仮想リソースＢの情報は、「グローバルＩＤ２、最大ヒットポイント１００、現在のヒットポイント１００、２（木材ＩＤ）、エンティティオブジェクト２、垂直面、新規仮想リソース、立体４、領域Ｚ」であるとする。
【０２０１】
クライアントは、ローカルに記憶された仮想リソース状態インデックステーブルに基づいて領域Ｚ内の仮想リソース状態情報、すなわち仮想リソース状態インデックステーブルにおける仮想リソースＡ、Ｂの状態情報を取得し、前記状態情報に基づいて、クライアントのグラフィカルユーザインタフェースに前記ゲームシーンの領域Ｚ内の仮想リソースＡ、Ｂをレンダリングしてロードする。
【０２０２】
好適な実施形態において、ステップＳ２４０では、前記領域仮想リソース状態情報に基づいて前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、前記方法は、
前記領域仮想リソース状態情報に基づいて、ローカルの前記仮想リソース状態インデックステーブルを更新するステップＳ２４０２と、
更新された前記仮想リソース状態インデックステーブルに基づいて、前記仮想リソースをレンダリングして表示するステップＳ２４０３と、をさらに含む。
【０２０３】
クライアントは、前記領域仮想リソース状態情報に基づいて、ローカルの前記仮想リソース状態インデックステーブルを更新し、更新された前記仮想リソース状態インデックステーブルに基づいて、クライアントのグラフィカルユーザインタフェースに前記仮想リソースをレンダリングして表示する。
【０２０４】
例えば、クライアントａがローカルに保存した領域Ｚ内の仮想リソース状態インデックステーブルは、以下のとおりである。
【０２０５】
仮想リソースＡ：現在のヒットポイント１００、領域Ｚ；
仮想リソースＢ：現在のヒットポイント１００、領域Ｚ；
仮想リソースＣ：現在のヒットポイント１００、領域Ｚ；
仮想リソースＤ：現在のヒットポイント１００、領域Ｚ。
【０２０６】
クライアントａは、サーバから送信された領域仮想リソース状態情報を受信し、該領域仮想リソース状態情報は、「仮想リソースＡ：取り除き済み；仮想リソースＢ：現在のヒットポイント１００；仮想リソースＣ：現在のヒットポイント１００；仮想リソースＤ：現在のヒットポイント１００」であり、或いは、該領域仮想リソース状態情報は、「仮想リソースＢ：現在のヒットポイント１００；仮想リソースＣ：現在のヒットポイント１００；仮想リソースＤ：現在のヒットポイント１００」であり、或いは、該領域仮想リソース状態情報は、「仮想リソースＡ：取り除き済み」である。クライアントａは、該領域仮想リソース状態情報に基づいて、仮想リソース状態インデックステーブルを更新し、得られた更新された仮想リソース状態インデックステーブルは、以下のとおりである。
【０２０７】
仮想リソースＡ：取り除き済み、領域Ｚ、
仮想リソースＢ：現在のヒットポイント１００、領域Ｚ；
仮想リソースＣ：現在のヒットポイント１００、領域Ｚ；
仮想リソースＤ：現在のヒットポイント１００、領域Ｚ。
【０２０８】
更新された前記仮想リソース状態インデックステーブルに基づいて、クライアントａのグラフィカルユーザインタフェースに仮想リソースＡの取り除きアニメーションをレンダリングして表示する。
【０２０９】
或いは、得られた更新された仮想リソース状態インデックステーブルは以下のとおりである。
【０２１０】
仮想リソースＢ：現在のヒットポイント１００、領域Ｚ；
仮想リソースＣ：現在のヒットポイント１００、領域Ｚ；
仮想リソースＤ：現在のヒットポイント１００、領域Ｚ。
【０２１１】
更新された仮想リソース状態インデックステーブルに仮想リソースＡが存在しないため、更新された前記仮想リソース状態インデックステーブルに基づいて、クライアントａのグラフィカルユーザインタフェースに仮想リソースＡの取り除きアニメーションをレンダリングして表示する。
【０２１２】
上記実施形態によれば、仮想リソース状態インデックステーブルによりゲームシーンにおける仮想リソースの状態を領域単位で更新することで、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２１３】
好適な実施形態において、図５は、本開示の実施例に係るゲームシーンにおける仮想リソースの処理方法の１つのフローチャートである。図５に示すように、本実施例において、該方法は、以下のステップを含む。
【０２１４】
ステップＳ３１０では、サーバはクライアントに領域状態同期を行う。
【０２１５】
まず、サーバは、ゲームシーンにおける各領域のためにバージョン番号をメインテインし、このバージョン番号は、該領域内のモデル（仮想リソース）の状態が変化するたびに、イテレートして変更する。その同時に、サーバは各ゲームキャラクタ（仮想キャラクター）のために該ゲームキャラクタが通過した領域のバージョン番号もメインテインする。ゲームキャラクタが行ったことがない領域に入ると、この領域のバージョン番号が最初のバージョン番号と一致していなければ、該領域の最新の状態（領域仮想リソース状態情報）を該プレイヤーに同期させる。ゲームキャラクタが再び行ったことがある領域に戻ると、サーバは、該ゲームキャラクタのためにメインテインしている該領域のバージョン番号と該領域のバージョン番号とを比較し、一致するか否かを判断し、一致しなければ、サーバは、該領域の最新状態（領域仮想リソース状態情報）を該ゲームキャラクタに対応するクライアントに同期させる。同期するたびに、クライアントはこれらの同期された状態をバッファリングする。
【０２１６】
ステップＳ３２０では、仮想キャラクターは、ゲームシーンにおけるモデルへ攻撃をかける。
【０２１７】
ゲームキャラクタ（仮想キャラクター）は、ゲームシーンにおけるモデル（仮想キャラクター）を取り除くとき、武器でシーンにおけるモデルに当てる場合、その当てられたモデルのｉｄをサーバにアップロードする。
【０２１８】
ステップＳ３３０では、攻撃されたモデルの状態を更新する。
【０２１９】
サーバは、ゲームキャラクタにより使用される武器に基づいて該モデルに与える損傷を計算し、サーバのために生成されたデータテーブルから該モデルの材質、及びこのタイプのモデルに設定されるヒットポイントを取得し、モデルを損傷して一定のヒットポイントを減少させると、対応する材質の材料が落ちる。サーバは、該モデルの現在のヒットポイント状態を該領域内の全てのゲームキャラクタに対応するクライアントに同期させる。モデルのヒットポイントが０になると、サーバは、該モデルの取り除き情報（領域仮想リソース状態情報）を該領域内の全てのゲームキャラクタに対応するクライアントに同期させる。該モデルが取り除かれたとき、サーバは、さらに該モデルを建設格子（ゲームシーンにおける立体）から除去し、このように建設格子の情報を更新する。さらに、サーバは、該モデルを該モデルの隣接モデルの隣接関係から削除し、削除時、サーバは、該モデルに隣接するモデルが地面に接続できるか否かを判定し、接続できなければ、地面に接続できない関連モデルも併せて削除する。
【０２２０】
クライアントとのインターアクション過程において、サーバは、状態が変化したモデルをバッファリングするとともに、対応する領域のバージョン番号を修正する。
【０２２１】
ステップＳ３４０では、攻撃されたモデルの状態をバッファリングし、レンダリングして表示する。
【０２２２】
クライアントは、攻撃されたモデルの状態同期情報（領域仮想リソース状態情報）を受信した後、まず、前記状態同期情報をバッファリングし、その後、煙、火花、振動、クラック、血痕などを含む特殊効果表現をクライアントで行う。その同時に、クライアントの仮想リソース状態インデックステーブルから該モデルをさらに削除し、このように、クライアントは、ゲームシーンにおいて仮想リソースを建設するとき、取り除かれた仮想リソースと同じ位置で建設できるか否か、及び該モデルの隣接領域で建設できるか否かを判断することができる。
【０２２３】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいて、ゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２２４】
例示的な本実施例は、さらにゲームシーンにおける仮想リソースの処理装置を開示する。図６は、本開示の実施例に係るゲームシーンにおける仮想リソースの処理装置の１つの構成図である。図６に示すように、前記装置は、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定する第１の決定モジュールと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定する第２の決定モジュールと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成する第１の更新モジュールと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにする第１の送信モジュールと、を含む。
【０２２５】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２２６】
上記実施例における各モジュールユニットの具体的な詳細は、対応するゲームシーンにおける仮想リソースの処理方法において詳細に説明されており、また、理解できるように、ゲームシーンにおける仮想リソースの処理装置は、情報処理方法に対応する他のユニットモジュールをさらに含むが、ここでは説明を省略する。
【０２２７】
例示的な本実施例は、さらにゲームシーンにおける仮想リソースの処理装置を開示する。図７は、本開示の実施例に係るゲームシーンにおける仮想リソースの処理装置の１つの構成図である。図７に示すように、前記装置は、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定する第３の決定モジュールと、
前記取り除くべき仮想リソースの識別子をサーバに送信する第２の送信モジュールと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信する第１の受信モジュールと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示する第２の更新モジュールと、を含む。
【０２２８】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２２９】
上記実施例における各モジュールユニットの具体的な詳細は、対応するゲームシーンにおける仮想リソースの処理方法において詳細に説明されており、また、理解できるように、ゲームシーンにおける仮想リソースの処理装置は、情報処理方法に対応する他のユニットモジュールをさらに含むが、ここでは説明を省略する。
【０２３０】
なお、上記詳細な説明において、動作実行のための装置の複数のモジュール又はユニットを説明したが、このような分割は強制的ではない。実際には、本開示の実施形態において、上述した２つ以上のモジュール又はユニットの特徴及び機能は、１つのモジュール又はユニットにおいて具体化されてよい。逆に、上述した１つのモジュール又はユニットの特徴及び機能は、さらに分割されて複数のモジュール又はユニットにより具体化されてよい。
【０２３１】
例示的な本実施例は、さらにゲームシステムを開示する。図８は、本開示の実施例に係るゲームシステムの１つの構成図である。図８に示すように、前記ゲームシステムは、サーバ８０１とクライアント８０２を含み、
サーバは、第１のプロセッサと、
前記第１のプロセッサの第１の実行可能な命令を記憶する第１のメモリと、を含み、
前記第１のプロセッサは、前記第１の実行可能な命令を実行することにより、上記ゲームシーンにおける仮想リソースの処理方法を実行するように構成され、
クライアントは、第２のプロセッサと、
前記第２のプロセッサの第２の実行可能な命令を記憶する第２のメモリと、を含み、
前記第２のプロセッサは、前記第２の実行可能な命令を実行することにより、上記ゲームシーンにおける仮想リソースの処理方法を実行するように構成される。
【０２３２】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２３３】
なお、本発明の実施例は、ゲームシステムが１つのサーバ及び１つのクライアントを含むことを例に挙げて説明するが、具体的な実施において、ゲームシステムは、１つ以上のクライアントを備えてもよく、そのクライアントの数は、実際の応用に従って設定することができる。
【０２３４】
図９は、本開示の実施例に係る電子機器の１つの構成概略図である。図９に示すように、本実施例の電子機器９１０は、メモリ９１１とプロセッサ９１２を含む。メモリ９１１とプロセッサ９１２はバスを介して接続されることができ、
プロセッサ９１２と、
前記プロセッサの実行可能な命令を記憶するメモリ９１１と、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定するステップと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定するステップと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成するステップと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにするステップと、を実現するように構成される。
【０２３５】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する前に、前記方法は、
前記取り除くべき仮想リソースが所定の条件を満たしたことを検出することをさらに含んでもよい。
【０２３６】
前記領域に対応する領域仮想リソース状態情報を生成する前に、前記方法は、
前記取り除くべき仮想リソースと隣接関係を有する隣接仮想リソースを決定することと、
前記隣接仮想リソースの隣接関係リストを取得し、前記取り除くべき仮想リソースを前記隣接関係リストから削除することと、
前記隣接関係リストに基づいて、前記隣接仮想リソースが地面に接続されているか否かを判断し、前記隣接仮想リソースが地面に接続できなければ、前記隣接仮想リソースを前記ゲームシーンの前記領域から削除することと、をさらに含んでもよい。
【０２３７】
前記ゲームシーンは、領域内の仮想リソースの現在の状態情報を示す領域バージョン番号がそれぞれ設定された複数の領域に分割され、ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定した後、前記方法は、
前記仮想キャラクターが前記領域に入ったのが初めてであるか否かを判断することと、
前記領域に入ったのが初めてである場合、前記領域の現在の領域バージョン番号を仮想キャラクター領域バージョン情報として保存し、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することと、
前記領域に入ったのが初めてではない場合、前記仮想キャラクターに対応する仮想キャラクター領域バージョン情報を取得することと、
前記仮想キャラクター領域バージョン情報を前記領域の現在の領域バージョン番号とマッチングすることと、
前記仮想キャラクター領域バージョン情報が前記領域の現在の領域バージョン番号と異なれば、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することと、をさらに含んでもよい。
【０２３８】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成し、前記方法は、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除することと、
前記領域に対応する領域バージョン番号をイテレート（ｉｔｅｒａｔｅ）して前記領域の現在の領域バージョン番号として決定することと、
領域仮想リソース状態情報を更新することと、をさらに含んでもよい。
【０２３９】
前記方法は、
前記ゲームシーンにおける前記複数の仮想リソースに対して、少なくとも各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とを含む仮想リソース状態インデックステーブルを作成することと、
前記仮想リソース状態インデックステーブルをクライアントに同期することと、をさらに含んでもよい。
【０２４０】
前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、前記仮想リソース識別子の上位情報は合成モデルを示すものであり、前記識別子の下位情報は前記合成モデルを構成する仮想リソースを示すものであってもよい。
【０２４１】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つであってもよい。
【０２４２】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つであってもよい。
【０２４３】
前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなり、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものであってもよい。
【０２４４】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものであってもよい。
【０２４５】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成することは、
前記領域に基づいて、仮想リソース状態インデックステーブルから前記領域内の仮想リソース状態情報を取得することと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域内の仮想リソース状態情報を更新し、前記領域に対応する領域仮想リソース状態情報を生成することと、を含んでもよい。
【０２４６】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２４７】
図１０は、本開示の実施例に係る電子機器の１つの構成概略図である。図１０に示すように、本実施例の電子機器１０１０は、メモリ１０１１とプロセッサ１０１２を含む。メモリ１０１１とプロセッサ１０１２はバスを介して接続されることができ、
プロセッサ１０１２と、
前記プロセッサの実行可能な命令を記憶するメモリ１０１１と、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて、前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定するステップと、
前記取り除くべき仮想リソースの識別子をサーバに送信するステップと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信するステップと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示するステップと、を実現するように構成される。
【０２４８】
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、前記方法は、
前記領域仮想リソース状態情報に基づいて、前記領域内の取り除くべき仮想リソース、及び前記取り除くべき仮想リソースの隣接仮想リソースの状態を更新し、更新された前記領域内の仮想リソースの状態に基づいて、前記領域内の仮想リソースをレンダリングして表示することをさらに含んでもよい。
【０２４９】
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答する前に、前記方法は、
ゲームシーンにおける前記仮想キャラクターの現在位置を取得し、ローカルから仮想リソース状態インデックステーブルを取得することと、
ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードすることと、をさらに含んでもよい。
【０２５０】
ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードすることは、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定することと、
前記仮想リソース状態インデックステーブルに基づいて、前記領域内の仮想リソース状態情報を取得することと、
前記領域内の仮想リソース状態情報に基づいて、前記ゲームシーンの前記領域内の仮想リソースをレンダリングしてロードすることと、を含んでもよい。
【０２５１】
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、前記方法は、
前記領域仮想リソース状態情報に基づいて、ローカルの前記仮想リソース状態インデックステーブルを更新することと、
更新された前記仮想リソース状態インデックステーブルに基づいて、前記仮想リソースをレンダリングして表示することと、をさらに含んでもよい。
【０２５２】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とをさらに含んでもよい。
【０２５３】
前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、前記仮想リソース識別子の上位情報は合成モデルを示すものであり、前記識別子の下位情報は前記合成モデルを構成する仮想リソースを示すものであってもよい。
【０２５４】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つであってもよい。
【０２５５】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つであってもよい。
【０２５６】
前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなり、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものであってもよい。
【０２５７】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものであってもよい。
【０２５８】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２５９】
好適な実施形態において、前記電子機器は、１つ以上のプロセッサと、処理部材が実行可能な命令、例えばアプリケーションプログラムを記憶するための、メモリに代表されるメモリリソースとをさらに含むことができる。メモリに記憶されるアプリケーションプログラムは、それぞれ１組の命令に対応する１つ以上のモジュールを含むことができる。また、処理部材は、命令を実行することにより、上記情報処理方法を実行するように構成される。
【０２６０】
該電子機器は、実行電子機器に対して電源管理を行うように構成される電源部材と、電子機器をネットワークに接続するように構成される有線又は無線のネットワークインタフェースと、入出力（Ｉ／Ｏ）インタフェースと、をさらに含むことができる。該電子機器は、メモリに記憶されたオペレーティングシステム、例えばＡｎｄｒｏｉｄ、ｉＯＳ、Ｗｉｎｄｏｗｓ、Ｍａｃ  ＯＳ  Ｘ、Ｕｎｉｘ、Ｌｉｎｕｘ、ＦｒｅｅＢＳＤなどに基づいて操作され得る。
【０２６１】
図１１は、本開示の実施例に係る記憶媒体の１つの構成概略図である。図１１に示すように、コンピュータプログラムが記憶されている本発明の実施形態に係るプログラム製品１１００が記載されており、前記コンピュータプログラムは、プロセッサにより実行されると、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定するステップと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定するステップと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成するステップと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにするステップと、が実現される。
【０２６２】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する前に、前記方法は、
前記取り除くべき仮想リソースが所定の条件を満たしたことを検出することをさらに含んでもよい。
【０２６３】
前記領域に対応する領域仮想リソース状態情報を生成する前に、前記方法は、
前記取り除くべき仮想リソースと隣接関係を有する隣接仮想リソースを決定することと、
前記隣接仮想リソースの隣接関係リストを取得し、前記取り除くべき仮想リソースを前記隣接関係リストから削除することと、
前記隣接関係リストに基づいて、前記隣接仮想リソースが地面に接続されているか否かを判断し、前記隣接仮想リソースが地面に接続できなければ、前記隣接仮想リソースを前記ゲームシーンの前記領域から削除することと、をさらに含んでもよい。
【０２６４】
前記ゲームシーンは、領域内の仮想リソースの現在の状態情報を示す領域バージョン番号がそれぞれ設定された複数の領域に分割され、ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定した後、前記方法は、
前記仮想キャラクターが前記領域に入ったのが初めてであるか否かを判断することと、
前記領域に入ったのが初めてである場合、前記領域の現在の領域バージョン番号を仮想キャラクター領域バージョン情報として保存し、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することと、
前記領域に入ったのが初めてではない場合、前記仮想キャラクターに対応する仮想キャラクター領域バージョン情報を取得することと、
前記仮想キャラクター領域バージョン情報を前記領域の現在の領域バージョン番号とマッチングすることと、
前記仮想キャラクター領域バージョン情報が前記領域の現在の領域バージョン番号と異なれば、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することと、をさらに含んでもよい。
【０２６５】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成し、前記方法は、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除することと、
前記領域に対応する領域バージョン番号をイテレートして前記領域の現在の領域バージョン番号として決定することと、
領域仮想リソース状態情報を更新することと、をさらに含んでもよい。
【０２６６】
前記方法は、
前記ゲームシーンにおける前記複数の仮想リソースに対して、少なくとも各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とを含む仮想リソース状態インデックステーブルを作成することと、
前記仮想リソース状態インデックステーブルをクライアントに同期することと、をさらに含んでもよい。
【０２６７】
前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、前記仮想リソース識別子の上位情報は合成モデルを示すものであり、前記識別子の下位情報は前記合成モデルを構成する仮想リソースを示すものであってもよい。
【０２６８】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つであってもよい。
【０２６９】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つであってもよい。
【０２７０】
前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなり、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものであってもよい。
【０２７１】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものであってもよい。
【０２７２】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成することは、
前記領域に基づいて、仮想リソース状態インデックステーブルから前記領域内の仮想リソース状態情報を取得することと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域内の仮想リソース状態情報を更新し、前記領域に対応する領域仮想リソース状態情報を生成することと、を含んでもよい。
【０２７３】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２７４】
コンピュータ読み取り可能な記憶媒体は、ベースバンド内で、又は搬送波の一部として伝搬され、読み取り可能なプログラムコードが担持されたデータ信号を含んでよい。このように伝搬されるデータ信号は、様々な形態をとることができ、電磁信号、光信号又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置又はデバイスにより使用されるか又はそれらに組み込まれて使用されるプログラムを送信、伝搬又は伝送することができる。
【０２７５】
コンピュータ読み取り可能な記憶媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されてよく、この適切な媒体は、無線、有線、光ケーブル、無線周波数等、又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。
【０２７６】
図１２は、本開示の実施例に係る記憶媒体の１つの構成概略図である。図１２に示すように、コンピュータプログラムが記憶されている本発明の実施形態に係るプログラム製品１２００が記載されており、前記コンピュータプログラムは、プロセッサにより実行されると、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定するステップと、
前記取り除くべき仮想リソースの識別子をサーバに送信するステップと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信するステップと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示するステップと、が実現される。
【０２７７】
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、前記方法は、
前記領域仮想リソース状態情報に基づいて、前記領域内の取り除くべき仮想リソース、及び前記取り除くべき仮想リソースの隣接仮想リソースの状態を更新し、更新された前記領域内の仮想リソースの状態に基づいて、前記領域内の仮想リソースをレンダリングして表示することをさらに含んでもよい。
【０２７８】
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答する前に、前記方法は、
ゲームシーンにおける前記仮想キャラクターの現在位置を取得し、ローカルから仮想リソース状態インデックステーブルを取得することと、
ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードすることと、をさらに含んでもよい。
【０２７９】
ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードすることは、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定することと、
前記仮想リソース状態インデックステーブルに基づいて、前記領域内の仮想リソース状態情報を取得することと、
前記領域内の仮想リソース状態情報に基づいて、前記ゲームシーンの前記領域内の仮想リソースをレンダリングしてロードすることと、を含んでもよい。
【０２８０】
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示し、前記方法は、
前記領域仮想リソース状態情報に基づいて、ローカルの前記仮想リソース状態インデックステーブルを更新することと、
更新された前記仮想リソース状態インデックステーブルに基づいて、前記仮想リソースをレンダリングして表示することと、をさらに含んでもよい。
【０２８１】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とをさらに含んでもよい。
【０２８２】
前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、前記仮想リソース識別子の上位情報は合成モデルを示すものであり、前記識別子の下位情報は前記合成モデルを構成する仮想リソースを示すものであってもよい。
【０２８３】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つであってもよい。
【０２８４】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つであってもよい。
【０２８５】
前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなり、前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものであってもよい。
【０２８６】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものであってもよい。
【０２８７】
上記実施形態によれば、ゲームシーンにおける仮想キャラクターの現在位置に基づいて該仮想キャラクターが位置する領域を決定し、該領域の範囲に基づいてゲームシーンに対応する仮想リソースをロードし、ゲームシーンにおける仮想リソースの状態を領域単位で更新することにより、リソース消費を効果的に低減し、データ処理負荷を大幅に低減することができる。
【０２８８】
コンピュータ読み取り可能な記憶媒体は、ベースバンド内で、又は搬送波の一部として伝搬され、読み取り可能なプログラムコードが担持されたデータ信号を含んでよい。このように伝搬されるデータ信号は、様々な形態をとることができ、電磁信号、光信号又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。コンピュータ読み取り可能な記憶媒体は、命令実行システム、装置又はデバイスにより使用されるか又はそれらに組み込まれて使用されるプログラムを送信、伝搬又は伝送することができる。
【０２８９】
コンピュータ読み取り可能な記憶媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されてよく、この適切な媒体は、無線、有線、光ケーブル、無線周波数等、又はこれらの任意の適切な組み合わせを含むが、これらに限定されない。
【０２９０】
以上の実施形態の説明により、本明細書に記載の例示的な実施形態が、ソフトウェアにより実現されてもよいし、ソフトウェアと必要なハードウェアとの組み合わせにより実現されてもよいことは、当業者にとって容易に理解される。したがって、本発明の実施形態に係る技術的解決手段は、ソフトウェア製品の形態で現われることができ、該ソフトウェア製品は、不揮発性記憶媒体（ＣＤ−ＲＯＭ、Ｕディスク、リムーバブルハードディスクなど）又はネットワークに記憶されてよく、コンピューティング機器（パーソナルコンピュータ、サーバ、電子機器、又はネットワーク機器など）に本発明の実施形態に係る方法を実行させる複数の命令を含む。
【０２９１】
当業者は、明細書を考慮し、本明細書に開示された発明を実施した後、本開示の他の実施例を容易に想到し得る。本願は、本開示の一般的な原理に従い、本開示に開示されていない本技術分野における公知の常識又は慣用の技術的手段を含む本開示の任意の変形、用途又は適応的変化をカバーすることを意図する。本明細書及び実施例は、単に例示的なものと見なされ、本開示の本当の範囲及び趣旨は、特許請求の範囲によって示される。
【０２９２】
なお、本開示は、以上に説明され、かつ図面で示された精確な構造に限定されるものではなく、その範囲から逸脱することなく様々な修正及び変更を行うことができる。本開示の範囲は、添付の特許請求の範囲のみによって限定される。
【図１】
2021504017.tif 000005
【図２】
2021504017.tif 000006
【図３】
2021504017.tif 000007
【図４】
2021504017.tif 000008
【図５】
2021504017.tif 000009
【図６】
2021504017.tif 000010
【図７】
2021504017.tif 000011
【図８】
2021504017.tif 000012
【図９】
2021504017.tif 000013
【図１０】
2021504017.tif 000014
【図１１】
2021504017.tif 000015
【図１２】
2021504017.tif 000016
【手続補正書】
【提出日】令和2年5月25日(2020.5.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ゲームシーンにおける仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定することと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定することと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成することと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにすることと、を含む、ゲームシーンにおける仮想リソースの処理方法。
【請求項２】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除する前に、
前記取り除くべき仮想リソースが所定の条件を満たしたことを検出することをさらに含む、請求項１に記載の方法。
【請求項３】
前記領域に対応する領域仮想リソース状態情報を生成する前に、
前記取り除くべき仮想リソースと隣接関係を有する隣接仮想リソースを決定することと、
前記隣接仮想リソースの隣接関係リストを取得し、前記取り除くべき仮想リソースを前記隣接関係リストから削除することと、
前記隣接関係リストに基づいて、前記隣接仮想リソースが地面に接続されているか否かを判断し、前記隣接仮想リソースが地面に接続できなければ、前記隣接仮想リソースを前記ゲームシーンの前記領域から削除することと、をさらに含む、請求項１に記載の方法。
【請求項４】
前記ゲームシーンは、領域内の仮想リソースの現在の状態情報を示す領域バージョン番号がそれぞれ設定された複数の領域に分割され、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定した後、
前記仮想キャラクターが前記領域に入ったのが初めてであるか否かを判断することと、
前記領域に入ったのが初めてである場合、前記領域の現在の領域バージョン番号を仮想キャラクター領域バージョン情報として保存し、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することと、
前記領域に入ったのが初めてではない場合、前記仮想キャラクターに対応する仮想キャラクター領域バージョン情報を取得することと、
前記仮想キャラクター領域バージョン情報を前記領域の現在の領域バージョン番号とマッチングすることと、
前記仮想キャラクター領域バージョン情報が前記領域の現在の領域バージョン番号と異なれば、前記領域の現在の領域バージョン番号に対応する領域仮想リソース状態情報を前記仮想キャラクターに対応するクライアントに送信することと、をさらに含む、請求項１に記載の方法。
【請求項５】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成することは、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除することと、
前記領域に対応する領域バージョン番号をイテレートして前記領域の現在の領域バージョン番号として決定することと、
領域仮想リソース状態情報を更新することと、をさらに含む、請求項４に記載の方法。
【請求項６】
前記ゲームシーンにおける複数の仮想リソースに基づいて、少なくとも各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とを含む仮想リソース状態インデックステーブルを作成することと、
前記仮想リソース状態インデックステーブルをクライアントに同期することと、をさらに含む、請求項１に記載の方法。
【請求項７】
前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、前記仮想リソース識別子の上位情報は合成モデルを示すものであり、前記識別子の下位情報は前記合成モデルを構成する仮想リソースを示すものである、請求項６に記載の方法。
【請求項８】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、
前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つである、請求項６に記載の方法。
【請求項９】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、
前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つである、請求項６に記載の方法。
【請求項１０】
前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、
前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、
前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなり、
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、
前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものである、請求項６に記載の方法。
【請求項１１】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、
前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものである、請求項６に記載の方法。
【請求項１２】
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成することは、
前記領域に基づいて、仮想リソース状態インデックステーブルから前記領域内の仮想リソース状態情報を取得することと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域内の仮想リソース状態情報を更新し、前記領域に対応する領域仮想リソース状態情報を生成することと、を含む、請求項１１に記載の方法。
【請求項１３】
ゲームシーンにおける仮想リソースの処理方法であって、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて、前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定することと、
前記取り除くべき仮想リソースの識別子をサーバに送信することと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信することと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示することと、を含む方法。
【請求項１４】
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示することは、
前記領域仮想リソース状態情報に基づいて、前記領域内の取り除くべき仮想リソース、及び前記取り除くべき仮想リソースの隣接仮想リソースの状態を更新し、更新された前記領域内の仮想リソースの状態に基づいて、前記領域内の仮想リソースをレンダリングして表示することをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答する前に、
ゲームシーンにおける前記仮想キャラクターの現在位置を取得し、ローカルから仮想リソース状態インデックステーブルを取得することと、
ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードすることと、をさらに含む、請求項１３に記載の方法。
【請求項１６】
ゲームシーンにおける前記仮想キャラクターの現在位置、及び前記仮想リソース状態インデックステーブルに基づいて、前記ゲームシーンの仮想リソースをレンダリングしてロードすることは、
ゲームシーンにおける前記仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定することと、
前記仮想リソース状態インデックステーブルに基づいて、前記領域内の仮想リソース状態情報を取得することと、
前記領域内の仮想リソース状態情報に基づいて、前記ゲームシーンの前記領域内の仮想リソースをレンダリングしてロードすることと、を含む、請求項１５に記載の方法。
【請求項１７】
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示することは、
前記領域仮想リソース状態情報に基づいて、ローカルの前記仮想リソース状態インデックステーブルを更新することと、
更新された前記仮想リソース状態インデックステーブルに基づいて、前記仮想リソースをレンダリングして表示することと、をさらに含む、請求項１６に記載の方法。
【請求項１８】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース識別子と各仮想リソースの仮想リソース状態情報とをさらに含む、請求項１５に記載の方法。
【請求項１９】
前記ゲームシーンは、少なくとも２つの仮想リソースからなる合成モデルを含み、
前記仮想リソース識別子の上位情報は合成モデルを示すものであり、
前記識別子の下位情報は前記合成モデルを構成する仮想リソースを示すものである、請求項１８に記載の方法。
【請求項２０】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース形状情報をさらに含み、
前記仮想リソース形状情報は、水平面、垂直面、上向き傾斜面、下向き傾斜面のうちのいずれか１つである、請求項１５に記載の方法。
【請求項２１】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する仮想リソース分類情報をさらに含み、
前記仮想リソース分類情報は、既存仮想リソース、新規仮想リソースのうちのいずれか１つである、請求項１５に記載の方法。
【請求項２２】
前記ゲームシーンの空間は、互いに接合される複数の立体に分割され、
前記仮想リソースは、１つの前記立体の表面又は前記立体の内空断面上に建設され、
前記ゲームシーンにおける前記領域は、少なくとも１つの前記立体からなり、
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する立体インデックス情報をさらに含み、
前記立体インデックス情報は、立体と前記仮想リソースとのマッピング関係を示すものである、請求項１５に記載の方法。
【請求項２３】
前記仮想リソース状態インデックステーブルは、各仮想リソースに対応する領域インデックス情報をさらに含み、
前記領域インデックス情報は、領域と前記仮想リソースとのマッピング関係を示すものである、請求項１５に記載の方法。
【請求項２４】
ゲームシーンにおける仮想キャラクターの現在位置に基づいて、前記仮想キャラクターが位置する領域を決定する第１の決定モジュールと、
取り除くべき仮想リソースの識別子を受信し、前記取り除くべき仮想リソースの識別子に基づいて、前記取り除くべき仮想リソースを決定する第２の決定モジュールと、
前記取り除くべき仮想リソースを前記ゲームシーンの前記領域から削除し、前記領域に対応する領域仮想リソース状態情報を生成する第１の更新モジュールと、
前記領域仮想リソース状態情報を仮想キャラクターに対応するクライアントに送信することにより、前記クライアントが前記領域仮想リソース状態情報に基づいて前記領域仮想リソース状態情報に対応する仮想リソースのレンダリング表示を制御するようにする第１の送信モジュールと、を含む、ゲームシーンにおける仮想リソースの処理装置。
【請求項２５】
ゲームシーンにおける仮想リソースの処理装置であって、
前記ゲームシーンにおける前記仮想リソースの取り除きイベントに応答して、前記取り除きイベントに基づいて、前記ゲームシーンにおける複数の仮想リソースのうちの仮想リソースを取り除くべき仮想リソースとして決定する第３の決定モジュールと、
前記取り除くべき仮想リソースの識別子をサーバに送信する第２の送信モジュールと、
前記サーバからフィードバックされた領域仮想リソース状態情報であって、サーバがゲームシーンにおける仮想キャラクターの現在位置に基づいて決定した、前記仮想キャラクターが位置する領域内の仮想リソース状態情報である領域仮想リソース状態情報を受信する第１の受信モジュールと、
前記領域仮想リソース状態情報に基づいて、前記領域内の仮想リソースの状態を更新し、更新された前記仮想リソースの状態に基づいて、前記領域仮想リソース状態情報に対応する仮想リソースをレンダリングして表示する第２の更新モジュールと、を含む装置。
【請求項２６】
サーバとクライアントとを含み、
サーバは、第１のプロセッサと、
前記第１のプロセッサの第１の実行可能な命令を記憶する第１のメモリと、を含み、
前記第１のプロセッサは、前記第１の実行可能な命令を実行することにより、請求項１〜１２のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法を実行するように構成され、
クライアントは、第２のプロセッサと、
前記第２のプロセッサの第２の実行可能な命令を記憶する第２のメモリと、を含み、
前記第２のプロセッサは、前記第２の実行可能な命令を実行することにより、請求項１３〜２３のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法を実行するように構成される、ゲームシステム。
【請求項２７】
プロセッサと、
前記プロセッサの実行可能な命令を記憶するメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、請求項１〜１２のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法を実行するように構成されることを特徴とする、電子機器。
【請求項２８】
プロセッサと、
前記プロセッサの実行可能な命令を記憶するメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、請求項１３〜２３のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法を実行するように構成されることを特徴とする、電子機器。
【請求項２９】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１〜１２のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法が実現されることを特徴とする、コンピュータ読み取り可能な記憶媒体。
【請求項３０】
コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムがプロセッサにより実行されると、請求項１３〜２３のいずれか１項に記載のゲームシーンにおける仮想リソースの処理方法が実現されることを特徴とする、コンピュータ読み取り可能な記憶媒体。
【国際調査報告】
2021504017.tif 000017
2021504017.tif 000018
2021504017.tif 000019
2021504017.tif 000020