(57)【要約】【課題】フレネル効果を擬似的に実現し、リアル感のあるビデオゲームを実現することができる３次元画像処理プログラム、３次元画像処理方法及びビデオゲーム装置を提供する。【解決手段】ＣＰＵ１は、仮想３次元空間内の水面を表す水面モデルの周囲に配置される背景モデルを上下反転させた画像をバッファ１４に記憶させ、描画プロセッサ１０は、背景モデルを背景画像として描画し、ＣＰＵ１は、仮想３次元空間内における仮想カメラ視点に基づいて設定される透明度変化領域内の水面モデルの透明度を変化させ、ＣＰＵ１は、透明度が変化された水面モデルにテクスチャを貼り付け、描画プロセッサ１０は、テクスチャが貼り付けられた水面モデルを背景画像に合成して描画する。【選択図】　図１
2004038398.tif 000002
【特許請求の範囲】
【請求項１】
複数のポリゴンで構成されるモデルを描画するための３次元画像処理プログラムであって、
仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内の前記モデルの透明度を変化させる透明度変化手段と、
前記透明度変化手段によって透明度が変化された前記モデルにテクスチャを貼り付けるテクスチャ貼付手段と、
前記テクスチャ貼付手段によってテクスチャが貼り付けられた前記モデルを描画する描画手段としてビデオゲーム装置を機能させることを特徴とする３次元画像処理プログラム。
【請求項２】
前記領域は、前記仮想カメラ視点から前記領域を含む平面への垂線と当該平面との交点を中心点とし、
前記透明度変化手段は、前記中心点から前記領域の外縁に向かって透明度を低くすることを特徴とする請求項１記載の３次元画像処理プログラム。
【請求項３】
前記透明度変化手段は、前記中心点から前記領域の外縁までの距離の二乗値と、前記中心点から前記領域内の任意の点までの距離の二乗値との比率に基づいて前記任意の点の透明度を算出することを特徴とする請求項１又は２記載の３次元画像処理プログラム。
【請求項４】
前記テクスチャ貼付手段は、前記モデルの周囲に配置された背景モデルを描画させて上下反転させた画像をテクスチャとして前記領域に位置する前記モデルに貼り付けることを特徴とする請求項１〜３のいずれかに記載の３次元画像処理プログラム。
【請求項５】
前記領域は、前記モデルの透明度を変化させ得る透明度変化領域と、前記モデルを不透明にさせ得る不透明領域とを含み、
前記テクスチャ貼付手段は、前記モデルの周囲に配置された背景モデルを描画させて上下反転させた画像をテクスチャとして前記不透明領域に位置する前記モデルに貼り付けることを特徴とする請求項１記載の３次元画像処理プログラム。
【請求項６】
複数のポリゴンで構成されるモデルを描画する３次元画像処理方法であって、
ビデオゲーム装置が、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内の前記モデルの透明度を変化させる透明度変化ステップと、
ビデオゲーム装置が、前記透明度変化ステップにおいて透明度が変化された前記モデルにテクスチャを貼り付けるテクスチャ貼付ステップと、
ビデオゲーム装置が、前記テクスチャ貼付ステップにおいてテクスチャが貼り付けられた前記モデルを描画する描画ステップとを含むことを特徴とする３次元画像処理方法。
【請求項７】
複数のポリゴンで構成されるモデルを描画するビデオゲーム装置であって、
仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内の前記モデルの透明度を変化させる透明度変化手段と、
前記透明度変化手段によって透明度が変化された前記モデルにテクスチャを貼り付けるテクスチャ貼付手段と、
前記テクスチャ貼付手段によってテクスチャが貼り付けられた前記モデルを描画する描画手段と、
前記描画手段によって描画された前記モデルを表示する表示手段とを備えることを特徴とするビデオゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のポリゴンで構成されるモデルを描画するための３次元画像処理プログラム、３次元画像処理方法及びビデオゲーム装置に関するものである。
【０００２】
【従来の技術】
従来、ビデオゲームなどの仮想３次元空間内における池、湖及び海などの水面を表現する方法としては、水面の透過性を重視する方法と、水面の反射性を重視する方法とがある。透過性を重視する方法は、水面を構成するポリゴンに貼り付けられるテクスチャを半透明にして水底が見えるようにする。
【０００３】
図６は、従来の透過性を重視する方法によって水面モデルを描画したゲーム画面の一例を示す画面図である。図６に示すゲーム画面５００には、画面の上方に背景としての陸地５０２が表示され、陸地５０２の下方に湖の水面５０１が表示されており、便宜上水面５０１上にキャラクタ５０３が立っているように表示されている。水面５０１には、水底を構成する地形の一部である岩５０６及び水面と水底との間に配置される魚５０７が透過して表示されている。仮想３次元空間内の任意の位置に設けられた仮想カメラ視点は水面５０１を俯瞰する位置に設けられている。透過性を重視する方法では、水面を構成するポリゴンに貼り付けられるテクスチャとして、例えば水色の画像が用いられ、ポリゴンが半透明となるように透明度が一定に設定されている。このような、透過性を重視する方法では、仮想カメラ視点に近い画面手前側の領域５０４における水面５０１及び仮想カメラ視点から遠い画面奥側の領域５０５における水面５０１はいずれも水面５０１を透過して岩５０６及び魚５０７が表示されている。
【０００４】
また、反射性を重視する方法は、水面に映りこむ水上にあるモデルを上下反転させた画像をテクスチャとして水面を構成するポリゴンに貼り付ける。
【０００５】
図７は、従来の反射性を重視する方法によって水面モデルを描画したゲーム画面の一例を示す画面図である。図７に示すゲーム画面６００には、上方に背景としての陸地６０２及び空６０３が表示され、陸地６０２の下方に湖の水面６０１が表示されており、便宜上水面６０１上にキャラクタ６０４が立っているように表示されている。仮想３次元空間内の任意の位置に設けられた仮想カメラ視点は水面６０１を俯瞰する位置に設けられている。反射性を重視する方法では、水面を構成するポリゴンに貼り付けられるテクスチャとしては、例えば背景を上下反転させた画像が用いられ、ポリゴンも全反射するように透明度が一定に設定されている。このような、反射性を重視する方法では、仮想カメラ視点に近い画面手前側の領域６０５における水面６０１及び仮想カメラ視点から遠い画面奥側の領域６０６における水面６０１はいずれも反射して背景である陸地６０２及び空６０３が表示されている。
【０００６】
【発明が解決しようとする課題】
しかしながら、実際には、水面を真上から見た場合、水中が透過して見えるが、水面を横から見た場合、周りの環境が反射して水面に映って見える。このように、屈折率が異なる物質の境界面の見え方が観測者の見る角度によって変化することをフレネル効果という。観測者の視線と水面との角度が大きい場合、水面が透過して見え、角度が小さい場合、水面が反射して見える。
【０００７】
ここで、上記従来の方法を見てみると、透過性を重視する方法は、図６に示すように水面５０１を構成するポリゴンが全て透過して表示されるため、仮想カメラ視点から近い水面５０１（画面手前側の領域５０４）だけでなく、仮想カメラ視点から遠い水面５０１（画面奥側の領域５０５）も透過して表示される。また、反射性を重視する方法は、図７に示すように水面６０１を構成するポリゴンが全て反射して表示されるため、仮想カメラ視点から遠い水面６０１（画面奥側の領域６０６）だけでなく、仮想カメラ視点から近い水面６０１（画面手前側の領域６０５）も反射して表示される。したがって、従来の方法では、近景と遠景とが同様に表示され、現実世界のフレネル効果が実現されないため、リアル感に欠けるという問題を有していた。
【０００８】
本発明は、上記の問題を解決するためになされたもので、フレネル効果を擬似的に実現し、リアル感のあるビデオゲームを実現することができる３次元画像処理プログラム、３次元画像処理方法及びビデオゲーム装置を提供することを目的とするものである。
【０００９】
【課題を解決するための手段】
請求項１に記載の本発明は、複数のポリゴンで構成されるモデルを描画するための３次元画像処理プログラムであって、
仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内の前記モデルの透明度を変化させる透明度変化手段と、
前記透明度変化手段によって透明度が変化された前記モデルにテクスチャを貼り付けるテクスチャ貼付手段と、
前記テクスチャ貼付手段によってテクスチャが貼り付けられた前記モデルを描画する描画手段としてビデオゲーム装置を機能させることを特徴とする。
【００１０】
請求項１に記載の本発明に従えば、複数のポリゴンで構成されるモデルを描画するための３次元画像処理プログラムは、透明度変化手段によって、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内のモデルの透明度を変化させ、テクスチャ貼付手段によって、透明度変化手段によって透明度が変化されたモデルにテクスチャを貼り付け、描画手段によって、テクスチャ貼付手段によってテクスチャが貼り付けられたモデルを描画する。
【００１１】
すなわち、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内のモデルの透明度が変化され、透明度が変化されたモデルにテクスチャが貼り付けられ、テクスチャが貼り付けられたモデルが描画される。
【００１２】
例えば、所定の領域内のモデルの透明度が変化して描画されるため、仮想カメラ視点に近い位置にあるポリゴンの透明度を高くし、仮想カメラ視点から離れるにしたがってポリゴンの透明度を低くすることによってフレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【００１３】
請求項２に記載の本発明は、前記領域は、前記仮想カメラ視点から前記領域を含む平面への垂線と当該平面との交点を中心点とし、
前記透明度変化手段は、前記中心点から前記領域の外縁に向かって透明度を低くすることを特徴とする。
【００１４】
請求項２に記載の本発明に従えば、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域は、仮想カメラ視点から領域が含まれる平面への垂線と当該平面との交点を中心点とし、透明度変化手段は、中心点から領域の外縁に向かって透明度を低くする。
【００１５】
すなわち、仮想３次元空間内における仮想カメラ視点から領域を含む平面に対して垂直に降ろした交点を中心点とし、当該中心点から放射状にモデルの透明度が低くされる。そのため、仮想カメラ視点に近い位置にあるポリゴンは透明度を高くして描画することができ、仮想カメラ視点から遠い位置にあるポリゴンは透明度を低くして描画することができ、フレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【００１６】
請求項３に記載の本発明は、前記透明度変化手段は、前記中心点から前記領域の外縁までの距離の二乗値と、前記中心点から前記領域内の任意の点までの距離の二乗値との比率に基づいて前記任意の点の透明度を算出することを特徴とする。
【００１７】
請求項３に記載の本発明に従えば、透明度変化手段は、仮想３次元空間内における仮想カメラ視点からモデルに垂直に降ろした点を中心点とする領域の中心点から外縁までの距離の二乗値と、領域の中心点から領域内の任意の点までの距離の二乗値との比率に基づいて任意の頂点における透明度を算出する。
【００１８】
すなわち、仮想３次元空間内における仮想カメラ視点からモデルに垂直に降ろした点を中心点とする領域の中心点から外縁までの距離の二乗値と、領域の中心点から領域内の任意の点までの距離の二乗値との比率に基づいて任意の点の透明度が算出されるため、領域の中心点からの距離に応じて領域内のモデルの透明度を変化させることができる。また、領域の中心点から領域内の任意の点までの距離は任意の点を表す座標値によって平方根で表されるが、領域の中心点から外縁までの距離の二乗値と領域の中心点から領域内の任意の点までの距離の二乗値との比率を算出することによって等価的に領域の中心点から外縁までの距離と領域の中心点から領域内の任意の点までの距離との比率を求めることができ、平方根の演算処理を行う必要がなく、演算処理に要する時間を短縮することができる。
【００１９】
請求項４に記載の本発明は、前記テクスチャ貼付手段は、前記モデルの周囲に配置された背景モデルを描画させて上下反転させた画像をテクスチャとして前記領域に位置する前記モデルに貼り付けることを特徴とする。
【００２０】
請求項４に記載の本発明に従えば、テクスチャ貼付手段は、複数のポリゴンで構成されるモデルの周囲に配置された背景モデルを描画させて上下反転させた画像をテクスチャとして所定の領域に位置する当該モデルに貼り付ける。
【００２１】
すなわち、複数のポリゴンで構成されるモデルの周囲に配置された背景モデルが描画され、描画された画像を上下反転させた画像がテクスチャとして所定の領域に位置するモデルに貼り付けられるため、仮想３次元空間内に設けられたモデルに周囲の背景を映りこませることが可能となる。また、近景は透明にし、遠景は背景を写しこむことによって、擬似的にフレネル効果を実現することができ、リアル感が増すこととなる。
【００２２】
請求項５に記載の本発明は、前記領域は、前記モデルの透明度を変化させ得る透明度変化領域と、前記モデルを不透明にさせ得る不透明領域とを含み、
前記テクスチャ貼付手段は、前記モデルの周囲に配置された背景モデルを描画させて上下反転させた画像をテクスチャとして前記不透明領域に位置する前記モデルに貼り付けることを特徴とする。
【００２３】
請求項５に記載の本発明に従えば、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域は、モデルの透明度を変化させ得る透明度変化領域と、モデルを不透明にさせ得る不透明領域とを含み、テクスチャ貼付手段は、モデルの周囲に配置された背景モデルを描画させて上下反転させた画像をテクスチャとして不透明領域に位置するモデルに貼り付ける。
【００２４】
すなわち、モデルの透明度を変化させ得る透明度変化領域とモデルを不透明にさせ得る不透明領域とを含む領域のうち、透明度変化領域では透明度を変化させ、透明度変化領域外の不透明領域では透明度を変化させずに不透明にして背景モデルを描画して上下反転させた画像をテクスチャとして貼り付けることができる。そのため、仮想カメラ視点から離れた位置にあるモデルに周囲の背景をはっきりと映りこませることができ、擬似的にフレネル効果を実現することができ、リアル感が増すこととなる。
【００２５】
また、本発明は、前記モデルとして水面を表すモデルを用いることが可能である。
【００２６】
この構成によれば、水面を複数のポリゴンで構成されるモデルで表し、例えば、仮想カメラ視点に近いモデルの透過性が高くなり、仮想カメラ視点から遠いモデルの透過性が低くなるように水面を表すモデルの透明度を変化させることによって、擬似的にフレネル効果を実現することができ、水面をリアルに表現することができる。
【００２７】
請求項６に記載の本発明は、複数のポリゴンで構成されるモデルを描画する３次元画像処理方法であって、
ビデオゲーム装置が、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内の前記モデルの透明度を変化させる透明度変化ステップと、
ビデオゲーム装置が、前記透明度変化ステップにおいて透明度が変化された前記モデルにテクスチャを貼り付けるテクスチャ貼付ステップと、
ビデオゲーム装置が、前記テクスチャ貼付ステップにおいてテクスチャが貼り付けられた前記モデルを描画する描画ステップとを含むことを特徴とする。
【００２８】
請求項６に記載の本発明に従えば、複数のポリゴンで構成されるモデルを描画する３次元画像処理方法は、ビデオゲーム装置が、透明度変化ステップにおいて、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内のモデルの透明度を変化させ、ビデオゲーム装置が、テクスチャ貼付ステップにおいて、透明度変化ステップにおいて透明度が変化されたモデルにテクスチャを貼り付け、ビデオゲーム装置が、描画ステップにおいて、テクスチャ貼付ステップにおいてテクスチャが貼り付けられたモデルを描画する。
【００２９】
すなわち、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内のモデルの透明度が変化され、透明度が変化されたモデルにテクスチャが貼り付けられ、テクスチャが貼り付けられたモデルが描画される。
【００３０】
例えば、所定の領域内のモデルの透明度が変化して描画されるため、仮想カメラ視点に近い位置にあるポリゴンの透明度を高くし、仮想カメラ視点から離れるにしたがってポリゴンの透明度を低くすることによってフレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【００３１】
請求項７に記載の本発明は、複数のポリゴンで構成されるモデルを描画するビデオゲーム装置であって、
仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内の前記モデルの透明度を変化させる透明度変化手段と、
前記透明度変化手段によって透明度が変化された前記モデルにテクスチャを貼り付けるテクスチャ貼付手段と、
前記テクスチャ貼付手段によってテクスチャが貼り付けられた前記モデルを描画する描画手段と、
前記描画手段によって描画された前記モデルを表示する表示手段とを備えることを特徴とする。
【００３２】
請求項７に記載の本発明に従えば、複数のポリゴンで構成されるモデルを描画するビデオゲーム装置は、透明度変化手段によって、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内のモデルの透明度を変化させ、テクスチャ貼付手段によって、透明度変化手段によって透明度が変化されたモデルにテクスチャを貼り付け、描画手段によって、テクスチャ貼付手段によってテクスチャが貼り付けられたモデルを描画し、表示手段によって、描画手段によって描画されたモデルを表示する。
【００３３】
すなわち、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の領域内のモデルの透明度が変化され、透明度が変化されたモデルにテクスチャが貼り付けられ、テクスチャが貼り付けられたモデルが描画され、描画されたモデルが表示される。
【００３４】
例えば、所定の領域内のモデルの透明度が変化して描画されるため、仮想カメラ視点に近い位置にあるポリゴンの透明度を高くし、仮想カメラ視点から離れるにしたがってポリゴンの透明度を低くすることによってフレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【００３５】
【発明の実施の形態】
以下、本発明の一実施の形態によるビデオゲーム装置について図面を参照しながら説明する。
【００３６】
図１は本発明の一実施の形態のビデオゲーム装置の構成を示すブロック図である。なお、以下の説明では、ビデオゲーム装置の一例として家庭用ビデオゲーム機を家庭用テレビジョンに接続することによって構成される家庭用ビデオゲーム装置について説明するが、本発明はこの例に特に限定されず、モニタが一体に構成された業務用ビデオゲーム装置、ビデオゲームプログラムを実行することによってビデオゲーム装置として機能するパーソナルコンピュータ等にも同様に適用することができる。
【００３７】
図１に示すビデオゲーム装置は家庭用ゲーム機１００及び家庭用テレビジョン２００を備える。家庭用ゲーム機１００には、ビデオゲームプログラム及びゲームデータが記録されたコンピュータ読み出し可能な記録媒体３００が装填され、ビデオゲームプログラム及びゲームデータが適宜読み出されてゲームが実行される。
【００３８】
家庭用ゲーム機１００は、ＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１、バスライン２、グラフィックスデータ生成プロセッサ３、インターフェース回路（Ｉ／Ｆ）４、メインメモリ５、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）６、伸張回路７、パラレルポート８、シリアルポート９、描画プロセッサ１０、音声プロセッサ１１、デコーダ１２、インターフェース回路１３、バッファ１４〜１６、記録媒体ドライブ１７、メモリ１８及びコントローラ１９を含む。家庭用テレビジョン２００はテレビジョンモニタ２１、増幅回路２２及びスピーカ２３を含む。
【００３９】
ＣＰＵ１はバスライン２およびグラフィックスデータ生成プロセッサ３に接続されている。バスライン２はアドレスバス、データバス及びコントロールバス等を含み、ＣＰＵ１、インターフェース回路４、メインメモリ５、ＲＯＭ６、伸張回路７、パラレルポート８、シリアルポート９、描画プロセッサ１０、音声プロセッサ１１、デコーダ１２及びインターフェース回路１３を相互に接続している。
【００４０】
描画プロセッサ１０はバッファ１４に接続される。音声プロセッサ１１はバッファ１５及び増幅回路２２に接続される。デコーダ１２はバッファ１６及び記録媒体ドライブ１７に接続される。インターフェース回路１３はメモリ１８及びコントローラ１９に接続される。
【００４１】
家庭用テレビジョン２００のテレビジョンモニタ２１は描画プロセッサ１０に接続される。スピーカ２３は増幅回路２２に接続される。なお、業務用ビデオゲーム装置の場合、テレビジョンモニタ２１、増幅回路２２及びスピーカ２３は、家庭用ゲーム機１００を構成する各ブロックとともに１つの筺体に収納される場合がある。
【００４２】
また、ビデオゲーム装置がパーソナルコンピュータやワークステーション等を核として構成されている場合、テレビジョンモニタ２１等はコンピュータ用のディスプレイに対応する。また、伸張回路７、描画プロセッサ１０及び音声プロセッサ１１等は、それぞれ記録媒体３００に記録されているプログラムデータの一部又はコンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、インターフェース回路４、パラレルポート８、シリアルポート９及びインターフェース回路１３は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウエアに対応する。また、バッファ１４〜１６はそれぞれメインメモリ５又は拡張メモリの各記憶エリアに対応する。
【００４３】
次に、図１に示す各構成要素について説明する。グラフィックスデータ生成プロセッサ３はＣＰＵ１のいわばコプロセッサとしての役割を果たす。すなわち、グラフィックスデータ生成プロセッサ３は座標変換や光源計算、例えば固定小数点形式の行列やベクトルの演算を並列処理によって行う。
【００４４】
グラフィックスデータ生成プロセッサ３が行う主な処理としては、ＣＰＵ１から供給される画像データの２次元又は仮想３次元空間内における各頂点の座標データ、移動量データ、回転量データ等に基づいて、所定の表示エリア上における処理対象画像のアドレスデータを求めてＣＰＵ１に返す処理、仮想的に設定された光源からの距離に応じて画像の輝度を計算する処理等がある。
【００４５】
インターフェース回路４は周辺デバイス、例えばマウスやトラックボール等のポインティングデバイス等のインターフェース用に用いられる。メインメモリ５はＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）等で構成される。ＲＯＭ６にはビデオゲーム装置のオペレーティングシステムとなるプログラムデータが記憶されている。このプログラムはパーソナルコンピュータのＢＩＯＳ（Ｂａｓｉｃ　Ｉｎｐｕｔ　Ｏｕｔｐｕｔ　Ｓｙｓｔｅｍ）に相当する。
【００４６】
伸張回路７は動画に対するＭＰＥＧ（Ｍｏｖｉｎｇ　Ｐｉｃｔｕｒｅ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）規格や静止画に対するＪＰＥＧ（Ｊｏｉｎｔ　Ｐｈｏｔｏｇｒａｐｈｉｃ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）規格に準拠したイントラ符号化によって圧縮された圧縮画像に対して伸張処理を施す。伸張処理はデコード処理（ＶＬＣ：Ｖａｒｉａｂｌｅ　Ｌｅｎｇｔｈ　Ｃｏｄｅによってエンコードされたデータのデコード）、逆量子化処理、ＩＤＣＴ（Ｉｎｖｅｒｓｅ　Ｄｉｓｃｒｅｔｅ　Ｃｏｓｉｎｅ　Ｔｒａｎｓｆｏｒｍ）処理、イントラ画像の復元処理等を含む。
【００４７】
描画プロセッサ１０は所定時間Ｔ（例えば、１フレームでＴ＝１／６０秒）ごとにＣＰＵ１が発行する描画命令に基づいてバッファ１４に対する描画処理を行う。
【００４８】
バッファ１４は例えばＲＡＭで構成され、表示エリア（フレームバッファ）と非表示エリアとに分けられる。表示エリアはテレビジョンモニタ２１の表示面上に表示するデータの展開エリアで構成される。非表示エリアはスケルトンを定義するデータ、ポリゴンを定義するモデルデータ、モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等の記憶エリアで構成される。
【００４９】
ここで、テクスチャデータは２次元の画像データである。カラーパレットデータはテクスチャデータ等の色を指定するためのデータである。ＣＰＵ１は、これらのデータを記録媒体３００から一度に又はゲームの進行状況に応じて複数回に分けて、予めバッファ１４の非表示エリアに記録する。
【００５０】
また、描画命令としては、ポリゴンを用いて立体的な画像を描画するための描画命令、通常の２次元画像を描画するための描画命令がある。ここで、ポリゴンは多角形の２次元仮想図形であり、例えば、三角形や四角形が用いられる。
【００５１】
ポリゴンを用いて立体的な画像を描画するための描画命令は、ポリゴン頂点座標データのバッファ１４の表示エリア上における記憶位置を示すポリゴン頂点アドレスデータ、ポリゴンに貼り付けるテクスチャのバッファ１４上における記憶位置を示すテクスチャアドレスデータ、テクスチャの色を示すカラーパレットデータのバッファ１４上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データのそれぞれに対して行われるものである。
【００５２】
上記のデータのうち表示エリア上のポリゴン頂点アドレスデータは、グラフィックスデータ生成プロセッサ３がＣＰＵ１からの仮想３次元空間上におけるポリゴン頂点座標データを移動量データ及び回転量データに基づいて座標変換することによって２次元上でのポリゴン頂点座標データに置換されたものである。輝度データはＣＰＵ１からの上記座標変換後のポリゴン頂点座標データによって示される位置から仮想的に配置された光源までの距離に基づいてグラフィックスデータ生成プロセッサ３によって決定される。
【００５３】
ポリゴン頂点アドレスデータはバッファ１４の表示エリア上のアドレスを示す。描画プロセッサ１０は３個のポリゴン頂点アドレスデータで示されるバッファ１４の表示エリアの範囲に対応するテクスチャデータを書き込む処理を行う。
【００５４】
ゲーム空間内におけるキャラクタ等の物体は、複数のポリゴンで構成される。ＣＰＵ１は各ポリゴンの仮想３次元空間上の座標データを対応するスケルトンのベクトルデータと関連させてバッファ１４に記憶する。そして、後述するコントローラ１９の操作によって、テレビジョンモニタ２１の表示画面上でキャラクタを移動させる等の場合において、キャラクタの動きを表現したり、キャラクタを見ている視点位置を変えるときに、以下の処理が行われる。
【００５５】
すなわち、ＣＰＵ１はグラフィックスデータ生成プロセッサ３に対してバッファ１４の非表示エリア内に保持している各ポリゴンの頂点の３次元座標データと、スケルトンの座標及びその回転量のデータから求められた各ポリゴンの移動量データ及び回転量データとを与える。
【００５６】
グラフィックスデータ生成プロセッサ３は各ポリゴンの頂点の３次元座標データと各ポリゴンの移動量データ及び回転量データとに基づいて各ポリゴンの移動後及び回転後の３次元座標データを順次求める。
【００５７】
このようにして求められた各ポリゴンの３次元座標データのうち水平及び垂直方向の座標データは、バッファ１４の表示エリア上のアドレスデータ、すなわちポリゴン頂点アドレスデータとして描画プロセッサ１０に供給される。
【００５８】
描画プロセッサ１０は３個のポリゴン頂点アドレスデータによって示されるバッファ１４の表示エリア上に予め割り当てられているテクスチャアドレスデータによって示されるテクスチャデータを書き込む。これによって、テレビジョンモニタ２１の表示画面上には、多数のポリゴンにテクスチャの貼り付けられた物体が表示される。
【００５９】
通常の２次元画像を描画するための描画命令は、頂点アドレスデータ、テクスチャアドレスデータ、テクスチャデータの色を示すカラーパレットデータのバッファ１４上における記憶位置を示すカラーパレットアドレスデータ及びテクスチャの輝度を示す輝度データに対して行われる。これらのデータのうち頂点アドレスデータは、ＣＰＵ１からの２次元平面上における頂点座標データをＣＰＵ１からの移動量データ及び回転量データに基づいてグラフィックスデータ生成プロセッサ３が座標変換することによって得られる。
【００６０】
音声プロセッサ１１は記録媒体３００から読み出されたＡＤＰＣＭ（ＡｄａｐｔｉｖｅＤｉｆｆｅｒｅｎｔｉａｌ　Ｐｕｌｓｅ　Ｃｏｄｅ　Ｍｏｄｕｌａｔｉｏｎ）データをバッファ１５に記憶させ、バッファ１５に記憶されたＡＤＰＣＭデータが音源となる。
【００６１】
また、音声プロセッサ１１は、例えば、周波数４４．１ｋＨｚのクロック信号に基づき、バッファ１５からＡＤＰＣＭデータを読み出す。音声プロセッサ１１は、読み出したＡＤＰＣＭデータに対してピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加等の処理を施す。
【００６２】
記録媒体３００から読み出される音声データがＣＤ−ＤＡ（Ｃｏｍｐａｃｔ　Ｄｉｓｋ　Ｄｉｇｉｔａｌ　Ａｕｄｉｏ）等のＰＣＭ（Ｐｕｌｓｅ　Ｃｏｄｅ　Ｍｏｄｕｌａｔｉｏｎ）データの場合、音声プロセッサ１１はこの音声データをＡＤＰＣＭデータに変換する。また、ＰＣＭデータに対するプログラムによる処理は、メインメモリ５上において直接行われる。メインメモリ５上において処理されたＰＣＭデータは、音声プロセッサ１１に供給されてＡＤＰＣＭデータに変換される。その後、上述した各種処理が施され、音声がスピーカ２３から出力される。
【００６３】
記録媒体ドライブ１７としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ハードディスクドライブ、光ディスクドライブ、フレキシブルディスクドライブ、シリコンディスクドライブ、カセット媒体読み取り機等が用いられる。この場合、記録媒体３００としては、ＤＶＤ−ＲＯＭ、ＣＤ−ＲＯＭ、ハードディスク、光ディスク、フレキシブルディスク、半導体メモリ等が用いられる。
【００６４】
記録媒体ドライブ１７は記録媒体３００から画像データ、音声データ及びプログラムデータを読み出し、読み出したデータをデコーダ１２に供給する。デコーダ１２は記録媒体ドライブ１７からの再生したデータに対してＥＣＣ（Ｅｒｒｏｒ　Ｃｏｒｒｅｃｔｉｏｎ　Ｃｏｄｅ）によるエラー訂正処理を施し、エラー訂正処理を施したデータをメインメモリ５又は音声プロセッサ１１に供給する。
【００６５】
メモリ１８としては、例えばカード型のメモリが用いられる。カード型のメモリは、例えばゲームを中断した場合において中断時点での状態を保持する等のように、中断時点での各種ゲームパラメータを保持するため等に用いられる。
【００６６】
コントローラ１９はユーザが種々の操作指令を入力するために使用する操作装置であり、ユーザの操作に応じた操作信号をＣＰＵ１に送出する。コントローラ１９には、第１ボタン１９ａ、第２ボタン１９ｂ、第３ボタン１９ｃ、第４ボタン１９ｄ、上方向キー１９Ｕ、下方向キー１９Ｄ、左方向キー１９Ｌ、右方向キー１９Ｒ、Ｌ１ボタン１９Ｌ１、Ｌ２ボタン１９Ｌ２、Ｒ１ボタン１９Ｒ１、Ｒ２ボタン１９Ｒ２、スタートボタン１９ｅ、セレクトボタン１９ｆ、左スティック１９ＳＬ及び右スティック１９ＳＲが設けられている。
【００６７】
上方向キー１９Ｕ、下方向キー１９Ｄ、左方向キー１９Ｌ及び右方向キー１９Ｒは、例えば、キャラクタやカーソルをテレビジョンモニタ２１の画面上で上下左右に移動させるコマンドをＣＰＵ１に与えるために使用される。
【００６８】
スタートボタン１９ｅは記録媒体３００からゲームプログラムをロードするようにＣＰＵ１に指示するため等に使用される。セレクトボタン１９ｆは記録媒体３００からメインメモリ５にロードされるゲームプログラムに関する各種選択をＣＰＵ１に指示するため等に使用される。
【００６９】
左スティック１９ＳＬ及び右スティック１９ＳＲを除くコントローラ１９の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると上記中立位置に復帰してオフになるオンオフスイッチで構成される。
【００７０】
左スティック１９ＳＬ及び右スティック１９ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは直立したスティックを有し、このスティックの所定位置を支点として前後左右を含む３６０°方向に亘って傾倒可能な構成になっている。左スティック１９ＳＬ及び右スティック１９ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とする左右方向のｘ座標及び前後方向のｙ座標の値を操作信号としてインターフェース回路１３を介してＣＰＵ１に送出する。
【００７１】
なお、第１ボタン１９ａ、第２ボタン１９ｂ、第３ボタン１９ｃ、第４ボタン１９ｄ、Ｌ１ボタン１９Ｌ１、Ｌ２ボタン１９Ｌ２、Ｒ１ボタン１９Ｒ１及びＲ２ボタン１９Ｒ２は、記録媒体３００からロードされるゲームプログラムに応じて種々の機能に使用される。
【００７２】
次に、上記のビデオゲーム装置の概略動作について説明する。記録媒体３００が記録媒体ドライブ１７に装填されている場合、電源スイッチ（図示省略）がオンされてビデオゲーム装置に電源が投入されると、ＲＯＭ６に記憶されているオペレーティングシステムに基づいて、記録媒体３００からゲームプログラムを読み出すように、ＣＰＵ１は記録媒体ドライブ１７に指示する。これによって、記録媒体ドライブ１７は記録媒体３００から画像データ、音声データ及びプログラムデータを読み出す。読み出された画像データ、音声データ及びプログラムデータはデコーダ１２に供給され、デコーダ１２によってエラー訂正処理が各データに施される。
【００７３】
デコーダ１２によってエラー訂正処理が施された画像データは、バスライン２を介して伸張回路７に供給される。伸張回路７によって上述した伸張処理が行われた画像データは描画プロセッサ１０に供給され、描画プロセッサ１０によってバッファ１４の非表示エリアに書き込まれる。デコーダ１２によってエラー訂正処理が施された音声データは、メインメモリ５又は音声プロセッサ１１を介してバッファ１５に書き込まれる。デコーダ１２によってエラー訂正処理が施されたプログラムデータはメインメモリ５に書き込まれる。
【００７４】
以降、ＣＰＵ１は、メインメモリ５に記憶されているゲームプログラム及びユーザがコントローラ１９を用いて指示する内容に基づいてビデオゲームを進行させる。すなわち、ユーザがコントローラ１９を用いて指示する内容に基づいて、ＣＰＵ１は画像処理の制御、音声処理の制御及び内部処理の制御等を適宜行う。
【００７５】
画像処理の制御として、例えば、キャラクタに指示されるアニメーションに該当するパターンデータから各スケルトンの座標の計算又はポリゴンの頂点座標データの計算、得られた３次元座標データや視点位置データのグラフィックスデータ生成プロセッサ３への供給、グラフィックスデータ生成プロセッサ３が求めたバッファ１４の表示エリア上のアドレスデータや輝度データを含む描画命令の発行等が行われる。
【００７６】
音声処理の制御として、例えば、音声プロセッサ１１に対する音声出力コマンドの発行、レベル、リバーブ等の指定が行われる。内部処理の制御として、例えばコントローラ１９の操作に応じた演算等が行われる。
【００７７】
次に、記録媒体３００に記録されているゲームプログラムに基づいて実行されるビデオゲームについて説明する。本実施の形態におけるビデオゲームは、釣りを題材としたものである。ユーザによって操作される釣り人を模したキャラクタが仮想３次元空間内に設けられた釣り場で釣りをすることによってビデオゲームが進行する。釣りを題材とするビデオゲームでは、池、湖及び海等が再現される。本実施の形態における３次元画像処理は、池、湖及び海等の水面をリアルに再現することによって、ユーザに実際の釣り場で釣りをしているかのような臨場感を与えることを目的としている。
【００７８】
図２は図１に示すビデオゲーム装置の主要機能を示すブロック図である。図２に示すように、ビデオゲーム装置は、機能的には、プログラム実行部３１、データ記憶部３２、プログラム記憶部３３、描画処理部３４、表示部３５及び操作部３６を含む。
【００７９】
データ記憶部３２は、バッファ１４等で構成され、モデルデータ記憶部４７を含む。モデルデータ記憶部４７は、水面モデル記憶部４７１及び背景モデル記憶部４７２を含む。
【００８０】
水面モデル記憶部４７１は、仮想３次元空間内に再現される池、湖及び海等の水面を表す水面モデルの各データを記憶する。水面モデルは複数のポリゴンで構成される。水面モデル記憶部４７１が記憶する水面モデルの各データは、水面モデルを構成するポリゴンを定義するモデルデータ、水面モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等を記憶する。なお、水面モデルは必ずしも動きを行わせる必要はなく、水面モデルを動かさない場合、アニメーションデータ等は不要となる。
【００８１】
背景モデル記憶部４７２は、仮想３次元空間内に再現される池、湖及び海等の水面の周囲に配置される背景を表す背景モデルの各データを記憶する。背景モデルは複数のポリゴンで構成される。なお、背景モデルには、水面モデルの周囲に配置された陸地を表すモデル、木を表すモデル、橋を表すモデル及び空を表すモデル等が含まれる。背景モデル記憶部４７２が記憶する背景モデルの各データは、背景モデルを構成するポリゴンを定義するモデルデータ、背景モデルに動きを行わせるアニメーションデータ、各アニメーションの内容を示すパターンデータ、テクスチャデータ及びカラーパレットデータ等を記憶する。なお、背景モデルは必ずしも動きを行わせる必要はなく、背景モデルを動かさない場合、アニメーションデータ等は不要となる。また、背景モデル記憶部４７２は、仮想３次元空間内において水面モデルの下側に配置され、水底の地形を表す水底モデルを記憶する。
【００８２】
プログラム実行部３１はＣＰＵ１等で構成され、ＣＰＵ１等がメインメモリ５に記憶されている３次元画像処理プログラムを実行することによって、ゲーム進行処理部４１、反転画像作成部４２、透明度変化部４３、テクスチャ貼付部４４、描画指示部４５及び表示制御部４６として機能する。
【００８３】
ゲーム進行処理部４１は、ユーザによるコントローラ１９の操作を受け付けて操作部３６から出力される操作信号に基づいて通常の釣りゲームの進行処理を行う。つまり、ユーザはコントローラ１９を操作することによってキャラクタを移動させたり、所定の釣り動作を行わせる。
【００８４】
反転画像作成部４２は、背景モデル記憶部４７２に記憶されている背景モデルを描画して上下反転させた画像を反転画像として作成し、データ記憶部３２に一時的に記憶させる。
【００８５】
透明度変化部４３は、仮想３次元空間内における仮想カメラ視点に基づいて設定される所定の透明度変化領域内の水面モデルの透明度を変化させる。なお、透明度変化領域については図３を用いて後述する。また、ここでの透明度とは光が物質を透過する割合を表し、物質は気体、液体及び固体のいずれでもよい。透明度が高くなると光が透過され、透明度が低くなると光が反射される。
【００８６】
テクスチャ貼付部４４は、透明度変化部４３によって透明度が変化された水面モデルにテクスチャを貼り付ける。ここで、水面モデルに貼り付けられるテクスチャは、反転画像作成部４２によって作成された反転画像であり、テクスチャ貼付部４４は、データ記憶部３２に一時的に記憶されている反転画像を読み出してテクスチャとして水面モデルに貼り付ける。
【００８７】
描画指示部４５は、テクスチャ貼付部４４によってテクスチャが貼り付けられた水面モデルを背景画像上に描画するための描画命令を描画処理部３４に発行する。
【００８８】
表示制御部４６は、描画処理部３４によって描画された水面モデルを表示部３４に表示する。
【００８９】
プログラム記憶部３３は記録媒体ドライブ１７等から構成され、コンピュータ読み取り可能な記録媒体４８を含む。記録媒体４８は記録媒体３００から構成され、ビデオゲームプログラムとして画像表示プログラムを記憶している。また、ビデオゲームプログラムは、キャラクタの動作を制御するための制御プログラム及び表示されるキャラクタ及びオブジェクトに関する表示データを含む。なお、記録媒体４８から画像表示プログラムが読み取られ、当該プログラムがメインメモリ５に記録されている場合、メインメモリ５がプログラム記憶部３３として機能する。
【００９０】
描画処理部３４は、描画プロセッサ１０等で構成され、描画指示部４５から発行される描画命令に基づいて所定の画像を描画する。表示部３５はテレビジョンモニタ２１等で構成される。操作部３６はコントローラ１９等で構成される。
【００９１】
なお、本実施の形態において、透明度変化部４３は透明度変化手段に相当し、反転画像作成部４２及びテクスチャ貼付部４４はテクスチャ貼付手段に相当し、描画指示部４５及び描画処理部３４は描画手段に相当する。
【００９２】
図３は、透明度変化領域について説明するための模式図である。本実施の形態における仮想３次元空間は、透明度変化領域ＴＲ、不透明領域ＦＲ及び背景領域ＨＲで構成される。水面モデルの透明度を変化させ得る透明度変化領域ＴＲは、仮想カメラ視点Ｃ（Ｃｘ，Ｃｙ，Ｃｚ）から水面モデルを構成するポリゴンの任意の頂点Ｗ（Ｗｘ，Ｗｙ，Ｗｚ）を含む平面に垂直に降ろした点を中心点Ｏ（Ｃｘ，Ｗｙ，Ｃｚ）とする円形状である。透明度変化領域ＴＲの中心点Ｏから外縁Ｌまでの距離である半径ａは、下記の（１）式によって求めることができる。
ａ＝（Ｃｙ−Ｗｙ）／ｔａｎθ・・・・（１）
ただし、ａは透明度変化領域ＴＲの半径を表し、Ｃｙは仮想カメラ視点Ｃのｙ座標を表し、Ｗｙは透明度変化領域ＴＲの中心点Ｏのｙ座標（水面モデルを構成するポリゴンの任意の頂点Ｗのｙ座標）を表し、θは仮想カメラ視点Ｃと、透明度変化領域ＴＲの外縁Ｌのｘ軸上の点Ｐと、透明度変化領域ＴＲの中心点Ｏとがなす角度を表す。なお、角度θは全反射する視線の角度である。
【００９３】
また、透明度変化領域ＴＲの中心点Ｏから水面モデルを構成するポリゴンの任意の頂点Ｗまでの距離ｂは、下記の（２）式によって求めることができる。
ｂ＝｛（Ｃｘ−Ｗｘ）２＋（Ｃｚ−Ｗｚ）２｝１／２・・・・（２）
ただし、ｂは透明度変化領域ＴＲの中心点Ｏから水面モデルを構成するポリゴンの任意の頂点Ｗまでの距離を表し、Ｃｘは仮想カメラ視点Ｃのｘ座標を表し、Ｗｘは水面モデルを構成するポリゴンの任意の頂点Ｗのｘ座標を表し、Ｃｚは仮想カメラ視点Ｃのｚ座標を表し、Ｗｚは水面モデルを構成するポリゴンの任意の頂点Ｗのｚ座標を表す。
【００９４】
透明度変化領域ＴＲの半径ａと、透明度変化領域ＴＲの中心点Ｏから水面モデルを構成するポリゴンの任意の頂点Ｗまでの距離ｂとの比率ｂ／ａを透明係数α’として設定する。透明係数α’は、０．０≦α’≦１．０に設定されており、α’＝０．０の場合に透明となり、α’＝１．０の場合に不透明となる。なお、本実施の形態における透明係数α’とは、水等の物質の透明度を表す値であり、透明係数α’が小さい場合にポリゴンモデルは透明となり、値が大きい場合にポリゴンモデルは不透明となる。したがって、透明度が高くなると透明係数α’は小さくなり、透明度が低くなると透明係数α’は大きくなる。また、透明係数α’＝０．０の場合に不透明とし、透明係数α’＝１．０の場合に透明としてもよい。
【００９５】
水面モデルを不透明にさせ得る不透明領域ＦＲは、仮想カメラ視点Ｃ（Ｃｘ，Ｃｙ，Ｃｚ）から水面モデルを構成するポリゴンの任意の頂点Ｗ（Ｗｘ，Ｗｙ，Ｗｚ）を含む平面に垂直に降ろした点を中心点Ｏ（Ｃｘ，Ｗｙ，Ｃｚ）とする円形状から透明度変化領域ＴＲを除いたドーナツ形状であり、透明性は不透明となり、反射するように（つまり、α’＝１．０）設定される。
【００９６】
背景領域ＨＲは、仮想カメラ視点Ｃ（Ｃｘ，Ｃｙ，Ｃｚ）から水面モデルを構成するポリゴンの任意の頂点Ｗ（Ｗｘ，Ｗｙ，Ｗｚ）を含む平面に垂直に降ろした点を中心点Ｏ（Ｃｘ，Ｗｙ，Ｃｚ）とする円形状から透明度変化領域ＴＲ及び不透明領域ＦＲを除いたドーナツ形状であり、背景モデルが含まれる領域である。透明度変化領域ＴＲ及び不透明領域ＦＲ内の水面モデルを構成するポリゴンにテクスチャが貼り付けられる。
【００９７】
なお、不透明領域ＦＲ及び背景領域ＨＲは、図３に示すように円形状でなくてもよく、背景モデルを構成するポリゴン及び水面モデルを構成するポリゴンの形状に応じた形状でもよい。
【００９８】
また、本実施の形態では、水面モデルに透明度変化領域ＴＲ及び不透明領域ＦＲが含まれるが、本発明は特にこれに限定されず、水面モデルは不透明領域ＦＲを含まず、透明度変化領域ＴＲのみを含む態様でもよい。この場合、水面モデルの形状と、透明度変化領域ＴＲの形状とを同じにする。
【００９９】
ここで、距離ｂは、上記（２）式に示すように平方根を含んでいる。平方根を含む演算は処理に時間がかかるため、リアルタイムに画像を生成することが困難になる場合がある。そのため、本実施の形態では、下記の（３）式に示すように距離ｂの二乗値をＢとして設定し、下記の（４）式に示すように透明度変化領域ＴＲの半径ａの二乗値Ａと、透明度変化領域ＴＲの中心点Ｏから水面モデルを構成するポリゴンの任意の頂点Ｗまでの距離ｂの二乗値Ｂとの比率Ｂ／Ａを透明係数αとして設定することで、上記（２）式に示す平方根演算を用いることなく演算する。
【０１００】
Ｂ＝ｂ２＝（Ｃｘ−Ｗｘ）２＋（Ｃｚ−Ｗｚ）２・・・・（３）
ただし、Ｂは透明度変化領域ＴＲの中心点Ｏから水面モデルを構成するポリゴンの任意の頂点Ｗまでの距離ｂの二乗値を表し、Ｃｘは仮想カメラ視点Ｃのｘ座標を表し、Ｗｘは水面モデルを構成するポリゴンの任意の頂点Ｗのｘ座標を表し、Ｃｚは仮想カメラ視点Ｃのｚ座標を表し、Ｗｚは水面モデルを構成するポリゴンの任意の頂点Ｗのｚ座標を表す。
【０１０１】
α＝Ｂ／Ａ＝｛（Ｃｘ−Ｗｘ）２＋（Ｃｚ−Ｗｚ）２｝／｛（Ｃｙ−Ｗｙ）／ｔａｎθ｝２・・・・（４）
ただし、αは水面モデルを構成するポリゴンモデルの頂点の透明度を表す値であり、Ｂは透明度変化領域ＴＲの中心点Ｏから水面モデルを構成するポリゴンの任意の頂点Ｗまでの距離ｂの二乗値を表し、Ａは透明度変化領域ＴＲの半径ａの二乗値を表す。また、透明係数αは、０．０≦α≦１．０に設定されており、α＝０．０の場合に透明となり、α＝１．０の場合に不透明となる。
【０１０２】
なお、本実施の形態における透明係数αとは、水等の物質の透明度を表す値であり、透明係数αが小さい場合にポリゴンモデルは透明となり、値が大きい場合にポリゴンモデルは不透明となる。したがって、透明度が高くなると透明係数αは小さくなり、透明度が低くなると透明係数αは大きくなる。また、透明係数α＝０．０の場合に不透明とし、透明係数α＝１．０の場合に透明としてもよい。
【０１０３】
仮想３次元空間内における仮想カメラ視点Ｃから水面モデルを構成するポリゴンの任意の頂点Ｗを含む平面に垂直に降ろした点を中心点Ｏとする円形状の透明度変化領域ＴＲを設定する。そして、中心点Ｏから透明度変化領域ＴＲの外縁に向けて水面モデルを構成するポリゴンの頂点の透明度を低くする。このようにして、中心点Ｏから透明度変化領域ＴＲの外縁に向けて放射状に水面モデルを構成するポリゴンの頂点の透明係数αが大きくなるため、仮想カメラ視点Ｃに近い位置にあるポリゴンの頂点は透明係数αが小さくなり、水面モデルを透過して描画することができ、仮想カメラ視点Ｃから遠い位置にあるポリゴンの頂点は透明係数αが大きくなり、水面モデルを透過せずに反射して描画することができる。
【０１０４】
また、フレネル効果は、フレネルの公式によって実現することが可能であるが、フレネルの公式を用いて演算した場合、式が複雑なため、演算処理に時間がかかり、演算処理装置にかかる負荷が大きくなってしまう。そこで、仮想３次元空間内における仮想カメラ視点から水面モデルを含む平面に垂直に降ろした点を中心点Ｏとする透明度変化領域ＴＲの外縁までの距離ａの二乗値Ａと、水面モデルを構成するポリゴンの任意の頂点と透明度変化領域ＴＲの中心点Ｏとの距離ｂの二乗値Ｂとの比率Ｂ／Ａに基づいて透明度を算出する。このようにして、透明度変化領域ＴＲの中心点Ｏからの距離に応じて透明度変化領域ＴＲ内の水面モデルの透明度を変化させることによって、擬似的にフレネル効果を実現することができる。
【０１０５】
さらに、透明度変化領域ＴＲ内の任意の点Ｗと透明度変化領域ＴＲの中心点Ｏとの距離ｂは任意の点Ｗを表す座標値によって平方根で表されるが、距離ｂの二乗値Ｂと距離ａの二乗値Ａとの比率Ｂ／Ａを算出することによって等価的にｂ／ａ（ｂは平方根を含む）を求めることができ、平方根の演算処理を行う必要がなく、演算処理に要する時間を短縮することができ、演算処理装置にかかる負荷を軽減することができる。
【０１０６】
図４は、図１に示すビデオゲーム装置による３次元画像処理の一例を示すフローチャートである。なお、図４に示す３次元画像処理は、ＣＰＵ１等が記録媒体３００に記憶されている３次元画像処理プログラム等を実行することによって行われる処理である。
【０１０７】
ステップＳ１において、ＣＰＵ１は、水面モデルの周囲に配置された背景モデルを上下反転させて描画するための描画命令を描画プロセッサ１０に発行し、描画プロセッサ１０は、背景モデルを上下反転させた反転画像を描画する。
【０１０８】
ステップＳ２において、ＣＰＵ１は、描画した反転画像をテクスチャデータとしてバッファ１４の非表示エリアに一時的に記憶する。
【０１０９】
ステップＳ３において、ＣＰＵ１は、背景モデルを描画するための描画命令を描画プロセッサ１０に発行し、描画プロセッサ１０は背景モデルを描画し、バッファ１４の表示エリアに展開する。
【０１１０】
ステップＳ４において、ＣＰＵ１は、仮想３次元空間において水面モデルの下側に配置される水底モデルを描画するための描画命令を描画プロセッサ１０に発行し、描画プロセッサ１０は水底モデルを描画し、バッファ１４の表示エリアに展開する。
【０１１１】
ステップＳ５において、ＣＰＵ１は、水面モデルを構成するポリゴンの描画する順番に応じて各ポリゴンの頂点の透明係数αを算出する。透明係数αは、透明度変化領域ＴＲの半径ａの二乗値Ａと、透明度変化領域ＴＲの中心点Ｏから水面モデルを構成するポリゴンの任意の頂点Ｗまでの距離ｂの二乗値Ｂとの比率Ｂ／Ａを求めることによって算出される。
【０１１２】
ステップＳ６において、ＣＰＵ１は、水面モデルを構成するポリゴンの全ての頂点に関して透明係数αを設定したか否かを判断する。ここで、全ての頂点に関して透明係数αを設定したと判断されると（ステップＳ６でＹＥＳ）、ステップＳ７に移行する。全ての頂点に関して透明係数αを設定いていないと判断されると（ステップＳ６でＮＯ）、ステップＳ５に戻る。
【０１１３】
ステップＳ７において、ＣＰＵ１は、バッファ１４に記憶しているテクスチャデータ（背景モデルの上下反転画像）を読み出し、水面モデルのテクスチャとして貼り付ける。この際、ステップＳ５において算出された水面モデルを構成するポリゴンの各頂点の透明係数αに応じてテクスチャの透明度が設定され、各頂点間の透明度は補間されて設定される。
【０１１４】
ステップＳ８において、ＣＰＵ１は、背景モデルの上下反転画像が貼り付けられた水面モデルを背景画像上に合成して描画するための描画指示を描画プロセッサ１０に発行し、描画プロセッサ１０は、水面モデル、背景モデル及び水底モデルを合成した画像を描画し、バッファ１４の表示エリアに展開する。
【０１１５】
ステップＳ９において、ＣＰＵ１は、バッファ１４の表示エリアに展開された水面モデル、背景モデル及び水底モデルを合成した画像を表示するようにテレビジョンモニタ２１を制御し、テレビジョンモニタ２１は、水面モデルと背景画像とを合成した画像を表示する。
【０１１６】
このように、水面モデルの透明度が高い部分（透明係数αが小さい部分）では貼り付けられたテクスチャが透過して表示され、透明度が低い部分（透明係数αが大きい部分）では貼り付けられたテクスチャが反射して表示される。つまり、水面モデルを構成するポリゴンの透明度は仮想カメラ視点からの距離に応じて変化し、仮想カメラ視点に近い水面モデルのポリゴンは透明係数α（＝Ｂ／Ａ）が０．０に近くなり、水面を透過して水底が表示される。一方、仮想カメラ視点から離れるにつれて水面モデルのポリゴンは透明係数αが１．０に近くなり、上下反転した背景が徐々に反射して表示され、水底が表示されなくなる。そのため、仮想カメラ視点に近い位置にあるポリゴンの透明度を高くし、仮想カメラ視点から離れるにしたがって透明度を低くすることによって、フレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【０１１７】
また、複数のポリゴンで構成される水面モデルの周囲に配置された背景モデルが描画され、描画された画像を上下反転させた画像がテクスチャとして水面モデルに貼り付けられるため、仮想３次元空間内に設けられた水面モデルに周囲の背景を映りこませることが可能となる。
【０１１８】
さらに、上下反転させた画像を水面モデルのテクスチャとして用いているため、水面モデルを構成するポリゴンをアニメーションデータに基づいて動かすことで水面の揺らぎなどを容易に表現することができる。
【０１１９】
図５は、本実施の形態における３次元画像処理で水面モデルを描画したゲーム画面の一例を示す画面図である。図５に示すゲーム画面４００には、上方に背景としての陸地４０２が表示され、陸地４０２の下方に湖の水面４０１が表示されており、便宜上水面４０１上にキャラクタ４０３が立っているように表示されている。水面４０１には、水底モデルを構成する地形の一部である水草４０６及び岩４０７が透過して表示されている。仮想３次元空間内の任意の位置に設けられた仮想カメラ視点Ｃは水面４０１を俯瞰する位置に設けられている。図５に示すように、水面４０１の画面手前側の領域４０４では、水面モデルを構成するポリゴンの透明度が高い（透明係数αが小さい）ため、水面４０１が透過して水底の水草４０６及び岩４０７が表示されている。水面４０１の画面手前側の領域４０４から画面奥側の領域４０５にいくにしたがって水面モデルを構成するポリゴンの透明度は徐々に低くなっており、水面４０１の画面奥側の領域４０５の水面モデルを構成するポリゴンの透明度が低い（透明係数αが大きい）ため、背景である陸地４０２及び空（図示なし）が反射して表示されている。水面４０１の画面手前側の領域４０４から画面奥側の領域４０５における透明性は、透明、半透明、不透明の順に移行する。
【０１２０】
このように、仮想カメラ視点から見て近景のポリゴンは透過して表示され、遠景のポリゴンは背景が反射して表示され、擬似的にフレネル効果を実現することができ、ユーザはリアル感のあるビデオゲームをプレイすることができるようになる。
【０１２１】
なお、本実施の形態では、水面モデルの透明度変化領域ＴＲ及び不透明領域ＦＲに背景モデルを上下反転させた反転画像をテクスチャとして貼り付けるとしたが、本発明は特にこれに限定されず、透明度変化領域ＴＲ及び不透明領域ＦＲのそれぞれに異なるテクスチャを貼り付けてもよい。透明度変化領域ＴＲに所定のテクスチャを貼り付け、不透明領域ＦＲに背景モデルを上下反転させた反転画像をテクスチャとして貼り付けてもよい。この場合、所定のテクスチャは、例えば水色などの水を表す画像にする。
【０１２２】
また、本実施の形態では、透明度変化領域ＴＲを円形状として説明したが、本発明は特にこれに限定されず、例えば、楕円形状、四角形状などの多角形状など任意の形状であってもよい。透明度変化領域ＴＲが楕円形状の場合、楕円の長手方向の半径を中心点から外縁までの距離ａとして透明係数αを算出する。また、透明度変化領域ＴＲが多角形状の場合、中心点から最も距離の長い頂点までの距離を中心点から外縁までの距離ａとして透明係数αを算出する。
【０１２３】
また、本実施の形態では、複数のポリゴンで構成されるモデルを水面を表す水面モデルとして説明したが、本発明は特にこれに限定されず、透過と反射を同時に起こすような透明な物質を表すモデルであれば、例えば、ガラスを表すモデル、宝石を表すモデルなどでもよい。つまり、モデルを構成するポリゴンとは、現実世界において透明な物質を仮想３次元空間内において表現するために使用されるポリゴンである。
【０１２４】
また、本実施の形態では、透明度変化部４３は、透明度変化領域ＴＲの中心点からの距離に応じて透明度を変化させるとしたが、本発明は特にこれに限定されず、透明係数αが所定の値になった時点で透明度を変化させてもよい。例えば、透明係数αが０．５より小さい値（０．０≦α＜０．５）となる頂点Ｗは全てα＝０．０に設定し、透明係数αが０．５以上の値（０．５≦α≦１．０）となる頂点Ｗについて透明度を変化させる。この場合、近景の水面を透過して水底がさらに広範囲に表示されるため、ユーザは水底の様子を知ることができ、釣りを題材としたビデオゲームに好適である。
【０１２５】
また、本実施の形態では、釣りを題材としたビデオゲームとして説明したが、本発明は特にこれに限定されず、他のスポーツゲーム、アクションゲーム、シミュレーションゲーム、シューティングゲーム、ロールプレイングゲーム及び格闘ゲーム等の他のビデオゲームにも適用することができる。
【０１２６】
【発明の効果】
請求項１に記載の本発明によれば、所定の領域内のモデルの透明度が変化して描画されるため、仮想カメラ視点に近い位置にあるポリゴンの透明度を高くし、仮想カメラ視点から離れるにしたがって透明度を低くすることによってフレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【０１２７】
請求項２に記載の本発明によれば、仮想３次元空間内における仮想カメラ視点から領域を含む平面に対して垂直に降ろした交点を中心点とし、当該中心点から放射状にモデルの透明度が低くされる。そのため、仮想カメラ視点に近い位置にあるポリゴンは透明度を高くして描画することができ、仮想カメラ視点から遠い位置にあるポリゴンは透明度を低くして描画することができ、フレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【０１２８】
請求項３に記載の本発明によれば、仮想３次元空間内における仮想カメラ視点からモデルに垂直に降ろした点を中心点とする領域の中心点から外縁までの距離の二乗値と、領域の中心点から領域内の任意の点までの距離の二乗値との比率に基づいて任意の点の透明度が算出されるため、領域の中心点からの距離に応じて領域内のモデルの透明度を変化させることができる。また、領域の中心点から領域内の任意の点までの距離は任意の点を表す座標値によって平方根で表されるが、領域の中心点から外縁までの距離の二乗値と領域の中心点から領域内の任意の点までの距離の二乗値との比率を算出することによって等価的に領域の中心点から外縁までの距離と領域の中心点から領域内の任意の点までの距離との比率を求めることができ、平方根の演算処理を行う必要がなく、演算処理に要する時間を短縮することができる。
【０１２９】
請求項４に記載の本発明によれば、複数のポリゴンで構成されるモデルの周囲に配置された背景モデルが描画され、描画された画像を上下反転させた画像がテクスチャとして所定の領域に位置するモデルに貼り付けられるため、仮想３次元空間内に設けられたモデルに周囲の背景を映りこませることが可能となる。また、近景は透明にし、遠景は背景を写しこむことによって、擬似的にフレネル効果を実現することができ、リアル感が増すこととなる。
【０１３０】
請求項５に記載の本発明によれば、モデルの透明度を変化させ得る透明度変化領域とモデルを不透明にさせ得る不透明領域とを含む領域のうち、透明度変化領域では透明度を変化させ、透明度変化領域外の不透明領域では透明度を変化させずに不透明にして背景モデルを描画して上下反転させた画像をテクスチャとして貼り付けることができる。そのため、仮想カメラ視点から離れた位置にあるモデルに周囲の背景をはっきりと映りこませることができ、擬似的にフレネル効果を実現することができ、リアル感が増すこととなる。
【０１３１】
請求項６に記載の本発明によれば、所定の領域内のモデルの透明度が変化して描画されるため、仮想カメラ視点に近い位置にあるポリゴンの透明度を高くし、仮想カメラ視点から離れるにしたがって透明度を低くすることによってフレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【０１３２】
請求項７に記載の本発明によれば、所定の領域内のモデルの透明度が変化して描画されるため、仮想カメラ視点に近い位置にあるポリゴンの透明度を高くし、仮想カメラ視点から離れるにしたがって透明度を低くすることによってフレネル効果を擬似的に実現することができ、リアル感のあるビデオゲームを実現することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態のビデオゲーム装置の構成を示すブロック図である。
【図２】図１に示すビデオゲーム装置の主要機能を示すブロック図である。
【図３】透明度変化領域について説明するための模式図である。
【図４】図１に示すビデオゲーム装置による３次元画像処理の一例を示すフローチャートである。
【図５】本実施の形態における３次元画像処理で水面モデルを描画したゲーム画面の一例を示す画面図である。
【図６】従来の透過性を重視する方法によって水面モデルを描画したゲーム画面の一例を示す画面図である。
【図７】従来の反射性を重視する方法によって水面モデルを描画したゲーム画面の一例を示す画面図である。
【符号の説明】
１　ＣＰＵ
２　バスライン
３　グラフィックスデータ生成プロセッサ
４，１３　インターフェース回路
５　メインメモリ
６　ＲＯＭ
７　伸張回路
８　パラレルポート
９　シリアルポート
１０　描画プロセッサ
１１　音声プロセッサ
１２　デコーダ
１４，１５，１６　バッファ
１７　記録媒体ドライバ
１８　メモリ
１９　コントローラ
２１　テレビジョンモニタ
３１　プログラム実行部
３２　データ記憶部
３３　プログラム記憶部
３４　描画処理部
３５　表示部
３６　操作部
４１　ゲーム進行処理部
４２　反転画像作成部
４３　透明度変化部
４４　テクスチャ貼付部
４５　描画指示部
４６　表示制御部
４７　モデルデータ記憶部
４８　記録媒体
４７１　水面モデル記憶部
４７２　背景モデル記憶部
【図１】
2004038398.tif 000003
【図２】
2004038398.tif 000004
【図３】
2004038398.tif 000005
【図４】
2004038398.tif 000006
【図５】
2004038398.tif 000007
【図６】
2004038398.tif 000008
【図７】
2004038398.tif 000009