特許第6783957号(P6783957)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 网易(杭州)网▲絡▼有限公司の特許一覧

特許6783957三次元ゲームシーンにおける仮想リソース生成方法及び装置
<>
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000002
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000003
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000004
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000005
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000006
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000007
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000008
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000009
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000010
  • 特許6783957-三次元ゲームシーンにおける仮想リソース生成方法及び装置 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6783957
(24)【登録日】2020年10月26日
(45)【発行日】2020年11月11日
(54)【発明の名称】三次元ゲームシーンにおける仮想リソース生成方法及び装置
(51)【国際特許分類】
   G06T 19/20 20110101AFI20201102BHJP
   A63F 13/63 20140101ALI20201102BHJP
   A63F 13/52 20140101ALI20201102BHJP
【FI】
   G06T19/20
   A63F13/63
   A63F13/52
【請求項の数】11
【全頁数】21
(21)【出願番号】特願2019-562457(P2019-562457)
(86)(22)【出願日】2018年10月11日
(65)【公表番号】特表2020-509512(P2020-509512A)
(43)【公表日】2020年3月26日
(86)【国際出願番号】CN2018109863
(87)【国際公開番号】WO2019128381
(87)【国際公開日】20190704
【審査請求日】2019年7月29日
(31)【優先権主張番号】201711484201.3
(32)【優先日】2017年12月29日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】519275630
【氏名又は名称】网易(杭州)网▲絡▼有限公司
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】万 ▲長▼▲クン▼
(72)【発明者】
【氏名】沈 ▲剣▼▲鋒▼
【審査官】 村松 貴士
(56)【参考文献】
【文献】 特開平07−296047(JP,A)
【文献】 特開2016−064030(JP,A)
【文献】 米国特許出願公開第2015/0091906(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00 − 19/20
A63F 13/00 − 13/98
(57)【特許請求の範囲】
【請求項1】
少なくとも1つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成方法であって、
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得することと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む三次元ゲームシーンにおける仮想リソース生成方法。
【請求項2】
前記既存リソースの空間的タイプは、各直方体グリッドの垂直面に沿って建築されるタイプ、各直方体グリッドの水平面に沿って建築タイプ、及び各直方体グリッドの内斜面に沿って建築タイプ、のうちの少なくとも1つを含む請求項1に記載の方法。
【請求項3】
前記目標グリッド面は、少なくとも1つの直方体グリッド面である請求項1に記載の方法。
【請求項4】
前記目標グリッド面に前記新規生成リソースをレンダリングし生成することは、
前記目標グリッド面に前記新規生成リソースのプレビュー情報をレンダリングし生成することと、
前記ユーザーが前記プレビュー情報に基づいて入力した確認命令に応答して、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む請求項1に記載の方法。
【請求項5】
前記新規生成リソースの空間的タイプが直方体グリッドの垂直面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッド内から前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、前記仮想オブジェクトの現在位置しているグリッドにおける第1の位置とを計算することと、
前記現在位置しているグリッド及び前記第1の位置に基づいて、前記建築位置の候補グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第2の位置を決定することと、
前記仮想オブジェクトの向きの前記水平基準面における投影に基づいて、前記第2の位置から前記目標グリッド面の前記水平基準面における第3の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、並びに前記第3の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第4の位置を決定することと、
前記第3の位置及び前記第4の位置に基づいて、前記建築位置を得ることと、を含む請求項1に記載の方法。
【請求項6】
前記新規生成リソースの空間的タイプが直方体グリッドの水平面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第1の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、前記現在位置しているグリッド、前記第1の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第2の位置を決定することと、
前記第1の位置及び前記第2の位置に基づいて、前記建築位置を得ることと、を含む請求項1に記載の方法。
【請求項7】
前記新規生成リソースの空間的タイプが直方体グリッドの内斜面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における延び方向を決定することと、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、その現在位置しているグリッドにおける第1の位置とを計算することと、
前記仮想オブジェクトの向き、前記現在位置しているグリッド及び前記第1の位置に基づいて、前記目標グリッド面の水平基準面における第2の位置を決定することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第3の位置を決定することと、
前記第2の位置及び前記第3の位置に基づいて、前記建築位置を得ることと、を含む請求項1に記載の方法。
【請求項8】
前記建築命令は、前記新規生成リソースの垂直方向での延び方向を含み、前記延び方向が垂直上向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの頭部の現在の位置であり、前記延び方向が垂直下向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの足部の現在の位置である請求項7に記載の方法。
【請求項9】
少なくとも1つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成装置であって、
直方体グリッドの垂直面に沿って建築されるタイプと、直方体グリッドの水平面に沿って建築されるタイプと、直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するように設定された取得ユニットと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するように設定された決定ユニットと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するように設定されたレンダリングユニットと、を含む三次元ゲームシーンにおける仮想リソース生成装置。
【請求項10】
プロセッサと、
前記プロセッサの実行可能な命令を記憶するように設定されたメモリと、を含み、
前記プロセッサは、前記実行可能な命令を実行することにより、請求項1〜8のいずれか一項に記載の方法を実行するように構成される、電子機器。
【請求項11】
プロセッサにより実行されると、請求項1〜8のいずれか一項に記載の方法を実現するコンピュータプログラムが記憶されている、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ゲームの技術分野に関し、具体的には、三次元ゲームシーンにおける仮想リソース生成方法及び装置に関する。
【背景技術】
【0002】
インターネットの波に乗って、ハードウェアとソフトウェア技術が継続的に発展し、進化することにより、端末及びソフトウェアの誕生を促進している。これと共に、プレーヤの需要を満たすために、大量の、様々な題材のゲームが大勢現れてきた。3Dゲームシーンにおいて、プレーヤが制御する仮想オブジェクトに加え、一連の仮想リソース、例えば壁面、木板で構築された様々な建物を含み、前記ゲームシーンにおける仮想オブジェクトは、ゲームプレーヤの制御下で、例えば移動、ジャンプ、その他のプレーヤが制御している仮想オブジェクトとインタラクションするなどの一般的なゲーム操作を行う以外、一部のゲームにおいてプレーヤが、仮想オブジェクトを制御してゲームシーンにおいて仮想リソースを建築することができる。しかしながら、上記ゲームにおいて、プレーヤの命令に従って仮想リソースを建築する場合、一般的に大量の計算リソースを消費する必要があり、ハードウェア設備への要求が高く、かつプレーヤが複雑な操作命令により仮想リソースの位置を決定する必要があり、プレーヤの操作負荷が重く、このような問題は、モバイルデバイスにおいて殊に突出している。
【発明の概要】
【発明が解決しようとする課題】
【0003】
本開示の少なくとも一部の実施例は、関連技術における3Dゲームにおいて仮想リソースの生成効率が低いという技術的問題を少なくとも部分的に解決するために、三次元ゲームシーンにおける仮想リソース生成方法及び装置を提供する。
【課題を解決するための手段】
【0004】
本開示の一実施例は、少なくとも1つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成方法であって、
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得することと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む三次元ゲームシーンにおける仮想リソース生成方法を提供する。
【0005】
本開示の別の実施例は、少なくとも1つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成装置であって、
直方体グリッドの垂直面に沿って建築されるタイプと、直方体グリッドの水平面に沿って建築されるタイプと、直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するように設定された取得ユニットと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するように設定された決定ユニットと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するように設定されたレンダリングユニットと、を含む三次元ゲームシーンにおける仮想リソース生成装置を提供する。
【0006】
本開示の別の実施例は、プロセッサと、前記プロセッサの実行可能な命令を記憶するように設定されたメモリと、を含み、プロセッサは、実行可能な命令を実行することにより、上記方法を実行するように構成される電子機器をさらに提供する。
【0007】
本開示の別の実施例は、プロセッサにより実行されると、上記方法を実現するコンピュータプログラムが記憶されているコンピュータ可読記憶媒体をさらに提供する。
【0008】
本開示の少なくとも1つの実施例では、各直方体グリッドの垂直面に沿って建築されるタイプ、各直方体グリッドの水平面に沿って建築されるタイプ、各直方体グリッドの内斜面に沿って建築されるタイプ、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得することと、前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することと、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することとにより、3Dゲームにおいて仮想リソースの生成効率が低いという技術的問題を解決する。
【図面の簡単な説明】
【0009】
図1】本開示の一実施例に係る、三次元ゲームシーンにおける仮想リソース生成方法のフローチャートである。
図2】本開示の一例示的な実施例における直方体グリッドの概略斜視図である。
図3】本開示の一例示的な実施例における、水平基準面上で垂直な候補グリッド面の位置を決定する場合の概略図である。
図4】本開示の一例示的な実施例における、垂直な目標グリッド面の垂直方向での位置を決定する場合の概略図である。
図5】本開示の一例示的な実施例における、仮想オブジェクトの向きに基づいて水平な目標グリッドの位置する平面を決定する場合の概略図である。
図6】本開示の一例示的な実施例における、水平基準面上で水平な目標グリッド面の位置を決定する場合の概略図である。
図7】本開示の一例示的な実施例における、水平基準面上で内斜面タイプの目標グリッド面の位置を決定する場合の概略図である。
図8】本開示の一例示的な実施例に係る仮想リソース生成装置の構成図である。
図9】本開示の一例示的な実施例に係る電子機器のブロック図である。
図10】、本開示の一例示的な実施例に係るコンピュータ可読記憶媒体の概略図である。
【発明を実施するための形態】
【0010】
当業者が本開示の技術手段を一層簡単に理解するように、以下、本開示の実施例中の図面を組み合わせて、本開示の実施例の技術的解決手段を明確かつ完全に説明するが、ここで説明する実施例は本開示の一部の実施例に過ぎず、全ての実施例ではないことは言うまでもない。本開示の実施例に基づいて、当業者が創造性のある行為をしていないことを前提として得られる他の実施例はすべて本開示の保護範囲に含まれるべきである。
【0011】
なお、本開示の明細書、特許請求の範囲及び図面に用いられた「第1」、「第2」等の用語は、類似する対象を区別するためのもので、特定の順又は前後順を限定するものではない。ここで説明する本開示の実施例を図面に示すか又は説明した順とは異なる順でも実現できるように、このように使用されるデータは適切な状況で交換可能であることを理解すべきである。また、「含む」、「有する」及びそれらの変形は、非排他的に含むことをカバーするものであり、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、製品又は機器は、それらのステップ又はユニットを明確に例示したのに限定されず、明確に例示していない又はこれらのプロセス、方法、製品又は機器固有の他のステップ又はユニットを含んでもよいことを表す。
【0012】
本開示の一実施例によれば、三次元ゲームシーンにおける仮想リソース生成方法の実施例を提供し、なお、図面のフローチャートに示されるステップは、一セットのコンピュータ実行可能な命令を含むコンピュータシステムにおいて実行でき、また、フローチャートにおいて論理的な順序が示されるが、場合によっては、それとは異なる順序で、示されるか又は説明されるステップを実行してもよい。
【0013】
図1は、本開示の一実施例に係る三次元ゲームシーンにおける仮想リソース生成方法のフローチャートであり、少なくとも1つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成方法は、
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するステップS110と、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するステップS120と、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するステップS130と、を含む。
【0014】
本実施例における三次元ゲームシーンにおける仮想リソース生成方法により、新規生成リソースの建築位置がゲームソーンの空間を分割する直方体グリッドに位置するため、新規生成リソースの生成過程での計算量を大幅に低減し、プレーヤがゲーム中に自分で仮想リソースを建築する時の効率上の問題を解決し、一方、プレーヤが仮想オブジェクトを制御して仮想リソースを生成する過程で、直接的に仮想オブジェクトの位置及び向きに基づいて仮想リソースの建築位置を迅速かつ容易に決定することができ、プレーヤの操作負荷を大幅に軽減する。
【0015】
以下、本例示的な実施例に係る仮想リソースの生成方法の各ステップをさらに説明する。
【0016】
前記複数の直方体グリッドは、ただ仮想リソースの建築位置の決定を容易にするために、ゲームシーンの空間を同じサイズの複数の直方体サブ空間に分割するものであり、即ちグリッドは、ただゲームシーンの空間の区画界限であり、ゲーム中のエンティティではない。前記直方体グリッドは、立方体(長さ、幅、高さが同じである)であってもよく、長さ、幅、高さが同じではない直方体であってもよい。以下の実施例では、長さと幅が同じであるが、高さと長さが異なる直方体グリッドを例として説明し、例えば、直方体グリッドは、長さと幅がいずれも5メートルであり、高さが3.5メートルとする。
【0017】
ステップS110において、各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得する。
【0018】
前記新規生成リソースの建築(ゲーム画面におけるレンダリング生成)は、プレーヤの建築命令によってトリガーされ、建築命令にはプレーヤが建築しようとする仮想リソース(即ち新規生成リソース)の空間的タイプが少なくとも含まれ、さらに新規生成リソースの材料の属性(例えば木材、コンクリート、れんがブロックなど)及び数が含まれてもよい。前記新規生成リソースの空間的タイプ、即ち前記直方体グリッドに対する新規生成リソースの幾何的な位置は、直方体グリッドの垂直面に沿って建築されるタイプであっても、直方体グリッドの水平面に沿って建築されるタイプであっても、直方体グリッドの内斜面に沿って建築されるタイプであってもよい。前記垂直面は、即ち直方体グリッドにおける、ゲームシーンの地面に垂直な4つの面であり、前記水平面は、即ち直方体グリッドにおける、ゲームシーンの地面に平行な2つの面であり、前記内斜面は、即ち直方体グリッドにおける、対隅断面(前記対隅断面が位置する平面は、直方体グリッドの水平面の2つの辺を経過し、かつ直方体グリッドの2つの垂直面と交差する)である。新規生成リソースの材料の属性がれんがブロックである場合を例として、直方体グリッドの垂直面に沿って建築される新規生成リソースは、垂直壁であり、直方体グリッドの水平面に沿って建築される新規生成リソースは、水平壁であり、建築位置が直方体グリッドである内斜面に沿って建築される新規生成リソースは、上向き又は下向きの坂である。図2は、前記直方体グリッドの概略図であり、グリッド面202、203、204、206は、垂直グリッド面、グリッド面201、205は、水平グリッド面であり、グリッド面207は、そのうちの1つの内斜面である。
【0019】
ステップS120、前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定する。
【0020】
新規生成リソースの空間的タイプは、新規生成リソースの直方体グリッドに対する幾何的な位置を決定するために用いられるが、新規生成リソースのゲームシーンにおける絶対的な位置を決定するために用いられるものではない。新規生成リソースの建築位置を決定するために、新規生成リソースが位置している直方体グリッド面の具体的な位置を決定する必要がある。新規生成リソースの建築位置を決定するために、さらに前記仮想オブジェクトのゲームシーンにおける現在の位置及び向きを取得する必要があり、それにより前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面(即ち新規生成リソースが位置する具体的な直方体グリッドの具体的な面)を前記新規生成リソースの建築位置として決定する。一人称視点又は三人称視点の3Dゲームにおいて、プレーヤが制御している仮想オブジェクトの向きは、一般的にはゲームにおける仮想カメラの向きと同じである。プレーヤが建築命令を送信したときにその制御している仮想オブジェクトの目の前で新規生成リソースを生成するために、目標グリッド面は、新規生成リソースの空間的タイプに基づいて仮想オブジェクトの付近かつその視野範囲内の直方体グリッド面から選択決定され、具体的な決定方法について、以下の実施例で詳述する。
【0021】
ステップS130において、前記目標グリッド面に前記新規生成リソースをレンダリングし生成する。
【0022】
ステップS110及びステップS120により目標グリッド面を決定した後、該位置で新規生成リソースをレンダリングし生成し、それによりプレーヤの建築命令に基づく新規生成リソースの建築を完了する。
【0023】
好ましい実施例では、前記既存リソースの空間的タイプは、直方体グリッドの垂直面に沿って建築されるタイプと、直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、を含む。本実施例では、ゲームに既存の仮想リソース(即ち既存リソース)の空間的タイプは、新規生成リソースの空間的タイプと同じであり、直方体グリッドの垂直面、水平面及び内斜面に沿ってレンダリングし生成するものである。新規生成リソースと既存リソースとは、同じの空間的タイプを有するので、新規生成リソースを生成するときに既存リソースとより容易に統合でき、同様に計算量を大幅に低減し、ゲームの実行効率を向上させる。
【0024】
好ましい実施例では、前記目標グリッド面は、少なくとも1つの直方体グリッド面である。前記建築命令はさらに新規生成リソースの数を含むことができ、プレーヤが建築命令中で複数の新規生成リソースを生成することを決定するとき、新規生成リソースが位置している複数の直方体グリッド面を建築することができる。例えば、プレーヤが(ゲームシーンの地面に対して)高さ5メートル、長さ15メートルの垂直壁を建築しようとする場合、3つの連続的な直方体グリッドの垂直面上に新規生成リソースを生成する必要があり、即ち目標グリッド面は、3つの直方体グリッド面である。
【0025】
好ましい実施例では、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することは、前記目標グリッド面に前記新規生成リソースのプレビュー情報をレンダリングし生成することと、プレーヤが送信した確認命令に基づいて、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む。目標グリッド面に前記新規生成リソースを正式に建築する前、まず目標グリッド面に新規生成リソースのプレビュー情報をレンダリングし生成し、プレーヤが送信した確認情報を受信すると、新規生成リソースを建築し、一方では、ゲームシステムは、プレーヤの制御している仮想キャラクタの現在の位置及びに向きに基づいて新規生成リソースの建築位置を自動的に決定し、プレーヤの操作負荷を軽減し、他方では、プレーヤに新規生成リソースの建築位置を補正するチャンスを提供することができ、即ちプレーヤがシステムの自動的に決定した新規生成リソースの建築位置が望む建築位置ではないと発見する場合に建築を止め、別途で建築命令を送信してその他の建築位置を選択することができる。
【0026】
本開示が提供する別の実施例によれば、前記新規生成リソースの空間的タイプが直方体グリッドの垂直面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、前記仮想オブジェクトが現在位置しているグリッドにおける第1の位置とを計算するステップS210と、
前記現在位置しているグリッド及び前記第1の位置に基づいて、前記建築位置の候補グリッド面の、前記ゲームシーンの地面に平行な水平基準面における第2の位置を決定するステップS220と、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記第2の位置から前記目標グリッド面の水平基準面における第3の位置を決定するステップS230と、
前記仮想オブジェクトの現在の位置及び向き、並びに前記第3の位置に基づいて、前記目標グリッド面の前記三次元ゲームシーンの地面に垂直な垂直方向での第4の位置を決定するステップS240と、
前記第3の位置及び前記第4の位置に基づいて、前記建築位置を得るステップS250と、を含む。
【0027】
空間位置の判断を容易にするために、ゲームシーンにおいて、三次元座標系XYZを作成することができ、X軸及びZ軸で構成されるXZ平面は、ゲームシーンの地面と平行であり(即ち上記水平基準面と、座標Xと座標Zと共に水平基準面における位置を決定する)、Z軸は、ゲームシーンの地面に垂直である(上記垂直方向での位置は、即ちZ軸での座標である)。ステップS210に記載の前記仮想オブジェクトのゲームシーンにおける現在の位置は、その該座標系における座標により決定され、各直方体グリッドも、ゲームシーンにおける対応する座標により決定される。ステップS210に記載の前記仮想オブジェクトのグリッドにおける相対位置は、仮想オブジェクトがその位置するグリッドを参照系とする空間位置を指す。
【0028】
図3に示すように、好ましい実施例では、ステップS220に記載の前記現在位置しているグリッド及び前記相対位置に基づいて、前記建築位置の候補グリッド面の水平基準面における第2の位置を決定することは、上面図中(即ち水平基準面内)において、仮想オブジェクトが現在位置しているグリッド(即ち中間の大正方形であり、周囲の8つの大正方形が仮想オブジェクトが現在位置しているグリッドが隣接しているグリッドを表す)を9つの小正方形に等分し、仮想オブジェクトが中間の小正方形9内に位置している場合、中間の大正方形の4つの辺に対応する4つの垂直面を新規生成リソース建築位置の候補グリッド面とすることと、仮想オブジェクトが中間の大正方形の4つの辺の中点に近い小正方形2、4、6、8という4つの小正方形内に位置している場合、中間の大正方形と、仮想オブジェクトが現在位置している小正方形が隣接している1つのグリッドとの共有しない6つの垂直面(上面図から見れば、「日」字形に配列された2つの大正方形の外周の6つの辺)を新規生成リソースの建築位置の候補グリッドとすることと、仮想オブジェクトが大正方形の四隅に近い小正方形1、3、5、7という4つの小正方形内に位置している場合、中間の大正方形と仮想オブジェクトが現在位置している小正方形が隣接している3つのグリッドとの共有しない8つの垂直面(上面図から見れば、「田」字形に配列された4つの大正方形の外周の8つの辺)を新規生成リソースの建築位置の候補グリッドとすることと、を含む。例えば、仮想オブジェクトが小正方形2で表されるグリッド内に位置している場合、中間の大正方形と大正方形302との外周の6つの正方形の辺で表されるグリッドを候補グリッドとし、例えば、仮想オブジェクトが小正方形1で表されるグリッド内に位置している場合、中間の大正方形及び大正方形301、302、308との外周の8つの正方形の辺で表されるグリッドを候補グリッドとする。
【0029】
上記方法により、仮想オブジェクトの付近の適切な距離範囲内のグリッド面を新規生成リソースの候補グリッド面として決定することができ、前記適切な距離は、グリッド面である正方形の辺長の1/3より大きく、グリッド面である正方形の辺長の4/3より小さいものとする。当然のことながら、上記適切な距離は、仮想キャラクタとグリッドとの相対的なサイズなど要素基づいて調整することもできる。仮想オブジェクトのグリッドにおける相対位置を決定する方法は、上記3×3のブロックによる判断方法に限定されず、さらに他の方法、例えば仮想オブジェクトと現在位置しているグリッドの4つの面との距離が所定の閾値範囲内にあるか否かを判断することであってもよい。
【0030】
好ましい実施例では、ステップS230に記載の前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記第2の位置から前記目標グリッド面の水平基準面における第3の位置を決定することは、前記仮想オブジェクトの位置を起点とし、前記の仮想オブジェクトの向きを方向とする射線の、水平基準面における投影を取得することを含み、水平基準面内で該投影と交差する候補グリッド面が目標グリッド面であり、目標グリッド面の水平基準面における位置が第3の位置であり、即ちステップS220から取得された複数の前記第2の位置から第3の位置を決定することにより、目標グリッド面の水平基準面における位置を取得する。上面図から見れば、仮想オブジェクトの位置から候補グリッド面を表す各正方形の辺の端点への結び線と見なすこともでき、前記結び線は、仮想オブジェクトの360度領域を候補グリッド面と同じ数のサブ隅領域に分割し、さらに仮想オブジェクトの視線(前記仮想オブジェクトの位置を起点とし、前記仮想オブジェクトの向きを方向とする射線)が上記どのサブ隅領域に位置するかを判断し、その後に視線が位置するサブ隅領域に対応する候補グリッド面を目標グリッド面とする。
【0031】
上記ステップで目標グリッド面の水平基準面における位置を取得した後、目標グリッド面の垂直方向での位置を決定する必要があり、図4に示すように、好ましい実施例において、ステップS240に記載の前記仮想オブジェクトの現在の位置及び向き、並びに前記第3の位置に基づいて、前記目標グリッド面の垂直方向での第4の位置を決定することは、目標グリッド面の垂直方向での候補位置が、高位置、中間位置及び低位置という3つの位置(即ち図4におけるグリッド面406、405及び404)を含み、中間位置に位置する候補グリッド面405の垂直方向での位置が仮想オブジェクト401の位置するグリッドと同じであり(即ちZ座標が同じである)、高位置に位置する候補グリッド面406の垂直方向での位置が仮想オブジェクト401の位置するグリッドより高く、低位置に位置する候補グリッド面404の垂直方向での位置が仮想オブジェクト401の位置するグリッドより低い場合、仮想オブジェクトの視線402と、候補グリッド面が位置する平面との交点407を取得することと、上記高位置、中間位置及び低位置という3つの候補位置での候補グリッド面の中点と上記交点407との距離を計算することと、中点と上記交点407との距離が最も短い候補グリッド面を目標グリッド面とすることと、を含む。図4から見れば、グリッド面406の中点と交点407との距離が最も近く、グリッド面406を目標グリッド面として決定する。
【0032】
好ましい実施例では、仮想オブジェクトと、候補グリッド面が位置する平面との夾角が小さすぎる(即ち仮想オブジェクトの視線のピッチ角の絶対値が90度に近い)ため上記交点の位置が遠くすぎることを回避するために、仮想オブジェクトのピッチ角の絶対値を80度以内に制限することができ、当然のことながら、需要に応じてその他の角度を設定することもできる。
【0033】
好ましい実施例では、選択された目標グリッド面で新規生成リソースを建築することができない(例えばゲームシーンと接続せず、その他の仮想リソースとも接続しない)ことを回避するために、まず既に選択の目標グリッド面で新規生成リソースを建築することができるか否かを判断することができ、新規生成リソースを建築することができないと、垂直方向での3つの候補グリッド面の他の2つのグリッド面から、先に決定された目標グリッド面と隣接する1つのグリッド面を選択し、新規生成リソースを建築することができるか否かを判断し、2番目の目標グリッド面で新規生成リソースを建築することができると、最終的な目標グリッド面として決定し、2番目の目標グリッドで新規生成リソースを建築することができないと、現在の位置に新規生成リソースを建築することができないとプレーヤに提示する。
【0034】
ステップS230では、ステップS230で取得された前記目標グリッド面の水平基準面における第3の位置及びステップS240で取得された目標グリッド面の垂直方向での第4の位置に基づいて、上記三次元ゲームシーンの三次元座標において前記建築位置を決定することができる。
【0035】
本開示が提供する別の実施例では、前記新規生成リソースの空間的タイプが直方体グリッドの水平面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算するステップS310と、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の前記三次元ゲームシーンの地面に垂直な垂直方向での第1の位置を決定するステップS320と、
前記仮想オブジェクトの現在の位置及び向き、前記現在位置しているグリッド、前記第1の位置に基づいて、前記目標グリッド面の前記ゲームシーンの地面に平行な水平基準面における第2の位置を決定するステップS330と、
前記第1の位置及び前記第2の位置に基づいて、前記建築位置を得るステップS340と、を含む。
【0036】
新規生成リソースの空間的タイプが直方体グリッドの水平面、例えばゲームシーンの地面と平行な水平壁面に沿って建築されるタイプである場合、目標グリッド面が仮想オブジェクトの現在位置している及び隣接グリッドの1つの水平面であるため、前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算する必要もある。
【0037】
ステップS320で前記目標グリッド面の垂直方向での第1の位置を決定し、即ち新規生成リソースが位置する目標グリッド面の位置する平面を決定する場合、前記目標グリッド面が位置する平面は、仮想オブジェクトが位置するグリッドの上下の2つの水平面が位置する平面から選択され、好ましい実施例では、選択方法は、仮想オブジェクトの視線のピッチ角を判断し、ピッチ角がゼロより大きい(即ち仮想オブジェクトが見上げている)と、垂直方向の位置が上である水平面が位置する平面(例えば図4における平面503)を選択し、ピッチ角がゼロより小さい(即ち仮想オブジェクトが見下ろしている)と、垂直方向の位置が下である水平面が位置する平面(例えば図4における平面504)を選択することであってもよい。図5に示すように、仮想オブジェクト501の視線502のピッチ角がゼロより大きいと、仮想オブジェクトが位置するグリッドにおいて位置が上である水平面503を目標グリッドが位置する平面として決定する。
【0038】
好ましい実施例では、仮想オブジェクトのピッチ角がゼロに近い場合に上記交点が無限に遠くなることを回避するために、0〜5度の間のピッチ角を5度に設定し、−5度〜0度の間のピッチ角を−5度に設定することができる。当然のことながら、需要に応じてその他の角度を設定することもできる。
【0039】
ステップS330に記載の前記目標グリッド面の水平基準面における位置と目標グリッド面のその位置する平面における位置とが同じであり、それは水平基準面及び目標グリッド面のその位置する平面がいずれもゲームシーンの地面と平行な平面(両方の座標X及び座標Zが同じである)ためである。図6に示すように、好ましい実施例では、前記目標グリッド面の水平基準面における位置を決定する前記ことは、仮想オブジェクト601の視線602と、前記目標グリッド面が位置する平面との交点603を取得することと、上記交点603と、仮想オブジェクト601が位置するグリッド及び隣接するグリッドの目標グリッド面が位置する平面におけるグリッド面の中点との距離を計算することと、中点と上記交点との距離が最も短いグリッド面(例えば図6における604)を目標グリッド面とすることと、を含む。
【0040】
好ましい実施例では、上記交点と、仮想オブジェクトが位置するグリッド及び隣接するグリッドの目標グリッド面が位置する平面におけるグリッド面の中点との距離を計算する前、まず目標グリッド面が位置する平面内で仮想オブジェクトの向きに基づいて、仮想オブジェクトが位置するグリッドの隣接するグリッドから3つのグリッド面と候補グリッド面として選択し、例えば仮想オブジェクトの向きが北東方向である場合、北東方向の3つのグリッド面(例えば図6における604、605、607)を候補グリッド面として選択することができる。
【0041】
本開示が提供する1つの好ましい実施例では、前記新規生成リソースの空間的タイプが直方体グリッドの内斜面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記目標グリッド面の前記三次元ゲームシーンの地面に平行な水平基準面における延び方向を決定するステップS410と、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、その現在位置しているグリッドにおける第1の位置とを計算するステップS420と、
前記仮想オブジェクトの向き、前記現在位置しているグリッド及び前記第1の位置に基づいて、前記目標グリッド面の水平基準面における第2の位置を決定するステップS430と、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の前記三次元ゲームシーンの地面に垂直な垂直方向での第3の位置を決定するステップS440と、
前記第2の位置及び前記第3の位置に基づいて、前記建築位置を得るステップS450と、を含む。
【0042】
直方体グリッドの内斜面に沿って建築された新規生成リソース(例えば空中梯子、坂)の建築位置について、水平面基準面における位置及び垂直方向での位置を決定する必要があるだけでなく、その在水平基準面における延び方向を決定する必要がある。
【0043】
図7に示すように、1つの好ましい実施例では、ステップS420に記載の前記現在位置しているグリッド内の第1の位置について、水平基準面内において、目標グリッド面の延び方向702で現在位置しているグリッドを、水平基準面上で70%占める前部分703と、水平基準面上で30%占める後部分704という前後の2つの部分に分割することができ、前記延び方向に垂直な方向で、現在位置しているグリッドを、水平基準面上でそれぞれ30%、40%及び30%占める左部分、中間部分及び右部分という3つの部分(例えば図4における705、704、706)に分割することができる。容易に述べるために、目標グリッド面の延び方向を前方として述べ、反対方向を後方とし、目標グリッド面の延び方向に垂直な方向を左側及び右側に分ける。
【0044】
1つの好ましい実施例では、ステップS430で前記目標グリッド面の水平基準面における前記第2の位置を決定することは、前記現在位置しているグリッドの水平基準面における位置を基準として、前記仮想オブジェクト701の現在位置しているグリッドにおける相対位置及び仮想オブジェクト701の向き(即ち仮想オブジェクト701の視線)に基づいて、前後左右にオフセットする(オフセットが1つのグリッドを単位とする)か否かを判断し、それにより前記目標グリッド面の水平基準面における位置を決定することを含む。仮想オブジェクト701が左部分に位置し、かつ視線が左向きに15度オフセットすると、左向きに1つのグリッドでオフセットし、仮想オブジェクト701が右部分に位置し、かつ視線が右向きに15度オフセットすると、右向きに1つのグリッドでオフセットし、その他の場合に、左右にオフセットする必要がない。仮想オブジェクト701が前部分に位置し、かつ視線のピッチ角の絶対値が30度より小さいと、前向きに1つのグリッドでオフセットし、仮想オブジェクト701が後部分に位置すると、又は仮想オブジェクト701が前部分に位置し、かつ視線のピッチ角の絶対値が30度より大きいと、前後にオフセットする必要がない。
【0045】
1つの好ましい実施例では、ステップS440で前記目標グリッド面の垂直方向での前記第3の位置を決定することは、前記現在位置しているグリッドの垂直方向での位置を基準として、前記仮想オブジェクトの向き(即ち仮想オブジェクトの視線)に基づいて、前後上下にオフセットする(オフセットが1つのグリッドを単位とする)か否かを判断し、それにより前記目標グリッド面の垂直方向での位置を決定し、仮想オブジェクトの視線のピッチ角が30度より大きいと、上向きに1つのグリッドでオフセットし、仮想オブジェクトの視線のピッチ角が−30度より小さいと、下向きに1つのグリッドでオフセットし、その他の場合に、上下にオフセットする必要がない。
【0046】
1つの好ましい実施例では、前記建築命令は、前記新規生成リソースの垂直方向での延び方向を含み、前記延び方向が上向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの頭部の現在の位置であり、前記延び方向が下向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの足部の現在の位置である。例えば、プレーヤが構築される新規生成リソースが上向きに延びる空中梯子であると決定すると、目標グリッド面を決定するために、仮想オブジェクトの頭部の現在の位置を仮想オブジェクトの現在の位置とし、プレーヤが構築される新規生成リソースが下向きに延びる坂であると決定すると、目標グリッド面を決定するために、仮想オブジェクトの足部の現在の位置を仮想オブジェクトの現在の位置とする。
【0047】
上記方法で決定された目標グリッド面で新規生成リソースを建築することができない(例えば、既に空中梯子又は坂がある)と、目標グリッド面が位置するグリッドの位置をオフセットすることができる。1つの好ましい実施例では、目標グリッド面で新規生成リソースを建築することができないと、目標グリッドの位置を前向きに1つのグリッドでオフセットし、目標グリッドの位置を決定する時に上下にオフセットしないと、上向きに1つのグリッドでオフセットし、目標グリッドの位置を決定する時に上下に既にオフセットした場合、上下オフセットをキャンセルすることにより、目標グリッドの高さを仮想オブジェクトが位置するグリッドの高さと一致させる。
【0048】
本開示の別の実施例は、少なくとも1つの仮想オブジェクトと、既存リソース、及びユーザーが入力した建築命令に応答してレンダリングし生成された一部の仮想リソースである新規生成リソースを含む仮想リソースとを含み、空間が複数の直方体グリッドに分割された三次元ゲームシーンにおける仮想リソース生成装置であって、
直方体グリッドの垂直面に沿って建築されるタイプと、直方体グリッドの水平面に沿って建築されるタイプと、直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するように設定された取得ユニットと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するように設定された決定ユニットと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するように設定されたレンダリングユニットと、を含む三次元ゲームシーンにおける仮想リソース生成装置をさらに提供する。
【0049】
本開示の別の実施例は、1つ以上のプロセッサと、アプリケーションプログラムのような処理モジュールが実行可能な命令を記憶するように設定された、メモリに代表されるメモリリソースとを含む電子機器をさらに提供する。メモリに記憶されるアプリケーションプログラムは、それぞれが1組の命令に対応する1つ又は1つ以上のモジュールを含むことができる。また、処理モジュールは、命令を実行して、上記仮想リソースの生成方法を実行するように構成される。
【0050】
1つの好ましい実施例では、前記電子機器は、プロセッサと、前記プロセッサの実行可能な命令を記憶するように設定されたメモリと、を含み、プロセッサは、前記実行可能な命令を実行することにより、
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得するステップと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定するステップと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成するステップと、を実行するように構成される。
【0051】
好ましくは、前記既存リソースの空間的タイプは、各直方体グリッドの垂直面に沿って建築されるタイプ、各直方体グリッドの水平面に沿って建築タイプ、及び各直方体グリッドの内斜面に沿って建築タイプ、のうちの少なくとも1つを含む。
【0052】
好ましくは、前記目標グリッド面は、少なくとも1つの直方体グリッド面である。
【0053】
好ましくは、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することは、
前記目標グリッド面に前記新規生成リソースのプレビュー情報をレンダリングし生成することと、
前記ユーザーが前記プレビュー情報に基づいて入力した確認命令に応答して、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む。
【0054】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの垂直面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、前記仮想オブジェクトの現在位置しているグリッドにおける第1の位置とを計算することと、
前記現在位置しているグリッド及び前記第1の位置に基づいて、前記建築位置の候補グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第2の位置を決定することと、
前記仮想オブジェクトの向きの前記水平基準面における投影に基づいて、前記第2の位置から前記目標グリッド面の前記水平基準面における第3の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、並びに前記第3の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第4の位置を決定することと、
前記第3の位置及び前記第4の位置に基づいて、前記建築位置を得ることと、を含む。
【0055】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの水平面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第1の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、前記現在位置しているグリッド、前記第1の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第2の位置を決定することと、
前記第1の位置及び前記第2の位置に基づいて、前記建築位置を得ることと、を含む。
【0056】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの内斜面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における延び方向を決定することと、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、その現在位置しているグリッドにおける第1の位置とを計算することと、
前記仮想オブジェクトの向き、前記現在位置しているグリッド及び前記第1の位置に基づいて、前記目標グリッド面の水平基準面における第2の位置を決定することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第3の位置を決定することと、
前記第2の位置及び前記第3の位置に基づいて、前記建築位置を得ることと、を含む。
【0057】
好ましくは、前記建築命令は、前記新規生成リソースの垂直方向での延び方向を含み、前記延び方向が垂直上向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの頭部の現在の位置であり、前記延び方向が垂直下向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの足部の現在の位置である。
【0058】
該電子機器は、電子機器に対して電源管理を行うように構成された電源モジュールと、電子機器をネットワークに接続するように構成された有線又は無線のネットワークインタフェースと、入出力(I/O)インタフェースとをさらに含む。該電子装置は、Android、iOS、Windows、Mac OS X、Unix、Linux(登録商標)、FreeBSD又は類似のもの等のメモリに記憶されたオペレーティングシステムに基づいて操作され得る。
【0059】
本開示の別の実施例は、本明細書に記載の方法を実現できるプログラム製品が記憶されているコンピュータ可読記憶媒体をさらに提供する。いくつかの実施形態では、本発明の各態様は、携帯端末上で実行される場合、以下のステップを端末装置に実行させるためのプログラムコードを含むプログラム製品の形式として実現可能である。
【0060】
各直方体グリッドの垂直面に沿って建築されるタイプと、各直方体グリッドの水平面に沿って建築されるタイプと、各直方体グリッドの内斜面に沿って建築されるタイプと、のうちの少なくとも1つを含む前記新規生成リソースの空間的タイプの情報を含む前記建築命令に応答して、前記仮想オブジェクトの現在の位置及び向きを取得することと、
前記空間的タイプの情報、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから目標グリッド面を前記新規生成リソースの建築位置として決定することと、
前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む三次元ゲームシーンにおける仮想リソース生成方法。
【0061】
好ましくは、前記既存リソースの空間的タイプは、各直方体グリッドの垂直面に沿って建築されるタイプ、各直方体グリッドの水平面に沿って建築タイプ、及び各直方体グリッドの内斜面に沿って建築タイプ、のうちの少なくとも1つを含む。
【0062】
好ましくは、前記目標グリッド面は、少なくとも1つの直方体グリッド面である。
【0063】
好ましくは、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することは、
前記目標グリッド面に前記新規生成リソースのプレビュー情報をレンダリングし生成することと、
前記ユーザーが前記プレビュー情報に基づいて入力した確認命令に応答して、前記目標グリッド面に前記新規生成リソースをレンダリングし生成することと、を含む。
【0064】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの垂直面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、前記仮想オブジェクトの現在位置しているグリッドにおける第1の位置とを計算することと、
前記現在位置しているグリッド及び前記第1の位置に基づいて、前記建築位置の候補グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第2の位置を決定することと、
前記仮想オブジェクトの向きの前記水平基準面における投影に基づいて、前記第2の位置から前記目標グリッド面の前記水平基準面における第3の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、並びに前記第3の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第4の位置を決定することと、
前記第3の位置及び前記第4の位置に基づいて、前記建築位置を得ることと、を含む。
【0065】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの水平面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドを計算することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第1の位置を決定することと、
前記仮想オブジェクトの現在の位置及び向き、前記現在位置しているグリッド、前記第1の位置に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における第2の位置を決定することと、
前記第1の位置及び前記第2の位置に基づいて、前記建築位置を得ることと、を含む。
【0066】
好ましくは、前記新規生成リソースの空間的タイプが直方体グリッドの内斜面に沿って建築されるタイプである場合、前記新規生成リソースの空間的タイプ、前記仮想オブジェクトの現在の位置及び向きに基づいて、前記複数の直方体グリッドから前記目標グリッド面を前記建築位置として決定することは、
前記仮想オブジェクトの向きの水平基準面における投影に基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に平行な水平基準面における延び方向を決定することと、
前記仮想オブジェクトの現在の位置に基づいて、前記仮想オブジェクトが現在位置しているグリッドと、その現在位置しているグリッドにおける第1の位置とを計算することと、
前記仮想オブジェクトの向き、前記現在位置しているグリッド及び前記第1の位置に基づいて、前記目標グリッド面の水平基準面における第2の位置を決定することと、
前記仮想オブジェクトの向き及び前記現在位置しているグリッドに基づいて、前記目標グリッド面の、前記三次元ゲームシーンの地面に垂直な垂直方向での第3の位置を決定することと、
前記第2の位置及び前記第3の位置に基づいて、前記建築位置を得ることと、を含む。
【0067】
好ましくは、前記建築命令は、前記新規生成リソースの垂直方向での延び方向を含み、前記延び方向が垂直上向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの頭部の現在の位置であり、前記延び方向が垂直下向きである場合、前記仮想オブジェクトの現在の位置は、前記仮想オブジェクトの足部の現在の位置である。
【0068】
前記コンピュータ可読記憶媒体は、可搬型コンパクトディスクリードオンリーメモリ(CD−ROM)を用い、プログラムコードを含み、かつパーソナルコンピュータ等の端末装置で動作してもよい。しかしながら、本開示のプログラム製品は、これに限定されるものではなく、本明細書では、可読記憶媒体は、命令実行システム、装置又はデバイスにより使用されるか、又は組み合わせて使用されてもよいプログラムを含むか、又は記憶する任意の有形媒体であってもよい。
【0069】
前記プログラム製品は、少なくとも1つの可読媒体の任意の組み合わせを用いることができる。可読媒体は、可読信号媒体又は可読記憶媒体であってもよい。可読記憶媒体は、例えば、電気、磁気、光学、電磁気、赤外線、又は半導体のシステム、装置又はデバイス、又は任意の以上の組み合わせであってもよいが、それらに限定されない。可読記憶媒体のより具体的な例(非排他的な列挙)は、少なくとも1つのリード線を有する電気的接続、ポータブルディスク、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROM)、光ファイバ、ポータブルコンパクトディスクリードオンリーメモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組み合わせを含む。
【0070】
上記本開示の実施例の番号は説明の便利を図るためのもので、実施例の優劣を示すものではない。
【0071】
上記例示的な実施例における3Dゲームシーンにおける仮想リソースの生成方法、装置、電子機器及びコンピュータ可読記憶媒体により、一方では、新規生成リソースの建築位置がゲームソーンの空間を分割する直方体グリッドに位置するため、新規生成リソースの生成過程での計算量を大幅に低減し、プレーヤがゲーム中に自分で仮想リソースを建築する時の効率上の問題を解決し、一方、プレーヤが仮想オブジェクトを制御して仮想リソースを生成する過程で、直接的に仮想オブジェクトの位置及び向きに基づいて仮想リソースの建築位置を迅速かつ容易に決定することができ、プレーヤの操作負荷を大幅に軽減する。
【0072】
上記本開示の実施例の番号は説明の便利を図るためのもので、実施例の優劣を示すものではない。
【0073】
本開示の上記実施例において、各実施例の説明についてはそれぞれ重点を置き、ある実施例で詳しく説明していない部分については、他の実施例の関連部分の説明を参照することができる。
【0074】
本開示で提供する幾つかの実施例において、開示された技術的内容は、他の形態で実現することもできると理解すべきである。ここで、以上説明した装置実施例は例示的なもので、例えば、前記ユニットの区画は、ロジック機能の区画であり、実際の実施において他の区画方式であってもよく、例えば、複数のユニット又は手段を結合したり他のシステムに集積したりしてもよく、一部の特徴を無視しても実行しなくてもよい。また、表示又は検討した相互結合又は直接結合又は通信接続は、いくつかのインタフェース、ユニット又はモジュールを介した間接結合又は通信接続であってもよく、電気的又は他の形態であってもよい。
【0075】
上記の分離部品として説明したユニットは、物理的に分離しても物理的に分離しなくてもよく、ユニットとして表す部品は、物理ユニットであっても物理ユニットではなくてもよく、即ち、1つの箇所に位置しても複数のユニットに分布してもよい。実際の需要に応じて、そのうちの一部又は全部のユニットを選択して本実施例の技術手段の目的を達成することができる。
【0076】
また、本開示の各実施例中の各機能ユニットは、すべてが1つの処理ユニットに集積してもよいし、それぞれが物理的に独立してもよいし、2つ以上のユニットが1つのユニットに集積されてもよい。上記集積されたユニットは、ハードウェアの形態で実現されても、ソフトウェア機能ユニットの形態で実現されてもよい。
【0077】
前記集積されたユニットは、ソフトウェア機能ユニットの形態で実現され、かつ独立した製品として販売又は使用する場合、コンピュータが読み取り可能な記録媒体に記憶することができる。従って、本開示の技術手段の実質的に既存技術に対する貢献のある部分又は該技術手段の全部又は一部をソフトウェア製品の形態で実現することができ、このようなコンピュータソフトウェア製品は、1つの記憶媒体に記憶されて、1台のコンピュータ機器(パーソナルコンピュータ、サーバ又はネットワーク機器等)に本開示の各実施例に記載された方法の全部又は一部のステップを実行させる複数の命令を含むことができる。
【0078】
以上は、本開示の好適な実施形態に過ぎず、当業者は本発明の精神から逸脱せずに若干の改善や修正を行うこともでき、このような改善や修正は本発明の保護範囲に含まれる。
【符号の説明】
【0079】
801 取得ユニット
802 決定ユニット
803 レンダリングユニット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10