説明

画像生成装置、画像生成方法、ならびに、プログラム

【課題】仮想空間内の全方位からオブジェクトを見た画像を生成する。
【解決手段】画像生成装置300において、記憶部301は仮想空間内の面オブジェクト、立体オブジェクト、光源、視点、視線方向の情報を記憶する。計算部301は光源からの光によって面オブジェクトに投影される立体オブジェクトの陰影の形状と位置を計算する。判断部303は視点が面オブジェクトに対して立体オブジェクトと同じ側にあるか異なる側にあるかを判断する。同じ側にある場合、生成部304は面オブジェクト、立体オブジェクト及びその陰影を含む画像を生成する。異なる側にある場合、生成部304は立体オブジェクト及びその陰影を含む画像を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、仮想空間内の全方位から見える画像を生成するために好適な画像生成装置、画像生成方法、ならびに、プログラムに関する。
【背景技術】
【0002】
従来から、コンピュータグラフィックスの分野や各種のゲーム装置における処理においては、3次元グラフィックスの技術が利用されている。このような3次元グラフィックスの技術では、仮想的な3次元空間の中に描画対象となるオブジェクトを配置する。オブジェクトの表面は多面体で表現されており、多面体の角面は多角形(ポリゴン)となっている。このような3次元グラフィックスの技術については、以下の文献に開示がある。
【特許文献1】特許第3490983号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1のような従来技術によれば、例えば、仮想空間内の地面の上に配置されたオブジェクトに、仮想空間内の光源から光を照射して、仮想空間内の視点から見た画像を生成できる。しかしながら、仮想空間内の視点の位置が地面より下に移動すると、本来見えないはずのポリゴンの裏側が見えてしまい不自然な画像になってしまう。そのため、視点の位置が地面より下に行かないように制御したり、不自然さをなくすために背景を写さない等の別な演出をしたりしなければならなかった。一方で、仮想空間内のあらゆる位置に視点を動かして画像を表示してゲームを演出できるようにすることが望まれているが、現実の世界で見えると予想される画像を表示するだけではゲームの世界観を十分に演出できなかった。
【0004】
本発明は、このような課題を解決するものであり、仮想空間内の全方位からオブジェクトを見た画像を生成するために好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0006】
本発明の第1の観点に係る画像生成装置は、記憶部、判断部、生成部を備える。
記憶部は、仮想空間内に配置される第1オブジェクトの位置、第2オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する。
判断部は、当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置の情報から、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する。
生成部は、当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へこの仮想空間を見た様子を表す画像を生成する。
さらに、生成部は、判断部により、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと
(a)同じ側に配置されると判断された場合、当該第1オブジェクトと、当該第2オブジェクトと、を見た様子を表す画像を生成し、
(b)異なる側に配置されると判断された場合、当該第2オブジェクトを見た様子を表す画像を生成する。
この結果、画像生成装置は、仮想空間内のキャラクタオブジェクトを全方向から見た画像を生成することができる。また、全方向から画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。
【0007】
当該第1オブジェクトは面オブジェクトであり、当該第2オブジェクトは立体オブジェクトであり、
記憶部は、当該面オブジェクトの形状と、当該立体オブジェクトの形状とを更に記憶し、
判断部は、当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該視点の位置の情報から、当該視点が、当該面オブジェクトに対して、当該立体オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断し、
生成部は、当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成してもよい。
【0008】
記憶部は、当該面オブジェクトに対して当該立体オブジェクトと同じ側に配置される光源の位置を更に記憶し、
当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該光源の情報から、当該仮想空間において当該光源により当該立体オブジェクトが当該面オブジェクトに投射する当該陰影の形状および位置を計算する計算部を更に備え、
生成部は、計算部により計算された当該陰影の形状及び位置に基づいて、判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
(a)同じ側に配置されると判断された場合、当該面オブジェクトと、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成し、
(b)異なる側に配置されると判断された場合、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成してもよい。
この結果、画像生成装置は、全方向から陰影を含む画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。また、面オブジェクトを表示しなくても、陰影を使って面オブジェクトの形状と位置を効果的にユーザに知らしめることができる。
【0009】
生成部は、判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
(a)同じ側に配置されると判断された場合、当該面オブジェクトを不透明とし、
(b)異なる側に配置されると判断された場合、当該面オブジェクトを透明として、
当該面オブジェクトと、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成してもよい。
この結果、画像生成装置は、仮想空間内のキャラクタオブジェクトを全方向から見た画像を生成することができる。また、全方向から画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。
【0010】
生成部は、当該面オブジェクトのうち当該陰影の占める領域の画像の明度と彩度の両方又はどちらか片方を減衰させるか、あるいは、当該面オブジェクトのうち当該陰影の占める領域の画像を無彩色にして、画像を生成することができる。
この結果、画像生成装置は、陰影の形状と位置を強調した画像の生成が可能になる。例えば、陰影部分を暗くしたり、黒やグレーといった無彩色にしたりして、臨場感のある画像を生成することができる。
【0011】
生成部は、判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
(x)同じ側に配置されると判断された場合、当該面オブジェクトのうち当該陰影の占める領域の画像の明度と彩度の両方又はどちらか片方を減衰させて、
(y)異なる側に配置されると判断された場合、当該面オブジェクトのうち当該陰影の占める領域の画像を無彩色にして、
画像を生成することができる。
この結果、画像生成装置は、視点の位置によって陰影の演出を変えることができる。
【0012】
この画像生成装置は仮想空間内でゲームをプレイするためのゲーム装置であり、
当該視点と当該視線の方向の両方又はどちらか片方が移動可能な範囲を設定する設定部を更に備え、当該移動可能な範囲は、このゲーム装置のユーザのゲーム進行レベルに基づいて設定されてもよい。
この結果、画像生成装置は、ゲームの進行に合わせて視点や視線方向を移動して画像を生成することができる。例えば、ユーザの獲得ポイント、ユーザのクリアしたステージ数、ユーザのプレイ時間などによって、視点や視線方向を動かして、ゲームを演出することができる。
【0013】
計算部は、当該陰影の形状および位置の代わりに、もしくは、当該陰影の形状および位置に加えて、当該面オブジェクトと当該立体オブジェクトとが接触する領域の形状および位置を計算し、
生成部は、当該陰影の代わりに、もしくは、当該陰影に加えて、当該面オブジェクトと当該立体オブジェクトとが接触する領域を含む画像を生成してもよい。
この結果、画像生成装置は、キャラクタオブジェクト同士の接触する領域を示す画像を生成することができる。
【0014】
本発明のその他の観点に係る画像生成方法は、記憶部、判断部、生成部を有する画像生成装置にて実行される画像生成方法であって、判断ステップ、生成ステップを備える。
記憶部は、仮想空間内に配置される第1オブジェクトの位置、第2オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する。
判断ステップは、判断部が、当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置の情報から、当該視点が、当該第1オブジェクトに対して、当該第2オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する。
生成ステップは、生成部が、当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へこの仮想空間を見た様子を表す画像を生成する。
さらに、生成ステップは、判断ステップにより、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと
(a)同じ側に配置されると判断された場合、生成部が、当該第1オブジェクトと、当該第2オブジェクトと、を見た様子を表す画像を生成し、
(b)異なる側に配置されると判断された場合、生成部が、当該第2オブジェクトを見た様子を表す画像を生成する。
この結果、この画像生成方法を用いた画像生成装置は、仮想空間内のキャラクタオブジェクトを全方向から見た画像を生成することができる。また、全方向から画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。
【0015】
本発明のその他の観点に係るプログラムは、コンピュータを、記憶部、判断部、生成部として機能させる。
記憶部は、仮想空間内に配置される第1オブジェクトの位置、第2オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する。
判断部は、当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置の情報から、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する。
生成部は、当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へこの仮想空間を見た様子を表す画像を生成する。
さらに、生成部は、判断部により、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと
(a)同じ側に配置されると判断された場合、当該第1オブジェクトと、当該第2オブジェクトと、を見た様子を表す画像を生成し、
(b)異なる側に配置されると判断された場合、当該第2オブジェクトを見た様子を表す画像を生成する。
この結果、プログラムは、コンピュータを、仮想空間内のキャラクタオブジェクトを全方向から見た画像を生成する画像生成装置として機能させることができる。また、全方向から画像を生成することにより、より臨場感のある演出を違和感なく行うことができる。
【0016】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0017】
本発明によれば、仮想空間内の全方位からオブジェクトを見た画像を生成するために好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することができる。
【発明を実施するための最良の形態】
【0018】
(実施例1)
以下に本発明の実施例を説明する。本発明の理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施例を説明するが、以下に説明する実施例は説明のためのものであり、本発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【0019】
図1は、プログラムを実行することにより、本発明の画像生成装置の機能を果たす典型的な情報処理装置100の概要構成を示す模式図である。以下、本図を参照して説明する。
【0020】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、インターフェイス104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disk - Read Only Memory)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、を備える。
【0021】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施例の画像生成装置が実現される。
【0022】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0023】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0024】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【0025】
インターフェイス104を介して接続されたコントローラ105は、ユーザが麻雀ゲームやトランプゲームなどのゲーム実行の際に行う操作入力を受け付ける。
【0026】
インターフェイス104を介して着脱自在に接続された外部メモリ106には、麻雀ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106に記録することができる。
【0027】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0028】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0029】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やアルファブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0030】
また、仮想3次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想3次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0031】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0032】
また、麻雀ゲームの牌の画像やトランプゲームのカードの画像などの情報をDVD−ROMに用意しておき、これをフレームメモリに展開することによって、現在の手牌や手札を画面に表示することができるようになる。
【0033】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0034】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0035】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM(Adaptive Differential Pulse Code Modulation)形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0036】
このほか、情報処理装置100は、ハードディスク等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0037】
次に、本実施例で取り扱う仮想空間について図2を用いて説明する。
本図に示すように、仮想空間内には、第1のオブジェクトである面オブジェクト201と、第2のオブジェクトである立体オブジェクト202とを含むキャラクタオブジェクトが配置される。
面オブジェクト201とは、具体的には、仮想空間内の地面オブジェクトなどである。本実施例では、本発明を理解しやすいように面オブジェクト201の形状が平面であるとするが、面オブジェクト201の形状は平面に限られず曲面であってもよい。面オブジェクト201は仮想空間内に複数存在していてもよい。
立体オブジェクト202とは、具体的には、仮想空間内に存在する人物や物などを表すキャラクタオブジェクトである。立体オブジェクト202は仮想空間内に複数存在していてもよい。
さらに仮想空間内には光源203と視点204が配置される。光源203は、面オブジェクト201や立体オブジェクト202に仮想的な光を照射する。本実施例では、光源203の形状は点であるとする。光源203から照射される光の色は任意に設定できる。点光源である光源203は仮想空間内の全方向に同じ強さの光を出す。画像生成装置300は、仮想空間内に配置された視点204から視線ベクトル205で示す視線の方向に見える、面オブジェクト201や立体オブジェクト202などの様々なキャラクタオブジェクトを配置した画像を生成する。この画像には、光源203から照射された光によって面オブジェクト201の表面に投影される立体オブジェクト202の陰影206も含まれる。
なお、この仮想空間内に、光源203と、光源203から照射された光によって投影される陰影206とが含まれない構成を採用してもよい。
【0038】
次に、本実施例の画像生成装置300が行う処理について図面を用いて説明する。
【0039】
図3は、本実施例の画像生成装置300の構成を示す図である。画像生成装置300は、記憶部301、計算部302、判断部303、及び、生成部304を備える。
【0040】
記憶部301は、(1)仮想空間内に配置される面オブジェクト201の形状および位置、(2)立体オブジェクト202の形状および位置、(3)面オブジェクト201に対して立体オブジェクト202と同じ側に配置される光源203の位置、(4)視点204の位置、(5)視線の方向、のそれぞれの情報を記憶する。
【0041】
面オブジェクト201及び立体オブジェクト202の形状は、表面を微小な多角形(典型的には三角形や四角形など)のポリゴンに分割して数値データ化されて表される。各キャラクタオブジェクトの位置は、互いに直交する3軸による直交座標系を用いて、各キャラクタオブジェクト内の代表点の座標(x,y,z)で表される。座標系の原点は任意に設定してよい。代表点の選び方は任意であるが、例えば、各キャラクタオブジェクトの重心点を用いることができる。座標系はこれに限られるものではなく、例えば1個の動径と2個の偏角を用いた球座標のような極座標系を用いてもよい。また、仮想空間の全体を表現するグローバル座標系(ワールド座標系)と、キャラクタオブジェクトごとのローカル座標系(ボディ座標系)とを別々に設定して座標計算等を行う構成を採用してもよい。
【0042】
光源203と視点204の位置は、各キャラクタオブジェクトの位置と同様に、直交座標系を用いた座標で表される。各キャラクタオブジェクトと同様に、用いる座標系はこれに限定されない。視線の方向は、視点204を基点とした方向ベクトルである視線ベクトル205で表される。視線ベクトル205の長さは任意であるが、典型的には単位ベクトルとする。
【0043】
これらの情報の初期値は、DVD−ROMドライブ108に装着されるDVD−ROMに予め記憶されており、CPU 101の制御により随時RAM 103の所定記憶領域に読み出される。面オブジェクト201と立体オブジェクト202の形状や、面オブジェクト201、立体オブジェクト202、光源203、視点204のそれぞれの位置は可変であり、ユーザがコントローラ105を使ってこれらの位置を変える指示入力を行ったり、ゲームの進行・演出に合わせてCPU 101が適宜計算したりすることができる。また、視線ベクトル205の向き、大きさも可変である。CPU 101は、指示入力により指示された位置の座標、あるいは、計算した形状と位置を示す情報で、RAM 103の所定記憶領域に記憶した、上述の(1)乃至(5)に示す各データを随時更新する。例えば、CPU 101は垂直同期のタイミングでこれらのデータを計算して更新する。これにより、記憶部301には最新のデータが記憶される。
なお、CPU 101、RAM 103、DVD−ROMドライブ108が協働して動作することにより、記憶部301として機能する。
【0044】
計算部302は、面オブジェクト201の形状と位置、立体オブジェクト202の形状と位置、及び、光源203の位置から、この仮想空間において光源203からの光により立体オブジェクト202が面オブジェクト201に投射する陰影206の形状と位置を計算する。すなわち、計算部302はレンダリングを行う。立体オブジェクト202の形状と位置が変わると、それに伴って陰影206の形状と位置も変わる。また、光源203と視点204の位置、あるいは、視線ベクトル205の向きが変わると、それに伴って陰影206の形状と位置も変わる。計算部302は、所定周期(典型的には垂直同期の周期)でこの陰影206の形状と位置を計算する。レンダリングを行う手法は、本発明によって限定されない。
なお、CPU 101が画像処理部107と協働して動作することにより、計算部302として機能する。また、この仮想空間内に光源203と陰影206とを含まない構成を採用した場合には、画像生成装置300は計算部302を備えなくてもよい。
【0045】
判断部303は、面オブジェクト201の形状と位置、立体オブジェクト202の形状と位置、及び、視点204の位置から、視点204が面オブジェクト201に対して立体オブジェクト202と同じ側に配置されるか異なる側に配置されるかを判断する。例えば図2の場合、判断部303は、視点204が面オブジェクト201(地面)に対して立体オブジェクト202と同じ側(すなわち地面の上側)に配置されると判断する。上述のように視点204の位置は可変であるので、視点204は面オブジェクト201に対して立体オブジェクト202と異なる側(すなわち地面の下側)に配置される場合もある。判断部303は、計算部302が計算する所定周期と同じ周期でこの判断を行い、判断結果を生成部304に入力する。
なお、CPU 101が画像処理部107と協働して動作することにより、判断部303として機能する。
【0046】
生成部304は、面オブジェクト201の形状と位置、立体オブジェクト202の形状と位置、視点204の位置、視線ベクトル205が示す視線の方向、計算部302により計算された陰影206の形状と位置、及び、判断部303による判断結果に基づいて、視点204の位置から視線ベクトル205の方向へこの仮想空間を見た様子を表す画像を生成する。
【0047】
詳細には、生成部304は、(a)視点204が面オブジェクト201に対して立体オブジェクト202と同じ側に配置されると判断部303により判断されると、面オブジェクト201と、立体オブジェクト202と、光源203からの光による立体オブジェクト202の陰影206とを、視点204から視線ベクトル205の方向に見た様子を表す画像を生成する。
【0048】
一方、生成部304は、(b)視点204が面オブジェクト201に対して立体オブジェクト202と異なる側に配置されると判断部303により判断されると、立体オブジェクト202と、光源203からの光による立体オブジェクト202の陰影206とを、視点204から視線ベクトル205の方向に見た様子を表す画像を生成する。
なお、CPU 101が画像処理部107と協働して動作することにより、生成部304として機能する。
【0049】
本実施例では、面オブジェクト201は地面であるので、視点204が面オブジェクト201に対して立体オブジェクト202と同じ側(地面の上側)に配置されると、生成部304は、面オブジェクト201に対して異なる側(地面の下側)に配置されるポリゴンを遮蔽した画像を生成する。すなわち、この場合、生成部304が生成する画像には地面より上側にある各キャラクタオブジェクト(あるいはその部分)が含まれ、地面の下は見えない。一方、視点204が面オブジェクト201に対して立体オブジェクト202と異なる側に配置された状態とは、視点204が地面の下に潜った状態であり、現実の世界ではこの位置から各キャラクタオブジェクトを見ることはできない。しかしながら、仮想空間内で現実と同じシミュレーションを行っただけでは、ゲームの演出として十分とは言えないことが多い。そこで、視点204が地面の下に潜ることを可能とし、すべての方向から見た仮想画像を生成することによって、より演出効果を高めることができる。本実施例では、生成部304は、視点204が面オブジェクト201に対して立体オブジェクト202と異なる側に配置される場合(すなわち、視点204が地面の下側にある場合)、面オブジェクト201の画像を表示しない。そして、生成部304は、立体オブジェクト202と、光源203からの光による立体オブジェクト202の陰影206とを、視点204から視線ベクトル205の方向に見た様子を表す画像を生成する。
【0050】
図4は、仮想空間内に配置された面オブジェクト201、立体オブジェクト202、光源203、及び、視点204の位置関係を示した一例である。図4(a)と図4(c)は面オブジェクト201の真横(面に対して水平方向)から見た図であり、図4(b)と図4(d)は視点204から視線ベクトル205の方向に見た画像(すなわち生成部304が生成した画像)の一例である。
【0051】
図4(a)の場合、視点204が面オブジェクト201に対して立体オブジェクト202と同じ側に配置される。生成部304は、図4(b)に示すように、面オブジェクト201と、立体オブジェクト202と、光源203からの光による立体オブジェクト202の陰影206とを、視点204から視線ベクトル205の方向に見た様子を表す画像を生成する。
【0052】
一方、図4(c)の場合、視点204が面オブジェクト201に対して立体オブジェクト202と異なる側に配置される。生成部304は、図4(d)に示すように、立体オブジェクト202と、光源203からの光による立体オブジェクト202の陰影206とを、視点204から視線ベクトル205の方向に見た様子を表す画像を生成する。この場合、面オブジェクト201の画像は含まれない。陰影206は、面オブジェクト201が存在する仮想的な面401上に映し出される。ただし、本図に示す面401は説明上記載しただけであり、生成部304が生成する画像には含まれない。本実施例では面オブジェクト201を平面としているため面401も平面であるが、面オブジェクト201が平面でなければ面401も平面ではない。生成部304は、面オブジェクト201の画像を非表示とすることにより、地面の下から立体オブジェクト202などを見た画像を生成することができる。
【0053】
このように、画像生成装置300は、視点204の位置によって面オブジェクト201の画像を表示する/表示しない制御を行うことにより、仮想空間内の全方位から見た画像を違和感なく生成することができる。そして、より臨場感のある演出をすることができる。また、本発明をゲーム装置に適用することにより、ゲームの世界観に合った効果的な演出をすることができる。
【0054】
また、陰影206は、面オブジェクト201が存在する仮想的な面401上に投影されているので、ユーザは陰影206のある位置に面オブジェクト201が存在することを容易に知ることができる。さらには、陰影206の形状と位置から、ユーザは面オブジェクト201の形状と位置を容易に知ることができる。例えば、地面の画像を出力しなくても、陰影206の形状と位置から、地面の形状と位置を容易に把握することができる。このように、本発明は、面オブジェクト201の画像を表示しないで、面オブジェクト201の形状と位置を知らしめる手法としても用いることができる。
【0055】
なお、面オブジェクト201の画像を表示する/表示しない制御を行う代わりに、面オブジェクト201の画像を不透明、あるいは、透明にするように制御してもよい。
この場合、生成部304は、(a)視点204が面オブジェクト201に対して立体オブジェクト202と同じ側に配置されると判断部303により判断されると、不透明にした面オブジェクト201と、立体オブジェクト202と、光源203からの光による立体オブジェクト202の陰影206とを、視点204から視線ベクトル205の方向に見た様子を表す画像を生成する。
一方、生成部304は、(b)視点204が面オブジェクト201に対して立体オブジェクト202と異なる側に配置されると判断部303により判断されると、透明にした面オブジェクト201と、立体オブジェクト202と、光源203からの光による立体オブジェクト202の陰影206とを、視点204から視線ベクトル205の方向に見た様子を表す画像を生成する。これにより、面オブジェクト201と接触している立体オブジェクト202が、宙に浮いてみえるようなことはない。
【0056】
陰影206の表現手法には様々なパターンが考えられる。典型的には、生成部304は、面オブジェクト201の画像のうち陰影206と重なる領域の明度(又は輝度)と彩度の両方又はどちらか片方を相対的に小さくして(暗くして)画像を生成する。あるいは、陰影206の占める領域を、黒あるいはグレーの無彩色にしてもよい。面オブジェクト201以外のキャラクタオブジェクトに陰影206がかかる(影が映る)場合も同様である。
【0057】
例えば、生成部304は、(a)視点204が面オブジェクト201に対して立体オブジェクト202と同じ側に配置されると判断部303により判断されると、面オブジェクト201の画像のうち陰影206と重なる領域の明度と彩度の両方又はどちらか片方を相対的に小さくして(暗くして)、画像を生成する。これにより陰影206を表現する。明度又は彩度を落とす程度は任意であるが、明度や彩度を大きく落とせば陰影206は強調される。もしくは、陰影206と重なる領域を、黒あるいはグレーの無彩色にしてもよい。
一方、生成部304は、(b)視点204が面オブジェクト201に対して立体オブジェクト202と異なる側に配置されると判断部303により判断されると、面オブジェクト201が存在する面401のうち陰影206と重なる領域を、黒あるいはグレーの無彩色にして、画像を生成する。これにより陰影206を表現する。もしくは、面オブジェクト201の画像のうち陰影206と重なる領域の明度又は彩度の両方又はどちらか片方を相対的に小さくして画像を生成してもよい。
このように陰影206の表示方法を視点204の位置によって変えることにより、異なる視点204から見た画像であることを強調して演出することができる。特に、陰影206を無彩色で表すことにより、陰影206の形状をはっきりさせることができる。
【0058】
生成部304は、立体オブジェクト202の表面のうち地面(面オブジェクト201)と接触した領域も陰影206に含まれるものとして画像を生成することができる。
【0059】
(画像生成処理)
次に、画像生成装置300の記憶部301、計算部302、判断部303、生成部304が行う画像生成処理について、図5のフローチャートを用いて説明する。以下の説明では、一例として次のような状況を想定する。すなわち、面オブジェクト201は仮想空間内でダンスをするための平面のステージオブジェクト、立体オブジェクト202はダンスをするダンサーオブジェクトとする。光源203は、ステージオブジェクトより上側にある仮想ライトであるが、本実施例では点光源とする。視点204は、このダンスシーンを撮る仮想カメラとし、仮想空間内の任意の位置に移動できる。仮想カメラは、仮想空間内のステージオブジェクトより下側にも移動できる。生成部304はこの仮想カメラで視線ベクトル205の示す視線の方向に撮影した画像を生成する。生成部304は、ゲーム進行に応じて面オブジェクト201を表示/非表示させてダンサーオブジェクトやその陰影オブジェクトなどの画像を生成する。本実施例では、画像生成装置300の各部は垂直同期のタイミングで定期的にこの画像生成処理を行う。ただし、この処理を行うタイミングはこれに限定されない。以下詳述する。
【0060】
まず、計算部302は、面オブジェクト201(ステージオブジェクト)と立体オブジェクト202(ダンサーオブジェクト)の形状と位置、光源203(仮想ライト)の位置、視点204(仮想カメラ)の位置、視線ベクトル205の示す視線の方向(仮想カメラの向き)を、記憶部301から取得する(ステップS501)。取得されるデータは、垂直同期などの所定周期でCPU 101により計算され更新された最新のデータである。
【0061】
次に、計算部302は、ステップS501で取得した情報に基づいて、面オブジェクト201に投影する立体オブジェクト202の陰影206(ダンサーオブジェクトの陰影オブジェクト)の形状と位置を計算する(ステップS502)。
【0062】
判断部303は、ステップS501で取得した情報のうち、面オブジェクト201と立体オブジェクト202の形状と位置、及び、視点204の位置に基づいて、面オブジェクト201に対して視点204が立体オブジェクト202と同じ側にあるか異なる側にあるかを判断する(ステップS503)。すなわち、判断部303は、仮想カメラがダンサーオブジェクトが立つステージオブジェクトより上にあるか下にあるかを判断する。
【0063】
視点204が立体オブジェクト202と同じ側にあると判断された場合(ステップS503;YES)、すなわち、仮想カメラがステージオブジェクトより上にある場合、生成部304は、ステップS501で取得した情報と、ステップS502で計算した陰影206の形状と位置に基づいて、面オブジェクト201と立体オブジェクト202と陰影206とを、視点204から視線ベクトル205の向きに見た画像を生成する(ステップS504)。すなわち、生成部304は、ステージオブジェクトと、ステージオブジェクトに立つダンサーオブジェクトと、このダンサーオブジェクトの陰影オブジェクトと、を仮想カメラで撮影した画像を生成する。
【0064】
一方、視点204が立体オブジェクト202と異なる側にあると判断された場合(ステップS503;NO)、すなわち、仮想カメラがステージオブジェクトより下にある場合、生成部304は、ステップS501で取得した情報と、ステップS502で計算した陰影206の形状と位置に基づいて、立体オブジェクト202と陰影206とを、視点204から視線ベクトル205の向きに見た画像を生成する(ステップS505)。すなわち、生成部304は、ステージオブジェクトの上に立つダンサーオブジェクトと、このダンサーオブジェクトの陰影オブジェクトと、を仮想カメラで撮影した画像を生成する。この画像にはステージオブジェクトが含まれない。
【0065】
このようにしてステップS504又はS505で生成部304が生成した画像は、画像処理部107に接続されるモニターに出力される。
【0066】
なお、視点204が面オブジェクト201の存在する平面上に存在する場合、生成部304は、ステップS504の処理を行って直線状に表示される面オブジェクト201を含む画像を生成するものとするが、ステップS505の処理を行って面オブジェクト201を含まない画像を生成してもよい。
【0067】
また、ステップS503で、生成部304は、視点204が立体オブジェクト202と同じ側にあると判断された場合(ステップS503;YES)には面オブジェクト201を不透明にして、一方、視点204が立体オブジェクト202と異なる側にあると判断された場合(ステップS503;NO)には面オブジェクト201を透明にしてもよい。そして、生成部304は、不透明あるいは透明にした面オブジェクト201と立体オブジェクト202と陰影206とを、視点204から視線ベクトル205の向きに見た画像を生成してもよい。
【0068】
本実施例は、種々の変形及び応用が可能である。
上述した実施例では、光源203は点光源であるとしたがこれに限定されない。例えば、光源203が立体的あるいは平面的な広がりをもつキャラクタオブジェクト(面光源)であるとしてもよい。この場合、計算部302は、光源オブジェクト上のある1点から照射される光によってできる陰影206の形状と位置を求め、同様にして光源オブジェクト上のすべての点(あるいは近似的にすべてと見なせる量の点)において陰影206の形状と位置を求めて積分する。陰影206の領域の各点には陰影の濃さを示す積分量(光量)が対応づけられる。生成部304は、光量によって陰影206の色彩に濃淡をつけたり、明度と彩度の両方又はどちらか片方を変化させたりして、画像を生成することができる。
【0069】
計算部302は、光源203が立体オブジェクト202から無限遠に存在し、光源203から立体オブジェクト202に照射される光線は平行であると近似して、陰影206の形状と位置を計算してもよい。例えば、太陽を光源203にした場合にこの近似を行うことが望ましい。
【0070】
光源203は仮想空間内に複数個存在していてもよい。この場合、例えば計算部302は、各々の光源203から照射される光によってできる各々の陰影206の形状と位置を求める。計算部302は、計算された各々の陰影206の形状の論理和を、最終的な陰影206の形状とする。そして、生成部304は、計算部302により計算された最終的な陰影206を用いて画像を生成する。あるいは、計算部302が各々の陰影206を求め、生成部304が各々の陰影206の重なる程度によって陰影206の色彩に濃淡を段階的につけたり、明度と彩度の両方又はどちらか片方を変えたりして、画像を生成してもよい。陰影206の形状と位置を求める手法はこれに限定されない。
【0071】
光源203の形状は上述した点光源、面光源に限られない。例えば、光量が円錐形に収束するスポットライトでもよい。この場合、光はその円錐の中心付近で最も明るくなり、端にいくほど減衰して暗くなる。また、例えば、光量が円柱形に収束する円柱光でもよい。この場合、光はその円柱の中心付近で最も明るくなり、端にいくほど暗くなる。生成部304は、光量に基づいて、陰影206の色彩に濃淡をつけたり、明度と彩度の両方又はどちらか片方を変化させることができる。
【0072】
上述した実施例では、面オブジェクト201を平面であるとしたがこれに限定されない。例えば、表面に凹凸や傾斜のある曲面、あるいは、ポリゴンの集合であってもよい。
【0073】
上述した実施例では、面オブジェクト201が地面であるとしたがこれに限定されない。例えば、水面、海面、屈折率の異なる物質同士の接触面などでもよい。例えば、海中から空に向かって見たときの海面の表現手法に本発明を適用することにより、海面に投影される船などの影によって海面を表現することができる。また、例えば、透明なガラス越しにみた画像の生成手法に本発明を適用することにより、ガラス表面に投影される物の影によってガラス表面を表現することができる。
【0074】
上述した実施例では、立体オブジェクト202の陰影206を生成しているがこれに限定されない。例えば、立体オブジェクト202は、人物オブジェクトなどの幾つかの平面・曲面で囲まれた3次元キャラクタオブジェクトのほか、平面で表される2次元キャラクタオブジェクトなど任意の形状のキャラクタオブジェクトであってもよい。
【0075】
応用例の1つとして、生成部304は、面オブジェクト201あるいは面オブジェクト201が存在する面401に投影された立体オブジェクト202の陰影206と、影でない部分との境目付近を、立体オブジェクト202の色と陰影206の色との中間色を用いて表現することによって、境界線(影の輪郭)をぼやかした画像を生成してもよい。これによって、滑らかな画像にすることができる。
【0076】
応用例の1つとして、生成部304は、視点204から視線ベクトル205の示す視線の方向にこの仮想空間を眺めた画像を、拡大あるいは縮小した画像を生成してもよい。この場合、例えば、視線ベクトル205が単位ベクトルのときを基準値(等倍)として、視線ベクトル205の長さを画像の拡大率とする。あるいは、画像の拡大率を示すパラメータを別に設けてもよい。拡大率は、コントローラ105を用いてユーザにより設定されてもよいし、CPU 101がゲームの進行に応じて設定してもよい。そして、生成部304は、設定された拡大率に基づいて、拡大あるいは縮小した画像を生成する。これによって、より臨場感のある演出をすることができる。
【0077】
応用例の1つとして、視点204の移動できる範囲や、視線の方向を移動できる範囲を、ゲームの進行に応じて変化させてもよい。例えば、ユーザの獲得ポイント(ゲームスコアなど)が多ければ多いほど、視点204の移動できる範囲を広く設定する。例えば、ユーザがより多くのゲームステージをゲームクリアすればするほど、視点204の移動できる範囲を広く設定する。例えば、ユーザのプレイ時間が長ければ長いほど、視点204の移動できる範囲を広く設定する。CPU 101は、ユーザの獲得ポイント、ユーザのクリアしたステージ数、ユーザのプレイ時間など、ゲームの進行具合に基づくパラメータを計数してRAM 103に記憶し、このパラメータに基づいて、視点204の移動可能範囲及び/又は視線方向の移動可能範囲を設定すればよい。移動可能範囲は、仮想空間内の球体・半球体・立方体などの立体(又は立体の集合)、円・多角形などの平面(又は平面の集合)、線分(又は線分の集合)、点(又は点の集合)など、任意の図形で定義できる。これらの図形の形状は、ユーザのポイント数、ステージ数、プレイ時間などのゲーム進行レベルに対応づけて、予め記憶部301が記憶していてもよいし、ゲームの進行具合によってCPU 101がその都度計算して求めてもよい。これによって、画像生成装置300は、ゲームの進行に合わせてバラエティに富んだ画像を生成して凝った演出をすることができる。
【0078】
応用例の1つとして、視点204の移動する速度を、ゲームの進行に応じて変化させてもよい。CPU 101は、ユーザの獲得ポイント、ユーザのクリアしたステージ数、ユーザのプレイ時間など、ゲームの進行に基づくパラメータを係数してRAM 103に記憶し、このパラメータに基づいて、視点204の移動速度を設定すればよい。移動速度は、ポイント数、ステージ数、プレイ時間などのゲーム進行レベルに対応づけて、予め記憶部301が記憶していてもよいし、ゲームの進行具合によってCPU 101がその都度計算して求めてもよい。これによって、画像生成装置300は、ゲームの進行に合わせてバラエティに富んだ画像を生成して凝った演出をすることができる。
【0079】
応用例の1つとして、計算部302は、光源203からの光によってできる陰影206のかわりに、面オブジェクト201と立体オブジェクト202とが接触した領域の形状と位置を求めてもよい。この場合、光源203は存在しても存在しなくてもよい。また、判断部303と生成部304は、面オブジェクト201と立体オブジェクト202とが接触した領域を、陰影206とみなして、上述した処理と同様の処理を行えばよい。
例えば、図6は、面オブジェクト201と立体オブジェクト202とが接触した領域601(図中では601aと601bと記載)を説明する図である。図6(a)は、視点204が面オブジェクト201に対して立体オブジェクト202と同じ側に配置された場合に、生成部304が生成した画像の例である。図6(b)は、視点204が面オブジェクト201に対して異なる側に配置された場合に、生成部304が生成した画像の例である。この例では、ダンサーオブジェクト(立体オブジェクト202)はステージオブジェクト(面オブジェクト201)の上に立っている。面オブジェクト201と立体オブジェクト202とが接触した領域601は、ダンサーオブジェクトの足裏に相当する。計算部302は、これらの領域601a及び601bを陰影206とみなして(あるいは陰影206に代替して)陰影206の形状と位置を計算する。そして、生成部304は、上述の処理と同様にして、計算された陰影206(接触した領域601)を含む画像を生成する。陰影206が、接触した領域601を含むとしてもよい。
これにより、複数のキャラクタオブジェクトが接触する領域を示す画像を生成する手法として、本発明を用いることができる。例えば、ダンサーオブジェクトの足裏の形状を更に細かく表現した画像を生成することもできる。
【0080】
(実施例2)
次に、本発明の他の実施例について説明する。上述した実施例では、第1のオブジェクトを面、第2のオブジェクトを立体としたが、本実施例では第1と第2のオブジェクトはそれぞれ面でも立体でもよい点が異なる。すなわち、第1と第2のオブジェクト両方が立体でもよいし、両方が面でもよいし、第1のオブジェクトが立体で第2のオブジェクトが面でもよい。判断部303は、視点204と、第1と第2のオブジェクトとの距離などに基づいて、視点204が第1のオブジェクトに対して第2のオブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する。なお、その他の構成は上述の実施例と同様であるので、重複する部分の説明は省略する。以下詳述する。
【0081】
判断部303は、視点204と第1のオブジェクトとの距離D1と、視点204と第2のオブジェクトとの距離D2とを求める。言い換えれば、判断部303は、視点204と第1のオブジェクトの代表点(重心など)とを結ぶ第1ベクトルV1の長さ(すなわち距離D1)と、視点204と第2のオブジェクトの代表点とを結ぶ第2ベクトルV2の長さ(すなわち距離D2)とを求める。そして、D1<D2の場合、判断部303は、視点204が第1のオブジェクトに対して第2のオブジェクトと同じ側に配置されると判断する。一方、D1>D2の場合、判断部303は、視点204が第1のオブジェクトに対して第2のオブジェクトと異なる側に配置されると判断する。なお、D1=D2の場合、判断部303はどちらに判断してもよいが、本実施例では同じ側に配置されると判断することとする。記憶部301、計算部302、生成部304が行う処理は上述の実施例と同様なので説明を省略する。
【0082】
本実施例では、判断部303は、上記の判断手法と異なる他の手法で判断することもできる。例えば、第1ベクトルV1と、第2ベクトルから第1ベクトルを引いた第3ベクトル(V2−V1)とのなす角θが90°以下の場合、判断部303は、視点204が第1のオブジェクトに対して第2のオブジェクトと同じ側に配置されると判断してもよい。一方、角θが90°未満の場合、判断部303は、視点204が第1のオブジェクトに対して第2のオブジェクトと異なる側に配置されると判断してもよい。
【0083】
本実施例は、同じ仮想空間内に複数のオブジェクトが存在し、これらのオブジェクト同士の位置関係によらず、特定のオブジェクトを仮想空間内のどの位置からも表示するように制御したい場合に特に有効である。すなわち、仮想空間内のオブジェクトに、表示する優先順位を設定し、優先順位の高いオブジェクトは優先順位の低いオブジェクトより優先して表示することができる。視点204と第1・第2オブジェクトとの位置関係によって、視点204から、優先順位の高いオブジェクトが優先順位の低いオブジェクトに隠れてしまう可能性がある。そこで、(a)視点204が第1のオブジェクトに対して第2のオブジェクトと同じ側に配置される場合、すなわち、優先順位の高いオブジェクトが隠れることはない位置関係の場合、生成部304は、第1のオブジェクトと第2のオブジェクトとを見た様子を表す画像を生成する。一方、(b)視点204が第1のオブジェクトに対して第2のオブジェクトと異なる側に配置される場合、すなわち、優先順位の高いオブジェクトが優先順位の低いオブジェクトに隠れてしまう位置関係の場合、生成部304は、第2のオブジェクトを見た様子を表す画像を生成する。この場合、生成部304が生成する画像には、優先順位の低いオブジェクトが含まれない。
このように、本実施例によれば、画像生成装置300は、オブジェクトの形状に関わらず、全方位からオブジェクトを見た画像を生成することができる。
【0084】
なお、本実施例においても、生成部は、判断部により視点204が第1のオブジェクトに対して第2のオブジェクトと(a)同じ側に配置されると判断された場合、第1のオブジェクトを不透明とし、(b)異なる側に配置されると判断された場合、第1のオブジェクトを透明として、第1のオブジェクトと第2のオブジェクトとを見た様子を表す画像を生成するように構成してもよい。また、計算部302が、光源203からの光により第2のオブジェクトが第1のオブジェクトの表面に投射する陰影206の形状と位置を求めて、生成部304が、陰影206を含む画像を生成するように構成してもよい。
【0085】
本発明は、上述した実施例に限定されず、種々の変形及び応用が可能である。また、上述した実施例の各構成要素を自由に組み合わせることも可能である。
【0086】
画像生成装置300を装置の全部又は一部として動作させるためのプログラムを、メモリカード、CD−ROM、DVD、MO(Magneto Optical disk)などのコンピュータ読み取り可能な記録媒体に格納して配布し、これを別のコンピュータにインストールし、上述の手段として動作させ、あるいは、上述の工程を実行させてもよい。
【0087】
さらに、インターネット上のサーバ装置が有するディスク装置等にプログラムを格納しておき、例えば、搬送波に重畳させて、コンピュータにダウンロード等するものとしてもよい。
【0088】
以上説明したように、本発明によれば、仮想空間内の全方位からオブジェクトを見た画像を生成するために好適な画像生成装置、画像生成方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【0089】
【図1】本発明の画像生成装置が実現される典型的な情報処理装置の概要構成を示す図である。
【図2】面オブジェクト、立体オブジェクト、光源、視点、視線ベクトル及び陰影を説明するための概念図である。
【図3】画像生成装置の構成を説明するための図である。
【図4】(a)視点が面オブジェクトに対して立体オブジェクトと同じ側に配置された例の図である。(b)生成部が生成した画像の例である。(c)視点が面オブジェクトに対して立体オブジェクトと異なる側に配置された例の図である。(d)生成部が生成した画像の例である。
【図5】画像生成処理を説明するためのフローチャートである。
【図6】(a)及び(b)は、面オブジェクトと立体オブジェクトとが接触した領域を示す例の図である。
【符号の説明】
【0090】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェイス
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
201 面オブジェクト
202 立体オブジェクト
203 光源
204 視点
205 視線ベクトル
206 陰影
300 画像生成装置
301 記憶部
302 計算部
303 判断部
304 生成部
401 面オブジェクトの存在する面
601 面オブジェクトと立体オブジェクトとが接触した領域

