(57)【特許請求の範囲】
【請求項１】
少なくとも１つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成方法であって、
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得することと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む三次元ゲームシーンにおける仮想リソース生成方法。
【請求項２】
前記既存リソースの空間的タイプは、各直方体グリッドの垂直面に沿って建築されるタイプ、各直方体グリッドの水平面に沿って建築タイプ、及び各直方体グリッドの内斜面に沿って建築タイプ、のうちの少なくとも１つを含む請求項１に記載の方法。
【請求項３】
前記目標グリッド面は、少なくとも１つの直方体グリッド面である請求項１に記載の方法。
【請求項４】
前記目標グリッド面に前記新規生成リソースをレンダリングし生成することは、
前記目標グリッド面に前記新規生成リソースのプレビュー情報をレンダリングし生成することと、
前記ユーザーが前記プレビュー情報に基づいて入力した確認命令に応答して、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む請求項１に記載の方法。
【請求項５】
前記新規生成リソースの空間的タイプが直方体グリッドの垂直面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッド内から前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、前記仮想オブジェクトの現在位置しているグリッドにおける第１の位置とを計算することと、
前記現在位置しているグリッド及び前記第１の位置に基づいて、前記建築位置の候補グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第２の位置を決定することと、
前記仮想オブジェクトの向きの前記水平基準面における投影に基づいて、前記第２の位置から前記目標グリッド面の前記水平基準面における第３の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、並びに前記第３の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第４の位置を決定することと、
前記第３の位置及び前記第４の位置に基づいて、前記建築位置を得ることと、を含む請求項１に記載の方法。
【請求項６】
前記新規生成リソースの空間的タイプが直方体グリッドの水平面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第１の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、前記現在位置しているグリッド、前記第１の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第２の位置を決定することと、
前記第１の位置及び前記第２の位置に基づいて、前記建築位置を得ることと、を含む請求項１に記載の方法。
【請求項７】
前記新規生成リソースの空間的タイプが直方体グリッドの内斜面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における延び方向を決定することと、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、その現在位置しているグリッドにおける第１の位置とを計算することと、
前記仮想オブジェクトの向き、前記現在位置しているグリッド及び前記第１の位置に基づいて、前記目標グリッド面の水平基準面における第２の位置を決定することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第３の位置を決定することと、
前記第２の位置及び前記第３の位置に基づいて、前記建築位置を得ることと、を含む請求項１に記載の方法。
【請求項８】
前記建築命令は、前記新規生成リソースの垂直方向での延び方向を含み、前記延び方向が垂直上向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの頭部の現在の位置であり、前記延び方向が垂直下向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの足部の現在の位置である請求項７に記載の方法。
【請求項９】
少なくとも１つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成装置であって、
直方体グリッドの垂直面に沿って建築されるタイプと、直方体グリッドの水平面に沿って建築されるタイプと、直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するように設定された取得ユニットと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するように設定された決定ユニットと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するように設定されたレンダリングユニットと、を含む三次元ゲームシーンにおける仮想リソース生成装置。
【請求項１０】
プロセッサと、
前記プロセッサの実行可能な命令を記憶するように設定されたメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、請求項１〜８のいずれか一項に記載の方法を実行するように構成される、電子機器。
【請求項１１】
プロセッサにより実行されると、請求項１〜８のいずれか一項に記載の方法を実現するコンピュータプログラムが記憶されている、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ゲームの技術分野に関し、具体的には、三次元ゲームシーンにおける仮想リソース生成方法及び装置に関する。
【背景技術】
【０００２】
インターネットの波に乗って、ハードウェアとソフトウェア技術が継続的に発展し、進化することにより、端末及びソフトウェアの誕生を促進している。これと共に、プレーヤの需要を満たすために、大量の、様々な題材のゲームが大勢現れてきた。３Ｄゲームシーンにおいて、プレーヤが制御する仮想オブジェクトに加え、一連の仮想リソース、例えば壁面、木板で構築された様々な建物を含み、前記ゲームシーンにおける仮想オブジェクトは、ゲームプレーヤの制御下で、例えば移動、ジャンプ、その他のプレーヤが制御している仮想オブジェクトとインタラクションするなどの一般的なゲーム操作を行う以外、一部のゲームにおいてプレーヤが、仮想オブジェクトを制御してゲームシーンにおいて仮想リソースを建築することができる。しかしながら、上記ゲームにおいて、プレーヤの命令に従って仮想リソースを建築する場合、一般的に大量の計算リソースを消費する必要があり、ハードウェア設備への要求が高く、かつプレーヤが複雑な操作命令により仮想リソースの位置を決定する必要があり、プレーヤの操作負荷が重く、このような問題は、モバイルデバイスにおいて殊に突出している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本開示の少なくとも一部の実施例は、関連技術における３Ｄゲームにおいて仮想リソースの生成効率が低いという技術的問題を少なくとも部分的に解決するために、三次元ゲームシーンにおける仮想リソース生成方法及び装置を提供する。
【課題を解決するための手段】
【０００４】
本開示の一実施例は、少なくとも１つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成方法であって、
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得することと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む三次元ゲームシーンにおける仮想リソース生成方法を提供する。
【０００５】
本開示の別の実施例は、少なくとも１つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成装置であって、
直方体グリッドの垂直面に沿って建築されるタイプと、直方体グリッドの水平面に沿って建築されるタイプと、直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するように設定された取得ユニットと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するように設定された決定ユニットと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するように設定されたレンダリングユニットと、を含む三次元ゲームシーンにおける仮想リソース生成装置を提供する。
【０００６】
本開示の別の実施例は、プロセッサと、前記プロセッサの実行可能な命令を記憶するように設定されたメモリと、を含み、プロセッサは、実行可能な命令を実行することにより、上記方法を実行するように構成される電子機器をさらに提供する。
【０００７】
本開示の別の実施例は、プロセッサにより実行されると、上記方法を実現するコンピュータプログラムが記憶されているコンピュータ可読記憶媒体をさらに提供する。
【０００８】
本開示の少なくとも１つの実施例では、各直方体グリッドの垂直面に沿って建築されるタイプ、各直方体グリッドの水平面に沿って建築されるタイプ、各直方体グリッドの内斜面に沿って建築されるタイプ、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得することと、前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することと、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することとにより、３Ｄゲームにおいて仮想リソースの生成効率が低いという技術的問題を解決する。
【図面の簡単な説明】
【０００９】
【図１】本開示の一実施例に係る、三次元ゲームシーンにおける仮想リソース生成方法のフローチャートである。
【図２】本開示の一例示的な実施例における直方体グリッドの概略斜視図である。
【図３】本開示の一例示的な実施例における、水平基準面上で垂直な候補グリッド面の位置を決定する場合の概略図である。
【図４】本開示の一例示的な実施例における、垂直な目標グリッド面の垂直方向での位置を決定する場合の概略図である。
【図５】本開示の一例示的な実施例における、仮想オブジェクトの向きに基づいて水平な目標グリッドの位置する平面を決定する場合の概略図である。
【図６】本開示の一例示的な実施例における、水平基準面上で水平な目標グリッド面の位置を決定する場合の概略図である。
【図７】本開示の一例示的な実施例における、水平基準面上で内斜面タイプの目標グリッド面の位置を決定する場合の概略図である。
【図８】本開示の一例示的な実施例に係る仮想リソース生成装置の構成図である。
【図９】本開示の一例示的な実施例に係る電子機器のブロック図である。
【図１０】、本開示の一例示的な実施例に係るコンピュータ可読記憶媒体の概略図である。
【発明を実施するための形態】
【００１０】
当業者が本開示の技術手段を一層簡単に理解するように、以下、本開示の実施例中の図面を組み合わせて、本開示の実施例の技術的解決手段を明確かつ完全に説明するが、ここで説明する実施例は本開示の一部の実施例に過ぎず、全ての実施例ではないことは言うまでもない。本開示の実施例に基づいて、当業者が創造性のある行為をしていないことを前提として得られる他の実施例はすべて本開示の保護範囲に含まれるべきである。
【００１１】
なお、本開示の明細書、特許請求の範囲及び図面に用いられた「第１」、「第２」等の用語は、類似する対象を区別するためのもので、特定の順又は前後順を限定するものではない。ここで説明する本開示の実施例を図面に示すか又は説明した順とは異なる順でも実現できるように、このように使用されるデータは適切な状況で交換可能であることを理解すべきである。また、「含む」、「有する」及びそれらの変形は、非排他的に含むことをカバーするものであり、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は機器は、それらのステップ又はユニットを明確に例示したのに限定されず、明確に例示していない又はこれらのプロセス、方法、製品又は機器固有の他のステップ又はユニットを含んでもよいことを表す。
【００１２】
本開示の一実施例によれば、三次元ゲームシーンにおける仮想リソース生成方法の実施例を提供し、なお、図面のフローチャートに示されるステップは、一セットのコンピュータ実行可能な命令を含むコンピュータシステムにおいて実行でき、また、フローチャートにおいて論理的な順序が示されるが、場合によっては、それとは異なる順序で、示されるか又は説明されるステップを実行してもよい。
【００１３】
図１は、本開示の一実施例に係る三次元ゲームシーンにおける仮想リソース生成方法のフローチャートであり、少なくとも１つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成方法は、
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するステップＳ１１０と、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するステップＳ１２０と、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するステップＳ１３０と、を含む。
【００１４】
本実施例における三次元ゲームシーンにおける仮想リソース生成方法により、新規生成リソースの建築位置がゲームソーンの空間を分割する直方体グリッドに位置するため、新規生成リソースの生成過程での計算量を大幅に低減し、プレーヤがゲーム中に自分で仮想リソースを建築する時の効率上の問題を解決し、一方、プレーヤが仮想オブジェクトを制御して仮想リソースを生成する過程で、直接的に仮想オブジェクトの位置及び向きに基づいて仮想リソースの建築位置を迅速かつ容易に決定することができ、プレーヤの操作負荷を大幅に軽減する。
【００１５】
以下、本例示的な実施例に係る仮想リソースの生成方法の各ステップをさらに説明する。
【００１６】
前記複数の直方体グリッドは、ただ仮想リソースの建築位置の決定を容易にするために、ゲームシーンの空間を同じサイズの複数の直方体サブ空間に分割するものであり、即ちグリッドは、ただゲームシーンの空間の区画界限であり、ゲーム中のエンティティではない。前記直方体グリッドは、立方体（長さ、幅、高さが同じである）であってもよく、長さ、幅、高さが同じではない直方体であってもよい。以下の実施例では、長さと幅が同じであるが、高さと長さが異なる直方体グリッドを例として説明し、例えば、直方体グリッドは、長さと幅がいずれも５メートルであり、高さが３．５メートルとする。
【００１７】
ステップＳ１１０において、各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得する。
【００１８】
前記新規生成リソースの建築（ゲーム画面におけるレンダリング生成）は、プレーヤの建築命令によってトリガーされ、建築命令にはプレーヤが建築しようとする仮想リソース（即ち新規生成リソース）の空間的タイプが少なくとも含まれ、さらに新規生成リソースの材料の属性（例えば木材、コンクリート、れんがブロックなど）及び数が含まれてもよい。前記新規生成リソースの空間的タイプ、即ち前記直方体グリッドに対する新規生成リソースの幾何的な位置は、直方体グリッドの垂直面に沿って建築されるタイプであっても、直方体グリッドの水平面に沿って建築されるタイプであっても、直方体グリッドの内斜面に沿って建築されるタイプであってもよい。前記垂直面は、即ち直方体グリッドにおける、ゲームシーンの地面に垂直な４つの面であり、前記水平面は、即ち直方体グリッドにおける、ゲームシーンの地面に平行な２つの面であり、前記内斜面は、即ち直方体グリッドにおける、対隅断面（前記対隅断面が位置する平面は、直方体グリッドの水平面の２つの辺を経過し、かつ直方体グリッドの２つの垂直面と交差する）である。新規生成リソースの材料の属性がれんがブロックである場合を例として、直方体グリッドの垂直面に沿って建築される新規生成リソースは、垂直壁であり、直方体グリッドの水平面に沿って建築される新規生成リソースは、水平壁であり、建築位置が直方体グリッドである内斜面に沿って建築される新規生成リソースは、上向き又は下向きの坂である。図２は、前記直方体グリッドの概略図であり、グリッド面２０２、２０３、２０４、２０６は、垂直グリッド面、グリッド面２０１、２０５は、水平グリッド面であり、グリッド面２０７は、そのうちの１つの内斜面である。
【００１９】
ステップＳ１２０、前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定する。
【００２０】
新規生成リソースの空間的タイプは、新規生成リソースの直方体グリッドに対する幾何的な位置を決定するために用いられるが、新規生成リソースのゲームシーンにおける絶対的な位置を決定するために用いられるものではない。新規生成リソースの建築位置を決定するために、新規生成リソースが位置している直方体グリッド面の具体的な位置を決定する必要がある。新規生成リソースの建築位置を決定するために、さらに前記仮想オブジェクトのゲームシーンにおける現在の位置及び向きを取得する必要があり、それにより前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面（即ち新規生成リソースが位置する具体的な直方体グリッドの具体的な面）を前記新規生成リソースの建築位置として決定する。一人称視点又は三人称視点の３Ｄゲームにおいて、プレーヤが制御している仮想オブジェクトの向きは、一般的にはゲームにおける仮想カメラの向きと同じである。プレーヤが建築命令を送信したときにその制御している仮想オブジェクトの目の前で新規生成リソースを生成するために、目標グリッド面は、新規生成リソースの空間的タイプに基づいて仮想オブジェクトの付近かつその視野範囲内の直方体グリッド面から選択決定され、具体的な決定方法について、以下の実施例で詳述する。
【００２１】
ステップＳ１３０において、前記目標グリッド面に前記新規生成リソースをレンダリングし生成する。
【００２２】
ステップＳ１１０及びステップＳ１２０により目標グリッド面を決定した後、該位置で新規生成リソースをレンダリングし生成し、それによりプレーヤの建築命令に基づく新規生成リソースの建築を完了する。
【００２３】
好ましい実施例では、前記既存リソースの空間的タイプは、直方体グリッドの垂直面に沿って建築されるタイプと、直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、を含む。本実施例では、ゲームに既存の仮想リソース（即ち既存リソース）の空間的タイプは、新規生成リソースの空間的タイプと同じであり、直方体グリッドの垂直面、水平面及び内斜面に沿ってレンダリングし生成するものである。新規生成リソースと既存リソースとは、同じの空間的タイプを有するので、新規生成リソースを生成するときに既存リソースとより容易に統合でき、同様に計算量を大幅に低減し、ゲームの実行効率を向上させる。
【００２４】
好ましい実施例では、前記目標グリッド面は、少なくとも１つの直方体グリッド面である。前記建築命令はさらに新規生成リソースの数を含むことができ、プレーヤが建築命令中で複数の新規生成リソースを生成することを決定するとき、新規生成リソースが位置している複数の直方体グリッド面を建築することができる。例えば、プレーヤが（ゲームシーンの地面に対して）高さ５メートル、長さ１５メートルの垂直壁を建築しようとする場合、３つの連続的な直方体グリッドの垂直面上に新規生成リソースを生成する必要があり、即ち目標グリッド面は、３つの直方体グリッド面である。
【００２５】
好ましい実施例では、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することは、前記目標グリッド面に前記新規生成リソースのプレビュー情報をレンダリングし生成することと、プレーヤが送信した確認命令に基づいて、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む。目標グリッド面に前記新規生成リソースを正式に建築する前、まず目標グリッド面に新規生成リソースのプレビュー情報をレンダリングし生成し、プレーヤが送信した確認情報を受信すると、新規生成リソースを建築し、一方では、ゲームシステムは、プレーヤの制御している仮想キャラクタの現在の位置及びに向きに基づいて新規生成リソースの建築位置を自動的に決定し、プレーヤの操作負荷を軽減し、他方では、プレーヤに新規生成リソースの建築位置を補正するチャンスを提供することができ、即ちプレーヤがシステムの自動的に決定した新規生成リソースの建築位置が望む建築位置ではないと発見する場合に建築を止め、別途で建築命令を送信してその他の建築位置を選択することができる。
【００２６】
本開示が提供する別の実施例によれば、前記新規生成リソースの空間的タイプが直方体グリッドの垂直面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、前記仮想オブジェクトが現在位置しているグリッドにおける第１の位置とを計算するステップＳ２１０と、
前記現在位置しているグリッド及び前記第１の位置に基づいて、前記建築位置の候補グリッド面の、前記ゲームシーンの地面に平行な水平基準面における第２の位置を決定するステップＳ２２０と、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記第２の位置から前記目標グリッド面の水平基準面における第３の位置を決定するステップＳ２３０と、
前記仮想オブジェクトの現在の位置及び向き、並びに前記第３の位置に基づいて、前記目標グリッド面の前記三次元ゲームシーンの地面に垂直な垂直方向での第４の位置を決定するステップＳ２４０と、
前記第３の位置及び前記第４の位置に基づいて、前記建築位置を得るステップＳ２５０と、を含む。
【００２７】
空間位置の判断を容易にするために、ゲームシーンにおいて、三次元座標系ＸＹＺを作成することができ、Ｘ軸及びＺ軸で構成されるＸＺ平面は、ゲームシーンの地面と平行であり（即ち上記水平基準面と、座標Ｘと座標Ｚと共に水平基準面における位置を決定する）、Ｚ軸は、ゲームシーンの地面に垂直である（上記垂直方向での位置は、即ちＺ軸での座標である）。ステップＳ２１０に記載の前記仮想オブジェクトのゲームシーンにおける現在の位置は、その該座標系における座標により決定され、各直方体グリッドも、ゲームシーンにおける対応する座標により決定される。ステップＳ２１０に記載の前記仮想オブジェクトのグリッドにおける相対位置は、仮想オブジェクトがその位置するグリッドを参照系とする空間位置を指す。
【００２８】
図３に示すように、好ましい実施例では、ステップＳ２２０に記載の前記現在位置しているグリッド及び前記相対位置に基づいて、前記建築位置の候補グリッド面の水平基準面における第２の位置を決定することは、上面図中（即ち水平基準面内）において、仮想オブジェクトが現在位置しているグリッド（即ち中間の大正方形であり、周囲の８つの大正方形が仮想オブジェクトが現在位置しているグリッドが隣接しているグリッドを表す）を９つの小正方形に等分し、仮想オブジェクトが中間の小正方形９内に位置している場合、中間の大正方形の４つの辺に対応する４つの垂直面を新規生成リソース建築位置の候補グリッド面とすることと、仮想オブジェクトが中間の大正方形の４つの辺の中点に近い小正方形２、４、６、８という４つの小正方形内に位置している場合、中間の大正方形と、仮想オブジェクトが現在位置している小正方形が隣接している１つのグリッドとの共有しない６つの垂直面（上面図から見れば、「日」字形に配列された２つの大正方形の外周の６つの辺）を新規生成リソースの建築位置の候補グリッドとすることと、仮想オブジェクトが大正方形の四隅に近い小正方形１、３、５、７という４つの小正方形内に位置している場合、中間の大正方形と仮想オブジェクトが現在位置している小正方形が隣接している３つのグリッドとの共有しない８つの垂直面（上面図から見れば、「田」字形に配列された４つの大正方形の外周の８つの辺）を新規生成リソースの建築位置の候補グリッドとすることと、を含む。例えば、仮想オブジェクトが小正方形２で表されるグリッド内に位置している場合、中間の大正方形と大正方形３０２との外周の６つの正方形の辺で表されるグリッドを候補グリッドとし、例えば、仮想オブジェクトが小正方形１で表されるグリッド内に位置している場合、中間の大正方形及び大正方形３０１、３０２、３０８との外周の８つの正方形の辺で表されるグリッドを候補グリッドとする。
【００２９】
上記方法により、仮想オブジェクトの付近の適切な距離範囲内のグリッド面を新規生成リソースの候補グリッド面として決定することができ、前記適切な距離は、グリッド面である正方形の辺長の１／３より大きく、グリッド面である正方形の辺長の４／３より小さいものとする。当然のことながら、上記適切な距離は、仮想キャラクタとグリッドとの相対的なサイズなど要素基づいて調整することもできる。仮想オブジェクトのグリッドにおける相対位置を決定する方法は、上記３×３のブロックによる判断方法に限定されず、さらに他の方法、例えば仮想オブジェクトと現在位置しているグリッドの４つの面との距離が所定の閾値範囲内にあるか否かを判断することであってもよい。
【００３０】
好ましい実施例では、ステップＳ２３０に記載の前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記第２の位置から前記目標グリッド面の水平基準面における第３の位置を決定することは、前記仮想オブジェクトの位置を起点とし、前記の仮想オブジェクトの向きを方向とする射線の、水平基準面における投影を取得することを含み、水平基準面内で該投影と交差する候補グリッド面が目標グリッド面であり、目標グリッド面の水平基準面における位置が第３の位置であり、即ちステップＳ２２０から取得された複数の前記第２の位置から第３の位置を決定することにより、目標グリッド面の水平基準面における位置を取得する。上面図から見れば、仮想オブジェクトの位置から候補グリッド面を表す各正方形の辺の端点への結び線と見なすこともでき、前記結び線は、仮想オブジェクトの３６０度領域を候補グリッド面と同じ数のサブ隅領域に分割し、さらに仮想オブジェクトの視線（前記仮想オブジェクトの位置を起点とし、前記仮想オブジェクトの向きを方向とする射線）が上記どのサブ隅領域に位置するかを判断し、その後に視線が位置するサブ隅領域に対応する候補グリッド面を目標グリッド面とする。
【００３１】
上記ステップで目標グリッド面の水平基準面における位置を取得した後、目標グリッド面の垂直方向での位置を決定する必要があり、図４に示すように、好ましい実施例において、ステップＳ２４０に記載の前記仮想オブジェクトの現在の位置及び向き、並びに前記第３の位置に基づいて、前記目標グリッド面の垂直方向での第４の位置を決定することは、目標グリッド面の垂直方向での候補位置が、高位置、中間位置及び低位置という３つの位置（即ち図４におけるグリッド面４０６、４０５及び４０４）を含み、中間位置に位置する候補グリッド面４０５の垂直方向での位置が仮想オブジェクト４０１の位置するグリッドと同じであり（即ちＺ座標が同じである）、高位置に位置する候補グリッド面４０６の垂直方向での位置が仮想オブジェクト４０１の位置するグリッドより高く、低位置に位置する候補グリッド面４０４の垂直方向での位置が仮想オブジェクト４０１の位置するグリッドより低い場合、仮想オブジェクトの視線４０２と、候補グリッド面が位置する平面との交点４０７を取得することと、上記高位置、中間位置及び低位置という３つの候補位置での候補グリッド面の中点と上記交点４０７との距離を計算することと、中点と上記交点４０７との距離が最も短い候補グリッド面を目標グリッド面とすることと、を含む。図４から見れば、グリッド面４０６の中点と交点４０７との距離が最も近く、グリッド面４０６を目標グリッド面として決定する。
【００３２】
好ましい実施例では、仮想オブジェクトと、候補グリッド面が位置する平面との夾角が小さすぎる（即ち仮想オブジェクトの視線のピッチ角の絶対値が９０度に近い）ため上記交点の位置が遠くすぎることを回避するために、仮想オブジェクトのピッチ角の絶対値を８０度以内に制限することができ、当然のことながら、需要に応じてその他の角度を設定することもできる。
【００３３】
好ましい実施例では、選択された目標グリッド面で新規生成リソースを建築することができない（例えばゲームシーンと接続せず、その他の仮想リソースとも接続しない）ことを回避するために、まず既に選択の目標グリッド面で新規生成リソースを建築することができるか否かを判断することができ、新規生成リソースを建築することができないと、垂直方向での３つの候補グリッド面の他の２つのグリッド面から、先に決定された目標グリッド面と隣接する１つのグリッド面を選択し、新規生成リソースを建築することができるか否かを判断し、２番目の目標グリッド面で新規生成リソースを建築することができると、最終的な目標グリッド面として決定し、２番目の目標グリッドで新規生成リソースを建築することができないと、現在の位置に新規生成リソースを建築することができないとプレーヤに提示する。
【００３４】
ステップＳ２３０では、ステップＳ２３０で取得された前記目標グリッド面の水平基準面における第３の位置及びステップＳ２４０で取得された目標グリッド面の垂直方向での第４の位置に基づいて、上記三次元ゲームシーンの三次元座標において前記建築位置を決定することができる。
【００３５】
本開示が提供する別の実施例では、前記新規生成リソースの空間的タイプが直方体グリッドの水平面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算するステップＳ３１０と、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の前記三次元ゲームシーンの地面に垂直な垂直方向での第１の位置を決定するステップＳ３２０と、
前記仮想オブジェクトの現在の位置及び向き、前記現在位置しているグリッド、前記第１の位置に基づいて、前記目標グリッド面の前記ゲームシーンの地面に平行な水平基準面における第２の位置を決定するステップＳ３３０と、
前記第１の位置及び前記第２の位置に基づいて、前記建築位置を得るステップＳ３４０と、を含む。
【００３６】
新規生成リソースの空間的タイプが直方体グリッドの水平面、例えばゲームシーンの地面と平行な水平壁面に沿って建築されるタイプである場合、目標グリッド面が仮想オブジェクトの現在位置している及び隣接グリッドの１つの水平面であるため、前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算する必要もある。
【００３７】
ステップＳ３２０で前記目標グリッド面の垂直方向での第１の位置を決定し、即ち新規生成リソースが位置する目標グリッド面の位置する平面を決定する場合、前記目標グリッド面が位置する平面は、仮想オブジェクトが位置するグリッドの上下の２つの水平面が位置する平面から選択され、好ましい実施例では、選択方法は、仮想オブジェクトの視線のピッチ角を判断し、ピッチ角がゼロより大きい（即ち仮想オブジェクトが見上げている）と、垂直方向の位置が上である水平面が位置する平面（例えば図４における平面５０３）を選択し、ピッチ角がゼロより小さい（即ち仮想オブジェクトが見下ろしている）と、垂直方向の位置が下である水平面が位置する平面（例えば図４における平面５０４）を選択することであってもよい。図５に示すように、仮想オブジェクト５０１の視線５０２のピッチ角がゼロより大きいと、仮想オブジェクトが位置するグリッドにおいて位置が上である水平面５０３を目標グリッドが位置する平面として決定する。
【００３８】
好ましい実施例では、仮想オブジェクトのピッチ角がゼロに近い場合に上記交点が無限に遠くなることを回避するために、０〜５度の間のピッチ角を５度に設定し、−５度〜０度の間のピッチ角を−５度に設定することができる。当然のことながら、需要に応じてその他の角度を設定することもできる。
【００３９】
ステップＳ３３０に記載の前記目標グリッド面の水平基準面における位置と目標グリッド面のその位置する平面における位置とが同じであり、それは水平基準面及び目標グリッド面のその位置する平面がいずれもゲームシーンの地面と平行な平面（両方の座標Ｘ及び座標Ｚが同じである）ためである。図６に示すように、好ましい実施例では、前記目標グリッド面の水平基準面における位置を決定する前記ことは、仮想オブジェクト６０１の視線６０２と、前記目標グリッド面が位置する平面との交点６０３を取得することと、上記交点６０３と、仮想オブジェクト６０１が位置するグリッド及び隣接するグリッドの目標グリッド面が位置する平面におけるグリッド面の中点との距離を計算することと、中点と上記交点との距離が最も短いグリッド面（例えば図６における６０４）を目標グリッド面とすることと、を含む。
【００４０】
好ましい実施例では、上記交点と、仮想オブジェクトが位置するグリッド及び隣接するグリッドの目標グリッド面が位置する平面におけるグリッド面の中点との距離を計算する前、まず目標グリッド面が位置する平面内で仮想オブジェクトの向きに基づいて、仮想オブジェクトが位置するグリッドの隣接するグリッドから３つのグリッド面と候補グリッド面として選択し、例えば仮想オブジェクトの向きが北東方向である場合、北東方向の３つのグリッド面（例えば図６における６０４、６０５、６０７）を候補グリッド面として選択することができる。
【００４１】
本開示が提供する１つの好ましい実施例では、前記新規生成リソースの空間的タイプが直方体グリッドの内斜面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記目標グリッド面の前記三次元ゲームシーンの地面に平行な水平基準面における延び方向を決定するステップＳ４１０と、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、その現在位置しているグリッドにおける第１の位置とを計算するステップＳ４２０と、
前記仮想オブジェクトの向き、前記現在位置しているグリッド及び前記第１の位置に基づいて、前記目標グリッド面の水平基準面における第２の位置を決定するステップＳ４３０と、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の前記三次元ゲームシーンの地面に垂直な垂直方向での第３の位置を決定するステップＳ４４０と、
前記第２の位置及び前記第３の位置に基づいて、前記建築位置を得るステップＳ４５０と、を含む。
【００４２】
直方体グリッドの内斜面に沿って建築された新規生成リソース（例えば空中梯子、坂）の建築位置について、水平面基準面における位置及び垂直方向での位置を決定する必要があるだけでなく、その在水平基準面における延び方向を決定する必要がある。
【００４３】
図７に示すように、１つの好ましい実施例では、ステップＳ４２０に記載の前記現在位置しているグリッド内の第１の位置について、水平基準面内において、目標グリッド面の延び方向７０２で現在位置しているグリッドを、水平基準面上で７０％占める前部分７０３と、水平基準面上で３０％占める後部分７０４という前後の２つの部分に分割することができ、前記延び方向に垂直な方向で、現在位置しているグリッドを、水平基準面上でそれぞれ３０％、４０％及び３０％占める左部分、中間部分及び右部分という３つの部分（例えば図４における７０５、７０４、７０６）に分割することができる。容易に述べるために、目標グリッド面の延び方向を前方として述べ、反対方向を後方とし、目標グリッド面の延び方向に垂直な方向を左側及び右側に分ける。
【００４４】
１つの好ましい実施例では、ステップＳ４３０で前記目標グリッド面の水平基準面における前記第２の位置を決定することは、前記現在位置しているグリッドの水平基準面における位置を基準として、前記仮想オブジェクト７０１の現在位置しているグリッドにおける相対位置及び仮想オブジェクト７０１の向き（即ち仮想オブジェクト７０１の視線）に基づいて、前後左右にオフセットする（オフセットが１つのグリッドを単位とする）か否かを判断し、それにより前記目標グリッド面の水平基準面における位置を決定することを含む。仮想オブジェクト７０１が左部分に位置し、かつ視線が左向きに１５度オフセットすると、左向きに１つのグリッドでオフセットし、仮想オブジェクト７０１が右部分に位置し、かつ視線が右向きに１５度オフセットすると、右向きに１つのグリッドでオフセットし、その他の場合に、左右にオフセットする必要がない。仮想オブジェクト７０１が前部分に位置し、かつ視線のピッチ角の絶対値が３０度より小さいと、前向きに１つのグリッドでオフセットし、仮想オブジェクト７０１が後部分に位置すると、又は仮想オブジェクト７０１が前部分に位置し、かつ視線のピッチ角の絶対値が３０度より大きいと、前後にオフセットする必要がない。
【００４５】
１つの好ましい実施例では、ステップＳ４４０で前記目標グリッド面の垂直方向での前記第３の位置を決定することは、前記現在位置しているグリッドの垂直方向での位置を基準として、前記仮想オブジェクトの向き（即ち仮想オブジェクトの視線）に基づいて、前後上下にオフセットする（オフセットが１つのグリッドを単位とする）か否かを判断し、それにより前記目標グリッド面の垂直方向での位置を決定し、仮想オブジェクトの視線のピッチ角が３０度より大きいと、上向きに１つのグリッドでオフセットし、仮想オブジェクトの視線のピッチ角が−３０度より小さいと、下向きに１つのグリッドでオフセットし、その他の場合に、上下にオフセットする必要がない。
【００４６】
１つの好ましい実施例では、前記建築命令は、前記新規生成リソースの垂直方向での延び方向を含み、前記延び方向が上向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの頭部の現在の位置であり、前記延び方向が下向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの足部の現在の位置である。例えば、プレーヤが構築される新規生成リソースが上向きに延びる空中梯子であると決定すると、目標グリッド面を決定するために、仮想オブジェクトの頭部の現在の位置を仮想オブジェクトの現在の位置とし、プレーヤが構築される新規生成リソースが下向きに延びる坂であると決定すると、目標グリッド面を決定するために、仮想オブジェクトの足部の現在の位置を仮想オブジェクトの現在の位置とする。
【００４７】
上記方法で決定された目標グリッド面で新規生成リソースを建築することができない（例えば、既に空中梯子又は坂がある）と、目標グリッド面が位置するグリッドの位置をオフセットすることができる。１つの好ましい実施例では、目標グリッド面で新規生成リソースを建築することができないと、目標グリッドの位置を前向きに１つのグリッドでオフセットし、目標グリッドの位置を決定する時に上下にオフセットしないと、上向きに１つのグリッドでオフセットし、目標グリッドの位置を決定する時に上下に既にオフセットした場合、上下オフセットをキャンセルすることにより、目標グリッドの高さを仮想オブジェクトが位置するグリッドの高さと一致させる。
【００４８】
本開示の別の実施例は、少なくとも１つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成装置であって、
直方体グリッドの垂直面に沿って建築されるタイプと、直方体グリッドの水平面に沿って建築されるタイプと、直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するように設定された取得ユニットと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するように設定された決定ユニットと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するように設定されたレンダリングユニットと、を含む三次元ゲームシーンにおける仮想リソース生成装置をさらに提供する。
【００４９】
本開示の別の実施例は、１つ以上のプロセッサと、アプリケーションプログラムのような処理モジュールが実行可能な命令を記憶するように設定された、メモリに代表されるメモリリソースとを含む電子機器をさらに提供する。メモリに記憶されるアプリケーションプログラムは、それぞれが１組の命令に対応する１つ又は１つ以上のモジュールを含むことができる。また、処理モジュールは、命令を実行して、上記仮想リソースの生成方法を実行するように構成される。
【００５０】
１つの好ましい実施例では、前記電子機器は、プロセッサと、前記プロセッサの実行可能な命令を記憶するように設定されたメモリと、を含み、プロセッサは、前記実行可能な命令を実行することにより、
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するステップと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するステップと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するステップと、を実行するように構成される。
【００５１】
好ましくは、前記既存リソースの空間的タイプは、各直方体グリッドの垂直面に沿って建築されるタイプ、各直方体グリッドの水平面に沿って建築タイプ、及び各直方体グリッドの内斜面に沿って建築タイプ、のうちの少なくとも１つを含む。
【００５２】
好ましくは、前記目標グリッド面は、少なくとも１つの直方体グリッド面である。
【００５３】
好ましくは、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することは、
前記目標グリッド面に前記新規生成リソースのプレビュー情報をレンダリングし生成することと、
前記ユーザーが前記プレビュー情報に基づいて入力した確認命令に応答して、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む。
【００５４】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの垂直面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、前記仮想オブジェクトの現在位置しているグリッドにおける第１の位置とを計算することと、
前記現在位置しているグリッド及び前記第１の位置に基づいて、前記建築位置の候補グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第２の位置を決定することと、
前記仮想オブジェクトの向きの前記水平基準面における投影に基づいて、前記第２の位置から前記目標グリッド面の前記水平基準面における第３の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、並びに前記第３の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第４の位置を決定することと、
前記第３の位置及び前記第４の位置に基づいて、前記建築位置を得ることと、を含む。
【００５５】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの水平面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第１の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、前記現在位置しているグリッド、前記第１の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第２の位置を決定することと、
前記第１の位置及び前記第２の位置に基づいて、前記建築位置を得ることと、を含む。
【００５６】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの内斜面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における延び方向を決定することと、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、その現在位置しているグリッドにおける第１の位置とを計算することと、
前記仮想オブジェクトの向き、前記現在位置しているグリッド及び前記第１の位置に基づいて、前記目標グリッド面の水平基準面における第２の位置を決定することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第３の位置を決定することと、
前記第２の位置及び前記第３の位置に基づいて、前記建築位置を得ることと、を含む。
【００５７】
好ましくは、前記建築命令は、前記新規生成リソースの垂直方向での延び方向を含み、前記延び方向が垂直上向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの頭部の現在の位置であり、前記延び方向が垂直下向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの足部の現在の位置である。
【００５８】
該電子機器は、電子機器に対して電源管理を行うように構成された電源モジュールと、電子機器をネットワークに接続するように構成された有線又は無線のネットワークインタフェースと、入出力（Ｉ／Ｏ）インタフェースとをさらに含む。該電子装置は、Ａｎｄｒｏｉｄ、ｉＯＳ、Ｗｉｎｄｏｗｓ、Ｍａｃ  ＯＳ  Ｘ、Ｕｎｉｘ、Ｌｉｎｕｘ(登録商標)、ＦｒｅｅＢＳＤ又は類似のもの等のメモリに記憶されたオペレーティングシステムに基づいて操作され得る。
【００５９】
本開示の別の実施例は、本明細書に記載の方法を実現できるプログラム製品が記憶されているコンピュータ可読記憶媒体をさらに提供する。いくつかの実施形態では、本発明の各態様は、携帯端末上で実行される場合、以下のステップを端末装置に実行させるためのプログラムコードを含むプログラム製品の形式として実現可能である。
【００６０】
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも１つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得することと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む三次元ゲームシーンにおける仮想リソース生成方法。
【００６１】
好ましくは、前記既存リソースの空間的タイプは、各直方体グリッドの垂直面に沿って建築されるタイプ、各直方体グリッドの水平面に沿って建築タイプ、及び各直方体グリッドの内斜面に沿って建築タイプ、のうちの少なくとも１つを含む。
【００６２】
好ましくは、前記目標グリッド面は、少なくとも１つの直方体グリッド面である。
【００６３】
好ましくは、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することは、
前記目標グリッド面に前記新規生成リソースのプレビュー情報をレンダリングし生成することと、
前記ユーザーが前記プレビュー情報に基づいて入力した確認命令に応答して、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む。
【００６４】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの垂直面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、前記仮想オブジェクトの現在位置しているグリッドにおける第１の位置とを計算することと、
前記現在位置しているグリッド及び前記第１の位置に基づいて、前記建築位置の候補グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第２の位置を決定することと、
前記仮想オブジェクトの向きの前記水平基準面における投影に基づいて、前記第２の位置から前記目標グリッド面の前記水平基準面における第３の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、並びに前記第３の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第４の位置を決定することと、
前記第３の位置及び前記第４の位置に基づいて、前記建築位置を得ることと、を含む。
【００６５】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの水平面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第１の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、前記現在位置しているグリッド、前記第１の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第２の位置を決定することと、
前記第１の位置及び前記第２の位置に基づいて、前記建築位置を得ることと、を含む。
【００６６】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの内斜面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における延び方向を決定することと、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、その現在位置しているグリッドにおける第１の位置とを計算することと、
前記仮想オブジェクトの向き、前記現在位置しているグリッド及び前記第１の位置に基づいて、前記目標グリッド面の水平基準面における第２の位置を決定することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第３の位置を決定することと、
前記第２の位置及び前記第３の位置に基づいて、前記建築位置を得ることと、を含む。
【００６７】
好ましくは、前記建築命令は、前記新規生成リソースの垂直方向での延び方向を含み、前記延び方向が垂直上向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの頭部の現在の位置であり、前記延び方向が垂直下向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの足部の現在の位置である。
【００６８】
前記コンピュータ可読記憶媒体は、可搬型コンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）を用い、プログラムコードを含み、かつパーソナルコンピュータ等の端末装置で動作してもよい。しかしながら、本開示のプログラム製品は、これに限定されるものではなく、本明細書では、可読記憶媒体は、命令実行システム、装置又はデバイスにより使用されるか、又は組み合わせて使用されてもよいプログラムを含むか、又は記憶する任意の有形媒体であってもよい。
【００６９】
前記プログラム製品は、少なくとも１つの可読媒体の任意の組み合わせを用いることができる。可読媒体は、可読信号媒体又は可読記憶媒体であってもよい。可読記憶媒体は、例えば、電気、磁気、光学、電磁気、赤外線、又は半導体のシステム、装置又はデバイス、又は任意の以上の組み合わせであってもよいが、それらに限定されない。可読記憶媒体のより具体的な例（非排他的な列挙）は、少なくとも１つのリード線を有する電気的接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組み合わせを含む。
【００７０】
上記本開示の実施例の番号は説明の便利を図るためのもので、実施例の優劣を示すものではない。
【００７１】
上記例示的な実施例における３Ｄゲームシーンにおける仮想リソースの生成方法、装置、電子機器及びコンピュータ可読記憶媒体により、一方では、新規生成リソースの建築位置がゲームソーンの空間を分割する直方体グリッドに位置するため、新規生成リソースの生成過程での計算量を大幅に低減し、プレーヤがゲーム中に自分で仮想リソースを建築する時の効率上の問題を解決し、一方、プレーヤが仮想オブジェクトを制御して仮想リソースを生成する過程で、直接的に仮想オブジェクトの位置及び向きに基づいて仮想リソースの建築位置を迅速かつ容易に決定することができ、プレーヤの操作負荷を大幅に軽減する。
【００７２】
上記本開示の実施例の番号は説明の便利を図るためのもので、実施例の優劣を示すものではない。
【００７３】
本開示の上記実施例において、各実施例の説明についてはそれぞれ重点を置き、ある実施例で詳しく説明していない部分については、他の実施例の関連部分の説明を参照することができる。
【００７４】
本開示で提供する幾つかの実施例において、開示された技術的内容は、他の形態で実現することもできると理解すべきである。ここで、以上説明した装置実施例は例示的なもので、例えば、前記ユニットの区画は、ロジック機能の区画であり、実際の実施において他の区画方式であってもよく、例えば、複数のユニット又は手段を結合したり他のシステムに集積したりしてもよく、一部の特徴を無視しても実行しなくてもよい。また、表示又は検討した相互結合又は直接結合又は通信接続は、いくつかのインタフェース、ユニット又はモジュールを介した間接結合又は通信接続であってもよく、電気的又は他の形態であってもよい。
【００７５】
上記の分離部品として説明したユニットは、物理的に分離しても物理的に分離しなくてもよく、ユニットとして表す部品は、物理ユニットであっても物理ユニットではなくてもよく、即ち、１つの箇所に位置しても複数のユニットに分布してもよい。実際の需要に応じて、そのうちの一部又は全部のユニットを選択して本実施例の技術手段の目的を達成することができる。
【００７６】
また、本開示の各実施例中の各機能ユニットは、すべてが１つの処理ユニットに集積してもよいし、それぞれが物理的に独立してもよいし、２つ以上のユニットが１つのユニットに集積されてもよい。上記集積されたユニットは、ハードウェアの形態で実現されても、ソフトウェア機能ユニットの形態で実現されてもよい。
【００７７】
前記集積されたユニットは、ソフトウェア機能ユニットの形態で実現され、かつ独立した製品として販売又は使用する場合、コンピュータが読み取り可能な記録媒体に記憶することができる。従って、本開示の技術手段の実質的に既存技術に対する貢献のある部分又は該技術手段の全部又は一部をソフトウェア製品の形態で実現することができ、このようなコンピュータソフトウェア製品は、１つの記憶媒体に記憶されて、１台のコンピュータ機器（パーソナルコンピュータ、サーバ又はネットワーク機器等）に本開示の各実施例に記載された方法の全部又は一部のステップを実行させる複数の命令を含むことができる。
【００７８】
以上は、本開示の好適な実施形態に過ぎず、当業者は本発明の精神から逸脱せずに若干の改善や修正を行うこともでき、このような改善や修正は本発明の保護範囲に含まれる。
【符号の説明】
【００７９】
８０１  取得ユニット
８０２  決定ユニット
８０３  レンダリングユニット
【図１】
0006783957.tif 000002
【図２】
0006783957.tif 000003
【図３】
0006783957.tif 000004
【図４】
0006783957.tif 000005
【図５】
0006783957.tif 000006
【図６】
0006783957.tif 000007
【図７】
0006783957.tif 000008
【図８】
0006783957.tif 000009
【図９】
0006783957.tif 000010
【図１０】
0006783957.tif 000011