(57)【特許請求の範囲】
【請求項１】
画像生成を行うゲームシステムであって、
オブジェクトの情報と光源情報とに基づいて、陰影表現画像を描画すべき陰影領域を特定するためのマスク情報を生成する手段と、
生成された前記マスク情報に基づいて、オブジェクトの陰影領域に陰影表現画像を描画する手段と、
を含み、
オブジェクトの情報と光源情報とに基づいてマスク生成用テクスチャを指定するためのテクスチャ座標を求め、求められたテクスチャ座標に基づいてマスク生成用テクスチャをオブジェクトにマッピングすることで、前記マスク情報を生成することを特徴とするゲームシステム。
【請求項２】
請求項１において、
オブジェクトの元画像とオブジェクトの陰影表現画像とを、生成された前記マスク情報に基づいてマスク合成することで、陰影領域に陰影表現画像が描画されたオブジェクトの画像を生成することを特徴とするゲームシステム。
【請求項３】
請求項１又は２において、
描画領域に描画されたオブジェクトの元画像を少なくとも内包する形状のプリミティブ面を、陰影表現画像のテクスチャをマッピングしながら描画領域に描画することで、陰影領域に陰影表現画像を描画することを特徴とするゲームシステム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記マスク生成用テクスチャが、第１のテクスチャパターンと、前記第１のテクスチャパターンの各テクセルに設定されるα値とは異なるα値が各テクセルに設定される第２のテクスチャパターンとを有し、
前記マスク生成用テクスチャを指定するためのテクスチャ座標が第１の値から第２の値の間である場合には、前記第１のテクスチャパターンが指定され、前記テクスチャ座標が第２の値から第３の値の間にある場合には、前記第２のテクスチャパターンが指定されることを特徴とするゲームシステム。
【請求項５】
請求項１〜４のいずれかにおいて、
下地テクスチャがマッピングされるオブジェクトとマスク生成用テクスチャがマッピングされるオブジェクトとを重ねて描画することで、下地テクスチャの画像データとマスク生成用テクスチャのα値を、描画領域の各ピクセルに設定することを特徴とするゲームシステム。
【請求項６】
コンピュータが使用可能なプログラムを記憶した情報記憶媒体であって、
前記プログラムは、
オブジェクトの情報と光源情報とに基づいて、陰影表現画像を描画すべき陰影領域を特定するためのマスク情報を生成する手段と、
生成された前記マスク情報に基づいて、オブジェクトの陰影領域に陰影表現画像を描画する手段として、
コンピュータを機能させ、
オブジェクトの情報と光源情報とに基づいてマスク生成用テクスチャを指定するためのテクスチャ座標を求め、求められたテクスチャ座標に基づいてマスク生成用テクスチャをオブジェクトにマッピングすることで、前記マスク情報を生成することを特徴とする情報記憶媒体。
【請求項７】
請求項６において、
オブジェクトの元画像とオブジェクトの陰影表現画像とを、生成された前記マスク情報に基づいてマスク合成することで、陰影領域に陰影表現画像が描画されたオブジェクトの画像を生成することを特徴とする情報記憶媒体。
【請求項８】
請求項６又は７において、
描画領域に描画されたオブジェクトの元画像を少なくとも内包する形状のプリミティブ面を、陰影表現画像のテクスチャをマッピングしながら描画領域に描画することで、陰影領域に陰影表現画像を描画することを特徴とする情報記憶媒体。
【請求項９】
請求項６〜８のいずれかにおいて、
前記マスク生成用テクスチャが、第１のテクスチャパターンと、前記第１のテクスチャパターンの各テクセルに設定されるα値とは異なるα値が各テクセルに設定される第２のテクスチャパターンとを有し、
前記マスク生成用テクスチャを指定するためのテクスチャ座標が第１の値から第２の値の間である場合には、前記第１のテクスチャパターンが指定され、前記テクスチャ座標が第２の値から第３の値の間にある場合には、前記第２のテクスチャパターンが指定されることを特徴とする情報記憶媒体。
【請求項１０】
請求項６〜９のいずれかにおいて、
下地テクスチャがマッピングされるオブジェクトとマスク生成用テクスチャがマッピングされるオブジェクトとを重ねて描画することで、下地テクスチャの画像データとマスク生成用テクスチャのα値を、描画領域の各ピクセルに設定することを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ロールプレイングゲームを楽しむことができるゲームシステムを例にとれば、プレーヤは、キャラクタ（オブジェクト）を操作してオブジェクト空間内のマップ上で移動させ、敵キャラクタと対戦したり、他のキャラクタと対話したり、様々な町を訪れたりすることでゲームを楽しむ。
【０００３】
さて、このようなゲームシステムでは、キャラクタなどを表すオブジェクトは、通常、複数のポリゴン（プリミティブ面）により構成される。そして、このポリゴンにより構成されたオブジェクト（モデル）をオブジェクト空間内に配置し、ジオメトリ処理（３次元演算）を行って、仮想カメラ（視点）から見える画像を生成する。これにより、仮想カメラにより様々な方向からこのオブジェクトを見た場合にも、矛盾の無いゲーム画像を生成できるようになる。
【０００４】
ところが、このようにして生成されたゲーム画像は、数学的には正しい画像ではあるが、今一つプレーヤの情感に訴えることができないという問題がある。
【０００５】
例えば、アニメや漫画などに登場するキャラクタをオブジェクトにより表現する場合を考える。このような場合に、グーローシェーディングやフォンシェーディングによりオブジェクトに陰影づけを行うと、リアルな画像を得ることができる反面、アニメや漫画などで一般の人が慣れ親しんでいるものとは異なった雰囲気の画像が生成されてしまう。
【０００６】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、アニメや漫画に登場するキャラクタなどを表現するオブジェクトに最適な陰影づけを可能にするゲームシステム及び情報記憶媒体を提供することにある。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行うゲームシステムであって、オブジェクトの情報と光源情報とに基づいて、陰影表現画像を描画すべき陰影領域を特定するためのマスク情報を生成する手段と、生成された前記マスク情報に基づいて、オブジェクトの陰影領域に陰影表現画像を描画する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【０００８】
本発明によれば、オブジェクトの情報（例えば、オブジェクトの各面の方向を表す法線ベクトルや当該フレームでのオブジェクトの位置、回転角度データ等）と光源情報（例えば光源ベクトルや光源位置）とに基づいて、陰影領域を特定するためのマスク情報（例えばαプレーン）が生成される。そして、このマスク情報に基づいて陰影領域に陰影表現画像が描画される。
【０００９】
従って、本発明によれば、プリミティブ面により構成された３次元のオブジェクトに対して、２次元的な陰影表現画像を描画することが可能になり、アニメや漫画に登場するキャラクタなどを表現するオブジェクトに最適な陰影づけが可能になる。
【００１０】
また本発明によれば、陰影領域はオブジェクトの情報と光源情報とにより特定されるため、オブジェクトや光源の位置、方向が変化すると、それに応じて陰影領域の位置や形状もリアルタイムに変化するようになる。従って、陰影領域の位置や形状については、通常のグーローシェーディングやフォンシェーディングなどの陰影処理で得られる陰影領域のように変化する一方で、その陰影領域に描画される陰影表現画像だけを２次元的な絵にすることが可能になる。
【００１１】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、オブジェクトの元画像とオブジェクトの陰影表現画像とを、生成された前記マスク情報に基づいてマスク合成することで、陰影領域に陰影表現画像が描画されたオブジェクトの画像を生成することを特徴とする。この場合のマスク合成は、例えば、描画領域の各ピクセルにα値を設定し、このα値に基づいて、そのピクセルに元画像を描画するか或いは陰影表現画像を描画するかを判断することなどにより実現できる。
【００１２】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、描画領域に描画されたオブジェクトの元画像を少なくとも内包する形状のプリミティブ面を、陰影表現画像のテクスチャをマッピングしながら描画領域に描画することで、陰影領域に陰影表現画像を描画することを特徴とする。このようにすれば、陰影表現画像のテクスチャをプリミティブ面にマッピングするだけという簡素な処理で、陰影領域に陰影表現画像を描画できるようになり、処理負荷を軽減できる。また、陰影表現画像のテクスチャを差し替えるだけで、種々の陰影表現画像を陰影領域に描画できるようになり、生成される画像のバラエティ度を増すことができる。
【００１３】
なお、この場合のプリミティブ面は画面サイズのプリミティブ面であってもよいし、オブジェクトやオブジェクトを内包する簡易オブジェクトの形状データに基づき生成されるプリミティブ面であってもよい。
【００１４】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、オブジェクトの情報と光源情報とに基づいてマスク生成用テクスチャを指定するためのテクスチャ座標を求め、求められたテクスチャ座標に基づいてマスク生成用テクスチャをオブジェクトにマッピングすることで、前記マスク情報を生成することを特徴とする。このようにすれば、マスク生成用テクスチャをオブジェクトにマッピングするだけという簡素な処理で、マスク情報を生成できるようになり、処理負荷を軽減できる。
【００１５】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記マスク生成用テクスチャが、第１のテクスチャパターンと、前記第１のテクスチャパターンの各テクセルに設定されるα値とは異なるα値が各テクセルに設定される第２のテクスチャパターンとを有し、前記マスク生成用テクスチャを指定するためのテクスチャ座標が第１の値から第２の値の間である場合には、前記第１のテクスチャパターンが指定され、前記テクスチャ座標が第２の値から第３の値の間にある場合には、前記第２のテクスチャパターンが指定されることを特徴とする。このようにすれば、第２の値を変化させるだけで、陰影領域の範囲を制御できるようになり、生成される画像のバラエティ度を増すことができる。
【００１６】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、下地テクスチャがマッピングされるオブジェクトとマスク生成用テクスチャがマッピングされるオブジェクトとを重ねて描画することで、下地テクスチャの画像データとマスク生成用テクスチャのα値を、描画領域の各ピクセルに設定することを特徴とする。このようにすれば、描画領域の各ピクセルに設定されたα値をマスク情報として使用して、元画像（下地テクスチャがマッピングされたオブジェクトの画像）と陰影表現画像とをマスク合成できるようになる。
【００１７】
なお、マスク生成用テクスチャがマッピングされるオブジェクトを描画領域に描画する際には、下地テクスチャがマッピングされるオブジェクトにジオメトリ処理を施すことで得られた描画データ（例えば透視変換後のポリゴンデータ）を再利用することが望ましい。このようにすれば、マスク生成用テクスチャがマッピングされるオブジェクトに対するジオメトリ処理を省略することが可能になり、処理負荷を軽減できる。
【００１８】
また本発明は、画像生成を行うゲームシステムであって、オブジェクトの元画像を描画領域に描画する手段と、オブジェクトの２次元の元画像が描画された描画領域において、陰影表現画像を描画すべき陰影領域をオブジェクトの情報と光源情報とに基づき特定し、特定された陰影領域にオブジェクトの２次元の陰影表現画像を描画する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００１９】
本発明によれば、オブジェクトの情報と光源情報とにより特定される陰影領域に、２次元の陰影表現画像が描画されるようになる。従って、オブジェクトや背景に対してはジオメトリ処理に基づくパースがかかる一方で、陰影領域に描画される陰影表示画像にはパースがかからなくなる。従って、一般人がアニメや漫画で慣れ親しんでいるスクリーントーン風の２次元的な陰影をオブジェクトに施すことが可能になり、アニメや漫画に登場するキャラクタを表現するオブジェクトに最適な陰影づけが可能になる。
【００２０】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００２１】
１．構成
図１に、本実施形態のゲームシステム（画像生成システム）のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００２２】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体などのハードウェアにより実現できる。
【００２３】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００２４】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１８０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００２５】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【００２６】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００２７】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００２８】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００２９】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３０】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００３１】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００３２】
ここで、処理部１００が行うゲーム処理としては、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【００３３】
また、処理部１００は、上記のゲーム処理結果に基づいて例えばオブジェクト空間内において所与の視点（仮想カメラ）から見える画像を生成し、表示部１９０に出力する。
【００３４】
更に、処理部１００は、上記のゲーム処理結果に基づいて各種の音処理を行い、ＢＧＭ、効果音、又は音声などの音を生成し、音出力部１９２に出力する。
【００３５】
なお、処理部１００の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００３６】
処理部１００は、ジオメトリ処理部１１０、元画像描画部１２０、マスク情報生成部１２２、陰影描画部１２４を含む。
【００３７】
ジオメトリ処理部１１０は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理（３次元演算）を、オブジェクトに対して行う。ジオメトリ処理により得られた描画データ（頂点に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）は、記憶部１７０の主記憶部１７２に格納されて、保存される。
【００３８】
元画像描画部１２０は、オブジェクトの元画像（下地画像）を、描画領域１７６（フレームバッファ、仮フレームバッファ等）に描画するための処理を行う。より具体的には、テクスチャ記憶部１７４に記憶される下地テクスチャをオブジェクトにマッピングしながら、描画領域１７６にオブジェクトを描画する。
【００３９】
マスク情報生成部１２２は、オブジェクトの情報（オブジェクトの各面の方向を表す法線ベクトルやオブジェクトの位置、回転角度データ）と光源情報（光源ベクトル、光源位置等）とに基づいて、陰影表現画像（スクリーントーン等）を描画すべき領域を特定するためのマスク情報を生成する。より具体的には、ジオメトリ処理部１１０が含むテクスチャ座標算出部１１２が、オブジェクトの情報と光源情報とに基づいて、テクスチャ記憶部１７４に記憶されるマスク生成用テクスチャを指定するためのテクスチャ座標を求める。そして、この得られたテクスチャ座標に基づいてマスク生成用テクスチャをオブジェクトにマッピングすることで、マスク情報を生成する。即ち、マスク生成用テクスチャがマッピングされたオブジェクトを描画領域１７６に描画することで、マスク情報として機能するα値のプレーンを描画領域１７６の各ピクセルに設定する。
【００４０】
なお、α値（Ａ値）は、各ピクセルに関連づけられて記憶される情報であり、例えば色情報以外のプラスアルファの情報である。α値は、透明度（不透明度、半透明度と等価）やバンプ情報としても使用できるが、本実施形態では、このα値をマスク情報として使用している。
【００４１】
陰影描画部１２４は、マスク情報生成部１２２により生成されたマスク情報に基づいて、オブジェクトの陰影領域に陰影表現画像を描画する処理を行う。より具体的には、オブジェクトの元画像（下地画像）とオブジェクトの陰影表現画像とを、マスク情報に基づいてマスク合成することで、陰影領域に陰影表現画像を描画する。これにより、あたかもスクリーントーンが貼られたかのように見えるオブジェクトの画像を生成できる。
【００４２】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００４３】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００４４】
２．本実施形態の特徴
２．１  陰影表現画像の描画
さて、漫画やアニメなどの世界では、細かい模様を描く作業の手間を省くために、スクリーントーンと呼ばれるものが広く用いられている。このスクリーントーンは、表面には種々の模様が印刷され、裏面には圧着により接着するのりが付いている透明のビニールである。例えば、漫画キャラクタの陰影を表現する場合には、陰影を擬似的に表すスクリーントーンを所望の形状に切り抜いて貼ることで、漫画キャラクタの陰影を描く作業の手間を省くことができる。
【００４５】
一方、３次元ゲームの世界では、キャラクタなどのオブジェクトにリアルな陰影づけを施すために、グーローシェーディングやフォンシェーディングなどの陰影処理が広く用いられている。
【００４６】
しかしながら、このようなグーローシェーディングやフォンシェーディングなどにより、漫画キャラクタを表現するオブジェクトの陰影づけを行うと、一般の人が漫画などで慣れ親しんでいるものとは全く異なった雰囲気の画像が生成されてしまう。
【００４７】
従って、ポリゴンや自由曲面などのプリミティブ面で構成されるオブジェクトに対して、スクリーントーンで表されるようなコミカルな陰影づけを如何にして施すことができるかが重要な課題となる。
【００４８】
このような課題を解決するために本実施形態では、まず、図２に示すように、オブジェクトＯＢの情報（例えば頂点法線ベクトル）と光源ＬＳの情報（例えば光源ベクトルＬＳＶ）とに基づいて、陰影表現画像（スクリーントーン）を描画すべき陰影領域を特定するためのマスク情報を生成する。なお、光源は、平行光源でもよいし点光源でもよい。
【００４９】
図３（Ａ）に、フレームバッファ（広義には描画領域）上に生成されたマスク情報の例を示す。本実施形態では、マスク情報としてα値を使用している。そして図３（Ａ）では、α＝０．０となる領域が陰影領域（非マスク領域）となっており、α＝１．０となる領域が非陰影領域（マスク領域）となっている。
【００５０】
なお、α値の設定の仕方は任意であり、陰影領域と非陰影領域とで、少なくともα値が異なる値になっていれば十分である。
【００５１】
本実施形態では図３（Ａ）のように生成されたマスク情報に基づくマスク合成を行うことで、図３（Ｂ）に示すように、α＝０．０となる陰影領域に陰影表現画像（同図では縦ストライプ模様のスクリーントーン）が描画されたオブジェクトＯＢの画像を生成している。
【００５２】
より具体的には、図４（Ａ）に示すオブジェクトＯＢの元画像（下地テクスチャがマッピングされたＯＢの画像）と、図４（Ｂ）に示す陰影表現画像（縦ストライプ模様）とを、図３（Ａ）に示すマスク情報（αプレーン）を用いてマスク合成することで、図３（Ｂ）に示すようなスクリーントーン風の陰影づけが施されたオブジェクトＯＢの画像の生成に成功している。
【００５３】
このように本実施形態によれば、オブジェクトを、ポリゴン、自由曲面、サブディビジョンサーフェスなどのプリミティブ面により構成しているのにもかかわらず、陰影領域にあたかもスクリーントーンが貼られたかのように見えるオブジェクトの画像を生成できる。従って、いわゆるアニメ風の画調を表現でき、アニメや漫画を愛好する一般人の情感に訴えることができるゲーム画像を生成できるようになる。
【００５４】
即ち、一般的なグーローシェーディングやフォンシェーディングを用いると、陰影づけにグラディエーションがかかるため、陰影領域と非陰影領域の境界がぼやける。従って、リアルではあるが、一般人が慣れ親しんでいるアニメ画像とは異なる雰囲気の画像が生成されてしまう。
【００５５】
これに対して本実施形態によれば、図３（Ｂ）に示すように、陰影領域と非陰影領域の境界がぼやけずに、くっきりと区別されるため、あたかも陰影のスクリーントーンを貼ったかのように見えるアニメ風の画像を生成できるようになる。
【００５６】
また本実施形態によれば、陰影領域には２次元の陰影表現画像が描画されるため、陰影表現画像にパースがかからなくなる。図３（Ｂ）を例にとれば、等間隔の縦ストライプ模様が歪まずに陰影領域に描画される。従って、３次元で表現されるオブジェクトに２次元のスクリーントーンを貼ったかのように見える画像を生成できるようになる。
【００５７】
また本実施形態によれば、マスク合成される陰影表現画像を差し替えることで、異なったスクリーントーンが貼られたオブジェクトの画像も表現できるようになる。例えば図５に、図４（Ｂ）の縦ストライプ模様の陰影表現画像をドット模様の陰影表現画像に差し替えた場合に生成される画像を示す。このように本実施形態によれば、使用する陰影表現画像を差し替えるという簡素な操作で、生成される画像のバラエティ度を格段に増すことができる。
【００５８】
また本実施形態によれば、陰影領域はオブジェクトの情報と光源情報とにより特定される。従って図６に示すように、光源ベクトルの方向（光源位置）が変化したり、オブジェクトＯＢの位置や方向などが変化すると、陰影領域の位置や形状もそれに応じてリアルタイムに変化する。従って、３次元表現のオブジェクトを用いることで得られる利点についてはそのまま生かしながら、陰影領域に描画される陰影表現画像だけを、スクリーントーンのような２次元的な絵にすることができる。
【００５９】
なお、陰影領域への陰影表現画像の描画は次のような手法で実現できる。
【００６０】
即ち図７に示すように、陰影表現画像のテクスチャ１０（縦ストライプ模様、ドット模様等）がマッピングされる例えば画面サイズのポリゴン１２（プリミティブ面）を、元画像が既に描画されているフレームバッファ（描画領域）に描画する。そして、この場合に、フレームバッファの各ピクセルには、図３（Ａ）に示すようなα値（マスク情報）が書き込まれている。従って、このα値を用いたディスネーションαテストを行いながら、テクスチャ１０がマッピングされる画面サイズポリゴン１２をフレームバッファに描画することで、図３（Ｂ）に示すような画像を生成できる。例えば、α＜１．０となっているピクセルについては画面サイズポリゴン１２（陰影表現画像）の描画を許可し、α＝１．０となっているピクセルについては描画を不可にすることで、陰影領域にのみ陰影表現画像を描画できるようになる。
【００６１】
なお、処理負荷の軽減化の観点からは、テクスチャ１０のマッピング対象となるポリゴンは、画面サイズのポリゴンである必要は必ずしもなく、例えば図８に示すように、少なくともオブジェクトＯＢを内包するようなポリゴン１４（プリミティブ面）であればよい。ポリゴン１４の大きさが小さければ小さいほど、描画処理の負担を軽減できる。
【００６２】
この場合に、図８に示すポリゴン１４は、オブジェクトＯＢの各頂点の透視変換後のＸ、Ｙ座標の最大値及び最小値に基づいて生成してもよいし、オブジェクトＯＢを内包する簡易オブジェクト（バウンディングボリューム）の頂点の透視変換後のＸ、Ｙ座標の最大値及び最小値に基づいて生成してもよい。
【００６３】
２．２  テクスチャマッピングによるマスク情報の生成
さて、本実施形態では、図３（Ａ）に示すようなマスク情報を、テクスチャマッピングを利用して生成している。より具体的には、オブジェクトの情報と光源情報とに基づいてマスク生成用テクスチャのテクスチャ座標を求め、求められたテクスチャ座標に基づいてマスク生成用テクスチャをオブジェクトにマッピングすることで、マスク情報を生成している。
【００６４】
例えば図９に示すように、オブジェクトＯＢが複数のポリゴンにより構成されている場合には、オブジェクトＯＢの頂点ＶＸ１〜ＶＸ６には、位置座標（Ｘ、Ｙ、Ｚ）、色（輝度）データ（Ｒ、Ｇ、Ｂ）、テクスチャ座標（Ｕ、Ｖ）、法線ベクトル（ＮＸ、ＮＹ、ＮＺ）、α値などが設定される。
【００６５】
なお、ここで、位置座標（Ｘ、Ｙ、Ｚ）は、ＯＢの形状を特定するためのデータであり、色データ（Ｒ、Ｇ、Ｂ）は、ＯＢの色や陰影付けを決めるためのデータであり、テクスチャ座標（Ｕ、Ｖ）は、ＯＢにマッピングするテクスチャを指定するためのデータである。また、法線ベクトル（ＮＸ、ＮＹ、ＮＺ）は、光源ＬＳ（光源ベクトルＬＳＶ）を用いた光源計算などに用いられるデータである。
【００６６】
本実施形態では、オブジェクトＯＢの各頂点ＶＸ１〜ＶＸ６に設定された法線ベクトルＮ１〜Ｎ６（広義にはオブジェクトの情報）と、光源ベクトルＬＳＶに対して反対方向を向くベクトルＬＳＶＩ（広義には光源情報）との内積値ＩＰを求める。そして、このＩＰに基づいて下式（１）のような計算を行い、テクスチャ座標Ｖを求める。
【００６７】
Ｖ＝（ＩＰ＋１）／２        （１）
内積値ＩＰの範囲は−１．０≦ＩＰ≦１．０となるため、上式（１）により、テクスチャ座標Ｖの範囲は０．０≦Ｖ≦１．０に正規化されることになる。
【００６８】
以上のようにしてテクスチャ座標Ｖを求めることで、図９の各頂点ＶＸ１〜ＶＸ６のテクスチャ座標Ｖは、各々、０．１、０．５、０．７５、１．０、０．７、０．２５に設定される。一方、テクスチャ座標Ｕについては０．０に固定される。
【００６９】
そして、本実施形態では、上記のように得られたテクスチャ座標Ｕ、Ｖにより指定されるマスク生成用テクスチャとして、図１０に示すようなテクスチャを用意する。
【００７０】
このマスク生成用テクスチャは、テクセルのα値が０．０に設定されている第１のテクスチャパターンと、テクセルのα値が１．０に設定されている第２のテクスチャパターンを有している（α値以外の色データなどの画像データについては任意）。なお、第１、第２のテクスチャパターンの各テクセルに設定されるα値は、少なくとも互いに異なる値であればよく、図９に示すような設定に限定されるものではない。
【００７１】
図１０のマスク生成用テクスチャでは、テクスチャ座標Ｖが０．０≦Ｖ≦０．４である場合（０．０は第１の値、０．４は第２の値）には、テクセルのα値が０．０に設定されている第１のテクスチャパターンが指定されることになる。一方、テクスチャ座標Ｖが０．４＜Ｖ≦１．０である場合（１．０は第３の値）には、テクセルのα値が１．０に設定されている第２のテクスチャパターンが指定されることになる。
【００７２】
ここで、第１のテクスチャパターンは陰影部分（非マスク部分）に相当し、第２のテクスチャパターンは非陰影部分（マスク部分）に相当する。従って図９では、テクスチャ座標Ｖが０．０≦Ｖ≦０．４となる太線部分２０が、陰影部分になる。
【００７３】
即ち陰影部分である図９の太線部分２０では、テクセルのα値が０．０に設定されるため、図４（Ｂ）の陰影表現画像がマスクされずにフレームバッファに描画される。一方、太線部分２０以外では、テクセルのα値が１．０に設定されているため、陰影表現画像がディスティネーションαテストによりマスクされて、フレームバッファに描画されないようになる。これにより、図３（Ｂ）に示すような画像を生成できることになる。
【００７４】
以上のように、オブジェクトの情報（法線ベクトル）と光源情報（光源ベクトル）により求められたテクスチャ座標に基づきマスク生成用テクスチャをマッピングすることでマスク情報を生成するようにすれば、図１０のテクスチャパターンの形態を変化させるだけで、陰影領域の範囲を制御できる。具体的には、図１０のＣ１に示す境界の位置（第２の値）を変化させるだけで、陰影領域の範囲を狭めたり広げたりすることができる。これにより、オブジェクトの陰影づけの様子を簡素な処理で様々に変化させることができ、生成される画像のバラエティ度を増すことができる。
【００７５】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図１１のフローチャートを用いて説明する。
【００７６】
まず、下地オブジェクトの描画処理を行う（ステップＳ１）。
【００７７】
即ち、下地テクスチャをオブジェクトにマッピングしながら、オブジェクトをフレームバッファに描画する（ステップＳ２）。これにより図４（Ａ）に示すような元画像が描画される。
【００７８】
次に、マスクオブジェクトの描画処理を行う（ステップＳ２）。
【００７９】
即ち、図９で説明したように、オブジェクトの頂点法線ベクトルと光源ベクトル（実際には光源ベクトルに対して反対方向を向くベクトル）との内積値に基づいて、図１０のマスク生成用テクスチャを指定するためのテクスチャ座標Ｖを求める（ステップＳ４）。なお、テクスチャ座標Ｕは０．０に固定される。
【００８０】
そして、得られたテクスチャ座標Ｕ、Ｖに基づき、マスク生成用テクスチャがマッピングされるオブジェクトをフレームバッファに描画し、フレームバッファの各ピクセルにマスク情報となるα値を設定する（ステップＳ５）。これにより、図３（Ａ）に示すように、陰影領域（非マスク領域）には例えばα＝０．０が設定され、非陰影領域（マスク領域）にはα＝１．０が設定されるようになる。
【００８１】
このように本実施形態では、下地テクスチャがマッピングされるオブジェクト（下地オブジェクト）とマスク生成用テクスチャがマッピングされるオブジェクト（マスクオブジェクト）とを重ねて描画することで、下地テクスチャの画像データとマスク生成用テクスチャのα値を、フレームバッファ（描画領域）の各ピクセルに設定するようにしている。
【００８２】
次に、スクリーントーン・ポリゴンの描画処理を行う（ステップＳ６）。
【００８３】
即ち、図７で説明したように、任意の模様のスクリーントーン・テクスチャ（例えば縦ストライプ模様、ドット模様）がマッピングされるポリゴンをフレームバッファに描画する（ステップＳ７）。そして、この時に、ディスティネーションαテストを行い、フレームバッファの各ピクセルにおいてα値が１．０未満のピクセルのみにスクリーントーン・ポリゴンが描画されるようにする。このようにすることで、図３（Ａ）のα＝０．０となる陰影領域にだけ、スクリーントーン・ポリゴン（陰影表現画像）が描画されるようになり、図３（Ｂ）に示すようなスクリーントーンの陰影がオブジェクトＯＢに貼られたように見える画像を生成できるようになる。
【００８４】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１２を用いて説明する。
【００８５】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【００８６】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００８７】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【００８８】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、所与の画像圧縮方式で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【００８９】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【００９０】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【００９１】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【００９２】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【００９３】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【００９４】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【００９５】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【００９６】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステムとの間でのデータ転送が可能になる。
【００９７】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【００９８】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【００９９】
図１３（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム或いはデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１００】
図１３（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１０１】
図１３（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１０２】
なお、図１３（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１０３】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１０４】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１０５】
例えば、本発明のうち従属請求項に係る発明においては、従属先の独立請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１０６】
また、本実施形態では、オブジェクトの情報と光源情報とに基づき生成したマスク情報を用いて、オブジェクトの陰影領域に陰影表現画像を描画したが、このようなマスク情報を用いないで、陰影領域に陰影表現画像を描画するようにしてもよい。
【０１０７】
即ち、オブジェクトの２次元の元画像が描画された描画領域において、陰影表現画像を描画すべき陰影領域をオブジェクトの情報と光源情報とに基づき何らかの手法で特定し、特定された陰影領域にオブジェクトの２次元の陰影表現画像を描画するようにする。
【０１０８】
このようにしても、あたかも陰影のスクリーントーンを貼ったかのように見えるアニメ風の画像を生成できるようになる。また、陰影領域には２次元の陰影表現画像が描画されるため、陰影表現画像にパースがかからなくなり、３次元で表現されるオブジェクトに２次元のスクリーントーンを貼ったかのように見える画像を生成できる。また、オブジェクトの情報や光源情報が変化すると、陰影領域の位置や形状もそれに応じてリアルタイムに変化するようになるため、３次元表現のオブジェクトを用いることで得られる利点については生かしながら、陰影表現画像だけをスクリーントーンのような２次元的な絵にすることができる。
【０１０９】
また、マスク情報の生成手法も、図９、図１０で説明した手法が特に望ましいが、これに限定されるものではない。例えば、オブジェクトの情報や光源情報に基づいて、オブジェクトの各頂点にα値を設定し、このα値に基づいてマスク情報を生成するようにしてもよい。
【０１１０】
また、マスク生成用テクスチャの形態も、図１０で説明したものに限定されない。
【０１１１】
また、陰影表現画像の画像パターンも、本実施形態で説明したものに限定されず、種々の変形実施が可能である。
【０１１２】
また、陰影表現画像の描画手法も、図７、図８で説明した手法が特に望ましいが、これに限定されるものではなく、種々の変形実施が可能である。
【０１１３】
また、本実施形態では、オブジェクトがポリゴンで構成される場合について主に説明したが、自由曲面やサブディビジョンサーフェスなどの他の形態のプリミティブ面でオブジェクトが構成される場合も本発明の範囲に含まれる。
【０１１４】
また本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１１５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステム（画像生成システム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態のゲームシステムのブロック図の例である。
【図２】オブジェクトの情報と光源情報とに基づきマスク情報を生成する手法について説明するための図である。
【図３】図３（Ａ）はマスク情報について説明するための図であり、図３（Ｂ）は、本実施形態により生成される画像の例について示す図である。
【図４】図４（Ａ）、（Ｂ）は、元画像、陰影表現画像の例について示す図である。
【図５】本実施形態により生成される画像の他の例について示す図である。
【図６】本実施形態により生成される画像の他の例について示す図である。
【図７】陰影表現画像のテクスチャがマッピングされる画面サイズのポリゴンをフレームバッファに描画する手法について説明するための図である。
【図８】陰影表現画像のテクスチャがマッピングされるポリゴンの他の例について示す図である。
【図９】頂点法線ベクトルと光源ベクトルとの内積値に基づき、マスク生成用テクスチャのテクスチャ座標を求める手法について説明するための図である。
【図１０】マスク生成用テクスチャの例を示す図である。
【図１１】本実施形態の詳細な処理例について示すフローチャートである。
【図１２】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図１３】図１３（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
ＯＢ    オブジェクト
ＬＳ    光源
ＬＳＶ  光源ベクトル
１０    陰影表現画像のテクスチャ
１２    画面サイズのポリゴン
１４    オブジェクトを内包するポリゴン
１００  処理部
１１０  ジオメトリ処理部
１１２  テクスチャ座標算出部
１２０  元画像描画部
１２２  マスク情報生成部
１２４  陰影描画部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  テクスチャ記憶部
１７６  描画領域（フレームバッファ等）
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0003777288.tif 000002
【図２】
0003777288.tif 000003
【図３】
0003777288.tif 000004
【図４】
0003777288.tif 000005
【図５】
0003777288.tif 000006
【図６】
0003777288.tif 000007
【図７】
0003777288.tif 000008
【図８】
0003777288.tif 000009
【図９】
0003777288.tif 000010
【図１０】
0003777288.tif 000011
【図１１】
0003777288.tif 000012
【図１２】
0003777288.tif 000013
【図１３】
0003777288.tif 000014