(57)【特許請求の範囲】
【請求項１】
３次元ゲーム空間に光源及びオブジェクトを配置するとともに、所与の視点から該３次元ゲーム空間を見た様子を表示するゲーム装置において、
前記オブジェクトの影が描画されるべき領域を決定する影領域決定手段と、
前記光源の明るさを取得する明るさ取得手段と、
前記オブジェクトと前記光源との距離を決定する距離決定手段と、
前記明るさ取得手段により取得される前記光源の明るさと、前記距離決定手段により決定される前記距離とに基づいて、前記影領域決定手段により決定される前記領域の影の濃さを決定する濃さ決定手段と、
前記濃さ決定手段により決定される前記濃さで、前記影領域決定手段により決定される前記領域に影を描画する影描画手段と、
を含むことを特徴とするゲーム装置。
【請求項２】
３次元ゲーム空間に光源及びオブジェクトを配置するとともに、所与の視点から該３次元ゲーム空間を見た様子を表示するゲーム装置としてコンピュータを機能させるためのプログラムであって、
前記オブジェクトの影が描画されるべき領域を決定する影領域決定手段、
前記光源の明るさを取得する明るさ取得手段、
前記オブジェクトと前記光源との距離を決定する距離決定手段、
前記明るさ取得手段により取得される前記光源の明るさと、前記距離決定手段により決定される前記距離とに基づいて、前記影領域決定手段により決定される前記領域の影の濃さを決定する濃さ決定手段、及び、
前記濃さ決定手段により決定される前記濃さで、前記影領域決定手段により決定される前記領域に影を描画する影描画手段、
として前記コンピュータを機能させるためのプログラム。
【請求項３】
仮想３次元空間に光源及びオブジェクトを配置するとともに、所与の視点から該仮想３次元空間を見た様子を表示する画像表示方法において、
前記オブジェクトの影が描画されるべき領域を決定する影領域決定ステップと、
前記光源の明るさを取得する明るさ取得ステップと、
前記オブジェクトと前記光源との距離を決定する距離決定ステップと、
前記明るさ取得ステップで取得される前記光源の明るさと、前記距離決定ステップで決定される前記距離とに基づいて、前記影領域決定ステップで決定される前記領域の影の濃さを決定する濃さ決定ステップと、
前記濃さ決定ステップで決定される前記濃さで、前記影領域決定ステップで決定される前記領域に影を描画する影描画ステップと、
を含むことを特徴とする画像表示方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はゲーム装置、プログラム及び画像表示方法に関し、特にオブジェクトの影を表現する技術に関する。
【０００２】
【従来の技術】
３次元ゲーム空間（オブジェクト空間）にゲームキャラクタ等のオブジェクトを配置し、該３次元ゲーム空間に配置された所与の視点から所与の視線方向を見た様子をゲーム画面に表示するゲーム、いわゆる３次元ゲームが広く人気を博している。
【０００３】
【発明が解決しようとする課題】
上記３次元ゲームでは、３次元ゲーム空間に光源が配置され、該光源によって各種オブジェクトに照明がなされる。このとき、従来の３次元ゲームでは、光源の明るさや各種オブジェクトとの距離が変化しても、それが分かりやすく表現されていなかった。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、少ない演算量で光源の明るさや各種オブジェクトとの距離を表現できるゲーム装置、プログラム及び画像表示方法を提供することにある。
【０００５】
【課題を解決するための手段】
本発明は上記課題に鑑みてなされたものであって、その目的は、３次元ゲーム空間に光源及びオブジェクトを配置するとともに、所与の視点から該３次元ゲーム空間を見た様子を表示するゲーム装置において、前記オブジェクトの影が描画されるべき領域を決定する影領域決定手段と、前記光源の明るさを取得する明るさ取得手段と、前記明るさ取得手段により取得される前記光源の明るさに基づいて、前記影領域決定手段により決定される前記領域の影の濃さを決定する濃さ決定手段と、前記濃さ決定手段により決定される前記濃さで、前記影領域決定手段により決定される前記領域に影を描画する影描画手段と、を含むことを特徴とする。
【０００６】
また、本発明に係るプログラムは、３次元ゲーム空間に光源及びオブジェクトを配置するとともに、所与の視点から該３次元ゲーム空間を見た様子を表示するゲーム装置としてコンピュータを機能させるためのプログラムであって、前記オブジェクトの影が描画されるべき領域を決定する影領域決定手段、前記光源の明るさを取得する明るさ取得手段、前記明るさ取得手段により取得される前記光源の明るさに基づいて、前記影領域決定手段により決定される前記領域の影の濃さを決定する濃さ決定手段、及び、前記濃さ決定手段により決定される前記濃さで、前記影領域決定手段により決定される前記領域に影を描画する影描画手段、として前記コンピュータを機能させるためのプログラムである。
【０００７】
また、本発明に係る画像表示方法は、仮想３次元空間に光源及びオブジェクトを配置するとともに、所与の視点から該仮想３次元空間を見た様子を表示する画像表示方法において、前記オブジェクトの影が描画されるべき領域を決定する影領域決定ステップと、前記光源の明るさを取得する明るさ取得ステップと、前記明るさ取得ステップで取得される前記光源の明るさに基づいて、前記影領域決定ステップで決定される前記領域の影の濃さを決定する濃さ決定ステップと、前記濃さ決定ステップで決定される前記濃さで、前記影領域決定ステップで決定される前記領域に影を描画する影描画ステップと、を含むことを特徴とする。
【０００８】
本発明では、３次元ゲーム空間（仮想３次元空間）に光源及びオブジェクトが配置される。そして、所与の視点から該３次元ゲーム空間（仮想３次元空間）を見た様子が表示装置等により表示される。このとき、前記オブジェクトの影が描画されるべき領域が決定される。この領域は、例えば前記光源及び前記オブジェクトの位置に基づいて、シャドウボリューム等の公知のアルゴリズムにより決定することができる。さらに、前記光源の明るさ（光の強度）が取得され、それに基づいて影の濃さが決定される。そして、その決定した濃さで前記領域に影が描画される。その後、例えば影が描画された前記領域を含む画像がゲーム画面等に表示される。すなわち、本発明によれば、影が描画されるべき領域が決定されると、そこに明るさに応じた濃さで影が描画されるので、少ない演算量で光源の明るさを表現することができる。
【０００９】
本発明の一態様では、前記オブジェクトと前記光源との距離を決定する距離決定手段を含み、前記濃さ決定手段は、前記影領域決定手段により決定される前記距離に基づいて、前記領域決定手段により決定される前記領域の影の濃さを決定する、ことを特徴とする。こうすれば、影が描画されるべき領域が決定されると、そこに光源と前記オブジェクト（影をつくるオブジェクト）との距離に応じた濃さで影が描画されるようになるので、少ない演算量で光源と各種オブジェクトとの距離を表現することができる。
【００１０】
【発明の実施の形態】
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。
【００１１】
図１は、本発明の一実施の形態に係るゲーム装置のハードウェア構成を示す図である。同図に示すゲーム装置１０は、家庭用ゲーム機１１に、モニタ１８及びスピーカ２２を接続し、さらに情報記憶媒体たるＤＶＤ（商標）２５を装着することによって構成されるものである。ここでは、ゲームプログラムやゲームデータを家庭用ゲーム機１１に供給するためにＤＶＤ２５を用いるが、ＣＤ−ＲＯＭやＲＯＭカード等、他のあらゆる情報記憶媒体を用いることができる。また、通信ネットワークを介して遠隔地からゲームプログラムやゲームデータを家庭用ゲーム機１１に供給するようにしてもよい。
【００１２】
家庭用ゲーム機１１は、マイクロプロセッサ１４、画像処理部１６、主記憶２６及び入出力処理部３０がバス１２により相互データ通信可能に接続され、さらに入出力処理部３０に、コントローラ３２、音声処理部２０及びＤＶＤ再生部２４が接続された、公知のコンピュータゲームシステムである。コントローラ３２以外の家庭用ゲーム機１１の各構成要素は筐体内に収容されている。モニタ１８には例えば家庭用のテレビ受像機が用いられ、スピーカ２２には例えばその内蔵スピーカが用いられる。
【００１３】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステムやＤＶＤ２５から読み出されるゲームプログラムに基づいて、家庭用ゲーム機１１の各部を制御する。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。また、主記憶２６には、ＤＶＤ２５から読み取られたゲームプログラム及びゲームデータが必要に応じて書き込まれる。また、主記憶２６は、マイクロプロセッサ１４による各種データ処理のため、作業領域も確保される。画像処理部１６はＶＲＡＭ（Video RAM）を含んで構成されており、マイクロプロセッサ１４から送られる画像データを受け取ってＶＲＡＭ上にゲーム画面を描画するとともに、その内容をビデオ信号に変換して所定タイミングでモニタ１８に出力する。
【００１４】
入出力処理部３０はコントローラ３２、音声処理部２０及びＤＶＤ再生部２４とマイクロプロセッサ１４との間のデータ通信を中継するためのインターフェースである。コントローラ３２はプレイヤがゲーム操作をするための入力手段である。入出力処理部３０は一定周期（例えば１／６０秒毎）にコントローラ３２の各種ボタンの操作状態をスキャンし、そのスキャン結果を表す操作情報を、バス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４は、その操作情報に基づいてプレイヤによるコントローラ３２の操作内容を判定する。音声処理部２０はサウンドバッファを含んで構成されており、ＤＶＤ２５から読み出されてサウンドバッファに記憶された音楽やゲーム効果音等のデータを再生してスピーカ２２から出力する。ＤＶＤ再生部２４は、マイクロプロセッサ１４からの指示に従ってＤＶＤ２５に記録されたゲームプログラム及びゲームデータを読み取る。
【００１５】
本ゲーム装置１０では、主記憶２６に仮想的なゲーム空間、すなわち３次元ゲーム空間（仮想３次元空間）が構築されるようになっている。図２は、この３次元空間の一部を模式的に示す図である。同図に示す３次元ゲーム空間４０では、床面ポリゴン４６，４８の上にゲームキャラクタ４２と柱オブジェクト５０とが載置されている。３次元ゲーム空間４０には、視点が配置されており、該視点から３次元空間４０を見た様子がモニタ１８に表示される。ゲームキャラクタ４２の胸には携帯ライト（光源）４４が取り付けられており、該携帯ライト４４から発せられる光により床面ポリゴン４８の上に柱オブジェクト５０の影５２ができるようになっている。このとき、影５２の濃さ（黒さ）は、携帯ライト４４の明るさ、及びゲームキャラクタ４２と柱オブジェクト５０との距離に基づいて決定されるようになっている。
【００１６】
３次元ゲーム空間４０に配置される各オブジェクトはポリゴンの組み合わせにより構成されており、各ポリゴンにはテクスチャ（画像）が貼付される。図３（ａ）は、床面ポリゴン４８に貼付される床面テクスチャを示している。また、本ゲーム装置１０では、同図（ｂ）に例示するα値マップを生成し、同α値マップを用いて床面テクスチャに影５２を描画するようにしている。α値マップは床面テクスチャと同一サイズを有しており、床面テクスチャにおいて影５２が描画されるべき領域を特定するものである。α値マップは、例えばシャドウボリューム等の公知のアルゴリズムにより、３次元ゲーム空間４０における携帯ライト４４の位置、柱オブジェクト５０の位置に基づいて生成することができる。同図（ｂ）において、斜線が付された部分は影が描画されるべき領域を示しており、同部分にはα値として１が格納され、他の部分にはα値として零が格納されている。そして、α値マップにおいて１が格納されている領域（ピクセル）については、対応する床面テクスチャの色情報の明度を下げるようにしている。具体的には、次式（１）に基づいて各ピクセルの色情報を変更し、床面テクスチャにおける影を付与すべき領域の明度を下げる。ここで、ｃｏｌは各ピクセルの色情報であり、αはα値マップにおいて、そのピクセルに対応づけられているα値である。また、ｋは携帯ライト４４の明るさ、携帯ライト４４と柱オブジェクト５０との距離に基づいて算出される係数である。具体的には、係数ｋは明るさの増加関数であり、且つ携帯ライト４４と柱オブジェクト５０との距離Ｌの減少関数である。また、ｋは０以上１以下の値域を有する。
【００１７】
【数１】
ｃｏｌ＝ｃｏｌ−ｋ×α×ｃｏｌ        …（１）
【００１８】
同図（ｃ）は、かかる処理によって描画された影付き床面テクスチャを示す図である。同図に示す影付き床面テクスチャでは、同図（ｂ）に示すα値マップにおいて影を付与すべき領域として指定されている部分の明度が、同図（ａ）に示す元の床面テクスチャにおいて低下している。
【００１９】
以下、本ゲーム装置１０におけるゲーム処理について図４及び図５に示すフロー図に基づいて詳細に説明する。
【００２０】
図４は、本ゲーム装置１０において所定時間毎（例えば１／６０毎）に実行されるメイン処理を示すフロー図である。同図に示すように、本ゲーム装置１０では、まず環境処理を実行する（Ｓ１０１）。環境処理では、３次元ゲーム空間のすべての静的オブジェクト及び動的オブジェクトの位置及び姿勢を算出する。静的オブジェクトは、建物等の位置を変えないオブジェクトである。これに対して動的オブジェクトは、プレイヤゲームキャラクタや敵ゲームキャラクタのように位置や姿勢を変えるオブジェクトである。
【００２１】
環境処理では、視点座標、視線方向及び画角も算出する。例えば、標準状態では、視点座標をプレイヤゲームキャラクタ５８の後方上空に設定する。また、視線方向を、プレイヤゲームキャラクタ５８の代表点座標を向くよう設定する。こうして、仮想カメラがプレイヤゲームキャラクタ５８に従動するようにしている。なお、画角には、例えば固定値を用いる。
【００２２】
その後、本ゲーム装置１０ではジオメトリ処理を実行する（Ｓ１０２）。ジオメトリ処理では、ワールド座標系（ＸＷ，ＹＷ，ＺＷ）から視点座標系、すなわち視点座標を原点とし、視線方向をＺ方向、水平方向をＸ方向、垂直方向をＹ方向とする座標系への座標変換を行う。また、各オブジェクトを構成するポリゴンについて、頂点の色情報を、携帯ライト４４の光源情報（光源の色及び位置）に基づいて算出する。さらに、クリッピング処理も行う。
【００２３】
その後、本ゲーム装置１０は、レンダリング処理を実行する（Ｓ１０３）。すなわち、マイクロプロセッサ１４が、仮想カメラの撮影範囲内にある各ポリゴンの頂点座標、頂点色情報及びテクスチャ座標等を画像処理部１６に渡す。そして、画像処理部１６が、それらの情報に基づいてＶＲＡＭ上にゲーム画面を表す画像を形成する。この画像は、視点座標系で記述された各オブジェクトをスクリーン座標系に変換することによって形成される。こうして、ＶＲＡＭに形成される画像は所定タイミングでモニタ１８に出力される。
【００２４】
図５は、図３（ｃ）に示す床面テクスチャを生成する処理、すなわち影５２を床面テクスチャに描画する処理を示すフロー図である。この処理は、例えば環境処理（Ｓ１０１）において実行される。同図に示すように、この処理では、まず影領域を決定する（Ｓ２０１）。具体的には、携帯ライト４４等の光源位置、及び柱オブジェクト５０等の影をつくるオブジェクトに基づいて、例えばシャドウボリューム等の公知のアルゴリズムにより、床面ポリゴン４８等の影が落とされるポリゴンにおける影領域を算出する。そして、それをα値マップに記録する。
【００２５】
次に、次に柱オブジェクト５０等の影をつくるオブジェクトと携帯ライト４４等の光源との距離を算出する（Ｓ２０２）。この距離には、例えば両オブジェクトの代表点間の距離を用いればよい。さらに、携帯ライト４４等の光源の明るさ（光の強度）を取得する（Ｓ２０３）。そして、これらの値に基づいて、影５２の濃さに対応する上記係数ｋを算出する（Ｓ２０４）。その後、該係数ｋ及びＳ２０１で算出したα値マップ（影領域）の値を上記式（１）に代入することにより、床面テクスチャ等の影が落とされるポリゴンに貼付されるテクスチャに対し、影を描画する（Ｓ２０５）。こうして得られる影付きのテクスチャは、レンダリング処理（Ｓ１０３）においてレンダリングに用いられ、これによりモニタ１８に影付きのゲーム画面が表示される。
【００２６】
以上説明したゲーム装置１０によれば、影５２を描画すべき領域が決定され、それがα値マップに記録される。また、携帯ライト４４の明るさ、及び柱オブジェクト５０と携帯ライト４４との距離Ｌに基づいて影５２の濃さを表す係数ｋが決定される。そして、係数ｋに応じた濃さの影５２が床面テクスチャに描画され、それがゲーム画面としてモニタ１８に表示される。このため、消灯していた携帯ライト４４が点灯して、徐々に明るくなると、それに応じて影５２が徐々に濃く（黒く）なる。また、携帯ライト４４を携帯したゲームキャラクタ４２が柱オブジェクト５０から遠ざかると、それに応じて影５２が徐々に薄くなる（元の床面テクスチャの色に戻っていく）。こうして、少ない演算量で携帯ライト４４の光の明るさや、携帯ライト４４と柱オブジェクト５０との距離Ｌをゲーム画面において好適に表現することができる。
【００２７】
【発明の効果】
以上説明したように、本発明によれば、影が描画されるべき領域が決定されると、そこに光源の明るさ、或いは影をつくるオブジェクトと光源との距離に応じた濃さで影が描画されるようになるので、少ない演算量で光源の明るさや光源と各種オブジェクトとの距離を表現することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】  ３次元ゲーム空間の一部を模式的に示す図である。
【図３】  床面テクスチャ（ａ）、α値マップ（ｂ）、及び影が描画された床面テクスチャ（ｃ）を示す図である。
【図４】  本発明の実施の形態に係るゲーム装置のメイン処理を示すフロー図である。
【図５】  本発明の実施の形態に係るゲーム装置のシャドウィングルーチンを示すフロー図である。
【符号の説明】
１０  ゲーム装置、１１  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  画像処理部、１８  モニタ、２０  音声処理部、２２  スピーカ、２４  ＤＶＤ再生部、２５  ＤＶＤ、２６  主記憶、３０  入出力処理部、３２  コントローラ、４０  ３次元ゲーム空間、４２  ゲームキャラクタ、４４  携帯ライト（光源）、４６，４８  床面ポリゴン、５０  柱オブジェクト、５２影。
【図１】
0003686928.tif 000002
【図２】
0003686928.tif 000003
【図３】
0003686928.tif 000004
【図４】
0003686928.tif 000005
【図５】
0003686928.tif 000006