(57)【要約】  ゲームシーンにおけるスタティックコンポーネントの処理方法、レンダリング方法および装置であり、前記レンダリング方法は、前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードすること（Ｓ２１０）と、前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定すること（Ｓ２２０）と、予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングすること（Ｓ２３０）と、を含み、これにより、スタティックコンポーネントの一部を隠すレンダリング効果を達成できる一方、モデル数が大きいことに起因するメモリ及びレンダリングの負荷を効果的に軽減する。
2021513404.tif 000002
【特許請求の範囲】
【請求項１】
ゲームシーンにおけるスタティックコンポーネントの処理方法であって、
前記スタティックコンポーネントのサブコンポーネントに対応するサブモデルを取得することと、
前記サブモデルを合成して、前記スタティックコンポーネントに対応する親モデルを得るとともに、前記親モデルの範囲内における前記サブモデルの識別情報を含む、前記サブモデルの第１のローカル識別子を生成することと、
前記第１のローカル識別子を含む前記サブモデルの情報を、前記親モデルのモデルファイルに記録することと、
前記親モデルを用いて前記ゲームシーンを編集し、前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を生成することと、を含み、
前記第１のグローバル識別子及び前記第１のローカル識別子は、前記ゲームシーンにおける前記サブモデルの識別情報を含む、前記サブモデルのシーングローバル識別子を取得するために用いられる処理方法。
【請求項２】
前記サブモデルに対応するサブコライダーの関連関係を確立することと、
前記サブコライダーに対応する前記サブモデルの前記第１のローカル識別子を記録することと、をさらに含む、
請求項１に記載の方法。
【請求項３】
予め設定された数の前記スタティックコンポーネントのサブコンポーネントに対応する低精度サブモデルであって、前記サブモデルの低精度バージョンである低精度サブモデルを取得することと、
前記予め設定された数の前記スタティックコンポーネントのサブコンポーネントに対応する前記低精度サブモデルを合成して、前記予め設定された数の前記スタティックコンポーネントからなるスタティックコンポーネントの集合に対応するマスターモデルを得るとともに、前記マスターモデルの範囲内における前記低精度サブモデルの識別情報を含む、前記低精度サブモデルの第２のローカル識別子を生成することと、
前記第２のローカル識別子を含む前記低精度サブモデルの情報を、前記マスターモデルのモデルファイルに記録することと、
前記ゲームシーンにおける前記マスターモデルの識別情報を含む、前記マスターモデルの第２のグローバル識別子を生成することと、をさらに含み、
前記第２のグローバル識別子及び前記第２のローカル識別子は、前記ゲームシーンにおける前記低精度サブモデルの前記シーングローバル識別子を取得するために用いられる請求項１に記載の方法。
【請求項４】
前記低精度サブモデルに対応するサブコライダーの関連関係を確立することと、
前記サブコライダーに対応する前記低精度サブモデルの前記第２のローカル識別子を記録することと、をさらに含む、
請求項３に記載の方法。
【請求項５】
前記スタティックコンポーネントの集合から、体積が予め設定された体積よりも小さい前記低精度サブモデルに対応する前記サブコライダーを除外することと、
前記スタティックコンポーネントの集合から、高さが予め設定された高さよりも小さい前記低精度サブモデルに対応する前記サブコライダーを除外することと、の少なくとも一方をさらに含む、
請求項４に記載の方法。
【請求項６】
２つ以上のサブコンポーネントからなるスタティックコンポーネントを複数含むゲームシーンにおけるスタティックコンポーネントのレンダリング方法であって、
前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードすることと、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定することと、
予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングすることと、
を含むレンダリング方法。
【請求項７】
前記サブモデルの情報は、前記親モデルの範囲内における前記サブモデルの識別情報を含む第１のローカル識別子を含み、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子を特定することは、
前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を取得することと、
前記親モデルの前記第１のグローバル識別子及び前記サブモデルの前記第１のローカル識別子に基づいて、前記シーングローバル識別子を特定することと、を含む、
請求項６に記載の方法。
【請求項８】
前記スタティックコンポーネントに対応する前記親モデルをロードする際に、前記親モデルを構成する前記サブモデルに対応するサブコライダーを、ゲームエンジンの物理システムに入れることと、
前記スタティックコンポーネントに対する物理イベントに応答して、前記物理イベントが対象とする前記スタティックコンポーネントに対応する前記親モデルの前記第１のグローバル識別子を取得することと、
前記ゲームエンジンによって前記物理イベントがヒットした対象サブコライダーを検出し、前記対象サブコライダーに対応する対象サブモデルの前記第１のローカル識別子を取得することと、
前記親モデルの前記第１のグローバル識別子及び前記対象サブモデルの第１のローカル識別子に基づいて、前記対象サブモデルの前記シーングローバル識別子を得ることと、
前記対象サブモデルの前記シーングローバル識別子に基づいて前記対象サブモデルの位置決めを行い、前記対象サブモデルを「隠蔽」とマークすることと、をさらに含む、
請求項７に記載の方法。
【請求項９】
レンダリングすべき前記スタティックコンポーネントと前記ゲームの仮想カメラとの距離が、予め設定された値よりも大きいと検出された場合、前記スタティックコンポーネントがあるスタティックコンポーネントの組み合わせに対応する低精度マスターモデルをロードし、前記スタティックコンポーネントの組み合わせは、予め設定された数の前記スタティックコンポーネントの組み合わせであり、前記低精度マスターモデルは、前記サブモデルの低精度バージョンである低精度サブモデルを合成してなることと、
前記低精度マスターモデルのうち「隠蔽」とマークされる前記サブモデルの前記シーングローバル識別子を特定することと、
予め設定された方式により前記低精度マスターモデルのうち「隠蔽」とマークされていない部分をレンダリングすることと、をさらに含む、
請求項８に記載の方法。
【請求項１０】
前記物理イベントが対象とする前記スタティックコンポーネントと前記仮想カメラとの距離が、前記予め設定された値よりも大きいと検出された場合、前記スタティックコンポーネントがある前記スタティックコンポーネントの組み合わせに対応する前記低精度マスターモデルの第２のグローバル識別子を取得し、前記第２のグローバル識別子は、前記ゲームシーンにおける前記低精度マスターモデルの識別情報を含むことと、
前記ゲームエンジンによって前記物理イベントがヒットした対象サブコライダーを検出し、前記対象サブコライダーに対応する低精度対象サブモデルの第２のローカル識別子を取得し、前記第２のローカル識別子は、前記低精度マスターモデルの範囲内における前記低精度対象サブモデルの識別情報を含むことと、
前記第２のグローバル識別子及び前記低精度対象サブモデルの前記第２のローカル識別子に基づいて、前記対象サブモデルのシーングローバル識別子を得て、前記対象サブモデルを「隠蔽」とマークすることと、をさらに含む、
請求項９に記載の方法。
【請求項１１】
前記ゲームの他のクライアントがゲームシーンレンダリングを行う時に、「隠蔽」とマークされる前記サブモデルを隠すように、「隠蔽」とマークされる前記サブモデルの前記シーングローバル識別子を前記ゲームのサーバに同期させ、前記サーバを介して前記他のクライアントにブロードキャストすること、をさらに含む、
請求項６に記載の方法。
【請求項１２】
前記予め設定された方式は、連続レンダリングメカニズムである、
請求項６に記載の方法。
【請求項１３】
前記低精度マスターモデルが隠蔽部分によって分割された数が前記予め設定された値を超えた場合、前記低精度マスターモデルが一度のレンダリング呼び出しでレンダリングを完了するように、前記低精度マスターモデルのインデックス再配置をトリガーする、
請求項９又は１０に記載の方法。
【請求項１４】
ゲームシーンにおけるスタティックコンポーネントの処理装置であって、
１つ又は複数のプロセッサと、
プログラムユニットを記憶する１つまたは複数の記憶装置とを備え、
前記プログラムユニットは前記プロセッサによって実行され、
前記プログラムユニットは、
前記スタティックコンポーネントのサブコンポーネントに対応するサブモデルを取得するように構成される取得モジュールと、
前記サブモデルを合成して、前記スタティックコンポーネントに対応する親モデルを得るとともに、前記親モデルの範囲内における前記サブモデルの識別情報を含む、前記サブモデルの第１のローカル識別子を生成するための第１の処理モジュールと、
前記第１のローカル識別子を含む前記サブモデルの情報を、前記親モデルのモデルファイルに記録するように構成される記録モジュールと、
前記親モデルを用いて前記ゲームシーンを編集し、前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を生成するように構成される第２の処理モジュールと、を有し、
前記第１のグローバル識別子及び前記第１のローカル識別子は、前記ゲームシーンにおける前記サブモデルの識別情報を含む、前記サブモデルのシーングローバル識別子を取得するために用いられる処理装置。
【請求項１５】
２つ以上のサブコンポーネントからなるスタティックコンポーネントを複数含むゲームシーンにおけるスタティックコンポーネントのレンダリング装置であって、
１つ又は複数のプロセッサと、
プログラムユニットを記憶する１つまたは複数の記憶装置とを備え、
前記プログラムユニットは前記プロセッサによって実行され、
前記プログラムユニットは、
前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードするように構成されるロードモジュールと、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定するように構成される特定モジュールと、
予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングするように構成されるレンダリングモジュールと、を有するレンダリング装置。
【請求項１６】
プロセッサと、
前記プロセッサの実行可能な命令を記憶するように構成される記憶装置と、を備え、
前記プロセッサは、前記実行可能な命令を実行することにより、請求項６乃至１３のいずれか一項に記載のゲームシーンにおけるスタティックコンポーネントのレンダリング方法を実行するように構成される、電子機器。
【請求項１７】
プロセッサによって実行されると、請求項６乃至１３のいずれか一項に記載のゲームシーンにおけるスタティックコンポーネントのレンダリング方法を実現するコンピュータプログラムが記憶されている、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、２０１８年０２月０９日にて中国特許庁へ出願した、出願番号が２０１８１０１３６７４９．７で、発明の名称が「ゲームシーンにおけるスタティックコンポーネントの処理方法、レンダリング方法および装置」である中国特許出願の優先権を主張し、その内容を全て参照により本願に組み込むものとする。
【０００２】
本開示は、ゲームの技術分野に関し、特に、ゲームシーンにおけるスタティックコンポーネントの処理方法、レンダリング方法および装置に関する。
【背景技術】
【０００３】
現在、シューティングゲームと街づくりゲームを組み合わせたゲームタイプでは、ゲームシーンでスタティックコンポーネントを破壊又は分解するようにプレーヤが仮想オブジェクトを制御することを実現するために、ほとんどのスタティックコンポーネント（例えば、住宅、橋、バンカー等）は、スタティックコンポーネントが仮想オブジェクトの物理攻撃により完全に消えていくまで徐々に損失する表示効果を示すように、分解可能にされる必要がある。従来では、ゲーム開発過程において、スタティックコンポーネントを複数のサブコンポーネントに細分化し、複数のサブコンポーネントに対応するサブモデルをそれぞれ作成し、ゲーム実行中に、仮想オブジェクトにより分解されるサブコンポーネントに対応するサブモデルは直接削除されることにより、スタティックコンポーネントが分解されるゲーム効果を実現するようにしている。
【０００４】
しかし、このようなゲームはシーンが大きく、スタティックコンポーネントが多く、サブコンポーネントに細分化された後、対応するサブモデル数が非常に大きくなり、すべてのモデルが多くのメモリを占有し、メモリが小さいゲーム端末（特に、モバイルデバイス）は耐えられないことが多い。メモリが十分であっても、これほど多くの細分化モデルが、データ処理やグラフィックレンダリング面で端末に大きな負荷を与え、モデル数が大きいことに起因するメモリ及びレンダリング負荷が大きい課題がある。
【０００５】
なお、上述した背景技術欄に開示された情報は、本開示の背景に対する理解を強めるためのものに過ぎないため、当業者が知っている関連技術を構成しない情報を含むことができる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の開示の目的は、ゲームシーンにおけるスタティックコンポーネントの処理方法、レンダリング方法および装置を提供し、さらに、少なくともある程度、関連技術の制限と欠陥による１つ又は複数の問題を解消することにある。
【課題を解決するための手段】
【０００７】
本開示の一態様は、ゲームシーンにおけるスタティックコンポーネントの処理方法であって、
前記スタティックコンポーネントのサブコンポーネントに対応するサブモデルを取得することと、
前記サブモデルを合成して、前記スタティックコンポーネントに対応する親モデルを得るとともに、前記親モデルの範囲内における前記サブモデルの識別情報を含む、前記サブモデルの第１のローカル識別子を生成することと、
前記第１のローカル識別子を含む前記サブモデルの情報を、前記親モデルのモデルファイルに記録することと、
前記親モデルを用いて前記ゲームシーンを編集し、前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を生成することと、を含み、
前記第１のグローバル識別子及び前記第１のローカル識別子は、前記ゲームシーンにおける前記サブモデルの識別情報を含む、前記サブモデルのシーングローバル識別子を取得するために用いられる処理方法を提供する。
【０００８】
本開示の他の態様は、２つ以上のサブコンポーネントからなるスタティックコンポーネントを複数含むゲームシーンにおけるスタティックコンポーネントのレンダリング方法であって、
前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードすることと、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定することと、
予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングすることと、
を含むレンダリング方法をさらに提供する。
【０００９】
本開示の他の態様は、ゲームシーンにおけるスタティックコンポーネントの処理装置であって、
１つ又は複数のプロセッサと、
プログラムユニットを記憶する１つまたは複数の記憶装置とを備え、
前記プログラムユニットは前記プロセッサによって実行され、
前記プログラムユニットは、
前記スタティックコンポーネントのサブコンポーネントに対応するサブモデルを取得するように構成される取得モジュールと、
前記サブモデルを合成して、前記スタティックコンポーネントに対応する親モデルを得るとともに、前記親モデルの範囲内における前記サブモデルの識別情報を含む、前記サブモデルの第１のローカル識別子を生成するための第１の処理モジュールと、
第１のローカル識別子を含む前記サブモデルの情報を、前記親モデルのモデルファイルに記録するように構成される記録モジュールと、
前記親モデルを用いて前記ゲームシーンを編集し、前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を生成するように構成される第２の処理モジュールと、を有し、
前記第１のグローバル識別子及び前記第１のローカル識別子は、前記ゲームシーンにおける前記サブモデルの識別情報を含む、前記サブモデルのシーングローバル識別子を取得するために用いられる処理装置をさらに提供する。
【００１０】
本開示の他の態様は、２つ以上のサブコンポーネントからなるスタティックコンポーネントを複数含むゲームシーンにおけるスタティックコンポーネントのレンダリング装置であって、
１つ又は複数のプロセッサと、
プログラムユニットを記憶する１つまたは複数の記憶装置とを備え、
前記プログラムユニットは前記プロセッサによって実行され、
前記プログラムユニットは、
前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードするように構成されるロードモジュールと、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定するように構成される特定モジュールと、
予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングするように構成されるレンダリングモジュールと、を有するレンダリング装置をさらに提供する。
【００１１】
本開示の他の態様は、
プロセッサと、
前記プロセッサの実行可能な命令を記憶するように構成される記憶装置と、を備え、
前記プロセッサは、前記実行可能な命令を実行することにより、上述したゲームシーンにおけるスタティックコンポーネントのレンダリング方法を実行するように構成される、電子機器をさらに提供する。
【００１２】
本開示の他の態様は、プロセッサによって実行されると、上述したゲームシーンにおけるスタティックコンポーネントのレンダリング方法を実現するコンピュータプログラムが記憶されている、コンピュータ読み取り可能な記憶媒体をさらに提供する。
【発明の効果】
【００１３】
本開示のいずれかの実施態様によれば、前記スタティックコンポーネントに対応する前記親モデルをロードし、前記親モデルのモデルファイルに前記サブモデルの情報が記録されており、「隠蔽」とマークされる前記サブモデルのシーングローバル識別子に基づいて、予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングし、親モデルのモデルファイルにサブモデルの情報が保存されているため、ゲーム実行中に、これらのサブモデルの情報により親モデルの部分的な隠蔽を実現することができ、これにより、スタティックコンポーネントの一部を隠すレンダリング効果を達成できる一方、スタティックコンポーネントは、ゲーム実行中に１つの親モデルのみをレンダリングすればよく、モデル数が大きいことに起因するメモリ及びレンダリングの負荷を効果的に軽減する。
【００１４】
図面を参照して例示的な実施例を説明することで、本開示の上述した及び他の利点がより明確になる。以下で説明される図面は、本開示の一部の実施例に過ぎず、当業者にとって、創造的な労働なしにこれらの図面に基づいて他の図面を得ることができることは、言うまでもない。
【図面の簡単な説明】
【００１５】
【図１】本開示の一実施例に係るゲームシーンにおけるスタティックコンポーネントの処理方法を示すフローチャートである。
【図２】本開示の一実施例に係るゲームシーンにおけるスタティックコンポーネントのレンダリング方法を示すフローチャートである。
【図３】本開示の１つの例示的な実施例におけるゲームシーンにおけるスタティックコンポーネントを示す模式図である。
【図４】本開示の１つの例示的な実施例における一部が分解されたスタティックコンポーネントを示す模式図である。
【図５】本開示の１つの例示的な実施例におけるモデルレンダリング過程でモデルのインデックス再配置を行うことを示す模式図である。
【図６】本開示の一実施例に係るゲームシーンにおけるスタティックコンポーネントのレンダリング装置の構成図である。
【図７】本開示の一実施例に係る電子機器の構成を示す模式図である。
【図８】本開示の一実施例に係る記憶媒体の構成を示す模式図である。
【発明を実施するための形態】
【００１６】
なお、衝突しない限り、本願の実施例及び実施例中の構成要件を互いに組み合わせることができる。以下、図面を参照しつつ実施例を結合して本発明を詳しく説明する。
【００１７】
当業者に本開示の構成をよりよく理解してもらうように、以下、本開示の実施例の図面を結合して本開示の技術的構成を明瞭かつ完全に説明する。説明する実施例は本開示の実施例の一部に過ぎず、全部ではないことは、言うまでもないことである。当業者が本開示の実施例に基づいて、創造的な労働無しに得られた他の実施例も、全て本開示の保護範囲内に含まれるべきである。
【００１８】
なお、本開示の明細書及び特許請求の範囲並びに上記図面に言及された「第１」、「第２」等の用語は、類似した対象を区別するためのものであり、特定の順番又は前後順序を説明するためのものではない。ここで説明される本開示の実施例をここで示した又は説明した順番以外の順番で実施可能なものにするために、このように使用されたデータは適した場合であれば互いに取り替え可能なことは、理解されるべきである。また、用語である「含む」、「有する」及びそれらの如何なる変形は、排他的にならずに含まれたものをカバーすることがその意図であり、例えば、一連のステップ又はユニットを含めたプロセス、方法、システム、製品又は機器は、明確に示したステップ又はユニットに限定される必要がなく、これらのプロセス、方法、製品又は機器に対して明確に示していなかったり、固有であったりする他のステップ又はユニットを含むことができる。
【００１９】
なお、本実施例に開示された様々なトリガーイベントを予め設定してもよく、異なるトリガーイベントは、異なる機能を実行するようにトリガーすることができる。
【００２０】
以下の例示的な実施例において、ゲームシーンには少なくとも１つのスタティックコンポーネントが含まれており、スタティックコンポーネントは、ゲームシーンに作られた建て物、例えば、住宅、水平面、垂直面、傾斜面、机、椅子、街灯等の仮想物体であることができる。スタティックコンポーネントは、ゲームクライアントのグラフィカルユーザインタフェースによりレンダリングされて提示されることができ、提示される内容は、スタティックコンポーネントの全てを含んでもよいし、スタティックコンポーネントの一部であってもよい。
【００２１】
ゲームシーンには、クライアントのグラフィカルユーザインタフェースによりレンダリングされて提示されることができる少なくとも１つの仮想オブジェクトが含まれており、提示される内容は、仮想オブジェクトの全てを含んでもよいし、仮想オブジェクトの一部であってもよい。例えば、第３者視点のゲームでは、グラフィカルユーザインタフェースにより提示される内容は、仮想オブジェクトの全てを含むことができる。また、例えば、第１者視点のゲームでは、グラフィカルユーザインタフェースにより提示される内容は、仮想オブジェクトの一部／局部を含むことができる。
【００２２】
仮想オブジェクトは、敵陣営の仮想オブジェクトであってもよいし、味方陣営の仮想オブジェクトであってもよく、仮想オブジェクトは、ユーザの操作に応じて、ゲームシーンで対応する行動を実行することができ、例えば、ユーザは、ゲームシーンにて歩き、走り、しゃがみ、うつ伏せ、攻撃、射撃等の行動をするように仮想オブジェクトを制御することができ、さらに、ゲームシーンにおけるスタティックコンポーネントを構築したり分解したりするように仮想オブジェクトを制御することができるが、本開示はここで何も限定しない。
【００２３】
本開示の実施例は、ゲームシーンにおけるスタティックコンポーネントの処理方法を提供する。図１は、本開示の一実施例によるゲームシーンにおけるスタティックコンポーネントの処理方法のフローチャートである。図１に示すように、本実施例では、該方法は、以下のステップＳ１１０〜ステップＳ１４０を含む。
【００２４】
ステップＳ１１０：前記スタティックコンポーネントのサブコンポーネントに対応するサブモデルを取得する。
【００２５】
ステップＳ１２０：前記サブモデルを合成して、前記スタティックコンポーネントに対応する親モデルを得るとともに、前記親モデルの範囲内における前記サブモデルの識別情報を含む、前記サブモデルの第１のローカル識別子を生成する。
【００２６】
ステップＳ１３０：第１のローカル識別子を含む前記サブモデルの情報を、前記親モデルのモデルファイルに記録する。
【００２７】
ステップＳ１４０：前記親モデルを用いて前記ゲームシーンを編集し、前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を生成し、前記第１のグローバル識別子及び前記第１のローカル識別子は、前記ゲームシーンにおける前記サブモデルの識別情報を含む、前記サブモデルのシーングローバル識別子を取得するために用いられる。
【００２８】
該実施例において、スタティックコンポーネントのサブコンポーネントは、スタティックコンポーネントの一部であることができ、例えば、スタティックコンポーネントがゲームシーン内の住宅であれば、サブコンポーネントは、住宅の垂直壁、水平壁、屋根等である。複数のサブコンポーネントに対応する複数のサブモデルをそれぞれ取得し、これらのサブモデルを、ビッグモデルである親モデルとなるように合成し、頂点バッファ（vertex buffer、単にＶＢという）、インデックスバッファ（index buffer、単にＩＢという）、ＵＶ、２ＵＶ、テクスチャ等の情報を合成することができる。同時に、親モデルのモデルファイルにサブモデルのモデル情報を記録し、該モデル情報は、サブモデルのvertex添え字、vertex数、index添え字、index数、sub_destroy_id（即ち、第１のローカル識別子）のうちの最初のもの又は複数のものを含むことができる。sub_destroy_idは、サブモデルの合成時に生成したものであり、サブモデルを親モデルの範囲内で一意に識別し、例えば、０〜１０２４（８桁）の数字であることができる。
【００２９】
ゲームシーンの編集を行う時に親モデルを用いてシーン配置を行い、配置する際に、親モデルのために１つのdestroy_id（即ち、第１のグローバル識別子）を生成し、例えば、最初の１６桁が区画番号を示し、そのうち、８桁が親モデルの該区画における一意の識別子を示し、最後の８桁がいずれも０とされることにより、sub_destroy_idと加えられても互いに影響を与えることなく、親モデルのdestroy_idにサブモデルのsub_destroy_idを加えた合計３２桁から、サブモデルを正確に位置決めするためのfull_destroy_id（即ち、シーングローバル識別子）を生成することができる、という生成ルールを設定することができる。
【００３０】
分解効果を実現するようにスタティックコンポーネントのあるサブコンポーネントを隠す必要がある場合、対象サブコンポーネントに対応する対象サブモデルの第１のローカル識別子、およびスタティックコンポーネントに対応する親モデルの第１のグローバル識別子を取得すればよく、そのうえ、予め設定されたルールにより対象サブモデルのシーングローバル識別子を取得することで、スタティックコンポーネントをレンダリングする時に分解された対象サブコンポーネントを一部隠す。図３に示すように、ゲームシーンにおいて、１つのスタティックコンポーネントに対応する親モデル１００は、サブモデル１０１、１０２及び１０３を含み、別のスタティックコンポーネントに対応する親モデル２００は、サブモデル２０１、２０２、２０３、２０４、２０５及び２０６を含む。図４に示す親モデル１００のうち図３におけるサブモデル１０３に対応する部分が隠れ、親モデル２００のうち図３におけるサブモデル２０１に対応する部分が隠れている。
【００３１】
上述した実施態様によれば、スタティックコンポーネントのサブコンポーネントのサブモデルをそれぞれ取得し、そして、複数のサブモデルを、スタティックコンポーネントに対応する親モデル（スモールモデル群からなるビッグモデル）となるように合成し、親モデルの範囲内におけるサブモデルの識別情報（即ち、第１のローカル識別子）を含むサブモデルの情報を、親モデルのモデルファイルに記録し、親モデルのモデルファイルにサブモデルの情報が保存されているため、ゲーム実行中に、これらのサブモデルの情報により親モデルの部分的な隠蔽を実現することができ、これにより、スタティックコンポーネントを分解するレンダリング効果を達成する一方、該実施態様によって作成されるスタティックコンポーネントは、ゲーム実行中に１つの親モデルのみをレンダリングすればよく、モデル数が大きいことに起因するメモリ負荷及びレンダリング負荷を大幅に軽減する。
【００３２】
代替的な実施態様において、前記方法は、さらに、
前記サブモデルに対応するサブコライダーの関連関係を確立することと、
前記サブコライダーに対応する前記サブモデルの第１のローカル識別子を記録することと、を含む。
【００３３】
前記サブモデルに対応するサブコライダーの関連関係を確立し、各サブコライダーに対応するサブモデルの第１のローカル識別子を記録することにより、サブコライダーは、関連関係により、対応するスタティックコンポーネントの親モデルの対応するサブモデルに一意にマッピングされることができるため、ゲーム実行中に、仮想オブジェクトがスタティックコンポーネントに対して分解等の物理攻撃を行う時、ゲームエンジンによる物理検出により攻撃範囲内のサブコライダーを特定することができ、そのうえ、分解されるサブコンポーネントに対応するサブモデルを特定し、このようにして、仮想オブジェクトがスタティックコンポーネントの一部を分解する効果を実現する。
【００３４】
代替的な実施態様において、前記方法は、さらに、
予め設定された数の前記スタティックコンポーネントのサブコンポーネントに対応する低精度サブモデルであって、前記サブモデルの低精度バージョンである低精度サブモデルを取得することと、
前記予め設定された数の前記スタティックコンポーネントのサブコンポーネントに対応する前記低精度サブモデルを合成して、前記予め設定された数のスタティックコンポーネントからなるスタティックコンポーネントの集合に対応するマスターモデルを得るとともに、前記マスターモデルの範囲内における前記低精度サブモデルの識別情報を含む、前記低精度サブモデルの第２のローカル識別子を生成することと、
第２のローカル識別子を含む前記低精度サブモデルの情報を、前記マスターモデルのモデルファイルに記録することと、
前記ゲームシーンにおける前記マスターモデルの識別情報を含む、前記マスターモデルの第２のグローバル識別子を生成することと、を含み、前記第２のグローバル識別子及び前記第２のローカル識別子は、前記ゲームシーンにおける前記低精度サブモデルのシーングローバル識別子を取得するために用いられる。
【００３５】
オーバーサイズのシーンのゲームは、通常、詳細レベルＬＯＤ（Level of Detail）メカニズムを利用し、例えば、遠くのモデルはいずれも低精度バージョンである。ＬＯＤモデル（即ち、低精度バージョンのモデル）の部分的な分解を実現するために、本実施態様では、ＬＯＤモデルに対しても合成処理を行う。前記予め設定された数は、ゲームの具体的な状況に応じて設定されることができ、例えば、８*８の区画物体を合成して１つのビッグモデル（即ち、マスターモデル）となる。各区画は、マスターモデルにおける１つのサブモデル（即ち、親モデル）であり、各区画における物体は、親モデルの一部（即ち、サブモデル）に過ぎない。遠くのＬＯＤモデルにおける分解される部分を隠すために、マスターモデルのサブモデルのサブモデル情報を記録する必要がある。同様に、ＬＯＤメカニズムにおいて、低精度サブモデルのシーングローバル識別子は、マスターモデルの第２のグローバル識別子およびマスターモデルにおける低精度サブモデルの第２のローカル識別子によって得られる。
【００３６】
代替的な実施態様において、前記方法は、さらに、
前記低精度サブモデルに対応するサブコライダーの関連関係を確立することと、
前記サブコライダーに対応する前記低精度サブモデルの第２のローカル識別子を記録することと、を含む。
【００３７】
同様に、低精度モデルの部分的な分解を実現するために、関連付けに基づいてマスターモデル下でのすべての低精度サブモデルを対応するサブコライダーに一意にマッピングする必要があり、これにより、ゲーム実行中に、仮想オブジェクトがスタティックコンポーネントに対して分解等の物理攻撃を行う時、ゲームエンジンによる物理検出により攻撃範囲内のサブコライダーを特定することができ、そのうえ、分解されるサブコンポーネントに対応する低精度サブモデルを特定し、このようにして、仮想オブジェクトがスタティックコンポーネントを部分分解する効果を実現する。
【００３８】
代替的な実施態様において、前記方法は、さらに、
前記スタティックコンポーネントの集合から、体積が予め設定された体積よりも小さい前記低精度サブモデルに対応するサブコライダーを除外することと、
前記スタティックコンポーネントの集合から、高さが予め設定された高さよりも小さい前記低精度サブモデルに対応するサブコライダーを除外することと、の少なくとも一方を含む。
【００３９】
マスターモデル下でのコライダー数が多すぎることを回避するために、体積又は高さが小さい低精度サブモデルに対応するサブコライダーを除外することができ、例えば、体積又は高さが小さい物体のコライダーを除外する。
【００４０】
本開示の実施例は、ゲームシーンにおけるスタティックコンポーネントのレンダリング方法をさらに提供し、前記ゲームシーンに複数の前記スタティックコンポーネントが含まれており、前記スタティックコンポーネントは２つ以上のサブコンポーネントからなる。図２は、本開示の一実施例によるゲームシーンにおけるスタティックコンポーネントのレンダリング方法を示すフローチャートである。図２に示すように、本実施例では、該方法は、以下のステップＳ２１０〜ステップＳ２３０を含む。
【００４１】
ステップＳ２１０：前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードする。
【００４２】
ステップＳ２２０：前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定する。
【００４３】
ステップＳ２３０：予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングする。
【００４４】
上述した実施例に提供されるゲームシーンにおけるスタティックコンポーネントの処理方法に対して、本実施例に提供される方法は、ゲーム実行中に適用される。一方では、親モデルにサブモデルの情報が含まれているため、ゲーム実行中に、これらのサブモデルの情報により親モデルの部分的な隠蔽を実現することができ、これにより、スタティックコンポーネントを分解するレンダリング効果を達成し、他方では、前記スタティックコンポーネントは、ゲーム実行中に１つの親モデルのみをレンダリングすればよく、モデル数が大きいことに起因するメモリ負荷及びレンダリング負荷を大幅に軽減する。
【００４５】
代替的な実施態様において、前記サブモデルの情報は、前記親モデルの範囲内における前記サブモデルの識別情報を含む第１のローカル識別子を含み、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子を特定することは、
前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を取得することと、
前記親モデルの第１のグローバル識別子及び前記サブモデルの前記第１のローカル識別子に基づいて、前記シーングローバル識別子を特定することと、を含む。
【００４６】
前に述べたように、sub_destroy_id（即ち、第１のローカル識別子）は、サブモデルの合成時に生成され、サブモデルを親モデルの範囲内で一意に識別するためのものである。ゲームシーンの編集時に、親モデルを用いてシーン配置を行い、配置する際に、親モデルのために１つのdestroy_id（即ち、第１のグローバル識別子）を生成し、親モデルのdestroy_idとサブモデルのsub_destroy_idとにより、サブモデルを正確に位置決めするためのfull_destroy_id（即ち、シーングローバル識別子）を生成することができる。
【００４７】
代替的な実施態様において、前記方法は、さらに、
前記スタティックコンポーネントに対応する前記親モデルをロードする際に、前記親モデルを構成する前記サブモデルに対応するサブコライダーを、ゲームエンジンの物理システムに入れることと、
前記スタティックコンポーネントに対する物理イベントに応答して、前記物理イベントが対象とする前記スタティックコンポーネントに対応する前記親モデルの前記第１のグローバル識別子を取得することと、
前記ゲームエンジンによって前記物理イベントがヒットした対象サブコライダーを検出し、前記対象サブコライダーに対応する対象サブモデルの前記第１のローカル識別子を取得することと、
前記親モデルの前記第１のグローバル識別子及び前記対象サブモデルの第１のローカル識別子に基づいて、前記対象サブモデルのシーングローバル識別子を得ることと、
前記対象サブモデルのシーングローバル識別子に基づいて前記対象サブモデルの位置決めを行い、前記対象サブモデルを「隠蔽」とマークすることと、を含む。
【００４８】
仮想オブジェクトがスタティックコンポーネントに対して分解等の物理攻撃（即ち、スタティックコンポーネントに対する物理イベント）を行う時、ゲームエンジンによって物理イベントがヒットした対象サブコライダーを検出し、例えば、ゲームエンジンによる物理検出により攻撃範囲内のサブコライダーを検出して特定することができ、そのうえ、分解されるサブコンポーネントに対応するサブモデルを特定することにより、仮想オブジェクトがスタティックコンポーネントを部分分解する効果を実現するために、前記スタティックコンポーネントに対応する前記親モデルをロードする際に、前記親モデルを構成する前記サブモデルに対応するサブコライダーを、ゲームエンジンの物理システムに入れる必要がある。
【００４９】
仮想オブジェクトがスタティックコンポーネントに対して分解等の物理攻撃を行ったと検出された場合、ゲームにおける物理エンジン、例えば、SweepTest又はRayTestによって攻撃範囲内のサブコライダーを検出し、その後、サブコライダーに記録されたsub_destroy_id及び親モデルのdestroy_idに基づいて、例えば、上述した実施態様に記載の予め設定されたルールによりfull_destroy_id（即ち、シーングローバル識別子）を得て、full_destroy_idによって親モデルの対象サブモデルのマッチングを行い、該対象サブモデルを「隠蔽」とマークする。また、サブコライダーがサブモデルそのものにアクセスできるように、サブコライダーをゲームエンジンの物理システムに入れる際に、サブコライダーに自分自身へのポインタを追加することができる。
【００５０】
代替的な実施態様において、前記方法は、さらに、
レンダリングすべき前記スタティックコンポーネントと前記ゲームの仮想カメラとの距離が、予め設定された値よりも大きいと検出された場合、前記スタティックコンポーネントがあるスタティックコンポーネントの組み合わせに対応する低精度マスターモデルをロードし、前記スタティックコンポーネントの組み合わせは、予め設定された数の前記スタティックコンポーネントの組み合わせであり、前記低精度マスターモデルは、前記サブモデルの低精度バージョンである低精度サブモデルを合成してなることと、
前記低精度マスターモデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子を特定することと、
予め設定された方式により前記低精度マスターモデルのうち「隠蔽」とマークされていない部分をレンダリングすることと、を含む。
【００５１】
レンダリングすべき前記スタティックコンポーネントと前記ゲームの仮想カメラとの距離が、予め設定された値よりも大きいと検出された場合、即ち、レンダリングすべきスタティックコンポーネントが遠くにあると検出された場合、ＬＯＤメカニズムを呼び出し、低精度モデルを用いてレンダリングし、前記低精度マスターモデルは、複数のスタティックコンポーネントの低精度サブモデルを合成してなる。
【００５２】
代替的な実施態様において、前記方法は、さらに、
前記物理イベントが対象とする前記スタティックコンポーネントと前記仮想カメラとの距離が、予め設定された値よりも大きいと検出された場合、前記スタティックコンポーネントがある前記スタティックコンポーネントの組み合わせに対応する前記低精度マスターモデルの第２のグローバル識別子を取得し、前記第２のグローバル識別子は、前記ゲームシーンにおける前記低精度マスターモデルの識別情報を含むことと、
前記ゲームエンジンによって前記物理イベントがヒットした対象サブコライダーを検出し、前記対象サブコライダーに対応する前記低精度対象サブモデルの前記第２のローカル識別子を取得し、前記第２のローカル識別子は、前記低精度マスターモデルの範囲内における前記低精度対象サブモデルの識別情報を含むことと、
前記第２のグローバル識別子及び前記低精度対象サブモデルの前記第２のローカル識別子に基づいて、前記対象サブモデルのシーングローバル識別子を得て、前記対象サブモデルを「隠蔽」とマークすることと、を含む。
【００５３】
物理イベントが対象とするスタティックコンポーネントが遠くにあり、かつ、仮想オブジェクトから分解等の物理攻撃（即ち、物理イベント）を受けたと検出された場合、ゲームエンジンによって物理イベントがヒットした対象サブコライダーを検出し、例えば、ゲームにおける物理エンジンによって攻撃範囲内の対象サブコライダーを検出し、その後、対象サブコライダーに記録された第２のローカル識別子及びマスターモデルから低精度対象サブモデルのシーングローバル識別子を得て、該対象サブモデルを「隠蔽」とマークする。
【００５４】
代替的な実施態様において、前記方法は、さらに、
前記ゲームの他のクライアントがゲームシーンレンダリングを行う時に、「隠蔽」とマークされる前記サブモデルを隠すように、「隠蔽」とマークされる前記サブモデルの前記シーングローバル識別子を前記ゲームのサーバに同期させ、前記サーバを介して前記他のクライアントにブロードキャストすること、を含む。
【００５５】
上述した実施態様によれば、分解されたスタティックコンポーネントのサブコンポーネントに対応するサブモデルのシーングローバル識別子をサーバに同期させ、他のゲームプレーヤ（即ち、ユーザ）に対応するゲームクライアントにブロードキャストすることができ、他のゲームプレーヤに対応するゲームクライアントは、該シーングローバル識別子に基づいて対応するサブモデルを削除する。
【００５６】
代替的な実施態様において、前記予め設定された方式は、連続レンダリングメカニズムである。
【００５７】
スタティックコンポーネントの親モデルをレンダリングする場合、「隠蔽」とマークされるサブモデルのレンダリングをとばし、残った分解されていない部分について連続レンダリングメカニズムを利用すれば、レンダリングの消耗を最小限に抑えることができるため、モデル数が大きいことに起因するレンダリング負荷を大幅に軽減する。
【００５８】
１つのモデルをレンダリングする際に、まず頂点バッファＶＢ、インデックスバッファＩＢを提出し、シェーダshaderをバインディングし、シェーダshaderパラメータを設定し、そして、レンダリング状態を設定し、最後に描画命令を呼び出す。例えば、親モデルに対応するスタティックコンポーネントが仮想オブジェクトによって分解されていなければ、親モデルは完全たるものであり、上述したレンダリングフローを一度だけ実行すればよい。一方、親モデルに対応するスタティックコンポーネントが部分分解された場合、親モデルの一部が隠れる必要があり、もともと全体としての親モデルは、複数の連続しない部分に分解され、その分、上述したレンダリングフローを何度も実行する必要があり、これは、中央処理装置（Central Processing Processor、単にＣＰＵという）とグラフィックス処理ユニット(Graphics Processing Unit、単にＧＰＵという)の通信冗長化を招き、レンダリング負荷が大きくなる。
【００５９】
しかしながら、連続レンダリングメカニズムを利用した後、一部が隠れている親モデル（対応するスタティックコンポーネントが部分分解された）について、上述したレンダリングフローにおいて、ＶＢ、ＩＢの提出、shaderのバインディングやshaderパラメータの設定、レンダリング状態の設定は、それぞれ一度だけ実行すればよい。一方、もともと全体としての親モデルが分解された連続しない複数の部分について、それぞれ描画命令を呼び出し、ＩＢの一部へのレンダリングを指定し、このようにして、ＣＰＵとＧＰＵの通信冗長化を大幅に軽減し、レンダリング効率を大幅に向上させる。
【００６０】
代替的な実施態様において、前記低精度マスターモデルが隠蔽部分によって分割された数が予め設定された値を超えた場合、前記低精度マスターモデルが一度のレンダリング呼び出しでレンダリングを完了するように、前記低精度マスターモデルのインデックス再配置をトリガーする。
【００６１】
遠くにあるＬＯＤモデルの一部が分解された場合、通常、ＬＯＤビッグモデルにおいて分解された部分を位置決めして隠蔽にして表示する必要がある。ＬＯＤモデルが大きく、一定数分解した後、モデル全体は、多くの細かい部分に分割されるため、レンダリングＤＰ（レンダリング呼び出し）数がかなり増える。ＤＰ数の増加を抑えるために、分隔数が一定量を超えた場合、モデルのインデックス再配置をトリガーするので、残った物体は、一つのＤＰによってレンダリングを完了される。初期状態の頂点バッファ及びインデックスバッファの対応関係は、図５における点線矢印に示すようなものであり、レンダリング命令が出された後、インデックスバッファのうち３つのインデックス値ごとに頂点バッファ内の３つの頂点にインデックス付けされ、三角形を形成してレンダリングされる。インデックス方式を利用する理由は、まず、頂点が共有され、２つの隣り合う三角形は２つの頂点が共有され、ＶＢで２つの頂点のデータ量を節約することができ、頂点データは、通常、大きく、例えば、一般的には、位置座標、法線、テクスチャ座標、接線などを含むことにある。インデックス方式を利用することで、データ量を大幅に低減することができる。
【００６２】
図５に示すように、インデックス３，４，５に対応するサブモデル（即ち、それぞれがＰ３，Ｐ４，Ｐ５である）を表示しなくてもよい（即ち、対応するサブコンポーネントが仮想オブジェクトにより分解される）とする。１つのＤＰは、インデックスデータが連続したものでなければならないため、この場合、２つのＤＰ(Idx０-Idx１-Idx２，Idx６-Idx７-Idx８)が必要とされる。再配置閾値が１である場合は、親モデルが隠蔽部分によって２つ以上の連続領域に分割されていれば、インデックス再配置をトリガーし、この時、ＩＢを再配置するようにトリガーし、再配置した後、ＩＢは連続しているため、１つのＤＰで描画を完了することができる。再配置後の頂点バッファ及びインデックスバッファの対応関係は、図５における実線矢印に示すようなものである。
【００６３】
明らかなように、閾値が小さくなるにつれ、再配置が頻繁に行われ、大きすぎれば、ＤＰを減らす機能が生じないため、閾値は、ゲームの具体的な状況に応じて設定される必要がある。
【００６４】
この例示的な実施例において、ゲームシーンにおけるスタティックコンポーネントの処理装置がさらに開示されている。なお、該実施例のゲームシーンにおけるスタティックコンポーネントの処理装置は、本開示の実施例に係るゲームシーンにおけるスタティックコンポーネントの処理方法を実行するために用いられることができる。該ゲームシーンにおけるスタティックコンポーネントの処理装置は、１つ又は複数のプロセッサと、プログラムユニットを記憶する１つまたは複数の記憶装置とを備え、前記プログラムユニットは前記プロセッサによって実行され、前記プログラムユニットは、取得モジュール、第１の処理モジュール、記録モジュール及び第２の処理モジュールを有する。
【００６５】
取得モジュールは、前記スタティックコンポーネントのサブコンポーネントに対応するサブモデルを取得するように構成される。
【００６６】
第１の処理モジュールは、前記サブモデルを合成して、前記スタティックコンポーネントに対応する親モデルを得るとともに、前記親モデルの範囲内における前記サブモデルの識別情報を含む、前記サブモデルの第１のローカル識別子を生成する。
【００６７】
記録モジュールは、第１のローカル識別子を含む前記サブモデルの情報を、前記親モデルのモデルファイルに記録するように構成される。
【００６８】
第２の処理モジュールは、前記親モデルを用いて前記ゲームシーンを編集し、前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を生成するように構成され、前記第１のグローバル識別子及び前記第１のローカル識別子は、前記ゲームシーンにおける前記サブモデルの識別情報を含む、前記サブモデルのシーングローバル識別子を取得するために用いられる。
【００６９】
なお、ここで、上述した取得モジュール、第１の処理モジュール、記録モジュール及び第２の処理モジュールは、装置の一部として端末に実行されることができ、端末におけるプロセッサによって、上述したモジュールで実現される機能を実行することができ、端末は、スマートフォン（例えば、Android携帯電話、ｉＯＳ携帯電話等）、タブレットコンピュータ、パームトップコンピュータ、及びモバイルインターネットデバイス（Mobile Internet Devices、ＭＩＤ）、ＰＡＤ等の端末機器であってもよい。
【００７０】
上述した実施例では、各モジュールユニットの詳細について、対応するゲームシーンにおけるスタティックコンポーネントの処理方法で詳しく説明した。また、ゲームシーンにおけるスタティックコンポーネントの処理装置は、ゲームシーンにおけるスタティックコンポーネントの処理方法に対応する他のユニットモジュールをさらに備えることは、理解されるため、ここではその詳細な説明を省略する。
【００７１】
この例示的な実施例において、ゲームシーンにおけるスタティックコンポーネントのレンダリング装置がさらに開示されている。なお、該実施例に係るゲームシーンにおけるスタティックコンポーネントのレンダリング装置は、本開示の実施例に係るゲームシーンにおけるスタティックコンポーネントのレンダリング方法を実行するために用いられることができる。
【００７２】
図６は、本開示の一実施例に係るゲームシーンにおけるスタティックコンポーネントのレンダリング装置の構成図であり、前記ゲームシーンに複数の前記スタティックコンポーネントが含まれており、前記スタティックコンポーネントは２つ以上のサブコンポーネントからなり、該ゲームシーンにおけるスタティックコンポーネントのレンダリング装置は、１つ又は複数のプロセッサと、プログラムユニットを記憶する１つまたは複数の記憶装置とを備え、前記プログラムユニットは前記プロセッサによって実行され、前記プログラムユニットは、ロードモジュール６０１、特定モジュール６０２及びレンダリングモジュール６０３を有する。図６に示すように、前記装置６００は、
前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードするように構成されるロードモジュール６０１と、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定するように構成される特定モジュール６０２と、
予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングするように構成されるレンダリングモジュール６０３と、を有する。
【００７３】
なお、ここで、上述したロードモジュール６０１、特定モジュール６０２及びレンダリングモジュール６０３は、装置の一部として端末にて実行されることができ、端末におけるプロセッサによって、上述したモジュールで実現される機能を実行することができる。
【００７４】
上述した実施態様によれば、前記スタティックコンポーネントに対応する前記親モデルをロードし、前記親モデルのモデルファイルに前記サブモデルの情報が記録されており、「隠蔽」とマークされる前記サブモデルのシーングローバル識別子に基づいて、予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングし、これにより、スタティックコンポーネントの一部を隠すレンダリング効果を達成できる一方、モデル数が大きいことに起因するメモリ及びレンダリングの負荷を効果的に軽減する。
【００７５】
上述した実施例では、各モジュールユニットの詳細について、対応するゲームシーンにおけるスタティックコンポーネントのレンダリング方法で詳しく説明した。また、ゲームシーンにおけるスタティックコンポーネントのレンダリング装置は、ゲームシーンにおけるスタティックコンポーネントのレンダリング方法に対応する他のユニットモジュールをさらに備えることは、理解されるため、ここではその詳細な説明を省略する。
【００７６】
なお、以上の詳細な説明において、動作を実行するための装置の若干のモジュール又はユニットが説明されているが、このような装置の分けは必須ではないことに留意されたい。実際には、本開示の実施態様によれば、以上で説明された２つ以上のモジュール又はユニットの特徴及び機能は、１つのモジュール又はユニットに具体化されることができる。逆に、以上で説明された１つのモジュール又はユニットの特徴及び機能は、さらに、複数のモジュール又はユニットに分けられて具体化されることができる。
【００７７】
図７は、本開示の一実施例に係る電子機器の構成を示す模式図である。図７に示すように、本実施例の電子機器７００は、記憶装置７０１とプロセッサ７０２とを備える。記憶装置７０１は、前記プロセッサの実行可能な命令を記憶し、前記実行可能な命令は、コンピュータプログラムであることができる。前記プロセッサ７０２は、前記実行可能な命令を実行することにより、
前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードするステップと、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定するステップと、
予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングするステップと、を実現するように構成される。
【００７８】
任意選択で、前記サブモデルの情報は、前記親モデルの範囲内における前記サブモデルの識別情報を含む第１のローカル識別子を含み、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子を特定することは、
前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を取得することと、
前記親モデルの第１のグローバル識別子及び前記サブモデルの前記第１のローカル識別子に基づいて、前記シーングローバル識別子を特定することと、を含んでもよい。
【００７９】
任意選択で、前記スタティックコンポーネントに対応する前記親モデルをロードする際に、前記親モデルを構成する前記サブモデルに対応するサブコライダーを、ゲームエンジンの物理システムに追加し、
前記スタティックコンポーネントに対する物理イベントに応答して、前記物理イベントが対象とする前記スタティックコンポーネントに対応する前記親モデルの前記第１のグローバル識別子を取得し、
前記ゲームエンジンによって前記物理イベントがヒットした対象サブコライダーを検出し、前記対象サブコライダーに対応する対象サブモデルの前記第１のローカル識別子を取得し、
前記親モデルの前記第１のグローバル識別子及び前記対象サブモデルの第１のローカル識別子に基づいて、前記対象サブモデルのシーングローバル識別子を得て、
前記対象サブモデルのシーングローバル識別子に基づいて前記対象サブモデルの位置決めを行い、前記対象サブモデルを「隠蔽」とマークするようにしてもよい。
【００８０】
任意選択で、レンダリングすべき前記スタティックコンポーネントと前記ゲームの仮想カメラとの距離が、予め設定された値よりも大きいと検出された場合、前記スタティックコンポーネントがある予め設定された数のスタティックコンポーネントの組み合わせに対応する低精度マスターモデルであって、前記サブモデルの低精度バージョンである低精度サブモデルを合成してなる低精度マスターモデルをロードし、
前記低精度マスターモデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子を特定し、
予め設定された方式により前記低精度マスターモデルのうち「隠蔽」とマークされていない部分をレンダリングするようにしてもよい。
【００８１】
任意選択で、前記物理イベントが対象とする前記スタティックコンポーネントと前記仮想カメラとの距離が、予め設定された値よりも大きいと検出された場合、前記スタティックコンポーネントがある前記スタティックコンポーネントの組み合わせに対応する前記低精度マスターモデルの第２のグローバル識別子であって、前記ゲームシーンにおける前記低精度マスターモデルの識別情報を含む第２のグローバル識別子を取得し、
前記ゲームエンジンによって前記物理イベントがヒットした対象サブコライダーを検出し、前記対象サブコライダーに対応する前記低精度対象サブモデルの前記第２のローカル識別子であって、前記低精度マスターモデルの範囲内における前記低精度対象サブモデルの識別情報を含む前記第２のローカル識別子を取得し、
前記第２のグローバル識別子及び前記低精度対象サブモデルの前記第２のローカル識別子に基づいて、前記対象サブモデルのシーングローバル識別子を得て、前記対象サブモデルを「隠蔽」とマークするようにしてもよい。
【００８２】
任意選択で、前記ゲームの他のクライアントがゲームシーンレンダリングを行う時に、「隠蔽」とマークされる前記サブモデルを隠すように、「隠蔽」とマークされる前記サブモデルの前記シーングローバル識別子を前記ゲームのサーバに同期させ、前記サーバを介して前記他のクライアントにブロードキャストするようにしてもよい。
【００８３】
任意選択で、前記予め設定された方式は、連続レンダリングメカニズムであってもよい。
【００８４】
任意選択で、前記低精度マスターモデルが隠蔽部分によって分割された数が予め設定された値を超えた場合、前記低精度マスターモデルが一度のレンダリング呼び出しでレンダリングを完了するように、前記低精度マスターモデルのインデックス再配置をトリガーしてもよい。
【００８５】
任意選択で、本実施例における具体例について、上述した実施例に説明された例を参照することができ、本実施例は、ここでその詳細な説明を省略する。
【００８６】
上述した実施態様によれば、前記スタティックコンポーネントに対応する前記親モデルをロードし、前記親モデルのモデルファイルに前記サブモデルの情報が記録されており、「隠蔽」とマークされる前記サブモデルのシーングローバル識別子に基づいて、予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングし、これにより、スタティックコンポーネントの一部を隠すレンダリング効果を達成できる一方、モデル数が大きいことに起因するメモリ及びレンダリングの負荷を効果的に軽減する。
【００８７】
代替的な実施態様において、前記電子機器は、１つ又は複数のプロセッサと、処理コンポーネントで実行可能な命令、例えば、アプリケーションプログラムを記憶するための、記憶装置を代表とする記憶装置リソースとをさらに備えてもよい。記憶装置に記憶されるアプリケーションプログラムは、それぞれ１群の命令に対応する１つ以上のモジュールを有してもよい。また、処理コンポーネントは、上述した情報処理方法を実行するように、命令を実行するように構成される。
【００８８】
該電子機器は、電子機器の電源管理を実行するように構成される電源コンポーネントと、電子機器をネットワークに接続するように構成される有線又は無線ネットワークインターフェースと、入出力（Ｉ／Ｏ）インターフェースと、をさらに備えてもよい。該電子機器は、記憶装置に記憶される操作システム、例えば、Android、iOS、Windows、Mac OS X、Unix、Linux（登録商標）、FreeBSDのようなものに基づいて動作することができる。
【００８９】
図７に示す構造は、一例に過ぎず、電子機器は、スマートフォン、タブレットコンピュータ、パームトップコンピュータ、及びモバイルインターネットデバイス（Mobile Internet Devices、ＭＩＤ）、ＰＡＤ等の電子装置であってもよいことは、当業者が理解することができる。図７は、上述した電子機器の構造を制限しない。例えば、電子機器は、図７に示すものよりも多いか少ないコンポーネント（例えば、ネットワークインターフェース、表示装置等）をさらに含むか、或いは、図７に示すものと異なる構成を有してもよい。
【００９０】
図８は、本開示の一実施例に係る記憶媒体の構成を示す模式図である。図８に示すように、本開示の実施態様によるプログラム製品８００を説明し、それにはコンピュータプログラムが記憶されており、前記コンピュータプログラムは、プロセッサによって実行されると、
前記２つ以上のサブコンポーネントに対応する２つ以上のサブモデルを合成してなる親モデルであって、モデルファイルに前記サブモデルの情報が記録されている、前記スタティックコンポーネントに対応する親モデルをロードするステップと、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子であって、前記ゲームシーンにおける前記サブモデルの識別情報を含むシーングローバル識別子を特定するステップと、
予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングするステップと、のプログラムコードが実現される。
【００９１】
任意選択で、前記サブモデルの情報は、前記親モデルの範囲内における前記サブモデルの識別情報を含む第１のローカル識別子を含み、
前記親モデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子を特定することは、
前記ゲームシーンにおける前記親モデルの識別情報を含む、前記親モデルの第１のグローバル識別子を取得することと、
前記親モデルの第１のグローバル識別子及び前記サブモデルの前記第１のローカル識別子に基づいて、前記シーングローバル識別子を特定することと、を含んでもよい。
【００９２】
任意選択で、前記スタティックコンポーネントに対応する前記親モデルをロードする際に、前記親モデルを構成する前記サブモデルに対応するサブコライダーを、ゲームエンジンの物理システムに追加し、
前記スタティックコンポーネントに対する物理イベントに応答して、前記物理イベントが対象とする前記スタティックコンポーネントに対応する前記親モデルの前記第１のグローバル識別子を取得し、
前記ゲームエンジンによって前記物理イベントがヒットした対象サブコライダーを検出し、前記対象サブコライダーに対応する対象サブモデルの前記第１のローカル識別子を取得し、
前記親モデルの前記第１のグローバル識別子及び前記対象サブモデルの第１のローカル識別子に基づいて、前記対象サブモデルのシーングローバル識別子を得て、
前記対象サブモデルのシーングローバル識別子に基づいて前記対象サブモデルの位置決めを行い、前記対象サブモデルを「隠蔽」とマークするようにしてもよい。
【００９３】
任意選択で、レンダリングすべき前記スタティックコンポーネントと前記ゲームの仮想カメラとの距離が、予め設定された値よりも大きいと検出された場合、前記スタティックコンポーネントがある予め設定された数のスタティックコンポーネントの組み合わせに対応する低精度マスターモデルであって、前記サブモデルの低精度バージョンである低精度サブモデルを合成してなる低精度マスターモデルをロードし、
前記低精度マスターモデルのうち「隠蔽」とマークされる前記サブモデルのシーングローバル識別子を特定し、
予め設定された方式により前記低精度マスターモデルのうち「隠蔽」とマークされていない部分をレンダリングするようにしてもよい。
【００９４】
任意選択で、前記物理イベントが対象とする前記スタティックコンポーネントと前記仮想カメラとの距離が、予め設定された値よりも大きいと検出された場合、前記スタティックコンポーネントがある前記スタティックコンポーネントの組み合わせに対応する前記低精度マスターモデルの第２のグローバル識別子であって、前記ゲームシーンにおける前記低精度マスターモデルの識別情報を含む第２のグローバル識別子を取得し、
前記ゲームエンジンによって前記物理イベントがヒットした対象サブコライダーを検出し、前記対象サブコライダーに対応する前記低精度対象サブモデルの前記第２のローカル識別子であって、前記低精度マスターモデルの範囲内における前記低精度対象サブモデルの識別情報を含む第２のローカル識別子を取得し、
前記第２のグローバル識別子及び前記低精度対象サブモデルの前記第２のローカル識別子に基づいて、前記対象サブモデルのシーングローバル識別子を得て、前記対象サブモデルを「隠蔽」とマークするようにしてもよい。
【００９５】
任意選択で、前記ゲームの他のクライアントがゲームシーンレンダリングを行う時に、「隠蔽」とマークされる前記サブモデルを隠すように、「隠蔽」とマークされる前記サブモデルの前記シーングローバル識別子を前記ゲームのサーバに同期させ、前記サーバを介して前記他のクライアントにブロードキャストするようにしてもよい。
【００９６】
任意選択で、前記予め設定された方式は、連続レンダリングメカニズムであってもよい。
【００９７】
任意選択で、前記低精度マスターモデルが隠蔽部分によって分割された数が予め設定された値を超えた場合、前記低精度マスターモデルが一度のレンダリング呼び出しでレンダリングを完了するように、前記低精度マスターモデルのインデックス再配置をトリガーしてもよい。
【００９８】
任意選択で、本実施例における具体例は、上述した実施例に説明される例を参考することができ、本実施例は、ここでその詳細な説明を省略する。
【００９９】
上述した実施態様によれば、前記スタティックコンポーネントに対応する前記親モデルをロードし、前記親モデルのモデルファイルに前記サブモデルの情報が記録されており、「隠蔽」とマークされる前記サブモデルのシーングローバル識別子に基づいて、予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングし、これにより、スタティックコンポーネントの一部を隠すレンダリング効果を達成できる一方、モデル数が大きいことに起因するメモリ及びレンダリングの負荷を効果的に軽減する。
【０１００】
上述した実施態様によれば、前記スタティックコンポーネントに対応する前記親モデルをロードし、前記親モデルのモデルファイルに前記サブモデルの情報が記録されており、「隠蔽」とマークされる前記サブモデルのシーングローバル識別子に基づいて、予め設定された方式により前記親モデルのうち「隠蔽」とマークされていない部分をレンダリングし、これにより、スタティックコンポーネントの一部を隠すレンダリング効果を達成できる一方、モデル数が大きいことに起因するメモリ及びレンダリングの負荷を効果的に軽減する。
【０１０１】
コンピュータ読み取り可能な記憶媒体は、ベースバンド中又は搬送波の一部として伝播され、読み取り可能なプログラムコードが付加されたデータ信号を含むことができる。このように伝播されたデータ信号は、様々な形態であることができ、電磁信号、光信号又は上述した任意の組合せを含むが、これに限定されない。コンピュータ読み取り可能な記憶媒体は、指令実行システム、装置又はデバイスに使用されたり、それと組み合わせて使用されるプログラムを送信、伝播又は伝送することができる。
【０１０２】
コンピュータ読み取り可能な記憶媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されることができ、無線、有線、光ファイバケーブル、ＲＦ等、又は、上述した任意の適切な組合せを含むが、これに限定されない。
【０１０３】
以上の実施態様で説明したように、ここに説明される例示的な実施態様は、ソフトウェアによって実現されることができるし、ソフトウェア及び必要なハードウェアの組み合わせによって実現されることもできることは、当業者が容易に理解することができる。このため、本開示の実施態様による技術的構成は、ソフトウェア製品の形で体現されることができ、このソフトウェア製品は、不揮発性記憶媒体（ＣＤ−ＲＯＭ、ＵＳＢフラッシュディスク、携帯型ハードディスク等であってもよい）又はネットワークに記憶されることができ、計算機器（パーソナルコンピュータ、サーバ、電子機器、又はネットワークデバイス等であってもよい）に本開示の実施態様による方法を実行させる若干の指令を含む。
【０１０４】
上述した実施例の各種方法におけるステップの一部又は全部は、プログラムによってゲームシーンにおけるスタティックコンポーネントの処理装置及びレンダリング装置の関連するハードウェアを命令して完成させることができ、このプログラムが読み取り可能な記憶媒体に記憶されることができ、記憶媒体は、フラッシュディスク、リードオンリーメモリ（Read-Only Memory、ＲＯＭ）、ランダムアクセスメモリ（Random Access Memory、ＲＡＭ）、磁気ディスク又は光ディスク等を含みうると、当業者が理解することができる。
【０１０５】
以上、図面を参照しつつ、本開示によるゲームシーンにおけるスタティックコンポーネントの処理方法、レンダリング方法および装置を例示的に説明した。しかし、上記本開示に提案されるゲームシーンにおけるスタティックコンポーネントの処理方法、レンダリング方法および装置について、さらに、本開示の内容から逸脱しない限り様々な改良が可能であると、当業者が理解すべきである。それゆえ、記載した特許請求の範囲の内容に基づいて本開示の保護範囲が定められるべきである。
【０１０６】
当業者は明細書及びここで公開した開示を実施した後、本発明の他の実施例を容易に想到できる。本願は本発明の全ての変形、用途または適応性変化を含み、これらの変形、用途または適応性変化は、本開示の一般的な原理に準じて、本開示には開示されていない本分野の周知技術または慣用の技術手段を含む。明細書と実施例は例示的なもので、本発明の保護範囲は特許請求の範囲によって限定される。
【０１０７】
本開示は、以上に説明され図面に示されている正確な構造に限定されず、その範囲から逸脱しない限り、様々な修正や変化が可能である。本開示の範囲は、添付される請求項によって制限される。
【産業上の利用可能性】
【０１０８】
本開示の実施例において、スタティックコンポーネントに対応する親モデルをロードし、親モデルのモデルファイルにサブモデルの情報が記憶されており、「隠蔽」とマークされるサブモデルのシーングローバル識別子に基づいて、予め設定された方式により親モデルのうち「隠蔽」とマークされていない部分をレンダリングし、これにより、スタティックコンポーネントの一部を隠すレンダリング効果を達成できる一方、モデル数が大きいことに起因するメモリ及びレンダリングの負荷を効果的に軽減する。
【図１】
2021513404.tif 000003
【図２】
2021513404.tif 000004
【図３】
2021513404.tif 000005
【図４】
2021513404.tif 000006
【図５】
2021513404.tif 000007
【図６】
2021513404.tif 000008
【図７】
2021513404.tif 000009
【図８】
2021513404.tif 000010
【国際調査報告】
2021513404.tif 000011
2021513404.tif 000012
2021513404.tif 000013
2021513404.tif 000014