(57)【要約】【課題】視点との位置関係によって透明度が変化するような物体を小さいモデルデータ量でリアルに表現することが可能なプログラム、情報記憶媒体および画像生成システムを提供する。【解決手段】オブジェクトが配置されたオブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、第１の色と第２の色とを補間して第３の色を求める第１の補間処理部と、第１の色と第３の色とを補間してオブジェクトを構成するプリミティブの描画ピクセルの色を求める第２の補間処理部とを含み、第２の補間処理部が、視点の向きと、オブジェクトを構成するプリミティブの向きとに基づき、視点の向きと正対する基準方向からのずれに応じて第１の色の合成率が低くなるように、第１の色と第３の色とを補間する。【選択図】図２
2010033285.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトが配置されたオブジェクト空間を所与の視点から見た画像を生成するためのプログラムであって、
第１の色と第２の色とを補間して第３の色を求める第１の補間処理部と、
前記第１の色と前記第３の色とを補間して前記オブジェクトを構成するプリミティブの描画ピクセルの色を求める第２の補間処理部とを含む描画部としてコンピュータを機能させ、
前記第２の補間処理部が、
前記視点の向きと、前記オブジェクトを構成するプリミティブの向きとに基づき、前記視点の向きと正対する基準方向からのずれに応じて前記第１の色の合成率が低くなるように、前記第１の色と前記第３の色とを補間することを特徴とするプログラム。
【請求項２】
請求項１において、
前記オブジェクトに対応づけられたテクスチャを構成するテクセルに格納された属性情報を参照して、前記第１の色と前記第３の色とを補間して描画ピクセルの色を求める補間処理対象領域を設定する補間処理対象領域設定部としてコンピュータを機能させることを特徴とするプログラム。
【請求項３】
請求項１、２において、
前記オブジェクトに対応づけられたテクスチャを構成するテクセルに格納された属性情報を参照して、前記第１の色、前記第２の色とは別に設定された特定色で描画ピクセルを描画する特定色領域を設定する特定色領域設定部としてコンピュータを機能させることを特徴とするプログラム。
【請求項４】
請求項２に従属する請求項３において、
前記描画部が、
前記オブジェクトを構成するプリミティブの描画ピクセルのうち、前記補間処理対象領域、前記特定色領域のいずれでもない描画ピクセルを、第１の色で描画することを特徴とするプログラム。
【請求項５】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項１〜４のいずれかに記載のプログラムを記憶していることを特徴とする情報記憶媒体。
【請求項６】
オブジェクトが配置されたオブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、
第１の色と第２の色とを補間して第３の色を求める第１の補間処理部と、
前記第１の色と前記第３の色とを補間して前記オブジェクトを構成するプリミティブの描画ピクセルの色を求める第２の補間処理部とを含む描画部を有し、
前記第２の補間処理部が、
前記視点の向きと、前記オブジェクトを構成するプリミティブの向きとに基づき、前記視点の向きと正対する基準方向からのずれに応じて前記第１の色の合成率が低くなるように、前記第１の色と前記第３の色とを補間することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体および画像生成システムに関する。
【背景技術】
【０００２】
従来から、オブジェクト空間に配置された物体と視点との位置関係に応じて、当該物体に透過処理を行う画像生成装置が知られている。この画像生成装置によれば、視点とオブジェクトの間に配置された物体に透過処理を行うことによって、オブジェクトの視認性を高めることができる。
【特許文献１】特開平９−５０５４１ 号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記画像生成装置の目的はオブジェクトの視認性を高めることであり、リアリティのある半透明物体を表現することは考慮されていなかった。さらに上記画像生成装置では、半透明物体を表示するために半透明モデルを用意する必要があったため、モデルのデータ量が大きくなってしまうという問題があった。本発明の目的は、視点との位置関係によって透明度が変化するような物体を小さいモデルデータ量でリアルに表現することが可能なプログラム、情報記憶媒体および画像生成システムを提供することである。
【課題を解決するための手段】
【０００４】
（１）本発明は、オブジェクトが配置されたオブジェクト空間を所与の視点から見た画像を生成するための画像生成システムであって、第１の色と第２の色とを補間して第３の色を求める第１の補間処理部と、前記第１の色と前記第３の色とを補間して前記オブジェクトを構成するプリミティブの描画ピクセルの色を求める第２の補間処理部とを含む描画部を有し、前記第２の補間処理部が、前記視点の向きと、前記オブジェクトを構成するプリミティブの向きとに基づき、前記視点の向きと正対する基準方向からのずれに応じて前記第１の色の合成率が低くなるように、前記第１の色と前記第３の色とを補間することを特徴とする画像生成システムに関係する。また、本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また、本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。
【０００５】
本発明によれば、視点との位置関係によって透明度が変化するような物体を、半透明モデルを用いることなく少ないモデルデータ量で表現することができる。
【０００６】
（２）また、本発明にかかる画像生成システム、プログラム、および情報記憶媒体では、前記オブジェクトに対応づけられたテクスチャを構成するテクセルに格納された属性情報を参照して、前記第１の色と前記第３の色とを補間して描画ピクセルの色を求める補間処理対象領域を設定する補間処理対象領域設定部を有するようにしてもよい。
【０００７】
このようにすれば、半透明物体を表示する領域を属性情報に基づいて設定することができるので、複雑な形状の半透明物体を表示することができる。
【０００８】
（３）また、本発明にかかる画像生成システム、プログラム、および情報記憶媒体では、前記オブジェクトに対応づけられたテクスチャを構成するテクセルに格納された属性情報を参照して、前記第１の色、前記第２の色とは別に設定された特定色で描画ピクセルを描画する特定色領域を設定する特定色領域設定部を含むようにしてもよい。
【０００９】
このようにすれば、特定色領域に模様などの画像を描画することができ、複雑な形状の半透明物体を表示することができる。
【００１０】
（３）また、本発明にかかる画像生成システム、プログラム、および情報記憶媒体では、  前記描画部が、前記オブジェクトを構成するプリミティブの描画ピクセルのうち、前記補間処理対象領域、前記特定色領域のいずれでもない描画ピクセルを、第１の色で描画するようにしてもよい。
【００１１】
このようにすれば、補間処理対象領域は第１の色と第３の色が合成された色で、特定色領域は特定色で、補間処理対象領域、前記特定色領域のいずれでもない領域は第１の色で描画されることにより、複雑な形状の半透明物体を表示することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００１３】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００１４】
操作部１６０は、プレーヤがプレーヤオブジェクト（移動体オブジェクトの一例、プレーヤが操作するプレーヤ車両など）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００１５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（メインメモリ１７２）、ＶＲＡＭ（ビデオメモリ１７４）などにより実現できる。
【００１６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００１７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００１８】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。通信部１９６は外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００１９】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０のメインメモリ１７２）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００２０】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０内のメインメモリ１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ（メインプロセッサ）、ＧＰＵ（描画プロセッサ）、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００２１】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００２２】
オブジェクト空間設定部１１０は、オブジェクトデータ記憶部１７２Ａに記憶されているオブジェクトデータに基づいて、車、キャラクタ、建物、球場、樹木、柱、壁、コース（道路）、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、決定された位置（Ｘ、Ｙ、Ｚ）に決定された回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００２３】
移動・動作処理部１１２は、オブジェクト（車、キャラクタ、又は飛行機等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させる処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００２４】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００２５】
例えば仮想カメラによりオブジェクト（例えば車、キャラクタ、ボール）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報（所定の制御情報の一例）に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させたりする制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータ（所定の制御情報の一例）に基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００２６】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）がオブジェクトデータ記憶部１７２Ａから入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。この時、頂点データに含まれるテクスチャ座標、色データ、法線ベクトル或いはα値等は補間されて、ピクセル毎にこれらのデータが設定される。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色をレンダリングターゲット（ピクセル単位で画像情報を記憶できるバッファ。メインメモリ１７２の画像バッファ１７２Ｂ、ビデオメモリ１７４の画像バッファ１７４Ｄ）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００２７】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００２８】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００２９】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、メインメモリ１７２のオブジェクトデータ記憶部１７２Ａに保存される。
【００３０】
テクスチャマッピングは、画像バッファ１７２Ｂまたは１７４Ｄに記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて画像バッファ１７２Ｂまたは１７４Ｄからテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間、トライリニア補間などを行う。
【００３１】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７４Ｂ（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７４Ｂに格納されるＺ値を参照する。そして参照されたＺバッファのＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７４ＢのＺ値を新たなＺ値に更新する。  
【００３２】
αブレンディングとしては、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）を行う。例えば通常αブレンディングの場合には下式（１）〜（３）の処理を行う。
【００３３】
ＲＱ＝（１−α）×Ｒ１＋α×Ｒ２    （１）
ＧＱ＝（１−α）×Ｇ１＋α×Ｇ２    （２）
ＢＱ＝（１−α）×Ｂ１＋α×Ｂ２    （３）
また、加算αブレンディングの場合には下式（４）〜（６）の処理を行う。なお単純加算の場合はα＝１として下式（４）〜（６）の処理を行う。
【００３４】
ＲＱ＝Ｒ１＋α×Ｒ２                （４）
ＧＱ＝Ｇ１＋α×Ｇ２                （５）
ＢＱ＝Ｂ１＋α×Ｂ２                （６）
また、減算αブレンディングの場合には下式（７）〜（９）の処理を行う。なお単純減算の場合はα＝１として下式（７）〜（９）の処理を行う。
【００３５】
ＲＱ＝Ｒ１−α×Ｒ２                （７）
ＧＱ＝Ｇ１−α×Ｇ２                （８）
ＢＱ＝Ｂ１−α×Ｂ２                （９）
ここで、Ｒ１、Ｇ１、Ｂ１は、画像バッファ１７２Ｂあるいは画像バッファ１７４Ｄに既に描画されている画像（原画像）のＲＧＢ成分であり、Ｒ２、Ｇ２、Ｂ２は、画像バッファ１７２Ｂあるいは画像バッファ１７４Ｄに描画すべき画像のＲＧＢ成分である。また、ＲＱ、ＧＱ、ＢＱは、αブレンディングにより得られる画像のＲＧＢ成分である。なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００３６】
また、描画部１２０は、第１の補間処理部１２２、第２の補間処理部１２４、補間処理対象領域設定部１２６、特定色領域設定部１２８を含む。
【００３７】
第１の補間処理部１２２は、描画バッファ１７２Ｂまたは１７４Ｄに記憶されたテクスチャ情報等から第１の色と第２の色を取得し、所定のパラメータに基づいて第１の色と第２の色を補間して第３の色を求める。
【００３８】
第２の補間処理部１２４は、第１の色と第３の色を補間して、オブジェクトを構成するプリミティブの描画ピクセルの色を求める。その際に、第２の補間処理部は、視点の向きとオブジェクトを構成するプリミティブの向きとに基づき、視点の向きと正対する基準方向からのずれに応じて第１の色の合成率が低くなるように、第１の色と第３の色とを補間する。
【００３９】
補間処理対象領域設定部１２６は、描画バッファ１７２Ｂまたは１７４Ｄに記憶されたマスクテクスチャを構成するテクセルに格納された属性情報を参照して、第１の色と第３の色とを補間して描画ピクセルの色を求める補間処理対象領域を設定する。
【００４０】
特定色領域設定部１２８は、描画バッファ１７２Ｂまたは１７４Ｄに記憶されたマスクテクスチャを構成するテクセルに格納された属性情報を参照して、第１の色、第２の色とは別に設定された特定色で描画ピクセルを描画する特定色領域を設定する。
【００４１】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００４２】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００４３】
２．本実施形態の第１の手法
以下に、図２〜図５を用いて本実施形態の第１の手法を説明する。本実施形態の第１の手法では、肌が透けて見えるような、薄い素材の衣服（例えばストッキング）を着用したキャラクタの画像を生成する場合を例に取って説明する。
【００４４】
２−１．補間処理
図２は、本実施形態の第１の手法の概略を示した図である。本実施形態の第１の手法では、肌の色（第１の色）と、衣服の色（第２の色）が予め設定されている。
【００４５】
まず、この予め設定された２つの色が、衣服の厚さを表すパラメータで合成されて、肌の色と衣服の色との補間色（第３の色）が算出される（第１の補間処理）。すなわち、衣服が厚ければ衣服の色が高い割合で合成され、衣服が薄ければ肌の色が高い割合で合成される。このパラメータを調整することで、衣服の厚さを変化させることができる。後述するように、本実施形態の第１の手法ではプリミティブの向きに応じてさらに色を変化させるが、ここで算出された肌の色と衣服の色との補間色は、衣服の色が最も濃く現れる部分の色となる。
【００４６】
次に、本実施形態の第１の手法では、肌の色と第１の補間処理で算出された補間色とを、視点の向きとプリミティブの向きに応じた合成率で合成して、プリミティブの描画ピクセルの色を求める（第２の補間処理）。すなわち、衣服の色が最も濃く現れる部分の色である補間色と肌の色をさらに合成することによって、衣服が透けて肌の色が見える部分の色が生成される。具体的には、プリミティブの描画ピクセルに設定された法線ベクトルと視線ベクトルの内積に基づいて、法線ベクトルの向きが視線ベクトルと正対する基準方向からずれるほど肌の色の合成率が低くなるように、肌の色と補間色とを合成する。
【００４７】
図３は、本実施形態の第１の手法のオブジェクト空間の概略を示す図である。本実施形態の第１の手法では、オブジェクト空間にオブジェクト２００（キャラクタの足のオブジェクト）、仮想カメラＶが配置される。そして、オブジェクト２００を構成するプリミティブには法線ベクトルＮａ〜Ｎｃが設定されている。また、仮想カメラＶには仮想カメラの向きを表す視線ベクトルＮｖが設定されている。オブジェクト２００が透視投影変換、ラスタライズされると、法線ベクトルＮａ〜Ｎｃが補間されて、描画ピクセル毎の法線ベクトルが求められる。本実施形態の第１の手法では、当該描画ピクセル毎の法線ベクトルと視線ベクトルの内積が求められ、内積に応じた合成率で肌の色と補間色が合成される。肌の色をａ、補完色をｂ、描画ピクセルの法線ベクトルと視線ベクトルの内積のべき乗をＸとすると、この描画ピクセルの描画色ｃは例えば下式（１０）で求められる。
【００４８】
ｃ＝Ｘ×ａ＋（１−Ｘ）×ｂ    （１０）
図４は、本実施形態の第１の手法に基づいて生成されたオブジェクト２００の画像である。図４に示すとおり、描画ピクセルの法線ベクトルと視線ベクトルに正対する方向とのずれが大きい描画ピクセルｐａ１は、補間色に近い描画色で描画される。これは、第２の補間処理によって肌の色と補間色が合成される際に、肌の色が低い割合で合成されるからである。一方、描画ピクセルの法線ベクトルが視線ベクトルとほぼ正対する描画ピクセルｐｂ１は、肌の色に近い描画色で描画される。これは、第２の補間処理によって肌の色と補間色が合成される際に、肌の色が高い割合で合成されるからである。
【００４９】
このように、本実施形態の第１の手法を用いることにより、例えばストッキングを身につけたキャラクタの足のモデルを仮想カメラから見た画像を生成することができる。すなわち、足のモデルのうち仮想カメラに正対する部分は肌の色に近い色で描画され、仮想カメラと正対する向きからのずれが大きい部分はストッキングの色が濃く現れる色で描画される。本実施形態の第１の手法を用いることにより、足のモデルとは別の半透明モデルを使用することなく、ストッキングのような薄い生地の衣服を身につけたキャラクタを表現することができる。
【００５０】
２−２．本実施形態の第１の手法の処理の流れ
図５は、本実施形態の第１の手法の処理の流れを示すフローチャートである。
【００５１】
画像生成システムはまず、画像バッファ１７２Ｂまたは１７４Ｄに格納されたテクスチャ等から、肌の色（第１の色）、衣服の色（第２の色）を取得する（ステップＳ１０２、Ｓ１０４）。そして、第１の色と第２の色を所定のパラメータ（例えば、衣服の厚さパラメータ）で合成し、補間色（第３の色）を算出する（ステップＳ１０６）。
【００５２】
次に画像生成システムは、視点に設定された視線ベクトルと描画ピクセルに設定された法線ベクトルの内積を求める（ステップＳ１０８）。そして、当該内積に基づいて、肌の色と衣服の色を合成し、描画ピクセルの描画色を決定する（ステップＳ１１０）。
【００５３】
３．本実施形態の第２の手法
次に、図６、図７を用いて本実施形態の第２の手法について説明する。本実施形態の第２の手法では、本実施形態の第１の手法の補間処理に加えて、マスクテクスチャを用いて補間処理対象領域を設定することにより、本実施形態の第１の手法よりも複雑な形状の衣服（例えば模様入りの網タイツ）を身にまとったキャラクタを表現することができる。尚、本実施形態の第１の手法と共通する部分については、説明を省略する。
【００５４】
３−１．マスク処理
図６は、本実施形態の第２の手法で使用されるマスクテクスチャの一例を示す図である。図６に示すように、本実施形態の第２の手法では、テクスチャのＲプレーンとＧプレーンにそれぞれ異なるマスク情報（属性情報）を格納している。Ｒプレーンには、格子状のマスク情報が格納されている。Ｒ値が０の部分（補間処理対象領域、図６の黒い部分）は、補間処理を行って肌の色（第１の色）と衣服の色（第２の色）が合成された描画色が描画される領域である。補間処理対象領域以外の部分（図６の白い部分）は、補間処理が行われず、肌の色がそのまま描画される領域である。Ｇプレーンにはエンブレム状のマスク情報が格納されている。ＧプレーンのＧ値が０の部分（図６の黒い部分）は、色の変わらない領域（特定色領域）であり、この領域には、肌の色、衣服の色とは別に予め設定された色の変わらない領域の色（特定色）が描画される。
【００５５】
本実施形態の第２の手法を用いることにより、例えば網タイツを身につけたキャラクタの足のモデルを仮想カメラから見た画像を生成することができる。すなわち、足の画像の網タイツの格子の部分が補間処理対象領域、網タイツに付いた模様の部分が色の変わらない領域として描画される。本実施形態の第２の手法では、本実施形態の第１の手法よりも複雑な形状の衣服をまとったキャラクタの画像を生成することができる。
【００５６】
３−２．本実施形態の第２の手法の処理の流れ
図７は、本実施形態の第２の手法の処理の流れを示すフローチャートである。
【００５７】
まず、画像生成システムは、画像バッファ１７２Ｂまたは１７４Ｄに格納されたマスクテクスチャのＲプレーンに基づいて、補間処理対象領域を設定する（ステップＳ２０２）。また、マスクテクスチャのＧプレーンから、色の変わらない領域を設定する（ステップＳ２０４）。また、肌の色（第１の色）、衣服の色（第２の色）を取得し（ステップＳ２０６、Ｓ２０８）、さらに色の変わらない領域の色を取得する（ステップＳ２１０）。
【００５８】
次に、画像生成システムは、描画しようとする描画ピクセルが色の変わらない領域かどうかを、マスクテクスチャのＧプレーンに格納されたマスク情報（属性情報）を参照して判定する（ステップＳ２１２）。本実施形態の第２の手法では、色の変わらない領域であることを示すために、マスクテクスチャのＧプレーンのテクセルにＧ＝０（黒色）が設定されている。画像生成システムは、描画ピクセルに設定されるテクスチャ座標に従ってマスクテクスチャのテクセルを参照し、参照したテクセルの値が０だった場合は、当該描画ピクセルが色の変わらない領域であると判定する（ステップＳ２１２Ｙ）。そして、画像生成システムは、色の変わらない領域であると判定した描画ピクセルを、色の変わらない領域の色で描画する（ステップＳ２１４）。
【００５９】
描画しようとする描画ピクセルが色の変わらない領域でないと判定した場合（ステップＳ２１２Ｎ）、画像生成システムはマスクテクスチャのＲプレーンに格納されたマスク情報を参照して、当該描画ピクセルが補間処理対象領域か否かを判定する（ステップＳ２１６）。具体的には、描画ピクセルに設定されるテクスチャ座標に従って、マスクテクスチャのＲプレーンのテクセルを参照し、テクセルにＲ＝０（黒色）が格納されている場合に当該描画ピクセルが補間処理対象領域であると判定する（ステップＳ２１６Ｙ）。すると、画像生成システムは肌の色と衣服の色から描画ピクセルの描画色を求める処理を行う。まず、画像生成システムは肌の色と衣服の色を所定のパラメータ（例えば衣服の厚さパラメータ）で合成し、補間色を算出する（ステップＳ２１８）。次に画像生成システムは、視点に設定された視線ベクトルと描画ピクセルに設定された法線ベクトルの内積を求める（ステップＳ２２０）。そして、当該内積に基づいて、肌の色と補間色を合成し、描画ピクセルの描画色を決定する（ステップＳ２２２）。描画しようとする描画ピクセルが補間処理対象領域でないと判定した場合、（ステップＳ２１６Ｎ）、画像生成システムは、補間処理対象領域でないと判定した描画ピクセルを肌の色で描画する（ステップＳ２２４）。
【００６０】
４．変形例
４−１．第１の色と第２の色
上記実施形態では、第１の色を肌の色、第２の色を衣服の色とする例を説明したが、これとは逆に、第１の色を衣服の色、第２の色を肌の色としてもよい。上記実施形態では、第１の補間処理で衣服の色が最も濃くなる部分の色として第３の色を算出し、第２の補間処理で内積に基づいて第１の色（肌の色）と第３の色を合成した。これに対し、第１の色を衣服の色、第２の色を肌の色とした場合は、第１の補間処理で衣服の色が最も薄くなる部分の色として第３の色を算出し、第２の補間処理で内積に基づいて第１の色（衣服の色）と第３の色を合成すればよい。
【００６１】
４−２．マスクテクスチャ  
上記実施形態では、マスクテクスチャのＲプレーンとＧプレーンにそれぞれ異なるマスク情報を格納する例を説明したが、マスク情報の格納方法はこれに限られるものではない。例えばＲプレーンだけを用いてもよいし、Ｒプレーン、Ｇプレーン、Ｂプレーン、αプレーンを用いてもよい。
【００６２】
また、上記実施形態では格子状のマスク情報が白黒２値である例を説明したが、白黒２値ではなく、グレースケールであってもよい。この場合、例えば第３の色にさらにグレースケール値に基づく調整を行うようにする。このようにすれば、第１の領域と第２の領域の境界線がくっきりと色分けされるのではなく、徐々に色が変化するような画像を生成することができる。
【図面の簡単な説明】
【００６３】
【図１】本実施形態の画像生成システムの機能ブロック図。
【図２】本実施形態の手法の概略図。
【図３】本実施形態のオブジェクト概略図。
【図４】本実施形態のスクリーン画像概略図。
【図５】本実施形態の処理の流れを示すフローチャート。
【図６】本実施形態で使用されるマスクテクスチャ。
【図７】本実施形態の処理の流れを示すフローチャート。
【符号の説明】
【００６４】
１００  処理部、
１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、
１２０  描画部、１２２  第１の補間処理部、１２４  第２の補間処理部
１３０  音生成部、
１６０  操作部、１７０  記憶部、
１７２  メインメモリ、
１７２Ａ  オブジェクトデータ記憶部、１７２Ｂ  画像バッファ、
１７４  ビデオメモリ、
１７４Ｂ  Ｚバッファ、１７４Ｄ  画像バッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、
１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2010033285.tif 000003
【図５】
2010033285.tif 000004
【図６】
2010033285.tif 000005
【図７】
2010033285.tif 000006
【図２】
2010033285.tif 000007
【図３】
2010033285.tif 000008
【図４】
2010033285.tif 000009