(57)【要約】【課題】  仮想カメラの位置や向きに関わらず適切な速度感の演出効果を実現可能なプログラム、情報記憶媒体、及び画像生成システムを提供すること。【解決手段】  オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、円柱又は多角柱の表面上を複数の線分が一方向に移動するエフェクトオブジェクトＥＯを記憶する記憶部と、オブジェクト空間に配置された移動体オブジェクトＭＯの移動を制御する移動制御部と、仮想カメラＶＣを移動体オブジェクトＭＯの移動に追従させる制御を行う仮想カメラ制御部と、移動体オブジェクトＭＯの位置に基づいて、エフェクトオブジェクトＥＯをオブジェクト空間に配置するオブジェクト空間設定部としてコンピュータを機能させることを特徴とする。【選択図】図７
2009169471.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
円柱又は多角柱の表面上を複数の線分が一方向に移動するエフェクトオブジェクトを記憶する記憶部と、
オブジェクト空間に配置された移動体オブジェクトの移動を制御する移動制御部と、
仮想カメラを前記移動体オブジェクトの移動に追従させる制御を行う仮想カメラ制御部と、
前記移動体オブジェクトの位置に基づいて、前記エフェクトオブジェクトをオブジェクト空間に配置するオブジェクト空間設定部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記移動体オブジェクトの速度に基づいて、前記エフェクトオブジェクトの線分の数を増減させるエフェクト制御部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項３】
オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
円から発生し一方向に移動する複数のパーティクルによって構成されるエフェクトオブジェクトを記憶する記憶部と、
オブジェクト空間に配置された移動体オブジェクトの移動を制御する移動制御部と、
仮想カメラを前記移動体オブジェクトの移動に追従させる制御を行う仮想カメラ制御部と、
前記移動体オブジェクトの位置に基づいて、前記エフェクトオブジェクトをオブジェクト空間に配置するオブジェクト空間設定部としてコンピュータを機能させることを特徴とするプログラム。
【請求項４】
請求項３において、
前記移動体オブジェクトの速度に基づいて、前記エフェクトオブジェクトのパーティクの発生個数を増減させるエフェクト制御部としてコンピュータを更に機能させることを特徴とするプログラム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記オブジェクト空間設定部は、
前記エフェクトオブジェクトが前記移動体オブジェクトを内包するように、前記エフェクトオブジェクトを配置することを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれかにおいて、
前記移動制御部は、
前記移動体オブジェクトをコースに沿って移動させる制御を行い、
前記オブジェクト空間設定部は、
前記移動体オブジェクトの位置及びコースの形状の少なくとも一方に基づいて、前記エフェクトオブジェクトを配置することを特徴とするプログラム。
【請求項７】
請求項６において、
前記オブジェクト空間設定部は、
前記移動体オブジェクトの位置とコースに沿って設定されたパスとに基づき前記仮想カメラの注視点を求め、求めた注視点に基づき前記エフェクトオブジェクトを配置することを特徴とするプログラム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記仮想カメラ制御部は、
操作部からの操作データに基づいて、前記仮想カメラが前記移動体オブジェクトの周囲を移動するように制御することを特徴とするプログラム。
【請求項９】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１乃至８のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１０】
オブジェクト空間における仮想カメラから見える画像を生成するための画像生成システムであって、
円柱又は多角柱の表面上を複数の線分が一方向に移動するエフェクトオブジェクトを記憶する記憶部と、
オブジェクト空間に配置された移動体オブジェクトの移動を制御する移動制御部と、
仮想カメラを前記移動体オブジェクトの移動に追従させる制御を行う仮想カメラ制御部と、
前記移動体オブジェクトの位置に基づいて、前記エフェクトオブジェクトをオブジェクト空間に配置するオブジェクト空間設定部とを含むことを特徴とする画像生成システム。
【請求項１１】
オブジェクト空間における仮想カメラから見える画像を生成するための画像生成システムであって、
円から発生し一方向に移動する複数のパーティクルによって構成されるエフェクトオブジェクトを記憶する記憶部と、
オブジェクト空間に配置された移動体オブジェクトの移動を制御する移動制御部と、
仮想カメラを前記移動体オブジェクトの移動に追従させる制御を行う仮想カメラ制御部と、
前記移動体オブジェクトの位置に基づいて、前記エフェクトオブジェクトをオブジェクト空間に配置するオブジェクト空間設定部とを含むことを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、及び画像生成システムに関する。
【背景技術】
【０００２】
従来から、複数のポリゴンが設定されるオブジェクト空間（仮想的な３次元空間）内において、仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、仮想カメラのスピード等を演出する処理を行うものが知られている（例えば、特許文献１）。
【特許文献１】特開２００２−１７０１３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
また、画面の端から画面中央にある移動体に向かう集中線を、スクリーン座標系において複数のポリゴンを用いて表現し、速度感を演出する効果を施す処理、いわゆる集中線エフェクトの描画手法がある。しかし、この描画処理では、仮想カメラが移動体の進行方向後方に位置することを前提としているため、例えば仮想カメラが移動体の横に位置している場合、又は仮想カメラが進行方向を向いていない場合に不自然な速度感演出となってしまうといった問題点があった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、
仮想カメラの位置や向きに関わらず適切な速度感の演出効果を実現可能なプログラム、情報記憶媒体、及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
円柱又は多角柱の表面上を複数の線分が一方向に移動するエフェクトオブジェクトを記憶する記憶部と、
オブジェクト空間に配置された移動体オブジェクトの移動を制御する移動制御部と、
仮想カメラを前記移動体オブジェクトの移動に追従させる制御を行う仮想カメラ制御部と、
前記移動体オブジェクトの位置に基づいて、前記エフェクトオブジェクトをオブジェクト空間に配置するオブジェクト空間設定部としてコンピュータを機能させることを特徴とする。
【０００７】
また本発明は上記各部を含む画像生成システムに関係する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。
【０００８】
本発明によれば、円柱又は多角柱の表面上を複数の線分が一方向に移動するエフェクトオブジェクトを移動体オブジェクトの位置に基づいてオブジェクト空間に配置することによって、仮想カメラの位置や向きに関わらず適切な速度感の演出を行うことができる。
【０００９】
（２）また本発明に係るプログラム及び情報記憶媒体では、
前記移動体オブジェクトの速度に基づいて、前記エフェクトオブジェクトの線分の数を増減させるエフェクト制御部としてコンピュータを更に機能させることを特徴とする。
【００１０】
本発明によれば、移動体の速度に応じて速度感を増す演出を行うことができる。
【００１１】
（３）本発明は、オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
円から発生し一方向に移動する複数のパーティクルによって構成されるエフェクトオブジェクトを記憶する記憶部と、
オブジェクト空間に配置された移動体オブジェクトの移動を制御する移動制御部と、
仮想カメラを前記移動体オブジェクトの移動に追従させる制御を行う仮想カメラ制御部と、
前記移動体オブジェクトの位置に基づいて、前記エフェクトオブジェクトをオブジェクト空間に配置するオブジェクト空間設定部としてコンピュータを機能させることを特徴とする。
【００１２】
また本発明は上記各部を含む画像生成システムに関係する。また本発明はコンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶した情報記憶媒体に関係する。
【００１３】
本発明によれば、円から発生し一方向に移動する複数のパーティクルによって構成されるエフェクトオブジェクトを移動体オブジェクトの位置に基づいてオブジェクト空間に配置することによって、仮想カメラの位置や向きに関わらず適切な速度感の演出を行うことができる。
【００１４】
（４）また本発明に係るプログラム及び情報記憶媒体では、
前記移動体オブジェクトの速度に基づいて、前記エフェクトオブジェクトのパーティクの発生個数を増減させるエフェクト制御部としてコンピュータを更に機能させることを特徴とする。
【００１５】
本発明によれば、移動体の速度に応じて速度感を増す演出を行うことができる。
【００１６】
（５）また本発明に係るプログラム及び情報記憶媒体では、
前記オブジェクト空間設定部は、
前記エフェクトオブジェクトが前記移動体オブジェクトを内包するように、前記エフェクトオブジェクトを配置することを特徴とする。
【００１７】
本発明によれば、仮想カメラの位置や向きに関わらず適切な速度感の演出を行うことができる。
【００１８】
（６）また本発明に係るプログラム及び情報記憶媒体では、
前記移動制御部は、
前記移動体オブジェクトをコースに沿って移動させる制御を行い、
前記オブジェクト空間設定部は、
前記移動体オブジェクトの位置及びコースの形状の少なくとも一方に基づいて、前記エフェクトオブジェクトを配置することを特徴とする。
【００１９】
本発明によれば、コースに沿って移動する移動体オブジェクトの位置及びコース形状に応じた位置、向きにエフェクトオブジェクトを配置することができ、適切な速度感の演出を行うことができる。
【００２０】
（７）また本発明に係るプログラム及び情報記憶媒体では、
前記オブジェクト空間設定部は、
前記移動体オブジェクトの位置とコースに沿って設定されたパスとに基づき前記仮想カメラの注視点を求め、求めた注視点に基づき前記エフェクトオブジェクトを配置することを特徴とする。
【００２１】
（８）また本発明に係るプログラム及び情報記憶媒体では、
前記仮想カメラ制御部は、
操作部からの操作データに基づいて、前記仮想カメラが前記移動体オブジェクトの周囲を移動するように制御することを特徴とする。
【００２２】
本発明によれば、仮想カメラを移動体オブジェクトの移動に追従させつつ移動体オブジェクトの周囲を移動するようにした場合であっても、適切な速度感の演出を行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２４】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２５】
操作部１６０は、プレーヤがオブジェクト（プレーヤキャラクタ、移動体）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００２６】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００２７】
なお、オブジェクトデータ記憶部１７６は、オブジェクトのオブジェクトデータが記憶される。例えば、エフェクトオブジェクトのデータ（パーティクル、ポリゴン）を記憶する。
【００２８】
ここでエフェクトオブジェクトとは、円柱又は多角柱の表面上を複数の線分が一方向に移動するオブジェクトである。本実施形態では、エフェクトオブジェクトを、円から発生し一方向に移動する複数のパーティクルによって構成している。
【００２９】
なお、操作部１６０は、加速度センサや撮像部、或いは角速度を検出するジャイロセンサを備えた入力機器によってプレーヤからの入力データ（操作データ）を入力できるものでもよい。例えば、入力機器に備えられた加速度センサは、３軸（Ｘ軸、Ｙ軸、Ｚ軸）の加速度を検出する。すなわち、加速度センサは、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサは、５ｍｓｅｃ毎に加速度を検出している。また、加速度センサは、１軸、２軸、６軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、入力機器の通信部によってゲーム装置（本体装置）に送信される。
【００３０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００３１】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００３２】
通信部１９６は外部（例えば他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００３３】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して画像生成システムを機能させる場合も本発明の範囲内に含む。
【００３４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクト、エフェクトオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００３５】
この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００３６】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、エフェクト制御部１１６、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００３７】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００３８】
特に本実施形態のオブジェクト空間設定部１１０は、移動体オブジェクトの位置に基づいて、オブジェクトデータ記憶部１７６に記憶されたエフェクトオブジェクトをオブジェクト空間に配置する。
【００３９】
またオブジェクト空間設定部１１０は、エフェクトオブジェクトが移動体オブジェクトを内包するように、エフェクトオブジェクトを配置するようにしてもよい。
【００４０】
またオブジェクト空間設定部１１０は、動体オブジェクトの位置及びコースの形状の少なくとも一方に基づいて、エフェクトオブジェクトを配置するようにしてもよい。
【００４１】
またオブジェクト空間設定部１１０は、移動体オブジェクトの位置とコースに沿って設定されたパスとに基づき仮想カメラの注視点を求め、求めた注視点に基づきエフェクトオブジェクトを配置するようにしてもよい。
【００４２】
移動・動作処理部１１２（移動制御部）は、オブジェクト（キャラクタ、移動体オブジェクト等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００４３】
また移動・動作処理部１１２は、移動体オブジェクトをコースに沿って移動させる制御を行うようにしてもよい。
【００４４】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
【００４５】
特に本実施形態の仮想カメラ制御部１１４は、仮想カメラを移動体オブジェクトの移動に追従させる制御を行う。すなわち、仮想カメラによりオブジェクト（例えばキャラクタ、移動体オブジェクト）を後方から撮影するために、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。
【００４６】
また仮想カメラ制御部１１４は、操作部からの操作データに基づいて、仮想カメラが移動体オブジェクトの周囲を移動するように制御するようにしてもよい。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００４７】
エフェクト制御部１１６は、移動・動作処理部１１２によって求められた移動体オブジェクトの速度に基づいて、エフェクトオブジェクトの線分の数を増減させる。すなわち移動体オブジェクトの速度に基づいて、エフェクトオブジェクトのパーティクの発生個数を増減させる制御を行う。
【００４８】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００４９】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００５０】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００５１】
なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。また、仮想カメラが複数存在する場合には、仮想カメラ毎にエフェクトオフジェクトを関連づけておき、ある仮想カメラから見える画像を生成する際には、当該仮想カメラに関連づけられたエフェクトオフジェクトのみを描画し、他のカメラに関連づけられたエフェクトオブジェクトを描画しないようにしてもよい。
【００５２】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００５３】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００５４】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００５５】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００５６】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７９（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７９に格納されるＺ値を参照する。そして参照されたＺバッファ１７９のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７９のＺ値を新たなＺ値に更新する。
【００５７】
なお、エフェクトオブジェクト（エフェクトオブジェクトを構成するパーティクル、ポリゴン）の描画ピクセルについてはＺテストの対象にしないように制御してもよい。つまり、エフェクトオブジェクトの描画ピクセルが必ず描画されるようにしてもよい。またエフェクトオブジェクトを描画する際に、移動体オブジェクトが描画された領域のＺ値のみを参照してＺテストによる隠面消去処理を行うようにしてもよい。つまり、移動体オブジェクトが描画された領域以外の領域においてはエフェクトオブジェクトの描画ピクセルが必ず描画されるようにしてもよい。
【００５８】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００５９】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００６０】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６１】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６２】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００６３】
２−１．概要
図２は本実施形態のゲーム画像の一例である。
【００６４】
本実施形態では、操作部からの操作入力により移動体オブジェクトＭＯ（ゲームキャラクタである競走馬オブジェクト）をコースに沿って走行させるゲームを行うもので、移動体オブジェクトＭＯを含むオブジェクト空間を仮想カメラからみた画像が生成され、ゲーム画像ＧＩとして表示される。
【００６５】
また本実施形態では、仮想カメラを移動体オブジェクトＭＯに追従して移動させ、図２に示すように、画面奥側（進行方向前方）から画面手前側に向かって残像を残しながら移動する複数のパーティクルＰＴ（線パーティクル、矩形パーティクル、移動する線分）を描画することで、移動体ＭＯや仮想カメラの速度感を演出している。また本実施形態では、移動体オブジェクトＭＯの速度に応じて描画するパーティクルＰＴの数を増減させるように制御している。
【００６６】
２−２．エフェクトオブジェクト
図３、図４は、本実施形態のエフェクトオブジェクトの一例について説明するための図である。図３は、本実施形態のエフェクトオブジェクトの斜視図である。
【００６７】
図３に示すエフェクトオブジェクトＥＯは、エフェクト座標系において定義され、エフェクト座標系の原点０を中心点とするＸＹ平面上の半径ｒの円をパーティクルエミッタＰＥ（パーティクル発生器）として、このパーティクルエミッタＰＥから発生してエフェクト座標系の＋Ｚ軸方向に所定の速度で残像を残しながら移動する複数のパーティクルＰＴによって構成される。すなわち図３に示すエフェクトオブジェクトＥＯは、半径ｒの仮想的な円柱の表面上を複数の線分が一方向に移動するエフェクトオブジェクトであるともいえる。なおパーティクルエミッタＰＥの形状を多角形としてもよい。その場合、仮想的な多角柱の表面上を複数の線分が一方向に移動するエフェクトオブジェクトとなる。
【００６８】
図４は、図３に示すエフェクトオブジェクトＥＯを定義するためのエフェクトパラメータを格納したエフェクトパラメータテーブルの一例について説明するための図である。
【００６９】
図４に示すエフェクトパラメータテーブル２００には、パーティクルエミッタＰＥを定義するパラメータとして発生形状２１０、発生頻度２２０が格納され、発生させる各パーティクルＰＴを定義するパラメータとして寿命２３０、移動速度２４０、形状２５０、色２６０、ブレンドタイプ２７０が格納されている。図４に示すエフェクトパラメータテーブル２００に基づき、残像を残しながら６０ｍ／秒で移動し１秒で消滅する矩形パーティクルを半径５ｍの円から毎秒７０個発生させるエフェクトオブジェクトＥＯを定義することができる。なお各矩形パーティクルは、寿命２３０（１秒）と移動速度２４０（６０ｍ／秒）から、発生地点から６０ｍの位置で消滅することになるが、発生直前と消滅直前に半透明時間が設定されているため、可視長（発生してから消滅するまでの目に見える矩形パーティクルの長さ）は５０ｍ程度となる。
【００７０】
２−３．エフェクトオブジェクトの配置
次に図５〜図８を用いて、本実施形態のエフェクトオブジェクトを配置する手法について説明する。図５は、本実施形態の移動体オブジェクトと仮想カメラの動きについて説明するための図である。
【００７１】
本実施形態では、移動体オブジェクトＭＯはコースＣＳの中央に設定されたパスＣＰに沿った方向に所定の速度で移動する。図５に示す例では、移動体オブジェクトＭＯはパスＣＰ上を移動しているが、プレーヤによって移動体オブジェクトＭＯを右に寄せるコマンドが入力された場合には、移動体オブジェクトＭＯの移動方向ＭＤを所定期間所定角度だけ右方向に回転させて移動体オブジェクトＭＯをコースＣＳの右側に寄せる制御を行い、プレーヤによって移動体オブジェクトＭＯを左に寄せるコマンドが入力された場合には、移動体オブジェクトＭＯの移動方向ＭＤを所定期間所定角度だけ左方向に回転させて移動体オブジェクトＭＯをコースＣＳの左側に寄せる制御を行う。コースＣＳの右側又は左側に寄せられた移動体オブジェクトＭＯは、再度右又は左に寄せるコマンドが入力されるまで、パスＣＰと平行な方向に（パスＣＰと一定の距離を保って）所定の速度で移動する。
【００７２】
またプレーヤによって移動体オブジェクトを加速させるコマンドが入力された場合には、移動体オブジェクトＭＯに所定期間所定の加速度を与えて移動体オブジェクトＭＯを加速させる制御を行う。このように移動体オブジェクトＭＯの移動を制御することで、プレーヤは簡単な操作で移動体オブジェクトＭＯをコースＣＳ内において走行させることができ、例えば移動体オブジェクトがコースＣＳを逆走してしまうことを防止することができる。
【００７３】
また仮想カメラＶＣは、移動体オブジェクトＭＯの進行方向後方に位置して移動体オブジェクトＭＯの移動に追従して移動する。そして移動体オブジェクトＭＯの位置に最も近いパスＣＰ上の位置ＭＰ１（図５の例では移動体オブジェクトＭＯと同一の位置）から所定距離（３０ｍ）離れたパスＣＰ上の位置が仮想カメラＶＣの注視点ＧＰとなり、仮想カメラＶＣと注視点ＧＰとを結んだ方向が仮想カメラＶＣのカメラ向きＶＤとなる。このように仮想カメラＶＣの向きを求めることで、移動体オブジェクトＭＯが今後移動するであろう方向に仮想カメラＶＣを向けることができ、コース形状に応じた適切なゲーム画像を生成することができる。
【００７４】
図６は、本実施形態のエフェクトオブジェクトの配置について説明するための図である。
【００７５】
本実施形態のエフェクトオブジェクトＥＯの位置は、移動体オブジェクトＭＯの現在位置に基づき決定される。またエフェクトオブジェクトＥＯは、移動体オブジェクトＭＯを内包するように配置される。すなわち図６に示すように、移動体オブジェクトＭＯがエフェクトオブジェクトＥＯのＺ軸上に位置するようにエフェクトオブジェクトＥＯが配置される。図６の例では、エフェクトオブジェクトＥＯのＺ軸方向の長さを５０ｍとすると、Ｚ軸の原点０から３５ｍのＺ軸上の位置に移動体オブジェクトＭＯが位置するように配置している。
【００７６】
また図６に示す例では、エフェクトオブジェクトＥＯの向きを、コースＣＳの形状に基づき決定している。すなわち、移動体オブジェクトＭＯの位置に最も近いパスＣＰ上の位置ＭＰ１におけるパスＣＰの向きをコース向きＣＤとして、コース向きＣＤとエフェクトオブジェクトＥＯのＺ軸が平行となるように配置される。
【００７７】
また図３に示すように複数のパーティクルＰＴは、エフェクトオブジェクトＥＯの＋Ｚ軸方向に移動するように定義されているから、図６に示すようにエフェクトオブジェクトＥＯをそのＺ軸の方向がコース向きＣＤと逆方向となるように配置することで、図２に示すように、ゲーム画像において、画面奥側から画面手前側に向かって移動する複数のパーティクルＰＴを表現することができる。すなわち移動体オブジェクトＭＯの進行方向とほぼ逆方向に移動する複数のパーティクルＰＴを表現することができる。
【００７８】
図６に示す例では、コース向きＣＤとエフェクトオブジェクトＥＯのＺ軸が平行となるようにエフェクトオブジェクトＥＯの向きを決定しているが、このようにするとエフェクトオブジェクトＥＯの向き（コース向きＣＤ）とカメラ向きＶＤとのずれが大きいために見た目に違和感のある速度感演出となってしまう可能性がある。そこで図７に示すように、エフェクトオブジェクトＥＯの向きを、カメラ向きＶＤに合わせるようにしてもよい。
【００７９】
図７に示す例では、エフェクトオブジェクトＥＯの向きを、仮想カメラＶＣと注視点ＧＰとを結ぶカメラ向きＶＤに基づき決定している。すなわちカメラ向きＶＤとエフェクトオブジェクトＥＯのＺ軸が平行となるように、且つエフェクトオブジェクトＥＯの＋Ｚ軸方向がカメラ向きＶＤと逆方向となるように、エフェクトオブジェクトＥＯを配置している。
【００８０】
なお、図８に示すように、移動体オブジェクトＭＯがコースＣＳ中央のパスＣＰ上に位置していない場合であっても、移動体オブジェクトＭＯの位置に最も近いパスＣＰ上の位置ＭＰ１から所定距離離れたパスＣＰ上の位置が仮想カメラＶＣの注視点ＧＰとなり、仮想カメラＶＣと注視点ＧＰとを結んだ方向がカメラ向きＶＤとなり、このカメラ向きＶＤに合せてエフェクトオブジェクトＥＯを配置している。
【００８１】
このようにエフェクトオブジェクトＥＯの向きをコース向きＣＤではなくカメラ向きＶＤに合せることで、移動体オブジェクトＭＯが今後移動するであろう方向から画面手前側（仮想カメラ側）に向けて複数のパーティクルが移動するゲーム画像を生成することができ、移動体オブジェクトＭＯの現在位置及びコース形状に応じた適切な速度感の演出を行うことができる。すなわち図７に示すように移動体オブジェクトＭＯが右カーブにさしかかっている場合には、移動体オブジェクトＭＯの移動方向右寄りから複数のパーティクルが飛んでくるゲーム画像が生成され、移動体オブジェクトＭＯが左カーブにさしかかっている場合には、移動体オブジェクトＭＯの移動方向左寄りから複数のパーティクルが飛んでくるゲーム画像が生成される。
【００８２】
２−４．仮想カメラの制御
図９は、本実施形態の仮想カメラの制御について説明するための図である。
【００８３】
本実施形態では、仮想カメラＶＣは、通常移動体オブジェクトＭＯの移動に追従して移動し、コースＣＳ中央のパスＣＰ上の注視点ＧＰを向くように制御されるが、プレーヤによって仮想カメラＶＣの向きを変えるコマンドが入力された場合には、図９に示すように、移動体オブジェクトＭＯを中心として弧を描くように仮想カメラＶＣを移動させる制御を行う。このとき仮想カメラＶＣは、移動体オブジェクトＭＯを向く方向をカメラ向きＶＤａ（移動カメラ向き）として、入力された操作データに応じて所定の移動範囲ＭＡを移動する。プレーヤは仮想カメラＶＣを移動体オブジェクトＭＯの側面に移動させることで、周囲の状況（例えば他の移動体オブジェクトとの位置関係等）を把握することができる。
【００８４】
図９に示すように、仮想カメラＶＣを移動体オブジェクトＭＯの側面に移動させた場合には、パスＣＰ上の注視点ＧＰは仮想カメラＶＣの視界から外れてしまうため、注視点ＧＰから求められるカメラ向きＶＤ（自動カメラ向き）に合せてエフェクトオブジェクトＥＯを配置することは適切ではない。そこで本実施形態では、このような場合には、コース向きＣＤを考慮してエフェクトオブジェクトＥＯの向きを決定している。
【００８５】
具体的には、自動カメラ向きＶＤと移動カメラ向きＶＤａとの内積を取ってｆとして、自動カメラ向きＶＤとコース向きＣＤとを内積ｆを用いて合成した合成ベクトルＳＶを次式により求める。
【００８６】
ＳＶ＝（ＣＤ×（１−ｆ））＋（ＶＤ×ｆ）                  （１）
そして、求めた合成ベクトルＳＶに合せてエフェクトオブジェクトＥＯを配置する。すなわち合成ベクトルＳＶとエフェクトオブジェクトＥＯのＺ軸が平行となるように、エフェクトオブジェクトＥＯを配置する。
【００８７】
エフェクトオブジェクトＥＯの向きは、自動カメラ向きＶＤと移動カメラ向きＶＤａとのなす角度θが小さいほど自動カメラ向きＶＤに近い向きになり、角度θが大きいほどコース向きＣＤに近い向きになる。そして図１０に示すように、自動カメラ向きＶＤと移動カメラ向きＶＤａとのなす角度θが９０°になると内積ｆが０となるから、式（１）より合成ベクトルＳＶはコース向きＣＤと等しくなり、エフェクトオブジェクトＥＯはコース向きＣＤに合せて配置される。なお角度θが９０°を超える場合（仮想カメラＶＣを移動体オブジェクトＭＯの前方に回り込ませた場合）には内積ｆは０以下となるが、この場合には内積ｆを０として合成ベクトルＳＶを求める。
【００８８】
図１１は、図９、図１０に示すように仮想カメラＶＣを移動体オブジェクトＭＯの左側面に移動させた場合に生成されるゲーム画像の一例である。
【００８９】
図１１に示すゲーム画像ＧＩでは、画面左側（移動体オブジェクトＭＯの進行方向前方）から画面右側に向かって複数のパーティクルＰＴが残像を残しながら移動している。これにより画面右側から画面左側に移動する移動体オブジェクトＭＯの速度感を演出することができる。
【００９０】
このように本実施形態によれば、円から発生し一方向に移動する複数のパーティクルＰＴによって構成されるエフェクトオブジェクトＥＯを移動体オブジェクトＭＯの位置に基づきオブジェクト空間に配置することにより、仮想カメラＶＣが移動体オブジェクトＭＯの後方に位置する場合（図２参照）であっても、移動体オブジェクトＭＯの側面に位置する場合（図１１参照）であっても常に適切な速度感の演出を行うことができる。
【００９１】
３．本実施形態の処理
次に、本実施形態の処理の一例について図１２のフローチャートを用いて説明する。
【００９２】
まず、操作データやプログラムに基づいて、コースに沿って移動する移動体オブジェクトの位置、方向を求める（ステップＳ１０）。
【００９３】
次に、移動体オブジェクトの位置、コースに設定されたパスの情報に基づいて、移動体オブジェクトの移動に追従する仮想カメラの位置、方向（注視点）を求める（ステップＳ１２）。
【００９４】
次に、移動体オブジェクトの速度に基づいてエフェクトオブジェクトのパーティクルの発生個数を求める（ステップＳ１４）。例えば図４に示すエフェクトパラメータテーブル２００に格納された発生頻度パラメータ２２０を参照して、当該パラメータに移動速度に応じた係数（０．０〜２．０）を掛け合わせてパーティクルの単位時間当たりの発生個数を求め、移動体オブジェクトの速度が大きくなるほど多くのパーティクルを発生させるようにする。
【００９５】
次に、エフェクト座標系において定義されたエフェクトオブジェクトをオブジェクト空間（ワールド座標系）に配置する処理を行う（ステップＳ１６）。例えば移動体オブジェクトの位置に基づきエフェクトオブジェクトの位置を求め、仮想カメラの注視点に基づきエフェクトオブジェクトの方向を求める。
【００９６】
そして仮想カメラから見える画像を生成する処理を行う（ステップＳ１８）。なおエフェクトオブジェクトの描画ピクセルについてはＺテスト判定を行わずに常に描画されるように処理を行ってもよい。これにより、コースの幅が狭い場合や障害物がある場合であっても速度感を演出するためのエフェクトオブジェクトを常に描画することができる。
【００９７】
４．変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００９８】
例えば本実施形態では、円柱の表面上を複数の線分が一方向に移動するエフェクトオブジェクトを、円から発生し一方向に移動する複数のパーティクルによって構成する場合について説明したが、図１３に示すように、エフェクトオブジェクトＥＯを円柱のオブジェクトにより構成し、当該オブジェクトの側面に互いに平行な複数の線分ＬＮが表されたテクスチャＴＸをマッピングするようにしてもよい。そしてテクスチャ座標を変化させてテクスチャＴＸをオブジェクトの＋Ｚ軸方向にスクロールさせることにより、複数の線分ＬＮを＋Ｚ軸方向に移動させるようにしてもよい。また線分ＬＮの数が異なる複数のテクスチャを用意しておき、移動体オブジェクトの速度に応じてマッピングするテクスチャを変化させるようにしてもよい。また図１３に示す例において、円柱のオブジェクトに代えて多角柱のオブジェクトを用いてもよい。
【図面の簡単な説明】
【００９９】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】本実施形態のゲーム画像の一例。
【図３】本実施形態のエフェクトオブジェクトの斜視図。
【図４】本実施形態のエフェクトパラメータテーブルの一例。
【図５】本実施形態の移動体オブジェクトと仮想カメラの動きについて説明するための図。
【図６】本実施形態のエフェクトオブジェクトの配置について説明するための図。
【図７】本実施形態のエフェクトオブジェクトの配置について説明するための図。
【図８】本実施形態のエフェクトオブジェクトの配置について説明するための図。
【図９】本実施形態の仮想カメラの制御について説明するための図。
【図１０】本実施形態の仮想カメラの制御について説明するための図。
【図１１】本実施形態のゲーム画像の一例。
【図１２】本実施形態の処理の流れを示すフローチャート図。
【図１３】本実施形態のエフェクトオブジェクトの変形例。
【符号の説明】
【０１００】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、１１４  仮想カメラ制御部、１１６  エフェクト制御部、１２０  描画部、１３０  音生成部、１６０  操作部、１７０  記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2009169471.tif 000003
【図２】
2009169471.tif 000004
【図３】
2009169471.tif 000005
【図４】
2009169471.tif 000006
【図５】
2009169471.tif 000007
【図６】
2009169471.tif 000008
【図７】
2009169471.tif 000009
【図８】
2009169471.tif 000010
【図９】
2009169471.tif 000011
【図１０】
2009169471.tif 000012
【図１１】
2009169471.tif 000013
【図１２】
2009169471.tif 000014
【図１３】
2009169471.tif 000015