(57)【要約】【課題】オブジェクトの透過処理に係る処理負荷を軽減する。【解決手段】プログラムは、情報処理装置に、１又は複数の第２オブジェクトが配置された仮想空間内で、第１オブジェクトの移動を制御する移動制御ステップと、仮想空間を俯瞰する所定視点と、所定視点から前記第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトとの距離に基づいて、表示画面に描画する各オブジェクトの描画順を決定する決定ステップと、表示画面の各画素の深度バッファの値を用いて、描画順で、各オブジェクトを表示画面に対応する各画素に描画する描画ステップと、第１オブジェクトを描画する前、又は描画した後に、透過領域内の各画素の深度バッファの値を、所定視点と前記第１オブジェクトとの間に配置された第２オブジェクトに関係なく第１オブジェクトが表示画面に表示される値に調整する調整ステップと、を実行させる。【選択図】図１８
2020087016.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置に、
表示画面に表示された第１オブジェクトの移動を、１又は複数の第２オブジェクトが配置された仮想空間内で制御する移動制御ステップと、
前記仮想空間を俯瞰する所定視点と、該所定視点から前記第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトとの距離に基づいて、前記表示画面に描画する前記各オブジェクトの描画順を決定する決定ステップと、
前記表示画面に対応する各画素の深度バッファの値を用いて、前記描画順で、前記各オブジェクトを前記表示画面の各画素に描画する描画ステップと、
前記第１オブジェクトを描画する前、又は描画した後に、前記第１オブジェクトが前記表示画面に描画される領域の少なくとも一部を含む透過領域内の各画素の深度バッファの値を、前記所定視点と前記第１オブジェクトとの間に配置された第２オブジェクトに関係なく前記第１オブジェクトが前記表示画面に表示される値に調整する調整ステップと、を実行させるプログラム。
【請求項２】
前記第２オブジェクトに、前記深度バッファの値の調整が可能か否かを示す調整可否データが関連付けられる場合、
前記描画ステップは、
前記第２オブジェクトを前記表示画面の各画素に描画する際に、該第２オブジェクトの前記調整可否データが調整不可を示す場合、前記第２オブジェクトが描画された各画素の深度バッファに、調整不可を示す不可データを関連付けるステップを含み、
前記調整ステップは、
前記不可データが関連付けられた画素の深度バッファの値を調整しないステップを含む、請求項１に記載のプログラム。
【請求項３】
前記決定ステップは、
前記所定視点と前記第１オブジェクトとの間に前記第２オブジェクトがある場合、前記第１オブジェクトの直前、又は直後に透過用オブジェクトを描画するよう決定するステップを含み、
前記描画ステップは、
前記透過用オブジェクトの描画の際に、前記調整ステップを実行するステップを含む、請求項１に記載のプログラム。
【請求項４】
前記第２オブジェクトに、透過用オブジェクトが関連付けられる場合、
前記決定ステップは、
前記所定視点と前記第１オブジェクトとの間に、前記透過用オブジェクトが関連付けられた第２オブジェクトがある場合、前記透過用オブジェクトの描画順を、前記第１オブジェクトの直前、又は直後に決定するステップを含む、請求項３に記載のプログラム。
【請求項５】
前記透過領域は、前記所定視点と前記第１オブジェクトとの位置関係を用いて前記仮想空間内に配置された前記透過用オブジェクトに基づき設定される、請求項４に記載のプログラム。
【請求項６】
前記描画順が、前記第１オブジェクトよりも前記所定視点に近い各オブジェクトを優先して描画していく順である場合、
前記調整ステップは、
前記透過領域内の各画素の深度バッファの値を、前記第１オブジェクトの奥行き方向の値よりも後方の値に設定する、請求項１から５のいずれか一項に記載のプログラム。
【請求項７】
前記調整ステップは、
描画の際にニアクリッププレーン及びファークリッププレーンが用いられる場合、前記透過領域内の各画素の深度バッファの値を、前記ファークリッププレーンより所定値前方の値に設定する、請求項６に記載のプログラム。
【請求項８】
前記描画順が、前記第１オブジェクトよりも前記所定視点から遠い各オブジェクトを優先して描画していく順である場合、
前記調整ステップは、
前記透過領域内の各画素の深度バッファの値を、最も前方に位置する前記第２オブジェクトの奥行き方向の値よりも前方の値に設定する、請求項１から５のいずれか一項に記載のプログラム。
【請求項９】
前記調整ステップは、
描画の際にニアクリッププレーン及びファークリッププレーンが用いられる場合、前記透過領域内の各画素の深度バッファの値を、前記ニアクリッププレーンより所定値後方の値に設定する、請求項８に記載のプログラム。
【請求項１０】
前記透過用オブジェクトに対するＲＧＢ値は、値が設定されていない、請求項４に記載のプログラム。
【請求項１１】
前記透過用オブジェクトは、関連付けられる第２オブジェクトに応じて異なる、請求項４に記載のプログラム。
【請求項１２】
情報処理装置が、
表示画面に表示された第１オブジェクトの移動を、１又は複数の第２オブジェクトが配置された仮想空間内で制御する移動制御ステップと、
前記第１オブジェクトの移動に応じて決定された所定視点と、該所定視点から前記第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトとの距離に基づいて、前記表示画面に描画する前記各オブジェクトの描画順を決定する決定ステップと、
前記表示画面に対応する各画素の深度バッファの値を用いて、前記描画順で、前記各オブジェクトを前記表示画面の各画素に描画する描画ステップと、
前記第１オブジェクトを描画する前、又は描画した後に、前記第１オブジェクトが前記表示画面に描画される領域の少なくとも一部を含む透過領域内の各画素の深度バッファの値を、前記所定視点と前記第１オブジェクトとの間に配置された第２オブジェクトに関係なく前記第１オブジェクトが前記表示画面に表示される値に調整する調整ステップと、
を実行する情報処理方法。
【請求項１３】
表示画面に表示された第１オブジェクトの移動を、１又は複数の第２オブジェクトが配置された仮想空間内で制御する移動制御部と、
前記第１オブジェクトの移動に応じて決定された所定視点と、該所定視点から前記第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトとの距離に基づいて、前記表示画面に描画する前記各オブジェクトの描画順を決定する決定部と、
前記表示画面に対応する各画素の深度バッファの値を用いて、前記描画順で、前記各オブジェクトを前記表示画面の各画素に描画する描画部と、
前記第１オブジェクトを描画する前、又は描画した後に、前記第１オブジェクトが前記表示画面に描画される領域の少なくとも一部を含む透過領域内の各画素の深度バッファの値を、前記所定視点と前記第１オブジェクトとの間に配置された第２オブジェクトに関係なく前記第１オブジェクトが前記表示画面に表示される値に調整する調整部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理方法及び情報処理装置に関する。
【背景技術】
【０００２】
近年、スマートフォンなどの携帯端末向けのゲームをダウンロードし、携帯端末でゲームを楽しむゲームシステムが知られている。これらのゲームの中には、プレイヤが操作するプレイヤキャラクタを表示画面内で視認させるため、仮想視点からプレイヤキャラクタまでの間にある障害物を透過させる技術がある。例えば、障害物が仮想視点から見てオブジェクト（プレイヤキャラクタ）の前面にあり、オブジェクトを隠していると判定した場合に、透過処理を実行する技術が開示されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開３１４１７３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、所定のオブジェクトを表示画面に視認させるため、上述した重なり判定を行い、障害物の透過処理を実行することは、透過処理に係る処理負荷が大きいという課題があった。
【０００５】
そこで、本発明は、オブジェクトの透過処理に係る処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様におけるプログラムは、情報処理装置に、表示画面に表示された第１オブジェクトの移動を、１又は複数の第２オブジェクトが配置された仮想空間内で制御する移動制御ステップと、前記仮想空間を俯瞰する所定視点と、該所定視点から前記第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトとの距離に基づいて、前記表示画面に描画する前記各オブジェクトの描画順を決定する決定ステップと、前記表示画面に対応する各画素の深度バッファの値を用いて、前記描画順で、前記各オブジェクトを前記表示画面の各画素に描画する描画ステップと、前記第１オブジェクトを描画する前、又は描画した後に、前記第１オブジェクトが前記表示画面に描画される領域の少なくとも一部を含む透過領域内の各画素の深度バッファの値を、前記所定視点と前記第１オブジェクトとの間に配置された第２オブジェクトに関係なく前記第１オブジェクトが前記表示画面に表示される値に調整する調整ステップと、を実行させる。
【発明の効果】
【０００７】
本発明によれば、オブジェクトの透過処理に係る処理負荷を軽減することが可能となる。
【図面の簡単な説明】
【０００８】
【図１】実施形態におけるゲーム処理システムの一例を示す概念図である。
【図２】実施形態におけるゲーム装置のハードウェア構成の一実施形態を示すブロック図である。
【図３】実施形態におけるサーバのハードウェア構成の一例を示す図である。
【図４】実施形態におけるゲーム装置の機能構成の一例を示すブロック図である。
【図５】実施形態におけるサーバの機能構成の一例を示すブロック図である。
【図６】実施形態における仮想空間の簡易な一例を示す図である。
【図７】実施形態におけるオブジェクトデータの一例を示す図である。
【図８】実施形態における透過用オブジェクトの関連付けを説明するための図である。
【図９】実施形態における仮想空間の一例を示す図である。
【図１０】実施形態における深度バッファの値の調整なしの画面例を示す図である。
【図１１】実施形態における深度バッファの値の調整済みの画面例を示す図である。
【図１２】実施形態における透過処理の実現例１を示す図である。
【図１３】実施形態における透過処理の実現例２を示す図である。
【図１４】実施形態における実現例３の描画順を示す図である。
【図１５】実施形態における実現例３の深度バッファの値の調整例を示す図である。
【図１６】実施形態における実現例４の描画順を示す図である。
【図１７】実施形態における実現例４の深度バッファの値の調整例を示す図である。
【図１８】実施形態におけるゲーム装置１０の描画処理（その１）の一例を示すフローチャートである。
【図１９】実施形態におけるゲーム装置１０の描画処理（その２）の一例を示すフローチャートである。
【図２０】実施形態における描画処理（その２）の調整処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施の形態を説明する。ただし、以下に説明する実施形態は、あくまでも例示であり、以下に明示しない種々の変形や技術の適用を排除する意図はない。即ち、本発明は、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、以下の図面の記載において、同一または類似の部分には同一または類似の符号を付して表している。図面は模式的なものであり、必ずしも実際の寸法や比率等とは一致しない。図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることがある。
【００１０】
［実施形態］
以下、本発明の実施形態におけるプログラム、情報処理方法及び情報処理装置を、図面を用いて説明する。
＜ゲーム処理システムの概要＞
図１は、実施形態におけるゲーム処理システム１の一例を示す概念図である。図１に示す例では、ゲーム処理システム１は、例えば各プレイヤのゲーム装置１０Ａ、１０Ｂ、１０Ｃと、例えばゲーム運営会社により提供されるサーバ（情報処理装置）２０と、がネットワークＮを介して接続される。
【００１１】
各ゲーム装置は、個別に区別して説明する場合には符号１０Ａ、１０Ｂ、１０Ｃを用い、個別に区別する必要がなく、まとめて説明する場合には符号１０を用いる。また、ゲーム装置１０は、例えば携帯端末や、タブレット端末、ＰＤＡ（Personal Digital Assistant）、パーソナルコンピュータ、ゲーム機などである。
【００１２】
ゲーム装置１０は、ネットワークＮを介してサーバ２０にオンライン接続し、ウェブゲームの形態でゲームプレイを実行してもよく、ゲームアプリケーションをサーバ２０からダウンロードし、オフラインでゲームプレイを実行してもよい。
【００１３】
サーバ２０は、例えば複数のプレイヤがネットワークＮを介して、基本を無料でプレイするゲーム、所謂Ｆ２Ｐのオンライゲームなどを制御する。サーバ２０は、ゲーム装置１０から入力された操作指示を受け付け、ゲームの進行を制御し、ゲームを実行するのに必要なデータを管理、配信する。
【００１４】
ネットワークＮは、インターネット等であり、無線ＬＡＮのアクセスポイントや携帯電話の基地局などを含む。
【００１５】
以上のゲーム処理システム１において、サーバ２０は、例えばプレイヤキャラクタが３次元の仮想空間（ゲーム空間）上を移動可能とするゲームをゲーム装置１０に提供し、ゲーム装置１０は、プレイヤの操作や自動移動制御に応じて、ゲーム空間上をプレイヤキャラクタが移動することでゲームを進行させる。このとき、ゲームは他のプレイヤキャラクタと対戦するゲームでもよいし、目的地を目指すゲームなどでもよい。このゲームにおいて、ゲーム装置１０は、プレイヤキャラクタの表示画面内での視認性を確保するため、障害物を透過させるようにして、プレイヤキャラクタの位置をユーザに知らせる。
【００１６】
本実施形態では、透過処理に、表示画面の各画素に設定されている深度バッファの値を用いる。具体的には、ユーザが操作する、又は自動制御される第１オブジェクトが表示画面に描画される領域の少なくとも１部を含む領域（画素群）の深度バッファの値が、この第１オブジェクトが視認される位置に設定される。一例として、仮想空間内で、仮想カメラの位置と、第１オブジェクトとの間に障害となる第２オブジェクトがあるとする。このとき、第１オブジェクトが表示画面に描画される領域を含む画素群に、先に障害物となる第２オブジェクトが描画された場合に、第２オブジェクトの画素群の深度バッファの値を第１オブジェクトの奥行き方向の座標よりも後方に設定する。これにより、仮想空間上では、障害物は、第１オブジェクトの前方にあるが、表示画面に対応する画素の深度バッファの値によれば、障害物の深度バッファの値は、第１オブジェクトよりも後方にあることを示す。したがって、第１オブジェクトが描画される際には、第１オブジェクトの奥行き方向の座標が、先に描画された第２オブジェクトの深度バッファの値よりも前方を示すので、第１オブジェクトの画素値が描画されて、第１オブジェクトが表示画面に描画される。これにより、第２オブジェクトを含む画素群の深度バッファの値を調整するだけで、透過処理を実行することができ、処理負荷を軽減することができる。
【００１７】
＜ハードウェア構成＞
次に、ゲーム装置１０のハードウェア構成について説明する。図２は、図１に示すゲーム装置１０のハードウェア構成の一実施形態を示すブロック図である。
【００１８】
図２に示すゲーム装置１０は、移動体通信用アンテナ１１２、移動体通信部１１４、無線ＬＡＮ通信用アンテナ１１６、無線ＬＡＮ通信部１１８、記憶部１２０、主制御部１５０を少なくとも有し、さらに、カメラ１３０や音声出力端子１４２を含む外部インタフェース１４０などを有する。
【００１９】
タッチパネル１０２は、表示装置および入力装置の両方の機能を備え、表示機能を担うディスプレイ（表示画面）１０２Ａと、入力機能を担うタッチセンサ１０２Ｂとで構成される。ディスプレイ１０２Ａは、例えば、液晶ディスプレイや有機ＥＬ（Electro Luminescence）ディスプレイなどの一般的な表示デバイスにより構成される。タッチセンサ１０２Ｂは、ディスプレイ１０２Ａその上面に配置された接触操作を検知するための素子およびその上に積層された透明な操作面を備えて構成される。タッチセンサ１０２Ｂの接触検知方式としては、静電容量式、抵抗膜式（感圧式）、電磁誘導式など既知の方式のうちの任意の方式を採用することができる。
【００２０】
タッチパネル１０２は、主制御部１５０による記憶部１２０に記憶されているプログラム１２２の実行により生成されるゲーム画像を表示する。入力装置としてのタッチパネル１０２は、操作面に対して接触する接触物（遊技者の指やタッチペンなどを含む。以下、「指」である場合を代表例として説明する）の動作を検知することで、操作入力を受け付け、その接触位置の情報を主制御部１５０に与える。指の動作は、接触点の位置または領域を示す座標情報として検知され、座標情報は、例えば、タッチパネル１０２の短辺方向および長辺方向の二軸上の座標値として表される。
【００２１】
主制御部１５０は、ＣＰＵ（Central Processing Unit）、又はＧＰＵ（Graphics Processing Unit）などを含み、画像処理を実行することも可能である。
【００２２】
ゲーム装置１０は、移動体通信用アンテナ１１２や無線ＬＡＮ通信用アンテナ１１６を通じてネットワーク（インターネット）Ｎに接続され、サーバ２０との間でデータ通信をすることが可能である。
【００２３】
サーバ２０は、ゲーム装置１０において実行されたゲーム等のプレイデータを、ネットワークＮを介して収集し、当該プレイデータに基づきゲームの進行を制御する等、当該ゲームシステムのハブとなるサーバとして機能する。
【００２４】
また、実施形態では、ゲーム装置１０がネットワークＮおよびサーバ２０と接続された場合に、当該ゲーム装置１０に対して種々のゲームをオンラインで提供することができるオンラインゲームシステムを構築している。このオンラインゲームシステムにおいては、複数種類のゲームプログラムに対応したプレイデータを管理・提供等することにより、プレイヤに対し、さながらゲームセンターの色々なゲームを遊技しているかのような楽しみを提供することが可能となっている。
【００２５】
実施形態に係るプログラム１２２は、ゲーム装置１０にインストールされたものであってもよいし、オンライン上でサーバ（サーバ２０に限らない）からゲーム機能が提供されるものであってもよい。
【００２６】
次に、サーバ２０のハードウェア構成について説明する。図３は、実施形態におけるサーバ２０のハードウェア構成の一例を示す図である。図３に示すように、サーバ２０は、制御部２０２と、通信インタフェース２０６と、記憶部２０８と、表示部２１４と、入力部２１６と、を有し、各部はバスライン２１８を介して接続される。
【００２７】
制御部２０２は、ＣＰＵ、ＲＯＭ（Read On Memory）、ＲＡＭ（Random Access Memory）２０４等を含む。制御部２０２は、記憶部２０８に記憶される制御プログラム２１０等を実行することにより、一般的な情報処理装置としての機能に加え、例えばオンラインゲームに関する処理を実現するように構成される。
【００２８】
また、ＲＡＭ２０４は、各種情報を一時的に保持したり、ＣＰＵが各種処理を実行する際のワークエリアとして使用されたりする。
【００２９】
通信インタフェース２０６は、ネットワークＮを介したゲーム装置１０との通信を制御する。
【００３０】
記憶部２０８は、例えばＨＤＤ、ＳＳＤ等からなり、一般的な情報処理装置としての機能を実現するためのアプリケーション及びデータ（図示省略）を記憶することに加え、制御プログラム２１０を記憶する。また、記憶部２０８は、情報記憶部２１２を有している。
【００３１】
制御プログラム２１０は、ゲームに関する処理を行うためのプログラムであり、ゲーム装置１０から操作指示を受け、この操作指示に基づいてプレイしながらゲームの進行を制御するプログラムである。制御プログラム２１０は、コンピュータに読み取り可能な記録媒体に保存され、この記録媒体から読み出されて、記憶部２０８に記憶されてもよい。
【００３２】
情報記憶部２１２は、例えばゲームに用いる必要なデータや、プレイヤに関するデータなどを記憶する。
【００３３】
表示部２１４は、管理者に情報を表示する。入力部２１６は、管理者からの入力を受け付けたり、管理者からの指示を受け付けたりする。また、サーバ２０は、表示部２１４と入力部２１６とを必ずしも設ける必要はなく、表示部２１４及び入力部２１６は、外部からサーバ２０に接続されるようにしてもよい。
【００３４】
＜ゲーム装置の機能構成＞
図４は、実施形態におけるゲーム装置１０の機能構成の一例を示すブロック図である。図４に示すゲーム装置１０は、例えば、第１送信部３０２と、第１受信部３０４と、ゲーム実行部３０６と、第１記憶部３０８とを含む。
【００３５】
第１送信部３０２は、例えば移動体通信部１１４、無線ＬＡＮ通信部１１８、プログラム１２２等により実現されうる。第１送信部３０２は、プレイヤにより入力された操作内容に基づくコマンドなどをサーバ２０に送信する。
【００３６】
第１受信部３０４は、例えば移動体通信部１１４、無線ＬＡＮ通信部１１８、プログラム１２２等により実現されうる。第１受信部３０４は、サーバ２０から、ゲームの進行に関する情報などを受信する。
【００３７】
ゲーム実行部３０６は、例えば主制御部１５０、プログラム１２２等により実現されうる。ゲーム実行部３０６は、ユーザ操作に応じてゲームを実行する。例えば、ゲーム実行部３０６は、ユーザの操作に応じてプレイヤキャラクタの移動や攻撃等を実行し、ゲームを進行させる。
【００３８】
第１記憶部３０８は、例えば、記憶部１２０等により実現されうる。第１記憶部３０８は、オブジェクトの描画で用いられる各種データを記憶する。例えば、第１記憶部３０８は、仮想空間のデータや、各オブジェクトの座標やテクスチャ、後述する透過処理に用いるデータなどである。
【００３９】
次に、ゲーム実行部３０６について詳細に説明する。ゲーム実行部３０６は、受付部３１０と、移動制御部３１２と、決定部３１４と、描画部３１６と、調整部３１８と、コマンド発行部３２０と、を含む。なお、描画部３１６は、ゲームの進行に応じて仮想空間に配置される各オブジェクトの位置や向き等の３次元座標データを計算して出力するジオメトリ部と、ジオメトリ部から送られてきた各オブジェクトを順番に２次元平面上に描画するレンダリング部と、描画された２次元画像を記憶するフレームバッファと、各オブジェクトの描画の際に、その前後関係を描画する画素単位で判定するための深度バッファ等を含んでいる。
【００４０】
受付部３１０は、タッチパネル１０２やハードキー１１０などから入力されるプレイヤの操作を、ゲーム実行中に受け付ける。例えば、受付部３１０は、ゲーム画面内に存在するプレイヤキャラクタを移動させるための操作を受け付けたり、ゲームを進行するための操作を受け付けたりする。プレイヤキャラクタの移動についての操作内容は、移動制御部３１２に出力され、プレイヤキャラクタ等で受け付けられた操作内容は、コマンド発行部３２０に出力される。
【００４１】
以下、プレイヤキャラクタは、第１オブジェクトとも称され、プレイヤキャラクタ以外のオブジェクトは、第２オブジェクトとも称される。第１オブジェクトは、例えば仮想空間内を、ユーザ操作又はゲーム実行部３０６による自動制御により移動するプレイヤキャラクタである。第２オブジェクトは、例えば仮想空間内に配置される木、岩、家などのプレイヤが操作できない、又は移動しないオブジェクトである。
【００４２】
移動制御部３１２は、第１オブジェクトの移動を、１又は複数の第２オブジェクトが配置された仮想空間内で制御する。例えば、移動制御部３１２は、ユーザのドラッグ操作やキー操作や自動制御などに応じて、仮想空間のゲーム空間内で、第１オブジェクト、例えばプレイヤキャラクタの移動を制御する。
【００４３】
決定部３１４は、仮想空間を俯瞰する所定視点と、この所定視点から第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトとの距離に基づいて、表示画面に描画する前記各オブジェクトの描画順を決定する。例えば、決定部３１４は、仮想空間を俯瞰する仮想カメラの位置を所定視点とし、ユーザ操作に基づく第１オブジェクトの移動に応じて仮想カメラの向きや位置を決定する。なお、仮想カメラは、第１オブジェクトとは独立して移動が制御されてもよい。
【００４４】
次に、決定部３１４は、所定視点から第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトを特定する。各オブジェクトは、第１オブジェクトや第２オブジェクトを含む。
【００４５】
決定部３１４は、所定視点と、特定された各オブジェクトとの距離に基づいて、各オブジェクトの描画順を決定する。例えば、決定部３１４は、所定視点から近い順に各オブジェクトの描画順を決定したり、所定視点から遠い順に各オブジェクトの描画順を決定したりしてもよい。また、決定部３１４は、第１オブジェクトよりも所定視点に近い各オブジェクトを第１群、第１オブジェクトよりも所定視点から遠い各オブジェクトを第２群とし、各郡内のオブジェクトの描画順を所定基準に従って適宜決定してもよい。また、決定部３１４は、描画順として、第１群を優先したり、又は第２群を優先したりしてもよい。また、決定部３１４は、プログラマ等により設定されたオブジェクトを描画順の前方に決定したり、又は後方に決定したりすることが可能である。また、決定部３１４は、オブジェクトのサイズにさらに基づいて各オブジェクトの描画順を決定してもよい。更に、予めメモリ上にオブジェクトが記憶されている順を描画順として、プログラムがその順で各オブジェクトをレンダリング部に送信することでも、決定部３１４が描画順を決定することとしてもよい。
【００４６】
また、決定部３１４は、仮想空間のワールド座標系を、所定視点の座標を原点（０，０，０）とした場合の相対座標系に変換してもよく、また、所定視点の座標を、仮想空間のワールド座標系の座標を用いてもよい。決定部３１４は、所定視点の座標と、オブジェクトの座標とから距離を算出する。決定部３１４は、算出した距離を用いて、各オブジェクトの描画順を決定してもよい。
【００４７】
描画部３１６は、表示画面（例えばタッチパネル画面）の各画素の深度バッファの値を用いて、決定部３１４により決定された描画順で、各オブジェクトを表示画面の各画素に描画する。例えば、描画部３１６は、描画対象のオブジェクトの座標と色情報（例えば、ＲＧＢ値の画素値）とを取得し、表示画面内で、この描画対象オブジェクトの位置に対応する各画素に、描画対象オブジェクトの画素値を描画する。このとき、描画部３１６は、画素の深度バッファの値（Ｚ値）を参照し、オブジェクトの奥行き方向の値が、画素の深度バッファの値よりも奥であれば（深ければ）、この画素には描画しない。これにより、同じ画素に何度も描画するなどの無駄な描画を防ぐことができる。また、深度バッファのＺ値は、初期値として十分に奥方向の値が設定され、始めのＺ値とオブジェクトのＺ座標の値との比較処理で、Ｚ値がオブジェクトのＺ座標の値に更新されてもよい。
【００４８】
調整部３１８は、第１オブジェクトを描画する前、又は描画した後に、第１オブジェクトが表示画面に描画される領域の少なくとも一部を含む透過領域内の各画素の深度バッファの値を、所定視点と第１オブジェクトとの間に配置された第２オブジェクトに関係なく第１オブジェクトが表示画面に表示される値に調整する。この調整処理が、第１オブジェクトの描画の前か後かは、描画順の決定方法に関係する。例えば、描画順が、所定視点から近い順であれば、調整処理は、第１オブジェクトの描画前に行われ、描画順が、所定視点から遠い順であれば、調整処理は、第１オブジェクトの描画後に行われる。
【００４９】
また、調整部３１８は、深度バッファの値（Ｚ値）の調整についても、描画順の決定方法に関係する。例えば、描画順が、所定視点から近い順であれば、透過領域の各画素の深度バッファの値を、第１オブジェクトのＺ座標の値よりも後ろの値にする。これにより、透過領域において、第１オブジェクトの描画を行う際、第１オブジェクトのＺ座標の値が、画素の深度バッファの値よりも手前にあるため、第１オブジェクトの画素値が、この画素に描画される。
【００５０】
また、描画順が、所定視点から遠い順であれば、透過領域の各画素の深度バッファの値を、第１オブジェクトよりも前方にいる第２オブジェクトのＺ座標の値よりも前の値にする。これにより、透過領域において、第１オブジェクトの描画領域の深度バッファの値を調整した後で、第１オブジェクトよりも手前にある第２オブジェクトを描画する際に、第１オブジェクトと重複する領域の第２オブジェクトのＺ座標の値が、調整された深度バッファの値よりも奥方向になるため、第１オブジェクトの画素値は書き換えられずに、この画素に描画されたままになる。
【００５１】
これにより、第１オブジェクトの視認性を確保しつつ、処理負荷を軽減させることができる。本実施形態では、オブジェクトの透過処理について、深度バッファの値を書き換えるだけで済み、透過処理に関する処理負荷を軽減させることができる。なお、実施形態でいう透過処理は、所望のオブジェクト（例えばプレイヤキャラクタ）が、仮想カメラから見て手前にあるオブジェクト（例えば壁、森、岩、家など）に影響されずに、表示画面に表示されるようにする処理のことをいう。
【００５２】
また、第２オブジェクトに、深度バッファの値の調整が可能か否かを示す調整可否データが関連付けられる場合、描画部３１６は、第２オブジェクトを表示画面の各画素に描画する際に、この第２オブジェクトの調整可否データが調整不可を示す場合、第２オブジェクトが描画された各画素の深度バッファに、調整不可を示す不可データを関連付けるステップを含んでもよい。
【００５３】
この場合、調整部３１８は、不可データが関連付けられた画素の深度バッファの値を調整しないステップを含んでもよい。これにより、オブジェクトごとに、透過されるか否かを設定することができ、仮想空間でのユーザへの見せ方のバリエーションを増やすことができる。
【００５４】
また、決定部３１４は、所定視点と第１オブジェクトとの間に第２オブジェクトがある場合、第１オブジェクトの直前、又は直後に透過用オブジェクトを描画するよう決定するステップを含んでもよい。
【００５５】
この場合、描画部３１６は、透過用オブジェクトの描画の際に、調整部３１８を実行するステップを含んでもよい。例えば、透過用オブジェクトは、ポリゴンデータであり、テクスチャデータは持たなくてもよい。透過用オブジェクトは、Ｚ座標値として、一例として、ファークリッププレーンの少し前方の値や、ニアクリッププレーンの少し後方の値が設定される。これにより、第１オブジェクトの表示を妨げるような第２オブジェクトが存在する場合に、透過用オブジェクトを描画順の適切な位置に挿入することで、この第２オブジェクトや第１オブジェクトが描画された画素の深度バッファの値が調整され、第１オブジェクトが表示画面に表示されるようになる。
【００５６】
また、第２オブジェクトに、透過用オブジェクトが関連付けられる場合、決定部３１４は、所定視点と第１オブジェクトとの間に、透過用オブジェクトが関連付けられた第２オブジェクトがあれば、透過用オブジェクトの描画順を、第１オブジェクトの直前、又は直後に決定してもよい。これにより、オブジェクトごとに透過用オブジェクトが関連付けられるため、透過させたくないオブジェクトを設定することも可能になる。
【００５７】
また、透過領域は、所定視点と第１オブジェクトとの位置関係を用いて仮想空間内に配置された透過用オブジェクトに基づき設定されてもよい。例えば、所定視点と、第１オブジェクトの所定点（例えば中心点）を線で結び、この線上に、透過オブジェクトの中心点が配置されるように透過用オブジェクトが配置される。透過オブジェクトが描画される場合には、画素の深度バッファは比較されず、透過用オブジェクトが有する奥行きの値に書き換えられる（調整される）。これにより、透過領域を、第１オブジェクトが表示されるような適切な位置に設定することが可能になる。
【００５８】
また、描画順が、所定視点にオブジェクトを優先して描画していく順である場合、調整部３１８は、透過領域内の各画素の深度バッファの値を、第１オブジェクトの奥行き方向の値よりも後方の値に設定してもよい。例えば、第１オブジェクトが描画される前に、第１オブジェクトが描画される位置の各画素の深度バッファの値を、奥行き方向において第１オブジェクトよりも後方の値に調整しておく。これにより、第１オブジェクトが描画される前に深度バッファの値が調整され、画素の深度バッファの値と、第１オブジェクトの奥行き方向の値が比較されると、第１オブジェクトの奥行き方向の値が手前にあることを示すため、第１オブジェクトの色情報（ＲＧＢ値）が各画素に描画され、第１オブジェクトが表示されるようになる。
【００５９】
また、描画順が、所定視点に近いオブジェクトを優先して描画していく順であり、かつ、描画の際にニアクリッププレーン及びファークリッププレーンが用いられる場合、調整部３１８は、透過領域内の各画素の深度バッファの値を、ファークリッププレーンより所定値前方の値に設定してもよい。これにより、描画される限界のファークリッププレーンの少し前の値に、第２オブジェクトの画素の深度バッファの値が調整されるため、第１オブジェクトの表示をより確実にすることができる。
【００６０】
また、描画順が、所定視点から遠いオブジェクトを優先して描画していく順である場合、調整部３１８は、透過領域内の各画素の深度バッファの値を、最も前方に位置する第２オブジェクトの奥行き方向の値よりも前方の値に設定してもよい。例えば、第１オブジェクトが描画された後に、第１オブジェクトが描画された位置の各画素の深度バッファの値を、奥行き方向において、所定視点に最も近い第２オブジェクトよりも前方の値に調整しておく。これにより、第１オブジェクトが描画されて深度バッファの値が調整された後に、第１オブジェクトの画素の深度バッファの値と、第１オブジェクトよりも前方にある第２オブジェクトの奥行き方向の値とが比較されると、第１オブジェクトの奥行き方向の値が手前にあることを示すため、第２オブジェクトの色情報（ＲＧＢ値）が各画素に描画されず、第１オブジェクトが表示されるようになる。
【００６１】
また、描画順が、所定視点から遠いオブジェクトを優先して描画していく順であり、かつ、描画の際にニアクリッププレーン及びファークリッププレーンが用いられる場合、調整部３１８は、透過領域内の各画素の深度バッファの値を、ニアクリッププレーンより所定値後方の値に設定してもよい。これにより、描画される限界のニアクリッププレーンの少し後方の値に、第１オブジェクトの画素の深度バッファの値が調整されるため、第１オブジェクトの表示をより確実にすることができる。
【００６２】
また、透過用オブジェクトに対するＲＧＢ値は、値が設定されていなくてもよい。これにより、透過用オブジェクトが描画される場合、もともと描画されている画素の色情報をそのまま適用することができる。
【００６３】
また、透過用オブジェクトは、関連付けられる第２オブジェクトに応じて異なってもよい。例えば、透過用オブジェクトのポリゴンデータのサイズや形状等を、仮想空間内に配置されている第２オブジェクトによって変えてもよい。これにより、第２オブジェクトの違いによって、透過領域のサイズや形状等を変更することが可能になる。また、サイズや形状が異なる透過用オブジェクトが用いられて、深度バッファの値の調整が行われる場合、各透過用オブジェクトが二次元上で位置する各画素の深度バッファの値が調整されればよい。
【００６４】
コマンド発行部３２０は、受付部３１０が受け付けた操作内容に応じたコマンドを発行し、発行したコマンドを、第１送信部３０２を介してサーバ２０に送信する。
【００６５】
＜サーバの機能構成＞
【００６６】
図５は、実施形態におけるサーバ２０の機能構成の一例を示すブロック図である。図５に示すサーバ２０は、第２送信部４０２と、第２受信部４０４と、ゲーム制御部４０６と、第２記憶部４０８とを含む。サーバ２０は、制御プログラム２１０を実行することで、ゲーム制御部４０６などの機能を実現することができる。
【００６７】
第２送信部４０２は、例えば通信インタフェース２０６や制御部２０２等により実現されうる。第２送信部４０２は、ゲーム制御部４０６からの指示により、ゲームの進行に関する情報をゲーム装置１０に送信する。
【００６８】
第２受信部４０４は、例えば通信インタフェース２０６や制御部２０２等により実現されうる。第２受信部４０４は、各ゲーム装置１０から、操作内容を示すコマンドなどを受信する。
【００６９】
ゲーム制御部４０６は、例えば制御部２０２や記憶部２０８等により実現されうる。ゲーム制御部４０６は、受信されたコマンドに基づいてゲームの実行を制御する。例えば、ゲーム制御部４０６は、プレイヤにより実行されるゲームの進行を制御する。
【００７０】
第２記憶部４０８は、例えば記憶部２０８等により実現されうる。第２記憶部４０８は、ゲームに関する情報を記憶する。例えば、ゲームに関する情報には、このゲームをプレイするプレイヤの情報や、ゲーム空間に関する情報や、その他ゲームに必要な情報などを含む。
【００７１】
次に、ゲーム制御部４０６の詳細について説明する。ゲーム制御部４０６は、コマンド受付部４１０と、ゲーム進行部４１２とを含む。
【００７２】
コマンド受付部４１０は、第２受信部４０４が受信したコマンドを取得し、このコマンドに基づいて、コマンドの内容に応じて適宜ゲーム進行部４１２に出力する。
ゲーム進行部４１２は、コマンドを取得すると、コマンドの内容に応じて、ゲームを進行させる、例えば、コマンドが攻撃を示せば、プレイヤキャラクタが攻撃するように制御したりする。これらがゲームの情報として、第２送信部４０２に出力される。
【００７３】
＜データ構造＞
次に、実施形態に関する一部の情報のデータ構造について説明する。図６は、実施形態における仮想空間の簡易な一例を示す図である。図６に示す仮想空間Ｖ１０は、（ｘ、ｙ、ｚ）座標のワールド座標系で表現され、この仮想空間Ｖ１０上に各オブジェクトＡ１０，Ａ１２が配置されている。オブジェクトＡ１０，Ａ１２は、例えばポリゴンデータで表され、座標とテクスチャとを有する。テクスチャがオブジェクト表面の色情報を示す。また、仮想空間Ｖ１０を俯瞰する仮想カメラＣ１０が設定される。仮想カメラＣ１０の座標は、仮想空間Ｖ１０と同じワールド座標系を用いてもよいし、ワールド座標系とは独立した座標系を用いてもよい。いずれの場合も、仮想カメラＣ１０の位置を原点として、仮想空間Ｖ１０の座標系を相対座標系に変換することで、オブジェクトの奥行き判定等を容易にすることが可能になる。
【００７４】
図７は、実施形態におけるオブジェクトデータの一例を示す図である。図７に示すオブジェクトは、ワールド座標系の座標、色を示すテクスチャ、深度バッファの値が調整可能か否かを示す可否データが関連付けられる。例えば、オブジェクトＡは、仮想空間Ｖ１０上において、座標（ＸA，ＹA，ＺA）に配置され、テクスチャＡによりオブジェクトＡに色情報がマッピングされ、可否データにより、画素の深度バッファの調整が可能であることを示す。なお、可否データは、必ずしも必要なデータではない。
【００７５】
図８は、実施形態における透過用オブジェクトの関連付けを説明するための図である。実施形態において、透過用オブジェクトが用いられる場合は、図８に示すように、透過用オブジェクトには、１又は複数の第２オブジェクトが関連付けられる。透過用オブジェクトは、例えばポリゴンデータであり、テクスチャデータはなくてもよい。この場合、透過用オブジェクトの配置位置は、調整用の深度バッファの値に応じて決定されてもよい。また、透過用オブジェクトは、仮想空間内の位置ごとに第２オブジェクトに関連付けられてもよい。これにより、同じ第２オブジェクトであっても、仮想空間内の位置が異なれば、異なる透過用オブジェクトを関連付けることが可能になる。
【００７６】
＜具体例＞
次に、ゲーム装置１０において表示装置に表示されるゲーム画面の具体例について説明する。なお、以下に示す具体例では、ゲーム装置１０側で、表示画面の各画素にオブジェクトが描画される例を示す。
【００７７】
≪仮想空間上のデータ位置関係≫
図９は、実施形態における仮想空間Ｖ２０の一例を示す図である。図９に示す例では、木を示す第２オブジェクトＡ２０，Ａ２２、プレイヤキャラクタを示す第１オブジェクトＰ２０、岩を示す第２オブジェクトＡ２４が仮想空間Ｖ２０上に配置されている。第１オブジェクトＰ２０は、仮想空間Ｖ２０上をユーザの操作により移動することが可能である。なお、仮想空間Ｖ２０を俯瞰するための仮想カメラＣ１０が設定される。仮想カメラＣ１０は、例えば、第１オブジェクトＰ２０が画面中心に来るように、その向きや位置が設定される。
【００７８】
《表示画面例》
次に、図９に示す仮想空間Ｖ２０を表示画面に表示するため、二次元データに変換された画面例について説明する。図１０は、実施形態における深度バッファの値の調整なしの画面例を示す図である。図１０に示す例では、プレイヤキャラクタを示す第１オブジェクトＰ２０が、木を示す第２オブジェクトＡ２０，Ａ２２に隠れてプレイヤからは見えにくくなっている。図１０に示すような状況を避けるために、実施形態では、深度バッファの値を調整することで、プレイヤキャラクタを示す第１オブジェクトＰ２０が表示されるようにする。
【００７９】
図１１は、実施形態における深度バッファの値の調整済みの画面例を示す図である。図１１に示す例では、第１オブジェクトＰ２０を含む領域ＡＲ２０内の各画素の深度バッファの値が調整されている。図１１に示すように、深度バッファの値を調整することで、第１オブジェクトＰ２０は、第２オブジェクトＡ２０，Ａ２２に妨げられることなく表示される。これにより、プレイヤは、自身が操作する又は自動制御されるプレイヤキャラクタ（第１オブジェクトＰ２０）が表示画面に表示された状態でゲームを楽しむことができる。また、深度バッファの値を調整するだけで透過処理を実現することができるため、処理負荷がかからない。よって、携帯端末等でこの透過処理を実現することが可能になる。
【００８０】
《描画順、描画、及び深度バッファの調整の例》
以下、図１２〜１７を用いて描画順、描画、及び深度バッファの調整を説明し、実施形態の実現例をいくつか説明する。図１２〜１７に示す１〜５の数字は、オブジェクトの描画順を示す。
【００８１】
（例１）
図１２は、実施形態における透過処理の実現例１を示す図である。図１２に示す例は、簡易な実現例を示す図である。図１２に示す例では、図９に示す仮想空間Ｖ２０上に各オブジェクトが配置されている場合、決定部３１４が、仮想カメラＣ１０から近い順に描画順を決定したとする。この場合、描画部３１６は、深度バッファの値を用いて、描画順に、オブジェクトを表示画面の各画素に描画していく。
【００８２】
調整部３１８は、第１オブジェクトＰ２０が描画される前のＴ１のタイミングで、表示画面の透過領域内の各画素の深度バッファの値を調整する。図１２に示す場合は、深度バッファの値は、第１オブジェクトＰ２０の後方の値に設定されればよい。また、透過領域は、第１オブジェクトＰ２０の少なくとも１部を含む所定領域がその都度設定されればよい。これにより、図１１に示すような表示画面を実現することができる。
【００８３】
（例２）
図１３は、実施形態における透過処理の実現例２を示す図である。図１３に示す例は、オブジェクトごとに、深度バッファの値の調整が可能か否かを示す可否データが関連付けられている（例えば、図７参照）。図１３に示す例では、基本的には、図１２に示す例と同様であるが、オブジェクトＡ２２に調整不可データが関連付けられているため、オブジェクトＡ２２の各画素部分は、深度バッファの値が調整されずに透過されない。これにより、第２オブジェクトであっても透過されたくないオブジェクトには、調整不可データを関連付けておくことで、この第２オブジェクトを確実に表示させることができる。
【００８４】
なお、図１２及び図１３に示す例では、描画順として、仮想カメラＣ１０から近い順に描画順を決定した場合を説明したが、仮想カメラＣ１０から遠い順に描画順が決定された場合でも、同様に透過処理を実現可能である。この場合、タイミングＴ１は、第１オブジェクトＰ２０の描画の後になり、調整値は、第２オブジェクトＡ２０よりも前方の値に設定される。
（例３）
図１４及び図１５は、実施形態における透過処理の実現例３を示す図である。図１４は、実施形態における実現例３の描画順を示す図である。図１４に示す例では、決定部３１４が、仮想カメラＣ１０から近い順に描画順を決定したとする。この場合、透過用オブジェクトＲ２０が各オブジェクトの描画順に挿入される。決定部３１４は、第１オブジェクトＰ２０の前を特定し、透過用オブジェクトＲ２０を挿入してもよいし、第１オブジェクトＰ２０よりも前に描画される第２オブジェクトに透過用オブジェクトが関連付けられていれば（例えば図８参照）、透過用オブジェクトＲ２０を挿入してもよい。
【００８５】
図１５は、実施形態における実現例３の深度バッファの値の調整例を示す図である。図１５に示す例では、調整部３１８は、透過用オブジェクトＲ２０の描画順が来た時に、透過用オブジェクトの位置に相当する表示画面の各画素の深度バッファの値を、例えば第２オブジェクトＡ２４の後方の値に設定する。また、調整値は、ファークリッププレーン（ＦＣＰ）の所定値前の値でもよい。これにより、確実に第１オブジェクトＰ２０を表示画面に表示させることができるようになる。また、例２によれば、前方から後方に向けてオブジェクトを描画していくので、深度バッファの値を用いることで、後方のオブジェクトで、前方のオブジェクトと重複する領域については描画処理を行わなくて済み、描画の高速化を実現することができる。
【００８６】
（例４）
図１６及び図１７は、実施形態における透過処理の実現例４を示す図である。図１６は、実施形態における実現例４の描画順を示す図である。図１６に示す例では、決定部３１４が、仮想カメラＣ１０から遠い順に描画順を決定したとする。この場合、透過用オブジェクトＲ２０が各オブジェクトの描画順に挿入される。決定部３１４は、第１オブジェクトＰ２０の後を特定し、透過用オブジェクトＲ２０を挿入してもよいし、第１オブジェクトＰ２０よりも後に描画される第２オブジェクトに透過用オブジェクトが関連付けられていれば（例えば図８参照）、透過用オブジェクトＲ２０を挿入してもよい。
【００８７】
図１７は、実施形態における実現例４の深度バッファの値の調整例を示す図である。図１７に示す例では、調整部３１８は、透過用オブジェクトの描画順が来た時に、透過用オブジェクトの位置に相当する表示画面の各画素の深度バッファの値を、例えば第２オブジェクトＡ２０の前方の値に設定する。また、調整値は、ニアクリッププレーン（ＮＣＰ）の所定値後ろの値でもよい。これにより、確実に第１オブジェクトＰ２０を表示画面に表示させることができるようになる。
【００８８】
＜動作＞
次に、実施形態におけるゲーム装置１０の動作について説明する。図１８は、実施形態におけるゲーム装置１０の描画処理（その１）の一例を示すフローチャートである。図１８に示す処理は、図１２及び図１３に示す例を用いた描画処理である。
【００８９】
図１８に示すステップＳ１０２で、受付部３１０は、表示画面に表示された第１オブジェクトに対するユーザ操作を受け付けたか否かを判定する。ユーザ操作が受け付けられていれば（ステップＳ１０２−ＹＥＳ）、処理はステップＳ１０４に進み、ユーザ操作が受け付けられていなければ（ステップＳ１０２−ＮＯ）、処理はステップＳ１０２に戻る。
【００９０】
ステップＳ１０４で、移動制御部３１２は、ユーザ操作に応じて、仮想空間上の第１オブジェクトの移動を制御する。なお、移動制御部３１２は、ユーザ操作以外にも、自動制御により第１オブジェクトの移動を制御してもよい。
【００９１】
ステップＳ１０６で、移動制御部３１２は、第１オブジェクトの位置に基づいて、仮想カメラ（所定視点）の位置を設定する。例えば、所定視点は、仮想空間を俯瞰できる位置であって、第１オブジェクトが所定サイズで所定位置に来るように設定される。
【００９２】
ステップＳ１０８で、決定部３１４は、仮想空間を俯瞰する所定視点と、この所定視点から第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトとの距離に基づいて、表示画面に描画する前記各オブジェクトの描画順を決定する。
【００９３】
ステップＳ１１０で、描画部３１６が、決定部３１４により決定された描画順に、描画対象のオブジェクトを特定する。
【００９４】
ステップＳ１１２で、調整部３１８は、描画対象オブジェクトが第１オブジェクトである場合、その前か後ろかで深度バッファの値（Ｚ値）を調整する必要があるか否かを判定する。第１オブジェクトの描画の前か後ろかは描画順の決定方法により決まる。例えば、所定視点から近い順に描画順が決まれば、第１オブジェクトの描画前に、Ｚ値の調整が必要であると判定する。また、所定視点から遠い順に描画順が決まれば、第１オブジェクトの描画後に、Ｚ値の調整が必要であると判定する。Ｚ値の調整が必要であれば（ステップＳ１１２−ＹＥＳ）、処理はステップＳ１１４に進み、Ｚ値の調整が必要でなければ（ステップＳ１１２−ＮＯ）、処理はステップＳ１１６に進む。
【００９５】
ステップＳ１１４で、調整部３１８は、第１オブジェクトを描画する前、又は描画した後に、第１オブジェクトが表示画面に描画される領域の少なくとも一部を含む透過領域内の各画素の深度バッファの値を、所定視点と第１オブジェクトとの間に配置された第２オブジェクトに関係なく第１オブジェクトが表示画面に表示される値に調整する。ステップＳ１１４の処理が終わると、処理はステップＳ１１６に進む。
【００９６】
ステップＳ１１６で、描画部３１６は、描画対象のオブジェクトの色情報を、このオブジェクトの領域内の各画素に描画する。なお、ステップＳ１１４において、第１オブジェクトが描画された後に、深度バッファの値が調整されていれば、ステップＳ１１６で、再度描画する必要はない。
【００９７】
ステップＳ１１８で、描画部３１６は、全てのオブジェクトを描画したか否かを判定する。全てのオブジェクトが描画されていれば（ステップＳ１１８−ＹＥＳ）、処理は終了し、全てのオブジェクトが描画されていなければ（ステップＳ１１８−ＮＯ）、処理はステップＳ１１０に戻る。
【００９８】
図１９は、実施形態におけるゲーム装置１０の描画処理（その２）の一例を示すフローチャートである。図１９に示す処理は、図１４〜図１７に示す例を用いた描画処理である。
【００９９】
図１９に示すステップＳ１０２〜Ｓ２０６の処理は、図１に示すステップＳ１０２〜Ｓ１０６の処理と同様であるため、その説明を省略する。
ステップＳ２０８で、決定部３１４は、所定視点から第１オブジェクトが位置する方向の所定領域内に配置された各オブジェクトを特定する。各オブジェクトには、第１オブジェクト及び／又は第２オブジェクトが含まれる。
【０１００】
ステップＳ２１０で、決定部３１４は、透過用オブジェクトがあるか否かを判定する。例えば、第２オブジェクトに透過用オブジェクトが関連付けられていれば、透過用オブジェクトありと判定する。透過用オブジェクトがあれば（ステップＳ２１０−ＹＥＳ）、処理はステップＳ２１２に進み、透過用オブジェクトがなければ（ステップＳ２１０−ＮＯ）、処理はステップＳ２１４に進む。
【０１０１】
ステップＳ２１２で、決定部３１４は、描画順決定処理Ａを実行する。描画順決定処理Ａは、透過用オブジェクトを、第１オブジェクトの描画前か後ろに挿入して各オブジェクトの描画順を決定する。第１オブジェクトの描画前か後ろかは、描画順が所定視点から近い順か遠い順かなどに基づいて決定される。
【０１０２】
ステップＳ２１４で、決定部３１４は、描画順決定処理Ｂを実行する。描画順決定処理Ｂは、通常通りの決定方法であり、例えば、所定視点から近い順、又は遠い順などの所定の基準により描画順を決定する。
【０１０３】
ステップＳ２１６で、描画部３１６は、描画対象のオブジェクトに対して、描画処理を実行する。描画処理の詳細は、図２０を用いて説明する。
【０１０４】
図２０は、実施形態における描画処理（その２）の調整処理の一例を示すフローチャートである。図２０に示すステップＳ３０２で、描画部３１６が、決定部３１４により決定された描画順に、描画対象オブジェクトを特定する。
【０１０５】
ステップＳ３０４で、描画部３１６は、描画対象オブジェクトの色情報を、このオブジェクトが表示画面に描画される領域内の各画素に描画する。
【０１０６】
ステップＳ３０６で、調整部３１８が、描画対象オブジェクトが透過用オブジェクトであるか否かを判定する。描画対象オブジェクトが透過用オブジェクトであれば（ステップＳ３０６−ＹＥＳ）、処理はステップＳ３０８に進み、描画対象オブジェクトが透過用オブジェクトでなければ（ステップＳ３０６−ＮＯ）、処理はステップＳ３１０に進む。
【０１０７】
ステップＳ３０８で、調整部３１８は、透過用オブジェクトが表示画面に描画される領域の少なくとも１部を含む透過領域内の各画素の深度バッファの値を、所定視点と第１オブジェクトとの間に配置された第２オブジェクトに関係なく第１オブジェクトが表示画面に表示される値に調整する。ステップＳ１１４の処理が終わると、処理はステップＳ１１６に進む。
【０１０８】
ステップＳ３１０で、描画部３１６は、全てのオブジェクトを描画したか否かを判定する。全てのオブジェクトが描画されていれば（ステップＳ３１０−ＹＥＳ）、処理は終了し、全てのオブジェクトが描画されていなければ（ステップＳ３１０−ＮＯ）、処理はステップＳ３０２に戻る。
【０１０９】
以上、実施形態によれば、オブジェクトの透過処理に係る処理負荷を軽減することができる。また、様々な実現手段で、実施形態の透過処理を実現することができるため、開発者は、目的に応じて実現手段を選択することができる。
【０１１０】
［変形例］
上記実施形態では、オンラインゲームを例にして説明したが、実施形態におけるゲーム装置１０は、所謂アーケードゲームにおけるゲーム機でも実装することが可能である。携帯型のゲーム装置や据置型のゲーム装置をまとめて単に端末と称する。所定のグループ内の各プレイヤが操作する各端末において、抽選処理の実行画面を共有することができれば、本発明を適用しうる。
【０１１１】
また、上記実施形態では、ゲーム装置１０側で、プレイヤの移動制御、描画順の決定処理、描画処理、調整処理を行ったが、これらの処理のうち少なくとも１つの処理をサーバ側で実現させるようにしてもよい。
【０１１２】
以上、実施形態について詳述したが、上記実施形態に限定されるものではなく、特許請求の範囲に記載された範囲内において、上記実施形態以外にも種々の変形及び変更が可能である。
【符号の説明】
【０１１３】
１…ゲーム処理システム、１０…ゲーム装置、２０…サーバ、１２０…記憶部、１５０…主制御部、２０２…制御部、２０８…記憶部、３０６…ゲーム実行部、３０８…第１記憶部、３１０…受付部３１０…移動制御部、３１４…決定部、３１６…描画部、３１８…調整部
【図１】
2020087016.tif 000003
【図２】
2020087016.tif 000004
【図３】
2020087016.tif 000005
【図４】
2020087016.tif 000006
【図５】
2020087016.tif 000007
【図６】
2020087016.tif 000008
【図７】
2020087016.tif 000009
【図８】
2020087016.tif 000010
【図９】
2020087016.tif 000011
【図１０】
2020087016.tif 000012
【図１１】
2020087016.tif 000013
【図１２】
2020087016.tif 000014
【図１３】
2020087016.tif 000015
【図１４】
2020087016.tif 000016
【図１５】
2020087016.tif 000017
【図１６】
2020087016.tif 000018
【図１７】
2020087016.tif 000019
【図１８】
2020087016.tif 000020
【図１９】
2020087016.tif 000021
【図２０】
2020087016.tif 000022