(57)【要約】【課題】仮想空間内の全方位からオブジェクトを見た画像を生成する。【解決手段】画像生成装置３００において、記憶部３０１は仮想空間内の面オブジェクト、立体オブジェクト、光源、視点、視線方向の情報を記憶する。計算部３０１は光源からの光によって面オブジェクトに投影される立体オブジェクトの陰影の形状と位置を計算する。判断部３０３は視点が面オブジェクトに対して立体オブジェクトと同じ側にあるか異なる側にあるかを判断する。同じ側にある場合、生成部３０４は面オブジェクト、立体オブジェクト及びその陰影を含む画像を生成する。異なる側にある場合、生成部３０４は立体オブジェクト及びその陰影を含む画像を生成する。【選択図】図３
2008027050.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間内に配置される第１オブジェクトの位置、第２オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する記憶部、
当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置の情報から、当該視点が、当該第１オブジェクトに対して、当該第２オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する判断部、
当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成する生成部であって、前記判断部により、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと
（ａ）同じ側に配置されると判断された場合、当該第１オブジェクトと、当該第２オブジェクトと、を見た様子を表す画像を生成し、
（ｂ）異なる側に配置されると判断された場合、当該第２オブジェクトを見た様子を表す画像を生成する
生成部
を備えることを特徴とする画像生成装置。
【請求項２】
請求項１に記載の画像生成装置であって、
当該第１オブジェクトは面オブジェクトであり、
当該第２オブジェクトは立体オブジェクトであり、
前記記憶部は、当該面オブジェクトの形状と、当該立体オブジェクトの形状とを更に記憶し、
前記判断部は、当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該視点の位置の情報から、当該視点が、当該面オブジェクトに対して、当該立体オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断し、
前記生成部は、当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成する
ことを特徴とする画像生成装置。
【請求項３】
請求項２に記載の画像生成装置であって、
前記記憶部は、当該面オブジェクトに対して当該立体オブジェクトと同じ側に配置される光源の位置を更に記憶し、
当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該光源の情報から、当該仮想空間において当該光源により当該立体オブジェクトが当該面オブジェクトに投射する陰影の形状および位置を計算する計算部を更に備え、
前記生成部は、前記計算部により計算された当該陰影の形状及び位置に基づいて、前記判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
（ａ）同じ側に配置されると判断された場合、当該面オブジェクトと、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成し、
（ｂ）異なる側に配置されると判断された場合、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成する
ことを特徴とする画像生成装置。
【請求項４】
請求項２又は３に記載の画像生成装置であって、
前記生成部は、前記判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
（ａ）同じ側に配置されると判断された場合、当該面オブジェクトを不透明とし、
（ｂ）異なる側に配置されると判断された場合、当該面オブジェクトを透明として、
当該面オブジェクトと、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成する
ことを特徴とする画像生成装置。
【請求項５】
請求項３に記載の画像生成装置であって、
前記生成部は、当該面オブジェクトのうち当該陰影の占める領域の画像の明度と彩度の両方又はどちらか片方を減衰させるか、あるいは、当該面オブジェクトのうち当該陰影の占める領域の画像を無彩色にして、画像を生成する
ことを特徴とする画像生成装置。
【請求項６】
請求項５に記載の画像生成装置であって、
前記生成部は、前記判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
（ｘ）同じ側に配置されると判断された場合、当該面オブジェクトのうち当該陰影の占める領域の画像の明度と彩度の両方又はどちらか片方を減衰させて、
（ｙ）異なる側に配置されると判断された場合、当該面オブジェクトのうち当該陰影の占める領域の画像を無彩色にして、
画像を生成する
ことを特徴とする画像生成装置。
【請求項７】
請求項１に記載の画像生成装置であって、
当該画像生成装置は仮想空間内でゲームをプレイするためのゲーム装置であり、
当該視点と当該視線の方向の両方又はどちらか片方が移動可能な範囲を設定する設定部を更に備え、
当該移動可能な範囲は、当該ゲーム装置によるユーザのゲーム進行レベルに基づいて設定される
ことを特徴とする画像生成装置。
【請求項８】
請求項３に記載の画像生成装置であって、
前記計算部は、当該陰影の形状および位置の代わりに、もしくは、当該陰影の形状および位置に加えて、当該面オブジェクトと当該立体オブジェクトとが接触する領域の形状および位置を計算し、
前記生成部は、当該陰影の代わりに、もしくは、当該陰影に加えて、当該面オブジェクトと当該立体オブジェクトとが接触する領域を含む画像を生成する
ことを特徴とする画像生成装置。
【請求項９】
記憶部、判断部、生成部を有する画像生成装置にて実行される画像生成方法であって、
前記記憶部は、仮想空間内に配置される第１オブジェクトの位置、第２オブジェクトの位置、視点の位置、視線の方向の情報、を記憶し、
前記判断部が、当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置の情報から、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する判断ステップ、
前記生成部が、当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成する生成ステップであって、前記判断ステップにより、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと
（ａ）同じ側に配置されると判断された場合、前記生成部が、当該第１オブジェクトと、当該第２オブジェクトと、を見た様子を表す画像を生成し、
（ｂ）異なる側に配置されると判断された場合、前記生成部が、当該第２オブジェクトを見た様子を表す画像を生成する
生成ステップ、
を備えることを特徴とする画像生成方法。
【請求項１０】
コンピュータを、
仮想空間内に配置される第１オブジェクトの位置、第２オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する記憶部、
当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置の情報から、当該視点が、当該第１オブジェクトに対して、当該第２オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する判断部、
当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成する生成部であって、前記判断部により、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと
（ａ）同じ側に配置されると判断された場合、当該第１オブジェクトと、当該第２オブジェクトと、を見た様子を表す画像を生成し、
（ｂ）異なる側に配置されると判断された場合、当該第２オブジェクトを見た様子を表す画像を生成する
生成部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想空間内の全方位から見える画像を生成するために好適な画像生成装置、画像生成方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータグラフィックスの分野や各種のゲーム装置における処理においては、３次元グラフィックスの技術が利用されている。このような３次元グラフィックスの技術では、仮想的な３次元空間の中に描画対象となるオブジェクトを配置する。オブジェクトの表面は多面体で表現されており、多面体の角面は多角形（ポリゴン）となっている。このような３次元グラフィックスの技術については、以下の文献に開示がある。
【特許文献１】特許第３４９０９８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１のような従来技術によれば、例えば、仮想空間内の地面の上に配置されたオブジェクトに、仮想空間内の光源から光を照射して、仮想空間内の視点から見た画像を生成できる。しかしながら、仮想空間内の視点の位置が地面より下に移動すると、本来見えないはずのポリゴンの裏側が見えてしまい不自然な画像になってしまう。そのため、視点の位置が地面より下に行かないように制御したり、不自然さをなくすために背景を写さない等の別な演出をしたりしなければならなかった。一方で、仮想空間内のあらゆる位置に視点を動かして画像を表示してゲームを演出できるようにすることが望まれているが、現実の世界で見えると予想される画像を表示するだけではゲームの世界観を十分に演出できなかった。
【０００４】
本発明は、このような課題を解決するものであり、仮想空間内の全方位からオブジェクトを見た画像を生成するために好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００６】
本発明の第１の観点に係る画像生成装置は、記憶部、判断部、生成部を備える。
記憶部は、仮想空間内に配置される第１オブジェクトの位置、第２オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する。
判断部は、当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置の情報から、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する。
生成部は、当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へこの仮想空間を見た様子を表す画像を生成する。
さらに、生成部は、判断部により、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと
（ａ）同じ側に配置されると判断された場合、当該第１オブジェクトと、当該第２オブジェクトと、を見た様子を表す画像を生成し、
（ｂ）異なる側に配置されると判断された場合、当該第２オブジェクトを見た様子を表す画像を生成する。
この結果、画像生成装置は、仮想空間内のキャラクタオブジェクトを全方向から見た画像を生成することができる。また、全方向から画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。
【０００７】
当該第１オブジェクトは面オブジェクトであり、当該第２オブジェクトは立体オブジェクトであり、
記憶部は、当該面オブジェクトの形状と、当該立体オブジェクトの形状とを更に記憶し、
判断部は、当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該視点の位置の情報から、当該視点が、当該面オブジェクトに対して、当該立体オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断し、
生成部は、当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成してもよい。
【０００８】
記憶部は、当該面オブジェクトに対して当該立体オブジェクトと同じ側に配置される光源の位置を更に記憶し、
当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該光源の情報から、当該仮想空間において当該光源により当該立体オブジェクトが当該面オブジェクトに投射する当該陰影の形状および位置を計算する計算部を更に備え、
生成部は、計算部により計算された当該陰影の形状及び位置に基づいて、判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
（ａ）同じ側に配置されると判断された場合、当該面オブジェクトと、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成し、
（ｂ）異なる側に配置されると判断された場合、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成してもよい。
この結果、画像生成装置は、全方向から陰影を含む画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。また、面オブジェクトを表示しなくても、陰影を使って面オブジェクトの形状と位置を効果的にユーザに知らしめることができる。
【０００９】
生成部は、判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
（ａ）同じ側に配置されると判断された場合、当該面オブジェクトを不透明とし、
（ｂ）異なる側に配置されると判断された場合、当該面オブジェクトを透明として、
当該面オブジェクトと、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成してもよい。
この結果、画像生成装置は、仮想空間内のキャラクタオブジェクトを全方向から見た画像を生成することができる。また、全方向から画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。
【００１０】
生成部は、当該面オブジェクトのうち当該陰影の占める領域の画像の明度と彩度の両方又はどちらか片方を減衰させるか、あるいは、当該面オブジェクトのうち当該陰影の占める領域の画像を無彩色にして、画像を生成することができる。
この結果、画像生成装置は、陰影の形状と位置を強調した画像の生成が可能になる。例えば、陰影部分を暗くしたり、黒やグレーといった無彩色にしたりして、臨場感のある画像を生成することができる。
【００１１】
生成部は、判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
（ｘ）同じ側に配置されると判断された場合、当該面オブジェクトのうち当該陰影の占める領域の画像の明度と彩度の両方又はどちらか片方を減衰させて、
（ｙ）異なる側に配置されると判断された場合、当該面オブジェクトのうち当該陰影の占める領域の画像を無彩色にして、
画像を生成することができる。
この結果、画像生成装置は、視点の位置によって陰影の演出を変えることができる。
【００１２】
この画像生成装置は仮想空間内でゲームをプレイするためのゲーム装置であり、
当該視点と当該視線の方向の両方又はどちらか片方が移動可能な範囲を設定する設定部を更に備え、当該移動可能な範囲は、このゲーム装置のユーザのゲーム進行レベルに基づいて設定されてもよい。
この結果、画像生成装置は、ゲームの進行に合わせて視点や視線方向を移動して画像を生成することができる。例えば、ユーザの獲得ポイント、ユーザのクリアしたステージ数、ユーザのプレイ時間などによって、視点や視線方向を動かして、ゲームを演出することができる。
【００１３】
計算部は、当該陰影の形状および位置の代わりに、もしくは、当該陰影の形状および位置に加えて、当該面オブジェクトと当該立体オブジェクトとが接触する領域の形状および位置を計算し、
生成部は、当該陰影の代わりに、もしくは、当該陰影に加えて、当該面オブジェクトと当該立体オブジェクトとが接触する領域を含む画像を生成してもよい。
この結果、画像生成装置は、キャラクタオブジェクト同士の接触する領域を示す画像を生成することができる。
【００１４】
本発明のその他の観点に係る画像生成方法は、記憶部、判断部、生成部を有する画像生成装置にて実行される画像生成方法であって、判断ステップ、生成ステップを備える。
記憶部は、仮想空間内に配置される第１オブジェクトの位置、第２オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する。
判断ステップは、判断部が、当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置の情報から、当該視点が、当該第１オブジェクトに対して、当該第２オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する。
生成ステップは、生成部が、当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へこの仮想空間を見た様子を表す画像を生成する。
さらに、生成ステップは、判断ステップにより、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと
（ａ）同じ側に配置されると判断された場合、生成部が、当該第１オブジェクトと、当該第２オブジェクトと、を見た様子を表す画像を生成し、
（ｂ）異なる側に配置されると判断された場合、生成部が、当該第２オブジェクトを見た様子を表す画像を生成する。
この結果、この画像生成方法を用いた画像生成装置は、仮想空間内のキャラクタオブジェクトを全方向から見た画像を生成することができる。また、全方向から画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。
【００１５】
本発明のその他の観点に係るプログラムは、コンピュータを、記憶部、判断部、生成部として機能させる。
記憶部は、仮想空間内に配置される第１オブジェクトの位置、第２オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する。
判断部は、当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置の情報から、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する。
生成部は、当該第１オブジェクトの位置、当該第２オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へこの仮想空間を見た様子を表す画像を生成する。
さらに、生成部は、判断部により、当該視点が当該第１オブジェクトに対して当該第２オブジェクトと
（ａ）同じ側に配置されると判断された場合、当該第１オブジェクトと、当該第２オブジェクトと、を見た様子を表す画像を生成し、
（ｂ）異なる側に配置されると判断された場合、当該第２オブジェクトを見た様子を表す画像を生成する。
この結果、プログラムは、コンピュータを、仮想空間内のキャラクタオブジェクトを全方向から見た画像を生成する画像生成装置として機能させることができる。また、全方向から画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。
【００１６】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００１７】
本発明によれば、仮想空間内の全方位からオブジェクトを見た画像を生成するために好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１８】
（実施例１）
以下に本発明の実施例を説明する。本発明の理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００１９】
図１は、プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置１００の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２０】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェイス１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disk - Read Only Memory）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、を備える。
【００２１】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施例の画像生成装置が実現される。
【００２２】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００２３】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００２４】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００２５】
インターフェイス１０４を介して接続されたコントローラ１０５は、ユーザが麻雀ゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【００２６】
インターフェイス１０４を介して着脱自在に接続された外部メモリ１０６には、麻雀ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００２７】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００２８】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００２９】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００３０】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００３１】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【００３２】
また、麻雀ゲームの牌の画像やトランプゲームのカードの画像などの情報をＤＶＤ−ＲＯＭに用意しておき、これをフレームメモリに展開することによって、現在の手牌や手札を画面に表示することができるようになる。
【００３３】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００３４】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００３５】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００３６】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００３７】
次に、本実施例で取り扱う仮想空間について図２を用いて説明する。
本図に示すように、仮想空間内には、第１のオブジェクトである面オブジェクト２０１と、第２のオブジェクトである立体オブジェクト２０２とを含むキャラクタオブジェクトが配置される。
面オブジェクト２０１とは、具体的には、仮想空間内の地面オブジェクトなどである。本実施例では、本発明を理解しやすいように面オブジェクト２０１の形状が平面であるとするが、面オブジェクト２０１の形状は平面に限られず曲面であってもよい。面オブジェクト２０１は仮想空間内に複数存在していてもよい。
立体オブジェクト２０２とは、具体的には、仮想空間内に存在する人物や物などを表すキャラクタオブジェクトである。立体オブジェクト２０２は仮想空間内に複数存在していてもよい。
さらに仮想空間内には光源２０３と視点２０４が配置される。光源２０３は、面オブジェクト２０１や立体オブジェクト２０２に仮想的な光を照射する。本実施例では、光源２０３の形状は点であるとする。光源２０３から照射される光の色は任意に設定できる。点光源である光源２０３は仮想空間内の全方向に同じ強さの光を出す。画像生成装置３００は、仮想空間内に配置された視点２０４から視線ベクトル２０５で示す視線の方向に見える、面オブジェクト２０１や立体オブジェクト２０２などの様々なキャラクタオブジェクトを配置した画像を生成する。この画像には、光源２０３から照射された光によって面オブジェクト２０１の表面に投影される立体オブジェクト２０２の陰影２０６も含まれる。
なお、この仮想空間内に、光源２０３と、光源２０３から照射された光によって投影される陰影２０６とが含まれない構成を採用してもよい。
【００３８】
次に、本実施例の画像生成装置３００が行う処理について図面を用いて説明する。
【００３９】
図３は、本実施例の画像生成装置３００の構成を示す図である。画像生成装置３００は、記憶部３０１、計算部３０２、判断部３０３、及び、生成部３０４を備える。
【００４０】
記憶部３０１は、（１）仮想空間内に配置される面オブジェクト２０１の形状および位置、（２）立体オブジェクト２０２の形状および位置、（３）面オブジェクト２０１に対して立体オブジェクト２０２と同じ側に配置される光源２０３の位置、（４）視点２０４の位置、（５）視線の方向、のそれぞれの情報を記憶する。
【００４１】
面オブジェクト２０１及び立体オブジェクト２０２の形状は、表面を微小な多角形（典型的には三角形や四角形など）のポリゴンに分割して数値データ化されて表される。各キャラクタオブジェクトの位置は、互いに直交する３軸による直交座標系を用いて、各キャラクタオブジェクト内の代表点の座標（ｘ，ｙ，ｚ）で表される。座標系の原点は任意に設定してよい。代表点の選び方は任意であるが、例えば、各キャラクタオブジェクトの重心点を用いることができる。座標系はこれに限られるものではなく、例えば１個の動径と２個の偏角を用いた球座標のような極座標系を用いてもよい。また、仮想空間の全体を表現するグローバル座標系（ワールド座標系）と、キャラクタオブジェクトごとのローカル座標系（ボディ座標系）とを別々に設定して座標計算等を行う構成を採用してもよい。
【００４２】
光源２０３と視点２０４の位置は、各キャラクタオブジェクトの位置と同様に、直交座標系を用いた座標で表される。各キャラクタオブジェクトと同様に、用いる座標系はこれに限定されない。視線の方向は、視点２０４を基点とした方向ベクトルである視線ベクトル２０５で表される。視線ベクトル２０５の長さは任意であるが、典型的には単位ベクトルとする。
【００４３】
これらの情報の初期値は、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭに予め記憶されており、ＣＰＵ  １０１の制御により随時ＲＡＭ  １０３の所定記憶領域に読み出される。面オブジェクト２０１と立体オブジェクト２０２の形状や、面オブジェクト２０１、立体オブジェクト２０２、光源２０３、視点２０４のそれぞれの位置は可変であり、ユーザがコントローラ１０５を使ってこれらの位置を変える指示入力を行ったり、ゲームの進行・演出に合わせてＣＰＵ  １０１が適宜計算したりすることができる。また、視線ベクトル２０５の向き、大きさも可変である。ＣＰＵ  １０１は、指示入力により指示された位置の座標、あるいは、計算した形状と位置を示す情報で、ＲＡＭ  １０３の所定記憶領域に記憶した、上述の（１）乃至（５）に示す各データを随時更新する。例えば、ＣＰＵ  １０１は垂直同期のタイミングでこれらのデータを計算して更新する。これにより、記憶部３０１には最新のデータが記憶される。
なお、ＣＰＵ  １０１、ＲＡＭ  １０３、ＤＶＤ−ＲＯＭドライブ１０８が協働して動作することにより、記憶部３０１として機能する。
【００４４】
計算部３０２は、面オブジェクト２０１の形状と位置、立体オブジェクト２０２の形状と位置、及び、光源２０３の位置から、この仮想空間において光源２０３からの光により立体オブジェクト２０２が面オブジェクト２０１に投射する陰影２０６の形状と位置を計算する。すなわち、計算部３０２はレンダリングを行う。立体オブジェクト２０２の形状と位置が変わると、それに伴って陰影２０６の形状と位置も変わる。また、光源２０３と視点２０４の位置、あるいは、視線ベクトル２０５の向きが変わると、それに伴って陰影２０６の形状と位置も変わる。計算部３０２は、所定周期（典型的には垂直同期の周期）でこの陰影２０６の形状と位置を計算する。レンダリングを行う手法は、本発明によって限定されない。
なお、ＣＰＵ  １０１が画像処理部１０７と協働して動作することにより、計算部３０２として機能する。また、この仮想空間内に光源２０３と陰影２０６とを含まない構成を採用した場合には、画像生成装置３００は計算部３０２を備えなくてもよい。
【００４５】
判断部３０３は、面オブジェクト２０１の形状と位置、立体オブジェクト２０２の形状と位置、及び、視点２０４の位置から、視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と同じ側に配置されるか異なる側に配置されるかを判断する。例えば図２の場合、判断部３０３は、視点２０４が面オブジェクト２０１（地面）に対して立体オブジェクト２０２と同じ側（すなわち地面の上側）に配置されると判断する。上述のように視点２０４の位置は可変であるので、視点２０４は面オブジェクト２０１に対して立体オブジェクト２０２と異なる側（すなわち地面の下側）に配置される場合もある。判断部３０３は、計算部３０２が計算する所定周期と同じ周期でこの判断を行い、判断結果を生成部３０４に入力する。
なお、ＣＰＵ  １０１が画像処理部１０７と協働して動作することにより、判断部３０３として機能する。
【００４６】
生成部３０４は、面オブジェクト２０１の形状と位置、立体オブジェクト２０２の形状と位置、視点２０４の位置、視線ベクトル２０５が示す視線の方向、計算部３０２により計算された陰影２０６の形状と位置、及び、判断部３０３による判断結果に基づいて、視点２０４の位置から視線ベクトル２０５の方向へこの仮想空間を見た様子を表す画像を生成する。
【００４７】
詳細には、生成部３０４は、（ａ）視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と同じ側に配置されると判断部３０３により判断されると、面オブジェクト２０１と、立体オブジェクト２０２と、光源２０３からの光による立体オブジェクト２０２の陰影２０６とを、視点２０４から視線ベクトル２０５の方向に見た様子を表す画像を生成する。
【００４８】
一方、生成部３０４は、（ｂ）視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と異なる側に配置されると判断部３０３により判断されると、立体オブジェクト２０２と、光源２０３からの光による立体オブジェクト２０２の陰影２０６とを、視点２０４から視線ベクトル２０５の方向に見た様子を表す画像を生成する。
なお、ＣＰＵ  １０１が画像処理部１０７と協働して動作することにより、生成部３０４として機能する。
【００４９】
本実施例では、面オブジェクト２０１は地面であるので、視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と同じ側（地面の上側）に配置されると、生成部３０４は、面オブジェクト２０１に対して異なる側（地面の下側）に配置されるポリゴンを遮蔽した画像を生成する。すなわち、この場合、生成部３０４が生成する画像には地面より上側にある各キャラクタオブジェクト（あるいはその部分）が含まれ、地面の下は見えない。一方、視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と異なる側に配置された状態とは、視点２０４が地面の下に潜った状態であり、現実の世界ではこの位置から各キャラクタオブジェクトを見ることはできない。しかしながら、仮想空間内で現実と同じシミュレーションを行っただけでは、ゲームの演出として十分とは言えないことが多い。そこで、視点２０４が地面の下に潜ることを可能とし、すべての方向から見た仮想画像を生成することによって、より演出効果を高めることができる。本実施例では、生成部３０４は、視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と異なる側に配置される場合（すなわち、視点２０４が地面の下側にある場合）、面オブジェクト２０１の画像を表示しない。そして、生成部３０４は、立体オブジェクト２０２と、光源２０３からの光による立体オブジェクト２０２の陰影２０６とを、視点２０４から視線ベクトル２０５の方向に見た様子を表す画像を生成する。
【００５０】
図４は、仮想空間内に配置された面オブジェクト２０１、立体オブジェクト２０２、光源２０３、及び、視点２０４の位置関係を示した一例である。図４（ａ）と図４（ｃ）は面オブジェクト２０１の真横（面に対して水平方向）から見た図であり、図４（ｂ）と図４（ｄ）は視点２０４から視線ベクトル２０５の方向に見た画像（すなわち生成部３０４が生成した画像）の一例である。
【００５１】
図４（ａ）の場合、視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と同じ側に配置される。生成部３０４は、図４（ｂ）に示すように、面オブジェクト２０１と、立体オブジェクト２０２と、光源２０３からの光による立体オブジェクト２０２の陰影２０６とを、視点２０４から視線ベクトル２０５の方向に見た様子を表す画像を生成する。
【００５２】
一方、図４（ｃ）の場合、視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と異なる側に配置される。生成部３０４は、図４（ｄ）に示すように、立体オブジェクト２０２と、光源２０３からの光による立体オブジェクト２０２の陰影２０６とを、視点２０４から視線ベクトル２０５の方向に見た様子を表す画像を生成する。この場合、面オブジェクト２０１の画像は含まれない。陰影２０６は、面オブジェクト２０１が存在する仮想的な面４０１上に映し出される。ただし、本図に示す面４０１は説明上記載しただけであり、生成部３０４が生成する画像には含まれない。本実施例では面オブジェクト２０１を平面としているため面４０１も平面であるが、面オブジェクト２０１が平面でなければ面４０１も平面ではない。生成部３０４は、面オブジェクト２０１の画像を非表示とすることにより、地面の下から立体オブジェクト２０２などを見た画像を生成することができる。
【００５３】
このように、画像生成装置３００は、視点２０４の位置によって面オブジェクト２０１の画像を表示する／表示しない制御を行うことにより、仮想空間内の全方位から見た画像を違和感なく生成することができる。そして、より臨場感のある演出をすることができる。また、本発明をゲーム装置に適用することにより、ゲームの世界観に合った効果的な演出をすることができる。
【００５４】
また、陰影２０６は、面オブジェクト２０１が存在する仮想的な面４０１上に投影されているので、ユーザは陰影２０６のある位置に面オブジェクト２０１が存在することを容易に知ることができる。さらには、陰影２０６の形状と位置から、ユーザは面オブジェクト２０１の形状と位置を容易に知ることができる。例えば、地面の画像を出力しなくても、陰影２０６の形状と位置から、地面の形状と位置を容易に把握することができる。このように、本発明は、面オブジェクト２０１の画像を表示しないで、面オブジェクト２０１の形状と位置を知らしめる手法としても用いることができる。
【００５５】
なお、面オブジェクト２０１の画像を表示する／表示しない制御を行う代わりに、面オブジェクト２０１の画像を不透明、あるいは、透明にするように制御してもよい。
この場合、生成部３０４は、（ａ）視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と同じ側に配置されると判断部３０３により判断されると、不透明にした面オブジェクト２０１と、立体オブジェクト２０２と、光源２０３からの光による立体オブジェクト２０２の陰影２０６とを、視点２０４から視線ベクトル２０５の方向に見た様子を表す画像を生成する。
一方、生成部３０４は、（ｂ）視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と異なる側に配置されると判断部３０３により判断されると、透明にした面オブジェクト２０１と、立体オブジェクト２０２と、光源２０３からの光による立体オブジェクト２０２の陰影２０６とを、視点２０４から視線ベクトル２０５の方向に見た様子を表す画像を生成する。これにより、面オブジェクト２０１と接触している立体オブジェクト２０２が、宙に浮いてみえるようなことはない。
【００５６】
陰影２０６の表現手法には様々なパターンが考えられる。典型的には、生成部３０４は、面オブジェクト２０１の画像のうち陰影２０６と重なる領域の明度（又は輝度）と彩度の両方又はどちらか片方を相対的に小さくして（暗くして）画像を生成する。あるいは、陰影２０６の占める領域を、黒あるいはグレーの無彩色にしてもよい。面オブジェクト２０１以外のキャラクタオブジェクトに陰影２０６がかかる（影が映る）場合も同様である。
【００５７】
例えば、生成部３０４は、（ａ）視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と同じ側に配置されると判断部３０３により判断されると、面オブジェクト２０１の画像のうち陰影２０６と重なる領域の明度と彩度の両方又はどちらか片方を相対的に小さくして（暗くして）、画像を生成する。これにより陰影２０６を表現する。明度又は彩度を落とす程度は任意であるが、明度や彩度を大きく落とせば陰影２０６は強調される。もしくは、陰影２０６と重なる領域を、黒あるいはグレーの無彩色にしてもよい。
一方、生成部３０４は、（ｂ）視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と異なる側に配置されると判断部３０３により判断されると、面オブジェクト２０１が存在する面４０１のうち陰影２０６と重なる領域を、黒あるいはグレーの無彩色にして、画像を生成する。これにより陰影２０６を表現する。もしくは、面オブジェクト２０１の画像のうち陰影２０６と重なる領域の明度又は彩度の両方又はどちらか片方を相対的に小さくして画像を生成してもよい。
このように陰影２０６の表示方法を視点２０４の位置によって変えることにより、異なる視点２０４から見た画像であることを強調して演出することができる。特に、陰影２０６を無彩色で表すことにより、陰影２０６の形状をはっきりさせることができる。
【００５８】
生成部３０４は、立体オブジェクト２０２の表面のうち地面（面オブジェクト２０１）と接触した領域も陰影２０６に含まれるものとして画像を生成することができる。
【００５９】
（画像生成処理）
次に、画像生成装置３００の記憶部３０１、計算部３０２、判断部３０３、生成部３０４が行う画像生成処理について、図５のフローチャートを用いて説明する。以下の説明では、一例として次のような状況を想定する。すなわち、面オブジェクト２０１は仮想空間内でダンスをするための平面のステージオブジェクト、立体オブジェクト２０２はダンスをするダンサーオブジェクトとする。光源２０３は、ステージオブジェクトより上側にある仮想ライトであるが、本実施例では点光源とする。視点２０４は、このダンスシーンを撮る仮想カメラとし、仮想空間内の任意の位置に移動できる。仮想カメラは、仮想空間内のステージオブジェクトより下側にも移動できる。生成部３０４はこの仮想カメラで視線ベクトル２０５の示す視線の方向に撮影した画像を生成する。生成部３０４は、ゲーム進行に応じて面オブジェクト２０１を表示／非表示させてダンサーオブジェクトやその陰影オブジェクトなどの画像を生成する。本実施例では、画像生成装置３００の各部は垂直同期のタイミングで定期的にこの画像生成処理を行う。ただし、この処理を行うタイミングはこれに限定されない。以下詳述する。
【００６０】
まず、計算部３０２は、面オブジェクト２０１（ステージオブジェクト）と立体オブジェクト２０２（ダンサーオブジェクト）の形状と位置、光源２０３（仮想ライト）の位置、視点２０４（仮想カメラ）の位置、視線ベクトル２０５の示す視線の方向（仮想カメラの向き）を、記憶部３０１から取得する（ステップＳ５０１）。取得されるデータは、垂直同期などの所定周期でＣＰＵ  １０１により計算され更新された最新のデータである。
【００６１】
次に、計算部３０２は、ステップＳ５０１で取得した情報に基づいて、面オブジェクト２０１に投影する立体オブジェクト２０２の陰影２０６（ダンサーオブジェクトの陰影オブジェクト）の形状と位置を計算する（ステップＳ５０２）。
【００６２】
判断部３０３は、ステップＳ５０１で取得した情報のうち、面オブジェクト２０１と立体オブジェクト２０２の形状と位置、及び、視点２０４の位置に基づいて、面オブジェクト２０１に対して視点２０４が立体オブジェクト２０２と同じ側にあるか異なる側にあるかを判断する（ステップＳ５０３）。すなわち、判断部３０３は、仮想カメラがダンサーオブジェクトが立つステージオブジェクトより上にあるか下にあるかを判断する。
【００６３】
視点２０４が立体オブジェクト２０２と同じ側にあると判断された場合（ステップＳ５０３；ＹＥＳ）、すなわち、仮想カメラがステージオブジェクトより上にある場合、生成部３０４は、ステップＳ５０１で取得した情報と、ステップＳ５０２で計算した陰影２０６の形状と位置に基づいて、面オブジェクト２０１と立体オブジェクト２０２と陰影２０６とを、視点２０４から視線ベクトル２０５の向きに見た画像を生成する（ステップＳ５０４）。すなわち、生成部３０４は、ステージオブジェクトと、ステージオブジェクトに立つダンサーオブジェクトと、このダンサーオブジェクトの陰影オブジェクトと、を仮想カメラで撮影した画像を生成する。
【００６４】
一方、視点２０４が立体オブジェクト２０２と異なる側にあると判断された場合（ステップＳ５０３；ＮＯ）、すなわち、仮想カメラがステージオブジェクトより下にある場合、生成部３０４は、ステップＳ５０１で取得した情報と、ステップＳ５０２で計算した陰影２０６の形状と位置に基づいて、立体オブジェクト２０２と陰影２０６とを、視点２０４から視線ベクトル２０５の向きに見た画像を生成する（ステップＳ５０５）。すなわち、生成部３０４は、ステージオブジェクトの上に立つダンサーオブジェクトと、このダンサーオブジェクトの陰影オブジェクトと、を仮想カメラで撮影した画像を生成する。この画像にはステージオブジェクトが含まれない。
【００６５】
このようにしてステップＳ５０４又はＳ５０５で生成部３０４が生成した画像は、画像処理部１０７に接続されるモニターに出力される。
【００６６】
なお、視点２０４が面オブジェクト２０１の存在する平面上に存在する場合、生成部３０４は、ステップＳ５０４の処理を行って直線状に表示される面オブジェクト２０１を含む画像を生成するものとするが、ステップＳ５０５の処理を行って面オブジェクト２０１を含まない画像を生成してもよい。
【００６７】
また、ステップＳ５０３で、生成部３０４は、視点２０４が立体オブジェクト２０２と同じ側にあると判断された場合（ステップＳ５０３；ＹＥＳ）には面オブジェクト２０１を不透明にして、一方、視点２０４が立体オブジェクト２０２と異なる側にあると判断された場合（ステップＳ５０３；ＮＯ）には面オブジェクト２０１を透明にしてもよい。そして、生成部３０４は、不透明あるいは透明にした面オブジェクト２０１と立体オブジェクト２０２と陰影２０６とを、視点２０４から視線ベクトル２０５の向きに見た画像を生成してもよい。
【００６８】
本実施例は、種々の変形及び応用が可能である。
上述した実施例では、光源２０３は点光源であるとしたがこれに限定されない。例えば、光源２０３が立体的あるいは平面的な広がりをもつキャラクタオブジェクト（面光源）であるとしてもよい。この場合、計算部３０２は、光源オブジェクト上のある１点から照射される光によってできる陰影２０６の形状と位置を求め、同様にして光源オブジェクト上のすべての点（あるいは近似的にすべてと見なせる量の点）において陰影２０６の形状と位置を求めて積分する。陰影２０６の領域の各点には陰影の濃さを示す積分量（光量）が対応づけられる。生成部３０４は、光量によって陰影２０６の色彩に濃淡をつけたり、明度と彩度の両方又はどちらか片方を変化させたりして、画像を生成することができる。
【００６９】
計算部３０２は、光源２０３が立体オブジェクト２０２から無限遠に存在し、光源２０３から立体オブジェクト２０２に照射される光線は平行であると近似して、陰影２０６の形状と位置を計算してもよい。例えば、太陽を光源２０３にした場合にこの近似を行うことが望ましい。
【００７０】
光源２０３は仮想空間内に複数個存在していてもよい。この場合、例えば計算部３０２は、各々の光源２０３から照射される光によってできる各々の陰影２０６の形状と位置を求める。計算部３０２は、計算された各々の陰影２０６の形状の論理和を、最終的な陰影２０６の形状とする。そして、生成部３０４は、計算部３０２により計算された最終的な陰影２０６を用いて画像を生成する。あるいは、計算部３０２が各々の陰影２０６を求め、生成部３０４が各々の陰影２０６の重なる程度によって陰影２０６の色彩に濃淡を段階的につけたり、明度と彩度の両方又はどちらか片方を変えたりして、画像を生成してもよい。陰影２０６の形状と位置を求める手法はこれに限定されない。
【００７１】
光源２０３の形状は上述した点光源、面光源に限られない。例えば、光量が円錐形に収束するスポットライトでもよい。この場合、光はその円錐の中心付近で最も明るくなり、端にいくほど減衰して暗くなる。また、例えば、光量が円柱形に収束する円柱光でもよい。この場合、光はその円柱の中心付近で最も明るくなり、端にいくほど暗くなる。生成部３０４は、光量に基づいて、陰影２０６の色彩に濃淡をつけたり、明度と彩度の両方又はどちらか片方を変化させることができる。
【００７２】
上述した実施例では、面オブジェクト２０１を平面であるとしたがこれに限定されない。例えば、表面に凹凸や傾斜のある曲面、あるいは、ポリゴンの集合であってもよい。
【００７３】
上述した実施例では、面オブジェクト２０１が地面であるとしたがこれに限定されない。例えば、水面、海面、屈折率の異なる物質同士の接触面などでもよい。例えば、海中から空に向かって見たときの海面の表現手法に本発明を適用することにより、海面に投影される船などの影によって海面を表現することができる。また、例えば、透明なガラス越しにみた画像の生成手法に本発明を適用することにより、ガラス表面に投影される物の影によってガラス表面を表現することができる。
【００７４】
上述した実施例では、立体オブジェクト２０２の陰影２０６を生成しているがこれに限定されない。例えば、立体オブジェクト２０２は、人物オブジェクトなどの幾つかの平面・曲面で囲まれた３次元キャラクタオブジェクトのほか、平面で表される２次元キャラクタオブジェクトなど任意の形状のキャラクタオブジェクトであってもよい。
【００７５】
応用例の１つとして、生成部３０４は、面オブジェクト２０１あるいは面オブジェクト２０１が存在する面４０１に投影された立体オブジェクト２０２の陰影２０６と、影でない部分との境目付近を、立体オブジェクト２０２の色と陰影２０６の色との中間色を用いて表現することによって、境界線（影の輪郭）をぼやかした画像を生成してもよい。これによって、滑らかな画像にすることができる。
【００７６】
応用例の１つとして、生成部３０４は、視点２０４から視線ベクトル２０５の示す視線の方向にこの仮想空間を眺めた画像を、拡大あるいは縮小した画像を生成してもよい。この場合、例えば、視線ベクトル２０５が単位ベクトルのときを基準値（等倍）として、視線ベクトル２０５の長さを画像の拡大率とする。あるいは、画像の拡大率を示すパラメータを別に設けてもよい。拡大率は、コントローラ１０５を用いてユーザにより設定されてもよいし、ＣＰＵ  １０１がゲームの進行に応じて設定してもよい。そして、生成部３０４は、設定された拡大率に基づいて、拡大あるいは縮小した画像を生成する。これによって、より臨場感のある演出をすることができる。
【００７７】
応用例の１つとして、視点２０４の移動できる範囲や、視線の方向を移動できる範囲を、ゲームの進行に応じて変化させてもよい。例えば、ユーザの獲得ポイント（ゲームスコアなど）が多ければ多いほど、視点２０４の移動できる範囲を広く設定する。例えば、ユーザがより多くのゲームステージをゲームクリアすればするほど、視点２０４の移動できる範囲を広く設定する。例えば、ユーザのプレイ時間が長ければ長いほど、視点２０４の移動できる範囲を広く設定する。ＣＰＵ  １０１は、ユーザの獲得ポイント、ユーザのクリアしたステージ数、ユーザのプレイ時間など、ゲームの進行具合に基づくパラメータを計数してＲＡＭ  １０３に記憶し、このパラメータに基づいて、視点２０４の移動可能範囲及び／又は視線方向の移動可能範囲を設定すればよい。移動可能範囲は、仮想空間内の球体・半球体・立方体などの立体（又は立体の集合）、円・多角形などの平面（又は平面の集合）、線分（又は線分の集合）、点（又は点の集合）など、任意の図形で定義できる。これらの図形の形状は、ユーザのポイント数、ステージ数、プレイ時間などのゲーム進行レベルに対応づけて、予め記憶部３０１が記憶していてもよいし、ゲームの進行具合によってＣＰＵ  １０１がその都度計算して求めてもよい。これによって、画像生成装置３００は、ゲームの進行に合わせてバラエティに富んだ画像を生成して凝った演出をすることができる。
【００７８】
応用例の１つとして、視点２０４の移動する速度を、ゲームの進行に応じて変化させてもよい。ＣＰＵ  １０１は、ユーザの獲得ポイント、ユーザのクリアしたステージ数、ユーザのプレイ時間など、ゲームの進行に基づくパラメータを係数してＲＡＭ  １０３に記憶し、このパラメータに基づいて、視点２０４の移動速度を設定すればよい。移動速度は、ポイント数、ステージ数、プレイ時間などのゲーム進行レベルに対応づけて、予め記憶部３０１が記憶していてもよいし、ゲームの進行具合によってＣＰＵ  １０１がその都度計算して求めてもよい。これによって、画像生成装置３００は、ゲームの進行に合わせてバラエティに富んだ画像を生成して凝った演出をすることができる。
【００７９】
応用例の１つとして、計算部３０２は、光源２０３からの光によってできる陰影２０６のかわりに、面オブジェクト２０１と立体オブジェクト２０２とが接触した領域の形状と位置を求めてもよい。この場合、光源２０３は存在しても存在しなくてもよい。また、判断部３０３と生成部３０４は、面オブジェクト２０１と立体オブジェクト２０２とが接触した領域を、陰影２０６とみなして、上述した処理と同様の処理を行えばよい。
例えば、図６は、面オブジェクト２０１と立体オブジェクト２０２とが接触した領域６０１（図中では６０１ａと６０１ｂと記載）を説明する図である。図６（ａ）は、視点２０４が面オブジェクト２０１に対して立体オブジェクト２０２と同じ側に配置された場合に、生成部３０４が生成した画像の例である。図６（ｂ）は、視点２０４が面オブジェクト２０１に対して異なる側に配置された場合に、生成部３０４が生成した画像の例である。この例では、ダンサーオブジェクト（立体オブジェクト２０２）はステージオブジェクト（面オブジェクト２０１）の上に立っている。面オブジェクト２０１と立体オブジェクト２０２とが接触した領域６０１は、ダンサーオブジェクトの足裏に相当する。計算部３０２は、これらの領域６０１ａ及び６０１ｂを陰影２０６とみなして（あるいは陰影２０６に代替して）陰影２０６の形状と位置を計算する。そして、生成部３０４は、上述の処理と同様にして、計算された陰影２０６（接触した領域６０１）を含む画像を生成する。陰影２０６が、接触した領域６０１を含むとしてもよい。
これにより、複数のキャラクタオブジェクトが接触する領域を示す画像を生成する手法として、本発明を用いることができる。例えば、ダンサーオブジェクトの足裏の形状を更に細かく表現した画像を生成することもできる。
【００８０】
（実施例２）
次に、本発明の他の実施例について説明する。上述した実施例では、第１のオブジェクトを面、第２のオブジェクトを立体としたが、本実施例では第１と第２のオブジェクトはそれぞれ面でも立体でもよい点が異なる。すなわち、第１と第２のオブジェクト両方が立体でもよいし、両方が面でもよいし、第１のオブジェクトが立体で第２のオブジェクトが面でもよい。判断部３０３は、視点２０４と、第１と第２のオブジェクトとの距離などに基づいて、視点２０４が第１のオブジェクトに対して第２のオブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する。なお、その他の構成は上述の実施例と同様であるので、重複する部分の説明は省略する。以下詳述する。
【００８１】
判断部３０３は、視点２０４と第１のオブジェクトとの距離Ｄ１と、視点２０４と第２のオブジェクトとの距離Ｄ２とを求める。言い換えれば、判断部３０３は、視点２０４と第１のオブジェクトの代表点（重心など）とを結ぶ第１ベクトルＶ１の長さ（すなわち距離Ｄ１）と、視点２０４と第２のオブジェクトの代表点とを結ぶ第２ベクトルＶ２の長さ（すなわち距離Ｄ２）とを求める。そして、Ｄ１＜Ｄ２の場合、判断部３０３は、視点２０４が第１のオブジェクトに対して第２のオブジェクトと同じ側に配置されると判断する。一方、Ｄ１＞Ｄ２の場合、判断部３０３は、視点２０４が第１のオブジェクトに対して第２のオブジェクトと異なる側に配置されると判断する。なお、Ｄ１＝Ｄ２の場合、判断部３０３はどちらに判断してもよいが、本実施例では同じ側に配置されると判断することとする。記憶部３０１、計算部３０２、生成部３０４が行う処理は上述の実施例と同様なので説明を省略する。
【００８２】
本実施例では、判断部３０３は、上記の判断手法と異なる他の手法で判断することもできる。例えば、第１ベクトルＶ１と、第２ベクトルから第１ベクトルを引いた第３ベクトル（Ｖ２−Ｖ１）とのなす角θが９０°以下の場合、判断部３０３は、視点２０４が第１のオブジェクトに対して第２のオブジェクトと同じ側に配置されると判断してもよい。一方、角θが９０°未満の場合、判断部３０３は、視点２０４が第１のオブジェクトに対して第２のオブジェクトと異なる側に配置されると判断してもよい。
【００８３】
本実施例は、同じ仮想空間内に複数のオブジェクトが存在し、これらのオブジェクト同士の位置関係によらず、特定のオブジェクトを仮想空間内のどの位置からも表示するように制御したい場合に特に有効である。すなわち、仮想空間内のオブジェクトに、表示する優先順位を設定し、優先順位の高いオブジェクトは優先順位の低いオブジェクトより優先して表示することができる。視点２０４と第１・第２オブジェクトとの位置関係によって、視点２０４から、優先順位の高いオブジェクトが優先順位の低いオブジェクトに隠れてしまう可能性がある。そこで、（ａ）視点２０４が第１のオブジェクトに対して第２のオブジェクトと同じ側に配置される場合、すなわち、優先順位の高いオブジェクトが隠れることはない位置関係の場合、生成部３０４は、第１のオブジェクトと第２のオブジェクトとを見た様子を表す画像を生成する。一方、（ｂ）視点２０４が第１のオブジェクトに対して第２のオブジェクトと異なる側に配置される場合、すなわち、優先順位の高いオブジェクトが優先順位の低いオブジェクトに隠れてしまう位置関係の場合、生成部３０４は、第２のオブジェクトを見た様子を表す画像を生成する。この場合、生成部３０４が生成する画像には、優先順位の低いオブジェクトが含まれない。
このように、本実施例によれば、画像生成装置３００は、オブジェクトの形状に関わらず、全方位からオブジェクトを見た画像を生成することができる。
【００８４】
なお、本実施例においても、生成部は、判断部により視点２０４が第１のオブジェクトに対して第２のオブジェクトと（ａ）同じ側に配置されると判断された場合、第１のオブジェクトを不透明とし、（ｂ）異なる側に配置されると判断された場合、第１のオブジェクトを透明として、第１のオブジェクトと第２のオブジェクトとを見た様子を表す画像を生成するように構成してもよい。また、計算部３０２が、光源２０３からの光により第２のオブジェクトが第１のオブジェクトの表面に投射する陰影２０６の形状と位置を求めて、生成部３０４が、陰影２０６を含む画像を生成するように構成してもよい。
【００８５】
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。また、上述した実施例の各構成要素を自由に組み合わせることも可能である。
【００８６】
画像生成装置３００を装置の全部又は一部として動作させるためのプログラムを、メモリカード、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ（Magneto Optical disk）などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【００８７】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【００８８】
以上説明したように、本発明によれば、仮想空間内の全方位からオブジェクトを見た画像を生成するために好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００８９】
【図１】本発明の画像生成装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図２】面オブジェクト、立体オブジェクト、光源、視点、視線ベクトル及び陰影を説明するための概念図である。
【図３】画像生成装置の構成を説明するための図である。
【図４】（ａ）視点が面オブジェクトに対して立体オブジェクトと同じ側に配置された例の図である。（ｂ）生成部が生成した画像の例である。（ｃ）視点が面オブジェクトに対して立体オブジェクトと異なる側に配置された例の図である。（ｄ）生成部が生成した画像の例である。
【図５】画像生成処理を説明するためのフローチャートである。
【図６】（ａ）及び（ｂ）は、面オブジェクトと立体オブジェクトとが接触した領域を示す例の図である。
【符号の説明】
【００９０】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェイス
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２０１  面オブジェクト
２０２  立体オブジェクト
２０３  光源
２０４  視点
２０５  視線ベクトル
２０６  陰影
３００  画像生成装置
３０１  記憶部
３０２  計算部
３０３  判断部
３０４  生成部
４０１  面オブジェクトの存在する面
６０１  面オブジェクトと立体オブジェクトとが接触した領域
【図１】
2008027050.tif 000003
【図２】
2008027050.tif 000004
【図３】
2008027050.tif 000005
【図４】
2008027050.tif 000006
【図５】
2008027050.tif 000007
【図６】
2008027050.tif 000008