(57)【特許請求の範囲】
【請求項１】
立体モデルの表面に、複数のポリゴンから構成される影モデルを用いて影画像を描画するゲーム用３次元画像処理装置であって、モデルの少なくとも頂点座標を記憶する影モデル記憶手段と、前記影モデルを構成するポリゴンを仮想カメラの視点位置の方向を向いている表面ポリゴンと仮想カメラの視点位置に対して逆方向を向いている裏面ポリゴンとに選別するポリゴン選別手段と、前記表面ポリゴンに対応する画素から前記裏面ポリゴンに対応する画素を除いた画素に影画像を描画する影描画手段と、影モデルを除くポリゴンモデルをレンダリング処理して描画するモデル描画手段と、モデル描画手段によって描画された画像を各画素のカラーデータであるフレームカラーデータと擬似３次元空間における仮想カメラ視点から各画素に対応するポリゴンまでの距離であるＺ値とを関連させて記憶するモデル画像記憶手段とを備え、前記影描画手段は、影モデルの表面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該表面ポリゴンまでの距離が当該画素のＺ値より小さい画素から、裏面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該裏面ポリゴンまでの距離が当該画素のＺ値より小さい画素を除いた画素である影描画画素に対して、前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータを変更することを特徴とするゲーム用３次元画像処理装置。
【請求項２】
前記影モデル記憶手段は、影モデルを構成する各ポリゴンの法線ベクトルを記憶しており、前記ポリゴン選別手段は、影モデルを構成する各ポリゴンの法線ベクトルと前記仮想カメラの視線方向を表わすカメラ視線ベクトルとの内積の正負値によって表面ポリゴンと裏面ポリゴンとを選別するものであることを特徴とする請求項１記載のゲーム用３次元画像処理装置。
【請求項３】
前記影描画手段は、前記影描画画素に対して前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータから所定値を減算することを特徴とする請求項１に記載のゲーム用３次元画像処理装置。
【請求項４】
前記影描画手段は、前記影描画画素に対して前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータに所定値を乗算することを特徴とする請求項１に記載のゲーム用３次元画像処理装置。
【請求項５】
前記影モデル記憶手段は、影モデルの単一のカラーデータを記憶しており、前記影描画手段は、前記影描画画素に対して前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータから影モデルのカラーデータを減算することを特徴とする請求項１に記載のゲーム用３次元画像処理装置。
【請求項６】
前記立体モデルは、擬似３次元空間において移動可能なキャラクタであることを特徴とする請求項１〜５のいずれかに記載のゲーム用３次元画像処理装置。
【請求項７】
立体モデルの表面に、複数のポリゴンから構成される影モデルを用いて影画像を描画するゲーム用３次元画像処理プログラムを記録した可読記録媒体であって、コンピュータを、モデルの少なくとも頂点座標を記憶する影モデル記憶手段と、前記影モデルを構成するポリゴンを仮想カメラの視点位置の方向を向いている表面ポリゴンと仮想カメラの視点位置に対して逆方向を向いている裏面ポリゴンとに選別するポリゴン選別手段と、前記表面ポリゴンに対応する画素から前記裏面ポリゴンに対応する画素を除いた画素に影画像を描画する影描画手段と、影モデルを除くポリゴンモデルをレンダリング処理して描画するモデル描画手段と、モデル描画手段によって描画された画像を各画素のカラーデータであるフレームカラーデータと擬似３次元空間における仮想カメラ視点から各画素に対応するポリゴンまでの距離であるＺ値とを関連させて記憶するモデル画像記憶手段として機能させ、前記影描画手段は、影モデルの表面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該表面ポリゴンまでの距離が当該画素のＺ値より小さい画素から、裏面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該裏面ポリゴンまでの距離が当該画素のＺ値より小さい画素を除いた画素である影描画画素に対して、前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータを変更することを特徴とするゲーム用３次元画像処理プログラムを記録した可読記録媒体。
【請求項８】
前記影モデルを構成する各ポリゴンの法線ベクトルを記憶しており、前記ポリゴン選別処理は、各ポリゴンの法線ベクトルと前記仮想カメラの視線方向を表わすカメラ視線ベクトルとの内積の正負値によって表面ポリゴンと裏面ポリゴンとを選別するものであることを特徴とする請求項７に記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体。
【請求項９】
前記影描画処理において、前記影描画画素に対して当該画素のフレームカラーデータから所定値を減算することを特徴とする請求項７に記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体。
【請求項１０】
前記影描画処理において、前記影描画画素に対して当該画素のフレームカラーデータに所定値を乗算することを特徴とする請求項７に記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体。
【請求項１１】
前記影モデルの単一のカラーデータを記憶しており、前記影描画処理において、前記影描画画素に対して当該画素のフレームカラーデータから影モデルのカラーデータを減算することを特徴とする請求項７に記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体。
【請求項１２】
前記立体モデルは、擬似３次元空間において移動可能なキャラクタであることを特徴とする請求項７〜１１のいずれかに記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体。
【請求項１３】
立体モデルの表面に、複数のポリゴンから構成される影モデルを用いて影画像を描画するゲーム用３次元画像処理方法であって、コンピュータに、モデルの少なくとも頂点座標を記憶し、前記影モデルを構成するポリゴンを仮想カメラの視点位置の方向を向いている表面ポリゴンと仮想カメラの視点位置に対して逆方向を向いている裏面ポリゴンとに選別処理し、前記表面ポリゴンに対応する画素から前記裏面ポリゴンに対応する画素を除いた画素に影画像を描画する影描画処理を行ない、影モデルを除くポリゴンモデルをレンダリング処理して描画するモデル描画処理を行い、モデル描画処理によって描画された画像を各画素のカラーデータであるフレームカラーデータと擬似３次元空間における仮想カメラ視点から各画素に対応するポリゴンまでの距離であるＺ値とを関連させて記憶し、前記影描画処理において、影モデルの表面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該表面ポリゴンまでの距離が当該画素のＺ値より小さい画素から、裏面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該裏面ポリゴンまでの距離が当該画素のＺ値より小さい画素を除いた画素である影描画画素に対して、当該画素のフレームカラーデータを変更する処理を実行させることを特徴とするゲーム用３次元画像処理方法。
【請求項１４】
請求項１〜６のいずれかに記載のゲーム用３次元画像処理装置と、前記立体モデル表面の影画像を含む画像を表示するための画像表示手段と、ゲームプログラムデータが記録されたプログラム記憶手段と、外部から操作可能な操作手段とを備え、上記ゲーム用３次元画像処理装置は、上記ゲームプログラムデータに従って画像表示手段に画像を表示することを特徴とするビデオゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばビデオゲーム装置などに適用される、擬似３次元空間内に配置された立体モデルの表面に、影画像を描画すべく所定の画像処理を施すゲーム用３次元画像処理技術に関するものである。
【０００２】
【従来の技術】
近年、キャラクタをモニタ画面内に作成される擬似３次元空間上に表示するようにした種々のゲーム装置が普及している。かかるゲーム装置として、カーレース、スキー、サーフィン、モータボート、スノーボード、スケートボード等を模擬したものが知られている。
【０００３】
また、これらのキャラクタが移動するゲームにおいては、キャラクタの移動に伴うキャラクタ画像及び背景画像の変化を如何にリアルに表現するかによってゲームの臨場感が大きく左右される。
【０００４】
【発明が解決しようとする課題】
このような擬似３次元空間においてキャラクタを移動させるようにしたゲーム装置では、山や建物等により光源からの光が遮られることによってキャラクタ等の物体の表面に落とされる影（付影とよばれる）が描写されるようにすると、より臨場感が高まり、興趣性に富んだゲーム装置を実現することが可能となる。
【０００５】
従来は、付影を作り出す山や建物等の位置や大きさ及び光源からの光線の向き等に対応して擬似３次元空間内に領域（エリア）を設定し、その領域にキャラクタ等の物体の基準点がある場合には、その物体の表面全体に付影を描写するという方法が用いられていた。なお、影モデル（シャドーボリューム）とは、その領域内に物体が含まれるときに当該物体の表面に付影が作り出されるような擬似３次元空間内の領域をポリゴンモデルとして表わしたものである。
【０００６】
しかし、上記の方法では、実際には物体の一部に付影が落とされるような場合すなわち物体の一部が影モデルに含まれる場合においても、当該物体の全体に付影が施されるか若しくは全く付影が落とされないかのいずれかとなり、充分な臨場感が得られなかった。
【０００７】
従って、本発明は、物体表面に映った影をリアルにかつ容易に描画するゲーム用３次元画像処理方法、装置、ゲーム用３次元画像処理プログラムを記録した可読記録媒体及びビデオデーム装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
請求項１記載のゲーム用３次元画像処理装置は、立体モデルの表面に、複数のポリゴンから構成される影モデルを用いて影画像を描画するゲーム用３次元画像処理装置であって、モデルの少なくとも頂点座標を記憶する影モデル記憶手段と、前記影モデルを構成するポリゴンを仮想カメラの視点位置の方向を向いている表面ポリゴンと仮想カメラの視点位置に対して逆方向を向いている裏面ポリゴンとに選別するポリゴン選別手段と、前記表面ポリゴンに対応する画素から前記裏面ポリゴンに対応する画素を除いた画素に影画像を描画する影描画手段と、影モデルを除くポリゴンモデルをレンダリング処理して描画するモデル描画手段と、モデル描画手段によって描画された画像を各画素のカラーデータであるフレームカラーデータと擬似３次元空間における仮想カメラ視点から各画素に対応するポリゴンまでの距離であるＺ値とを関連させて記憶するモデル画像記憶手段とを備え、前記影描画手段は、影モデルの表面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該表面ポリゴンまでの距離が当該画素のＺ値より小さい画素から、裏面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該裏面ポリゴンまでの距離が当該画素のＺ値より小さい画素を除いた画素である影描画画素に対して、前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータを変更することを特徴としている。
【０００９】
上記の構成によれば、立体モデルの表面に映った影画像が、影モデルの表面ポリゴンに対応する画素から裏面ポリゴンに対応する画素を除いた画素に影画像を描画することによって得られるため、立体モデルの表面に映った影画像をリアルにかつ容易に描画することが可能となる。さらに、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、フレームカラーデータを変更することによって影の濃淡等を変化させることができる。
【００１０】
請求項２記載のゲーム用３次元画像処理装置は、前記影モデル記憶手段が影モデルを構成する各ポリゴンの法線ベクトルを記憶しており、前記ポリゴン選別手段が影モデルを構成する各ポリゴンの法線ベクトルと前記仮想カメラの視線方向を表わすカメラ視線ベクトルとの内積の正負値によって表面ポリゴンと裏面ポリゴンとを選別するものであることを特徴としている。上記の構成によれば、表面ポリゴンと裏面ポリゴンとの選別がベクトルの内積計算によって行なわれるため、当該選別が容易に実現される。
【００１１】
請求項３記載のゲーム用３次元画像処理装置は、前記影描画手段が前記影描画画素に対して前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータから所定値を減算することを特徴としている。上記の構成によれば、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、フレームカラーデータから減算する所定値を変更することによって影の濃淡を変化させることができる。
【００１２】
請求項４記載のゲーム用３次元画像処理装置は、前記影描画手段が前記影描画画素に対して前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータに所定値を乗算することを特徴としている。上記の構成によれば、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、フレームカラーデータに乗算する所定値を変更することによって影の濃淡を変化させることができる。
【００１３】
請求項５記載のゲーム用３次元画像処理装置は、前記影モデル記憶手段が影モデルの単一のカラーデータを記憶しており、前記影描画手段は、前記影描画画素に対して前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータから影モデルのカラーデータを減算することを特徴としている。上記の構成によれば、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、影モデルのカラーデータを増減することによって影の濃淡を変化させることができる。
【００１４】
請求項６記載のゲーム用３次元画像処理装置は、前記立体モデルが擬似３次元空間において移動可能なキャラクタであることを特徴としている。上記の構成によれば、移動可能なキャラクタの表面に映った影を描画することができ、リアルな画像を描画することができる。
【００１５】
請求項７記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体は、立体モデルの表面に、複数のポリゴンから構成される影モデルを用いて影画像を描画する３次元画像処理プログラムを記録した可読記録媒体であって、コンピュータを、モデルの少なくとも頂点座標を記憶する影モデル記憶手段と、前記影モデルを構成するポリゴンを仮想カメラの視点位置の方向を向いている表面ポリゴンと仮想カメラの視点位置に対して逆方向を向いている裏面ポリゴンとに選別するポリゴン選別手段と、前記表面ポリゴンに対応する画素から前記裏面ポリゴンに対応する画素を除いた画素に影画像を描画する影描画手段と、影モデルを除くポリゴンモデルをレンダリング処理して描画するモデル描画手段と、モデル描画手段によって描画された画像を各画素のカラーデータであるフレームカラーデータと擬似３次元空間における仮想カメラ視点から各画素に対応するポリゴンまでの距離であるＺ値とを関連させて記憶するモデル画像記憶手段として機能させ、前記影描画手段は、影モデルの表面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該表面ポリゴンまでの距離が当該画素のＺ値より小さい画素から、裏面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該裏面ポリゴンまでの距離が当該画素のＺ値より小さい画素を除いた画素である影描画画素に対して、前記モデル画像記憶手段に記憶された当該画素のフレームカラーデータを変更することを特徴としている。
【００１６】
上記のプログラムによれば、上記の構成によれば、立体モデルの表面に映った影画像が、影モデルの表面ポリゴンに対応する画素から裏面ポリゴンに対応する画素を除いた画素に影画像を描画することによって得られるため、立体モデルの表面に映った影画像をリアルにかつ容易に描画することが可能となる。さらに、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、フレームカラーデータを変更することによって影の濃淡等を変化させることができる。
【００１７】
請求項８記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体は、前記影モデルを構成する各ポリゴンの法線ベクトルを記憶しており、前記ポリゴン選別処理は、各ポリゴンの法線ベクトルと前記仮想カメラの視線方向を表わすカメラ視線ベクトルとの内積の正負値によって表面ポリゴンと裏面ポリゴンとを選別するものであることを特徴としている。上記のプログラムによれば、表面ポリゴンと裏面ポリゴンとの選別がベクトルの内積計算によって行なわれるため、当該選別が容易に実現される。
【００１８】
請求項９記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体は、前記影描画処理において、前記影描画画素に対して当該画素のフレームカラーデータから所定値を減算することを特徴としている。上記のプログラムによれば、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、フレームカラーデータから減算する所定値を変更することによって影の濃淡を変化させることができる。
【００１９】
請求項１０記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体は、前記影描画処理において、前記影描画画素に対して当該画素のフレームカラーデータに所定値を乗算することを特徴としている。上記のプログラムによれば、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、フレームカラーデータに乗算する所定値を変更することによって影の濃淡を変化させることができる。
【００２０】
請求項１１記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体は、前記影モデルの単一のカラーデータを記憶しており、前記影描画処理において、前記影描画画素に対して当該画素のフレームカラーデータから影モデルのカラーデータを減算することを特徴としている。上記のプログラムによれば、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、影モデルのカラーデータを増減することによって影の濃淡を変化させることができる。
【００２１】
請求項１２記載のゲーム用３次元画像処理プログラムを記録した可読記録媒体は、前記立体モデルが擬似３次元空間において移動可能なキャラクタであることを特徴としている。上記のプログラムによれば、移動可能なキャラクタの表面に映った影を描画することができ、リアルな画像を描画することができる。
【００２２】
請求項１３記載のゲーム用３次元画像処理方法は、立体モデルの表面に、複数のポリゴンから構成される影モデルを用いて影画像を描画する３次元画像処理方法であって、コンピュータに、モデルの少なくとも頂点座標を記憶し、前記影モデルを構成するポリゴンを仮想カメラの視点位置の方向を向いている表面ポリゴンと仮想カメラの視点位置に対して逆方向を向いている裏面ポリゴンとに選別処理し、前記表面ポリゴンに対応する画素から前記裏面ポリゴンに対応する画素を除いた画素に影画像を描画する影描画処理を行ない、影モデルを除くポリゴンモデルをレンダリング処理して描画するモデル描画処理を行い、モデル描画処理によって描画された画像を各画素のカラーデータであるフレームカラーデータと擬似３次元空間における仮想カメラ視点から各画素に対応するポリゴンまでの距離であるＺ値とを関連させて記憶し、前記影描画処理において、影モデルの表面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該表面ポリゴンまでの距離が当該画素のＺ値より小さい画素から、裏面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該裏面ポリゴンまでの距離が当該画素のＺ値より小さい画素を除いた画素である影描画画素に対して、当該画素のフレームカラーデータを変更する処理を実行させることを特徴としている。
【００２３】
上記の方法によれば、立体モデルの表面に映った影画像が、影モデルの表面ポリゴンに対応する画素から裏面ポリゴンに対応する画素を除いた画素に影画像を描画することによって得られるため、立体モデルの表面に映った影画像をリアルにかつ容易に描画することが可能となる。さらに、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、フレームカラーデータを変更することによって影の濃淡等を変化させることができる。
【００２４】
請求項１４記載のビデオゲーム装置は、請求項１〜６のいずれかに記載のゲーム用３次元画像処理装置と、前記立体モデル表面の影画像を含む画像を表示するための画像表示手段と、ゲームプログラムデータが記録されたプログラム記憶手段と、外部から操作可能な操作手段とを備え、上記ゲーム用３次元画像処理装置は、上記ゲームプログラムデータに従って画像表示手段に画像を表示することを特徴としている。上記の方法によれば、立体モデルの表面に映った影画像を、影モデルを用いてリアルにかつ容易に描画することが可能なビデオゲーム装置が実現可能となる。
【００２５】
【発明の実施の形態】
図１は、本発明の適用されるビデオゲーム装置の一実施形態を示すブロック構成図である。
【００２６】
このゲーム装置１は、ゲーム装置本体と、ゲームの画像を出力するためのテレビジョンモニタ２と、ゲームでの効果音等を出力するための増幅回路３及びスピーカー４と、画像、音源及びプログラムデータからなるゲームデータの記録された記録媒体５とからなる。記録媒体５は、例えば上記ゲームデータやオペレーティングシステムのプログラムデータの記憶されたＲＯＭ等がプラスチックケースに収納された、いわゆるＲＯＭカセットや、光ディスク、フレキシブルディスク等であるが、ゲーム装置１の態様によっては、内蔵式のＲＯＭ等でもよい。
【００２７】
ゲーム装置本体は、ＣＰＵ６にアドレスバス、データバス及びコントロールバスからなるバス７が接続され、このバス７に、ＲＡＭ８、インターフェース回路９、インターフェース回路１０、信号処理プロセッサ１１、画像処理プロセッサ１２、インターフェース回路１３、インターフェース回路１４がそれぞれ接続され、インターフェース回路１０に操作情報インターフェース回路１５を介してコントローラ１６が接続され、インターフェース回路１３にＤ／Ａコンバータ１７が接続され、インターフェース回路１４にＤ／Ａコンバータ１８が接続されて構成される。
【００２８】
ＲＡＭ８、インターフェース回路９及び記録媒体５でメモリ部１９が構成され、ＣＰＵ６、信号処理プロセッサ１１及び画像処理プロセッサ１２で、ゲームの進行を制御するための制御部２０が構成され、インターフェース回路１０、操作情報インターフェース回路１５及びコントローラ１６で操作入力部２１が構成され、テレビジョンモニタ２、インターフェース回路１３及びＤ／Ａコンバータ１７で画像表示部２２が構成され、増幅回路３、スピーカ４、インターフェース回路１４及びＤ／Ａコンバータ１８で音声出力部２３が構成される。
【００２９】
信号処理プロセッサ１１は、主に擬似３次元空間上におけるキャラクタの位置等の計算、擬似３次元空間上の位置から２次元空間上での位置への変換のための計算、光源計算処理、及び各種の音源データの読み出し、合成処理を行う。
【００３０】
画像処理プロセッサ１２は、信号処理プロセッサ１１における計算結果に基づいて、ＲＡＭ８の表示エリアに描画すべき画像を構成するポリゴンを位置付ける処理、及び、これらポリゴンに対するテクスチャマッピング処理等のレンダリング処理を行う。
【００３１】
コントローラ１６は、種々のボタンを備え、ゲーム内容の選択、スタート指示、更には、主人公キャラクタに対する行動指示、方向指示等を与えるものである。
【００３２】
上記ゲーム装置１は、用途に応じてその形態が異なる。即ち、ゲーム装置１が、家庭用として構成されている場合においては、テレビジョンモニタ２、増幅回路３及びスピーカー４は、ゲーム装置本体とは別体となる。また、ゲーム装置１が、業務用として構成されている場合においては、図１に示されている構成要素はすべて一体型となっている１つの筐体に収納される。
【００３３】
また、ゲーム装置１が、パーソナルコンピュータやワークステーションを核として構成されている場合においては、テレビジョンモニタ２は、上記コンピュータ用のディスプレイに対応し、画像処理プロセッサ１２は、記録媒体５に記録されているゲームプログラムデータの一部若しくはコンピュータの拡張スロットに搭載される拡張ボード上のハードウェアに対応し、インターフェース回路９，１０，１３，１４、Ｄ／Ａコンバータ１７，１８、操作情報インターフェース回路１５は、コンピュータの拡張スロットに搭載される拡張ボード上のハードウェアに対応する。また、ＲＡＭ８は、コンピュータ上のメインメモリ若しくは拡張メモリの各エリアに対応する。
【００３４】
本実施形態では、ゲーム装置１が家庭用として構成されている場合を例にして説明する。
【００３５】
まず、ゲーム装置１の概略動作について説明する。電源スイッチ（図示省略）がオンにされ、ゲーム装置１に電源が投入されると、ＣＰＵ６が、記録媒体５に記憶されているオペレーティングシステムに基づいて、記録媒体５から画像、音源及びゲームプログラムデータを読み出す。読み出された画像、音源及びゲームプログラムデータの一部若しくは全部は、ＲＡＭ８に格納される。
【００３６】
以降、ＣＰＵ６は、ＲＡＭ８に記憶されているゲームプログラムデータ、並びにゲームプレーヤがコントローラ１６を介して指示する内容に基づいて、ゲームを進行する。即ち、ＣＰＵ６は、コントローラ１６を介してゲームプレーヤーから指示される指示内容に基づいて、適宜、描画や音声出力のためのタスクとしてのコマンドを生成する。
【００３７】
信号処理プロセッサ１１は、上記コマンドに基づいて３次元空間上（勿論、２次元空間上においても同様である）におけるキャラクタの位置等の計算、光源計算や、各種の音源データの読み出し、合成処理を行う。
【００３８】
続いて、画像処理プロセッサ１２は、上記計算結果に基づいて、ＲＡＭ８の表示エリア上に描画すべき画像データの書き込み処理等を行う。ＲＡＭ８に書き込まれた画像データは、インターフェース回路１３を介してＤ／Ａコンバータ１７に供給され、ここでアナログ映像信号にされた後にテレビジョンモニタ２に供給され、その画面上に画像として表示される。
【００３９】
図２は、ゲーム用３次元画像処理装置の主要部を示すブロック図である。信号処理プロセッサ１１は、影モデルを構成するポリゴンを仮想カメラの視点位置の方向を向いている表面ポリゴンと仮想カメラの視点位置に対して逆方向を向いている裏面ポリゴンとに選別するポリゴン選別部１１１を備えている。画像処理プロセッサ１２は、モデルのレンダリング処理を行なうモデル描画部１２１と、レンダリング処理にて得られた画像データを後述するフレームバッファ８ａにＺ値メモリ８ｂへのＺ値と関連付けて書き込む処理を行なう画像記憶処理部１２２と、立体モデルの表面に影を描画する影描画処理部１２３とを備えている。
【００４０】
ここで、影モデル（シャドーボリューム）とは、付影を作り出す山や建物等の位置や大きさ及び光源からの光線の向き等に対応して擬似３次元空間内に設定される領域をポリゴンモデルとして表わしたものであり、その領域にキャラクタ等の物体がある場合には、その物体の表面に付影が落ちることになる。
【００４１】
ポリゴン選別部１１１は、影モデルを構成する各ポリゴンの面法線ベクトルとカメラ視線ベクトルとの内積を計算し、影モデルを構成する各ポリゴンを内積が正のポリゴンである裏面ポリゴンと、内積が正でないポリゴンである表面ポリゴンとに選別するものである。
【００４２】
モデル描画部１２１は、擬似３次元空間内に配置された影モデルを除く各モデルに対してテクスチャーマッピング及びレンダリング処理を施し、影モデルを除くモデル全体の画像の形成を行なうものである。
【００４３】
画像記憶処理部１２２は、モデル描画部１２１によって形成された画像を、フレームバッファ８ａに各画素のカラーデータであるフレームカラーデータを書き込み、Ｚ値メモリ８ｂに擬似３次元空間上での仮想カメラの視点位置から各画素に対応付けられたポリゴンまでの距離Ｚ値を書き込むものである。フレームカラーデータとＺ値とは、画素に関連付けて書き込まれるものとする。
【００４４】
影描画処理部１２３は、影モデルの表面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該表面ポリゴンまでの距離が当該画素のＺ値より小さい画素から、裏面ポリゴンに対応する画素であって擬似３次元空間における仮想カメラ視点から当該裏面ポリゴンまでの距離が当該画素のＺ値より小さい画素を除いた画素（影描画画素）に対して、フレームバッファ８ａに記憶された当該画素のフレームカラーデータから影モデルのカラーデータを減算することによって立体モデルの影画像を描画するものである。すなわち影モデルの表面に対応する画素から裏面に対応する画素を除いた画素に影画像が描画される。
【００４５】
ＲＡＭ８は、仮想カメラの視点位置及び視線の向きを表わすベクトルデータを記憶するカメラ視線データ部８１と、影モデルの情報を格納する影モデルデータ部８２とを備えている。フレームバッファ８ａは、レンダリング処理された画像の画素毎のカラーデータであるフレームカラーデータを格納するものであり、Ｚ値メモリ８ｂは、擬似３次元空間上での仮想カメラの視点位置から各画素に対応付けられたポリゴンまでの距離Ｚを格納するものである。
【００４６】
影モデルデータ記憶部８２は、影モデルのカラーデータを格納するカラーデータ部８２１と、影モデルを構成する各ポリゴンの法線ベクトルを格納する法線ベクトルデータ部８２２と影モデルを構成する各ポリゴンの各頂点位置の座標を格納する頂点座標データ部８２３とを備えている。
【００４７】
図３は、擬似３次元空間内に配置されたポリゴンモデルをレンダリング処理してモニタに表示すると共に、立体モデルの表面に影画像をするための画像処理を施す３次元画像処理の概要を示すフローチャートである。まず、モデル描画部１２１によって、擬似３次元空間内に配置された影モデルを除く各モデルに対してテクスチャーマッピング及びレンダリング処理が施され、影モデルを除くモデル全体の画像の形成が行なわれる（ＳＴ１）。この画像は、画像記憶処理部１２２によって、各画素のカラーデータがフレームバッファ８ａに書き込まれると共に、各画素のＺ値がＺ値メモリに書き込まれる。また、フレームバッファ８ａに書き込まれる各画素のカラーデータは、フレームカラーデータと呼ばれる。
【００４８】
つぎに、ポリゴン選別部１１１によって、影モデルを構成する各ポリゴンの面法線ベクトルとカメラ視線ベクトルとの内積が計算され（ＳＴ３）、内積が正か否かの判定がなされる（ＳＴ５、ＳＴ８）。内積が正のポリゴンを裏面ポリゴンとし、内積が正でないポリゴンを表面ポリゴンとして識別する。計算手順から明らかなように、表面ポリゴンとは仮想カメラの視点位置の方向を向いているポリゴンであり、裏面ポリゴンとは仮想カメラの視点位置に対して逆方向を向いているポリゴンである。
【００４９】
次いで、裏面ポリゴンが貼り付けられる画素について、擬似３次元空間上での当該画素位置の裏面ポリゴンと仮想カメラ視点との間の距離と、Ｚ値メモリ８ｂに格納されている当該画素のＺ値とを比較して、前者が小さい場合には当該画素のフレームカラーデータに影モデルのカラーデータを加算する（ＳＴ７）。そして、表面ポリゴンが貼り付けられる画素については、擬似３次元空間上での当該画素位置の表面ポリゴンと仮想カメラ視点との間の距離と、Ｚ値メモリ８ｂに格納されている当該画素のＺ値とを比較して、前者が小さい場合には当該画素のフレームカラーデータから影モデルのカラーデータを減算する（ＳＴ９）。ここでは、加算処理が先行して行なわれるため、減算処理によるカラーデータの下限値超過（桁落ち）を防止することができる。なお、ＳＴ７及びＳＴ９は影描画処理部１２３によってなされ、ＳＴ７及びＳＴ９の処理によってＺ値メモリ８ｂ内のデータの書き換えは行なわれない。ＳＴ７とＳＴ９によって、影モデルの表面に対応する画素から裏面に対応する画素を除いた画素（影描画画素）の位置にあるフレームカラーデータから影モデルのカラーデータが減算され、前記立体モデルの表面に影画像が描画される。
【００５０】
図４は、一部が影モデルの内部にある立体モデルの表面に影画像を描画した一例を示す図である。円柱状の立体Ｍが平面Ｐ上に置かれており、光は光源ベクトルＶの向きに当たっている場合、立体Ｍの影モデルＭ０は、例えば図のように略三角柱状に形成される。影モデルＭ０は、表面ポリゴンＭ０１と裏面ポリゴンＭ０２によって構成されている。
【００５１】
図のように、影モデルＭ０内に四角柱状の立体Ｎの一部がある場合、影モデルＭ０の表面ポリゴンＭ０１は四角柱状の立体Ｎよりも仮想カメラ視点側にあり、裏面ポリゴンＭ２の大半は、四角柱状の立体Ｎよりも仮想カメラ視点側にあるが、一部は四角柱状の立体Ｎよりも仮想カメラ視点とは反対側にある。この裏面ポリゴンＭ２の四角柱状の立体Ｎよりも仮想カメラ視点とは反対側にある部分が、四角柱状の立体Ｎの表面の影画像Ｋとして描かれる。すなわち、影画像Ｋの形成される画素は、裏面ポリゴン位置の画素の内、擬似３次元空間上での当該画素位置の裏面ポリゴンと仮想カメラ視点との間の距離と、Ｚ値メモリ８ｂに格納されている当該画素のＺ値（立体Ｍ、Ｎ及び平面Ｐと仮想カメラ視点との距離）とを比較して、前者が大きいため、当該画素のフレームカラーデータに影モデルのカラーデータが加算されない部分である。
【００５２】
なお、本発明は以下の態様をとることができる。
【００５３】
（Ａ）本実施態様においては、影モデルが１つである場合について説明したが、影モデルが２つ以上ある場合も同様の手順で影画像の作成が可能である。ただし、影モデルの個数分だけ影モデルデータ８２の領域を確保する必要がある。影モデルが多い程、画像をよりリアルにすることが可能となる。
【００５４】
（Ｂ）本実施態様においては、影モデルがポリゴンの法線ベクトルを有する場合について説明したが、ポリゴンの各頂点の頂点ベクトルを有する態様であってもよい。ポリゴンの法線ベクトルは、当該ポリゴンの各頂点の法線ベクトルを、例えば、加算平均することによって算出することができるからである。
【００５５】
（Ｃ）本実施態様においては、影モデルの表面ポリゴンに対応する画素から裏面ポリゴンに対応する画素を除いた画素に対してフレームカラーデータから影モデルのカラーデータを減算することによって影画像を描画する場合について説明したが、当該画素のフレームカラーデータを変更することによって影画像を描画してもよい。この場合は、影の濃淡に加えて色調も変更することが可能となる。
【００５６】
（Ｄ）本実施態様においては、影モデルの表面ポリゴンに対応する画素から裏面ポリゴンに対応する画素を除いた画素に対してフレームカラーデータから影モデルのカラーデータを減算することによって影画像を描画する場合について説明したが、当該画素のフレームカラーデータから影モデルのカラーデータとは関係の無い所定値を減算する方法によりフレームカラーデータを変更してもよい。この方法においては、影モデルの表面ポリゴンに対応する画素のフレームカラーから上記の所定値を減算した後、影モデルの裏面ポリゴンに対応する画素のフレームカラーに上記の所定値を加算してもよいし、この手順を逆にしてもよい。また、この場合には影モデルのカラーデータを記憶しておく必要が無い。さらに、この場合には、上記の所定値を変更することによって影の濃淡に加えて色調も変更することが可能である。
【００５７】
（Ｅ）本実施態様においては、影モデルの表面ポリゴンに対応する画素から裏面ポリゴンに対応する画素を除いた画素に対してフレームカラーデータから影モデルのカラーデータを減算することによって影画像を描画する場合について説明したが、当該画素のフレームカラーデータに影モデルのカラーデータとは関係の無い所定値を乗算する方法によりフレームカラーデータを変更してもよい。この方法においては、影モデルの表面ポリゴンに対応する画素のフレームカラーに上記の所定値（例えば０．５）を乗算した後、影モデルの裏面ポリゴンに対応する画素のフレームカラーを上記の所定値で除算してもよいし、この手順を逆にしてもよい。また、この場合には影モデルのカラーデータを記憶しておく必要が無い。さらに、この場合には、上記の所定値を変更することによって影の濃淡に加えて色調も変更することが可能である。
【００５８】
（Ｆ）本実施態様においては、影モデルの表面ポリゴンに対応する画素から裏面ポリゴンに対応する画素を除いた画素に対してフレームカラーデータから影モデルのカラーデータを減算することによって影画像を描画する場合について説明したが、当該画素に対して所定の半透明処理を施すことによって影画像を描画してもよい。この場合は、影モデルのカラーデータを記憶しておく必要が無い。
【００５９】
（Ｆ）本実施態様においては、影モデルの表面ポリゴンに対応する画素のフレームカラーデータに影モデルのカラーデータを加算した後、影モデルの裏面ポリゴンに対応する画素のフレームカラーデータから影モデルのカラーデータを減算する場合について説明したが、この手順は逆にしてもよい。この場合には、減算が先行して行なわれるため、加算処理によるカラーデータの上限値超過（桁落ち）を防止することができる。
【００６０】
（Ｇ）本実施態様においては、影モデルのカラーデータを頂点座標とは別に記憶する場合について説明したが、頂点カラーデータとして記憶してもよい。この場合には、影モデルを、通常のポリゴンモデルと同様のデータ構造で格納することができる。
【００６１】
（Ｈ）本実施態様においては、影モデルデータ等がＲＡＭ８に格納されている場合について説明したが、記憶媒体５からゲームの展開に応じてＲＡＭ８にその都度呼び出される態様であってもよい。この態様では、ＲＡＭ８の必要な容量を低減することができるという利点がある。
【００６２】
【発明の効果】
本発明によれば、立体モデルの表面に映った影画像が、影モデルの表面ポリゴンに対応する画素から裏面ポリゴンに対応する画素を除いた画素に影画像を描画することによって得られるため、立体モデルの表面に映った影画像をリアルにかつ容易に描画することが可能となる。しかも、表面ポリゴンと裏面ポリゴンとの選別がベクトルの内積計算によって行なわれるため、当該選別が容易に実現される。さらに、立体モデル表面に影画像の描画された全体画像をリアルにかつ容易に描画することができると共に、フレームカラーデータを変更することによって影の濃淡等を変化させることができる。
【図面の簡単な説明】
【図１】本発明の適用されるビデオゲーム装置の一実施形態を示すブロック構成図である。
【図２】ゲーム用３次元画像処理装置の主要部を示すブロック図である。
【図３】影モデル内にある立体モデルの表面の影画像を表示するための画像処理を施す３次元画像処理の概要を示すフローチャートである。
【図４】一部が影モデル内にある立体モデルの表面に影画像を描画した一例を示す図である。
【符号の説明】
１１  信号処理プロセッサ
１１１  ポリゴン選別部（ポリゴン選別手段）
１２  画像処理プロセッサ
１２１  モデル描画部（モデル描画手段）
１２２  画像記憶処理部
１２３  影描画処理部（影描画手段）
１６  コントローラ
２  テレビジョンモニタ
５  記録媒体
６  ＣＰＵ
７  バス
８  ＲＡＭ
８１  カメラ視線データ部
８２  影モデルデータ部（影モデル記憶手段）
８２１  カラーデータ部
８２２  法線ベクトルデータ部
８２３  頂点座標データ部
８ａ  フレームバッファ（モデル画像記憶手段）
８ｂ  Ｚ値メモリ（モデル画像記憶手段）
Ｋ  影画像
Ｍ  円柱状の立体
Ｍ０  影モデル
Ｍ０１  表面ポリゴン
Ｍ０２  裏面ポリゴン
Ｎ  四角柱状の立体
Ｐ  平面
Ｖ  光源ベクトル
【図１】
0003625184.tif 000002
【図２】
0003625184.tif 000003
【図３】
0003625184.tif 000004
【図４】
0003625184.tif 000005