【特許請求の範囲】
【請求項1】
仮想空間内に配置される第1オブジェクトの位置、第2オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する記憶部、
当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置の情報から、当該視点が、当該第1オブジェクトに対して、当該第2オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する判断部、
当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成する生成部であって、前記判断部により、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと
(a)同じ側に配置されると判断された場合、当該第1オブジェクトと、当該第2オブジェクトと、を見た様子を表す画像を生成し、
(b)異なる側に配置されると判断された場合、当該第2オブジェクトを見た様子を表す画像を生成する
生成部
を備えることを特徴とする画像生成装置。
【請求項2】
請求項1に記載の画像生成装置であって、
当該第1オブジェクトは面オブジェクトであり、
当該第2オブジェクトは立体オブジェクトであり、
前記記憶部は、当該面オブジェクトの形状と、当該立体オブジェクトの形状とを更に記憶し、
前記判断部は、当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該視点の位置の情報から、当該視点が、当該面オブジェクトに対して、当該立体オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断し、
前記生成部は、当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成する
ことを特徴とする画像生成装置。
【請求項3】
請求項2に記載の画像生成装置であって、
前記記憶部は、当該面オブジェクトに対して当該立体オブジェクトと同じ側に配置される光源の位置を更に記憶し、
当該面オブジェクトの形状および位置、当該立体オブジェクトの形状および位置、当該光源の情報から、当該仮想空間において当該光源により当該立体オブジェクトが当該面オブジェクトに投射する陰影の形状および位置を計算する計算部を更に備え、
前記生成部は、前記計算部により計算された当該陰影の形状及び位置に基づいて、前記判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
(a)同じ側に配置されると判断された場合、当該面オブジェクトと、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成し、
(b)異なる側に配置されると判断された場合、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成する
ことを特徴とする画像生成装置。
【請求項4】
請求項2又は3に記載の画像生成装置であって、
前記生成部は、前記判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
(a)同じ側に配置されると判断された場合、当該面オブジェクトを不透明とし、
(b)異なる側に配置されると判断された場合、当該面オブジェクトを透明として、
当該面オブジェクトと、当該立体オブジェクトと、当該陰影と、を見た様子を表す画像を生成する
ことを特徴とする画像生成装置。
【請求項5】
請求項3に記載の画像生成装置であって、
前記生成部は、当該面オブジェクトのうち当該陰影の占める領域の画像の明度と彩度の両方又はどちらか片方を減衰させるか、あるいは、当該面オブジェクトのうち当該陰影の占める領域の画像を無彩色にして、画像を生成する
ことを特徴とする画像生成装置。
【請求項6】
請求項5に記載の画像生成装置であって、
前記生成部は、前記判断部により、当該視点が当該面オブジェクトに対して当該立体オブジェクトと
(x)同じ側に配置されると判断された場合、当該面オブジェクトのうち当該陰影の占める領域の画像の明度と彩度の両方又はどちらか片方を減衰させて、
(y)異なる側に配置されると判断された場合、当該面オブジェクトのうち当該陰影の占める領域の画像を無彩色にして、
画像を生成する
ことを特徴とする画像生成装置。
【請求項7】
請求項1に記載の画像生成装置であって、
当該画像生成装置は仮想空間内でゲームをプレイするためのゲーム装置であり、
当該視点と当該視線の方向の両方又はどちらか片方が移動可能な範囲を設定する設定部を更に備え、
当該移動可能な範囲は、当該ゲーム装置によるユーザのゲーム進行レベルに基づいて設定される
ことを特徴とする画像生成装置。
【請求項8】
請求項3に記載の画像生成装置であって、
前記計算部は、当該陰影の形状および位置の代わりに、もしくは、当該陰影の形状および位置に加えて、当該面オブジェクトと当該立体オブジェクトとが接触する領域の形状および位置を計算し、
前記生成部は、当該陰影の代わりに、もしくは、当該陰影に加えて、当該面オブジェクトと当該立体オブジェクトとが接触する領域を含む画像を生成する
ことを特徴とする画像生成装置。
【請求項9】
記憶部、判断部、生成部を有する画像生成装置にて実行される画像生成方法であって、
前記記憶部は、仮想空間内に配置される第1オブジェクトの位置、第2オブジェクトの位置、視点の位置、視線の方向の情報、を記憶し、
前記判断部が、当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置の情報から、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する判断ステップ、
前記生成部が、当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成する生成ステップであって、前記判断ステップにより、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと
(a)同じ側に配置されると判断された場合、前記生成部が、当該第1オブジェクトと、当該第2オブジェクトと、を見た様子を表す画像を生成し、
(b)異なる側に配置されると判断された場合、前記生成部が、当該第2オブジェクトを見た様子を表す画像を生成する
生成ステップ、
を備えることを特徴とする画像生成方法。
【請求項10】
コンピュータを、
仮想空間内に配置される第1オブジェクトの位置、第2オブジェクトの位置、視点の位置、視線の方向の情報、を記憶する記憶部、
当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置の情報から、当該視点が、当該第1オブジェクトに対して、当該第2オブジェクトと同じ側に配置されるか異なる側に配置されるかを判断する判断部、
当該第1オブジェクトの位置、当該第2オブジェクトの位置、当該視点の位置、当該視線の方向の情報、に基づいて、当該視点の位置から当該視線の方向へ当該仮想空間を見た様子を表す画像を生成する生成部であって、前記判断部により、当該視点が当該第1オブジェクトに対して当該第2オブジェクトと
(a)同じ側に配置されると判断された場合、当該第1オブジェクトと、当該第2オブジェクトと、を見た様子を表す画像を生成し、
(b)異なる側に配置されると判断された場合、当該第2オブジェクトを見た様子を表す画像を生成する
生成部
として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−27050(P2008−27050A)
【公開日】平成20年2月7日(2008.2.7)
【国際特許分類】
【出願番号】特願2006−197010(P2006−197010)
【出願日】平成18年7月19日(2006.7.19)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】