(57)【特許請求の範囲】
【請求項１】
三次元の仮想空間に配置される所定のオブジェクトに凹形状又は凸形状の痕跡を合成した画像を生成する画像生成装置であって、
当該痕跡についての法線マップを含む痕跡情報を記憶する情報記憶部と、
当該仮想空間に配置された当該オブジェクトを含む原画像を描画する原画像描画部と、
描画された当該オブジェクトに、当該法線マップを適用した当該痕跡を合成する合成部と、
当該痕跡が合成された合成位置における当該オブジェクトの法線と光源方向との関係、並びに、合成した当該痕跡の当該法線マップによる法線と光源方向との関係、に基づいて、輝度値を算定する輝度値算定部と、
算定された当該輝度値に基づき、合成位置における当該オブジェクトの画像をシェーディングするシェーディング部と、を備える、
ことを特徴とする画像生成装置。
【請求項２】
三次元の仮想空間に配置される所定のオブジェクトに弾痕を合成した画像を生成する画像生成装置であって、
当該弾痕の凹形状を規定する法線マップを含む弾痕情報を記憶する情報記憶部と、
ライティングを施した当該オブジェクトを含む原画像を描画する原画像描画部と、
描画された当該オブジェクトの所定位置に、当該法線マップを適用した当該弾痕を合成する合成部と、
当該弾痕が合成された合成位置における当該オブジェクトの法線と光源方向との関係に基づいて、補正値を算定する補正値算定部と、
当該オブジェクトに合成した当該弾痕の当該法線マップによる法線と光源方向との関係、並びに、算定された当該補正値に基づいて、輝度値を算定する輝度値算定部と、
算定された当該輝度値を使用して、合成位置における当該オブジェクトの明暗（or 色の明暗）を変化させるシェーディングを行うシェーディング部と、を備える、
ことを特徴とする画像生成装置。
【請求項３】
請求項２に記載の画像生成装置であって、
前記補正値算定部は、当該オブジェクトの法線と光源方向との内積を求め、当該内積と所定の既定値との関係に基づいて補正値を算定する、
ことを特徴とする画像生成装置。
【請求項４】
請求項２又は３に記載の画像生成装置であって、
前記輝度値算定部は、当該弾痕の当該法線マップによる法線と光源方向との内積を求め、当該内積及び所定の既定値のうち、大きい方を前記補正値算定部により算定された補正値と加算することにより輝度値を算定し、
前記シェーディング部は、当該オブジェクトの色の値に、算定された当該輝度値を少なくとも１回乗じることにより、当該オブジェクトの明暗を変化させるシェーディングを行う、
ことを特徴とする画像生成装置。
【請求項５】
請求項４に記載の画像生成装置であって、
前記情報記憶部は、当該弾痕のテクスチャ色の情報を更に記憶し、
前記シェーディング部は、当該オブジェクトの色の値に当該輝度値を乗じた後に、当該弾痕のテクスチャ色に少なくとも所定の合成係数を乗じた値を更に乗じることにより、当該弾痕を強調するように当該オブジェクトの明暗を変化させる、
ことを特徴とする画像生成装置。
【請求項６】
記憶部、描画部、及び、演算部を有しており、三次元の仮想空間に配置される所定のオブジェクトに凹形状又は凸形状の痕跡を合成した画像を生成する画像生成装置における画像生成方法であって、
前記記憶部は、当該痕跡についての法線マップを含む痕跡情報を記憶しており、
前記描画部が行う、当該仮想空間に配置された当該オブジェクトを含む原画像を描画する原画像描画ステップと、
前記描画部が行う、描画された当該オブジェクトに、当該法線マップを適用した当該痕跡を合成する合成ステップと、
前記演算部が行う、当該痕跡が合成された合成位置における当該オブジェクトの法線と光源方向との関係、並びに、合成した当該痕跡の当該法線マップによる法線と光源方向との関係、に基づいて、輝度値を算定する輝度値算定ステップと、
前記描画部が行う、算定された当該輝度値に基づき、合成位置における当該オブジェクトの画像をシェーディングするシェーディングステップと、を備える、
ことを特徴とする画像生成方法。
【請求項７】
三次元の仮想空間に配置される所定のオブジェクトに凹形状又は凸形状の痕跡を合成した画像を生成するコンピュータを、
当該痕跡についての法線マップを含む痕跡情報を記憶する情報記憶部、
当該仮想空間に配置された当該オブジェクトを含む原画像を描画する原画像描画部、
描画された当該オブジェクトに、当該法線マップを適用した当該痕跡を合成する合成部、
当該痕跡が合成された合成位置における当該オブジェクトの法線と光源方向との関係、並びに、合成した当該痕跡の当該法線マップによる法線と光源方向との関係、に基づいて、輝度値を算定する輝度値算定部、
算定された当該輝度値に基づき、合成位置における当該オブジェクトの画像をシェーディングするシェーディング部、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、簡易な構成で、画像中に付加される痕跡を違和感なく表示することのできる画像生成装置、画像生成方法、および、プログラムに関する。
【背景技術】
【０００２】
従来より、ゲーム装置（ビデオゲーム装置等）にて、アクションゲームやスポーツゲームといった体感型のゲームが人気を博している。このようなアクションゲームやスポーツゲーム等では、臨場感やリアリティを高めるため、ゲームの進行に伴う背景等の変化を瞬時（リアルタイム）に表現している。
例えば、敵味方に分かれたキャラクタが銃を撃ち合うようなアクションゲームでは、壁等に着弾した弾痕を瞬時に表示している。また、スノーボードに乗ったキャラクタを操作するようなスポーツゲームでは、スノーボードが移動した雪上にシュプール（軌跡）をリアルタイムに表示している。
【０００３】
一例として、シュプールを表示するスポーツゲームでは、複数のシュプール用のテクスチャ（深いシュプールや、浅いシュプール等のテクスチャ）を記憶しておき、ゲレンゲの雪質に応じて適切なテクスチャを選定して貼り付けることにより、軌跡をリアルにかつ容易に描画できるビデオゲーム装置（３次元画像処理装置）の技術も開示されている（例えば、特許文献１参照）。
【特許文献１】特開２００２−１４０７２３号公報  （第６−１０頁、第８図）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したシュプールを表示するスポーツゲームと同様に、弾痕を表示するアクションゲームでも、複数の弾痕用のテクスチャを用意しておき、着弾した壁の種類等に応じて、適切なテクスチャを選定して貼り付けていた。
しかしながら、ゲームの背景等がより多彩（リアル）になるにつれて、用意すべき弾痕用のテクスチャの数も増加し、描画に必要なメモリの容量を大量に消費するようになってきた。つまり、壁の種類（材質等）だけでなく、壁の色や模様等に応じて細分化したテクスチャが数多く必要となり、メモリを圧迫して残り容量が不足してしまうといった事態が生じるようになっていた。
【０００５】
そのため、実際には、弾痕用のテクスチャの数が、ある程度制限されることになり、違和感のある弾痕が表示されてしまうことが多かった。例えば、コンクリートの壁に対応して、弾痕用のテクスチャが、数種類程度しか用意されていなかった場合、多彩なコンクリートの壁（色や模様が異なる壁）が描画されるゲームでは、かなり高い確率で、着弾したコンクリートの壁となじまない（不自然な）弾痕が表示されてしまっていた。
【０００６】
そのため、メモリの容量等をさほど消費せずに、弾痕等の痕跡を違和感なく表示できるようにする新たな技術が求められていた。
【０００７】
本発明は、このような課題を解決するためになされたもので、簡易な構成で、画像中に付加される痕跡を違和感なく表示することのできる画像生成装置、画像生成方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の観点に係る画像生成装置は、三次元の仮想空間に配置される所定のオブジェクト（例えば、壁等）に凹形状又は凸形状の痕跡（例えば、弾痕等）を合成した画像を生成する画像生成装置であって、情報記憶部、原画像描画部、合成部、輝度値算定部、及び、シェーディング部を含んで構成される。
【０００９】
まず、情報記憶部は、痕跡についての法線マップを含む痕跡情報を記憶する。また、原画像描画部は、仮想空間に配置されたオブジェクト（例えば、光源計算済みの壁等）を含む原画像を描画する。そして、合成部は、描画されたオブジェクトに、法線マップを適用した痕跡を合成する。例えば、光源計算済みの壁をテクスチャとして利用し、このテクスチャに法線マップを適用して弾痕を合成する。
一方、輝度値算定部は、痕跡が合成された合成位置におけるオブジェクトの法線と光源方向との関係、並びに、合成した痕跡の法線マップによる法線と光源方向との関係、に基づいて、輝度値を算定する。そして、シェーディング部は、算定された輝度値に基づき、合成位置における当該オブジェクトの画像をシェーディングする。例えば、弾痕を合成する壁の画像（テクスチャ）を、算定された輝度値に基づきシェーディングする。
【００１０】
なお、原画像のオブジェクト（光源計算済みの壁等）に、法線マップを適用して痕跡（弾痕等）を合成するため、そのままでは、おかしなライティングになってしまい、違和感を感じるものとなる（例えば、凹凸と影が一致しない等）。
そのため、算定した輝度値に基づき、合成位置におけるオブジェクトの画像をシェーディングすることにより、その痕跡のライティングを適切に補正し、違和感をなくすことができる。また、原画像のオブジェクト（例えば、光源計算済みの壁等）を利用して、その合成位置の画像を補正することにより、光源計算をやり直すような負荷を省くことができる。
この結果、簡易な構成で、画像中に付加される痕跡を違和感なく表示することができる。
【００１１】
本発明の第２の観点に係る画像生成装置は、三次元の仮想空間に配置される所定のオブジェクト（例えば、壁等）に弾痕を合成した画像を生成する画像生成装置であって、情報記憶部、原画像描画部、合成部、補正値算定部、輝度値算定部、及び、シェーディング部を含んで構成される。
【００１２】
まず、情報記憶部は、弾痕の凹形状を規定する法線マップを含む弾痕情報を記憶する。また、原画像描画部は、ライティングを施した（配置される光源を用いて光源計算を行った）オブジェクトを含む原画像を描画する。そして、合成部は、描画されたオブジェクトの所定位置に、法線マップを適用した弾痕を合成する。例えば、光源計算済みの壁をテクスチャとして利用し、このテクスチャに法線マップを適用して弾痕を合成する。
一方、補正値算定部は、弾痕が合成された合成位置におけるオブジェクトの法線と光源方向との関係に基づいて、補正値を算定する。また、輝度値算定部は、オブジェクトに合成した弾痕の法線マップによる法線と光源方向との関係、並びに、算定された補正値に基づいて、輝度値を算定する。そして、シェーディング部は、算定された輝度値を使用して、合成位置におけるオブジェクトの明暗を変化させるシェーディングを行う。例えば、弾痕を合成する壁の画像（テクスチャ）について、算定された輝度値を使用して明暗を変化させる。
【００１３】
なお、原画像のオブジェクト（光源計算済みの壁等）に、法線マップを適用して弾痕を合成するため、そのままでは、おかしなライティングになってしまい、違和感を感じるものとなる（例えば、凹んでいるはずなのに影がない等）。
そのため、算定した輝度値に基づき、合成位置におけるオブジェクトの明暗を変化させるシェーディングを行うことにより、その弾痕のライティングを適切に補正し、違和感をなくすことができる。また、原画像のオブジェクト（例えば、光源計算済みの壁等）を利用して、その合成位置の画像の明暗を変化させることにより、光源計算をやり直すような負荷を省くことができる。
この結果、簡易な構成で、画像中に付加される痕跡を違和感なく表示することができる。
【００１４】
前記補正値算定部は、当該オブジェクトの法線と光源方向との内積を求め、当該内積と所定の既定値との関係に基づいて補正値を算定してもよい。例えば、痕跡（弾痕等）を合成する壁の法線と光源方向との内積を求め、その内積と０．０との大きい方を、１．０から減算することにより、補正値を求める。
【００１５】
前記輝度値算定部は、当該弾痕の当該法線マップによる法線と光源方向との内積を求め、当該内積及び所定の既定値のうち、大きい方を前記補正値算定部により算定された補正値と加算することにより輝度値を算定し、
前記シェーディング部は、当該オブジェクトの色の値に、算定された当該輝度値を少なくとも１回乗じることにより、当該オブジェクトの明暗を変化させるシェーディングを行ってもよい。
例えば、輝度値算定部は、合成した弾痕の法線方向と光源方向との内積を求め、その内積とマイナスの補正値との大きい方を、補正値算定部に算定された補正値と加算して輝度値を算定する。そして、シェーディング部は、算定された輝度値と、輝度値と１．０との小さい方と乗算することにより、シェーディングを行う。
【００１６】
前記情報記憶部は、当該弾痕のテクスチャ色の情報を更に記憶し、
前記シェーディング部は、当該オブジェクトの色の値に当該輝度値を乗じた後に、当該弾痕のテクスチャ色に少なくとも所定の合成係数を乗じた値を更に乗じることにより、当該弾痕を強調するように当該オブジェクトの明暗を変化させてもよい。
この場合、暗いところ等が強調されて、弾痕がより目立つものとなる。
【００１７】
本発明の第３の観点に係る画像生成方法は、記憶部、描画部、及び、演算部を有しており、三次元の仮想空間に配置される所定のオブジェクト（例えば、壁等）に凹形状又は凸形状の痕跡（例えば、弾痕等）を合成した画像を生成する画像生成装置における画像生成方法であって、原画像描画ステップ、合成ステップ、輝度値算定ステップ、及び、シェーディングステップを含んで構成される。
【００１８】
まず、原画像描画ステップでは、仮想空間に配置されたオブジェクト（例えば、光源計算済みの壁等）を含む原画像を描画する。また、合成ステップでは、描画されたオブジェクトに、法線マップを適用した痕跡を合成する。例えば、光源計算済みの壁をテクスチャとして利用し、このテクスチャに法線マップを適用して弾痕を合成する。
一方、輝度値算定ステップでは、痕跡が合成された合成位置におけるオブジェクトの法線と光源方向との関係、並びに、合成した痕跡の法線マップによる法線と光源方向との関係、に基づいて、輝度値を算定する。そして、シェーディングステップでは、算定された輝度値に基づき、合成位置における当該オブジェクトの画像をシェーディングする。例えば、弾痕を合成する壁の画像（テクスチャ）を、算定された輝度値に基づきシェーディングする。
【００１９】
なお、原画像のオブジェクト（光源計算済みの壁等）に、法線マップを適用して痕跡（弾痕等）を合成するため、そのままでは、おかしなライティングになってしまい、違和感を感じるものとなる（例えば、凹凸と影が一致しない等）。
そのため、算定した輝度値に基づき、合成位置におけるオブジェクトの画像をシェーディングすることにより、その痕跡のライティングを適切に補正し、違和感をなくすことができる。また、原画像のオブジェクト（例えば、光源計算済みの壁等）を利用して、その合成位置の画像を補正することにより、光源計算をやり直すような負荷を省くことができる。
この結果、簡易な構成で、画像中に付加される痕跡を違和感なく表示することができる。
【００２０】
本発明の第４の観点に係るプログラムは、コンピュータ（電子機器を含む。）を、上記の画像生成装置として機能させるように構成する。
【００２１】
このプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【００２２】
上記プログラムは、当該プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、当該コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００２３】
本発明によれば、簡易な構成で、画像中に付加される痕跡を違和感なく表示することができる。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム装置に本発明が適用される実施形態を説明するが、各種のコンピュータ、ＰＤＡ、携帯電話などの情報処理装置においても同様に本発明を適用することができる。すなわち、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素または全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００２５】
（実施形態１）
図１は、本発明の実施の形態に係る画像生成装置が実現される典型的なゲーム装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００２６】
ゲーム装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、ＤＶＤ（Digital Versatile Disk）−ＲＯＭドライブ１０７と、画像処理部１０８と、音声処理部１０９と、ＮＩＣ（Network Interface Card）１１０と、を備える。
【００２７】
なお、ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０７に装着して、ゲーム装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態の画像生成装置が実現される。
【００２８】
ＣＰＵ  １０１は、ゲーム装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。
【００２９】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、ゲーム装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００３０】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。
【００３１】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。たとえば、コントローラ１０５は、操作入力に従って、文字列（メッセージ）等の入力を受け付ける。
【００３２】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲームの進行状態を示すデータ、チャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００３３】
ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０７は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００３４】
画像処理部１０８は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０８が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０８が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０８に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００３５】
なお、画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００３６】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００３７】
音声処理部１０９は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００３８】
ＮＩＣ  １１０は、ゲーム装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００３９】
このほか、ゲーム装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０７に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。
【００４０】
また、本実施形態のゲーム装置１００にかえて、一般的なコンピュータ（汎用のパーソナルコンピュータ等）を画像生成装置として利用することもできる。たとえば、一般的なコンピュータは、上記ゲーム装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、ゲーム装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラではなく、キーボードやマウスなどを入力装置として利用する。そして、ゲームプログラムをインストールした後に、そのプログラムを実行させると、画像生成装置として機能する。
【００４１】
（画像生成装置の概要構成）
図２は、本実施形態に係る画像生成装置の概要構成を示す模式図である。この画像生成装置は、一例として、敵味方に分かれたキャラクタが銃を撃ち合うようなアクションゲームにおいて、着弾した弾痕等を含めたリアリティのある画像を生成する装置である。以下、本図を参照して説明する。
【００４２】
図示するように、画像生成装置２００は、オブジェクト情報記憶部２１０と、光源情報記憶部２２０と、操作受付部２３０と、位置管理部２４０と、弾痕情報記憶部２５０と、画像描画部２６０とを備える。
【００４３】
まず、オブジェクト情報記憶部２１０は、仮想空間内に配置されるキャラクタ、樹木、及び、建物等のオブジェクトについての情報を記憶する。
例えば、自キャラクタ、味方キャラクタ及び、敵キャラクタ等の各キャラクタを構成するプリミティブ（ポリゴン等）の情報や、プリミティブのサーフェイスに貼り付けるためのテクスチャ等の情報を記憶する。
同様に、壁、窓、ドア等を有する建物等の各オブジェクトを構成するプリミティブの情報や、テクスチャ等の情報を記憶する。
なお、ＲＡＭ  １０３等が、このようなオブジェクト情報記憶部２１０として機能しうる。
【００４４】
光源情報記憶部２２０は、仮想空間内に配置される光源の情報を記憶する。
例えば、光源の種類（点光源、平行光源、スポットライト等）、光源の位置（配置位置、照射範囲、照射方向、強さや減衰等）、及び、光源の色（ディフューズ色、アンビエント色、スペキュラ色等）等の情報を記憶する。
なお、ＲＡＭ  １０３等が、このような光源情報記憶部２２０として機能しうる。
【００４５】
操作受付部２３０は、プレイヤが操る自キャラクタに対する動作指示等の操作入力を受け付ける。例えば、操作受付部２３０は、所定方向に移動する、壁等に張り付く、しゃがむ、伏せる等の動作に対応した複数のボタン（一例として、コントローラ１０５に配置された方向キー，Ａボタン，Ｂボタン，Ｘボタン，Ｙボタン等）の何れかがプレイヤにより押下されることによって、主人公キャラクタに向けた操作入力を受け付ける。
なお、コントローラ１０５がこのような操作受付部２３０として機能しうる。
【００４６】
位置管理部２４０は、自キャラクタや敵キャラクタといった仮想空間内で位置が変化するオブジェクトの位置情報（現在位置や向き等）を管理する。例えば、自キャラクタは、操作受付部２３０によって受け付けた移動指示等に従って、仮想空間内の位置や向きが変化するため、位置管理部２４０にてその位置情報が管理される。また、敵キャラクタも所定のロジックに従って適宜移動し、仮想空間内の位置等が変化するため、同様に位置管理部２４０にて位置情報が管理される。
この他にも、キャラクタ等が銃を発砲し、建物等のオブジェクトに着弾した場合に、そのオブジェクトの着弾位置等も管理される。
なお、ＲＡＭ  １０３及びＣＰＵ  １０１が、このような位置管理部２４０として機能しうる。
【００４７】
弾痕情報記憶部２５０は、建物等に着弾した弾痕の凹形状を規定するためのノーマルマップ（normal map：和訳では、法線マップ）を含む弾痕情報を記憶する。
このノーマルマップは、バンプマッピングを実現するための特殊なテクスチャであり、各テクセルに法線の値が格納され、合成した（マッピングした）ポリゴン等に、擬似的な凹凸を表現するためのものである。なお、弾痕の凹形状は、ローカル座標系の法線にて規定されている。そして、オブジェクトに合成される際に、ワールド座標系に変換され、そのオブジェクトに凹んだ弾痕が表現されることになる。
例えば、弾痕情報記憶部２５０は、弾痕毎に、テクスチャ（黒やグレーの色のテクスチャ）、アルファチャンネル（アルファ値）、及び、ノーマルマップの情報を記憶している。
具体的には、図３（ａ）に示すようなテクスチャ、図３（ｂ）に示すようなアルファチャンネル、及び、図３（ｃ）に示すようなノーマルマップを、記憶している。
なお、ＲＡＭ  １０３及びＣＰＵ  １０１が、このような弾痕情報記憶部２５０として機能しうる。
【００４８】
画像描画部２６０は、オブジェクト記憶部２１０に記憶されたオブジェクトの情報、及び、位置管理部２４０に管理されるキャラクタの位置情報等に従って、仮想空間内（視界内）のオブジェクトを、視点座標系に変換した表示画像を描画する。
【００４９】
具体的に画像描画部２６０は、原画像描画部２６１と、合成部２６２と、補正値算定部２６３と、輝度値算定部２６４と、シェーディング部２６５とを含んで構成される。
【００５０】
まず、原画像描画部２６１は、ライティングを施したオブジェクトを含む原画像を描画する。つまり、仮想空間内に配置されるオブジェクトに光源情報記憶部２２０の光源情報を適用し、光源計算を行った原画像を描画する。
例えば、建物の壁を含むオブジェクトが視界内に配置される場合、図４（ａ）に示すような壁が原画像として描画される。なお、図４（ａ）に示す原画像は、ライティングを施されており、リアリティが感じられる画像となっている。
【００５１】
図２に戻って、合成部２６２は、オブジェクトの着弾位置が管理されている場合に、その着弾位置に弾痕を合成する。
例えば、上述した図４（ａ）に示すような壁（オブジェクト）に、弾が４発着弾している場合、合成部２６２は、着弾位置の画像をテクスチャとして利用し、このテクスチャに弾痕のノーマルマップを適用することにより、図４（ｂ）に示すような弾痕Ｄ１〜Ｄ４を合成する。
なお、図４（ｂ）に示す画像は、壁自体にはリアリティがあるものの、弾痕Ｄ１〜Ｄ４については、着弾位置の画像をそのままテクスチャとして利用しているため、凹みのライティング等が不自然であり、まわりの壁ともなじんでおらず違和感を感じるものとなっている。
【００５２】
図２に戻って、補正値算定部２６３は、合成した弾痕について、補正を行うための値を算定する。すなわち、着弾したオブジェクトの法線と光源方向との内積を求め、この内積と所定の既定値との関係に基づいて補正値を算定する。
具体的に補正値算定部２６３は、以下の数式１に基づいて、補正値を算定する。
【００５３】
［数１］
ｒａｔｅ１  ＝  １．０  −  ｍａｘ（０．０，ｄｏｔ（ｗａｌｌ＿ｎｏｒｍａｌ，  −ｌｉｇｈｔ＿ｄｉｒ））；
ｒａｔｅ１：  補正値
ｍａｘ：  最大値を求める関数
ｄｏｔ：  内積を求める関数
ｗａｌｌ＿ｎｏｒｍａｌ：  オブジェクトの法線方向
ｌｉｇｈｔ＿ｄｉｒ：  光源方向（正規化されているもの）
【００５４】
すなわち、補正値算定部２６３は、オブジェクトの法線方向と光源方向との内積を求め、その内積と「０．０」との大きい方を、「１．０」から減算する。
なお、上述した数式１は、一例であり、実際に描画される画像に合わせて、適宜変更可能である。例えば、数式１における「１．０」や「０．０」等は、この値に限られず、適宜増減可能である。
【００５５】
輝度値算定部２６４は、弾痕の輝度について、上述した補正値等に基づき算定する。すなわち、弾痕のノーマルマップによる法線方向と光源方向との内積を求め、この内積及び所定の既定値のうち、大きい方を補正値算定部２６３により算定された補正値と加算することにより輝度値を算定する。
具体的に輝度値算定部２６４は、以下の数式２に基づいて、補正値を算定する。
【００５６】
［数２］
ｒａｔｅ２  ＝  ｍａｘ（−ｒａｔｅ１，ｄｏｔ（ｐｉｘｅｌ＿ｎｏｒｍａｌ，−ｌｉｇｈｔ＿ｄｉｒ））  ＋  ｒａｔｅ１；
ｒａｔｅ２：  輝度値
ｍａｘ：  最大値を求める関数
ｒａｔｅ１：  補正値
ｄｏｔ：  内積を求める関数
ｐｉｘｅｌ＿ｎｏｒｍａｌ：  ノーマルマップの法線方向（ワールド座標系に変換されているもの）
ｌｉｇｈｔ＿ｄｉｒ：  光源の方向（正規化されているもの）
【００５７】
すなわち、輝度値算定部２６４は、ノーマルマップの法線方向と光源方向との内積を求め、その内積とマイナスの補正値との大きい方を、補正値と加算する。
なお、上述した数式２は、一例であり、実際に描画される画像に合わせて、適宜変更可能である。
【００５８】
シェーディング部２６５は、算定された輝度値を使用して、着弾位置におけるオブジェクトの明暗（より詳細には、色の明暗）を変化させるシェーディングを行う。
具体的にシェーディング部２６５は、以下の数式３に基づいて、シェーディングを行う。
【００５９】
［数３］
ｒｅｓｕｌｔ  ＝  ｓｃｒｅｅｎ＿ｃｏｌｏｒ  ＊  ｒａｔｅ２  ＊  ｍｉｎ（ｒａｔｅ２，１．０）；
ｒｅｓｕｌｔ：  シェーディング結果
ｓｃｒｅｅｎ＿ｃｏｌｏｒ：  オブジェクトの色（現在描画されている画面の色）
ｒａｔｅ２：  輝度値
ｍｉｎ：  最小値を求める関数
【００６０】
すなわち、シェーディング部２６５は、オブジェクトの色（現在描画されている画面の色）と、輝度値と、輝度値と「１．０」との小さい方とを掛け合わせて（乗算して）、シェーディングを行う。ここで、輝度値と「１．０」との小さい方を掛け合わせるのは、暗いところをより暗くし凹凸をはっきりさせるためである。
なお、上述した数式３は、一例であり、実際に描画される画像に合わせて、適宜変更可能である。例えば、数式３における「１．０」等は、この値に限られず、適宜増減可能である。
【００６１】
このような数式３の処理を行うシェーディング部２６５は、例えば、上述した図４（ｂ）に示すような弾痕Ｄ１〜Ｄ４にシェーディングすることにより、図５（ａ）に示すような弾痕Ｄ１〜Ｄ４の画像に整える。
この、図５（ａ）に示す画像は、弾痕Ｄ１〜Ｄ４について、凹みのライティング等が補正され、まわりの壁とも自然になじんでおり、違和感を感じさせないものとなっている。
なお、シェーディング部２６５は、弾痕をより目立たせるために、更に、テクスチャ合成係数等を掛け合わせる等の処理を加えてもよい。
具体的にシェーディング部２６５は、以下の数式４に基づくシェーディングも更に行う。
【００６２】
［数４］
ｒｅｓｕｌｔ２  ＝  ｒｅｓｕｌｔ  ＊  （（ｔｅｘ＿ｃｏｌｏｒ  ＊  テクスチャ合成係数）  ＋  （１．０  −  テクスチャ合成係数））；
ｒｅｓｕｌｔ２：  弾痕を目立たせるシェーディング結果
ｒｅｓｕｌｔ：  数式３のシェーディング結果
ｔｅｘ＿ｃｏｌｏｒ：  弾痕テクスチャの色
テクスチャ合成係数：  一例として、０．３
【００６３】
すなわち、シェーディング部２６５は、弾痕テクスチャの色とテクスチャ合成係数（一例として、０．３）とを乗算したものと、「１．０」からテクスチャ合成係数を減算したものとを加算した値を、数式３でのシェーディング結果に乗算してシェーディングを行う。
なお、上述した数式４は、一例であり、実際に描画される画像に合わせて、適宜変更可能である。例えば、数式４における「１．０」等は、この値に限られず、適宜増減可能である。
【００６４】
このような数式４の処理を更に行うシェーディング部２６５は、例えば、上述した図５（ａ）に示すような弾痕Ｄ１〜Ｄ４から、図５（ｂ）に示すような弾痕Ｄ１〜Ｄ４の画像に整え、各弾痕を目立たせる。
この、図５（ｂ）に示す画像は、弾痕Ｄ１〜Ｄ４が、まわりの壁と自然になじんでいるだけでなく、暗いところ等が強調されてかなり目立つものとなっている。
【００６５】
このように、画像描画部２６０は、ライティング等を施して描画した段階の原画像をテクスチャとして利用し、このテクスチャに弾痕のノーマルマップを適用して弾が当たった表現にする。
この際、利用するテクスチャは、すでにライティングが施されたテクスチャ（光源計算を行った後のテクスチャ）であるため、通常のノーマルマップの計算をするとおかしなライティングになってしまい、違和感を感じるものとなる（例えば、凹んでいるはずなのに影がない等）。そこで、画像描画部２６０は、上述した数式１〜数式４の計算を行うことにより、違和感をなくしたシェーディングを行うことができる。
また、ライティングが施されたテクスチャを利用して、そのテクスチャを補正することにより、光源計算をやり直すような負荷を省くことができる。
そして、画像処理部１０８が、このような画像描画部２６０として機能しうる。
【００６６】
（画像生成装置の動作）
図６は、上述した構成の画像生成装置２００において実行される画像生成処理の流れを示すフローチャートである。以下、本図を参照して画像生成装置２００の動作について説明する。この画像生成装置は、ゲーム実行中において、描画サイクル毎（例えば、１／６０秒毎）に、繰り返し実行される。
【００６７】
まず、画像生成装置２００は、仮想空間内における各オブジェクトの現在位置等を取得する（ステップＳ３０１）。つまり、オブジェクト情報記憶部２１０及び位置管理部２４０にて記憶（管理）される情報に基づいて、キャラクタや建物等のオブジェクト情報を取得する。
【００６８】
画像生成装置２００は、原画像を描画する（ステップＳ３０２）。
すなわち、原画像描画部２６１は、取得されたオブジェクト情報から、視界内に配置されるオブジェクトを特定し、そのオブジェクトに光源情報記憶部２２０の光源情報を適用して、ライティングを施した原画像を描画する。
【００６９】
画像生成装置２００は、着弾位置に弾痕を合成する（ステップＳ３０３）。つまり、合成部２６２は、オブジェクトの着弾位置が管理されている場合に、その着弾位置に弾痕を合成する。
具体的には、着弾位置の画像をテクスチャとして利用し、このテクスチャに弾痕のノーマルマップを適用することにより、上述した図４（ｂ）に示すような弾痕Ｄ１〜Ｄ４を合成する。なお、図４（ｂ）に示す画像は、壁自体にはリアリティがあるものの、弾痕Ｄ１〜Ｄ４については、着弾位置の画像をそのままテクスチャとして利用しているため、凹みのライティング等が不自然であり、まわりの壁ともなじんでおらず違和感を感じるものとなっている。
【００７０】
画像生成装置２００は、補正値を算定する（ステップＳ３０４）。
すなわち、補正値算定部２６３は、着弾したオブジェクトの法線と光源方向との内積を求め、この内積と所定の既定値との関係に基づいて補正値を算定する。具体的には、上述した数式１に基づいて、補正値を算定する。
【００７１】
画像生成装置２００は、輝度値を算定する（ステップＳ３０５）。
すなわち、輝度値算定部２６４は、弾痕のノーマルマップによる法線方向と光源方向との内積を求め、この内積及び所定の既定値のうち、大きい方を補正値算定部２６３により算定された補正値と加算することにより輝度値を算定する。具体的には、上述した数式２に基づいて、輝度値を算定する。
【００７２】
そして、画像生成装置２００は、シェーディングを行う（ステップＳ３０６）。
すなわち、シェーディング部２６５は、オブジェクトの色（現在描画されている画面の色）と、輝度値と、輝度値と「１．０」との小さい方とを掛け合わせて（乗算して）、シェーディングを行う。具体的には、上述した数式３に基づいて、シェーディングを行う。
また、画像生成装置２００は、弾痕を目立たせるために、更に、テクスチャ合成係数等を掛け合わせる等の処理を加えてもよい。具体的には、上述した数式２に基づくシェーディングも更に行う。
具体的には、数式３の処理を行うことにより、図５（ａ）に示すような弾痕Ｄ１〜Ｄ４の画像に整える。この図５（ａ）に示す画像は、弾痕Ｄ１〜Ｄ４について、凹みのライティング等が補正され、まわりの壁とも自然になじんでおり、違和感を感じさせないものとなっている。
また、数式４の処理を行うことにより、図５（ｂ）に示すような弾痕Ｄ１〜Ｄ４の画像に整える。この図５（ｂ）に示す画像は、弾痕Ｄ１〜Ｄ４が、まわりの壁と自然になじんでいるだけでなく、暗いところ等が強調されてかなり目立つものとなっている。
【００７３】
このような画像生成処理により、ライティング等を施して描画した段階の原画像をテクスチャとして利用し、このテクスチャに弾痕のノーマルマップを適用して弾が当たった表現にする。
この際、利用するテクスチャは、すでにライティングが施されたテクスチャであるため、通常のノーマルマップの計算をするとおかしなライティングになってしまい、違和感を感じるものとなる（例えば、凹んでいるはずなのに影がない等）。そこで、上述した数式１〜数式４の計算を行うことにより、違和感をなくしたシェーディングを行うことができる。
また、ライティングが施されたテクスチャを利用して、そのテクスチャを補正することにより、光源計算をやり直すような負荷を省くことができる。
【００７４】
この結果、簡易な構成で、画像中に付加される痕跡を違和感なく表示することができる。
【００７５】
（他の実施形態）
上記の実施形態では、壁等に着弾した弾痕を表現する場合について説明したが、弾痕のような凹形状の場合以外にも、本願発明は適宜適用することができる。
例えば、凸形状の痕跡を合成する場合にも適用可能である。
【００７６】
一例として、図７（ａ）に示すような金属製のドアＤｒを挟んで敵キャラクタと対峙している状況で、敵キャラクタから発せられた銃弾が、ドアＤｒの裏面（敵キャラクタ側の面）に着弾することが生じうる。この場合、ドアＤｒの表面から見ると、着弾した箇所が凸形状に膨らむことになる。そのため、ドアＤｒの表面には、図７（ｂ）に示すような凸形状の痕跡Ｋを表示する必要がある。
この際、上記と同様に、ノーマルマップ（この場合は、凸形状）を適用して弾が当たった痕跡を表現にする。
【００７７】
この場合も画像描画部２６０が、ライティング等を施して描画した段階の原画像（金属製のドアＤｒの画像）をテクスチャとして利用し、このテクスチャに痕跡のノーマルマップを適用して弾が当たった表現にする。
ここでも、利用するテクスチャは、すでにライティングが施されたテクスチャのため、通常のノーマルマップの計算をするとおかしなライティングになってしまい、違和感を感じるものとなる（例えば、出っ張っているはずなのに影がある等）。そこで、上述した数式１〜数式４の計算を適宜行うことにより、違和感をなくしたシェーディングを行うことができる。
また、ライティングが施されたテクスチャを利用して、そのテクスチャを補正することにより、光源計算をやり直すような負荷を省くことができる。
この結果、簡易な構成で、画像中に付加される痕跡を違和感なく表示することができる。
【００７８】
以上説明したように、本発明によれば簡易な構成で、画像中に付加される痕跡を違和感なく表示することができる。
【図面の簡単な説明】
【００７９】
【図１】本発明の実施形態に係るゲーム装置の概要構成を示す模式図である。
【図２】本発明の実施形態に係る画像生成装置の概要構成を示す模式図である。
【図３】（ａ）が弾痕のテクスチャを示す模式図であり、（ｂ）が弾痕のアルファデータを示す模式図であり、（ｃ）が弾痕のノーマルマップを示す模式図である。
【図４】（ａ）が壁の画像を示す模式図であり、（ｂ）が弾痕のテクスチャが合成された壁の画像を示す模式図である。
【図５】（ａ）が輝度値等を調整した弾痕が合成された壁の画像を示す模式図であり、（ｂ）が目立たせる処理を加えた弾痕が合成された壁の画像を示す模式図である。
【図６】本発明の実施形態に係る画像生成処理の一例を示すフローチャートである。
【図７】（ａ），（ｂ）共に、他の痕跡が合成された場合を説明するための模式図である。
【符号の説明】
【００８０】
１００  ゲーム装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  ＤＶＤ−ＲＯＭドライブ
１０８  画像処理部
１０９  音声処理部
１１０  ＮＩＣ
２００  画像生成装置
２１０  オブジェクト情報記憶部
２２０  光源情報記憶部
２３０  操作部
２４０  位置管理部
２５０  弾痕情報記憶部
２６０  画像描画部
【要約】
【課題】簡易な構成で、画像中に付加される痕跡を違和感なく表示することのできる画像生成装置等を提供する。
【解決手段】弾痕情報記憶部２５０は、弾痕の凹形状を規定するノーマルマップを含む弾痕情報を記憶する。原画像描画部２６１は、ライティングを施したオブジェクトを含む原画像を描画する。合成部２６２は、描画されたオブジェクトの着弾位置に、法線マップを適用した弾痕を合成する。補正値算定部２６３は、オブジェクトの法線と光源方向との関係に基づいて、補正値を算定する。輝度値算定部２６４は、弾痕の法線マップによる法線方向と光源方向との関係、並びに、算定された補正値との関係に基づいて、輝度値を算定する。そして、シェーディング部２６５は、算定された輝度値を使用して、合成位置におけるオブジェクトの明暗を変化させるシェーディングを行う。
【選択図】図２【図１】
0004199817.tif 000002
【図２】
0004199817.tif 000003
【図６】
0004199817.tif 000004
【図７】
0004199817.tif 000005
【図３】
0004199817.tif 000006
【図４】
0004199817.tif 000007
【図５】
0004199817.tif 000008