(57)【要約】【課題】  注目位置の手前側に存在するオブジェクトによって注目位置が隠されてしまう場合等において、注目位置を隠してしまうオブジェクトの大きさに注目した新たな技法を提供すること。【解決手段】くり抜き処理では、先ず３次元仮想空間内を、球Ｂの位置を基準とする近景と遠景の各領域に分割する。そして、遠景領域の描画を最初に行い、Ｚ値を操作した後に近景領域の描画を行うが、近景領域内の配置物のうち、休Ｂとの結合条件を満たさない配置物はくり抜き処理の対象とせずにＺ値を操作する前に描画する。ゲーム画面では、くり抜き処理の対象となるオブジェクト（Ｅ１３）の一部が描画されずに球Ｂが視認可能となる一方、結合条件を満足する配置物（Ｅ１１）は、くり抜き処理の対象とはならずに描画される。【選択図】    図２
2006323540.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、Ｚバッファ法を用いて所与の視点に基づく仮想空間内の画像をゲーム画像として生成させるためのプログラムであって、
前記視点からの距離が前記仮想空間中の注目位置より遠い位置に存在するオブジェクトを選出する第１のオブジェクト選出手段、
大きさが所定条件を満足するオブジェクトを選出する第２のオブジェクト選出手段、
前記第１のオブジェクト選出手段により選出されたオブジェクトと、前記第２のオブジェクト選出手段により選出されたオブジェクトとを描画する第１の描画手段、
前記第１の描画手段による描画の後、少なくとも前記注目位置に対応する前記ゲーム画像中の領域のＺ値を、前記視点近傍の値に変更するＺ値変更手段、
前記Ｚ値変更手段によりＺ値を変更した後、前記第１のオブジェクト選出手段及び前記第２のオブジェクト選出手段により選出されなかったオブジェクトを描画する第２の描画手段、
として前記コンピュータを機能させるためのプログラム。
【請求項２】
操作対象オブジェクトを含む複数のオブジェクトを仮想空間内に配置させ、プレーヤの操作入力に従って前記操作対象オブジェクトの移動を制御するゲームを実行するゲーム実行手段として前記コンピュータを更に機能させ、
前記Ｚ値変更手段が、前記操作対象オブジェクトの現在位置を前記注目位置としてＺ値を変更する前記領域を設定するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
前記第２のオブジェクト選出手段が、前記操作対象オブジェクトの大きさに基づく大きさを閾値とするサイズ判定条件を満足するオブジェクトを選出するように前記コンピュータを機能させるための請求項２に記載のプログラム。
【請求項４】
操作対象オブジェクトを含む複数のオブジェクトを仮想空間内に配置させ、プレーヤの操作入力に従って前記操作対象オブジェクトの移動を制御するゲームであって、前記操作対象オブジェクトを、前記仮想空間中に配置されたオブジェクトと接触・結合させながら大きくしていくゲームを実行するゲーム実行手段として前記コンピュータを更に機能させ、
前記ゲーム実行手段が、前記操作対象オブジェクトと接触したオブジェクトが前記操作対象オブジェクトの現在の大きさに基づく所定の結合条件を満足している場合に、当該オブジェクトを前記操作対象オブジェクトに結合させて前記操作対象オブジェクトを大きくする結合手段を有するように前記コンピュータを機能させ、
前記Ｚ値変更手段が、前記操作対象オブジェクトの現在位置を前記注目位置としてＺ値を変更する前記領域を設定するように前記コンピュータを機能させ、
前記第２のオブジェクト選出手段が、前記操作対象オブジェクトの現在の大きさに基づく前記所定の結合条件を満足するオブジェクトを選出するように前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項５】
前記結合手段が、前記操作対象オブジェクトの大きさ以下の大きさを閾値とする小サイズ判定条件を満足するオブジェクトを前記操作対象オブジェクトに結合させるように前記コンピュータを機能させるための請求項４に記載のプログラム。
【請求項６】
前記Ｚ値変更手段が、前記操作対象オブジェクトの現在の大きさに基づいてＺ値を変更する前記領域の大きさを決定するように前記コンピュータを機能させるための請求項２〜５の何れか一項に記載のプログラム。
【請求項７】
前記第２のオブジェクト選出手段が、大きさが所定条件を満足しないオブジェクトが、前記視点から前記注目位置に向かう方向と交差しているか否かを判定する交差条件判定手段を有し、前記交差条件判定手段により交差していると判定されなかったオブジェクトを更に選出するように前記コンピュータを機能させるための請求項２〜５の何れか一項に記載のプログラム。
【請求項８】
前記Ｚ値変更手段が、前記交差判定手段により交差していると判定されたオブジェクトが、当該交差していると判定されてからの経過時間に応じて、Ｚ値を変更する前記領域の大きさを変更するように前記コンピュータを機能させるための請求項７に記載のプログラム。
【請求項９】
請求項１〜８の何れか一項に記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。
【請求項１０】
Ｚバッファ法を用いて所与の視点に基づく仮想空間内の画像をゲーム画像として生成するゲーム装置であって、
前記視点からの距離が前記仮想空間中の注目位置より遠い位置に存在するオブジェクトを選出する第１のオブジェクト選出手段と、
大きさが所定条件を満足するオブジェクトを選出する第２のオブジェクト選出手段と、
前記第１のオブジェクト選出手段により選出されたオブジェクトと、前記第２のオブジェクト選出手段により選出されたオブジェクトとを描画する第１の描画手段と、
少なくとも前記注目位置に対応する前記ゲーム画像中の領域のＺ値を、前記視点近傍の値に変更するＺ値変更手段と、
前記Ｚ値変更手段によりＺ値を変更した後、前記第１のオブジェクト選出手段及び前記第２のオブジェクト選出手段により選出されなかったオブジェクトを描画する第２の描画手段と、
を備えたゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｚバッファ法を用い、所与の視点に基づく仮想空間内の画像をゲーム画像として生成させるためのプログラム等に関する。
【背景技術】
【０００２】
従来から、様々な種類のゲームが提案されており、その一例として、接触した他の物体を表面上に結合し、雪だるま式に巨大化する球オブジェクトを転がすことをモチーフとするゲーム（大玉転がしゲーム）が知られている（特許文献１参照。）。プレーヤは、操作対象である球オブジェクトを、ゲームステージ上に配置されている大小様々な物体（配置物）と接触・結合させながら雪だるま式に大きくしていく。
【０００３】
一方、ゲーム画像を生成する際に、視点と、プレーヤの操作対象オブジェクトとの間に存在するオブジェクトに所定の透過処理を施す技術が知られている（特許文献２参照。）。係る技術によれば、視点と操作対象オブジェクトとの間に他のオブジェクトが存在してていも、当該他のオブジェクトを透過処理することで、操作対象オブジェクトを視認可能に表示することができる。
【特許文献１】特開２００５−１００１３３号公報
【特許文献２】特開２００２−２３０５７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、前述の大玉転がしゲームを実行する際に特許文献２の技術を適用すれば、操作対象オブジェクトである球オブジェクトの手前側にあるオブジェクトの半透明的な透過を表現し、球オブジェクトを視認可能とすることができるが、特許文献２の技術を単に適用すると、次のような問題が生じる。すなわち、１）球オブジェクトと視点との間に存在するオブジェクト（配置物）が一律に半透明化されると、球オブジェクトの手前側に位置する球オブジェクトに結合可能な小さなオブジェクト（配置物）の存在が視認し難い状況になる、２）球オブジェクトと視点との間に存在するオブジェクト全体が半透明化されるため、視点から見て、当該オブジェクトの一部分が球オブジェクトに重なってしまうような場合でも当該オブジェクト全体が半透明化されることとなり、球オブジェクトの微少移動に対する当該オブジェクト全体の色変化が急激である、といった不都合がある。
【０００５】
このような問題は、大玉転がしゲーム以外のゲームでも同様である。なぜならば、プレーヤに着目させたい仮想空間中の注目位置の手前側（視点寄り）にオブジェクトが存在する場合、当該オブジェクトをどのように描画処理して、注目位置を視認可能にさせるのかという普遍的な問題だからであり、ゲームの世界観等によって当該問題の程度・当該問題を許容できる範囲が異なるからである。
【０００６】
例えば、上述した大玉転がしゲームであれば、球オブジェクトよりも小さいオブジェクトは球オブジェクトを隠蔽することはできない。よってこのような小さなオブジェクトを半透明化する効果は少なく、却って１）の問題が表面化することとなる。
【０００７】
本発明は、上述した問題を解決するためになされたものであり、その目的とするところは、注目位置の手前側に存在するオブジェクトによって注目位置が隠されてしまう場合等において、注目位置を視認可能とさせる新たな技法を提供することであり、特に、注目位置を隠してしまうオブジェクトの大きさに注目した新たな技法を提供することである。
【課題を解決するための手段】
【０００８】
以上の課題を解決するための第１の発明のプログラムは、
コンピュータに、Ｚバッファ法を用いて所与の視点に基づく仮想空間内の画像をゲーム画像として生成させるためのプログラムであって、
前記視点からの距離が前記仮想空間中の注目位置より遠い位置に存在するオブジェクトを選出する第１のオブジェクト選出手段（例えば、図１１に示す描画順設定部２３１）、
大きさが所定条件を満足するオブジェクトを選出する第２のオブジェクト選出手段（例えば、図１１に示す描画順設定部２３１）、
前記第１のオブジェクト選出手段により選出されたオブジェクトと、前記第２のオブジェクト選出手段により選出されたオブジェクトとを描画する第１の描画手段（例えば、図１１に示す画像生成部２３０）、
前記第１の描画手段による描画の後、少なくとも前記注目位置に対応する前記ゲーム画像中の領域のＺ値を、前記視点近傍の値に変更するＺ値変更手段（例えば、図１１に示すＺ値変更処理部２３３）、
前記Ｚ値変更手段によりＺ値を変更した後、前記第１のオブジェクト選出手段及び前記第２のオブジェクト選出手段により選出されなかったオブジェクトを描画する第２の描画手段（例えば、図１１に示す画像生成部２３０）、
として前記コンピュータを機能させるためのプログラムである。
【０００９】
また、第１０の発明のゲーム装置は、
Ｚバッファ法を用いて所与の視点に基づく仮想空間内の画像をゲーム画像として生成するゲーム装置であって、
前記視点からの距離が前記仮想空間中の注目位置より遠い位置に存在するオブジェクトを選出する第１のオブジェクト選出手段（例えば、図１１に示す描画順設定部２３１）と、
大きさが所定条件を満足するオブジェクトを選出する第２のオブジェクト選出手段（例えば、図１１に示す描画順設定部２３１）と、
前記第１のオブジェクト選出手段により選出されたオブジェクトと、前記第２のオブジェクト選出手段により選出されたオブジェクトとを描画する第１の描画手段（例えば、図１１に示す画像生成部２３０）と、
少なくとも前記注目位置に対応する前記ゲーム画像中の領域のＺ値を、前記視点近傍の値に変更するＺ値変更手段（例えば、図１１に示すＺ値変更処理部２３３）と、
前記Ｚ値変更手段によりＺ値を変更した後、前記第１のオブジェクト選出手段及び前記第２のオブジェクト選出手段により選出されなかったオブジェクトを描画する第２の描画手段（例えば、図１１に示す画像生成部２３０）と、
を備えたものである。
【００１０】
この第１又は第１０の発明によれば、視点からの距離が仮想空間中の注目位置より遠い位置に存在するオブジェクトと、大きさが所定条件を満足するオブジェクトとを描画する。そして、注目位置に対応するゲーム画像中の領域のＺ値を視点近傍の値に変更した後で、視点からの距離が当該注目位置より近い位置に存在するオブジェクトであって、大きさが所定条件を満足しないオブジェクトを描画する。これによれば、注目位置より手前側に存在し、且つ大きさが前記所定条件を満足しないオブジェクトのうち、当該注目位置に対応するゲーム画像中の領域に含まれる部分の描画を防止することができる。したがって、注目位置の手前側に存在し、大きさが所定条件を満足するオブジェクトの存在を確実に視認可能としつつ、注目位置の視認が可能なゲーム画像を生成することができる。
【００１１】
第２の発明は、第１の発明のプログラムであって、
操作対象オブジェクトを含む複数のオブジェクトを仮想空間内に配置させ、プレーヤの操作入力に従って前記操作対象オブジェクトの移動を制御するゲームを実行するゲーム実行手段（例えば、図１１に示すゲーム演算部２１０）として前記コンピュータを更に機能させ、
前記Ｚ値変更手段が、前記操作対象オブジェクトの現在位置を前記注目位置としてＺ値を変更する前記領域を設定するように前記コンピュータを機能させるためのプログラムである。
【００１２】
この第２の発明によれば、プレーヤの操作入力に従って操作対象オブジェクトの移動を制御するゲームを実行する際に、操作対象オブジェクトの現在位置を注目位置としてＺ値を変更する領域を設定することができる。
【００１３】
第３の発明は、第２の発明のプログラムであって、
前記第２のオブジェクト選出手段が、前記操作対象オブジェクトの大きさに基づく大きさを閾値とするサイズ判定条件を満足するオブジェクトを選出するように前記コンピュータを機能させるためのプログラムである。
【００１４】
この第３の発明によれば、視点からの距離が仮想空間中の注目位置より遠い位置に存在するオブジェクトと、大きさが、操作対象オブジェクトの大きさに基づく大きさを閾値とするサイズ判定条件（例えば、操作対象オブジェクトの大きさ以下の大きさを閾値とする小サイズ判定条件）を満足するオブジェクトとを描画する。そして、Ｚ値を変更した後で、前記注目位置より近い位置に存在するオブジェクトであって、大きさが、前記サイズ判定条件を満足しないオブジェクトを描画する。したがって、注目位置の手前側に存在する比較的小さなオブジェクトの存在を確実に視認可能としつつ、注目位置の視認が可能なゲーム画像を生成することができる。
【００１５】
第４の発明は、第１の発明のプログラムであって、
操作対象オブジェクトを含む複数のオブジェクトを仮想空間内に配置させ、プレーヤの操作入力に従って前記操作対象オブジェクトの移動を制御するゲームであって、前記操作対象オブジェクトを、前記仮想空間中に配置されたオブジェクトと接触・結合させながら大きくしていくゲームを実行するゲーム実行手段（例えば、図１１に示すゲーム演算部２１０）として前記コンピュータを更に機能させ、
前記ゲーム実行手段が、前記操作対象オブジェクトと接触したオブジェクトが前記操作対象オブジェクトの現在の大きさに基づく所定の結合条件を満足している場合に、当該オブジェクトを前記操作対象オブジェクトに結合させて前記操作対象オブジェクトを大きくする結合手段（例えば、図１１に示す結合制御部２１３）を有するように前記コンピュータを機能させ、
前記Ｚ値変更手段が、前記操作対象オブジェクトの現在位置を前記注目位置としてＺ値を変更する前記領域を設定するように前記コンピュータを機能させ、
前記第２のオブジェクト選出手段が、前記操作対象オブジェクトの現在の大きさに基づく前記所定の結合条件を満足するオブジェクトを選出するように前記コンピュータを機能させるためのプログラムである。
【００１６】
この第４の発明によれば、プレーヤの操作入力に従って操作対象オブジェクトの移動を制御するゲームであって、操作対象オブジェクトを、仮想空間中に配置されたオブジェクトと接触・結合させながら大きくしていくゲームを実行する際に、操作対象オブジェクトの現在位置を注目位置としてＺ値を変更する領域を設定することができる。そして、視点からの距離が仮想空間中の注目位置より遠い位置に存在するオブジェクトと、結合条件を満足するオブジェクトとを描画する。そして、Ｚ値を変更した後で、前記注目位置より近い位置に存在するオブジェクトであって、結合条件を満足しないオブジェクトを描画する。したがって、注目位置の手前側に存在する操作対象オブジェクトと結合可能なオブジェクトの存在を確実に視認可能としつつ、注目位置の視認が可能なゲーム画像を生成することができる。
【００１７】
第５の発明は、第４の発明のプログラムであって、
前記結合手段が、前記操作対象オブジェクトの大きさ以下の大きさを閾値とする小サイズ判定条件を満足するオブジェクトを前記操作対象オブジェクトに結合させるように前記コンピュータを機能させるためのプログラムである。
【００１８】
この第５の発明によれば、ゲーム画像を生成する際、Ｚ値を変更した後に、前記注目位置より近い位置に存在するオブジェクトであって、結合条件である前記操作対象オブジェクトの大きさ以下の大きさを閾値とする小サイズ判定条件を満足しないオブジェクトを描画する。したがって、注目位置の手前側に存在する操作対象オブジェクトと結合可能なオブジェクトの存在を確実に視認可能としつつ、注目位置の視認が可能なゲーム画像を生成することができる。
【００１９】
第６の発明は、第２〜第５の何れかの発明のプログラムであって、
前記Ｚ値変更手段が、前記操作対象オブジェクトの現在の大きさに基づいてＺ値を変更する前記領域の大きさを決定するように前記コンピュータを機能させるためのプログラムである。
【００２０】
この第６の発明によれば、Ｚ値を変更する領域の大きさを、操作対象オブジェクトの現在の大きさに基づいて決定することができる。したがって、ゲームの進行に伴って変化する操作対象オブジェクトの大きさに応じて、Ｚ値を変更する領域の大きさを可変することができる。
【００２１】
第７の発明は、第２〜第５の何れかの発明のプログラムであって、
前記第２のオブジェクト選出手段が、大きさが所定条件を満足しないオブジェクトが、前記視点から前記注目位置に向かう方向と交差しているか否かを判定する交差条件判定手段（例えば、図１１に示す描画順設定部２３１）を有し、前記交差条件判定手段により交差していると判定されなかったオブジェクトを更に選出するように前記コンピュータを機能させるためのプログラムである。
【００２２】
この第７の発明によれば、注目位置の手前側に存在し、且つ視点から注目位置に向かう方向と交差しないオブジェクトのうち、注目位置に対応するゲーム画像中の領域に含まれる部分の描画を防止することができる。
【００２３】
第８の発明は、第７の発明のプログラムであって、
前記Ｚ値変更手段が、前記交差判定手段により交差していると判定されたオブジェクトが、当該交差していると判定されてからの経過時間に応じて、Ｚ値を変更する前記領域の大きさを変更するように前記コンピュータを機能させるためのプログラムである。
【００２４】
この第８の発明によれば、視点から注目位置に向かう方向と交差していると判定されたオブジェクトが、当該交差していると判定されてからの時間経過に応じて、Ｚ値を変更する前記領域の大きさを変更することができる。例えば、仮想空間内のオブジェクトと視点から注目位置に向かう方向とが交差したタイミングからの時間経過に伴い、視認可能な注目位置の近傍領域を徐々に大きくしていくといった演出が可能となる。
【００２５】
第９の発明は、第１〜第８の何れかの発明のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００２６】
この第９の発明によれば、コンピュータに、情報記憶媒体からプログラムを読み出させて演算処理させることによって、第１〜第８の何れかの発明と同様の効果を奏する情報記憶媒体を実現することができる。
【発明の効果】
【００２７】
本発明によれば、視点からの距離が仮想空間中の注目位置より遠い位置に存在するオブジェクトと、大きさが所定条件を満足するオブジェクトとを描画する。そして、注目位置に対応するゲーム画像中の領域のＺ値を視点近傍の値に変更した後で、視点からの距離が当該注目位置より近い位置に存在するオブジェクトであって、大きさが所定条件を満足しないオブジェクトを描画する。これによれば、注目位置より手前側に存在し、且つ大きさが前記所定条件を満足しないオブジェクトのうち、当該注目位置に対応するゲーム画像中の領域に含まれる部分の描画を防止することができる。したがって、注目位置の手前側に存在し、大きさが所定条件を満足するオブジェクトの存在を確実に視認可能としつつ、注目位置の視認が可能なゲーム画像を生成することができる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照し、本発明を適用したゲーム装置について詳細に説明する。本実施形態は、本発明のゲームを、球オブジェクト（以下、単に「球」という。）を、他のオブジェクト（以下、「配置物」という。）と接触・結合させながら雪だるま式に大きくしていくゲーム（大玉転がしゲーム）に適用した場合の実施形態である。
【００２９】
［ゲーム装置の構成］
図１は、本実施形態におけるゲーム装置を家庭用ゲーム機１２００に適用した場合の装置構成の一例を示す図である。図１に示す家庭用ゲーム機１２００は、ゲームコントローラ１２１０と、本体装置１２２０と、スピーカ１２３２を有するディスプレイ１２３０とを備え、ゲームコントローラ１２１０は本体装置１２２０に接続され、ディスプレイ１２３０は画像信号及び音信号等を伝送可能なケーブルによって本体装置１２２０に接続されている。
【００３０】
ゲームコントローラ１２１０は、プレーヤがゲーム操作を入力するためのものであって、方向キー１２１２や操作ボタン１２１４等を有し、操作信号を本体装置１２２０に出力する。
【００３１】
この家庭用ゲーム機１２００では、ゲーム処理を実行するために必要なプログラムやデータ等を格納する情報記憶媒体として、本体装置１２２０に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭやＤＶＤ等の情報記憶媒体１２４０が用いられる。或いは、ゲームプログラムやゲームデータは、本体装置１２２０に具備された通信装置１２２４を介して通信回線Ｎに接続し、外部装置から取得することとしてもよい。ここで言う通信回線Ｎとは、データ授受が可能な通信路を意味する。すなわち、通信回線Ｎとは、直接接続のための専用線（専用ケーブル）やイーサネット（登録商標）等によるＬＡＮの他、電話通信網やケーブル網、インターネット等の通信網を含む意味であり、また通信方法については有線／無線を問わない意味である。
【００３２】
一方、ゲーム中の所定のタイミングやプレーヤによるセーブ操作等に応じてゲームの進行状況に関する情報を含むデータが書き込まれる情報記憶媒体として、メモリカード１２５２やＩＣカード１２５４等の情報記憶媒体が用いられる。
【００３３】
本体装置１２２０は、ＣＰＵやＩＣメモリ類を搭載した制御ユニット１２２２や、情報記憶媒体１２４０の読取装置等を具備し、情報記憶媒体１２４０から読み出したプログラムやデータ、ゲームコントローラ１２１０から入力される操作信号等に基づいて種々のゲーム処理を実行し、ゲーム画面の画像信号及びゲーム音の音信号を生成する。そして、画像信号及び音信号をディスプレイ１２３０に出力し、ディスプレイ１２３０にゲーム画像を表示させるとともに、スピーカ１２３２からゲーム音を出力させる。プレーヤは、ディスプレイ１２３０に表示されるゲーム画像を見ながらゲームコントローラ１２１０を操作して、ゲームを楽しむ。
【００３４】
［概要］
図２（ａ）は、３次元仮想空間の一例を示す斜視図、（ｂ）は、（ａ）に示す３次元仮想空間の画像（ゲーム画面）を示す図である。尚、図２（ａ）では、３次元仮想空間の座標系（ワールド座標系）を（Ｘｗ，Ｙｗ，Ｚｗ）と表記している。
【００３５】
本実施形態のゲームは、プレーヤがキャラクタＣとなり、接触した配置物をその表面に結合させる球Ｂを転がして歩く設定となっている。見かけ上はキャラクタＣが球Ｂを押しているが、球Ｂがプレーヤの操作対象である操作対象オブジェクトに該当する。プレーヤは、ゲームステージ上に配置されている様々な配置物に球Ｂを接触・結合させながら、球Ｂを雪だるま式に大きくしていく。
【００３６】
詳細には、球Ｂは、大きさが所定の結合条件を満足する配置物を結合することができる。結合条件は、例えば球Ｂの大きさに基づいて決定される結合基準サイズを閾値とする条件であり、配置物の大きさが結合基準サイズ以下ならば結合できるが、これを超える大きさの配置物は結合できない。例えば、球Ｂの現在の大きさの１／５のサイズが結合基準サイズとされる。図２（ａ）の場合では、リンゴ（Ｅ１１）、空き缶（Ｅ１２）は結合できるが、ドラム缶（Ｅ１３）やダンボール箱（Ｅ１４）、木（Ｅ１５）は結合できない。プレーヤは、結合できそうにない大きさの配置物を見極めて回避しながら、球Ｂを大きくしていく。
【００３７】
また本実施形態では、仮想カメラＣＭは、図２（ａ）に示すように球Ｂから所定の間隔を隔てた後方からやや見下ろすようにして配置され、球Ｂの中心点の位置を視線方向とし、球Ｂに追従して移動制御される。
より詳細には、仮想カメラの配置位置は、球Ｂの現在の大きさに応じて変更されるようになっている。図３は、カメラ制御の概念を説明するための図である。上記したように、ゲームの進行と共に球ＢはＢ１からＢ２、Ｂ２からＢ３と次第に大きくなるが、この球Ｂの大きさ変化（Ｂ１→Ｂ２→Ｂ３・・・）に応じて仮想カメラＣＭの配置位置が変更される（ＣＭ１→ＣＭ２→・・・）。
【００３８】
尚、本実施形態では、ゲーム画面を表示するための画像は、Ｚバッファ法による陰面消去処理を用いて生成される。Ｚバッファ法とは、生成された画像の色を画素毎に記憶するフレームバッファとは別に、描かれた画像のＺ値（奥行値）を画素毎に記憶するＺバッファを使う方法であり、Ｚバッファに格納されているＺ値に応じてフレームバッファへの書き込み（色情報の更新）の有無が決定される。
【００３９】
ところで、前述のように、仮想カメラＣＭは、球Ｂから後方に所定の間隔を隔てて配置されるため、仮想カメラＣＭと球Ｂとの間に配置物が存在し、球Ｂの表示を妨げるといった事態が起こり得る。図２（ａ）の場合では、仮想カメラＣＭと球Ｂとの間に、リンゴ（Ｅ１１）やドラム缶（Ｅ１３）が存在している。このため、陰面消去処理を施して視点の最近接位置に存在するオブジェクトを優先的に描画した場合、球Ｂは、リンゴ（Ｅ１１）やドラム缶（Ｅ１３）によって隠されてしまう。本実施形態では、係る状況に備え、所定のくり抜き処理を行って球Ｂを視認可能に表示する。
【００４０】
このくり抜き処理では、先ず３次元仮想空間内を、球Ｂの位置を基準とする近景と遠景の各領域に分割する。そして、遠景領域の描画を最初に行い、Ｚ値を操作した後に近景領域の描画を行うが、本実施形態では、近景領域内の配置物のうち、上記した結合条件を満たさない配置物はくり抜き処理の対象とせずにＺ値を操作する前に描画する。図２（ｂ）の場合では、ドラム缶（Ｅ１３）の一部が描画されずに球Ｂが視認可能となっている一方、結合条件を満足する配置物であるリンゴ（Ｅ１１）は、くり抜き処理の対象とはならずに描画されている。すなわち、ドラム缶（Ｅ１３）はＺ値を操作した後に描画されるが、リンゴ（Ｅ１１）はＺ値を操作する前に描画される。
【００４１】
さらに本実施形態では、近景領域内の配置物それぞれについて、仮想カメラＣＭの視線方向との当たり判定を行う。そして、当たり無しの場合（仮想カメラＣＭの視線方向と交差しない場合）には、当該配置物をくり抜き処理の対象とせずにＺ値を操作する前に描画する。
【００４２】
図４は、この場合のゲーム画面の一例を示す図である。図４では、球Ｂの手前側にドラム缶（Ｅ１３）が存在しており、球Ｂの一部が隠されている。すなわち、同図のように、球Ｂの中心位置に向けて設定される仮想カメラＣＭの視線方向と交差しない配置物は当たり無しと判定され、くり抜き処理の対象とはならない。尚これは、球Ｂの影を矛盾なく描画するための処理である。具体的には、本実施形態ではＺ値を操作する前に球Ｂの影を描画するため、近景領域で、くり抜き処理の対象となった配置物には影が描画されなくなってしまう。そこで、当たり判定の結果当たり無しと判定された配置物は球Ｂの表示を妨げる障害物とはならないため、くり抜き対象オブジェクトとせずにＺ値を操作する前に描画して、影が描画されるようにする。
【００４３】
（くり抜き処理）
ここで、くり抜き処理について説明する。尚、以下では、くり抜き処理の対象とする配置物を、適宜「くり抜き対象オブジェクト」という。このくり抜き処理は、３次元仮想空間内に配置された仮想カメラＣＭの座標系（視点座標系）における奥行値が球Ｂよりも手前側（視点寄り；すなわち近景領域内）に存在する配置物（くりぬき対象オブジェクト）に対して施される処理である。詳細には、くり抜き対象オブジェクトのうち、所定の範囲（以下、「くり抜き領域」という。）に含まれる部分の描画を防止するものであり、Ｚバッファの値（Ｚ値）を操作することによって実現される。くり抜き領域は、ゲーム画像中で球Ｂ及びキャラクタＣを視認可能とするための領域であり、その大きさは、球Ｂの現在の大きさに基づいて決定される。尚、前述のように、本実施形態では、近景領域内に存在する配置物の中であってもくり抜き処理の対象としない配置物もあるが、ここでは近景領域内の配置物を全てくり抜き処理の対象とすることとして説明する。
【００４４】
具体的に説明する。先ず、視点座標系における視界を、球Ｂの現在位置を基準とした遠景と近景の各領域に分割する。そして、球Ｂを含む遠景領域に存在する配置物について順次フレームバッファ上に描画し、遠景領域の配置物の描画が完了した後に、近景領域に存在する配置物について順次フレームバッファに描画していく。但し、近景領域の描画の前に、くり抜き領域内のＺ値を視点の最近接の値に変更するＺ値変更処理を行う。これにより、Ｚ値を変更したくり抜き領域内における近景領域の描画を防止し、遠景領域の画像を視認可能とする。
【００４５】
図５は、３次元仮想空間の一例を示す概略斜視図である。図５に示すＺ軸は、視点座標系でのＺ軸であり、図５に示すように、視点座標系における球Ｂの現在位置（ＸB、ＹB、ＺB）を基準として、ＺB≦Ｚを満たす領域Ｆ２１を遠景領域とし、ＺB＞Ｚを満たす領域Ｆ２３を近景領域とする。図５では、配置物Ｅ２１，Ｅ２２，Ｅ２３及び球Ｂ（詳細にはキャラクタＣを含むが、図５中では図示略）が遠景領域に存在し、配置物Ｅ２４，Ｅ２５，Ｅ２６が近景領域に存在する。この場合には、球Ｂ及び配置物Ｅ２１，Ｅ２２，Ｅ２３を描画し、Ｚ値変更処理によってＺバッファを操作した後に近景領域の配置物Ｅ２４，Ｅ２５，Ｅ２６を描画する。
【００４６】
ここで、図６及び図７を参照して、Ｚ値変更処理について説明する。Ｚ値変更処理は、Ｚバッファ上にマッピングするためのテクスチャ（以下、Ｚテクスチャという）を用いて行う。図６は、Ｚテクスチャ７００の一例を示す図である。同図によれば、Ｚテクスチャ７００は、一辺の大きさが１で正規化された２次元座標系（ｕ，ｖ）で定義され、非描画とする範囲（すなわちくり抜き領域）７１０には、Ｚ値として視点の最近接（或いは視点近傍）の値が与えられる。また、非描画とする範囲７１０以外の部分は、Ｚ値を持たない（定義しない）。
【００４７】
尚、ＺテクスチャをマッピングするＺバッファ上の範囲の大きさは、一定であってもよいし、可変的であってもよいが、例えば、球Ｂの現在の大きさに応じて決定する。具体的には、球Ｂ（詳細にはキャラクタＣを含む）を陰面消去処理せずに投影変換処理した場合の、フレームバッファ中の球Ｂ全体を含む範囲がくり抜き領域となるように、対応するＺバッファ上の範囲にＺテクスチャをマッピングする。前述のように、ゲームの進行に伴い球Ｂの大きさが変化するが、これに応じてくり抜き領域の大きさも変化することとなる。また、Ｚテクスチャをマッピングする位置は、注目位置である球Ｂの中心位置を基準とする。
【００４８】
図７は、Ｚバッファ６９０におけるＺテクスチャのマッピング範囲６９１の一例を示す図である。尚、図７では、Ｚバッファ６９０上の座標系を（ｘ，ｙ）と表記している。例えば、Ｚテクスチャをマッピングするマッピング範囲６９１の画素数を、（ｘ軸上の画素数，ｙ軸上の画素数）＝（ｎ，ｍ）とする。この場合には、フレームバッファの座標系（ｘ，ｙ）に変換された球Ｂの中心位置（ｘB、ｙB）に、Ｚテクスチャの中心点を配置する。そして、Ｚバッファ６９０上の座標（ｘB−ｎ／２，ｙB−ｍ／２）の画素にＺテクスチャの（ｕ，ｖ）＝（０，０）の値を代入し、Ｚバッファ６９０上の座標（ｘB＋ｎ／２，ｙB＋ｍ／２）の画素に（ｕ，ｖ）＝（１，１）の値を代入する。すなわち、Ｚバッファ６９０におけるマッピング範囲の任意の画素（ｘ，ｙ）には、Ｚテクスチャの座標
ｕ＝（１／ｎ）×（ｘ−（ｘB−ｎ／２））
（但し、（ｘB−ｎ／２）＜ｘ＜（ｘB＋ｎ／２））
ｖ＝（１／ｍ）×（ｙ−（ｙB−ｍ／２））
（但し、（ｙB−ｍ／２）＜ｙ＜（ｙB＋ｍ／２））
の値を代入する。尚、読み出したＺテクスチャの座標（ｕ，ｖ）にＺ値が定義されていない場合には、Ｚバッファ６９０の対応する画素の値は更新しない。
【００４９】
図８（ａ）は、Ｚバッファ６９０に格納されているデータを模式的に示す図である。同図において、円で囲まれた領域６９３が、上記Ｚ値変更処理により値が変更された部分、すなわち、くり抜き領域を示す。また。図８（ｂ）は、図５に示す３次元仮想空間の遠景画像を記憶したフレームバッファ６８０の模式図であり、図８（ａ）に示すくり抜き領域６９３を破線円によって便宜的に表示したものである。
【００５０】
Ｚ値変更処理を行ったならば、続いて近景領域の配置物を描画する。図９（ａ）〜（ｃ）は、上記したＺ値変更処理の後、図５に示す３次元仮想空間における近景領域の配置物Ｅ２４，Ｅ２５，Ｅ２６を順次描画した例を示す図である。図９（ａ）〜（ｃ）に示すように、生成されたゲーム画像では、近景領域に存在する配置物のうちのＺ値変更処理によってＺ値が視点近傍の値に変更された部分が描画されず、くり抜き領域に相当する球Ｂ及びキャラクタＣを含む範囲を視認可能に表示される。
【００５１】
図１０は、図５に示す３次元仮想空間において、Ｚ値変更処理によって描画が防止される空間Ｓ１を１点鎖線により示したものである。図１０に示すように、Ｚ値変更処理を施すことによって、実際には配置しないが、オブジェクトＯ２０を配置したものと同様の効果が発生する。すなわち、近景領域であって、オブジェクトＯ２０の背面である空間Ｓ１は描画されない。
【００５２】
このように、非描画とする範囲のＺバッファ６９０の値を操作するＺ値変更処理によって、球Ｂよりも手前側（視点寄り）の位置に配置物が存在する場合であっても、球Ｂを視認可能なゲーム画面を生成することができる。
【００５３】
［機能構成］
図１１は、本実施形態におけるゲーム装置１の機能構成の一例を示すブロック図である。図１１に示すように、ゲーム装置１は、操作部１００と、処理部２００と、表示部３００と、音出力部４００と、通信部５００と、記憶部６００とを備えて構成されている。
【００５４】
操作部１００は、ゲーム装置１を操作するプレーヤが各種のゲーム操作を入力するための装置であり、操作部１００から入力される操作信号は処理部２００に出力される。この操作部１００は、例えばボタンスイッチ、レバー、ダイヤル、マウス、キーボード、各種センサによって実現され、図１ではゲームコントローラ１２１０がこれに該当する。
【００５５】
処理部２００は、ゲーム装置１全体の制御、ゲーム装置１内の各機能部への指示、画像処理、音処理等の各種処理を行う。この処理部２００の機能は、各種プロセッサ（ＣＰＵ，ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）等のハードウェアや、所与のプログラムにより実現されるものである。
【００５６】
この処理部２００は、主な機能部として、ゲーム演算部２１０と、画像生成部２３０と、音生成部２５０とを含み、１フレーム時間（１／６０秒）で１枚の画像を生成して表示部３００に表示出力させるとともに、適宜効果音やＢＧＭを音出力部４００に音出力させる。
【００５７】
ゲーム演算部２１０は、操作部１００から入力される操作信号、記憶部６００から読み出したプログラムやデータ等に基づいて大玉転がしゲームを実現するための種々のゲーム処理を実行し、処理結果を画像生成部２３０や音生成部２５０に出力する。ゲーム処理としては、例えば３次元仮想空間の設定処理、３次元仮想空間への球Ｂや配置物等のオブジェクトの配置処理、球Ｂの回転移動制御に係る処理、オブジェクトの接触判定処理、ゲーム結果の算出処理等が挙げられる。このゲーム演算部２１０には、ゲームの進行状況に応じて仮想カメラＣＭを制御するカメラ制御部２１１と、結合制御部２１３とが含まれる。
【００５８】
結合制御部２１３は、球Ｂと配置物の結合に係る処理を実行する。具体的には、結合制御部２１３は、球Ｂと配置物とが接触した場合に、球Ｂの現在の大きさに応じた結合基準サイズを決定し、当該接触した配置物の大きさが前記結合基準サイズ以下ならば球Ｂに結合させる。結合に際しては、先ず接触位置を求め、当該配置物が接触位置又はその近傍で球Ｂに結合したように、球Ｂを「親」、配置物を「子」とする親子関係（階層関係）を設定することによって実現する。
【００５９】
画像生成部２３０は、例えば、ＣＰＵやＤＳＰ等のハードウェアやその制御プログラム等によって実現される。この画像生成部２３０は、ゲーム演算部２１０による処理結果に基づいて幾何変換処理やシェーディング処理を実行してゲーム画像を生成し、生成したゲーム画像の画像信号を表示部３００に出力する。この画像生成部２３０には、描画順設定部２３１と、上記したＺ値変更処理を実行するＺ値変更処理部２３３とが含まれる。
【００６０】
描画順設定部２３１は、描画順設定処理を実行し、ゲームステージ上の配置物の描画順を設定する。詳細は後述するが、描画順設定部２３１は、視点座標系における視界を、球Ｂの現在位置を基準とした遠景と近景の各領域に分割し、配置物を、遠景領域内に存在する配置物と、近景領域内に存在する配置物とに振り分ける。さらに、近景領域内に存在する配置物を、その大きさや、仮想カメラＣＭの視線方向との当たり判定結果等に基づいて振り分ける。
【００６１】
音生成部２５０は、例えば、ＣＰＵやＤＳＰ等のハードウェアやその制御プログラムによって実現される。この音生成部２５０は、ゲーム演算部２１０による処理結果に基づいて、ゲーム中に使用される効果音やＢＧＭ等のゲーム音を生成し、生成したゲーム音の音信号を音出力部４００に出力する。
【００６２】
表示部３００は、画像生成部２３０から入力される画像信号に基づいて各種ゲーム画像を表示するための装置であり、図１ではディスプレイ１２３０がこれに該当する。プレーヤは、表示部３００に表示されるゲーム画像を見ながら操作部１００を操作してゲームを楽しむ。
【００６３】
音出力部４００は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力するための装置であり、図１ではスピーカ１２３２がこれに該当する。
【００６４】
通信部５００は、通信回線を介して外部とのデータ通信を行う。この通信部５００の機能は、例えば無線通信モジュール、モデム、ＴＡ、有線用の通信ケーブルのジャックや制御回路等によって実現される。
【００６５】
記憶部６００には、処理部２００にゲーム装置１を統合的に制御させるためのシステムプログラムや、ゲームを実行させるために必要なプログラム及びデータが格納される。この記憶部６００の機能は、例えばＩＣメモリやハードディスク、メモリカード等により実現されるものであり、図１では、情報記憶媒体１２４０、メモリカード１２５２やＩＣカード１２５４、制御ユニット１２２２に搭載されるＩＣメモリ等がこれに該当する。
【００６６】
特に、本実施形態を実現するため、記憶部６００にはゲームプログラム６１０と、画像生成プログラム６２０とが格納される。ゲームプログラム６１０は、処理部２００をカメラ制御部２１１として機能させるためのカメラ制御プログラム６１１と、結合制御部２１３として機能させるための結合制御プログラム６１３とを含む。また画像生成プログラム６２０は、処理部２００を描画順設定部２３１として機能させるための描画順設定プログラム６２１と、Ｚ値変更処理部２３３として機能させるためのＺ値変更処理プログラム６２３とを含む。
【００６７】
また、データとして、ステージ情報６３０と、配置物情報６４０と、カメラデータ６５０と、球データ６６０と、描画順制御用データ６７０とを含む。
【００６８】
ステージ情報６３０は、大玉転がしゲームのゲームステージをゲーム画面上に表示するためのデータを記憶する。例えば、ステージの背景画像、当該ステージ上に配置される配置物の種類や配置位置、姿勢等のデータが、ステージ毎に用意される。
【００６９】
配置物情報６４０は、３次元仮想空間内に配置される配置物に関するデータを記憶する。具体的には、配置物を定義するためのモデリングデータやテクスチャデータ、色情報（ＲＧＢ値及びα値）等のデータ、その大きさ（体積）に応じたバウンダリボックス（「バウンディングボリューム」とも言う。）のデータ等を含み、配置物の種類毎に用意される。
【００７０】
カメラデータ６５０は、カメラ制御部２１１によって制御される仮想カメラＣＭの配置位置や視線方向、画角等の設定値を随時更新・記憶する。
【００７１】
球データ６６０は、３次元仮想空間内に配置される球Ｂに関するデータであり、球表示用モデル６６１と、結合リスト６６３と、バウンダリボックスデータ６６５と、半径６６７とを含む。
【００７２】
球表示用モデル６６１及び結合リスト６６３は、球Ｂを定義するためのデータである。
球表示用モデル６６１は、配置物が結合していない初期状態での球Ｂのモデリングデータ、テクスチャデータ等を記憶する。
結合リスト６６３は、結合済みの配置物のデータを、球Ｂを「親」とした階層構造のデータとして記憶する。具体的には、結合した順に、結合した配置物の種類を、当該配置物の接触位置である結合位置や接触時の姿勢等とともに記憶する。
すなわち、ゲーム画面上に表示される球Ｂは、球表示用モデル６６１に、結合リスト６６３に登録されている配置物が一体的に付属するモデルとして表示される。
【００７３】
バウンダリボックスデータ６６５は、球表示用モデルの大きさ（体積）と結合済みの配置物の大きさ（体積）との総和に応じたバウンダリボックス（詳細には、例えば球Ｂ及び結合済みの配置物の体積和と等しい体積の球体を内接する直方体）のデータを随時更新・記憶する。本実施形態では、このバウンダリボックスデータ６６５によって、球Ｂの現在の大きさが判別される。
半径６６７は、例えば前述の球Ｂ及び結合済みの配置物の体積和と等しい体積の球体の半径であり、本実施形態では、球Ｂの影を描画する際に参照される。
【００７４】
描画順制御用データ６７０は、ゲーム画像を生成する際の配置物の描画順を記憶する。後述するように、描画順設定部２３１が実行する描画順設定処理の結果、ゲームステージ上の配置物は、遠景領域に存在する配置物である「遠景グループ」と、近景領域に存在する配置物のうち、１）その大きさが結合基準サイズ以下の配置物、及び仮想カメラＣＭの視線方向との当たり判定の結果当たり無しと判定された配置物である「近景グループＡ」、２）半透明オブジェクトである「近景グループＢ」、３）「近景グループＡ」及び「近景グループＢ」の何れにも属さない配置物である「近景グループＣ」とにグループ分けされる。描画順制御用データ６７０は、このグループ分けのデータを記憶する。
【００７５】
また、記憶部６００は、画像生成部２３０により生成される１フレーム分の画像を記憶するフレームバッファ６８０と、フレームバッファ６８０に記憶された画像の画素毎の奥行値（Ｚ値）を記憶するＺバッファ６９０とを含む。
【００７６】
［処理の流れ］
次に、図１１〜図１５を参照して、ゲーム装置１が実行する処理の流れについて説明する。
図１１は、本実施形態におけるゲーム処理の流れを説明するためのフローチャートである。尚、このゲーム処理は、処理部２００がカメラ制御プログラム６１１及び結合制御プログラム６１３を含むゲームプログラム６１０を読み出して実行することにより実現されるものである。
【００７７】
ゲーム処理では、球Ｂの移動操作の入力に応じて（ステップａ１０）、先ずゲーム演算部２１０が、球Ｂの回転移動を制御する（ステップａ２０）。
【００７８】
続いて結合制御部２１３が、球Ｂと配置物との接触判定を行う。例えば、球Ｂ及びゲームステージ上の配置物それぞれのバウンダリボックスのデータをもとに、球Ｂと接触した配置物の有無を判定する。球Ｂと配置物とが接触した場合には（ステップａ３０：ＹＥＳ）、結合制御部２１３は、球Ｂの現在の大きさに基づいて結合基準サイズを決定する（ステップａ４０）。例えば、球Ｂの現在の大きさの１／５の大きさを結合基準サイズとして算出する。
【００７９】
そして、結合制御部２１３は、当該接触した配置物の大きさが結合基準サイズ以下ならば（ステップａ５０：ＹＥＳ）、配置物結合処理を実行して接触した配置物を球Ｂに結合させる（ステップａ６０）。具体的には、結合順に応じた球Ｂと当該配置物の親子関係（階層関係）を設定するとともに、当該配置物との接触位置を結合位置とし、接触時の姿勢とともに結合リスト６６３に登録する。尚このとき、結合された配置物に応じて、球Ｂのバウンダリボックスデータ６６５や半径６６７が更新される。
【００８０】
続いて、カメラ制御部２１１が、カメラ制御処理を実行する（ステップａ７０）。具体的には、カメラ制御部２１１は、ステップａ２０の回転制御処理の結果や、ステップａ６０の配置物結合処理の結果に基づいて、仮想カメラＣＭの配置位置、視線方向、画角等の各設定値を変更し、カメラデータ６５０を更新する。
【００８１】
続いて、画像生成部２３０が、画像生成処理を実行してゲーム画面を生成する（ステップａ８０）。図１３は、画像生成処理の流れを説明するためのフローチャートである。尚、ここで説明する処理は、処理部２００が描画順設定プログラム６２１及びＺ値変更処理プログラム６２３を含む画像生成プログラム６２０を読み出して実行することにより実現されるものである。
【００８２】
画像生成処理では、先ず描画順設定部２３１が、描画順設定処理を実行する（ステップｂ１０）。図１４は、描画順設定処理の流れを説明するためのフローチャートである。
【００８３】
描画順設定処理では、描画順設定部２３１は、ゲームステージ上に配置された配置物をそれぞれ処理対象とし、ループＡの処理を実行する（ステップｃ１０〜ステップｃ１３０）。以下、ループＡで処理の対象とする配置物を「当配置物」という。
【００８４】
ループＡでは、描画順設定部２３１は、先ず視点座標系における奥行値に基づき、当配置物が球Ｂの現在位置よりも手前側（すなわち近景領域内）に存在するか否かを判定する。そして、描画順設定部２３１は、近景領域内に存在しないならば（ステップｃ２０：ＮＯ）、当配置物を「遠景グループ」に登録して描画順制御用データ６７０を更新し（ステップｃ３０）、当配置物に関するループＡ内の処理を終了する。例えば、描画順設定部２３１は、当配置物のバウンダリボックスの全部が遠景領域内に含まれるならば当配置物を「遠景グループ」に登録し、一部でも近景領域内に含まれるならば、当配置物は近景領域内に存在すると判定して、ステップｃ４０に移行する。
【００８５】
ステップｃ４０では、描画順設定部２３１は、当配置物の大きさがステップａ４０で算出した結合基準サイズ以下か否かを判定し、以下ならば（ステップｃ４０：ＹＥＳ）、当配置物を「近景グループＡ」に登録して描画順制御用データ６７０を更新し（ステップｃ５０）、当配置物に関するループＡ内の処理を終了する。
【００８６】
一方、当配置物の大きさが結合基準サイズを超えている場合には（ステップｃ４０：ＮＯ）、描画順設定部２３１は、仮想カメラＣＭ及び球Ｂの現在位置に基づいて視錐台Ｓを定義し、当配置物が視錐台Ｓ内に存在するか否かを判定する。図１５は、ここで定義される視錐台Ｓの一例を示す図である。この視錐台Ｓは、図１０に示した描画が防止される空間Ｓ１に相当する。
【００８７】
そして、描画順設定部２３１は、視錐台Ｓ内に存在しないならば（ステップｃ６０：ＮＯ）、当配置物を「近景グループＡ」に登録して描画順制御用データ６７０を更新し（ステップｃ７０）、当配置物に関するループＡ内の処理を終了する。例えば、描画順設定部２３１は、当配置物のバウンダリボックスの全部が視錐台Ｓ外にあるならば当配置物を「近景グループＡ」に登録し、一部でも視錐台Ｓ内に含まれるならば、当配置物は視錐台Ｓ内に存在すると判定して、ステップｃ８０に移行する。
【００８８】
ステップｃ８０では、描画順設定部２３１は、当配置物が半透明オブジェクトか否かを判定する。半透明オブジェクトならば（ステップｃ８０：ＹＥＳ）、描画順設定部２３１は、当配置物を「近景グループＢ」に登録して描画順制御用データ６７０を更新し（ステップｃ９０）、当配置物に関するループＡ内の処理を終了する。
【００８９】
一方、当配置物が半透明オブジェクトでない場合には（ステップｃ８０：ＮＯ）、描画順設定部２３１は、当配置物と仮想カメラＣＭの視線方向との当たり判定を行う（ステップｃ１００）。例えば、描画順設定部２３１は、カメラデータ６５０を参照し、その視線方向が当配置物のバウンダリボックスと交差するか否かによって、当たりの有無を判定する。そして、描画順設定部２３１は、当たり無し（すなわち交差しない）と判定したならば、当配置物を「近景グループＡ」に登録して描画順制御用データ６７０を更新し（ステップｃ１１０）、当配置物に関するループＡ内の処理を終了する。一方、当たり有り（すなわち交差する）と判定したならば、当配置物を「近景グループＣ」に登録して描画順制御用データ６７０を更新し（ステップｃ１２０）、当配置物に関するループＡ内の処理を終了する。
【００９０】
描画順設定部２３１は、ゲームステージ上の全ての配置物についてループＡの処理を実行し、描画順制御用データ６７０に登録したならば、ループＡを終了して本処理を終了する。
【００９１】
図１３に戻り、描画順設定部２３１による描画順設定処理が終了したならば、画像生成部２３０は、Ｚバッファ法による陰面消去処理等を行って仮想カメラＣＭから見た３次元仮想空間の画像を生成し、Ｚバッファ６９０を更新しつつフレームバッファ６８０に描画する処理を行う。
【００９２】
すなわち、画像生成部２３０は、先ずゲームステージの背景を描画する（ステップｂ２０）。そして、画像生成部２３０は描画順制御用データ６７０を参照し、「遠景グループ」に登録された配置物を順次描画し（ステップｂ３０）、続いて「近景グループＡ」に登録された配置物を順次描画する（ステップｂ４０）。
【００９３】
そして、画像生成部２３０は、半径６６７の所定色の円を球Ｂの現在位置から鉛直方向に平行投影することによって陰影付け処理をし、球Ｂの影を描画した後（ステップｂ５０）、続いて球Ｂ及び球Ｂを押すキャラクタＣを描画する（ステップｂ６０）。
【００９４】
次に、画像生成部２３０は、描画順制御用データ６７０を参照し、「近景グループＢ」に登録された配置物を、当該配置物の透明度を表すα値に基づく半透明合成処理によって、順次描画する（ステップｂ７０）。
【００９５】
続いて、Ｚ値変更処理部２３３が、図６及び図７を参照して説明したＺ値変更処理を実行する（ステップｂ８０）。具体的には、球Ｂの現在位置及び現在の大きさに応じたくり抜き領域を決定し、このくり抜き領域に対応するＺバッファ６９０のＺ値を最近接の値に変更する。最後に、画像生成部２３０は、描画順制御用データ６７０を参照し、「近景グループＣ」に登録された配置物を順次描画して（ステップｂ９０）、本処理を終了する。
【００９６】
図１１に戻り、画像生成部２３０は、ステップａ８０の画像生成処理の結果生成した画像を表示部３００に出力してゲーム画面を表示させる（ステップａ９０）。尚ここで、効果音などのゲーム音を出力する場合には、音生成部２５０がゲーム音を生成して音出力部４００から出力させる。
【００９７】
そして、ゲーム演算部２１０は、例えばプレイ開始からの経過時間等であるゲーム終了条件を満足した場合には（ステップａ１００：ＹＥＳ）、本処理を終了する。
【００９８】
［ハードウェア構成］
次に、図１６を参照して、本実施形態におけるゲーム装置１を実現するためのハードウェア構成の一例について説明する。図１６に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、ＶＲＡＭ１００５、情報記憶媒体１００６、画像生成ＩＣ１０１０、音生成ＩＣ１００８、Ｉ／Ｏポート１０１２，１０１４がシステムバス１０１６により相互にデータ入出力可能に接続されている。また、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が、Ｉ／Ｏポート１０１４には通信装置１０２４が、それぞれ接続されている。
【００９９】
ＣＰＵ１０００は、情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、装置全体の制御や各種データ処理を行う。
【０１００】
ＲＡＭ１００４は、ＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２内の所与の内容、ＣＰＵ１０００の演算結果等が格納される。
ＶＲＡＭ１００５は、画像生成ＩＣ１０１０によって生成され、表示装置１０１８に表示される画像データを一時的に格納する記憶装置であり、１フレーム分の画像データを格納するためのフレームバッファ（図１１に示すフレームバッファ６８０に相当）を備える。
情報記憶媒体１００６は、プログラム、画像データ、音データ、プレイデータ等が主に格納されるものであり、情報記憶媒体として、ＲＯＭ等のメモリやハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、ＩＣカード、磁気ディスク、光ディスク等が用いられる。
尚、このＲＡＭ１００４、ＶＲＡＭ１００５、及び情報記憶媒体１００６は、図１１に示す記憶部６００に相当するものである。
【０１０１】
また、この装置に設けられている画像生成ＩＣ１０１０と音生成ＩＣ１００８により、音や画像の好適な出力が行えるようになっている。
【０１０２】
画像生成ＩＣ１０１０は、ＣＰＵ１０００の命令によって、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６等から送られる情報に基づいて画素情報を生成する集積回路であり、生成される表示信号は、表示装置１０１８に出力される。表示装置１０１８は、ＣＲＴやＬＣＤ、ＴＶ、プラズマディスプレイ、或いはプロジェクター等により実現され、図１１に示す表示部３００に相当する。
【０１０３】
また、音生成ＩＣ１００８は、ＣＰＵ１０００の命令によって、情報記憶媒体１００６やＲＯＭ１００２に記憶される情報、ＲＡＭ１００４に格納される音データに応じた音信号を生成する集積回路であり、生成される音信号はスピーカ１０２０によって出力される。尚、スピーカ１０２０は、図１１に示す音出力部４００に相当するものである。
【０１０４】
コントロール装置１０２２は、プレーヤがゲームに係る操作を入力するための装置であり、その機能は、レバー、ボタン、筐体等のハードウェアにより実現される。尚、このコントロール装置１０２２は、図１１に示す操作部１００に相当するものである。
【０１０５】
通信装置１０２４は装置内部で利用される情報を外部とやりとりするものであり、プログラムに応じた所与の情報を他の装置と送受すること等に利用される。尚、この通信装置１０２４は、図１１に示す通信部５００に相当するものである。
【０１０６】
そして、ゲーム処理等の上記した処理は、図１１に示して説明したゲームプログラム６１０等を格納した情報記憶媒体１００６と、これらプログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。ＣＰＵ１０００、画像生成ＩＣ１０１０、及び音生成ＩＣ１００８は、図１１に示す処理部２００に相当するものであり、主にＣＰＵ１０００が図１１に示すゲーム演算部２１０に、画像生成ＩＣ１０１０が図１１に示す画像生成部２３０に、音生成ＩＣ１００８が図１１に示す音生成部２５０に相当する。
【０１０７】
尚、画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００或いは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。この場合には、ＣＰＵ１０００が、図１１に示す処理部２００に相当することとなる。
【０１０８】
以上説明したように、本実施形態によれば、３次元仮想空間内を、球Ｂを基準とする近景と遠景に分割する。そして、領域の配置物を選出する。そして、遠景領域の描画を最初に行い、Ｚ値を操作した後に近景領域の描画を行うが、近景領域内の配置物のうち、休Ｂとの結合条件を満たさない配置物はくり抜き処理の対象とせずにＺ値を操作する前に描画する。これによれば、操作対象オブジェクトである球Ｂの手前側に存在する、大きさが球Ｂとの結合条件を満足する配置物の存在を確実に視認可能としつつ、球Ｂの視認が可能なゲーム画面を生成することができる。
【０１０９】
［変形例］
以上、本発明についての好適な実施形態について説明したが、本発明は、上記したものに限らず、発明の趣旨を逸脱しない限りにおいて適宜変更可能である。
【０１１０】
例えば、上記した実施形態では、球Ｂの影を描画するため、仮想カメラＣＭの視線方向との当たり判定を行い、当たり無しと判定した配置物はくり抜き処理の対象としないこととしたが、球Ｂの影を描画しない場合には、この当たり判定処理自体を行わないこととしてもよい。この場合には、描画順設定部２３１は、図１４に示すステップｃ１００〜ｃ１１０の処理を除く処理を描画順設定処理として行う。
【０１１１】
図１７は、この場合のゲーム画面の一例を示す図である。図１７では、球Ｂの手前側にドラム缶（Ｅ１３）が存在しており、球Ｂと重なる部分が描画されずに表示されている。このように、当たり判定を行わない場合には、球Ｂは、結合条件を満たさない大きさの配置物によって隠されることなく視認可能に表示される。
【０１１２】
また、仮想カメラＣＭの視線方向との当たり判定処理に替えて、配置物が３次元仮想空間中において球Ｂよりも下方に位置するか否かを判定する処理を行うこととしてもよい。この場合には、球Ｂよりも下方に位置する配置物をくり抜き処理の対象としないため、球Ｂの影を矛盾なく表現することが可能である。
【０１１３】
具体的には、描画順設定部２３１が、図１４に示す描画順設定処理に替えて、図１８に示す描画順設定処理を実行する。尚、図１４に示した描画順設定処理と同一の処理工程には同一の符号を付して、説明は省略する。
【０１１４】
すなわち描画順設定部２３１は、当該描画順設定処理として、ゲームステージ上に配置された配置物をそれぞれ処理対象とし、ループＢの処理（ステップｄ１０〜ステップｄ１３０）の処理を行う。そして、描画順設定部２３１は、ステップｃ８０において当配置物が半透明オブジェクトでないと判定した場合に、当配置物が球Ｂよりも下方に位置するか否かを判定する。当配置物が球Ｂよりも下方に位置するか否かの判定は、例えば、球Ｂ及び当配置物の代表点の位置関係によって判定する。そして、描画順設定部２３１は、球Ｂよりも下方に位置するならば（ステップｄ１００：ＹＥＳ）、当配置物を「近景グループＡ」に登録して描画順制御用データ６７０を更新する（ステップｄ１１０）。一方、球Ｂの下方に位置しないならば（ステップｄ１００：ＮＯ）、描画順設定部２３１は、当配置物を「近景グループＣ」に登録して描画順制御用データ６７０を更新する（ステップｄ１２０）。
【０１１５】
また、上記した実施形態では、球Ｂの現在の大きさに応じてくり抜き領域の大きさを決定することとしたが、以下のようにしてもよい。すなわち、近景領域内に存在する配置物であって、球Ｂの現在の大きさに基づく結合基準サイズを超える大きさの配置物が仮想カメラＣＭの視線方向と交差した時点で、時間経過の計時を開始する。そして、当該配置物と仮想カメラＣＭの視線方向とが交差しなくなるまでの間は、計時している時間経過に伴ってくり抜き領域の大きさを徐々に大きくしていくこととしてもよい。この場合、ゲーム画面としては、くり抜かれる（描画が防止される）部分が徐々に大きくなるように表現されることとなる。
【０１１６】
また、本発明を適用可能なゲームは、上記した大玉転がしゲームに限定されるものではなく、プレーヤの操作入力に従って操作対象オブジェクトの移動を制御するゲームであれば同様に適用可能である。具体的には、例えば、レースゲームやアクションゲーム、ＲＰＧゲーム等にも同様に適用が可能である。
【０１１７】
この場合には、操作対象オブジェクトの位置を注目位置とし、近景領域内に存在するオブジェクトのうち、大きさが、操作対象オブジェクト（例えば、レースゲームであれば車やバイク等）の大きさ以下の大きさを閾値とする小サイズ条件を満足するオブジェクトを「近景グループＡ」としてくり抜き処理の対象から外し、小サイズ条件を満足しないオブジェクトをくり抜き処理の対象としてもよい。具体的には、レースゲームであれば、近景領域内のオブジェクトのうち、レーシングコース上の操作対象オブジェクトより大きな壁や障害物等をくり抜き処理の対象とし、操作対象オブジェクトを視認可能に表示する。
【０１１８】
また、本発明は、図１に示した家庭用ゲーム機１２００だけでなく、業務用ゲーム機や携帯型ゲーム機、パソコン等の汎用コンピュータ、多数のプレーヤが参加する大型アトラクション装置等の種々の装置にも同様に適用することができる。
【０１１９】
例えば、図１９は、本発明のゲーム装置を業務用ゲーム機１３００に適用した場合の概観例を示す図である。図１９に示すように、業務用ゲーム機１３００はゲーム操作を入力する操作ボタン１３０２やスティック１３０４、ゲーム画像を表示するディスプレイ１３０６、ゲームの効果音やＢＧＭ等を音出力するスピーカ１３０８等を備えて構成されている。
【０１２０】
また、業務用ゲーム機１３００には、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装されたシステム基板１３１０が内蔵されており、システム基板１３１０上の情報記憶媒体であるメモリ１３１２から読み出したプログラムやデータ、或いは操作ボタン１３０２やスティック１３０４から入力される操作信号等に基づいて、各種のゲーム処理を実行する。尚、操作ボタン１３０２やスティック１３０４は図１１に示す操作部１００に、ディスプレイ１３０６は図１１に示す表示部３００に、スピーカ１３０８は図１１に示す音出力部に、それぞれ相当するものである。
【０１２１】
プレーヤは、スピーカ１３０８から出力されるゲーム音を聞きながら操作ボタン１３０２やスティック１３０４を操作し、ディスプレイ１３０６に表示されるゲーム画像を見ながら大玉転がしゲームを楽しむ。
【０１２２】
また、本発明は、スタンドアローンの装置によって実行されるゲームに限らず、ネットワークゲームと呼ばれているゲームに適用しても構わない。ネットワークゲームを実現するシステム構成としては、（１）家庭に設置してあるパソコンや家庭用ゲーム機等をゲーム端末とし、インターネット網や専用回線網等の有線／無線の通信回線を通じてサーバと接続する構成、（２）サーバを用いることなく複数のゲーム端末同士が通信回線で接続される構成、（３）複数のゲーム端末同士が通信回線で接続されるが、その内の１台がサーバ機能を有する構成、（４）複数のゲーム端末が物理的に結合し、全体として１台のシステム（例えば、業務用のゲームシステム）となっている構成、等がある。本発明は何れのシステム構成に対しても適用可能である。
【図面の簡単な説明】
【０１２３】
【図１】ゲーム装置を家庭用ゲーム機に適用した場合の装置構成例を示す図。
【図２】（ａ）は、３次元仮想空間の一例を示す斜視図、（ｂ）は、（ａ）に示す３次元仮想空間の画像（ゲーム画面）を示す図。
【図３】カメラ制御の概念を説明するための図。
【図４】ゲーム画面の他の例を示す図。
【図５】３次元仮想空間の一例を示す斜視図。
【図６】Ｚテクスチャの一例を示す図。
【図７】ＺバッファにおけるＺテクスチャのマッピング範囲の一例を示す図。
【図８】（ａ）はＺバッファに格納されているデータを模式的に示す図、（ｂ）は遠景画像を記憶したフレームバッファの模式図。
【図９】近景画像の描画例を示す図。
【図１０】くり抜き処理によって描画が防止される空間を示す図。
【図１１】ゲーム装置の機能構成の一例を示すブロック図。
【図１２】ゲーム処理の流れの一例を説明するためのフローチャート。
【図１３】画像生成処理の流れの一例を説明するためのフローチャート。
【図１４】描画順設定処理の流れの一例を説明するためのフローチャート。
【図１５】視錐台の一例を示す図である。
【図１６】ゲーム装置のハードウェア構成の一例を示す図。
【図１７】描画順設定処理の流れの変形例を説明するためのフローチャート。
【図１８】ゲーム画面の変形例を示す図。
【図１９】ゲーム装置を業務用ゲーム機に適用した場合の装置構成の一例を示す図。
【符号の説明】
【０１２４】
１              ゲーム装置
１００        操作部
２００        処理部
２１０      ゲーム演算部
２１１    カメラ制御部
２１３    結合制御部
２３０      画像生成部
２３１    描画順設定部
２３３    Ｚ値変更処理部
２５０      音生成部
３００        表示部
４００        音出力部
５００        通信部
６００        記憶部
６１０      ゲームプログラム
６１１    カメラ制御プログラム
６１３    結合制御プログラム
６２０      画像生成プログラム
６２１    描画順設定プログラム
６２３    Ｚ値変更処理プログラム
６３０      ステージ情報
６４０      配置物情報
６５０      カメラデータ
６６０      球データ
６６１    球表示用モデル
６６３    結合リスト
６６５    バウンダリボックスデータ
６６７    半径
６７０      描画順制御用データ
６８０      フレームバッファ
６９０      Ｚバッファ
【図１】
2006323540.tif 000003
【図２】
2006323540.tif 000004
【図３】
2006323540.tif 000005
【図４】
2006323540.tif 000006
【図５】
2006323540.tif 000007
【図６】
2006323540.tif 000008
【図７】
2006323540.tif 000009
【図８】
2006323540.tif 000010
【図９】
2006323540.tif 000011
【図１０】
2006323540.tif 000012
【図１１】
2006323540.tif 000013
【図１２】
2006323540.tif 000014
【図１３】
2006323540.tif 000015
【図１４】
2006323540.tif 000016
【図１５】
2006323540.tif 000017
【図１６】
2006323540.tif 000018
【図１７】
2006323540.tif 000019
【図１８】
2006323540.tif 000020
【図１９】
2006323540.tif 000021