(57)【特許請求の範囲】
【請求項１】
画像生成を行うゲームシステムであって、
第１のオブジェクトの配置位置に応じた第１のテクスチャ座標群が付与される第１のオブジェクトと、第１のオブジェクトから離れた位置に配置されると共に第２のオブジェクトの配置位置に応じた第２のテクスチャ座標群が付与される第２のオブジェクトと・・・・・第Ｎ−１のオブジェクトから離れた位置に配置されると共に第Ｎのオブジェクトの配置位置に応じた第Ｎのテクスチャ座標群が付与される第Ｎのオブジェクトとをオブジェクト空間に配置設定する手段と、
テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記第１〜第Ｎのテクスチャ座標群を変化させる手段と、
前記第１〜第Ｎのテクスチャ座標群で指定されるテクスチャを前記第１〜第Ｎのオブジェクトに対してマッピングする手段と、
を含むことを特徴とするゲームシステム。
【請求項２】
請求項１において、
前記第１〜第Ｎの各オブジェクトが、少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトであり、
前記第１〜第Ｎの各オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記第１〜第Ｎの各テクスチャ座標群が設定されていることを特徴とするゲームシステム。
【請求項３】
画像生成を行うゲームシステムであって、
少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトをオブジェクト空間に配置設定する手段と、
テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記オブジェクトに付与されるテクスチャ座標群を変化させる手段と、
前記テクスチャ座標群で指定されるテクスチャを前記オブジェクトに対してマッピングする手段とを含み、
前記オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記テクスチャ座標群が設定され、
前記オブジェクトの屈曲面又は湾曲面の定義点の平面への投影点に基づき特定されるテクスチャ座標群が前記オブジェクトに付与されていることを特徴とするゲームシステム。
【請求項４】
画像生成を行うゲームシステムであって、
少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトをオブジェクト空間に配置設定する手段と、
テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記オブジェクトに付与されるテクスチャ座標群を変化させる手段と、
前記テクスチャ座標群で指定されるテクスチャを前記オブジェクトに対してマッピングする手段とを含み、
前記オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記テクスチャ座標群が設定され、
前記オブジェクトが、光を表現するための光オブジェクトであり、
前記テクスチャが、光が乱反射しているパーティクルを表すテクスチャであることを特徴とするゲームシステム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記第１〜第Ｎの各オブジェクト又は前記オブジェクトが、複数のプリミティブ面の連結により構成されると共に幅方向における中央領域から輪郭線の方に向かうにつれて徐々に透明又は不透明になる板状のオブジェクトであることを特徴とするゲームシステム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記オブジェクト空間における視界画像を生成するための視点が移動又は回転した場合にも、前記原像領域を一定方向に移動又は回転させることを特徴とするゲームシステム。
【請求項７】
画像生成を行うゲームシステムであって、
少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトをオブジェクト空間に配置設定する手段と、
テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記オブジェクトに付与されるテクスチャ座標群を変化させる手段と、
前記テクスチャ座標群で指定されるテクスチャを前記オブジェクトに対してマッピングする手段とを含み、
前記オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記テクスチャ座標群が設定され、
前記オブジェクトが、複数のプリミティブ面の連結により構成され、
前記第１〜第Ｎの各オブジェクト又は前記オブジェクトが、他のオブジェクト又は所与の境界と交差する交差イベントが発生した場合に、交差境界を基準として第１の方向側のプリミティブ面と第２の方向側のプリミティブ面とで、プリミティブ面の表示状態を異ならせることを特徴とするゲームシステム。
【請求項８】
請求項７において、
前記交差イベントが発生した場合に、交差境界から第２の方向側のプリミティブ面を非表示にすることを特徴とするゲームシステム。
【請求項９】
請求項８において、
前記交差イベントが発生した場合に、交差境界から第２の方向側のプリミティブ面のα値を透明に設定することで第２の方向側のプリミティブ面を非表示にすると共に、前記交差イベントが終了した場合に、交差境界から第２の方向側のプリミティブ面のα値の設定を元に戻すことを特徴とするゲームシステム。
【請求項１０】
コンピュータ読み取り可能な情報記憶媒体であって、
第１のオブジェクトの配置位置に応じた第１のテクスチャ座標群が付与される第１のオブジェクトと、第１のオブジェクトから離れた位置に配置されると共に第２のオブジェクトの配置位置に応じた第２のテクスチャ座標群が付与される第２のオブジェクトと・・・・・第Ｎ−１のオブジェクトから離れた位置に配置されると共に第Ｎのオブジェクトの配置位置に応じた第Ｎのテクスチャ座標群が付与される第Ｎのオブジェクトとをオブジェクト空間に配置設定する手段と、
テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記第１〜第Ｎのテクスチャ座標群を変化させる手段と、
前記第１〜第Ｎのテクスチャ座標群で指定されるテクスチャを前記第１〜第Ｎのオブジェクトに対してマッピングする手段と、
してコンピュータを機能させるためのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１１】
請求項１０において、
前記第１〜第Ｎの各オブジェクトが、少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトであり、
前記第１〜第Ｎの各オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記第１〜第Ｎの各テクスチャ座標群が設定されていることを特徴とする情報記憶媒体。
【請求項１２】
コンピュータ読み取り可能な情報記憶媒体であって、
少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトをオブジェクト空間に配置設定する手段と、
テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記オブジェクトに付与されるテクスチャ座標群を変化させる手段と、
前記テクスチャ座標群で指定されるテクスチャを前記オブジェクトに対してマッピングする手段としてコンピュータを機能させるためのプログラムを記憶し、
前記オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記テクスチャ座標群が設定され、
前記オブジェクトの屈曲面又は湾曲面の定義点の平面への投影点に基づき特定されるテクスチャ座標群が前記オブジェクトに付与されていることを特徴とする情報記憶媒体。
【請求項１３】
コンピュータ読み取り可能な情報記憶媒体であって、
少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトをオブジェクト空間に配置設定する手段と、
テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記オブジェクトに付与されるテクスチャ座標群を変化させる手段と、
前記テクスチャ座標群で指定されるテクスチャを前記オブジェクトに対してマッピングする手段としてコンピュータを機能させるためのプログラムを記憶し、
前記オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記テクスチャ座標群が設定され、
前記オブジェクトが、光を表現するための光オブジェクトであり、
前記テクスチャが、光が乱反射しているパーティクルを表すテクスチャであることを特徴とする情報記憶媒体。
【請求項１４】
請求項１０乃至１３のいずれかにおいて、
前記第１〜第Ｎの各オブジェクト又は前記オブジェクトが、複数のプリミティブ面の連結により構成されると共に幅方向における中央領域から輪郭線の方に向かうにつれて徐々に透明又は不透明になる板状のオブジェクトであることを特徴とする情報記憶媒体。
【請求項１５】
請求項１０乃至１４のいずれかにおいて、
前記オブジェクト空間における視界画像を生成するための視点が移動又は回転した場合にも、前記原像領域を一定方向に移動又は回転させることを特徴とする情報記憶媒体。
【請求項１６】
コンピュータ読み取り可能な情報記憶媒体であって、
少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトをオブジェクト空間に配置設定する手段と、
テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記オブジェクトに付与されるテクスチャ座標群を変化させる手段と、
前記テクスチャ座標群で指定されるテクスチャを前記オブジェクトに対してマッピングする手段としてコンピュータを機能させるためのプログラムを記憶し、
前記オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記テクスチャ座標群が設定され、
前記オブジェクトが、複数のプリミティブ面の連結により構成され、
前記第１〜第Ｎの各オブジェクト又は前記オブジェクトが、他のオブジェクト又は所与の境界と交差する交差イベントが発生した場合に、交差境界を基準として第１の方向側のプリミティブ面と第２の方向側のプリミティブ面とで、プリミティブ面の表示状態を異ならせることを特徴とする情報記憶媒体。
【請求項１７】
請求項１６において、
前記交差イベントが発生した場合に、交差境界から第２の方向側のプリミティブ面を非表示にすることを特徴とする情報記憶媒体。
【請求項１８】
請求項１７において、
前記交差イベントが発生した場合に、交差境界から第２の方向側のプリミティブ面のα値を透明に設定することで第２の方向側のプリミティブ面を非表示にすると共に、前記交差イベントが終了した場合に、交差境界から第２の方向側のプリミティブ面のα値の設定を元に戻すことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。ガンゲームを楽しむことができるゲームシステムを例にとれば、プレーヤ（操作者）は、銃などを模して作られたガン型コントローラ（シューティングデバイス）を用いて、画面に映し出される敵キャラクタ（オブジェクト）などの標的オブジェクトをシューティングすることで、３次元ゲームを楽しむ。
【０００３】
さて、このようなゲームシステムでは、プレーヤの仮想現実感の向上のために、よりリアルで高品質な画像を生成することが重要な技術的課題になっている。このため、例えば、日陰部分に差し込んでくる太陽光（光線）、夜間走行する車のヘッドライト光、灯台からのサーチライト、焦点の合っていないぼけた感じのレンズフレア光などの種々の光についても、よりリアルに表現できることが望ましい。
【０００４】
しかしながら、このような光を、物理シミュレーションにより忠実に表現しようとすると、ゲームシステムの処理負荷が非常に重くなる。従って、１フレーム内に全てのオブジェクトの描画処理を完了しなければならないというリアルタイム処理の要請に応えることができない。
【０００５】
また、この種の光を表現する手法として、光を表すテクスチャをオブジェクトに単純にマッピングする手法も考えられる。
【０００６】
しかしながら、この手法によると、静的な画像しか得ることができず、画像のリアルさを今一つ高めることができない。更に、オブジェクトの輪郭線が目立って見えてしまい、輪郭線がぼやけて見える光を今一つリアルに表現できないという問題もある。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、光などの表示物を少ない処理負担でリアルに表現できるゲームシステム及び情報記憶媒体を提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行うゲームシステムであって、第１のオブジェクトの配置位置に応じた第１のテクスチャ座標群が付与される第１のオブジェクトと、第１のオブジェクトから離れた位置に配置されると共に第２のオブジェクトの配置位置に応じた第２のテクスチャ座標群が付与される第２のオブジェクトと・・・・・第Ｎ−１のオブジェクトから離れた位置に配置されると共に第Ｎのオブジェクトの配置位置に応じた第Ｎのテクスチャ座標群が付与される第Ｎのオブジェクトとをオブジェクト空間に配置設定する手段と、テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記第１〜第Ｎのテクスチャ座標群を変化させる手段と、前記第１〜第Ｎのテクスチャ座標群で指定されるテクスチャを前記第１〜第Ｎのオブジェクトに対してマッピングする手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【０００９】
本発明によれば、第１〜第Ｎ（Ｎ≧２）のオブジェクトが互いに離れた位置に配置される。そして第１〜第Ｎの各オブジェクトには、その配置位置に応じた第１〜第Ｎの各テクスチャ座標群が付与される。そして、テクスチャ空間での原像領域が移動又は回転するように、これらの第１〜第Ｎのテクスチャ座標群が変化し、この変化する第１〜第Ｎのテクスチャ座標群で指定されるテクスチャが、第１〜第Ｎのオブジェクトにマッピングされる。
【００１０】
このようにすれば、例えば時刻ｔ１で第１のオブジェクトに映し出されていたテクスチャの中の第１の部分（例えば色の濃い部分や薄い部分）が、時刻ｔ２では第２のオブジェクトに映し出され、時刻ｔ３では第３のオブジェクトに映し出されるというような画像表現を実現できる。従って、不可視状態であった表示物（例えば煙、水蒸気等）が、第１〜第Ｎのオブジェクトの存在により可視状態になると共にその表示物が所与の方向に流れているかのように見える画像の生成を、少ない処理負荷と少ない使用記憶容量で実現できる。
【００１１】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記第１〜第Ｎの各オブジェクトが、少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトであり、前記第１〜第Ｎの各オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記第１〜第Ｎの各テクスチャ座標群が設定されていることを特徴とする。
【００１２】
また本発明は、画像生成を行うゲームシステムであって、少なくともテクスチャのマッピング面が屈曲面又は湾曲面となっているオブジェクトをオブジェクト空間に配置設定する手段と、テクスチャパターンが定義されるテクスチャ空間においてテクスチャの原像領域が移動又は回転するように前記オブジェクトに付与されるテクスチャ座標群を変化させる手段と、前記テクスチャ座標群で指定されるテクスチャを前記オブジェクトに対してマッピングする手段とを含み、前記オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、前記テクスチャ座標群が設定されていることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム（搬送波に具現化されるプログラムを含む）であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【００１３】
本発明によれば、オブジェクト（第１〜第Ｎの各オブジェクト）に屈曲面又は湾曲面を持たせているため、斜め方向からオブジェクトを見た場合や、視点がオブジェクトに近づいた場合にも、不自然さのない画像を生成できる。
【００１４】
そして本発明では、オブジェクトの屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、テクスチャ座標群（第１〜第Ｎの各テクスチャ座標群）が設定される。即ち、オブジェクトの屈曲面又は湾曲面に沿うようにテクスチャが流れるのではなく、あたかも屈曲面又は湾曲面が平面であるかのようにテクスチャが流れて見える。従って、視点の位置や方向に依らずに、一定方向に表示物が流れて見えるような画像表現が可能になり、得られる画像のリアル度を高めることができる。
【００１５】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記オブジェクトの屈曲面又は湾曲面の定義点の平面への投影点に基づき特定されるテクスチャ座標群が前記オブジェクトに付与されていることを特徴とする。
【００１６】
このようにすれば、あたかも屈曲面又は湾曲面が平面であるかのようにテクスチャを移動又は回転させることができるテクスチャ座標群を、簡素な処理で求めることができる。
【００１７】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記第１〜第Ｎの各オブジェクト又は前記オブジェクトが、複数のプリミティブ面の連結により構成されると共に幅方向における中央領域から輪郭線の方に向かうにつれて徐々に透明又は不透明になる板状のオブジェクトであることを特徴とする。
【００１８】
本発明によれば、例えば光などの表示物が、複数のプリミティブ面の連結により構成される板状のオブジェクトにより表現される。そして、中央領域から輪郭線の方に向かうにつれて徐々に透明又は不透明になるようにオブジェクトが表示される。これにより、例えば、輪郭線がぼけて見える光などの表示物の表現等を、少ない処理負担で実現できる。
【００１９】
なお、複数のプリミティブ面の連結により構成される板状のオブジェクトは、少なくともその幅方向における両端（輪郭線）が開いた構造のものであればよく、その表面形状が屈曲又は湾曲していてもよい。また、複数の板を交差させたような構造のものであってもよい。
【００２０】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムでは、前記第１〜第Ｎの各オブジェクト又は前記オブジェクトが、光を表現するための光オブジェクトであり、前記テクスチャが、光が乱反射しているパーティクルを表すテクスチャであることが望ましい。
【００２１】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記オブジェクト空間における視界画像を生成するための視点が移動又は回転した場合にも、前記原像領域を一定方向に移動又は回転させることを特徴とする。
【００２２】
このようにすれば、視点が移動又は回転した場合にも、常に一定方向に表示物が流れているかのように見える画像表現が可能になり、得られる画像のリアル度を高めることができる。
【００２３】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記第１〜第Ｎの各オブジェクト又は前記オブジェクトが、複数のプリミティブ面の連結により構成され、前記第１〜第Ｎの各オブジェクト又は前記オブジェクトが、他のオブジェクト又は所与の境界と交差する交差イベントが発生した場合に、交差境界を基準として第１の方向側のプリミティブ面と第２の方向側のプリミティブ面とで、プリミティブ面の表示状態を異ならせることを特徴とする。
【００２４】
このようにすれば、例えばキャラクタなどの他の表示物が光（光以外の表示物でもよい）を遮る場面や、光の入射、屈折、反射などのリアルな表現等を、少ない処理負担で実現できる。
【００２５】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記交差イベントが発生した場合に、交差境界から第２の方向側のプリミティブ面を非表示にすることを特徴とする。
【００２６】
このようにすれば、他の表示物の交差により第２の方向側の光（光以外の表示物でもよい）が遮られて見えなくなる表現等を実現できる。
【００２７】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記交差イベントが発生した場合に、交差境界から第２の方向側のプリミティブ面のα値を透明に設定することで第２の方向側のプリミティブ面を非表示にすると共に、前記交差イベントが終了した場合に、交差境界から第２の方向側のプリミティブ面のα値の設定を元に戻すことを特徴とする。
【００２８】
このようにすれば、他の表示物の交差により見えなくなった光（光以外の表示物でもよい）が、交差イベント終了後に再び見えるようになる画像表現を実現できる。
【００２９】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【００３０】
１．構成
図１に、本実施形態のゲームシステム（画像生成システム）の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１７０を含めばよく）、それ以外のブロックについては任意の構成要素とすることができる。
【００３１】
操作部１６０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、或いは筺体などのハードウェアにより実現できる。
【００３２】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３３】
情報記憶媒体１８０（コンピュータにより使用可能な記憶媒体）は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１８０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実行するための情報（プログラム或いはデータ）が格納される。
【００３４】
なお、情報記憶媒体１８０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１７０に転送されることになる。また情報記憶媒体１８０には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データ、本発明の処理を指示するための情報、或いはその指示に従って処理を行うための情報などを含ませることができる。
【００３５】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、或いはＨＭＤ（ヘッドマウントディスプレイ）などのハードウェアにより実現できる。
【００３６】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００３７】
携帯型情報記憶装置１９４は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【００３８】
通信部１９６は、外部（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３９】
なお本発明（本実施形態）の手段を実行するためのプログラム或いはデータは、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４０】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。
【００４１】
ここで、処理部１００が行うゲーム処理としては、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（１又は複数のプリミティブ面）の位置や回転角度（Ｘ、Ｙ又はＺ軸回り回転角度）を求める処理、オブジェクトを動作させる処理（モーション処理）、視点の位置（仮想カメラの位置）や視線角度（仮想カメラの回転角度）を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【００４２】
なお、処理部１００の機能は、より好適には、ハードウェア（ＣＰＵ、ＤＳＰ等のプロセッサ又はゲートアレイ等のＡＳＩＣ）とプログラム（ゲームプログラム又はファームウェア等）との組み合わせにより実現される。但し、処理部１００の機能の全てを、ハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。
【００４３】
処理部１００は、オブジェクト空間設定部１１０、テクスチャ座標変化部１１２、表示処理部１１４、画像生成部１３０、音生成部１５０を含む。
【００４４】
ここで、オブジェクト空間設定部１１０は、キャラクタ、マップなどの各種オブジェクト（モデル）をオブジェクト空間に配置設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度（方向）を決定し、その位置にその回転角度（Ｘ、Ｙ、Ｚ軸回転）でオブジェクトを配置する。
【００４５】
そして、オブジェクト空間設定部１１０は、光、煙、水蒸気、雲、炎、又は影などの表示物を表すための第１〜第Ｎ（Ｎ≧２）のオブジェクトをオブジェクト空間に配置設定するための処理を行う。ここで、第１〜第Ｎのオブジェクトは互いに離れた位置に配置されている。また、第１のオブジェクトには、第１のオブジェクトの配置位置に応じた第１のテクスチャ座標群が付与され、第２のオブジェクトには、第２のオブジェクトの配置位置に応じた第２のテクスチャ座標群が付与され・・・・・・第Ｎのオブジェクトには、第Ｎのオブジェクトの配置位置に応じた第Ｎのテクスチャ座標群が付与される。
【００４６】
なお、光、煙、水蒸気、雲、炎、又は影などの表示物を表すためのオブジェクト（第１〜第Ｎの各オブジェクト）は、少なくともテクスチャのマッピング面が屈曲面又は湾曲面（滑らかな曲面）となっているオブジェクトであることが望ましい。
【００４７】
テクスチャ座標変化部１１２は、テクスチャパターンが定義されるテクスチャ空間（テクスチャ記憶部１７６）においてテクスチャの原像領域が移動又は回転するように、オブジェクト（第１〜第Ｎのオブジェクト）に付与されるテクスチャ座標群（第１〜第Ｎのテクスチャ座標群）を変化させる。これにより、いわゆるテクスチャスクロールを実現できる。
【００４８】
なお、オブジェクト（第１〜第Ｎの各オブジェクト）のテクスチャマッピング面が屈曲面又は湾曲面となっている場合には、オブジェクト（第１〜第Ｎの各オブジェクト）の屈曲面又は湾曲面にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるように、テクスチャ座標群（第１〜第Ｎの各テクスチャ座標群）を設定しておくことが望ましい。
【００４９】
表示処理部１１４は、オブジェクトの表示状態（オブジェクトの色やテクスチャやα値などの画像情報、オブジェクトの形状、又はオブジェクトの表示位置）を制御するための各種の処理を行う。
【００５０】
より具体的には例えば、オブジェクト（光オブジェクト、煙オブジェクト、水蒸気オブジェクト、雲オブジェクト、炎オブジェクト、又は影オブジェクト等）が、他のオブジェクト（キャラクタ、移動物、障害物、又はマップ等）や境界（煙や水蒸気や雲や炎の境界、水面、又は媒質境界等）と交差する交差イベント（遮りイベント、入射イベント、屈折イベント、又は反射イベント等）が発生した場合に、交差境界を基準として第１の方向側（例えば上下左右のいずれか一方側）のプリミティブ面（ポリゴン、自由曲面等）と第２の方向側（例えば上下左右のいずれか他方側）のプリミティブ面とで、プリミティブ面の表示状態を異ならせる処理を行う。
【００５１】
画像生成部１３０は、ゲーム処理結果等に基づいて、オブジェクト空間内において所与の視点（仮想カメラ）から見える画像（視界画像）を生成し、描画バッファ１７４に描画する。そして、描画バッファ１７４に描画された画像は、表示部１９０により出力される。
【００５２】
より具体的には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブ面の構成点（頂点）に付与される位置座標、テクスチャ座標、色（輝度）データ、法線ベクトル或いはα値等）が作成される。そして、画像生成部１３０は、この描画データ（プリミティブ面データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数プリミティブ面）の画像を、描画バッファ１７４（フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ）に描画する。この際に、画像生成部１３０が含むテクスチャマッピング部１３２は、テクスチャ記憶部１７６から読み出されるテクスチャをオブジェクトにマッピングする。
【００５３】
音生成部１５０は、ゲーム処理結果等に基づいて各種の音処理を行い、ＢＧＭ、効果音、又は音声などの音を生成し、音出力部１９２に出力する。
【００５４】
なお、本実施形態のゲームシステムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００５５】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて生成してもよい。
【００５６】
２．本実施形態の特徴
２．１  光オブジェクト
図２に、本実施形態により生成されるゲーム画像の例を示す。
【００５７】
図２は、洞窟の暗闇の中でキャラクタ１０（広義にはオブジェクト）が移動している場面でのゲーム画像であり、洞窟の天井にある穴から光１２、１４、１６が差し込んでいる様子が描かれている。
【００５８】
本実施形態では、これらの光１２、１４、１６を、図３（Ａ）に示すように、複数のポリゴン（広義にはプリミティブ面）の連結により構成される板状のオブジェクトで表現している。なお、以下では、板状オブジェクトが光オブジェクトである場合について主に例にとり説明するが、板状オブジェクトは、煙、水蒸気、雲、炎又は影等のオブジェクトであってもよい。また、板状オブジェクトを構成するプリミティブ面がポリゴンである場合について主に例にとり説明するが、プリミティブ面は、自由曲面やサブディビジョンサーフェスであってもよい。
【００５９】
図３（Ａ）に示すように、この板状の光オブジェクトは、その中心線２０（又は中心線付近）で更に分割されており、中心線２０上の頂点のα値は例えば１．０（不透明）に設定されており、輪郭線２２、２４上の頂点のα値は例えば０．０（透明）に設定されている。なお、中心線２０上の頂点に付与するα値は１．０に近い値であればよく、１．０より小さな値でもよい。同様に、輪郭線２２、２４上の頂点に付与するα値は０．０に近い値であればよく、０．０より大きな値でもよい。
【００６０】
図３（Ａ）のようにα値を設定すれば、図３（Ｂ）に示すように、光オブジェクトは、その幅方向における中央領域２６（中心線又は中心線付近）から輪郭線２２、２４の方に向かうにつれて徐々に透明になるように表示される（徐々に不透明になるようにしてもよい）。即ち、中央領域２６付近では光の色（例えば白）になり、輪郭線２２、２４付近では透明になることで周囲の暗闇の色に溶け込む。従って、光オブジェクトの輪郭線２２、２４付近がぼやけて見えるようになり、目立たなくなる。この結果、板状の光オブジェクトを使用しているのにもかかわらず、あたかも輪郭がぼけた本当の光のように見えるようになり、図２に示すようなリアルな画像を少ない処理負担で生成できる。
【００６１】
例えば、筒状オブジェクトのようにその両端（両輪郭線）が閉じた図形では、図３（Ａ）に示すようにα値を設定できないため、輪郭線をぼかすことができない。また、筒状オブジェクトでは必要なポリゴン数も多くなるため、描画の処理負荷も重くなる。
【００６２】
これに対して、板状の光オブジェクトは、幅方向での両端（両輪郭線）が開いた図形になるため、図３（Ａ）に示すようなα値の設定が可能となり、輪郭線をぼかすことができると共に、あたかも立体の光のように見せることができる。また、必要とするポリゴン数も少なくて済むため、少ない処理負荷でリアルな画像を生成できる。
【００６３】
なお、複数のポリゴン（プリミティブ面）を連結することにより構成される板状の光オブジェクトは、図３（Ｃ）、（Ｄ）に示すような構造であってもよい。
【００６４】
例えば、図３（Ｃ）では、中心線（中心線付近）の周りに放射状に連結ポリゴンを配置することで板状の光オブジェクトを構成している。この構成によっても、両端が開いた図形になる。従って、例えば、中心線上の頂点のα値を１．０に設定し、輪郭線上の頂点のα値を０．０に設定することで、輪郭線がぼやけて目立たなくなる画像を生成できる。
【００６５】
また図３（Ｄ）では、表面が屈曲した構造（湾曲した構造でもよい）の板状の光オブジェクトになっている。図３（Ｄ）の場合も、両端が開いた図形になる。従って、中心線上の頂点のα値を１．０に設定し、輪郭線上の頂点のα値を０．０に設定することで、輪郭線がぼやけて目立たなくなる画像を生成できる。
【００６６】
２．２  複数オブジェクトへのテクスチャスクロール・マッピング
図４に、本実施形態においてオブジェクトにマッピングされるテクスチャの例を示す。このテクスチャＴＥＸは、光が乱反射（拡散反射）している煙のパーティクルを表すテクスチャになっている。
【００６７】
本実施形態では、図４に示すようなテクスチャＴＥＸが記憶されるテクスチャ空間ＴＸ、ＴＹにおいて、原像領域ＩＭを移動又は回転（スクロール）させながら、原像領域ＩＭのテクスチャを図３（Ａ）〜（Ｄ）で説明したオブジェクトにマッピングしている。このようにすることで、いわゆるテクスチャスクロールを実現できる。
【００６８】
そして本実施形態では、図２に示すようなリアルな光１２、１４、１６を表現するために次のような手法を用いている。
【００６９】
即ち図５のＣ１に示すように、図２の光１２、１４、１６に対応する細長いオブジェクトＯＢ１、ＯＢ２、ＯＢ３を用意して、オブジェクト空間に配置する。
【００７０】
そして、この場合、ＯＢ１、ＯＢ２、ＯＢ３は互いに離れた位置に配置されるようにする。
【００７１】
また図５のＣ１に示すように、オブジェクトＯＢ１の頂点（広義には制御点なども含む構成点）Ｖ１、Ｖ２、Ｖ３、Ｖ４には、各々、ＯＢ１の配置位置に応じたテクスチャ座標群Ｔ１（ＴＸ１、ＴＹ１）、Ｔ２（ＴＸ２、ＴＹ２）、Ｔ３（ＴＸ３、ＴＹ３）、Ｔ４（ＴＸ４、ＴＹ４）が付与される。
【００７２】
同様に、オブジェクトＯＢ２の頂点Ｖ５、Ｖ６、Ｖ７、Ｖ８には、各々、ＯＢ２の配置位置に応じたテクスチャ座標群Ｔ５（ＴＸ５、ＴＹ５）、Ｔ６（ＴＸ６、ＴＹ６）、Ｔ７（ＴＸ７、ＴＹ７）、Ｔ８（ＴＸ８、ＴＹ８）が付与される。また、オブジェクトＯＢ３の頂点Ｖ９、Ｖ１０、Ｖ１１、Ｖ１２には、各々、ＯＢ３の配置位置に応じたテクスチャ座標群Ｔ９（ＴＸ９、ＴＹ９）、Ｔ１０（ＴＸ１０、ＴＹ１０）、Ｔ１１（ＴＸ１１、ＴＹ１１）、Ｔ１２（ＴＸ１２、ＴＹ１２）が付与される。
【００７３】
このようにすれば、オブジェクトＯＢ１のテクスチャ座標群Ｔ１〜Ｔ４により、テクスチャ空間の原像領域ＩＭ１が指定されるようになる。また、オブジェクトＯＢ２のテクスチャ座標群Ｔ５〜Ｔ８により原像領域ＩＭ２が指定され、オブジェクトＯＢ３のテクスチャ座標群Ｔ９〜Ｔ１２により原像領域ＩＭ３が指定されるようになる。
【００７４】
そして、オブジェクトＯＢ１、ＯＢ２、ＯＢ３には、各々、その配置位置に応じたテクスチャ座標群Ｔ１〜Ｔ４、Ｔ５〜Ｔ８、Ｔ９〜Ｔ１２が与えられている。従って、図５のＣ２に示すように、これらのテクスチャ座標群Ｔ１〜Ｔ４、Ｔ５〜Ｔ８、Ｔ９〜Ｔ１２により指定される原像領域ＩＭ１、ＩＭ２、ＩＭ３も、テクスチャ空間において互いに離れた位置に配置されるようになる。
【００７５】
そして本実施形態では図５のＣ３に示すように、オブジェクトＯＢ１、ＯＢ２、ＯＢ３に付与されたテクスチャ座標群Ｔ１〜Ｔ４、Ｔ５〜Ｔ８、Ｔ９〜Ｔ１２を原像領域ＩＭ１、ＩＭ２、ＩＭ３が移動又は回転（スクロール）するように変化させながら、テクスチャＴＥＸを複数のＯＢ１、ＯＢ２、ＯＢ３にマッピングしている。
【００７６】
このようにすれば図６に模式的に示すようなテクスチャマッピングを実現できる。即ち、時刻ｔ１においてオブジェクトＯＢ１上に表れていたテクスチャＴＥＸのパターンが、時刻がｔ２、ｔ３、ｔ４と進むにつれて、オブジェクトＯＢ２、ＯＢ３上にも順次表れるようになる。
【００７７】
例えば前述の図２のゲーム場面では、洞窟の中には目に見えない煙が充満していると想定されている。そして、洞窟に差し込む光１２、１４、１６がこの煙のパーティクルにより乱反射（拡散反射）されることで、図２に示すような光１２、１４、１６の線が見えると想定されている。従って、オブジェクトにマッピングされる光表現用のテクスチャＴＥＸは、図４に示すように、光の乱反射により見える煙のパーティクルが描かれたテクスチャになっている。
【００７８】
この場合、煙のパーティクル濃度が濃い部分と薄い部分を表現するために、図４のテクスチャＴＥＸの各テクセルに対してもα値（図３（Ａ）とは異なるα値）が設定されている。例えば、煙のパーティクル濃度が濃い部分ではテクセルのα値を、より大きくし（より不透明にし）、薄い部分では、より小さくする（より透明にする）。
【００７９】
この図４に示すテクスチャＴＥＸを、図５で説明したテクスチャスクロール手法を用いて複数の光オブジェクトＯＢ１〜ＯＢ３にマッピングすれば、図７に示すようなリアルな映像効果を得ることができる。
【００８０】
即ち図７では、光がなければ見ることができない煙４０の中に、光オブジェクトＯＢ１、ＯＢ２、ＯＢ３で表現される光が差し込んでいると想定されている。また、図７のＤ１に示す方向に風が吹いていると想定されている。
【００８１】
このような場合に、図４に示すテクスチャＴＥＸを、図５のテクスチャスクロール手法を用いて光オブジェクトＯＢ１、ＯＢ２、ＯＢ３にマッピングすれば、図４のテクスチャＴＥＸの煙パーティクルの濃い部分や薄い部分が、ＯＢ３からＯＢ２、ＯＢ２からＯＢ１というように、テクスチャのスクロール（原像領域の移動）に応じて動いて見えるようになる。従って、あたかも、Ｄ１に示す方向に吹いている風により煙４０が流れ、その流れている煙４０が、差し込んだ光の乱反射により可視状態になったかのように見える画像表現が可能になる。
【００８２】
例えば図７に示すような画像表現を実現する手法として、パーティクルシステムを利用した手法を考えることができる。即ち、図７の煙４０を表現するために、所与の規則に従って発生、移動、又は消滅する多数のパーティクルをリアルタイムに発生させ、このパーティクルに対して、光を乱反射させる光源計算を行う。
【００８３】
しかしながら、この手法では、多数のパーティクルに対して光源計算を行わなければならないため、処理負荷が非常に重くなる。
【００８４】
また、パーティクルは不定形な表示物であるため、図２、図７に示すような長く真っ直ぐ伸びる光の線を表現するのは技術的に困難である。
【００８５】
また、パーティクルシステムでは、パーティクルが表示されている間は、そのパーティクルのワールド座標系での位置（ワールド位置）を、記憶部に保持しておく必要がある。従って、記憶部の使用記憶容量を圧迫してしまうという問題が生じる。
【００８６】
これに対して本実施形態では、煙４０を表す実際のパーティクルについては生成、表示する必要が一切無く、光オブジェクトＯＢ１、ＯＢ２、ＯＢ３だけを表示すればよい。従って、パーティクルシステムを用いる上記手法に比べて処理負荷が非常に軽くなると共に、記憶部の使用記憶容量も少なくて済む。
【００８７】
そして、本実施形態では、このように処理負荷が軽く、使用記憶容量も少ないにもかかわらず、テクスチャスクロールを上手く利用して、光の照射により可視状態になった煙４０が、あたかも風により流れているかのように見える画像表現を実現できる。従って、少ない処理負荷でリアルな画像を生成できる。
【００８８】
２．３  屈曲オブジェクトへのテクスチャスクロール・マッピング
さて、図５で説明したテクスチャスクロール手法で光を表現した場合に、次のような問題が生じることが判明した。
【００８９】
即ち図８（Ａ）のように、視点ＶＰ（プレーヤ）がオブジェクトＯＢ１〜ＯＢ３を正面方向から見ている場合（視線ベクトルＬＳがＯＢ１〜ＯＢ３の主面と直交する場合）には、それほど問題は生じない。
【００９０】
しかしながら、図８（Ｂ）に示すように、視点ＶＰがオブジェクトＯＢ１〜ＯＢ３を斜め方向から見る場合（視線ベクトルＬＳとＯＢ１〜ＯＢ３の主面とのなす角度が鋭角になる場合）には、オブジェクトＯＢ１〜ＯＢ３が板状であることをプレーヤに気づかれてしまう可能性がある。
【００９１】
このような問題を解決する第１の手法として、図８（Ｃ）に示すように、オブジェクトＯＢ１〜ＯＢ３の主面が視線ベクトルＬＳに対して常に直交するようにＯＢ１〜ＯＢ３を回転させる手法（ビルボード表示）が考えられる。
【００９２】
しかしながら、この第１の手法によると、図８（Ａ）ではＥ１の方向に吹いていた風が、図８（Ｃ）ではＥ２の方向に吹いているように見えてしまう。即ち、視線ベクトルに対して直交する方向に常に風が吹いているように見えてしまい、非常に不自然な画像が生成されてしまう。
【００９３】
一方、上記の第１の手法とは異なる第２の手法として、図８（Ｄ）に示すように、オブジェクトＯＢ１、ＯＢ２、ＯＢ３の面を屈曲（又は湾曲）させる手法が考えられる。
【００９４】
しかしながら、この第２の手法によると、Ｅ３のように吹いていると想定されている風が、Ｅ４、Ｅ５、Ｅ６に示すように、オブジェクトＯＢ１、ＯＢ２、ＯＢ３の屈曲面に沿って吹いているように見えてしまい、得られる画像が非常に不自然なものになってしまう。
【００９５】
即ち図９のＦ１のようにオブジェクトＯＢの面を屈曲させた場合には、通常、図９のＦ２に示す位置を指定するようなテクスチャ座標群Ｔ１’、Ｔ２’、Ｔ３’、Ｔ４’、Ｔ５’が、ＯＢの頂点Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５に付与される。これは、オブジェクトＯＢ及びテクスチャＴＥＸを平面に展開した場合に、図９のＦ３に示すようなテクスチャ座標群Ｔ１’〜Ｔ５’を頂点Ｖ１〜Ｖ５に付与することに相当する。
【００９６】
そして図９のようにテクスチャ座標群を付与すると、オブジェクトＯＢの屈曲面に沿ってテクスチャＴＥＸがマッピングされるようになる。従って、この状態で図５で説明したようなテクスチャスクロールを行うと、図１０に模式的に示されるように、時刻がｔ１、ｔ２、ｔ３、ｔ４と経過するにつれて、オブジェクトＯＢの屈曲面に沿ってテクスチャの絵柄が移動しているように見えるようになる。
【００９７】
通常のテクスチャスクロールでは、図１０に示すようにテクスチャがマッピングされるのが正しい表示となる。しかしながら、このようにオブジェクトＯＢ１の屈曲面に完全に沿うように煙のテクスチャの絵柄を移動させて風が吹く様子を表現しようとすると、プレーヤからは、あたかも図８（Ｄ）のＥ４、Ｅ５、Ｅ６の方向に風が吹いているように見えてしまい、生成される画像が非常に不自然なものになる。
【００９８】
そこで、このような問題を解決するために、本実施形態では次のような手法を採用している。
【００９９】
即ち本実施形態では、図９とは異なり、図１１に示すようなテクスチャ座標群Ｔ１、Ｔ２、Ｔ３、Ｔ４、Ｔ５をオブジェクトＯＢの頂点Ｖ１、Ｖ２、Ｖ３、Ｖ４、Ｖ５に付与している。より具体的には、オブジェクトの屈曲面（又は湾曲面）の頂点（広義には定義点）を平面に投影したと想定した場合に、その投影点の位置に応じたテクスチャ座標群Ｔ１〜Ｔ５を、オブジェクトＯＢの頂点Ｖ１〜Ｖ５に付与する。これにより、オブジェクトＯＢの屈曲面（又は湾曲面）にマッピングされるテクスチャが、視点から見て平面上で移動又は回転して見えるようになり、例えば、視点から見た時のテクスチャの移動速度又は回転速度がマッピング面の各場所で均一又はほぼ均一になる（一定速度になる）。
【０１００】
そして本実施形態では図１１の手法で複数のオブジェクトＯＢ１、ＯＢ２、ＯＢ３にテクスチャ座標群を付与し、これらのテクスチャ座標群を、図１２に示すように原像領域ＩＭ１、ＩＭ２、ＩＭ３が移動又は回転（スクロール）するように変化させながら、テクスチャＴＥＸをオブジェクトＯＢ１、ＯＢ２、ＯＢ３にマッピングする。
【０１０１】
このようにすることで図１３に模式的に示すようなテクスチャマッピングが実現される。
【０１０２】
即ち図１０と図１３を比較すれば明らかなように、図１３では、オブジェクトＯＢの屈曲面（又は湾曲面）にマッピングされるテクスチャが、視点から見て平面上で移動（又は回転）しているように見える。
【０１０３】
この結果、図１４（Ａ）に示すように、想定されている風の方向Ｆ３と同じ方向であるＦ４、Ｆ５、Ｆ６の方向に、各オブジェクトＯＢ１、ＯＢ２、ＯＢ３での風が吹いているように見えるようになる。
【０１０４】
また、図１４（Ｂ）のようにオブジェクトＯＢ１、ＯＢ２、ＯＢ３を斜め方向から見る位置に視点ＶＰが移動（又は回転）した場合にも、図１２に示すように原像領域ＩＭ１、ＩＭ２、ＩＭ３の移動方向（又は回転方向）は一定になっているため、ＯＢ１、ＯＢ２、ＯＢ３での風の方向も、想定されている風の方向Ｆ３と同じ方向になる。
【０１０５】
また、図８（Ｂ）では、オブジェクトＯＢ１〜ＯＢ３を斜め方向から見た場合に、ＯＢ１〜ＯＢ３が板状であることをプレーヤに気づかれてしまうという問題があった。これに対して図１４（Ｂ）では、オブジェクトＯＢ１〜ＯＢ３は屈曲面（湾曲面）を有する構造になっているため、このような問題も生じない。
【０１０６】
このように本実施形態の手法によれば、視点の位置や方向に依存せずに、常に同じ向きに風が吹いているように見せることができる。従って図２に示すように、洞窟の中の煙が、光１２、１４、１６の乱反射により可視状態になり、この可視状態になった煙が風により一定方向に流れているように見える画像表現を、少ない処理負荷と少ないデータ量で実現できる。
【０１０７】
２．４  光の遮り
さて、図２のようなゲーム場面でキャラクタ１０が移動すると、キャラクタ１０と光１２、１４、１６とが交差する状況が生じる。
【０１０８】
しかしながら、図２では光オブジェクトを所望の位置に配置することで光１２、１４、１６を表現している。従って、キャラクタ１０と光１２、１４、１６が交差した場合に、光１２、１４、１６は遮られることがなく、キャラクタ１０の画像と光１２、１４、１６の画像とが合成されたような画像が生成されてしまい、不自然な表現になってしまう。
【０１０９】
そこで、本実施形態では、このような交差イベントが発生した場合に、交差境界を基準として第１の方向側の光オブジェクトのポリゴン（広義にはプリミティブ面）と、第２の方向側のポリゴンとで、ポリゴンの表示状態を異ならせるようにしている。
【０１１０】
より具体的には図１５のＡ１に示すように光オブジェクトＯＢ１と他のオブジェクトＯＢ２（キャラクタ）とが交差するイベントが発生すると、図１５のＡ２に示すように、光オブジェクトＯＢ１を構成するポリゴンのうち、交差境界を基準として下側（上側でもよい）のポリゴンを非表示にする。
【０１１１】
一方、図１５のＡ３に示すように交差イベントが終了すると、Ａ４に示すように、非表示になったポリゴンを再度表示する。
【０１１２】
このようにすることで、あたかも、光がキャラクタにより遮られたかのように見える画像表現が可能になり、よりリアルな画像を生成できる。しかも、交差境界の下側のポリゴンを非表示にするだけで光が遮られる様子を表現できるため、処理負担も非常に少なくて済む。
【０１１３】
そして本実施形態では、このような交差境界より下側のポリゴンの表示、非表示を、α値により制御している。
【０１１４】
即ち、交差（遮り）イベント発生前においては、図１６（Ａ）のＢ１に示すように中心線上の頂点のα値は１．０に設定されており、光オブジェクトを構成する全てのポリゴンが表示される。
【０１１５】
一方、交差イベントが発生すると、図１６（Ａ）のＢ２に示すように、交差境界より下側のポリゴンのα値（中心線上の頂点のα値）が１．０から０．０に変更される。これにより、交差境界より下側のポリゴンは非表示になり、図１５のＡ１に示すような、キャラクタにより光が遮られる様子を表現できる。
【０１１６】
そして、交差イベントが終了すると、図１６（Ａ）のＢ３に示すように、交差境界より下側のポリゴンのα値（中心線上の頂点のα値）が０．０から１．０に戻される。これにより、交差境界より下側のポリゴンが再び表示され、図１５のＡ３に示すような、遮られた光が元に戻る様子を表現できるようになる。
【０１１７】
このように、ポリゴンのα値によりポリゴンの表示、非表示を制御する手法は、ポリゴンの頂点に付与されているα値を書き換えるだけで済むため、処理負荷が非常に軽いという利点がある。
【０１１８】
例えば、ポリゴンの表示、非表示を制御する他の手法として、オブジェクトを構成するポリゴンの一部を消去する手法が考えられる。
【０１１９】
しかしながら、この種のゲームシステムでは、オブジェクト単位で画像に関するデータが管理されおり、例えば、オブジェクトを構成するポリゴンの頂点リストは、オブジェクト単位で管理されている。従って、上記のポリゴンを消去する手法では、交差イベントが発生したり終了したりする毎に頂点リストを再生成する必要が生じ、処理が煩雑化したり、処理負荷が重くなる。
【０１２０】
これに対して、ポリゴンの表示、非表示をα値により制御する手法では、頂点リストについては再生成する必要が無く、対応する頂点のα値を書き換えるだけでよいため、ポリゴンを消去する手法に比べて処理負荷が少なくて済む。
【０１２１】
特に本実施形態では、輪郭線上の頂点のα値は元々０．０になっているため、中心線上の頂点のα値を書き換えるだけでよい。従って、ポリゴンの表示、非表示の処理負荷を更に軽減化できる。
【０１２２】
なお、より自然な画像を生成するためには、図１６（Ｂ）に示すように、交差イベントが発生した場合に、交差境界３０をその辺として有する新たな形状のポリゴン３２、３４を生成するようにしてもよい。このようにすれば、交差境界がポリゴンの途中に発生した場合にも、正確な位置からポリゴンが非表示になり、よりリアルで自然な画像を生成できる。
【０１２３】
また、図１５、図１６（Ａ）、（Ｂ）では、交差イベントの発生時に、交差境界から下側のポリゴンを非表示にする場合について説明したが、交差イベントの発生時に、交差境界から下側（或いは上側）のポリゴンの画像情報（色、テクスチャ等）、形状、或いは表示位置を変化させるようにしてもよい。このようにすることで、後述するような光の入射、屈折、反射等のリアルな表現が可能になる。例えば、光の屈折イベント（広義には交差イベント）が発生した場合に、屈折光の色を変化させることで、よりリアルな屈折光を表現できる。
【０１２４】
３．本実施形態の処理
次に、本実施形態の処理の詳細例について、図１７、図１８のフローチャートを用いて説明する。
【０１２５】
図１７は、図５、図１２等で説明したテクスチャスクロールを実現する処理に関するフローチャートである。
【０１２６】
まず、オブジェクトにマッピングするテクスチャ（図４参照）をＶＲＡＭに転送する（ステップＳ１）。
【０１２７】
次に、オブジェクト番号を表すＭを１に設定する（ステップＳ２）。また頂点番号を表すＮを１に設定する（ステップＳ３）。
【０１２８】
次に、オブジェクトＯＢ＿Ｍの頂点Ｖ＿Ｎのデータ（位置、テクスチャ座標、色、α値、輝度等）を読み込む（ステップＳ４）。そして、頂点Ｖ＿Ｎのテクスチャ座標ＴＸ（ｕ値）にオフセット値ＯＦＸを加算する（ステップＳ５）。同様に、頂点Ｖ＿Ｎのテクスチャ座標ＴＹ（ｖ値）にオフセット値ＯＦＹを加算する（ステップＳ６）。このようにすることで、図５、図１２に示すようにテクスチャ空間で原像領域を移動等させることができる。
【０１２９】
なお、ＴＸの軸方向にだけ原像領域を移動させる場合にはステップＳ６の処理は不要になり、ＴＹの軸方向にだけ原像領域を移動させる場合にはステップＳ５の処理は不要になる。
【０１３０】
次に、オフセット値加算後のＴＸが１．０より大きいか否かを判断し（ステップＳ７）、ＴＸ＞１．０の場合にはＴＸから１．０を減算する（ステップＳ８）。同様に、オフセット値加算後のＴＹが１．０より大きいか否かを判断し（ステップＳ９）、ＴＹ＞１．０の場合にはＴＹから１．０を減算する（ステップＳ１０）。このようにすれば、ＴＸ、ＴＹが、０．０≦ＴＸ≦１．０、０．０≦ＴＹ≦１．０の範囲に収まるようなる。そして、図５、図１２において、例えば、原像領域ＩＭ１〜ＩＭ３が境界ＢＤ１を越えた場合にも境界ＢＤ２の位置に戻るようになる。これにより、矛盾の無い画像を生成できると共に、テクスチャ記憶部の使用記憶容量を節約できる。
【０１３１】
次に、頂点Ｖ＿Ｎのデータを描画部に転送する（ステップＳ１１）。描画部はこのデータに基づいて、テクスチャマッピングを行いながらオブジェクト（プリミティブ面）を描画バッファに描画する。
【０１３２】
次に、ＮがＮＭＡＸ（頂点総数）より小さいか否かを判断する（ステップＳ１２）。そして、Ｎ＜ＮＭＡＸの場合にはＮを１だけインクリメントして（ステップＳ１３）、ステップＳ４の処理に移行し、次の頂点の処理を行う。
【０１３３】
ステップＳ１２でＮ≧ＮＭＡＸと判断された場合には、ＭがＭＭＡＸ（オブジェクト総数）よりも小さいか否かを判断する（ステップＳ１４）。そして、Ｍ＜ＭＭＡＸの場合にはＭを１だけインクリメントして（ステップＳ１５）、ステップＳ３の処理に移行し、次のオブジェクトの処理を行う。一方、Ｍ≧ＭＭＡＸの場合には処理を終了する。
【０１３４】
以上のようにして、図５、図１２で説明したテクスチャスクロールを実現できる。
【０１３５】
図１７は、図１５で説明したキャラクタによる光の遮り表現の処理に関するフローチャートである。
【０１３６】
まず、図３（Ａ）、（Ｂ）に示すような光ポリゴンの連結により表される光オブジェクトを、オブジェクト空間に設定する（ステップＳ２１）。具体的には、ワールド座標系での光オブジェクトの位置、回転角度（方向）を決めて、光オブジェクトを配置する。
【０１３７】
次に、交差イベント発生フラグＦＬが０か否かを判断する（ステップＳ２２）。そして、ＦＬ＝０の場合には、交差イベント（キャラクタと光の交差）が発生したか否かを判断する（ステップＳ２３）。そして、交差イベントが発生した場合には、交差イベント発生フラグＦＬを１に設定する（ステップＳ２４）。
【０１３８】
次に、光オブジェクトの頂点の中から、交差境界より下側にある頂点を検索する（ステップＳ２５）。そして、交差境界よりも下側にある頂点（具体的には中心線上の頂点）のα値を、図１６（Ａ）のＢ２で説明したように０．０（透明）に設定する（ステップＳ２６）。そして、光オブジェクトを描画する（ステップＳ２７）。
【０１３９】
一方、ステップＳ２３で交差イベントが発生していないと判断された場合には、α値を書き換えることなく光オブジェクトを描画する（ステップＳ２７）。
【０１４０】
また、ステップＳ２２で、交差イベント発生フラグＦＬが１であると判断された場合には、交差イベントが終了したか否かを判断する（ステップＳ２８）。そして、交差イベントが終了した場合には、交差イベント発生フラグＦＬを０に設定する（ステップＳ２９）。
【０１４１】
次に、交差境界よりも下側にある頂点（中心線上の頂点）のα値を、図１６（Ａ）のＢ３で説明したように１．０（不透明）に戻す（ステップＳ３０）。そして、光オブジェクトを描画する（ステップＳ２７）。
【０１４２】
以上のようにすれば、キャラクタによる光の遮り表現を簡素な処理で実現できる。
【０１４３】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１９を用いて説明する。
【０１４４】
メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介して転送されたプログラム、或いはＲＯＭ９５０（情報記憶媒体の１つ）に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【０１４５】
コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、オブジェクトを移動させたり動作（モーション）させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【０１４６】
ジオメトリプロセッサ９０４は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算（ベクトル演算）を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ９００で動作するプログラムが、その処理をジオメトリプロセッサ９０４に指示する。
【０１４７】
データ伸張プロセッサ９０６は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、ＭＰＥＧ方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ＲＯＭ９５０、ＣＤ９８２に格納されたり、或いは通信インターフェース９９０を介して外部から転送される。
【０１４８】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０の機能を利用して、オブジェクトデータを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると、描画プロセッサ９１０は、これらのオブジェクトデータやテクスチャに基づいて、Ｚバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ９２２に高速に描画する。また、描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、１フレーム分の画像がフレームバッファ９２２に書き込まれると、その画像はディスプレイ９１２に表示される。
【０１４９】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ９３２から出力される。
【０１５０】
ゲームコントローラ９４２からの操作データや、メモリカード９４４からのセーブデータ、個人データは、シリアルインターフェース９４０を介してデータ転送される。
【０１５１】
ＲＯＭ９５０にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納されることになる。なお、ＲＯＭ９５０の代わりにハードディスクを利用するようにしてもよい。
【０１５２】
ＲＡＭ９６０は、各種プロセッサの作業領域として用いられる。
【０１５３】
ＤＭＡコントローラ９７０は、プロセッサ、メモリ（ＲＡＭ、ＶＲＡＭ、ＲＯＭ等）間でのＤＭＡ転送を制御するものである。
【０１５４】
ＣＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＣＤ９８２（情報記憶媒体）を駆動し、これらのプログラム、データへのアクセスを可能にする。
【０１５５】
通信インターフェース９９０は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース９９０に接続されるネットワークとしては、通信回線（アナログ電話回線、ＩＳＤＮ）、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステムとの間でのデータ転送が可能になる。
【０１５６】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【０１５７】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【０１５８】
図２０（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報（プログラム又はデータ）は、システムボード１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１５９】
図２０（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＣＤ１２０６、或いはメモリカード１２０８、１２０９等に格納されている。
【０１６０】
図２０（Ｃ）に、ホスト装置１３００と、このホスト装置１３００とネットワーク１３０２（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）を介して接続される端末１３０４-1〜１３０４-n（ゲーム機、携帯電話）とを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１６１】
なお、図２０（Ｃ）の構成の場合に、本発明の各手段を、ホスト装置（サーバー）と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１６２】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置（メモリカード、携帯型ゲーム装置）を用いることが望ましい。
【０１６３】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１６４】
例えば、オブジェクトで表現される表示物としては、本実施形態で説明したような光（太陽光、レーザ等）が特に望ましいが、これ以外にも、種々の表示物を表現できる。
【０１６５】
また図５のように原像領域を移動又は回転させながら複数のオブジェクトにテクスチャをマッピングする手法においては、オブジェクトの形状や画像情報の設定は図３（Ａ）、（Ｂ）、（Ｃ）のような設定であることが特に望ましいが、これに限定されるものではない。
【０１６６】
また図１２のように原像領域を移動又は回転させながら、屈曲面又は湾曲面を有するオブジェクトにテクスチャをマッピングする手法においても、オブジェクトの形状や画像情報の設定手法は、本実施形態で説明した手法に限定されず、種々の変形実施が可能である。
【０１６７】
また、オブジェクトにマッピングされるテクスチャは、色情報のテクスチャに限定されず、輝度情報、半透明情報（α値）、表面形状情報（バンプ値）、反射率情報、屈折率情報、或いは深さ情報などについてのテクスチャであってもよい。
【０１６８】
また、交差イベント発生時にプリミティブ面の表示状態を変化させる手法としては、図１５、図１６（Ａ）、（Ｂ）等で説明した手法に限定されず、これと均等な種々の手法による変形実施が可能である。
【０１６９】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１７０】
また、本発明は種々のゲーム（格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１７１】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステム（画像生成システム）に適用できる。
【図面の簡単な説明】
【図１】本実施形態のゲームシステムの機能ブロック図の例である。
【図２】本実施形態により生成されるゲーム画像の例である。
【図３】図３（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）は、複数のポリゴンを連結することで構成される板状のオブジェクトの例について説明するための図である。
【図４】本実施形態により使用されるテクスチャの例である。
【図５】テクスチャスクロールを行いながら複数のオブジェクトにテクスチャをマッピングする手法について説明するための図である。
【図６】図５の手法で生成される画像を概念的に示す図である。
【図７】図５の手法で得られる映像効果について説明するための図である。
【図８】図８（Ａ）、（Ｂ）、（Ｃ）、（Ｄ）は、板状のオブジェクトや屈曲面を持つオブジェクトを用いた場合に生じる種々の問題点について説明するための図である。
【図９】オブジェクトの屈曲面に沿ってテクスチャがマッピングされるようなテクスチャ座標群をオブジェクトに付与する手法について説明するための
【図１０】図９の手法で生成される画像を概念的に示す図である。
【図１１】本実施形態でのテクスチャ座標群の設定手法について説明するための図である。
【図１２】テクスチャスクロールを行いながら屈曲面を有するオブジェクトにテクスチャをマッピングする手法について説明するための図である。
【図１３】図１１、図１２の手法で生成される画像を概念的に示す図である。
【図１４】図１４（Ａ）、（Ｂ）は、図１１、図１２の本実施形態の手法の効果について説明するための図である。
【図１５】キャラクタによる光の遮り表現について説明するための図である。
【図１６】図１６（Ａ）は、α値を利用してポリゴンの表示、非表示を制御する手法について説明するための図であり、図１６（Ｂ）は、交差イベント発生時に交差境界をその辺として有する新たなポリゴンを生成する手法について説明するための図である。
【図１７】本実施形態の処理の詳細例について示すフローチャートである。
【図１８】本実施形態の処理の詳細例について示すフローチャートである。
【図１９】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図２０】図２０（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
１００  処理部
１１０  オブジェクト空間設定部
１１２  テクスチャ座標変化部
１１４  表示処理部
１３０  画像生成部
１３２  テクスチャマッピング部
１５０  音生成部
１６０  操作部
１７０  記憶部
１７２  主記憶部
１７４  描画バッファ
１７６  テクスチャ記憶部
１８０  情報記憶媒体
１９０  表示部
１９２  音出力部
１９４  携帯型情報記憶装置
１９６  通信部
【図１】
0004530312.tif 000002
【図２】
0004530312.tif 000003
【図３】
0004530312.tif 000004
【図４】
0004530312.tif 000005
【図５】
0004530312.tif 000006
【図６】
0004530312.tif 000007
【図７】
0004530312.tif 000008
【図８】
0004530312.tif 000009
【図９】
0004530312.tif 000010
【図１０】
0004530312.tif 000011
【図１１】
0004530312.tif 000012
【図１２】
0004530312.tif 000013
【図１３】
0004530312.tif 000014
【図１４】
0004530312.tif 000015
【図１５】
0004530312.tif 000016
【図１６】
0004530312.tif 000017
【図１７】
0004530312.tif 000018
【図１８】
0004530312.tif 000019
【図１９】
0004530312.tif 000020
【図２０】
0004530312.tif 000021