(57)【要約】【課題】品質が高く自然な頭髪画像を生成できるプログラム、情報記憶媒体、画像生成システム等の提供。【解決手段】画像生成システムは、オブジェクト空間設定部と、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部を含む。オブジェクト空間設定部は、頭髪テクスチャがマッピングされた複数のポリゴンにより形成される頭髪画像用サブオブジェクトＳＢＩと頭髪のシェーディング用サブオブジェクトＳＢＳとにより構成される頭髪オブジェクトＯＢＨＡが、頭部オブジェクトに対して設定されたモデルオブジェクトを、オブジェクト空間に配置設定する処理を行い、画像生成部は、シェーディング用サブオブジェクトに対してシェーディング処理を行いながら頭髪オブジェクトＯＢＨＡの描画処理を行って、モデルオブジェクトの頭髪画像を生成する。【選択図】図７
2011095936.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間にオブジェクトを配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクトの描画処理を行って、前記オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記オブジェクト空間設定部は、
頭髪テクスチャがマッピングされた複数のポリゴンにより形成される頭髪画像用サブオブジェクトと頭髪のシェーディング用サブオブジェクトとにより構成される頭髪オブジェクトが、頭部オブジェクトに対して設定されたモデルオブジェクトを、前記オブジェクト空間に配置設定する処理を行い、
前記画像生成部は、
前記シェーディング用サブオブジェクトに対してシェーディング処理を行いながら前記頭髪オブジェクトの描画処理を行って、前記モデルオブジェクトの頭髪画像を生成することを特徴とするプログラム。
【請求項２】
請求項１において、
前記画像生成部は、
前記頭髪画像用サブオブジェクトについてはコンスタントシェーディングにより描画処理を行うことを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記頭髪画像用サブオブジェクトは、中心線から放射状に配置設定される複数のポリゴンにより形成されることを特徴とするプログラム。
【請求項４】
請求項３において、
前記頭髪画像用サブオブジェクトにマッピングされる前記頭髪テクスチャは、前記中心線に対応するテクセルの色が頭髪の色に設定されることを特徴とするプログラム。
【請求項５】
請求項３又は４において、
前記画像生成部は、
前記頭髪画像用サブオブジェクトを形成する前記複数のポリゴンの各ポリゴンの法線方向と前記仮想カメラの視線方向とのなす角度が９０度に近づくにつれて、前記各ポリゴンを透明に近づける半透明処理を行うことを特徴とするプログラム。
【請求項６】
請求項３乃至５のいずれかにおいて、
前記頭髪オブジェクトは、前記頭髪画像用サブオブジェクトに交差する交差サブオブジェクトを更に有することを特徴とするプログラム。
【請求項７】
請求項６において、
前記画像生成部は、
前記交差サブオブジェクトを形成する交差ポリゴンの法線方向と前記仮想カメラの視線方向とのなす角度が９０度に近づくにつれて、前記交差ポリゴンを透明に近づける半透明処理を行うことを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記シェーディング用サブオブジェクトは、前記頭髪画像用サブオブジェクトの中心を内包するように配置設定されるオブジェクトであることを特徴とするプログラム。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記オブジェクト空間設定部は、
前記頭髪オブジェクトと前記頭部オブジェクトとの間に、前記頭部オブジェクトのカバーオブジェクトが設定された前記モデルオブジェクトを、前記オブジェクト空間に配置設定する処理を行うことを特徴とするプログラム。
【請求項１０】
請求項１乃至９のいずれかにおいて、
前記オブジェクト空間設定部は、
前記頭部オブジェクトに対するめり込み部分がカリングされた前記頭髪オブジェクトが、前記頭部オブジェクトに対して設定された前記モデルオブジェクトを、前記オブジェクト空間に配置設定する処理を行うことを特徴とするプログラム。
【請求項１１】
請求項１乃至１０のいずれかにおいて、
前記オブジェクト空間設定部は、
複数の前記頭髪オブジェクトが、前記頭部オブジェクトに対して設定された前記モデルオブジェクトを、前記オブジェクト空間に配置設定する処理を行うことを特徴とするプログラム。
【請求項１２】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至１１のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１３】
オブジェクト空間にオブジェクトを配置設定する処理を行うオブジェクト空間設定部と、
前記オブジェクトの描画処理を行って、前記オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、
前記オブジェクト空間設定部は、
頭髪テクスチャがマッピングされた複数のポリゴンにより形成される頭髪画像用サブオブジェクトと頭髪のシェーディング用サブオブジェクトとにより構成される頭髪オブジェクトが、頭部オブジェクトに対して設定されたモデルオブジェクトを、前記オブジェクト空間に配置設定する処理を行い、
前記画像生成部は、
前記シェーディング用サブオブジェクトに対してシェーディング処理を行いながら前記頭髪オブジェクトの描画処理を行って、前記モデルオブジェクトの頭髪画像を生成することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体及び画像生成システム等に関する。
【背景技術】
【０００２】
従来より、キャラクタ等のモデルオブジェクトが配置設定されるオブジェクト空間内（仮想的な３次元空間）において仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。格闘ゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、操作部（ゲームコントローラ）を用いてキャラクタ（モデルオブジェクト）を操作し、相手プレーヤやコンピュータが操作する他キャラクタ（敵キャラクタ）と対戦することでゲームを楽しむ。
【０００３】
このような画像生成システムでは、キャラクタの頭髪についてもリアルに表現できることが望ましい。このようなキャラクタの頭髪画像の生成手法に関する従来技術としては、例えば特許文献１に開示される技術がある。また樹木画像の生成手法に関する従来技術としては特許文献２に開示される技術がある。
【０００４】
しかしながら、これまでの頭髪画像生成手法では、例えばアフロヘアーのような膨らみのある頭髪表現を実現することが難しかった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−８４３９０号公報
【特許文献２】特開２００４−２９８３７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の幾つかの態様によれば、品質が高く自然な頭髪画像を生成できるプログラム、情報記憶媒体、画像生成システム等を提供できる。
【課題を解決するための手段】
【０００７】
本発明の一態様は、オブジェクト空間にオブジェクトを配置設定する処理を行うオブジェクト空間設定部と、前記オブジェクトの描画処理を行って、前記オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含み、前記オブジェクト空間設定部は、頭髪テクスチャがマッピングされた複数のポリゴンにより形成される頭髪画像用サブオブジェクトと頭髪のシェーディング用サブオブジェクトとにより構成される頭髪オブジェクトが、頭部オブジェクトに対して設定されたモデルオブジェクトを、前記オブジェクト空間に配置設定する処理を行い、前記画像生成部は、前記シェーディング用サブオブジェクトに対してシェーディング処理を行いながら前記頭髪オブジェクトの描画処理を行って、前記モデルオブジェクトの頭髪画像を生成する画像生成システムに関する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【０００８】
本発明の一態様によれば、頭髪オブジェクトは、頭髪画像用サブオブジェクトとシェーディング用サブオブジェクトにより構成され、頭髪画像用サブオブジェクトは、頭髪テクスチャがマッピングされた複数のポリゴンにより形成される。そして、このような頭髪オブジェクトが頭部オブジェクトに対して設定されたモデルオブジェクトが、オブジェクト空間に配置設定される。そして、シェーディング用サブオブジェクトに対してシェーディング処理を行いながら頭髪オブジェクトの描画処理が行われて、モデルオブジェクトの頭髪画像が生成される。このようにすれば、頭髪画像用サブオブジェクトを用いて頭髪の基本的な画像を生成しながら、シェーディング処理についてはシェーディング用サブオブジェクトを用いて実行して、頭髪画像を生成できるようになる。従って、品質が高く自然な頭髪画像の生成が可能になる。
【０００９】
また本発明の一態様では、前記画像生成部は、前記頭髪画像用サブオブジェクトについてはコンスタントシェーディングにより描画処理を行ってもよい。
【００１０】
このようにすれば、例えば半透明処理の際の頭髪画像用サブオブジェクトのソーティング処理等を不要にできるため、処理負荷を軽減できる。
【００１１】
また本発明の一態様では、前記頭髪画像用サブオブジェクトは、中心線から放射状に配置設定される複数のポリゴンにより形成されてもよい。
【００１２】
このようにすれば、中心線が目立ってしまう画像が生成されるのを防止できるようになる。
【００１３】
また本発明の一態様では、前記頭髪画像用サブオブジェクトにマッピングされる前記頭髪テクスチャは、前記中心線に対応するテクセルの色が頭髪の色に設定されてもよい。
【００１４】
このようにすれば、頭髪画像用サブオブジェクトの中心線が目立って見える事態を防止できる。
【００１５】
また本発明の一態様では、前記画像生成部は、前記頭髪画像用サブオブジェクトを形成する前記複数のポリゴンの各ポリゴンの法線方向と前記仮想カメラの視線方向とのなす角度が９０度に近づくにつれて、前記各ポリゴンを透明に近づける半透明処理を行ってもよい。
【００１６】
このようにすれば、頭髪画像用サブオブジェクトを形成するポリゴンのエッジが目立って見えてしまう事態を防止できる。
【００１７】
また本発明の一態様では、前記頭髪オブジェクトは、前記頭髪画像用サブオブジェクトに交差する交差サブオブジェクトを更に有してもよい。
【００１８】
このようにすれば、様々な仮想カメラの視線方向から頭髪オブジェクトを見た場合にも、破綻が少なく高品質な頭髪画像を生成できるようになる。
【００１９】
また本発明の一態様では、前記画像生成部は、前記交差サブオブジェクトを形成する交差ポリゴンの法線方向と前記仮想カメラの視線方向とのなす角度が９０度に近づくにつれて、前記交差ポリゴンを透明に近づける半透明処理を行ってもよい。
【００２０】
このようにすれば、交差サブオブジェクトを形成する交差ポリゴンのエッジが目立って見えてしまう事態を防止できる。
【００２１】
また本発明の一態様では、前記シェーディング用サブオブジェクトは、前記頭髪画像用サブオブジェクトの中心を内包するように配置設定されるオブジェクトであってもよい。
【００２２】
このようにすれば、シェーディング用サブオブジェクトを用いたシェーディング処理による頭髪の質感表現を効果的に実現できる。
【００２３】
また本発明の一態様では、前記オブジェクト空間設定部は、前記頭髪オブジェクトと前記頭部オブジェクトとの間に、前記頭部オブジェクトのカバーオブジェクトが設定された前記モデルオブジェクトを、前記オブジェクト空間に配置設定する処理を行ってもよい。
【００２４】
このようにすれば、頭髪オブジェクトの隙間等から頭部オブジェクトの表面が見えてしまう事態等を防止できる。
【００２５】
また本発明の一態様では、前記オブジェクト空間設定部は、前記頭部オブジェクトに対するめり込み部分がカリングされた前記頭髪オブジェクトが、前記頭部オブジェクトに対して設定された前記モデルオブジェクトを、前記オブジェクト空間に配置設定する処理を行ってもよい。
【００２６】
このようにすれば、頭部オブジェクトに対してめり込む部分が無駄なポリゴンとして描画されてしまう事態を防止できる。
【図面の簡単な説明】
【００２７】
【図１】本実施形態の画像生成システムの構成例。
【図２】従来例の問題点の説明図。
【図３】図３（Ａ）、図３（Ｂ）は頭髪画像の例。
【図４】図４（Ａ）〜図４（Ｃ）は頭髪画像用サブオブジェクトの説明図。
【図５】図５（Ａ）、図５（Ｂ）は頭髪画像用サブオブジェクトの他の例。
【図６】図６（Ａ）、図６（Ｂ）はシェーディング用サブオブジェクトの説明図。
【図７】図７（Ａ）、図７（Ｂ）は頭髪画像用サブオブジェクトとシェーディング用サブオブジェクトにより構成される頭髪オブジェクトの説明図。
【図８】図８（Ａ）、図８（Ｂ）は頭髪オブジェクトのカリング手法の説明図。
【図９】交差サブオブジェクトを更に設ける手法の説明図。
【図１０】カバーオブジェクトの説明図。
【図１１】図１１（Ａ）、図１１（Ｂ）は頭髪画像サブオブジェクトを構成するポリゴンの半透明処理手法の説明図。
【図１２】図１２（Ａ）、図１２（Ｂ）は交差サブオブジェクトを構成する交差ポリゴンの半透明処理手法の説明図。
【図１３】頭髪画像用サブオブジェクトの具体例。
【図１４】図１３に対して更に交差サブオブジェクトを設けた例。
【図１５】図１４に対して更にシェーディング用サブオブジェクトを設けた例。
【図１６】頭髪画像用サブオブジェクトを用いて生成される画像の例。
【図１７】シェーディング用サブオブジェクトを用いて生成される画像の例。
【図１８】頭髪画像用サブオブジェクト及びシェーディング用サブオブジェクトの両方を用いて生成される画像の例。
【図１９】本実施形態の処理のフローチャート。
【図２０】本実施形態の処理のフローチャート。
【発明を実施するための形態】
【００２８】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２９】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）のブロック図の例を示す。なお、本実施形態の画像生成システムの構成は図１に限定されず、その構成要素（各部）の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００３０】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ（角速度センサ、加速度センサ等）、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【００３１】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＤＲＡＭ、ＶＲＡＭ）などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部１７０に保持される。
【００３２】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ＨＤＤ（ハードディスクドライブ）、或いはメモリ（ＲＯＭ等）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータ（操作部、処理部、記憶部、出力部を備える装置）を機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００３３】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＬＣＤ、有機ＥＬディスプレイ、ＣＲＴ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３４】
補助記憶装置１９４（補助メモリ、２次メモリ）は、記憶部１７０の容量を補うために使用される記憶装置であり、ＳＤメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【００３５】
通信部１９６は、有線や無線のネットワークを介して外部（例えば他の画像生成システム、サーバ、ホスト装置）との間で通信を行うものであり、その機能は、通信用ＡＳＩＣ又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【００３６】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、サーバ（ホスト装置）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（あるいは記憶部１７０、補助記憶装置１９４）に配信してもよい。このようなサーバ（ホスト装置）による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００３７】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部１００は記憶部１７０をワーク領域として各種処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＧＰＵ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３８】
処理部１００は、ゲーム演算部１０２、オブジェクト空間設定部１０４、移動処理部１０６、モーション処理部１０７、仮想カメラ制御部１０８、画像生成部１２０、音生成部１３０を含む。なおこれらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【００３９】
ゲーム演算部１０２はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００４０】
オブジェクト空間設定部１０４は、移動体（人、ロボット、車、戦闘機、ミサイル、弾等）、マップ（地形）、建物、コース（道路）、樹木、壁などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。具体的には、記憶部１７０のオブジェクトデータ記憶部１７２には、オブジェクト（パーツオブジェクト）の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。
【００４１】
移動処理部１０６は、モデルオブジェクト等の移動オブジェクトを移動させる処理を行う。例えば操作部１６０によりプレーヤが入力した操作データや、プログラム（移動アルゴリズム）や、各種データなどに基づいて、移動オブジェクトをオブジェクト空間内で移動させる。具体的には、移動オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、移動処理やモーション処理や画像生成処理を行う時間の単位である。
【００４２】
モーション処理部１０７は、キャラクタ等のモデルオブジェクトにモーション（アニメーション）を行わせるモーション処理（モーション再生、モーション生成）を行う。このモーション処理は、モデルオブジェクトのモーションを、モーションデータ記憶部１７３に記憶されているモーションデータに基づいて再生することなどで実現できる。
【００４３】
具体的にはモーションデータ記憶部１７３には、モデルオブジェクトのスケルトンを構成する各骨（モデルオブジェクトを構成する各パーツオブジェクト）の位置又は回転角度（親の骨に対する子の骨の３軸周りの回転角度）等を含むモーションデータが記憶されている。モーション処理部１０７は、このモーションデータをモーションデータ記憶部１７３から読み出し、読み出されたモーションデータに基づいてモデルオブジェクトのスケルトンを構成する各骨（パーツオブジェクト）を動かすことで（スケルトン形状を変形させることで）、モデルオブジェクトのモーションを再生する。
【００４４】
モデルデータ記憶部１７４は、モデルオブジェクトのモデルデータを記憶する。このモデルデータは、例えばモデルオブジェクトの形状を規定するデータであり、モデルオブジェクトの基本姿勢や基本形状などを決めるデータである。具体的にはモデルデータ記憶部１７４は、モデルオブジェクトのスケルトンを構成する骨の位置（親の骨からの相対位置）や初期回転角度（基本姿勢での各骨の回転角度）などの初期状態情報を記憶する。またモデルオブジェクトの頂点データ（頂点位置等）を記憶する。モーション処理は、モデルデータに含まれる初期回転角度などの初期状態情報を、モーションデータに基づき更新して行くことで実現される。
【００４５】
仮想カメラ制御部１０８は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）を制御する処理（視点位置、視線方向あるいは画角を制御する処理）を行う。
【００４６】
例えば仮想カメラによりキャラクタ、車などのモデルオブジェクト（移動体）を後方から撮影する場合には、モデルオブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動処理部１０６で得られたモデルオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
【００４７】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理、シミュレーション処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。具体的には、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブ面データ）に基づいて、透視変換後（ジオメトリ処理後）のオブジェクト（１又は複数プリミティブ面）を、描画バッファ１７６（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００４８】
例えば画像生成部１２０は、頂点処理部１２２、ピクセル処理部１２４を含むことができる。
【００４９】
頂点処理部１２２（頂点シェーダ、ジオメトリーシェーダ）は頂点処理を行う。具体的には、オブジェクトの頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）に基づいて、頂点処理（頂点シェーダによるシェーディング）を行う。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００５０】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、あるいは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。
【００５１】
ピクセル処理部１２４（ピクセルシェーダ）はピクセル処理を行う。具体的には、ラスタライズ後に、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）を行う。
【００５２】
ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャ記憶部１７５からのテクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４に出力（描画）する。即ち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００５３】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現できる。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５４】
また画像生成部１２０は、αブレンディング処理、テクスチャマッピング処理、シェーディング処理等を行う。
【００５５】
αブレンディング処理（α合成処理）は、α値（Ａ値）に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。なおα値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度（透明度、不透明度と等価）情報、マスク情報、或いはバンプ情報などとして使用できる。
【００５６】
テクスチャマッピング処理（テクスチャフェッチ・テクスチャサンプリング処理）は、テクスチャ記憶部１７５に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングする処理である。具体的には、オブジェクト（プリミティブ面）の頂点等に設定（付与）されるテクスチャ座標等を用いてテクスチャ記憶部１７５からテクスチャ（色、α値などの表面プロパティ）を読み出す。そして、２次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間（広義にはテクセル補間）などを行う。
【００５７】
シェーディング処理（ライティング処理、陰影処理）は、照明モデル等に基づいて行われる。具体的にはこのシェーディング処理は、光源情報（光源ベクトル、光源色、明るさ、光源タイプ等）、仮想カメラ（視点）の視線ベクトル、オブジェクト（ポリゴン、半透明ポリゴン）の法線ベクトル、オブジェクトのマテリアル（色、材質）などを用いて行われる。なお照明モデルとしては、アンビエント光とディフューズ光だけを考慮したランバードの拡散照明モデルや、アンビエント光、ディフューズ光に加えてスペキュラ光も考慮するフォンの照明モデルやブリン（フォン・ブリン）の照明モデルなどがある。
【００５８】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００５９】
そして本実施形態では、頭髪オブジェクト（毛オブジェクト）は、頭髪画像用サブオブジェクト（毛画像用サブオブジェクト）と、頭髪（毛）のシェーディング用サブオブジェクトとにより構成される。また頭髪画像用サブオブジェクトは、頭髪テクスチャ（毛テクスチャ）がマッピングされた複数のポリゴン（プリミティブ面）により形成される。そしてオブジェクト空間設定部１０４は、この頭髪オブジェクトが頭部オブジェクト（毛が生える対象となるオブジェクト）に設定（結合）されたモデルオブジェクトを、オブジェクト空間に配置設定する処理を行う。そして画像生成部１２０は、シェーディング用サブオブジェクトに対してシェーディング処理を行いながら頭髪オブジェクトの描画処理を行って、モデルオブジェクトの頭髪画像（毛画像）を生成する。
【００６０】
ここで頭髪画像用サブオブジェクトにマッピングされる頭髪テクスチャは、頭髪の基本色（例えば黒）を表すためのテクスチャである。この頭髪テクスチャでは、例えば頭髪画像用サブオブジェクトの中心線（基準線）に対応するテクセルの色が黒色（ほぼ黒色）に設定される。
【００６１】
頭髪画像用サブオブジェクト（頭髪形状用サブオブジェクト）は、頭髪の基本形状を表すためのサブオブジェクトであり、複数のポリゴンにより構成される。例えば頭髪画像用サブオブジェクトは、中心線（基準線）から放射状に配置設定される複数のポリゴン（複数のパーツオブジェクト）により構成される。例えば中心線をその一辺（共通辺）とし、その面の法線方向が異なる複数のポリゴンにより構成される。なお頭髪画像用サブオブジェクトを形成するポリゴンの中には、中心線が共通辺とならないポリゴンが存在してもよい。
【００６２】
シェーディング用サブオブジェクト（質感表現用サブオブジェクト）は、頭髪オブジェクトのシェーディング処理用（ライティング処理用）に設けられるサブオブジェクトであり、頭髪の質感を表現するためのサブオブジェクトである。このシェーディング用サブオブジェクトには、例えば頭髪の質感表現用のテクスチャ（ＲＧＢ色のテクスチャ）や、頭髪のハイライト（艶）を表現するためのスペキュラマッピング用のテクスチャ（グレースケールのテクスチャ）がマッピングされる。
【００６３】
例えば頭髪の質感表現用のテクスチャでは、頭髪の白い部分や頭髪の輪郭でのふさふさ感（黒いもや）が表現される。これらの表現は例えばα値を用いたαブレンディング処理などで実現できる。またスペキュラマッピング用テクスチャ（スペキュラ用テクスチャ）では、例えばハイライトが表示される領域が白色に設定され、ハイライトが表示されない領域が黒色に設定される。また弱いハイライトが表示される領域はグレー色に設定される。
【００６４】
また画像生成部１２０は、シェーディング用サブオブジェクトに対してはシェーディング処理を行いながら描画処理を行う一方で、頭髪画像用サブオブジェクトについてはコンスタントシェーディングにより描画処理を行う。ここでコンスタントシェーディングは、フォンやブリンやランバードなどの照明モデルを用いない描画処理（光源計算を行わない描画処理）である。
【００６５】
また画像生成部１２０は、仮想カメラの視線方向（視線ベクトル）と頭髪オブジェクトの各ポリゴンの法線方向（法線ベクトル）とのなす角度（内積）に応じて、各ポリゴンの半透明処理を行う。例えば画像生成部１２０は、頭髪画像用サブオブジェクトを形成する複数のポリゴンの各ポリゴンの法線方向と、仮想カメラの視線方向とのなす角度が９０度に近づくにつれて、各ポリゴンを透明に近づける半透明処理を行う。或いは、頭髪オブジェクトが、頭髪画像用サブオブジェクトに交差する交差サブオブジェクトを更に有する場合には、交差サブオブジェクトを形成する交差ポリゴンの法線方向と、仮想カメラの視線方向とのなす角度が９０度に近づくにつれて、各交差ポリゴンを透明に近づける半透明処理を行う。
【００６６】
これらの半透明処理は、ポリゴン又は交差ポリゴンの頂点や面に設定されたα値を用いて実現できる。この場合には、例えば仮想カメラの視線ベクトルと、ポリゴン又は交差ポリゴンの法線ベクトルの内積を求め、この内積に基づいてポリゴン又は交差ポリゴンのα値を設定すればよい。
【００６７】
シェーディング用サブオブジェクトは、頭髪画像用サブオブジェクトの少なくとも中心を内包するように配置設定される。例えばシェーディング用サブオブジェクトは、頭髪画像用サブオブジェクトを覆う形状のオブジェクトであり、例えば球形状（略球形状を含む）のオブジェクトである。シェーディング用サブオブジェクトの形状は、キャラクタの頭髪の形状等に応じて、変更することができる。
【００６８】
またオブジェクト空間設定部１０４は、頭髪オブジェクトと頭部オブジェクトとの間にカバーオブジェクトが設定されたモデルオブジェクトを、オブジェクト空間に配置設定する処理を行う。この頭髪オブジェクトのカバーオブジェクトは、外側からキャラクタの頭部を見た時に、頭髪画像用サブオブジェクト等の隙間領域から、キャラクタの頭部の表面が見えてしまう事態を防止するためのオブジェクトであり、例えばその色が黒色に設定されている。そしてカバーオブジェクトは、キャラクタの頭部オブジェクトの形状（頭髪が生える部分の形状）に応じた形状にすることができる。
【００６９】
またオブジェクト空間設定部１０４は、頭部オブジェクトに対するめり込み部分がカリング（削除）された頭髪オブジェクトが、頭部オブジェクトに対して設定されたモデルオブジェクトを、オブジェクト空間に配置設定する処理を行う。即ち、頭部オブジェクトに対して結合する側の形状が、頭部オブジェクトの形状に適合するような形状になるように、頭髪オブジェクトのカリング処理を行う。こうすることで、頭部オブジェクトに対してめり込む部分が無駄なポリゴンとして描画されてしまう事態を防止できる。
【００７０】
またオブジェクト空間設定部１０４は、複数の頭髪オブジェクトが、頭部オブジェクトに対して設定されたモデルオブジェクトを、オブジェクト空間に配置設定する処理を行ってもよい。即ち頭部オブジェクトの複数の場所の各場所に、複数の頭髪オブジェクトのうちの対応する頭髪オブジェクトを設定する。こうすることで、例えばおさげの髪型やお団子頭の髪型などの多様な髪型を表現できる。
【００７１】
２．本実施形態の手法
２．１  頭髪画像の生成
図２に本実施形態の比較例となる頭髪画像の生成手法を示す。この比較例では、頭髪テクスチャがマッピングされた頭髪ポリゴンを、キャラクタの頭部オブジェクトに何枚も重ねて配置することで頭髪画像を生成する。この頭髪テクスチャでは、髪の毛の絵が描かれていない領域には、透明のα値（α＝０）が設定されており、この頭髪テクスチャがマッピングされた複数の頭髪ポリゴン（短冊ポリゴン）を、いわゆる松ぼっくりのように頭部オブジェクトに重ねて配置する。
【００７２】
しかしながら、この比較例の手法では、生成される頭髪画像が平面的になり、図３（Ａ）、図３（Ｂ）に示すようなボリューム感のある頭髪（例えばアフロヘアー）を表現することが難しい。また、多数の頭髪ポリゴンを半透明処理で描画する必要があり、半透明合成の優先度を決めるために頭髪ポリゴンのソーティング処理を行う必要があるなどの問題がある。
【００７３】
一方、図３（Ａ）、図３（Ｂ）に示すようなキャラクタの頭髪画像を生成する場合には、頭髪と光源方向との位置関係に応じたハイライト表現（艶、テカリの表現）を行うことができれば、生成される画像のリアリティを増すことができる。
【００７４】
そこで本実施形態では、後述する図７（Ａ）に示すように、頭髪オブジェクトＯＢＨＡを、図４（Ａ）〜図４（Ｃ）で説明するような頭髪画像用サブオブジェクトＳＢＩと、図６（Ａ）、図６（Ｂ）で説明するようなシェーディング用サブオブジェクトＳＢＳにより構成する。そして図７（Ｂ）に示すようなキャラクタ（モデルオブジェクト）の頭部オブジェクトＯＢＨＤに対して、この頭髪オブジェクトＯＢＨＡを設定（結合、かぶせる）することで、キャラクタの頭髪を表現する。
【００７５】
具体的には、図４（Ａ）に示すような複数のポリゴンＰＬ１、ＰＬ２、ＰＬ３により形成される頭髪画像用サブオブジェクトＳＢＩを用意する。図４（Ａ）では、頭髪画像用サブオブジェクトＳＢＩは、中心線ＬＣから放射状に配置設定される複数のポリゴンＰＬ１、ＰＬ２、ＰＬ３により形成される。これらのポリゴンＰＬ１、ＰＬ２、ＰＬ３は中心線ＬＣを共通辺としている。なお、頭髪画像用サブオブジェクトＳＢＩを形成するポリゴンの枚数は任意である。
【００７６】
また図４（Ｂ）に示すような頭髪テクスチャＴＥＸを用意する。この頭髪テクスチャＴＥＸでは、Ａ１に示すように、その中心領域のテクセルの色は黒色等の髪の毛の色に設定されている。またＡ２に示すように、その境界付近のパターン形状は、例えばアフロヘアーの縮れ毛等の髪型の特徴を表すパターン形状になっている。またＡ３に示すように、頭髪画像用サブオブジェクトＳＢＩの中心線ＬＣに対応するテクセルの色が、黒色等の頭髪の色に設定されている。
【００７７】
そして図４（Ｃ）に示すように、頭髪画像用サブオブジェクトＳＢＩを形成する各ポリゴンに対して、図４（Ｂ）の頭髪テクスチャＴＥＸをマッピングする。
【００７８】
このようにすれば、様々な視線方向の仮想カメラから見た場合にも、あたかもボリューム感のある頭髪（髪の毛）が存在しているかのように見える画像を生成できる。また図４（Ｂ）のＡ３に示すように中心線に対応するテクセルを、黒色等の頭髪の色に設定すれば、図４（Ｃ）に示すように、ポリゴンＰＬ１、ＰＬ２、ＰＬ３の境界が黒色に塗りつぶされて目立たなくなり、不自然さのない頭髪画像を生成できるようになる。
【００７９】
なお頭髪画像用サブオブジェクトＳＢＩの形状は図４（Ａ）には限定されず、図５（Ａ）、図５（Ｂ）に示すように様々な形状を採用できる。例えば図５（Ａ）では３枚のポリゴンが中心線から放射状に配置され、図５（Ｂ）では６枚のポリゴンが中心線から放射状に配置されている。このように頭髪画像用サブオブジェクトＳＢＩの中心線から放射状に配置されるポリゴンの枚数は任意である。
【００８０】
また図４（Ａ）では、中心線ＬＣから第１の方向にポリゴンＰＬ１が配置され、第２の方向にポリゴンＰＬ２が配置され、第３の方向にポリゴンＰＬ３が配置されるというように、各方向（各放射方向）に対して１枚のポリゴンだけが配置されているが、本実施形態はこれに限定されない。例えば後述する図１３等に示すように、各方向に複数枚のポリゴンを配置してもよい。
【００８１】
また本実施形態では、図６（Ａ）に示すようなシェーディング用サブオブジェクトＳＢＳを用意する。
【００８２】
シェーディング用サブオブジェクトＳＢＳは、髪の毛のパターンや艶などの頭髪の質感を表現するためのオブジェクトである。そして図４（Ｃ）の頭髪画像用サブオブジェクトＳＢＩではシェーディングがコンスタントに設定され、フォンやブリンやランバードなどの照明モデルに基づくライティング処理が行われない設定になっている。一方、図６（Ａ）のシェーディング用サブオブジェクトＳＢＳでは、頭髪の艶（ハイライト）を表現するために、フォンやブリンやランバードなどの照明モデルに基づくライティング処理が行われる設定になっている。またシェーディング用サブオブジェクトＳＢＳは、例えば球形状（略球形状）になっている。
【００８３】
本実施形態では、図６（Ａ）のシェーディング用サブオブジェクトＳＢＳに対して、例えば質感表現用の色テクスチャやハイライト表現用のスペキュラマップテクスチャをマッピングする。図６（Ｂ）に、これらの色テクスチャやスペキュラマップテクスチャが、シェーディング用サブオブジェクトＳＢＳにマッピングされた画像の例を示す。
【００８４】
図６（Ｂ）において、シェーディング用サブオブジェクトＳＢＳにマッピングされる色テクスチャにより、頭髪の白い部分や髪のパターン形状などの質感が表現される。また、色テクスチャの輪郭は黒いもやがかかったような画像になっており、これにより頭髪の輪郭でのふさふさ感が表現される。
【００８５】
またシェーディング用サブオブジェクトＳＢＳにマッピングされるスペキュラマップテクスチャにより、光源による頭髪のハイライト（艶）が表現される。即ち、光源からの光が頭髪に照射されると、スペキュラマップテクスチャによりハイライト部分として設定される領域（例えば白色の領域）では、光源からの光が強く反射しているように見える画像が生成され、ハイライト表現が実現される。一方、非ハイライト部分として設定される領域では、光源からの光の反射表現が行われない。
【００８６】
このようにすれば、図４（Ｃ）の頭髪画像用サブオブジェクトＳＢＩのシェーディングがコンスタントに設定されていても、シェーディング用サブオブジェクトＳＢＳのスペキュラマップテクスチャを用いて、ハイライト表現等を実現できる。そして、頭髪画像用サブオブジェクトＳＢＩのシェーディングをコンスタントに設定すれば、頭髪画像用サブオブジェクトＳＢＩを用いた半透明合成処理を行った場合に、描画順番を並び替えるためのソーティング処理等を行う必要がなくなり、処理を簡素化できる。
【００８７】
図７（Ａ）に示すように、頭髪オブジェクトＯＢＨＡは、図４（Ｃ）の頭髪画像用サブオブジェクトＳＢＩと図６（Ａ）のシェーディング用サブオブジェクトＳＢＳにより構成される。即ち、シェーディング用サブオブジェクトＳＢＳが、頭髪画像用サブオブジェクトＳＢＩの中心を内包するように配置設定される。そして頭髪画像用サブオブジェクトＳＢＩとシェーディング用サブオブジェクトＳＢＳを重ねて描画することで、頭髪画像を生成する。具体的には、図７（Ｂ）に示すキャラクタの頭部オブジェクトＯＢＨＤに対して、頭髪画像用サブオブジェクトＳＢＩとシェーディング用サブオブジェクトＳＢＳにより構成される頭髪オブジェクトＯＢＨＡを設定して、描画処理を行う。例えば頭部オブジェクトＯＢＨＤに対して、頭髪画像用サブオブジェクトＳＢＩとシェーディング用サブオブジェクトＳＢＳを重ねて描画することで、頭髪画像を生成する。
【００８８】
２．２  カリング処理、交差サブオブジェクト
さて、頭髪オブジェクトＯＢＨＡを頭部オブジェクトＯＢＨＤに設定して描画処理を行う際に、キャラクタの頭部オブジェクトＯＢＨＤにめり込む部分のポリゴンについても描画してしまうと、描画ポリゴン枚数が無駄に増えてしまい、描画処理負荷が増加する。
【００８９】
そこで図８（Ａ）に示すように頭髪オブジェクトＯＢＨＡのカリング処理を行ってもよい。即ち、頭部オブジェクトＯＢＨＤに対してめり込む部分をカリングして、頭部オブジェクトＯＢＨＤの表面の形状に適合した形状にする。更に図８（Ｂ）に示すように、頭髪オブジェクトＯＢＨＡの上側の部分も、髪型の形状に適合するようにカリングする。こうすることで、描画ポリゴン枚数が無駄に増えてしまい描画処理負荷が無駄に増加してしまう事態を防止できる。
【００９０】
なお図８（Ａ）、図８（Ｂ）に示すようなカリング処理（トリミング）を行う場合には、後述する図１３に示すように、頭髪オブジェクトＯＢＨＡの中心線から各方向（各放射方向）に複数のポリゴンを連ねて配置することが望ましい。即ち、複数のポリゴンの連結を、頭髪オブジェクトＯＢＨＡの中心線から放射状に配置する。こうすれば、連結されるポリゴンの枚数を増やすことで、カリング時での頭髪オブジェクトＯＢＨＡの外形形状を、滑らかな形状にすることが可能になる。
【００９１】
また図９では、頭髪オブジェクトＯＢＨＡに対して、頭髪画像用サブオブジェクトＳＢＩに交差（直交等）する交差サブオブジェクトＳＢＣが更に設けられている。このような交差サブオブジェクトＳＢＣを設ければ、例えば上方向等から頭部を見た場合に、隙間領域等が表示されて、不自然な画像が生成されてしまう事態を防止できる。また、交差サブオブジェクトＳＢＣを設けることで、例えば頭髪のボリューム感等の表現も向上できる。なお図９では、１個の交差サブオブジェクトＳＢＣを設ける場合について示しているが、複数個の交差サブオブジェクトＳＢＣを設けてもよい。
【００９２】
また交差サブオブジェクトＳＢＣは、例えば複数の交差ポリゴンにより形成できる。このようにすれば、例えば図９のような円形状（略円形状）の交差サブオブジェクトＳＢＣも表現できるようになる。また、交差サブオブジェクトＳＢＣを形成する交差ポリゴンは、例えば頭髪画像用サブオブジェクトＳＢＩを形成するポリゴンの頂点を利用して形成することが望ましい。即ち頭髪画像用サブオブジェクトＳＢＩを形成するポリゴンの頂点を利用して、交差サブオブジェクトＳＢＣの各交差ポリゴンを形成する。このようにすれば、頂点データ量の節約等を図れる。
【００９３】
また図１０では、頭髪オブジェクトＯＢＨＡと頭部オブジェクトＯＢＨＤとの間に、カバーオブジェクトＯＢＣＶが設けられている。即ち、頭髪オブジェクトＯＢＨＡの下側に、頭部オブジェクトＯＢＨＤをカバーするためのカバーオブジェクトＯＢＣＶが設けられている。そして、このカバーオブジェクトＯＢＣＶは、例えば黒色（髪の毛の色）に設定されている。またカバーオブジェクトＯＢＣＶは、例えばおわん型形状になっており、その内側の形状が、頭部オブジェクトＯＢＨＤの形状に適合するような形状になっている。
【００９４】
このようなカバーオブジェクトＯＢＣＶを設けて、頭部オブジェクトＯＢＨＤの上部を覆うようにすれば、頭髪オブジェクトＯＢＨＡの隙間等から、頭部オブジェクトＯＢＨＤの表面の地色等が外部に見えてしまう事態を防止できる。
【００９５】
なお図１０では、頭部オブジェクトに対して１つの頭髪オブジェクトを設定する場合について示しているが、頭部オブジェクトに対して複数の頭髪オブジェクトを設定してもよい。例えば図１０のような頭髪オブジェクトを頭部オブジェクトに設定すると共に、おさげを表す頭髪オブジェクトやお団子頭を表す頭髪オブジェクトを更に設定する。例えばおさげの髪型の場合は、頭部オブジェクトの左右に細長い２つの頭髪オブジェクトを設ければよい。また、お団子頭の髪型の場合には、お団子頭の形状の１又は複数の頭髪オブジェクトを、頭部オブジェクトの対応する場所に設ければよい。
【００９６】
２．３  半透明処理
図４（Ｃ）に示すような形状の頭髪画像用サブオブジェクトＳＢＩを用いると、仮想カメラの視線方向との位置関係によっては、頭髪画像用サブオブジェクトＳＢＩを形成するポリゴンＰＬ１〜ＰＬ３のエッジの部分が目立って見えてしまう可能性がある。
【００９７】
そこで本実施形態では、仮想カメラの視線方向とポリゴンの法線方向との関係に応じた半透明処理を行うようにしている。例えば図１１（Ａ）、図１１（Ｂ）に示すように、頭髪画像用サブオブジェクトＳＢＩを形成するＰＬ１〜ＰＬ３の各ポリゴンの法線方向Ｎ１〜Ｎ３と仮想カメラＶＣの視線方向ＤＶとのなす角度が９０度に近づくにつれて、各ポリゴンを透明に近づける半透明処理を行う。例えば、Ｎ１〜Ｎ３の各法線方向と視線方向ＤＶとのなす角度が９０度に近づくにつれて、対応するポリゴンのα値を変化させて、その透明度を高くする。
【００９８】
例えば図１１（Ａ）では、ポリゴンＰＬ１の法線方向Ｎ１と仮想カメラＶＣの視線方向ＤＶとのなす角度が９０度になっているため、ポリゴンＰＬ１を透明にする。一方、ポリゴンＰＬ２、ＰＬ３の法線方向Ｎ２、Ｎ３と視線方向ＤＶとのなす角度は９０度ではないため、これらのポリゴンＰＬ２、ＰＬ３は不透明（半透明）にする。
【００９９】
また図１１（Ｂ）では、ポリゴンＰＬ２の法線方向Ｎ２と視線方向ＤＶとのなす角度が９０度になっているため、ポリゴンＰＬ２を透明にする。一方、ポリゴンＰＬ１、ＰＬ３の法線方向Ｎ１、Ｎ３と視線方向ＤＶとのなす角度は９０度ではないため、これらのポリゴンＰＬ１、ＰＬ３は不透明（半透明）にする。
【０１００】
このようにすれば、例えば図１１（Ａ）においてポリゴンＰＬ１のエッジが目立って見えてしまったり、図１１（Ｂ）においてポリゴンＰＬ２のエッジが目立って見えてしまう事態を防止できる。従って、図４（Ｃ）に示すような形状の頭髪画像用サブオブジェクトＳＢＩを用いた場合に、ポリゴンのエッジ部分等の不自然な画像が生成されるのを防止できる。
【０１０１】
また、図９に示すように頭髪オブジェクトＯＢＨＡが交差サブオブジェクトＳＢＣを有する場合にも、同様の手法を採用できる。即ち、この場合には、交差サブオブジェクトＳＢＣを形成する交差ポリゴンの法線方向と仮想カメラの視線方向とのなす角度が９０度に近づくにつれて、交差ポリゴンを透明に近づける半透明処理を行う。
【０１０２】
例えば図１２（Ａ）では、仮想カメラＶＣの視線方向ＤＶと、交差サブオブジェクトＳＢＣの交差ポリゴンＰＬＣの法線方向ＮＣとのなす角度は９０度になっておらず、例えば０度になっている。従って、この場合には、交差ポリゴンＰＬＣを不透明にする。一方、図１２（Ｂ）では、視線方向ＤＶと法線方向ＮＣとのなす角度は９０度になっている。従って、この場合には、交差ポリゴンＰＬＣを透明にする。
【０１０３】
このようにすれば、例えば図１２（Ｂ）においてポリゴンＰＬＣのエッジが目立って見えてしまう事態を防止でき、不自然な画像が生成されてしまう事態を防止できる。
【０１０４】
２．４  オブジェクト例及び画像例
次に本実施形態の具体的なオブジェクト例及び画像例について説明する。図１３は、頭髪画像用サブオブジェクトＳＢＩの具体例である。図１３の頭髪画像用サブオブジェクトＳＢＩでは、中心線から１０方向に複数のポリゴンが放射状に連なって配置されている。また図９で説明したようなカリング処理も行われている。更に頭髪画像用サブオブジェクトＳＢＩの下方には、カバーオブジェクトＯＢＣＶが設けられている。
【０１０５】
図１４は、図１３に対して更に交差サブオブジェクトＳＢＣを設けた例である。この交差サブオブジェクトＳＢＣを形成する交差ポリゴンＰＬＣは、頭髪画像用サブオブジェクトＳＢＩを形成するポリゴンＰＬと、その頂点を共用している。即ちポリゴンＰＬの頂点を利用して交差ポリゴンＰＬＣが形成される。これにより頂点データ数を節約できる。
【０１０６】
図１５は、図１４に対して更にシェーディング用サブオブジェクトＳＢＳを設けた例である。図１５に示すようにシェーディング用サブオブジェクトＳＢＳは、頭髪画像用サブオブジェクトＳＢＩを覆うように設けられる。なお図１５では、頭髪画像用サブオブジェクトＳＢＩの一部がシェーディング用サブオブジェクトＳＢＳからはみ出しているが、この部分には頭髪の画像が描かれないため、不自然な画像にはならない。
【０１０７】
図１６は、頭髪画像用サブオブジェクトＳＢＩを用いて生成された画像の例である。図１６では、シェーディング用サブオブジェクトＳＢＳについては用いられていないため、頭髪のハイライト等の質感は表現されていない。
【０１０８】
図１７は、シェーディング用サブオブジェクトＳＢＳを用いて生成された画像の例である。図１７では、シェーディング用サブオブジェクトＳＢＳにマッピングされる色テクスチャによる質感表現や、スペキュラマップテクスチャによるハイライト表現等が実現されている。
【０１０９】
図１８は、頭髪画像用サブオブジェクトＳＢＩとシェーディング用サブオブジェクトＳＢＳの両方を用いて生成された画像（ＳＢＩとＳＢＳの合成画像）の例である。図１８に示すようにサブオブジェクトＳＢＩとＳＢＳの両方を用いることで、よりリアルで自然な頭髪画像の生成に成功している。
【０１１０】
３．処理例
次に本実施形態の処理例について図１９、図２０のフローチャートを用いて説明する。図１９は画像生成システムの全体的な処理の例を表すフローチャートである。
【０１１１】
まず、モデルオブジェクトなどの複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定処理を行う（ステップＳ１）。そして、モデルオブジェクトなどの移動体をオブジェクト空間内で移動させる移動処理や、モデルオブジェクトの動きを表現するモーション処理などを行う（ステップＳ２、Ｓ３）。具体的には、操作部からの操作データ等に基づいてモデルオブジェクトを移動させる移動処理を行ったり、モデルオブジェクトのスケルトンを構成する各骨を、モーションデータに基づいて動かすモーション処理を行う。
【０１１２】
次に頂点シェーダプログラムによる頂点シェーダ処理を行う（ステップＳ４）。この頂点シェーダ処理（頂点処理）では、頂点単位での座標変換処理（ローカル座標系からワールド座標系への変換等）、頂点単位での陰影処理（シェーディング処理）、頂点単位での光源処理（ライティング処理）、テクスチャ座標の演算処理などが行われる。例えばモーション処理後のモデルオブジェクトの頂点位置を求める処理を、この頂点シェーダ処理により実現してもよい。そして、この頂点シェーダ処理により得られた頂点座標、視線ベクトル、光源ベクトル、法線ベクトル等は、出力レジスタに格納され、ピクセルシェーダ処理に渡される。
【０１１３】
次に、ピクセルシェーダプログラムによるピクセルシェーダ処理を開始する（ステップＳ５）。このピクセルシェーダ処理では、ラスタライズ後にピクセル単位の様々な処理が行われる。具体的には、ピクセル単位での陰影処理（シェーディング処理）、テクスチャマッピング処理、半透明処理などが行われる。これにより、表示部に表示される最終的な画像（ゲーム画像）が生成される。
【０１１４】
図２０は、頭髪オブジェクトの描画処理についてのフローチャートである。
【０１１５】
まず頭髪オブジェクトが頭部オブジェクトに設定されたモデルオブジェクトをオブジェクト空間に配置設定する（ステップＳ１１）。そしてモデルオブジェクトの移動処理、モーション処理を行う（ステップＳ１２）。
【０１１６】
次に、図１１（Ａ）〜図１２（Ｂ）で説明したように、仮想カメラの視線方向と頭髪オブジェクトの各ポリゴン、各交差ポリゴンの法線方向とのなす角度に応じて、各ポリゴン、各交差ポリゴンのα値を設定する（ステップＳ１３）。そして、設定されたα値を用いた半透明処理等を行いながら、モデルオブジェクトの描画処理を行う（ステップＳ１４）。
【０１１７】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語（プリミティブ面等）と共に記載された用語（ポリゴン等）は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、オブジェクトの配置設定処理、頭髪画像の生成処理、半透明処理等も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【符号の説明】
【０１１８】
ＳＢＩ  頭髪画像用サブオブジェクト、ＰＬ１〜ＰＬ３  ポリゴン、ＴＥＸ  テクスチャ、
ＳＢＳ  シェーディング用サブオブジェクト、ＯＢＨＡ  頭髪オブジェクト、
ＯＢＨＤ  頭部オブジェクト、ＳＢＣ  交差サブオブジェクト、
ＯＢＣＶ  カバーオブジェクト、ＯＢＨＤ  頭部オブジェクト、
１００  処理部、１０２  ゲーム演算部、１０４  オブジェクト空間設定部、
１０６  移動処理部、１０７  モーション処理部、１０８  仮想カメラ制御部、
１２０  画像生成部、１２２  頂点処理部、１２４  ピクセル処理部、
１３０  音生成部、１６０  操作部、１７０  記憶部、
１７２  オブジェクトデータ記憶部、１７３  モーションデータ記憶部、
１７４  モデルデータ記憶部、１７５  テクスチャ記憶部、１７６  描画バッファ、
１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９４  補助記憶装置、
１９６  通信部
【図１】
2011095936.tif 000003
【図２】
2011095936.tif 000004
【図５】
2011095936.tif 000005
【図８】
2011095936.tif 000006
【図９】
2011095936.tif 000007
【図１０】
2011095936.tif 000008
【図１１】
2011095936.tif 000009
【図１２】
2011095936.tif 000010
【図１９】
2011095936.tif 000011
【図２０】
2011095936.tif 000012
【図３】
2011095936.tif 000013
【図４】
2011095936.tif 000014
【図６】
2011095936.tif 000015
【図７】
2011095936.tif 000016
【図１３】
2011095936.tif 000017
【図１４】
2011095936.tif 000018
【図１５】
2011095936.tif 000019
【図１６】
2011095936.tif 000020
【図１７】
2011095936.tif 000021
【図１８】
2011095936.tif 000022