JP2004000607A - ゲーム装置及び情報記憶媒体 - Google Patents
ゲーム装置及び情報記憶媒体 Download PDFInfo
- Publication number
- JP2004000607A JP2004000607A JP2003133367A JP2003133367A JP2004000607A JP 2004000607 A JP2004000607 A JP 2004000607A JP 2003133367 A JP2003133367 A JP 2003133367A JP 2003133367 A JP2003133367 A JP 2003133367A JP 2004000607 A JP2004000607 A JP 2004000607A
- Authority
- JP
- Japan
- Prior art keywords
- game
- transparent
- image
- virtual camera
- depth value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
【解決手段】仮想空間における視点100に基づく視界を、自キャラクタ102を基準として近景領域130と遠景領域132とに分割する(a)。まず、遠景領域132に存在する全てのオブジェクトについて描画し(c)、Zバッファにおける所与の範囲のZ値を視点に近い値に変更した後、近景領域130に存在するオブジェクトを描画する。あるいは、遠景領域132の全てのオブジェクトについて描画し(c)、フレームバッファにおける所与の範囲のα値を操作した後、色合成しつつ近景領域130のオブジェクトを描画する。
【選択図】 図4
Description
【発明の属する技術分野】
本発明は、オブジェクト空間における所与の視点に基づく画像を生成し、生成した画像を表示することにより所与のゲームを実行するゲーム装置等に関する。
【0002】
【従来の技術】
近年では、3次元の仮想空間(オブジェクト空間)を利用した様々なゲームが開発されている。これらのゲームにおいて、構築した仮想空間を描き出すための仮想的なカメラ(以下、視点という)は、ゲームの種類やモード、ステージ等に応じてそれぞれ適当な位置に配置されている。例えば、視点をプレーヤが操作するキャラクタ(以下、自キャラクタという)から離れた位置に配置した3人称視点や、自キャラクタの目線に基づくゲーム画像を生成する1人称視点のもの等が有る。また、3人称視点のゲームでは、視点を仮想空間の所定の位置に固定したものと、自キャラクタの移動に追従させるものとがある。
【0003】
しかし、3人称視点では、視点と自キャラクタとが離れた位置に配置されるために、他のオブジェクトが視点と自キャラクタとの間に入り込み、自キャラクタの表示を遮るといった状態が起こり得る。このとき、プレーヤは、的確に自キャラクタを操作できず、煩わしいといった印象を抱くこととなる。また、1人称視点にあっては、3人称視点と比較して、視点と被写体(仮想空間に存在するオブジェクト)との位置関係が近くなるため、視界が狭くなり、プレーヤにとって自キャラクタの存在位置を把握することが困難となる傾向が高かった。
これらの問題を打破するために、従来いくつかの対策が講じられてきた。例えば、特許文献1に開示された発明のように、視点と自キャラクタとの間に障害物となるオブジェクトの存在を認めた際には、視点を移動させて障害物を回避するといったものがある。あるいは、特許文献2に開示された発明のように、障害物を認めた場合、その障害物自体を透過あるいは半透過させることにより、障害物によって遮蔽された自キャラクタを表示するといったものもある。また、仮想空間に存在するオブジェクトと自キャラクタとの距離を判定し、所定の距離よりも近い位置に存在するオブジェクトを透過/半透過させるといったものもある。
【0004】
【特許文献1】
特開平7−85312号公報
【特許文献2】
特開平9−50541号公報
【0005】
【発明が解決しようとする課題】
しかしながら、例えば、障害物を認めた際に視点位置を変更する方法を採用した場合、その都度視点の位置が変更されることとなるため、例え、自キャラクタが障害物によって遮蔽される状況が瞬時に解消されるような場合であっても、視点位置が変更されることとなる。このため、視点の変更がかえって煩わしい印象を与える恐れがあった。あるいは、障害物自体に透過/半透過処理を施す方法を採用する場合、障害物となるオブジェクトの存在有無の判定や、視界内に存在する全てのオブジェクトに対して自キャラクタとの距離の判定等を実行しなければならず、処理効率の点で問題があった。
【0006】
本発明の課題は、上記の方法とは全く異なる方法により、障害物となるオブジェクトの存在有無に拘わらず、注目する位置を可視化することを目的とする。
【0007】
【課題を解決するための手段】
第1の発明は、オブジェクト空間における仮想カメラ(例えば、本実施の形態における視点)から見た奥行値を記憶するための記憶手段(例えば、図20に示すZバッファ248a)と、前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段(例えば、図19に示す画像生成部24、あるいは、図20に示す画像生成部24a)とを備えたゲーム装置であって、前記画像生成手段は、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させること(例えば、図21に示す透過処理AにおけるステップS18に示す処理)により、前記仮想カメラから見て当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除し、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現することを特徴とする。
【0008】
第19の発明は、プロセッサによる演算・制御により所与のゲームを実行することとなる装置に対して、オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段と、を機能させるための、前記プロセッサによる演算実行可能な情報を記憶する情報記憶媒体であって、前記画像生成手段を、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラから見て当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除し、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現するように、機能させるための情報を記憶することを特徴とする。
【0009】
ここで、擬似設定とは、オブジェクト空間に擬似的に設定することであって、必ずしもオブジェクト空間に設定(配置)することを意味するものではない。すなわち、オブジェクト空間には設定しないが、設定されているものとして扱うことをも含む意味である。例えば、透過オブジェクトをオブジェクト空間内に実際には配置せずに、奥行値を記憶する記憶手段の値のみを所与の値に変更するといった場合を含む。
【0010】
この第1または第19の発明によれば、描画したオブジェクトの奥行値を記憶し、その奥行値に基づいてオブジェクトの描画の有無を決定することによりなる陰面消去処理を利用して透過の表現を実現することができる。すなわち、ゲーム画像を生成する際に、奥行値を記憶する記憶手段における透過させたい範囲の値を、所与の値に変更することにより、その変更後の値よりも奥に存在するオブジェクトの描画を排除し、所望の範囲を透過させたゲーム画像を生成する。
【0011】
したがって、例えば、障害物の存在有無に拘わらず常にゲーム画像上に自キャラクタを表示したい場合には、自キャラクタを含む奥の画像を生成した後に、自キャラクタの表示範囲に係る記憶手段の奥行値を仮想カメラの近接値に変更すれば、自キャラクタの表示を妨げるオブジェクトの描画を排除することができる。このため、複雑な計算や障害物の存在有無を判定することなく、簡単に透過を実現し、自キャラクタを表示することが可能となる。
【0012】
第2の発明は、オブジェクト空間における仮想カメラ(例えば、本実施の形態における視点)から見た奥行値を記憶するための記憶手段(例えば、図20に示すZバッファ248a)と、前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段(例えば、図19に示す画像生成部24、あるいは、図20に示す画像生成部24a)とを備えたゲーム装置であって、ゲームの進行状況が所与の条件を満たした場合に、前記画像生成手段は、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させること(例えば、図21に示す透過処理AにおけるステップS18に示す処理)により、前記仮想カメラから見て当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除し、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現することを特徴とする。
【0013】
第20の発明は、プロセッサによる演算・制御により所与のゲームを実行することとなる装置に対して、オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段と、を機能させるための、前記プロセッサによる演算実行可能な情報を記憶する情報記憶媒体であって、前記所与のゲームの進行状況が所与の条件を満たした場合に、前記画像生成手段を、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラから見て当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除し、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現するように、機能させるための情報を記憶することを特徴とする。
【0014】
この第2または第20の発明によれば、第1または第19の発明の作用・効果を有する他、ゲームの進行状況に応じて透過処理の実行有無を決定することができる。したがって、例えば、ゲームにおける自キャラクタが獲得した経験値や生命値、能力値、あるいは、アイテム等に応じて透過処理の実行有無を決定することができる。あるいは、ゲームステージやシーンに応じて透過処理の実行有無を変更することもできる。
【0015】
なお、ゲーム画像上における透過を施す範囲、すなわち、記憶手段の奥行値を変更させる範囲を、常にオブジェクト空間における注目位置に係る範囲として設定したい場合がある。例えば、自キャラクタの存在位置を注目位置とし、障害物の存在有無に拘わらず自キャラクタを表示したい場合がある。係る場合には、ゲーム画像上の透過処理が施される範囲を自キャラクタの表示位置と一致させることが望ましい。
【0016】
したがって、第3の発明として、第1または第2の発明のゲーム装置において、前記オブジェクト空間に注視点を設定する手段を備えるとともに、前記画像生成手段は、前記仮想カメラと、前記注視点(例えば、本実施の形態における自キャラクタの代表点)とを結ぶ線分上に前記透過オブジェクトを擬似設定することとしてもよい。
【0017】
あるいは、第21の発明として、第19または第20の発明の情報記憶媒体において、前記装置に対して、前記オブジェクト空間に注視点を設定する手段を機能させるための情報を更に記憶するとともに、前記画像生成手段を、前記仮想カメラと、前記注視点とを結ぶ線分上に前記透過オブジェクトを擬似設定するように、機能させるための情報を記憶することとしてもよい。
【0018】
また、第4の発明として、第1から第3の発明のいずれかのゲーム装置において、前記オブジェクト空間に注視点を設定する手段を備えるとともに、前記画像生成手段は、前記仮想カメラと前記注視点間の距離に応じて前記透過オブジェクトの大きさ及び/又は擬似設定位置を変更することとしてもよい。
【0019】
また、第22の発明として、第19から第21の発明のいずれかの情報記憶媒体において、前記装置に対して、前記オブジェクト空間に注視点を設定する手段を機能させるための情報を更に記憶するとともに、前記画像生成手段を、前記仮想カメラと前記注視点間の距離に応じて前記透過オブジェクトの大きさ及び/又は擬似設定位置を変更するように、機能させるための情報を記憶することとしてもよい。
【0020】
この第4または第22の発明によれば、仮想カメラと注視点との距離に応じて透過オブジェクトの大きさ、擬似設定位置を変更することができる。すなわち、記憶手段の値を変更する範囲あるいは位置を仮想カメラと注視点との距離に応じて変更することができる。したがって、例えば、注視点を自キャラクタの代表点とした場合、自キャラクタの存在位置に応じて透過させる範囲の大きさや位置を変更することができる。このため、自キャラクタが表示される大きさに基づく透過領域の大きさや位置の設定が可能となる。
【0021】
また、第5の発明として、第1から第4の発明のいずれかのゲーム装置において、前記画像生成手段は、所与のタイミングからの経過時間に応じて前記透過オブジェクトの大きさ及び/又は擬似設定位置を変更することとしてもよい。
【0022】
また、第23の発明として、第19から第22の発明のいずれかの情報記憶媒体において、前記画像生成手段を、所与のタイミングからの経過時間に応じて前記透過オブジェクトの大きさ及び/又は擬似設定位置を変更するように、機能させるための情報を記憶することとしてもよい。
【0023】
この第5または第23の発明によれば、ゲーム進行に係る時間経過に応じて透過オブジェクトの大きさ及び/又は擬似設定位置を変更することができる。すなわち、時間経過に伴い、透過領域の大きさや位置を変更することができる。したがって、例えば、ゲーム実行中において、自キャラクタが家屋に入ったタイミングからの時間を計時し、経過時間に応じて徐々に当該家屋を透過させるといった演出を実行できる。
【0024】
また、第6の発明として、第1から第5の発明のいずれかのゲーム装置において、前透過オブジェクトは略板状のオブジェクトであり、前記奥行値を有する部分がそのオブジェクトの全体又は一部であることとしてもよい。
【0025】
また、第24の発明として、第19から第23の発明のいずれかの情報記憶媒体において、前記画像生成手段が設定する透過オブジェクトは略板状のオブジェクトであり、前記奥行値を有する部分をそのオブジェクトの全体又は一部とするための情報を記憶することとしてもよい。
【0026】
ここに、透過オブジェクトが奥行値を有する部分は、網状であってもよいし、離散的、あるいは、断片的な構造であってもよい。例えば、透過オブジェクトは、レンコン状に奥行値を持たないものでもよいし、逆に、水玉模様のように、所々奥行値を持つものであってもよい。
【0027】
この第6または第24の発明によれば、奥行値を記憶する記憶手段における所定の範囲内の奥行値を全て変更することもできるし、部分的に変更することもできる。したがって、例えば、この奥行値を変更させる部分(すなわち、透過オブジェクト)を断片的な構造とし、奥行値を変更する部分と変更しない部分とを交互に細密に(例えば、画素単位で)設定することとすれば、手前に存在するオブジェクトを透過しつつもその存在を知らしめた上で、その奥に存在するオブジェクトを表示することができる。
【0028】
また、第7の発明として、第1から第6の発明のいずれかのゲーム装置において、前記オブジェクト空間に透過基準点を設定する透過基準点設定手段を更に備え、前記画像生成手段は、前記オブジェクト空間を、前記仮想カメラからの奥行値が前記透過基準点より遠い領域と、前記透過基準点より近い領域とに分割し、前記透過オブジェクトの背面に存在する前記近い領域内のオブジェクトのみを透過させて表現することとしてもよい。
【0029】
また、第25の発明として、第19から第24の発明のいずれかの情報記憶媒体において、前記装置に対して、前記オブジェクト空間に透過基準点を設定する透過基準点設定手段を機能させるための情報を更に記憶するとともに、前記画像生成手段を、前記オブジェクト空間を、前記仮想カメラからの奥行値が前記透過基準点より遠い領域と、前記透過基準点より近い領域とに分割し、前記透過オブジェクトの背面に存在する前記近い領域内のオブジェクトのみを透過させて表現するように、機能させるための情報を記憶することとしてもよい。
【0030】
この第7または第25の発明によれば、透過基準点を境として、オブジェクト空間を仮想カメラに近い領域と仮想カメラから遠い領域とに分割し、仮想カメラに近い領域内に存在するオブジェクトの内、透過オブジェクトの背面に含まれる部分のみを透過させることとした。このため、仮想カメラより遠い領域に存在するオブジェクトについては、透過オブジェクトにより透過されることなく表示できる。したがって、例えば、注視点と透過基準点とを同一の座標によるものとして扱うこととすれば、注視点位置の表示を妨げるオブジェクトの存在有無を判定することなく、簡単に障害物となるオブジェクトを透過させて表現することが可能となる。
【0031】
また、第8の発明として、第7の発明のゲーム装置であって、前記透過基準点設定手段は、透過基準点として複数の透過基準点を設定し、前記画像生成手段は、前記複数の透過基準点から一の透過基準点を選択し、選択した透過基準点に基づいて、前記オブジェクト空間を遠い領域と、近い領域とに分割することとしてもよい。
【0032】
また、第26の発明として、第25の発明の情報記憶媒体において、前記透過基準点設定手段を、透過基準点として複数の透過基準点を設定するように、機能させるための情報と、前記画像生成手段を、前記複数の透過基準点から一の透過基準点を選択し、選択した透過基準点に基づいて、前記オブジェクト空間を遠い領域と、近い領域とに分割するように、機能させるための情報と、を記憶することとしてもよい。
【0033】
この第8または第26の発明によれば、オブジェクト空間内に複数の透過基準点を設定し、その複数の透過基準点の内、適当な1つに基づいてオブジェクト空間を分割することができる。したがって、例えば、自キャラクタの存在位置やゲームの進行状況に応じて、1の透過基準点を選択することとすれば、状況に応じた透過を実現することができる。また、複数の透過オブジェクトを擬似設定し、各透過オブジェクト毎に対応させる透過基準点を特定してもよい。あるいは、オブジェクト空間内に実際には透過オブジェクトを設定せず、記憶手段が記憶する奥行値のみを変更する場合には、奥行値を変更する際に、ゲーム画像における部分に応じて異なる奥行値を与えることとしてもよい。
【0034】
第9の発明は、仮想カメラ(例えば、本実施の形態における視点)から見たオブジェクト空間をゲーム画像として生成する画像生成手段(例えば、図19に示す画像生成部24、あるいは、図22に示す画像生成部24b、図24に示す画像生成部24c)を備えたゲーム装置であって、前記オブジェクト空間に透過基準点(例えば、本実施の形態における自キャラクタ)を設定する透過基準点設定手段(例えば、図19に示すゲーム演算部22)を備え、前記画像生成手段は、前記透過基準点に基づく透過領域を前記ゲーム画像内に設定する(例えば、図23に示す透過処理BのステップS28の処理、あるいは、図25に示す透過処理CのステップS38の処理)と共に、前記オブジェクト空間を、前記仮想カメラからの奥行値が前記透過基準点より遠い領域と、近い領域とに分割し(例えば、図23に示す透過処理BのステップS23の処理、あるいは、図25に示す透過処理CのステップS33の処理)、遠い領域に存在するオブジェクトの画像上に近い領域に存在するオブジェクトを描画するが、その際、前記近い領域に存在するオブジェクトの内、前記透過領域に含まれる部分に対して所与の透過処理を施すことを特徴とする。
【0035】
第27の発明は、プロセッサによる演算・制御により所与のゲームを実行することとなる装置に対して、仮想カメラから見たオブジェクト空間をゲーム画像として生成する画像生成手段と、前記オブジェクト空間に透過基準点を設定する透過基準点設定手段と、を機能させるための、前記プロセッサによる演算実行可能な情報を記憶する情報記憶媒体であって、前記画像生成手段を、前記透過基準点に基づく透過領域を前記ゲーム画像内に設定すると共に、前記オブジェクト空間を、前記仮想カメラからの奥行値が前記透過基準点より遠い領域と、近い領域とに分割し、遠い領域に存在するオブジェクトの画像上に近い領域に存在するオブジェクトを描画するが、その際、前記近い領域に存在するオブジェクトの内、前記透過領域に含まれる部分に対して所与の透過処理を施すように、機能させるための情報を記憶することを特徴とする。
【0036】
また、第9または第27の発明によれば、仮想カメラに対して透過基準点より近い領域と遠い領域とに分割し、遠い領域の画像上に近い領域に属するオブジェクトを描画する際に、所与の透過領域に含まれる部分に対して透過処理を施すことができる。したがって、複数のオブジェクト間の距離や位置関係を判定することなく、各オブジェクトの仮想カメラに対する位置のみを判定すればよく、より高速に透過を施した画像を生成することが可能となる。
【0037】
第10の発明は、仮想カメラから見たオブジェクト空間をゲーム画像として生成する画像生成手段を備えたゲーム装置であって、前記オブジェクト空間に透過基準点を設定する透過基準点設定手段を備え、ゲームの進行状況が所与の条件を満たした場合に、前記画像生成手段は、前記透過基準点に基づく透過領域を前記ゲーム画像内に設定すると共に、前記オブジェクト空間を、前記仮想カメラからの奥行値が前記透過基準点より遠い領域と、近い領域とに分割し、遠い領域に存在するオブジェクトの画像上に近い領域に存在するオブジェクトを描画するが、その際、前記近い領域に存在するオブジェクトの内、前記透過領域に含まれる部分に対して所与の透過処理を施すことを特徴とする。
【0038】
第28の発明は、プロセッサによる演算・制御により所与のゲームを実行することとなる装置に対して、仮想カメラから見たオブジェクト空間をゲーム画像として生成する画像生成手段と、前記オブジェクト空間に透過基準点を設定する透過基準点設定手段と、を機能させるための、前記プロセッサによる演算実行可能な情報を記憶する情報記憶媒体であって、ゲームの進行状況が所与の条件を満たした場合に、前記画像生成手段を、前記透過基準点に基づく透過領域を前記ゲーム画像内に設定すると共に、前記オブジェクト空間を、前記仮想カメラからの奥行値が前記透過基準点より遠い領域と、近い領域とに分割し、遠い領域に存在するオブジェクトの画像上に近い領域に存在するオブジェクトを描画するが、その際、前記近い領域に存在するオブジェクトの内、前記透過領域に含まれる部分に対して所与の透過処理を施すように、機能させるための情報を記憶することを特徴とする。
【0039】
この第10または第28の発明によれば、透過基準点よりも仮想カメラに対して近い位置に存在するオブジェクトに対する透過処理の実行有無を、ゲームステージやシーン、ゲームに登場するキャラクタの状態といったゲームの進行状況に応じて決定することができる。このため、透過処理を必要としない場面や状況においては、オブジェクト空間の分割等の処理を施す必要がなく、ゲーム画像生成の処理の負担を軽減することができる。
【0040】
また、第11の発明として、第9または第10の発明のゲーム装置において、前記透過基準点設定手段は、透過基準点として複数の透過基準点を設定し、前記画像生成手段は、前記複数の透過基準点から一の透過基準点を選択し、選択した透過基準点に基づいて、前記オブジェクト空間を遠い領域と、近い領域とに分割することとしてもよい。
【0041】
第29の発明として、第27または第28の発明の情報記憶媒体において、前記透過基準点設定手段を、透過基準点として複数の透過基準点を設定するように、前記画像生成手段を、前記複数の透過基準点から一の透過基準点を選択し、選択した透過基準点に基づいて、前記オブジェクト空間を遠い領域と、近い領域とに分割するように、機能させるための情報を記憶することとしてもよい。
【0042】
この第11または第29の発明によれば、オブジェクト空間内に複数の透過基準点を設定し、その複数の透過基準点の内、1つを基準として仮想カメラに近い領域と遠い領域とに分割することができる。したがって、ゲーム実行中におけるキャラクタの位置や状態、ゲームのステージやシーンといった状況に応じて透過基準点を選択することとすれば、ゲームの進行状況に応じた様々な透過を実現することが可能となり、より面白味のあるゲームおよびゲーム画像を生成することができる。
【0043】
また、第12の発明として、第9または第10の発明のゲーム装置において、前記透過基準点設定手段は、複数の透過基準点を設定し、前記画像生成手段は、前記仮想カメラから前記各透過基準点までの奥行値に基づいて前記オブジェクト空間を複数の領域に分割するとともに、前記複数の透過基準点それぞれに対応する透過領域を前記ゲーム画像内に設定し、前記仮想カメラから遠い領域から順番に、対応する領域内に存在するオブジェクトを描画するが、その際、当該領域に対応する透過領域に含まれるオブジェクトの部分に対しては所与の透過処理を施しつつ描画することによって前記ゲーム画像を生成することとしてもよい。
【0044】
また、第30の発明として、第27または第28の発明の情報記憶媒体において、前記透過基準点設定手段を、複数の透過基準点を設定するように、前記画像生成手段を、前記仮想カメラから前記各透過基準点までの奥行値に基づいて前記オブジェクト空間を複数の領域に分割するとともに、前記複数の透過基準点それぞれに対応する透過領域を前記ゲーム画像内に設定し、前記仮想カメラから遠い領域から順番に、対応する領域内に存在するオブジェクトを描画するが、その際、当該領域に対応する透過領域に含まれるオブジェクトの部分に対しては所与の透過処理を施しつつ描画することによって前記ゲーム画像を生成するように、機能させるための情報を記憶することとしてもよい。
【0045】
この第12または第30の発明によれば、オブジェクト空間を複数に分割し、仮想カメラに対して遠くに位置する領域から順に描画することとし、それぞれの領域に応じた透過処理を施すことができる。したがって、各領域毎の透過の度合や大きさ等の違いにより、仮想カメラに対する奥行に応じた段階的な透過を表現することができる。例えば、奥に存在する領域ほど透過させる範囲を小さく、手前に存在する領域ほど透過させる範囲を大きく設定することとすれば、手前から奥にかけて徐々に透過する様子が表現され、オブジェクト空間の奥行感を更に強調することができる。
【0046】
また、第13の発明として、第9から第12の発明のいずれかのゲーム装置において、前記画像生成手段は、前記近い領域に存在するオブジェクトの画像を前記ゲーム画像における近景画像として生成した後、当該近景画像の前記透過領域に含まれる部分に対して前記所与の透過処理を施して前記遠景画像上に描画することとしてもよい。
【0047】
また、第31の発明として、第27から第30の発明のいずれかの情報記憶媒体において、前記画像生成手段を、前記近い領域に存在するオブジェクトの画像を前記ゲーム画像における近景画像として生成した後、当該近景画像の前記透過領域に含まれる部分に対して前記所与の透過処理を施して前記遠景画像上に描画するように、機能させるための情報を記憶することとしてもよい。
【0048】
この第13または第31の発明によれば、仮想カメラに対して近い領域と遠い領域の画像をそれぞれ独立して生成し、近い領域の画像の内、透過領域に含まれる部分に対して透過処理を施しつつ、近い領域の画像を遠い領域の画像上に描画することができる。このため、例えば、近い領域に存在する複数のオブジェクトの内、透過領域に含まれる部分を備え、且つ、その部分が仮想カメラから見て重なる位置に存在する2以上のオブジェクトに対して、各オブジェクト毎に透過処理を施す必要がなく、最も手前に位置するオブジェクトにのみ透過処理を施すこととなるため、より処理を高速化することができる。
【0049】
また、第14の発明として、第9から第13の発明のいずれかのゲーム装置において、前記画像生成手段は、前記遠景画像上に、前記近い領域内に存在するオブジェクトの画像を色合成することによって前記近い領域内のオブジェクトを描画し、その色合成に係る割合を前記透過領域に含まれる部分とそれ以外の部分とで変化させることとしてもよい。
【0050】
また、第32の発明として、第27から第31の発明のいずれかの情報記憶媒体において、前記画像生成手段を、前記遠景画像上に、前記近い領域内に存在するオブジェクトの画像を色合成することによって前記近い領域内のオブジェクトを描画し、その色合成に係る割合を前記透過領域に含まれる部分とそれ以外の部分とで変化させるように、機能させるための情報を記憶することとしてもよい。
【0051】
この第14または第32の発明によれば、透過領域に含まれる部分に対して遠景画像と近景画像とを色合成することとした。例えば、遠景画像と近景画像の各画素をα:(α−1)(ただし、0<α<1)の割合で色合成することとすれば、近景画像が薄く見えたその奥に、遠景画像が見えるような印象を抱かせるゲーム画像を生成することができる。したがって、手前に存在するオブジェクトに隠れた位置に存在するオブジェクトについて、違和感なく表示することができる。
【0052】
また、第15の発明として、第14の発明のゲーム装置において、前記画像生成手段は、前記透過領域における部分に応じて、前記色合成に係る割合を変化させることとしてもよい。
【0053】
また、第33の発明として、第32の発明の情報記憶媒体において、前記画像生成手段を、前記透過領域における部分に応じて、前記色合成に係る割合を変化させるように、機能させるための情報を記憶することとしてもよい。
【0054】
この第15または第33の発明によれば、色の合成に係る割合を透過領域の部分に応じて変更することができる。したがって、例えば、遠景画像と近景画像の各画素の色情報をα:(α−1)(ただし、0<α<1)の割合で合成する場合において、αの値を、透過領域の中央から外部に進むに従って小さくなるように設定すれば、透過領域における中央近傍の遠景画像のみがぼやけて見えるように表現することができ、より尤らしく透過を表現することができる。
【0055】
また、第16の発明として、第14または第15の発明のゲーム装置において、前記オブジェクト空間に注視点を設定する手段を備えるとともに、前記画像生成手段は、所与のタイミングからの経過時間、及び/又は、前記仮想カメラと前記注視点間の距離に応じて、前記色合成に係る割合を変化させることとしてもよい。
【0056】
また、第34の発明として、第32または第33の発明の情報記憶媒体であって、前記装置に対して、前記オブジェクト空間に注視点を設定する手段を機能させるための情報を更に記憶するとともに、前記画像生成手段を、所与のタイミングからの経過時間、及び/又は、前記仮想カメラと前記注視点間の距離に応じて、前記色合成に係る割合を変化させるように、機能させるための情報を記憶することとしてもよい。
【0057】
この第16または第34の発明によれば、所与のタイミングからの経過時間、及び/又は、仮想カメラと注視点との距離に応じて透過領域における色合成の割合を変化させることができる。したがって、例えば、注視点と透過基準点を同一の座標によるものとし、注視点が仮想カメラに対して遠くに位置する程、遠景画像の色合成に係る割合が低くなるように設定すれば、注視点が遠くに存在するほど霞んで見え、近づくにつれてよく見える、といった表現をすることができる。あるいは、時間経過に伴って、徐々に遠い領域の色合成に係る割合を高くすることによって、見づらかった遠景画像が徐々に明瞭になる様子を演出することができ、オブジェクト空間におけるオブジェクトの前後関係を解りやすく表現することができる。
【0058】
なお、所与のタイミングからの経過時間や、仮想カメラと注視点との距離に応じて変化させるものとして、色の合成率に限らず、透過領域の大きさに適用させてもよい。すなわち、第17の発明として、第9から第16の発明のいずれかのゲーム装置において、前記オブジェクト空間に注視点を設定する手段を備えるとともに、前記画像生成手段は、所与のタイミングからの経過時間、及び/又は、前記仮想カメラと前記注視点間の距離に応じて前記透過領域の大きさを変更することとしてもよい。
【0059】
あるいは、第35の発明として、第27から第34の発明のいずれかの情報記憶媒体において、前記装置に対して、前記オブジェクト空間に注視点を設定する手段を機能させるための情報を更に記憶するとともに、前記画像生成手段を、所与のタイミングからの経過時間、及び/又は、前記仮想カメラと前記注視点間の距離に応じて前記透過領域の大きさを変更するように、機能させるための情報を記憶することとしてもよい。
【0060】
また、第18の発明として、第7から第17の発明のいずれかのゲーム装置において、前記オブジェクト空間に注視点を設定する手段を備えるとともに、前記透過基準点設定手段は、前記注視点の位置に基づいて前記透過基準点を設定することとしてもよい。
【0061】
また、第36の発明として、第25から第35の発明のいずれかの情報記憶媒体において、前記装置に対して、前記オブジェクト空間に注視点を設定する手段を機能させるための情報を更に記憶するとともに、前記透過基準点設定手段を、前記注視点の位置に基づいて前記透過基準点を設定するように、機能させるための情報を記憶することとしてもよい。
【0062】
この第18または第36の発明によれば、透過基準点を注視点の位置に基づいて設定することができる。例えば、プレーヤに注視点を操作させるタイプのゲームであっても、その注視点に基づく位置に設定された透過基準点より近い領域に対して透過処理を施し、常に注視点に基づく位置を表示することができる。したがって、プレーヤは、注視点近傍の表示を妨げる障害物の存在の有無に拘わらず、注視点を認識しながら操作することができる。
【0063】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を参照して説明する。なお、以下では、本発明を3人称の視点に適用した場合について説明するが、本発明の適用についてはこれに限定する必要はない。
【0064】
(1)概要
図1は、本発明を家庭用のゲーム装置に適用した場合の一例を示す図である。同図において、プレーヤは、ディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202あるいは1204を操作して所与のゲームを楽しむ。この場合、ゲームプログラム等のゲームを行うために必要な情報は、本体装置に着脱自在な情報記憶媒体であるCD−ROM1206、ICカード1208、メモリカード1212等に格納されている。
【0065】
なお、以下では、仮想空間において、ゲーム画像を生成するための仮想的なカメラ(以下、視点という)を、プレーヤにより操作されるキャラクタ(以下、自キャラクタという)から離れた位置に配置する。したがって、プレーヤは、ディスプレイ1200に映し出される自キャラクタを3人称の視点によって認識しながらゲームを実行することとなる。
【0066】
図2は、仮想空間における視点100と自キャラクタ102とを含む略断面を示す図である。同図によれば、視点100は、自キャラクタ102に対して距離Dの間隔を隔てた位置に配置される。したがって、構築された仮想空間の状況によっては、視点100と自キャラクタ102との間に他のオブジェクトが映りこみ、自キャラクタ102の表示を妨げるといったことが起こり得る。本発明は、係る状況においても、自キャラクタをプレーヤに認識せしめる表示を実現するものである。
【0067】
図3(a)は、仮想空間において、自キャラクタ102の表示を妨げる位置に壁オブジェクト104が存在する場合の一例を示す図である。同図によれば、視点100と自キャラクタ102とを結ぶ線分と交差する位置に壁オブジェクト104が存在する。このため、従来によく知られた陰面消去処理を施して、視点の最近接位置に存在するオブジェクトを優先的に描画した場合、(b)に示すように、自キャラクタ102は壁オブジェクト104によって完全に隠れることとなる。本発明は、視点102の位置変更や、壁オブジェクト104の存在を判定することなく、自キャラクタ102の表示を可能とするものである。具体的には、(c)に示すように、特定の範囲内に透過処理を施すことにより、自キャラクタ102を可視化する。
【0068】
(2)透過処理
以下、視点座標系における奥行値が、自キャラクタよりも視点に近い位置に存在するオブジェクトに対して施す透過処理について詳細に説明する。
通常、ポリゴンモデルによって構築された仮想空間の画像を生成する際には、各ポリゴンの座標を比較し、視点に対して最も近い位置に存在するポリゴンを優先的に描くことによって陰面を消去し、幾何学的に矛盾のない画像を生成している。この陰面消去を実行する方法として、種々様々な方法が存在するが、よく知られた方法として、Zソート法と呼ばれる方法と、Zバッファ法と呼ばれる方法とがある。Zソート法とは、各ポリゴンを、視点座標系におけるZ座標順(すなわち、視点から見た奥行順)に並び替える(Zソートする)ことにより、優先的に描画すべきポリゴンを明確にするものである。
【0069】
一方、Zバッファ法とは、生成された画像の色を画素毎に記憶するフレームバッファとは別に、描かれた画像のZ値を画素毎に記憶するZバッファを使う方法である。具体的には、各オブジェクトを構成するポリゴンをフレームバッファ上に描画すると共に、そのポリゴンのZ座標を画素毎にZバッファ上に記憶する。ただし、描画を実行する際には、描画しようとするポリゴンのZ値と、Zバッファ上に記憶されたZ値とを画素毎に比較し、その結果、Zバッファに記憶された値よりも視点に近いと判定された画素にのみ、色情報およびZ値を上書き(更新)する。このように、Zバッファ法は、描画する直前に画素毎のZ値を比較して描画の有無を決定することにより、ポリゴンをソートせずに幾何学的に正確な画像を生成するものである。
【0070】
本発明は、陰面消去処理によって障害物の陰に隠れてしまう自キャラクタを可視化するためのものであり、上記陰面消去の方法を利用して所定の範囲を透過/半透過させることにより実現するものである。以下では、採用する陰面消去処理の方法に応じた透過処理について説明する。
【0071】
(I)Zバッファを用いた透過処理(透過処理A)
上述したように、Zバッファ法では、Zバッファに記憶されたZ座標の値に応じてフレームバッファに対する上書きの有無を決定する。本実施の形態におけるZバッファを用いた透過処理(透過処理A)とは、このZバッファ法の性質を利用して所定の範囲を透過させるものである。すなわち、ゲーム画像を生成する所与の段階で、Zバッファの値を操作することにより、透過させたい範囲に位置するオブジェクトの描画を防止する。
【0072】
具体的には、まず、視点座標系における視界を、自キャラクタの存在位置を基準として遠景領域と近景領域とに分割する。自キャラクタを含む遠景領域に存在するオブジェクトについては、順次フレームバッファ上に描画する。一方、近景領域に存在するオブジェクトについては、遠景領域のオブジェクトの描画が完了した後に、順次フレームバッファに描画する。ただし、遠景領域の描画が完了した際には、Zバッファ上の適当な範囲のZ値を視点の最近接の値に変更する。このことによって、Z値を変更した範囲に対する近景領域の描画を防止し、直接遠景領域の画像が見えるようにする。なお、以下では、このZ値を変更する範囲を透過領域という。
【0073】
図4(a)は、仮想空間の一例を示す斜視図である。同図におけるZ軸とは、視点100に対する奥行を意味する座標であり、その向きは、視点100が見る方向(視点方向)と逆向きである。また、同図によれば、視点100の視界内に、自キャラクタ102と、壁オブジェクト110〜120が自キャラクタ102を取り囲むように配置されている。上記遠景領域は、視点座標系における自キャラクタの座標(Xp、Yp、Zp)に対して、Z≦Zpを満たす領域132が該当する。一方、上記近景領域は、Z>Zpを満たす領域130が該当する。同図によれば、壁オブジェクト110〜114が遠景領域に属し、壁オブジェクト116〜120が近景領域に属する。すなわち、壁オブジェクト110〜114および自キャラクタ102を描画した後に、Zバッファを操作し、近景領域の壁オブジェクト116〜120を描画する。
【0074】
なお、Zバッファ法を用いた陰面消去処理では、視点に対する距離に基づいて各オブジェクトを並び替えることなく、各オブジェクトを描画することに特徴がある。したがって、描画段階において、視点に対する距離とは無関係な順番で視界内からオブジェクトを選出することとなる。すなわち、遠景領域に存在するオブジェクトより先に、近景領域のオブジェクトを描画の対象として選出する可能性がある。このため、描画段階において、近景領域に属するオブジェクトを選出した場合には、図4(b)に示すような近景リスト140に一旦記憶する。(b)によれば、近景リスト140には、オブジェクトを構成する各ポリゴンの座標データと、当該オブジェクトの代表点の座標とが記憶される。なお、このとき、Zソートをする必要はない。
【0075】
一方、遠景領域に属するオブジェクトを選出した場合には、順次フレームバッファに描画する。具体的には、描画するオブジェクトをポリゴン単位に分解し、それぞれに対して透視投影処理を施すことにより描画を実行する。ただし、このとき、画素毎にZバッファに記憶されたZ値と比較し、描画するポリゴンのZ値が視点に対して近い場合にのみ画素の色情報を更新する。そして、遠景領域に存在する全てのオブジェクトについてフレームバッファに対する描画処理が終了すると、自キャラクタを描画し、図4(c)に示すような遠景領域の画像(以下、遠景画像という)を完成させる。
【0076】
遠景画像が完成すると、Zバッファに対するZ値変更処理を行う。Z値変更処理は、Zバッファ上にマッピングするためのテクスチャ(以下、Zテクスチャという)を用いて行う。図5は、Zテクスチャ160の一例を示す図である。同図によれば、Zテクスチャ106は、一辺の大きさが1で規格化された2次元座標系(u,v)で定義され、透過させたい範囲162にZ値が与えられている。また、透過させたい範囲162以外の部分164a〜dは、Z値を持たない、またはZ値が最遠景の値とする。
【0077】
なお、ZテクスチャをマッピングするZバッファ上の範囲(大きさ)は、一定であってもよいし、可変的であってもよいが、以下では、一定な場合について説明する。具体的には、Zバッファ上の座標系(x,y)において、Zテクスチャをマッピングする領域の画素数を、図6に示す通り、
(x軸上の画素数,y軸上の画素数)=(n,m)
とする。また、マッピングする位置は、自キャラクタの代表点の位置とする。すなわち、フレームバッファの座標系(x,y)に変換された自キャラクタの座標(xp、yp)に、Zテクスチャの中心点を配置する。
【0078】
図6は、ZバッファにおけるZテクスチャのマッピング範囲172の一例を示す図である。同図によれば、Zテクスチャの(u,v)=(0,0)の値は、Zバッファ上の座標(xp−n/2,yp−m/2)の画素に代入され、(u,v)=(1,1)の値は、Zバッファ上の座標(xp+n/2,yp+m/2)の画素に代入される。すなわち、Zバッファにおけるマッピング範囲の任意の画素(x,y)には、Zテクスチャの座標
u=(1/n)×(x−(xp−n/2))
(ただし、(xp−n/2)<x<(xp+n/2))
v=(1/m)×(y−(yp−m/2))
(ただし、(yp−m/2)<y<(yp+m/2)) …(1)
の値を代入する。このとき、読み出したZテクスチャの座標(u,v)にZ値が定義されていない場合には、Zバッファの対応する画素の値は更新しない。
【0079】
図7(a)は、Zバッファ170に格納されているデータを模式的に示す図である。同図において、円で囲まれた領域162が、上記Z値変更処理により値が変更された部分、すなわち、透過領域を示す。また。図7(b)は、図4(a)に示す仮想空間の遠景画像を記憶したフレームバッファ150の模式図であり、図7(a)に示す透過領域162を破線円によって便宜的に表示したものである。図7(c)は、仮想空間の斜視図であり、上記Z値の変更によって透過して表現される空間182を1点鎖線により示したものである。(c)に示すように、本透過処理を施すことにより、実際には配置しないが、透過オブジェクト180を配置したものと同様の効果が発生する。すなわち、近景領域における、透過オブジェクトの背面に該当する空間182は、Zバッファ法により描画されないこととなる。
【0080】
続いて、近景リストに登録されたオブジェクトを描画する。
図8(a)〜(c)は、図4(a)に示す仮想空間における近景領域のオブジェクトを順次描画した例を示す図である。なお、図8(a)〜(c)は、図7(a)に示すZ値変更処理が施された後に実行した場合を示す。図8(a)〜(c)に示すように、近景領域に存在するオブジェクトについて、Z値が視点近傍の値に変更された部分のみが描画されず、透過したように表現される。したがって、自キャラクタ102よりも視点寄りの位置に壁オブジェクト118が存在するにもかかわらず、自キャラクタが表示される。
【0081】
以上のように、Zバッファ法による陰面消去を実行する場合において、透過させたい範囲のZバッファの値を操作することにより、所定の範囲を簡単に透過させて表現することができる。また、上記透過処理Aは、複雑な処理や計算を必要とせず、各オブジェクトのZ座標の値を判定する処理のみを必要とするものであるため、ゲーム画像の生成を遅延化させることなく、簡単に障害物の透過を表現することができる。
【0082】
なお、上記方法によれば、Zバッファの値が変更された領域については、近景領域に存在するオブジェクトは、完全に描画されないこととなる。このため、近景領域に存在するオブジェクトが壁や家といった大きなオブジェクトではなく、比較的小さいオブジェクトであった場合、当該オブジェクトの主要な部分が透過領域によって描画されず、オブジェクトとして認識するには足らない部分のみが表示されるといった問題が生じ得る。例えば、キャラクタの胴体部分が透過され、手や足のみが表示されるといったことが起こり得る。
【0083】
こういった問題を解決するために、図9に示すように、Zテクスチャ160´において、Z値を有する部分を疎らに含む構造にしてもよい。同図において、黒塗りの部分が、Z値が定義された範囲を示す。すなわち、Zテクスチャ上に、Z値を定義する部分と、Z値を定義しない部分とをそれぞれ断片的に設定する。ただし、Zテクスチャの中心近傍では、近景を透過させるためのZ値を有する面積を広くし、中心から外れる程Z値が定義されない面積が増えるといった構造にする。もしくは、中心近傍以外の範囲に、近景を透過させない値/近景を透過させづらい値を定義するといった構成にしてもよい。このように、徐々にZ値を変更する割合を変化させることによって、障害物が徐々に消えて、その奥に存在する物体が透けて見えるような印象を与えることが可能となる。
【0084】
(II)色合成による透過処理1(透過処理B)
続いて、色合成による透過処理1(透過処理B)について説明する。透過処理Bは、Zソートによる陰面消去法を利用したものであり、透過させたい範囲のオブジェクトの色を、その奥に存在するオブジェクトの色と合成することにより透過/半透過を実現するものである。なお、透過処理Bでも、透過処理Aと同様に、視界を近景領域と遠景領域とに分割する。ただし、透過処理Bでは、分割後において、近景領域に存在するオブジェクトに対して、Zソートを施すことが必須となる。そして、遠景画像の所定の範囲に対して、優先順位に従って順次近景領域のオブジェクトを色合成することにより、生成画像内に遠景画像の色データを反映させ、遠景画像の所望の領域を透かして表示する。なお、以下では、遠景画像と近景領域のオブジェクトの色を合成する範囲を色合成領域という。すなわち、色合成領域は、遠景領域の画像が透けて見える透過領域となる。
【0085】
なお、遠景画像と近景領域に存在するオブジェクトの色情報を合成する処理は、フレームバッファにおける画素毎に行うこととし、その合成率(以下、αという)は、フレームバッファによって各画素の色情報(RGB)と対応付けて記憶されることとする。具体的には、フレームバッファにおける画素G(x,y)のRGBの値をg、画素G(x,y)に描画するオブジェクトのRGBの値をgo、とした場合において、合成後における画素G(x,y)のRGBの値は、
g={g×α}+{go×(1−α)} …(2)
によって決定される。したがって、フレームバッファに記憶されたαの値が1である場合には、画素が持つ値g(例えば、遠景画像)のみが採用されることとなり、0である場合には、描画(色合成)するオブジェクトが持つ値go(例えば、近景領域のオブジェクト)によって完全に上書きされることとなる。なお、実際には、各画素毎にRGBそれぞれの値を持つが、ここでは、便宜的にg、goの変数により表現する。
【0086】
すなわち、透過処理Bでは、図4(a)で示した仮想空間を視点100に基づいて描画する際には、透過処理Aと同様に、自キャラクタ102の座標(Xp、Yp、Zp)を基準点として、視界内を、Z≦Zpを満たす遠景領域132と、Z>Zpを満たす近景領域130とに分割する。そして、遠景領域130に属する壁オブジェクト110〜114および自キャラクタ102については、順次フレームバッファ上に描画し、図4(c)に示すような遠景画像を完成する。なお、遠景画像を生成する際に採用する陰面消去処理は、Zソート法に限らず、いずれの方法であってもかまわない。例えば、Zバッファを併用する場合には、Zバッファ法により行ってもよいし、スキャンライン法によるものであってもかまわない。
【0087】
一方、近景領域130に属する壁オブジェクト116〜120については、図10に示すような、近景リスト142に登録する。ただし、透過処理Bでは、オブジェクトを近景リスト142に登録する際、各オブジェクトのZ値を比較し、ソートした上で登録する。
【0088】
そして、各領域に属する壁オブジェクト110〜120、および自キャラクタについて、描画あるいは近景リストへの登録処理が終了すると、フレームバッファに色合成領域を設定する。
【0089】
色合成領域の設定処理は、α値のみを有する(すなわち、色情報(RGB)を持たない)テクスチャ(以下、αテクスチャという)をフレームバッファ上の適当な位置にマッピングすることにより行う。図11は、αテクスチャ190の一例を示す図である。同図によれば、αテクスチャ190は、α値が0.0と、0.3と、0.6と、0.9の、4つの領域から構成される。すなわち、αテクスチャ190の中心近傍については、遠景領域の画像の含有率が高く、中心から遠ざかるにつれて遠景画像は近景領域のオブジェクトにより塗りつぶされることとなる。なお、αテクスチャ190において、α値が指定されていない部分については、フレームバッファのα値を(0.0)とし、その後、近景領域の描画を行う際には、フレームバッファに記憶されたα値を使って描画を行う。
【0090】
また、フレームバッファ上にαテクスチャをマッピングする範囲の大きさ、および位置を決定する処理は、透過処理AにおけるZテクスチャをマッピングする処理と同様に行う。すなわち、フレームバッファ上にマッピングする範囲をn×m画素とし、αテクスチャの中心点が自キャラクタの代表点の座標(xp,yp)に対応するようにマッピングする。
【0091】
なお、透過処理Bでは、近景領域のオブジェクトを描画する際には、まず、オブジェクト単位でZソートする。次いで、各オブジェクトをポリゴン単位に分解し、各ポリゴンについて更にZソートする。そして、並べ替えられた各ポリゴンの順番に従って、優先順位を決定する。このとき、優先順位を決定する処理については、視点に対して奥に存在するオブジェクトから順に上書きして行く「後書き優先処理」と、Zバッファを併用し、視点に対して手前に存在するオブジェクトから順に描画して行く「先書き優先処理」の2種類が存在する。以下、各処理により生成される画像の違いについて説明する。
【0092】
図12は、仮想空間の断面を模式的に示す図であり、各画素にα値が指定されたフレームバッファ150(7画素分)と、ポリゴンAおよびBとを示す図である。同図において、縦破線がフレームバッファ150における各画素を示し、各画素の左側に隣接する括弧内の数値が対応する画素のα値を示す。また、更にその左側に書かれた文字gは、各画素の色情報(RGB)の値を意味し、gfは遠景画像の色情報を意味する。また、各画素の右方向に描かれたアルファベットAおよびBは、ポリゴンAおよびポリゴンBのRGBの値を意味し、それぞれ対面する画素に描画されるものとする。なお、ポリゴンAおよびBは、近景領域のポリゴンであり、右方向に存在するほど視点に近いものとする。以下、この条件を用いて後書き優先処理と先書き優先処理について説明する。
【0093】
▲1▼後書き優先処理(Zバッファを必要としない方法)
後書き優先処理では、視点から遠い位置に存在するポリゴンから順に、全てのポリゴンに対して描画処理を実行し、順次フレームバッファに上書きする。したがって、1つの画素上に投影されるポリゴンは1つに限らず、複数のポリゴンが重ねて描画される場合がある。このため、フレームバッファには、与えられたα値をゲーム画像が完成するまで保持させ、ポリゴンが色合成領域内に投影された場合には、その都度、色合成処理を実行する。
【0094】
図13(a)は、フレームバッファ150に格納されるデータを示す模式図であり、図12に示す状況において、視点から遠い位置に存在するポリゴンBを描画した一例を示すものである。同図に示すように、各画素には、与えられたα値に従って、既に有する色情報g=gf(遠景画像の色情報)とポリゴンBの色情報とを式(2)に基づいて合成した結果を与える。また、与えられたα値の値を変更せずに保持させる。そして、ポリゴンBの描画が完了すると、引き続き、ポリゴンBよりも視点に近い位置に存在するポリゴンAの描画を実行する。
【0095】
図13(b)は、(a)に示すフレームバッファ150に対して、更にポリゴンAを描画した場合の色合成例を示す図である。また、図13(c)は、(b)に示す合成における各色情報の含有率を明示したものである。図13(b)に示すように、ポリゴンAの描画についても、各画素が有する色情報gに対して、α値に基づく色合成を実行する。したがって、例えば、α=0.9の合成率を有する画素は、ポリゴンBの描画によって、遠景画像の色情報gfの含有率が90%となるが((a)参照)、更にポリゴンAを合成したことにより、遠景画像gfの含有率が81%に減少する((c)参照)。しかし、換言すれば、α=0.9を有する画素は、ポリゴンA、Bの色合成により、ポリゴンBの色情報を9%、ポリゴンAの色情報を10%含有することとなる。
【0096】
このように、後書き優先の描画を実行することにより、最終的に得られるゲーム画像では、まずポリゴンAが薄く見え、その奥にポリゴンBが更に薄く見え、その奥に遠景画像(自キャラクタ)が見えるといった具合に表現できる。したがって、透過処理Aの場合と異なり、近景領域に存在するオブジェクトについてもその存在を奥行順に薄く暈して表現することが可能となる。
【0097】
▲2▼先書き優先処理(Zバッファを必要とする方法)
先書き優先処理では、Zバッファを併用し、視点の近くに存在するポリゴンから順に描画する。すなわち、各画素には、各画素から見て最も近い位置に存在するポリゴンの色情報のみが1度だけ与えられ、それ以上の色情報の更新を必要としない。したがって、色合成領域内の画素についても、近景領域のポリゴンを描画する回数は1度のみであり、すなわち、各画素につき色合成処理を実行する回数は1回以内となる。例えば、図12に示す状況によれば、視点に近いポリゴンAを描画した後、ポリゴンBを描画する際には、ポリゴンAの色情報が合成されていない画素に対してのみ色合成を実行することとなる。
【0098】
図14(a)は、フレームバッファ150に格納されるデータを示す模式図であり、図12に示す状況において、より視点に近い位置に存在するポリゴンAを描画した一例を示すものである。同図に示すように、各画素gには、与えられたα値に従って、色情報gfと色情報Aを式(2)に基づいて合成した結果の値を代入する。そして、ポリゴンAの描画が完了すると、引き続きポリゴンBの描画を実行する。このとき、Zバッファに記憶された奥行値を比較し、ポリゴンBよりも視点に近いポリゴンが描画された画素以外の画素に対して描画を実行する。
【0099】
図14(b)は、(a)に示すフレームバッファ150上にポリゴンBを描画した一例を示す模式図である。同図によれば、ポリゴンAが描画された画素に対しては、ポリゴンBは描画されず、ポリゴンAが描画されていない画素についてのみ、ポリゴンBが描画される。したがって、1つの画素に対しては、1つのポリゴンのみが色合成されることとなる。このため、遠景画像gfの値がより反映された画像を生成することができる。例えば、α=0.9を有する画素に対して、ポリゴンAおよびBを描画した場合、後書き優先の処理によれば、当該画素は、遠景画像の色情報gfを81%含むのに対し、先書き優先の処理によれば、遠景画像の色情報gfを90%含むこととなる。
【0100】
このように、先書き優先の処理では、近景領域に存在するオブジェクトの内、最も視点に近い位置に存在するオブジェクト(ポリゴン)のみが色合成領域に反映されることとなる。すなわち、障害物が複数存在する場合には、その最も手前のオブジェクトのみが透けたように表現され、その奥に存在する障害物については、表示されないこととなる。このため、複数の障害物が複雑に存在する場合においても、より明瞭に解りやすく透過を表現することができる。
【0101】
なお、透過処理Bにおいて、後書き優先処理と先書き優先処理のいずれを採用するかについては、構築する仮想空間の構成や複雑さに応じてそれぞれ利点が異なる。例えば、仮想空間が複数のオブジェクトにより構成され、自キャラクタの障害物が複数存在する場合には、後書き優先の処理を採用すると、その複数のオブジェクトについて全て色合成処理を施す必要が生じ、処理の遅延かを招く恐れがある。こういった場合には、先書き優先の処理によって、最も手前に存在するオブジェクトのみを描画することとすれば、処理を高速化するだけでなく、見た目にも解りやすい画像を生成することができる。一方、仮想空間に配置されるオブジェクトが比較的少なく、障害物が小数である場合には、後書き優先処理を採用することでZバッファを必要としないため、メモリ資源を効率的に利用することができる。
【0102】
以上のように、Zソート法を利用した透過処理Bによれば、透過領域における遠景画像に対して、近景領域のオブジェクトの色情報を合成することができる。したがって、所定の範囲内に存在するオブジェクトについて半透過させて表現し、その存在を知らしめた上で、自キャラクタを可視化することができる。また、色合成の割合(α値)を透過領域の縁から中心へと徐々に変化させることとすれば、障害物が徐々に透過するように表現できるため、プレーヤにとって自キャラクタと他のオブジェクトとの位置関係がより把握しやすい画像を生成することができる。
【0103】
(III)色合成による透過処理2(透過処理C)
続いて、色合成による透過処理2(透過処理C)について説明する。
透過処理Cでは、自キャラクタを含む遠景領域と近景領域とに分割した後、各領域の画像を生成する。そして、範囲を指定して各画像の色を合成することにより透過/半透過を実現する。
【0104】
図15は、透過処理Cの概念を説明するための図である。透過処理Cでは、上記透過処理A、Bと同様に、視界を、自キャラクタ102の位置を基準とする近景領域130と遠景領域132とに分割する(a)。ただし、透過処理Cでは、各領域の画像をそれぞれ別々に生成する(b)。このとき、遠景領域の壁オブジェクト110〜114は、メインのフレームバッファ152に記憶し、近景領域の壁オブジェクト116〜120は、サブのフレームバッファ154に記憶する。すなわち、透過処理Cでは、2種類のフレームバッファを必要とする。そして、遠景画像を記憶したメインフレームバッファ152上に色合成領域を設定し、その上に近景画像を描画することによって、最終的な画像を生成する(c)。
【0105】
ここに、色合成領域とは、透過処理Bにおいて説明したものと同様のものであり、既に描かれた遠景画像の色情報と、その上から描画する近景画像の色情報とを合成する領域を意味する。また、ここでは、メインフレームバッファにおける各画素が、RGBの値と共に合成率αの値を記憶するものとし、色の合成処理は、上記式(2)に基づいて実行する。また、透過処理Cでも、透過処理Bと同様に、遠景画像が完成すると、αテクスチャをメインフレームバッファ内の適当な位置にマッピングすることによって、色合成領域を設定する。αテクスチャのマッピング位置および範囲は、透過処理Bにおいて説明したものと同様である。
【0106】
なお、透過処理Cにより生成されたゲーム画像は、透過処理Bの「先書き優先処理」により生成されたゲーム画像と同様の画像となる。すなわち、ゲーム画像上の透過領域において、近景領域に属するオブジェクトの内、最も手前に存在するオブジェクトのみが透けて、その奥に存在する遠景領域のオブジェクトが見えるように表現される。図16は、透過処理Cによりゲーム画像を生成した際の、メインフレームバッファ152の各画素が有する色情報を説明するための図である。(a)は、各ポリゴンA,Bの位置関係、および、各画素が有するα値の例を示す図であり、図12で説明した状況と同一の状況を示す。透過処理Cでは、近景領域のオブジェクト(すなわち、ポリゴン)について陰面消去処理を施してサブフレームバッファ154に描画した後(b)、メインフレームバッファ152に描画する(c)。したがって、透過処理Cによる方法では、遠景・近景の各領域において視点から見える最も手前に存在するオブジェクトの色情報のみを色合成することとなる。
【0107】
また、透過処理Cにおいて各領域の画像を生成する際、採用する陰面消去処理は、Zバッファ法、Zソート法の何れの方法であってもよい。あるいは、スキャンライン法であってもよいし、レイトレーシング法であってもよい。このように、透過処理Cでは、採用する陰面消去の方法を制限しない。したがって、構築する仮想空間の形態に応じて最も効率のよい陰面消去処理を採用することができる。
【0108】
以上に、透過処理A〜Cについて説明した。これらの処理について共通することは、視点座標系における視界を、自キャラクタを基準として遠景領域と近景領域に分割し、遠景領域に属するオブジェクトについて先に描画を実行することである。そして、採用する陰面消去の方法に応じて、Zバッファ、あるいは、フレームバッファが有する情報を操作し、引き続き、近景領域に属するオブジェクトについて描画を実行する。このように、透過して見える領域と、透過の対象となる領域とを無条件で分割し、遠景から近景へといった順番で描画を実行することにより、簡単に透過/半透過を施した画像を生成することができる。なお、いずれの処理においても、遠景領域に属するオブジェクトの描画が完了した後に、各バッファを操作する。
【0109】
なお、以上では、ゲーム画像内に描かれる自キャラクタの大きさが常に一定であり、透過領域の大きさも一定とする場合について説明した。しかし、ゲームの種類によっては、視点と自キャラクタとの距離Dが固定ではなく、距離に応じてゲーム画像上に描かれる自キャラクタの大きさを様々に変化させる場合がある。係る場合には、透過領域の大きさも自キャラクタの大きさ、すなわち、視点との距離Dに応じて変化させることが望ましい。
【0110】
そこで、例えば、Zテクスチャあるいはαテクスチャ(以下、単にテクスチャという)がマッピングされる各画素数(n,m)をそれぞれ視点と自キャラクタの距離Dの関数によって定義し、距離Dに応じてマッピングする範囲の大きさが変化するように設定する。具体的には、図17に示すように、視点100と自キャラクタ102の標準的な距離Dcを定義し、標準距離Dcにおけるテクスチャのマッピング範囲(画素数)を標準画素数(nc、mc)として設定する。そして、視点100と自キャラクタ102の距離Dの標準距離Dcに対する比率に応じてマッピングする範囲(n,m)を決定する。
【0111】
すなわち、
n=nc×{(Dmax−D)/(Dmax−Dc)}
m=mc×{(Dmax−D)/(Dmax−Dc)} …(3)
によってマッピング範囲を決定する。なお、Dmaxの値は、例えば、自キャラクタが最も視点の近い位置Dminに位置する時の最大画素数(nmax、mmax)を定義し、標準距離Dcにおける標準画素数(nc、mc)との組み合わせによって決定してもよい。この(3)式によれば、視点に対する自キャラクタの位置が標準距離Dcより近い場合には、透過領域は拡大され、遠い場合には縮小されることとなる。勿論、このように単純な拡大縮小の方法に限らず、距離に応じてZテクスチャの大きさを特定するためのテーブルを生成し、スケーリングする際にそのテーブルを参照することとしてもよい。
【0112】
あるいは、複数種類の(Z/α)テクスチャを用意し、視点との距離Dに応じてマッピングするテクスチャを変更してもよい。例えば、透過処理Aでは、Z値が定義された部分に含まれるZ値を持たない部分の割合や、Z値が定義された部分の大きさや形が異なるZテクスチャを複数用意する。また、透過処理B、Cでは、合成率や、各合成率がαテクスチャ内で占める面積がそれぞれ異なるαテクスチャを複数用意する。このように、テクスチャそのものを変更することとすれば、式を計算する必要がなく、より高速に透過領域の大きさや暈しの度合を変更することができる。
【0113】
また、マッピングする範囲の大きさをそのままに、視点と自キャラクタとの距離Dに応じてマッピングする位置を変更することとしてもよい。具体的には、自キャラクタの代表点の座標ではなく、距離Dに応じて自キャラクタ内を移動する移動点の座標に(Z/α)テクスチャの中心点を対応させる。図18(a)は、自キャラクタ102の一例を示す図であり、自キャラクタ102上に引かれた線分200は、移動点の移動可能な範囲を示す。なお、自キャラクタ102の代表点(Xp、Yp、Zp)を、同図における腹部の点102aとし、移動点の座標を(Xp、Yp+δ、Zp)と定義する。ここに、δは、距離Dの関数F(D)により与える。図18(b)は、関数F(D)の一例を示す図である。すなわち、
なお、仮想空間における自キャラクタ102の頭部102bと腹部102aは、長さh離れているものとする。したがって、マッピングされるテクスチャの中心点は、視点100と自キャラクタ102との距離Dが大きくなるにつれ腹部102a近傍に配置され、距離Dが閾値D2を越えると常に腹部102aに配置される。一方、距離Dが小さくなるにつれ、テクスチャの中心点は、頭部102b近傍に配置され、閾値D1を超えると常に頭部102bに配置される。
【0114】
また、Zあるいはαテクスチャをマッピングする位置を、自キャラクタの内部に限定する必要もなく、例えば、透過領域が自キャラクタの移動に伴い遅れて自キャラクタについてくるように表現してもよい。具体的には、移動点として座標(Xp−vp・△t、Yp、Zp)を定義する。そして、この移動点に、マッピ
ングするテクスチャの中心点を対応させる。ここに、座標(Xp、Yp、Zp)は、自キャラクタの代表点の座標を意味し、vpは、自キャラクタのX軸方向(視点座標系における)に対する移動速度を意味する。また、△tは定数である。
このように、時間として定数を採用することにより、自キャラクタの移動速度に応じた透過領域の遅れを表現することができる。
【0115】
無論、上記式に限定する必要はなく、注目させたい位置に応じて適宜適当な関数を採用してもよい。また、距離Dに応じて段階的に位置を記憶したテーブルを予め用意し、自キャラクタの位置が変更するたびに当該テーブルを読み出して、マッピングする位置を決定することとしてもよい。
【0116】
(3)構成
図19は、本実施の形態における機能ブロックの一例を示す図である。同図において、機能ブロックは、主に、操作部10と、処理部20と、表示部30と、情報記憶媒体40とから構成される。
【0117】
操作部10は、プレーヤがゲームにおける自キャラクタの操作や、ゲームの開始/中止の指示、選択画面における選択項目の入力等を実行するためのものであり、キーボードやマウス、ゲームコントローラ等により実現可能である。
【0118】
処理部20は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理等の各種処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、あるいはASIC(ゲートアレイ等)等のハードウェアや、所与のプログラムにより実現できる。また、処理部20には、主に、ゲーム演算部22、画像生成部24が含まれる。
【0119】
ゲーム演算部22は、ゲームの進行処理、選択画面の設定処理、仮想空間上での各オブジェクトやキャラクタの位置や向きを決定する処理、視点の位置や視線方向、視界等を求める処理等、種々のゲーム処理を操作部10から入力される操作信号や、情報記憶媒体40から読み出すゲームプログラム42内のゲーム演算プログラム420等に基づいて実行する。
【0120】
また、ゲーム演算部22は、各オブジェクト、自キャラクタ、視点等の位置を決定すると、各種座標データを画像生成部24に出力する。このとき、ゲーム演算部22は、各オブジェクトをポリゴン単位に分解し、ポリゴン群として画像生成部24に出力する。各ポリゴンのデータには、座標データおよび属性、色情報等が付加される。また、ポリゴン群には、そのポリゴン群が構成するオブジェクトの代表点の座標データが付加される。更に、ゲーム演算部22は、視界を遠景領域と近景領域とに分割するために必要となる基準点として、自キャラクタの座標データを画像生成部24に出力する。
【0121】
画像生成部24は、ゲーム演算部22から入力される指示信号、各種座標データに基づき、ゲーム画像を生成する処理を実行するものであり、CPU、DSP、画像生成専用のIC、メモリなどのハードウェアにより構成される。具体的には、画像生成部24は、前方、後方クリッピングを実行してビューボリュームを決定する処理、各ポリゴンに対する座標変換および視点と光源に基づく輝度計算処理等のジオメトリ処理と、色補間処理、陰面消去処理等のレンダリング処理を実行することによりゲーム画像を生成する。そして、生成したゲーム画像を画像データとして表示部30に出力して表示させる。なお、表示部30は、画像生成部24から入力される画像データを表示画面に表示させるものである。
【0122】
情報記憶媒体40は、ゲーム装置の駆動に係るプログラムやデータ等を記憶するものであり、CD−ROM、ゲームカセット、ICカード、MO、FD、DVD、メモリ、ハードディスク等のハードウェアにより実現できる。なお、情報記憶媒体40は、所与のゲームを実行するためのゲームプログラム42を記憶する。また、ゲームプログラム42には、ゲーム演算部22が所与の処理を実行する際に読み出すゲーム演算プログラム420と、画像生成部24が画像を生成する際に読み出す画像生成プログラム422とが含まれる。また、情報記憶媒体40は、Zテクスチャあるいはαテクスチャを記憶する(不図示)。
【0123】
なお、ゲーム演算プログラム420には、ゲームシナリオや各オブジェクトのポリゴンモデル情報、コントローラからの操作信号に係る各オブジェクトの動作を決定するための情報、所与のゲームの進行に応じて視点位置を決定するための情報、ゲームの進行に係るプレーヤの得点を算出するための情報等、ゲーム進行に係る情報が含まれる。また、画像生成プログラム422には、ジオメトリ処理やレンダリング処理を実行するために必要な情報や、上記透過処理を実行するためのプログラムが含まれる。すなわち、画像生成プログラム422には、採用する透過処理の種類(透過処理A〜透過処理C)に応じた処理を実行するためのプログラムが含まれる。具体的には、後述するフローチャートに基づく処理を実行するためのプログラムが含まれる。
【0124】
なお、画像生成部24は、本発明を実行するための機構として、遠近分割部240と、描画部242と、透過領域決定部244とを含む。また、画像生成部24内に含まれる各部の機能は、採用する透過処理の種類に応じて異なる。以下に、図面を用いて、各部の機能について説明する。
【0125】
図20は、透過処理Aを採用した場合における画像生成部24aの構成を示す図である。画像生成部24aは、遠近分割部240a、描画部242a、透過領域決定部244aの他、近景リストを記憶するための近景リスト記憶部246aと、Zバッファ248aと、フレームバッファ250aとを備える。
【0126】
遠近分割部240aは、ゲーム演算部22から入力される自キャラクタの座標データ(基準点)に基づいて、ゲーム演算部22から入力される各ポリゴン群が遠景領域と近景領域の何れの領域に属するかを判定する処理を実行する。すなわち、遠近分割部240aは、各ポリゴン群に付加されたオブジェクトの代表点のZ座標と、自キャラクタのZ座標とを比較することによって、各ポリゴン群の遠景/近景を決定する。そして、判定の結果、ポリゴン群が遠景領域に属するものと判定した場合には、当該ポリゴン群を描画部242aに出力する。一方、ポリゴン群が近景領域に属するものと判定した場合には、近景リスト記憶部246a内に、当該ポリゴン群を登録する。また、透過領域決定部244aからZ値を変更した旨を知らせる信号が入力された場合には、近景リスト記憶部246aから順次ポリゴンを読み出して、描画部242aに出力する。
【0127】
描画部242aは、遠近分割部240aから入力されたポリゴンに対し、座標変換処理、輝度計算、色補間処理等を施してフレームバッファ250aに描画する処理を実行する。なお、描画部242aは、Zバッファ248aを用いた陰面消去処理を実行する。すなわち、Zバッファ248aに記憶されたZ値と、ポリゴンのZ値とを比較し、当該ポリゴンのZ値がより視点に近い場合にのみ、フレームバッファ250aおよびZバッファ248aの各画素が有する値を更新する。また、描画部242aは、自キャラクタの代表点の(Xp,Yp)座標をフレームバッファ250aにおける座標系(xp,yp)に変換し、透過領域決定部244aに出力する。
【0128】
透過領域決定部244aは、Zバッファ248a上の適当な領域のZ値を変更する処理を実行する。すなわち、遠近分割部240aから遠景画像が完成した旨を伝える信号が入力された場合には、情報記憶媒体40からZテクスチャを読み出して、Zバッファ248a上にマッピングする処理を実行する。なお、Zテクスチャをマッピングする位置は、フレームバッファ250aにおける自キャラクタの代表点の座標(xp,yp)に基づいて決定する。
【0129】
以下、図21に示すフローチャートを用いて、透過処理Aにおける処理の流れを説明する。なお、以下の処理は、毎フレーム実行するものである。
同図によれば、ゲーム演算部22は、ゲームにおけるゲーム演算処理を実行する(ステップS1)。すなわち、プレーヤ入力に基づいて、仮想空間を定義するワールド座標系における自キャラクタ、敵キャラクタ、オブジェクト、視点等の位置を決定し、また、仮想空間における視点の視界を決定する。次いで、ゲーム演算部22は、遠近分割部240aに自キャラクタおよび各オブジェクトの座標データを出力する。遠近分割部240aは、自キャラクタのZ座標を分割の基準点として決定する(ステップS2)。
【0130】
次いで、遠近分割部240aは、ゲーム演算部22から入力されたオブジェクト(ポリゴン群)の中から処理を実行するオブジェクトを決定し(ステップS3)、当該オブジェクトが視点に対して、基準点より近いか否かを判定する(ステップS4)。当該オブジェクトが基準点より遠い位置に存在する場合には、当該オブジェクトを描画部242aに出力して、フレームバッファ250a上に描画させる(ステップS5)。一方、ステップS4において、当該オブジェクトが基準点よりも近くにあると判定した場合には、当該オブジェクトを近景リスト記憶部246aに追加する(ステップS6)。
【0131】
続いて、遠近分割部240aは、ゲーム演算部22から入力されたオブジェクトの内、未処理のオブジェクトの存在有無を判定し(ステップS7)、存在する場合には、ステップS3に移行する。一方、ステップS7において、入力された全てのオブジェクトに対する処理が終了した場合には、描画部242aに自キャラクタを構成するポリゴン群を出力してフレームバッファ250aに描画させて、遠景画像を完成させる(ステップS8)。次いで、遠景分割部240aは、遠景画像が完成すると、透過領域決定部244aに対して、遠景画像が完成した旨を伝える信号を出力する。透過領域決定部244aは、Zバッファ248aの適当な領域のZ値を更新し(ステップS9)、遠景分割部240aに対して、Z値変更の処理が終了した旨を伝える信号を出力する。遠景分割部240aは、近景リスト記憶部246aに登録されたポリゴンを順次描画部242aに出力して描画させ(ステップS10)、ゲーム画像を完成させて本処理を終了する。
【0132】
図22は、透過処理Bを採用した場合における画像生成部24bの構成を示す図である。画像生成部24bは、遠近分割部240b、描画部242b、透過領域決定部244bの他、近景リストを記憶するための近景リスト記憶部246bと、Zバッファ248bと、フレームバッファ250bとを備える。なお、以下では、Zバッファ248bを併用した先書き優先のZソート法を用いた透過処理を例に説明する。また、フレームバッファ250bは、各画素毎に対応するα値を記憶する。
【0133】
遠近分割部240bは、ゲーム演算部22から入力される自キャラクタの座標データを基準として、ゲーム演算部22から入力されるポリゴン群が属する領域(遠景/近景)を決定する処理を実行する。そして、判定の結果、ポリゴン群が遠景領域に属するものと判定した場合には、描画部242bに出力し、フレームバッファ250bに描画させる。一方、ポリゴン群が近景領域に属するものと判定した場合には、当該ポリゴン群を近景リスト記憶部246bに登録する。ただし、ポリゴン群を近景リスト記憶部246bに記憶する際には、各ポリゴンをZソートし、優先順位を決定しつつ登録する。
【0134】
描画部242bは、遠近分割部240bから入力されたポリゴンをフレームバッファ250bに描画する処理を実行する。ただし、描画部242bは、Zバッファ248bを用いた陰面消去を実行する。また、描画部242bは、フレームバッファ250bに格納されている色情報に対して上書きする場合には、式(2)に基づく色合成処理を実行することによって該当する画素に合成した色情報を記憶させる。なお、描画部242bは、自キャラクタの代表点の(Xp,Yp)座標をフレームバッファ250bにおける座標系(xp,yp)に変換し、透過領域決定部244bに出力する。
【0135】
透過領域決定部244bは、フレームバッファ250bの適当な領域のα値を変更する処理を実行する。すなわち、遠近分割部240bから遠景画像が完成した旨を伝える信号が入力された場合には、情報記憶媒体40からαテクスチャを読み出して、フレームバッファ250bにマッピングする処理を実行する。マッピングする位置は、自キャラクタの代表点の座標(xp,yp)に基づいて決定する。
【0136】
以下、図23に示すフローチャートを用いて、透過処理Bにおける処理の流れを説明する。なお、以下の処理は、毎フレーム実行するものである。
同図によれば、ゲーム演算部22は、ゲーム演算処理を実行し(ステップS20)、各オブジェクトおよび自キャラクタの座標データを遠近分割部240bに出力する。遠近分割部240bは、自キャラクタの位置を基準点として決定する(ステップS21)。そして、遠近分割部240bは、ゲーム演算部22から入力されたオブジェクトの中から処理を実行するオブジェクトを決定し(ステップS22)、当該オブジェクトが視点に対して、基準点より近いか否かを判定する(ステップS23)。当該オブジェクトが基準点より遠い位置に存在する場合には、当該オブジェクトを描画部242bに出力して、フレームバッファ250bに描画させる(ステップS24)。一方、ステップS23において、当該オブジェクトが基準点よりも近くにあると判定した場合には、当該オブジェクトのポリゴン群をZソートし、その奥行順に近景リスト記憶部246bに登録する(ステップS25)。
【0137】
続いて、遠近分割部240bは、ゲーム演算部22から入力されたオブジェクトの内、未処理のオブジェクトの存在有無を判定し(ステップS26)、未処理のオブジェクトが存在する場合には、ステップS22に移行する。一方、ステップS26において、入力された全てのオブジェクトに対する処理が終了した場合には、描画部242bに対して自キャラクタを出力し、フレームバッファ250bに描画させて(ステップS27)遠景画像を完成する。続いて、遠近分割部240bは、遠景画像が完成すると、透過領域決定部244bに対して、遠景画像が完成した旨を伝える信号を出力する。透過領域決定部244bは、フレームバッファ250bの適当な位置にαテクスチャをマッピングし(ステップS28)、α値の変更処理が完了した旨を伝える信号を遠近分割部240bに出力する。遠近分割部240bは、近景リスト記憶部246bに登録されたポリゴンを優先順位に従った順番で、更に本近景の描画を行うときにフレームバッファ上のα値を使って描画部242bに出力して描画させ(ステップS29)、ゲーム画像が完成すると、本処理を終了する。
【0138】
なお、後書き優先のZソート法を用いた透過処理Bを実行する場合には、すなわち、Zバッファ248bを併用せずに、透過処理Bを実行する場合には、遠景領域に存在するオブジェクト(および、各ポリゴン)についてもZソートする必要がある。この場合には、遠近分割部240bは、各オブジェクトが属する領域を判定した後、各領域につきリストを生成することととなる。すなわち、上記説明では、近景リストのみを生成することとして説明したが、遠景領域に属するオブジェクトについてもリストを生成する。このとき、近景リストと同様に、各オブジェクト、および、ポリゴンを、Zソートして記憶することとなる。
【0139】
図24は、透過処理Cを採用した場合における画像生成部24cの構成を示す図である。画像生成部24cは、遠近分割部240c、描画部242c、透過領域決定部244cの他、メインフレームバッファ252cと、サブフレームバッファ254cとを含む。なお、少なくともメインフレームバッファ252cは、各画素毎に対応するα値を記憶する。
【0140】
遠近分割部240cは、ゲーム演算部22から入力される自キャラクタの座標データを基準として、ゲーム演算部22から入力されるポリゴン群が属する領域(遠景/近景)を決定する処理を実行する。そして、判定の結果、ポリゴン群が属する領域が遠景領域であった場合には遠景コードを、近景領域であった場合には近景コードをそれぞれのポリゴンに付加して描画部242cに出力する。
【0141】
描画部242cは、遠近分割部240cから入力されたポリゴンを描画する処理を実行する。具体的には、入力されたポリゴンに付加されたコードを判別し、遠景コードが付加されたポリゴンは、メインフレームバッファ252cに描画する。一方、近景コードが付加されたポリゴンは、サブフレームバッファ254cに描画する。また、透過領域決定部244cからα値の変更処理が完了した旨を伝える信号が入力された場合には、サブフレームバッファ254cから画像データを読み出して、メインフレームバッファ252cに描画する。
【0142】
なお、描画部242cは、メインフレームバッファ252cに格納されている色情報に対して上書きする場合には、式(2)に基づく色合成処理を実行することによって該当する画素に合成した色情報を記憶させる。また、描画部242cは、陰面消去処理を実行する場合には、何れの方法を採用してもかまわない。例えば、Zバッファ法による陰面消去を行う場合には、各フレームバッファに対応するZバッファが必要となる。また、描画部242cは、自キャラクタの代表点の(Xp,Yp)座標をフレームバッファにおける座標系(xp,yp)に変換し、透過領域決定部244cに出力する。
【0143】
透過領域決定部244cは、メインフレームバッファ252cの適当な範囲のα値を変更する処理を実行する。すなわち、遠近分割部240cから遠景画像が完成した旨を伝える信号が入力された場合には、情報記憶媒体40からαテクスチャを読み出して、メインフレームバッファ252cにマッピングする処理を実行する。マッピングする位置は、自キャラクタの代表点の座標(xp,yp)に基づいて決定する。
【0144】
図25に示すフローチャートに基づいて、透過処理Cの処理の流れについて説明する。なお、以下の処理は、毎フレーム実行するものである。
同図によれば、ゲーム演算部22は、ゲーム演算処理を実行し(ステップS30)、遠近分割部240cに対して自キャラクタおよび各オブジェクトの座標データを出力する。遠近分割部240cは、自キャラクタの位置を基準点として決定する(ステップS31)。次いで、遠近分割部240cは、ゲーム演算部22から入力されたオブジェクトの中から処理を実行するオブジェクトを決定し(ステップS32)、当該オブジェクトが視点に対して、基準点より近いか否かを判定する(ステップS33)。当該オブジェクトが基準点より遠い位置に存在する場合には、当該オブジェクトを構成する各ポリゴンに対して遠景コードを付加して描画部242cに出力する。
【0145】
描画部242cは、遠景コードが付加されたポリゴンをメインフレームバッファ252cに描画する(ステップS34)。一方、ステップS23において、当該オブジェクトが基準点よりも近くにあると判定した場合には、当該オブジェクトを構成する各ポリゴンに対して近景コードを付加し、描画部242cに出力する。描画部242cは、近景コードが付加されたポリゴンをサブフレームバッファ254cに描画する(ステップS35)。
【0146】
続いて、遠近分割部240cは、入力されたオブジェクトの内、未処理のオブジェクトの存在有無を判定し(ステップS36)、未処理のオブジェクトが存在する場合には、ステップS32に移行する。一方、ステップS36において、入力された全てのオブジェクトに対する処理が終了した場合には、遠近分割部240cは、描画部242cに対して遠景コードを付加した自キャラクタを出力し、メインフレームバッファ252cに自キャラクタを描画させて(ステップS37)、遠景画像を完成させる。また、遠近分割部240cは、遠景画像が完成すると、透過領域決定部244cに遠景画像が完了した旨を伝える信号を出力する。透過領域決定部244cは、メインフレームバッファ252cの適当な位置にαテクスチャをマッピングし(ステップS38)、描画部242cに対して、α値の変更処理が完了した旨を伝える信号を出力する。
【0147】
描画部242cは、サブフレームバッファ254cに記憶された近景領域の画像データを読み出して、メインフレームバッファ252cに描画する。このとき、メインフレームバッファ252cに記憶したα値を使って近景の画像と遠景の画像とを合成しつつ描画を実行する(ステップS39)。そして、ゲーム画像が完成すると本処理を終了する。なお、ステップS38において、メインフレームバッファ252cの値をそのままに、サブフレームバッファ254cのα値を更新し、ステップS39において、メインフレームバッファ252c上にサブフレームバッファ254cを描画してもよい。
【0148】
(4)ハードウェア構成
次に、本実施の形態を実現できるハードウェアの構成の一例について、図26を用いて説明する。同図に示す装置では、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ入出力可能に接続されている。そして、画像生成IC1010には、表示装置1018が接続され、音生成IC1008には、スピーカ1020が接続され、I/Oポート1012には、コントロール装置1022が接続され、I/Oポート1014には、通信装置1024が接続されている。
【0149】
情報記憶媒体1006は、図19に示す情報記憶媒体40に相応するものであり、プログラム、表示物を表現するための画像データ、音データ、プレイデータ等が主に格納されるものである。例えば、家庭用ゲーム装置では、ゲームプログラム等を格納する情報記憶媒体として、CD−ROM、ゲームカセット、DVD等が用いられ、プレイデータを格納する情報記憶媒体としてメモリカードなどが用いられる。また、業務用ゲーム装置では、ROM等のメモリやハードディスクが用いられ、この場合には、情報記憶媒体1006は、ROM1002になる。
【0150】
コントロール装置1022は、図1に示すゲームコントローラ1202、1204に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【0151】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(装置本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000は、装置全体の制御や各種データ処理を行う。RAM1004は、このCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果が格納される。なお、図21、図23、図25に示す、近景リスト記憶部や、(メイン/サブ)フレームバッファ、Zバッファは、このRAM1004に含まれるものとしてもよいし、別途独立したメモリにより構成されるものとしてもよい。
【0152】
更に、この種の装置には、音生成IC1008と画像生成IC1010とが設けられていて、ゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は、情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音は、スピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から出力される画像情報に基づいて表示装置1018に出力するための画素情報を生成する集積回路である。また表示装置1018は、CRTやLCD、TV、プラズマディスプレイ、プロジェクター等により実現される。
【0153】
また、通信装置1024は、ゲーム装置内部で利用される各種の情報を外部とやり取りするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介して、ゲームプログラム等の情報を送受すること等に利用される。すなわち、本発明に係る処理を実行するためのプログラムを、通信回線を介して外部機器から取得し、情報記憶媒体1006内に記憶する構成にしてもよい。
【0154】
また、上記説明した種々の処理は、図21、図23、図25のフローチャートに示した処理等を行うためのプログラム等を含むプログラムを格納した情報記憶媒体1006と、該プログラムに従って動作するCPU1000、画像生成IC1010、音生成IC1008等によって実現される。なお、画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0155】
なお、上記説明では、図1に示す家庭用のゲーム装置に本発明を適用させるものとして説明したが、図27に示すように、ホスト装置1300と、このホスト装置1300と通信回線1302を介して接続される端末1304−1〜1304−nとを含むゲーム装置に本発明を適用してもよい。
【0156】
この場合、図19に示す情報記憶媒体40に記憶されるゲームプログラム42等は、例えば、ホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。また、端末1304−1〜1304−nが、CPU、画像生成IC、音生成IC、を有し、スタンドアローンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304−1〜1304−nに配送される。一方、スタンドアローンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304−1〜1304−nに伝送し端末において出力することになる。
【0157】
図28は、本実施の形態を業務用ゲーム装置500に適用した場合の例を示す図である。この業務用ゲーム装置500は、プレーヤがスピーカ506から出力される音を聞きながら、操作ボタン504を操作することによって、ディスプレイ502上に表示されるキャラクタを操作して所与のゲームを楽しむ装置である。業務用ゲーム装置500に内蔵されるシステム基板508には、CPU、画像生成IC、音生成IC等が実装されている。そして、ゲームプログラム42等は、システム基板508上の情報記憶媒体であるメモリ510に格納されている。
【0158】
なお、本発明は、上記実施の形態で説明したものに限らず、種々の変形実施が可能である。例えば、本実施の形態では、自キャラクタの位置を基準として視界を遠景領域と近景領域の2つに分割することとして説明したが、これに限定する必要はなく、視界を複数に分割して、段階的に透過を実行することとしてもよい。
【0159】
具体的には、分割する際の基準となる座標を透過基準点として視界内に複数設定する。図29は、視界内に3つの透過基準点を設定し、視界を奥行順に4つに分割した例を示す図である。なお、視界を複数に分割する場合には、各領域について描画する順番を奥行順に決定しなければならない。すなわち、図29によれば、視点から最も遠い領域410に属するオブジェクトから描画し、ZバッファあるいはフレームバッファのZ/α値を操作して、次の領域412のオブジェクトを描画する、といった具合に、奥から順に処理を実行することにより、段階的な透過処理を実現する。
【0160】
なお、複数の段階的に透過処理を実行する場合において、各段階(領域)毎に、Zバッファ/フレームバッファを操作する範囲に変化を付けることによって、更に透過/半透過の表現を多様化させることができる。例えば、透過処理Aにおいて段階的な透過を施す場合、Z値を変更する範囲を、奥に存在する領域程小さく、手前に存在する領域程大きく設定することにより、図30に示すように、透過領域が段階的に小さくなる様子を表現することができる。同図において、斜線部が透過されない領域を示す。このように、段階的に、Z値を操作する範囲を変化させることにより、より奥行感を強調することができる。また、各領域に対するZ値変更の範囲を時間に応じて広げて行くことにより、徐々に透過するような印象を与えることができる。
【0161】
あるいは、透過処理B、Cにおいて、段階的な透過を実行する場合には、各領域に応じて色の合成率を変化させてもよい。例えば、視点に対して奥に位置する領域ほどα値が高くなるように設定すれば、最も奥に存在するオブジェクトが最もよく見え、手前に存在するオブジェクト程薄く透けて見える画像を生成することができる。逆に、奥に位置する領域ほどα値が低くなるように設定すれば、奥に存在するオブジェクトほど暈したように表現することができる。
【0162】
また、上記実施例において、自キャラクタの表示を妨げる障害物の存在有無について判定する必要のないことを説明したが、障害物の存在有無を判定し、その結果に応じて透過の度合を変化させるようにしてもよい。例えば、障害物の存在を認めてからの時間tを計時し、時間tの値に応じて透過領域の大きさを変更する。すなわち、Zあるいはα値を変更するためのテクスチャを各バッファにマッピングする範囲(大きさ)を特定する画素数をそれぞれtの関数(n(t),m(t))として定義する。このとき、各関数n(t),m(t)について、時間tが小さいときは0あるいは0に近い値を示し、時間tの増加に伴って、大きい値を示すように設定すれば、障害物が徐々に透けて見えるように表現することができる。
【0163】
あるいは、複数種類のZテクスチャ、あるいは、αテクスチャを予め用意し、障害物発生の時刻からの時間経過に応じて、テクスチャを変更する構成にしてもよい。この場合には、テクスチャをマッピングする範囲(画素数)を一定にし、透過したい形や大きさ、透過処理Aの場合にはZ値の含有率、透過処理B、Cの場合には色の合成率α等がそれぞれ異なるテクスチャを用意する。また、各テクスチャを、図31に示すような時間テーブル600に、障害物発生からの時間帯と対応付けて記憶し、読み出す際には、現在の経過時間と照らし合わせてマッピングするテクスチャを決定する構成にする。なお、本発明は、障害物の存在有無について制限を与えるものではなく、従来に知られたいかなる方法であってもかまわない。
【0164】
また、本実施の形態では、3人称視点のゲームを例に説明したが、1人称視点のゲームに適用可能なことは勿論である。この場合には、遠景領域と近景領域とを分割するための座標を透過基準点として設定する。この透過基準点は、他のキャラクタやオブジェクトの代表点であってもよいし、プレーヤにより操作可能な単独の座標であってもよい。あるいは、ゲームステージやモード、ゲームの進行状況に応じて固定的な透過基準点のZ値を変化させる構成にしてもよい。例えば、透過メガネなるアイテムを設け、自キャラクタが装着した透過メガネの種類に応じて透過基準点の奥行値(Z座標)を変更させる。あるいは、自キャラクタの経験値に応じて透過基準点の座標を変更させてもよい。また、透過できる時間を自キャラクタの経験値やアイテムの種類、生命値等に応じて制限してもよい。
【0165】
なお、1人称視点の場合におけるZテクスチャやαテクスチャをマッピングする位置は、フレームバッファの座標系に変換された透過基準点の座標位置としてもよいし、視点の視点方向、すなわち、画面の中央に固定してもよい。
【0166】
勿論、3人称視点に基づくゲームにおいても、透過処理を実行するか否かを、ゲームのステージやシーン、モードに応じて変更してよい。例えば、プレーヤの操作を妨げることを目的として、意図的に障害物となるオブジェクトを配置した目隠しステージなるステージを設け、自キャラクタが他のステージにて経験値やアイテムを獲得することによって、再び目隠しステージに戻った際には、障害物を透過して表現するといった具合に、ゲームの進行状況に応じて透過処理の有無を決定することとしてもよい。
【0167】
また、上記実施例では、透過処理B、Cにおいて、αテクスチャによって色を合成する範囲を特定することとして説明したが、ゲーム画像における全ての範囲について色合成することとしてもよい。具体的には、遠景領域の描画が終了すると、フレームバッファにおける全ての画素のα値を所与の値に変更し、近景領域に属する全てのオブジェクトについて、色の合成処理を施す。このように、色の合成領域を特定しないことによって、より高速に画像を生成することが可能となる。
【0168】
また、本実施の形態における透過処理Aの説明において、Z値の変更処理を、Zテクスチャを直接Zバッファにマッピングすることにより実行するものとして説明したが、これに限定する必要はない。例えば、図7(c)に示すように、仮想空間内の視点の近接位置に、視点と共に移動し、Z値のみを有する(RGB値を持たない)透過オブジェクトを設定することとしてもよい。この場合には、透過オブジェクトを描画するタイミングは、遠景領域に属するオブジェクトの描画が終了し、近景領域に属するオブジェクトを描画する直前とする。また、透過オブジェクトは、視点から常に距離d離れた位置に設定することとし、その方向は、原則、透過オブジェクトの代表点が視点と自キャラクタ(あるいは、所与の透過基準点)とを結ぶ線分と交わる位置とする。
【0169】
このことにより、上記透過処理Aと同様の効果を得ることができる。具体的には、近景領域に属するオブジェクトの内、透過オブジェクトの背面に位置する部分を透過させることが可能となる。このことは、図29、30を参照して説明した透過基準点を複数設定する場合等にも適用可能であることは勿論である。
【0170】
【発明の効果】
本発明によれば、視点に対して遠い遠景領域と、近い近景領域とに分割し、遠景領域の画像を生成した後、近景領域に属するオブジェクトを描画することとした。ただし、近景領域に属するオブジェクトを描画する際に、Zバッファ、あるいは、フレームバッファに対して操作を施す。例えば、Zバッファ法による陰面消去処理を採用する場合には、Zバッファにおける所定の範囲の値を視点に近い値に変更することにより、近景領域に存在するオブジェクトの描画を排除する。したがって、Z値を変更した範囲に係る近景領域が描画されず、フレームバッファ上に遠景領域のデータ(色情報)を残し、透過したように表現することができる。
【0171】
また、Zソートによる陰面消去処理を採用する場合には、フレームバッファにおけるα値を操作し、遠景領域における画像と近景領域に存在するオブジェクトとの色を合成する。したがって、α値を操作した部分については、遠景画像の色情報が反映されることとなり、近景領域のオブジェクトの奥に遠景画像が薄く見えるようなゲーム画像を生成することができる。なお、近景領域の画像をサブフレームバッファに、遠景領域の画像をメインフレームバッファにそれぞれ描画し、各領域の画像が完成した後、メインフレームバッファのα値を操作し、各画像を合成することも可能である。このように、2つの領域についてそれぞれ独立して描画処理を行うことにより、幾何学的に正確なゲーム画像をより高速に生成することができる。
【図面の簡単な説明】
【図1】家庭用のゲーム装置の一例を示す図。
【図2】本実施の形態における視点と自キャラクタの位置関係を説明するための図。
【図3】(a)は、視点と自キャラクタ、壁オブジェクトの位置関係を説明するための図。(b)は、陰面消去処理により自キャラクタが壁オブジェクトにより遮られた場合を示す図。(c)は、本発明を適用した一例を示す図。
【図4】(a)は、仮想空間の斜視図。(b)は、近景リストの一例を示す図。(c)は、フレームバッファに記憶された遠景画像の一例を示す図。
【図5】Zテクスチャの一例を示す図。
【図6】ZバッファにおけるZテクスチャのマッピング範囲の一例を示す図。
【図7】(a)は、Z値変更処理後のZバッファの模式図。(b)は、フレームバッファの模式図。(c)は、仮想空間の斜視図。
【図8】近景領域に属する壁オブジェクトの描画例を示す図。
【図9】Zテクスチャの一例を示す図。
【図10】Zソートを施した近景リストの一例を示す図。
【図11】αテクスチャの一例を示す図。
【図12】フレームバッファおよび仮想空間の模式図。
【図13】(a)は、フレームバッファにポリゴンBを描画した一例を示す模式図。(b)は、ポリゴンAを描画した例を示す模式図。(c)は、各色情報の含有率を示す図。
【図14】(a)は、フレームバッファにポリゴンAを描画した一例を示す模式図。(b)は、ポリゴンBを描画した例を示す模式図。
【図15】透過処理Cの概念図。
【図16】透過処理Cによる色合成の一例を示す模式図。
【図17】視点と自キャラクタの標準距離Dcの一例を示す図。
【図18】(a)は、移動点の移動範囲の一例を示す図。(b)は、関数F(D)の一例を示す図。
【図19】本実施の形態における機能ブロックの一例を示す図。
【図20】透過処理Aにおける画像生成部の内部構成を示す図。
【図21】透過処理Aを説明するためのフローチャート。
【図22】透過処理Bにおける画像生成部の内部構成を示す図。
【図23】透過処理Bを説明するためのフローチャート。
【図24】透過処理Cにおける画像生成部の内部構成を示す図。
【図25】透過処理Cを説明するためのフローチャート。
【図26】本実施の形態を実行可能なハードウェアの一例を示す図。
【図27】ホスト装置と通信回線を介して接続されるゲーム端末に本実施の形態を適用した場合の一例を示す図である。
【図28】本発明を業務用のゲーム装置に適用した場合の一例を示す図である。
【図29】視界を複数に分割した一例を示す図。
【図30】段階的な透過処理Aを施した場合における透過しない領域の一例を示す図。
【図31】時間テーブルの一例を示す図。
【符号の説明】
10操作部
20処理部
22ゲーム演算部
24a〜c画像生成部
240a〜c遠近分割部
242a〜c描画部
244a〜c透過領域決定部
246a〜c近景リスト記憶部
248a、bZバッファ
250a、bフレームバッファ
252cメインフレームバッファ
254cサブフレームバッファ
30表示部
40情報記憶媒体
42ゲームプログラム
420ゲーム演算プログラム
422画像生成プログラム
Claims (18)
- オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段とを備えたゲーム装置であって、
前記オブジェクト空間に注視点を設定する手段を備えるとともに、
前記画像生成手段は、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラの位置を基準として当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除して、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現するが、その際、前記疑似設定された前記オブジェクト空間中の透過オブジェクトの大きさを、前記仮想カメラと前記注視点間の距離に応じて変更することを特徴とするゲーム装置。 - オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段とを備えたゲーム装置であって、
前記オブジェクト空間に注視点を設定する手段を備えるとともに、
前記画像生成手段は、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラの位置を基準として当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除するとともに、前記仮想カメラと前記注視点間の距離に応じて、当該透過オブジェクトの疑似設定位置を変更して、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現することを特徴とするゲーム装置。 - オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段とを備えたゲーム装置であって、
前記画像生成手段は、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラの位置を基準として当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除するとともに、所与のタイミングからの経過時間に応じて、当該透過オブジェクトの大きさを変更して、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現することを特徴とするゲーム装置。 - オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段とを備えたゲーム装置であって、
前記画像生成手段は、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラの位置を基準として当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除するとともに、所与のタイミングからの経過時間に応じて、当該透過オブジェクトの疑似設定位置を変更して、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現することを特徴とするゲーム装置。 - 請求項1から4のいずれか記載のゲーム装置であって、
前記画像生成手段は、疑似設定した前記透過オブジェクトの疑似設定位置に基づく当該透過オブジェクトの奥行値を前記記憶手段に記憶させることを特徴とするゲーム装置。 - 請求項1から5のいずれか記載のゲーム装置であって、
前記オブジェクト空間に注視点を設定する手段を備えるとともに、
前記画像生成手段は、前記仮想カメラと、前記注視点とを結ぶ線分上に前記透過オブジェクトを擬似設定することを特徴とするゲーム装置。 - 請求項1から6のいずれか記載のゲーム装置であって、
前記透過オブジェクトは略板状のオブジェクトであり、前記奥行値を有する部分がそのオブジェクトの全体又は一部であることを特徴とするゲーム装置。 - 請求項1から7のいずれか記載のゲーム装置であって、
前記オブジェクト空間に透過基準点を設定する透過基準点設定手段を更に備え、
前記画像生成手段は、前記オブジェクト空間を、前記仮想カメラからの奥行値が前記透過基準点より遠い領域と、前記透過基準点より近い領域とに分割し、前記透過オブジェクトの背面に存在する前記近い領域内のオブジェクトのみを透過させて表現することを特徴とするゲーム装置。 - 請求項8記載のゲーム装置であって、
前記透過基準点設定手段は、透過基準点として複数の透過基準点を設定し、
前記画像生成手段は、前記複数の透過基準点から一の透過基準点を選択し、選択した透過基準点に基づいて、前記オブジェクト空間を遠い領域と、近い領域とに分割することを特徴とするゲーム装置。 - プロセッサによる演算・制御により所与のゲームを実行することとなる装置に対して、
オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、
前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段と、
を機能させるための、前記プロセッサによる演算実行可能な情報を記憶する情報記憶媒体であって、
前記装置に対して、前記オブジェクト空間に注視点を設定する手段を機能させるための情報を更に記憶するとともに、
前記画像生成手段を、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラの位置を基準として当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除して、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現するが、その際、前記疑似設定された前記オブジェクト空間中の透過オブジェクトの大きさを、前記仮想カメラと前記注視点間の距離に応じて変更するように、機能させるための情報を記憶することを特徴とする情報記憶媒体。 - プロセッサによる演算・制御により所与のゲームを実行することとなる装置に対して、
オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、
前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段と、
を機能させるための、前記プロセッサによる演算実行可能な情報を記憶する情報記憶媒体であって、
前記装置に対して、前記オブジェクト空間に注視点を設定する手段を機能させるための情報を更に記憶するとともに、
前記画像生成手段を、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラの位置を基準として当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除し、前記仮想カメラと前記注視点間の距離に応じて、前記透過オブジェクトの疑似設定位置を変更して、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現するように、機能させるための情報を記憶することを特徴とする情報記憶媒体。 - プロセッサによる演算・制御により所与のゲームを実行することとなる装置に対して、
オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、
前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段と、
を機能させるための、前記プロセッサによる演算実行可能な情報を記憶する情報記憶媒体であって、
前記画像生成手段を、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラの位置を基準として当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除し、所与のタイミングからの経過時間に応じて、前記透過オブジェクトの大きさを変更して、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現するように、機能させるための情報を記憶することを特徴とする情報記憶媒体。 - プロセッサによる演算・制御により所与のゲームを実行することとなる装置に対して、
オブジェクト空間における仮想カメラから見た奥行値を記憶するための記憶手段と、
前記記憶手段により記憶された奥行値に基づく陰面消去処理を行って前記仮想カメラから見た前記オブジェクト空間をゲーム画像として生成する画像生成手段と、
を機能させるための、前記プロセッサによる演算実行可能な情報を記憶する情報記憶媒体であって、
前記画像生成手段を、前記ゲーム画像を生成する際に、透過オブジェクトを前記オブジェクト空間に擬似設定し、前記記憶手段に当該透過オブジェクトの奥行値を記憶させることにより、前記仮想カメラの位置を基準として当該透過オブジェクトの背面に該当する部分におけるオブジェクトの描画を排除し、所与のタイミングからの経過時間に応じて、前記透過オブジェクトの疑似設定位置を変更して、ゲーム画像上の当該透過オブジェクトが占める透過領域の透過を表現するように、機能させるための情報を記憶することを特徴とする情報記憶媒体。 - 請求項10から13のいずれか記載の情報記憶媒体であって、
前記画像生成手段を、疑似設定した前記透過オブジェクトの疑似設定位置に基づく当該透過オブジェクトの奥行値を前記記憶手段に記憶させる、ように機能させるための情報を更に記憶することを特徴とする情報記憶媒体。 - 請求項10から14のいずれか記載の情報記憶媒体であって、
前記装置に対して、前記オブジェクト空間に注視点を設定する手段を機能させるための情報を更に記憶するとともに、
前記画像生成手段を、前記仮想カメラと、前記注視点とを結ぶ線分上に前記透過オブジェクトを擬似設定するように、機能させるための情報を記憶することを特徴とする情報記憶媒体。 - 請求項10から15のいずれか記載の情報記憶媒体であって、
前記画像生成手段が設定する透過オブジェクトは略板状のオブジェクトであり、前記奥行値を有する部分をそのオブジェクトの全体又は一部とするための情報を記憶することを特徴とする情報記憶媒体。 - 請求項10から16のいずれか記載の情報記憶媒体であって、
前記装置に対して、前記オブジェクト空間に透過基準点を設定する透過基準点設定手段を機能させるための情報を更に記憶するとともに、
前記画像生成手段を、前記オブジェクト空間を、前記仮想カメラからの奥行値が前記透過基準点より遠い領域と、前記透過基準点より近い領域とに分割し、前記透過オブジェクトの背面に存在する前記近い領域内のオブジェクトのみを透過させて表現するように、機能させるための情報を記憶することを特徴とする情報記憶媒体。 - 請求項17記載の情報記憶媒体であって、
前記透過基準点設定手段を、透過基準点として複数の透過基準点を設定するように、機能させるための情報と、
前記画像生成手段を、前記複数の透過基準点から一の透過基準点を選択し、選択した透過基準点に基づいて、前記オブジェクト空間を遠い領域と、近い領域とに分割するように、機能させるための情報と、
を記憶することを特徴とする情報記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003133367A JP3663407B2 (ja) | 2003-05-12 | 2003-05-12 | ゲーム装置及び情報記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003133367A JP3663407B2 (ja) | 2003-05-12 | 2003-05-12 | ゲーム装置及び情報記憶媒体 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001022013A Division JP3491832B2 (ja) | 2001-01-30 | 2001-01-30 | ゲーム装置および情報記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004000607A true JP2004000607A (ja) | 2004-01-08 |
JP3663407B2 JP3663407B2 (ja) | 2005-06-22 |
Family
ID=30438073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003133367A Expired - Lifetime JP3663407B2 (ja) | 2003-05-12 | 2003-05-12 | ゲーム装置及び情報記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3663407B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018842A (ja) * | 2004-06-30 | 2006-01-19 | Canon Inc | グラフィックオブジェクトを描画する方法 |
JP2008071260A (ja) * | 2006-09-15 | 2008-03-27 | Copcom Co Ltd | 三次元映像表示装置、その表示装置を備えたゲーム装置、その表示装置を実現するためのプログラム及び記録媒体 |
JP2010072922A (ja) * | 2008-09-18 | 2010-04-02 | Kddi Corp | 画像生成装置、方法及びプログラム |
JP2011154701A (ja) * | 2011-02-25 | 2011-08-11 | Nintendo Co Ltd | ゲーム装置およびゲームプログラム |
JP2011221851A (ja) * | 2010-04-12 | 2011-11-04 | Nintendo Co Ltd | 画像表示プログラム、画像表示システム、画像表示方法および画像表示装置 |
JP2019000133A (ja) * | 2017-06-09 | 2019-01-10 | 株式会社カプコン | ゲームプログラム、ゲーム装置およびサーバ装置 |
CN110168617A (zh) * | 2017-01-12 | 2019-08-23 | 科乐美数码娱乐株式会社 | 游戏装置和程序 |
CN112604282A (zh) * | 2020-12-25 | 2021-04-06 | 珠海金山网络游戏科技有限公司 | 虚拟镜头控制方法及装置 |
-
2003
- 2003-05-12 JP JP2003133367A patent/JP3663407B2/ja not_active Expired - Lifetime
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018842A (ja) * | 2004-06-30 | 2006-01-19 | Canon Inc | グラフィックオブジェクトを描画する方法 |
JP2008071260A (ja) * | 2006-09-15 | 2008-03-27 | Copcom Co Ltd | 三次元映像表示装置、その表示装置を備えたゲーム装置、その表示装置を実現するためのプログラム及び記録媒体 |
JP2010072922A (ja) * | 2008-09-18 | 2010-04-02 | Kddi Corp | 画像生成装置、方法及びプログラム |
JP2011221851A (ja) * | 2010-04-12 | 2011-11-04 | Nintendo Co Ltd | 画像表示プログラム、画像表示システム、画像表示方法および画像表示装置 |
JP2011154701A (ja) * | 2011-02-25 | 2011-08-11 | Nintendo Co Ltd | ゲーム装置およびゲームプログラム |
CN110168617A (zh) * | 2017-01-12 | 2019-08-23 | 科乐美数码娱乐株式会社 | 游戏装置和程序 |
CN110168617B (zh) * | 2017-01-12 | 2023-09-05 | 科乐美数码娱乐株式会社 | 游戏装置和程序 |
JP2019000133A (ja) * | 2017-06-09 | 2019-01-10 | 株式会社カプコン | ゲームプログラム、ゲーム装置およびサーバ装置 |
CN112604282A (zh) * | 2020-12-25 | 2021-04-06 | 珠海金山网络游戏科技有限公司 | 虚拟镜头控制方法及装置 |
CN112604282B (zh) * | 2020-12-25 | 2022-09-02 | 珠海金山数字网络科技有限公司 | 虚拟镜头控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3663407B2 (ja) | 2005-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8602888B2 (en) | Video game device and image processing program | |
JP3372832B2 (ja) | ゲーム装置、ゲーム画像処理方法およびゲーム画像処理プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
EP2158948A2 (en) | Image generation system, image generation method, and information storage medium | |
JP4895738B2 (ja) | 三次元映像表示装置、その表示装置を実現するためのプログラム | |
JP2006092156A (ja) | プログラム、情報記憶媒体及び画像生成装置 | |
JP2009237680A (ja) | プログラム、情報記憶媒体および画像生成システム | |
JP2008071260A5 (ja) | ||
US6878058B1 (en) | Image processor and game device with image processor | |
JP3663407B2 (ja) | ゲーム装置及び情報記憶媒体 | |
JP4707080B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
EP0797172A3 (en) | Image processor and game apparatus equipped with the same | |
US20010017629A1 (en) | Methods and apparatus for drawing contours of objects in video games | |
JP3491832B2 (ja) | ゲーム装置および情報記憶媒体 | |
JP2002216158A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2005032140A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4749198B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP4334961B2 (ja) | 画像生成情報、情報記憶媒体及び画像生成装置 | |
JP2009129167A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2007026111A (ja) | プログラム、情報記憶媒体及び画像生成システム | |
JP2004073241A (ja) | ゲームシステム、プログラム及び情報記憶媒体 | |
JP2003051024A (ja) | 画像生成システム及び情報記憶媒体 | |
EP1151771A2 (en) | Game system, imaging method in the game system, and computer readable storage medium having game program stored therein | |
US20100144448A1 (en) | Information storage medium, game device, and game system | |
JP2002269582A (ja) | ゲーム情報、情報記憶媒体及びゲーム装置 | |
JP2003242517A (ja) | 画像生成システム、プログラム及び情報記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041026 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3663407 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080401 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080401 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120401 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140401 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |