(57)【要約】【課題】システムの処理負荷を軽減させて、仮想カメラのスピード感、オブジェクトに注目させるための演出効果を実現できるプログラム、情報記憶媒体、及び画像生成システムを提供する。【解決手段】予めモデリングされた、集中線モデルを用いて描画処理を行う。かかる場合に、集中線モデルをスケーリング処理、回転処理を行い、仮想カメラの位置・向きに応じてオブジェクト空間に配置して描画処理を行う。【選択図】図３
2009140370.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
複数のエフェクトオブジェクトによって構成される３次元のエフェクトモデルを記憶する記憶部と、
オブジェクト空間に、仮想カメラの位置・向きに応じて、前記エフェクトモデルを設定するオブジェクト空間設定部として、コンピュータを機能させ、
前記エフェクトモデルは、前記複数のエフェクトオブジェクトを所定軸周りに配置したモデルであって、
前記オブジェクト空間設定部が、
前記エフェクトモデルの前記所定軸側が仮想カメラから見える位置に、前記エフェクトモデルを設定することを特徴とするプログラム。
【請求項２】
請求項１において、
前記エフェクトモデルを構成する前記複数のエフェクトオブジェクトそれぞれが、
前記所定軸方向の長さ成分を有することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記エフェクトモデルを構成する前記複数のエフェクトオブジェクトそれぞれの形状が、三角形であって、
前記エフェクトモデルが、
前記複数の三角形エフェクトオブジェクトそれぞれの一の稜線を連結して形成されていることを特徴とするプログラム。
【請求項４】
請求項１〜３のいずれかにおいて、
前記エフェクトモデルを構成する前記複数のエフェクトオブジェクトそれぞれの形状が三角形であって、
前記エフェクトモデルは、
前記複数の三角形エフェクトオブジェクトそれぞれの面が、前記所定軸を取り囲む仮想的な筒の側面に沿うと共に、前記複数の三角形エフェクトオブジェクトそれぞれの一の稜線を、前記仮想的な筒の底面の外周に沿って配置されるモデルであることを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれかにおいて、
前記オブジェクト空間設定部が、
仮想カメラの向きと前記所定軸とに基づいて、前記エフェクトモデルを配置することを特徴とするプログラム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記オブジェクト空間設定部が、
仮想カメラの視線と前記所定軸とに基づいて、前記エフェクトモデルを配置することを特徴とするプログラム。
【請求項７】
請求項１〜６のいずれかにおいて、
前記オブジェクト空間設定部が、
仮想カメラの視線上に前記所定軸を一致させて前記エフェクトモデルを配置することを特徴とするプログラム。
【請求項８】
請求項１〜７のいずれかにおいて、
前記エフェクトモデルを、前記所定軸方向、及び、前記所定軸に垂直であって、直交する２軸方向の少なくとも一方の軸方向に対して、スケーリングするスケーリング制御部として、コンピュータを更に機能させることを特徴とするプログラム。
【請求項９】
請求項８において、
前記スケーリング制御部が、
仮想カメラの移動速度に基づいて、スケーリングの倍率を求め、求めた倍率に基づいて、前記エフェクトモデルを前記所定軸方向にスケーリングすることを特徴とするプログラム。
【請求項１０】
請求項８又は９において、
前記スケーリング制御部が、
仮想カメラと前記エフェクトモデルの配置関係、及び、仮想カメラの画角とに基づいてスケーリングの倍率を求め、求めた倍率に基づいて、前記所定軸に垂直であって、直交する２軸方向の少なくとも一方の軸方向に対してスケーリングすることを特徴とするプログラム。
【請求項１１】
請求項１〜１０のいずれかにおいて、
前記オブジェクト空間設定部が、
前記所定軸に対して回転させた前記エフェクトモデルを、オブジェクト空間に設定することを特徴とするプログラム。
【請求項１２】
請求項１〜１１のいずれかにおいて、
前記オブジェクト空間設定部が、
前記所定軸に垂直であって、直交する２軸の少なくとも一方の軸に対して回転させた前記エフェクトモデルを、オブジェクト空間に設定することを特徴とするプログラム。
【請求項１３】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜１２のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１４】
オブジェクト空間における仮想カメラから見える画像を生成するための画像生成システムであって、
複数のエフェクトオブジェクトによって構成される３次元のエフェクトモデルを記憶する記憶部と、
オブジェクト空間に、仮想カメラの位置・向きに応じて、前記エフェクトモデルを設定するオブジェクト空間設定部とを含み、
前記エフェクトモデルは、前記複数のエフェクトオブジェクトを所定軸周りに配置したモデルであって、
前記オブジェクト空間設定部が、
前記エフェクトモデルの前記所定軸側が仮想カメラから見える位置に、前記エフェクトモデルを設定することを特徴とする画像生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、画像生成システムに関する。
【背景技術】
【０００２】
従来から、複数のポリゴンが設定されるオブジェクト空間（仮想的な３次元空間）内において、仮想カメラ（所与の視点）から見える画像を生成する画像生成システム（ゲームシステム）が知られており、いわゆる仮想現実を体験できるものとして人気が高い。
【０００３】
このような画像生成システムでは、ノイズ等を演出処理（例えば、特許文献１）、仮想カメラのスピード等を演出する処理を行っている（例えば、特許文献２）。
【特許文献１】特開２００７−８２６２８号公報
【特許文献２】特開２００２−１７０１３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
また、スピード感や、オブジェクトに対する注目度、迫力を高めるために画面の端から画面の中心点（焦点）に向かう集中線を、複数のポリゴンを用いて描画し、プレーヤを惹きつける演出効果を施す処理、いわゆる集中線エフェクトの描画手法がある。しかし、この描画処理は、処理負荷が重いという難点があった。特に、自然な演出効果を実現することを考慮すると、複数のポリゴンそれぞれの形状を変化させる必要があるが、ポリゴンそれぞれの形状を変化させるための頂点演算処理は、演算数が多く処理負荷が重くなることが問題となっていた。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、システムの処理負荷を軽減させて、仮想カメラのスピード感、特定のオブジェクト（例えばプレーヤキャラクタ等）に注目させるための演出効果を実現できるプログラム、情報記憶媒体、及び画像生成システムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、
オブジェクト空間における仮想カメラから見える画像を生成するためのプログラムであって、
複数のエフェクトオブジェクトによって構成される３次元のエフェクトモデルを記憶する記憶部と、
オブジェクト空間に、仮想カメラの位置・向きに応じて、前記エフェクトモデルを設定するオブジェクト空間設定部として、コンピュータを機能させ、
前記エフェクトモデルは、前記複数のエフェクトオブジェクトを所定軸周りに配置したモデルであって、
前記オブジェクト空間設定部が、
前記エフェクトモデルの前記所定軸側が仮想カメラから見える位置に、前記エフェクトモデルを設定することを特徴とするプログラムに関する。
【０００７】
また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成する画像生成システムに関係する。
【０００８】
本発明によれば、エフェクトモデルを用いて描画することによって、処理負荷を軽減させて簡易にスピード感や迫力感を与える集中線の演出を行うことができる。
（２）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記エフェクトモデルを構成する前記複数のエフェクトオブジェクトそれぞれが、
前記所定軸方向の長さ成分を有していてもよい。
【０００９】
本発明によれば、長さのある集中線を表現することができる。
（３）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記エフェクトモデルを構成する前記複数のエフェクトオブジェクトそれぞれの形状が、三角形であって、
前記エフェクトモデルが、
前記複数の三角形エフェクトオブジェクトそれぞれの一の稜線を連結して形成されてもよい。
【００１０】
本発明によれば、とげ状の集中線を表現することができ、より迫力感やスピード感の感じられる演出効果を実現できる。
【００１１】
（４）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記エフェクトモデルを構成する前記複数のエフェクトオブジェクトそれぞれの形状が三角形であって、
前記エフェクトモデルは、
前記複数の三角形エフェクトオブジェクトそれぞれの面が、前記所定軸を取り囲む仮想的な筒の側面に沿うと共に、前記複数の三角形エフェクトオブジェクトそれぞれの一の稜線を、前記仮想的な筒の底面の外周に沿って配置されていてもよい。
【００１２】
本発明によれば、自然な集中線が施された画像を生成することができる。
【００１３】
（５）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクト空間設定部が、
仮想カメラの向きと前記所定軸とに基づいて、前記エフェクトモデルを配置してもよい。
【００１４】
本発明によれば、仮想カメラの向きに応じた適切な位置にエフェクトモデルを配置させることができ、より自然な集中線を表現することができる。
【００１５】
（６）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクト空間設定部が、
仮想カメラの視線と前記所定軸とに基づいて、前記エフェクトモデルを配置してもよい。
【００１６】
本発明によれば、カメラの視線に応じた適切な位置にエフェクトモデルを配置させることができ、さらに自然な集中線を表現することができる。
【００１７】
（７）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクト空間設定部が、
仮想カメラの視線上に前記所定軸を一致させて前記エフェクトモデルを配置してもよい。
【００１８】
本発明によれば、複数の集中線が種々の方向から焦点に向かう自然な画像を表現することができる。
【００１９】
（８）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記エフェクトモデルを、前記所定軸方向、及び、前記所定軸に垂直であって、直交する２軸方向の少なくとも一方の軸方向に対して、スケーリングするスケーリング制御部として、コンピュータを更に機能させるようにしてもよい。
【００２０】
本発明によれば、処理負荷を軽減させ記憶容量を節約しながら集中の度合いの異なるバリエーションのある集中線の演出を行うことができる。
【００２１】
（９）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記スケーリング制御部が、
仮想カメラの移動速度に基づいて、スケーリングの倍率を求め、求めた倍率に基づいて、前記エフェクトモデルを前記所定軸方向にスケーリングしてもよい。
【００２２】
本発明によれば、仮想カメラの移動速度に応じたスピード感を与える集中線の演出を行うことができる。
【００２３】
（１０）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記スケーリング制御部が、
仮想カメラと前記エフェクトモデルの配置関係、及び、仮想カメラの画角とに基づいてスケーリングの倍率を求め、求めた倍率に基づいて、前記所定軸に垂直であって、直交する２軸方向の少なくとも一方の軸方向に対してスケーリングするようにしてもよい。
【００２４】
本発明によれば、より自然な、仮想カメラのスピード感、オブジェクトに注目させるための演出効果を実現できる。例えば、画面の端から画面の一点に収束する集中線を表現することができる。
【００２５】
（１１）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクト空間設定部が、
前記所定軸に対して回転させた前記エフェクトモデルを、オブジェクト空間に設定するようにしてもよい。
【００２６】
本発明によれば、１つのエフェクトモデルを用いて集中線のパターンが変化している様子を表現することができる。つまり、本発明によれば従来よりも処理負荷を軽減して集中線が変化する様子を表現することができる。
【００２７】
（１２）また、本発明のプログラム、情報記憶媒体、画像生成システムは、
前記オブジェクト空間設定部が、
前記所定軸に垂直であって、直交する２軸の少なくとも一方の軸に対して回転させた前記エフェクトモデルを、オブジェクト空間に設定してもよい。
【００２８】
本発明によれば、集中線の焦点が変化する様子を表現することができる。つまり、本発明によれば、従来よりも処理負荷を軽減して集中線の焦点が変化する様子を表現することができる。
【発明を実施するための最良の形態】
【００２９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３０】
１．構成
図１に本実施形態の画像生成システム（ゲームシステム）の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図１の構成要素（各部）の一部を省略した構成としてもよい。
【００３１】
操作部１６０は、プレーヤがオブジェクト（プレーヤキャラクタ、移動体）の操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、マイク、タッチパネル型ディスプレイ、或いは筺体などにより実現できる。
【００３２】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。
【００３３】
なお、オブジェクトデータ記憶部１７６は、オブジェクトのオブジェクトデータが記憶される。例えば、エフェクトモデル（集中線モデル等）のデータ（エフェクトオブジェクト、ポリゴン）を記憶する。
【００３４】
ここでエフェクトモデルとは、複数のエフェクトオブジェクトによって構成される３次元形状のモデルである。つまり、エフェクトモデルは、複数のエフェクトオブジェクトを所定軸周りに配置したモデルである。ここで、エフェクトモデルを構成する複数のエフェクトオブジェクトそれぞれの形状は、三角形としてもよいし、線ポリゴン（ライン）、四角形等の多角形であってもよい。
【００３５】
また、本実施形態のエフェクトモデルを構成する複数のエフェクトオブジェクトそれぞれが、所定軸方向の長さ成分を有している。例えば、所定軸とは、例えばエフェクトモデルが定義されるモデリング座標系のｚ軸である。エフェクトモデルを構成する複数のエフェクトオブジェクトは、所定軸方向への長さ成分を有し、図３（Ａ）〜（Ｄ）に示すように、複数の三角形エフェクトオブジェクト（三角形ポリゴン）それぞれの一の稜線を連結して形成されている。つまり、エフェクトモデルは、複数の三角形エフェクトオブジェクトそれぞれを、所定軸（ｚ軸）を取り囲む仮想的な筒（柱でもよい）の底面の外周及び側面に沿って配置されて形成されるモデルである。
【００３６】
より具体的には、エフェクトモデルは、ｘ、ｙ、ｚ軸のモデリング座標系において、二等辺三角形のポリゴンが、原点０を中心に半径ｒの円を内包する多角形の各辺と連結しており、ｚ負方向に対しての長さが不規則に（不均一に）形成されたモデルである。
【００３７】
なお、操作部１６０は、加速度センサや撮像部、或いは角速度を検出するジャイロセンサを備えた入力機器によってプレーヤからの入力データ（操作データ）を入力できるものでもよい。例えば、入力装置は、プレーヤが把持して動かすものであってもよいし、プレーヤが身につけて動かすものであってもよい。また、入力装置には、プレーヤが把持する刀型コントローラや銃型コントローラ、あるいはプレーヤが身につける（プレーヤが手に装着する）グローブ型コントローラなど実際の道具を模して作られたコントローラも含まれる。また入力装置には、入力装置と一体化されているゲーム装置、携帯型ゲーム装置、携帯電話なども含まれる。
【００３８】
例えば、入力機器に備えられた加速度センサは、３軸（Ｘ軸、Ｙ軸、Ｚ軸）の加速度を検出する。すなわち、加速度センサは、上下方向、左右方向、及び、前後方向の加速度を検出することができる。なお、加速度センサは、５ｍｓｅｃ毎に加速度を検出している。また、加速度センサは、１軸、２軸、６軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、入力機器の通信部によってゲーム装置（本体装置）に送信される。
【００３９】
また、入力機器に備えられた撮像部は、赤外線フィルタ、レンズ、撮像素子（イメージセンサ）、画像処理回路を含む。赤外線フィルタは、入力装置の前方に配置され、表示部１９０に関連付けられて配置されている光源から入射する光から赤外線のみを通過させる。レンズは、赤外線フィルタを透過した赤外線を集光して撮像素子へ出射する。撮像素子は、例えば、ＣＭＯＳセンサやＣＣＤのような固体撮像素子であり、レンズが集光した赤外線を撮像して撮像画像を生成する。撮像素子で生成された撮像画像は、画像処理回路で処理される。例えば、撮像素子から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報（特定位置）を検出する。なお、光源が複数存在する場合には、撮像画像上の位置情報を検出する。また、検出した撮像画像上の位置情報は、通信部によって、本体装置に送信される。
【００４０】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。処理部１００は、情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）を記憶することができる。
【００４１】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイ、或いはＨＭＤ（ヘッドマウントディスプレイ）などにより実現できる。音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００４２】
通信部１９６は外部（例えば他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００４３】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体１８０や記憶部１７０に記憶してもよい。このようにプログラムやデータを受信して画像生成システムを機能させる場合も本発明の範囲内に含む。
【００４４】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここでゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクト、エフェクトモデル（集中線モデル）を配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【００４５】
この処理部１００は記憶部１７０内の主記憶部１７２をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【００４６】
処理部１００は、オブジェクト空間設定部１１０、移動・動作処理部１１２、仮想カメラ制御部１１４、スケーリング制御部１１６、回転制御部１１８、描画部１２０、音生成部１３０を含む。なおこれらの一部を省略する構成としてもよい。
【００４７】
オブジェクト空間設定部１１０は、キャラクタ、建物、球場、車、樹木、柱、壁、マップ（地形）などの表示物を表す各種オブジェクト（ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト）をオブジェクト空間に配置設定する処理を行う。例えば、ワールド座標系でのオブジェクトの位置や回転角度（向き、方向と同義であり、例えば、ワールド座標系でのＸ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を決定し、その位置（Ｘ、Ｙ、Ｚ）にその回転角度（Ｘ、Ｙ、Ｚ軸回りでの回転角度）でオブジェクトを配置する。
【００４８】
特に本実施形態のオブジェクト空間設定部１１０は、オブジェクト空間に、仮想カメラの位置・向きに応じて、エフェクトモデルを設定する。
【００４９】
また、オブジェクト空間設定部１１０は、エフェクトモデルの所定軸側（軸を取り囲むエフェクトモデルの内側）が仮想カメラから見える位置に、エフェクトモデルを設定する。
【００５０】
また、オブジェクト空間設定部１１０は、仮想カメラの向きと前記所定軸とに基づいて、エフェクトモデルを配置する。つまり、仮想カメラの視線と所定軸（エフェクトモデルが定義されるモデリング座標系のｚ軸）とに基づいて、エフェクトモデルを配置する。なお、仮想カメラの視線上に所定軸を一致させてエフェクトモデルを配置してもよい。より詳細に説明すると、オブジェクト空間設定部１１０は、エフェクトモデルが定義されたモデリング座標系の座標値から、カメラ座標系の座標値に変換する座標変換マトリクスに基づいて、エフェクトモデルを構成するポリゴンの各頂点の座標値を変換する処理を行う。
【００５１】
オブジェクト空間設定部１１０は、所定軸に対して回転させた前記エフェクトモデルを、オブジェクト空間に設定してもよい。また、オブジェクト空間設定部１１０は、所定軸に垂直な直交する２軸の少なくとも一方の軸に対して回転させたエフェクトモデルを、オブジェクト空間に設定してもよい。
【００５２】
移動・動作処理部１１２は、オブジェクト（キャラクタ、移動体等）の移動・動作演算（移動・動作シミュレーション）を行う。すなわち操作部１６０によりプレーヤが入力した操作データや、プログラム（移動・動作アルゴリズム）や、各種データ（モーションデータ）、物理法則などに基づいて、オブジェクトをオブジェクト空間内で移動させたり、オブジェクトを動作（モーション、アニメーション）させたりする処理を行う。具体的には、オブジェクトの移動情報（位置、回転角度、速度、或いは加速度）や動作情報（オブジェクトを構成する各パーツの位置、或いは回転角度）を、１フレーム（１／６０秒）毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動・動作処理（シミュレーション処理）や画像生成処理を行う時間の単位である。
【００５３】
仮想カメラ制御部１１４は、オブジェクト空間内の所与（任意）の視点から見える画像を生成するための仮想カメラ（視点）の制御処理を行う。具体的には、ワールド座標系における仮想カメラの位置（Ｘ、Ｙ、Ｚ）又は回転角度（例えば、Ｘ、Ｙ、Ｚ軸の各軸の正方向からみて時計回りに回る場合における回転角度）を制御する処理を行う。要するに、視点位置、視線方向、画角を制御する処理を行う。
【００５４】
例えば仮想カメラによりオブジェクト（例えばキャラクタ、移動体）を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度（仮想カメラの向き）を制御する。この場合には、移動・動作処理部１１２で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置（移動経路）又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
【００５５】
本実施形態のスケーリング制御部１１６は、エフェクトモデルを、所定軸方向、及び、所定軸に垂直であって、直交する２軸方向の少なくとも一方の軸方向に対して、スケーリングする。
【００５６】
スケーリング制御部１１６は、仮想カメラの移動速度に基づいて、スケーリングの倍率を求め、求めた倍率に基づいて、エフェクトモデルを所定軸方向（例えばモデリング座標系のｚ軸方向）にスケーリングする。
【００５７】
また、スケーリング制御部は、仮想カメラと前記エフェクトモデルの配置関係、及び、仮想カメラの画角とに基づいてスケーリングの倍率を求め、求めた倍率に基づいて、所定軸に垂直であって、直交する２軸方向（例えばモデリング座標系のｘ、ｙ軸方向）の少なくとも一方の軸に対してスケーリングする。
【００５８】
より具体的に説明すると、特に本実施形態のスケーリング制御部１１６は、エフェクトモデルを、モデリング座標形の原点を中心に所定方向にスケーリング（拡大・縮小）する処理を行う。
【００５９】
スケーリング制御部１１６は、仮想カメラの位置からビューボリューム範囲内の所与の位置までの距離（例えば、仮想カメラから前方クリッピング面までの距離）、仮想カメラの画角、アスペクト比の少なくとも１つの情報に基づいて、ビューポートサイズを求め、ビューポートサイズに基づいて倍率（スケーリングパラメータ）を求め、エフェクトモデルのモデリング座標形のｘ、ｙ成分を倍率に基づいてスケールする。なお、ｘ成分にかける倍率と、ｙ成分にかける倍率は同じでもよいし、異ならせてもよい。例えば、ｘ成分にかける倍率と、ｙ成分にかける倍率との比率を、アスペクト比と同じにしてもよい。
【００６０】
スケーリング制御部１１６は、エフェクトモデルを、モデリング座標形の原点を中心に、ｚ方向へスケーリングする処理を行うことができる。かかる場合には、仮想カメラの移動速度に応じて、ｚ方向へスケーリングする倍率を変化させてもよい。
【００６１】
なお、本実施形態のスケーリング制御部１１６は、モデリング座標系に限らず、種々の座標系（ワールド座標系、カメラ座標系、投影座標系、デバイス座標系）において、スケーリング処理を行ってもよい。
【００６２】
本実施形態の回転制御部１１８は、エフェクトモデルを、モデリング座標系のｘ、ｙ、ｚ軸の少なくとも１つの軸に対して回転させる処理を行う。なお、予め記憶されているエフェクトモデルを構成するポリゴンの各頂点を、モデリング座標系からカメラ座標形（視点座標形）に座標値を変換する座標変換を行った後に、カメラ座標形のｘ、ｙ、ｚ軸の少なくとも１つの軸に対して回転させるようにしてもよい。
【００６３】
描画部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。いわゆる３次元ゲーム画像を生成する場合には、まずオブジェクト（モデル）の各頂点の頂点データ（頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）を含むオブジェクトデータ（モデルデータ）が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理（頂点シェーダによるシェーディング）が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理（テッセレーション、曲面分割、ポリゴン分割）を行うようにしてもよい。
【００６４】
なお、本実施形態では、エフェクトモデルを構成するエフェクトオブジェクト（ポリゴン）の各頂点を、エフェクトモデルが定義されたモデリング座標系から、カメラ座標系に変換する座標変換マトリクスを求める処理を行う。
【００６５】
頂点処理では、頂点処理プログラム（頂点シェーダプログラム、第１のシェーダプログラム）に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換（カメラ座標変換）、クリッピング処理、透視変換（投影変換）、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更（更新、調整）する。
【００６６】
そして、頂点処理後の頂点データに基づいてラスタライズ（走査変換）が行われ、ポリゴン（プリミティブ）の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル（表示画面を構成するフラグメント）を描画するピクセル処理（ピクセルシェーダによるシェーディング、フラグメント処理）が行われる。ピクセル処理では、ピクセル処理プログラム（ピクセルシェーダプログラム、第２のシェーダプログラム）に従って、テクスチャの読出し（テクスチャマッピング）、色データの設定／変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を描画バッファ１７４（ピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ、レンダリングターゲット）に出力（描画）する。すなわち、ピクセル処理では、画像情報（色、法線、輝度、α値等）をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成される。なお、仮想カメラ（視点）が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として１画面に表示できるように画像を生成することができる。
【００６７】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン（プリミティブ）の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ（頂点シェーダやピクセルシェーダ）により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【００６８】
そして描画部１２０は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【００６９】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後（透視投影変換後）のオブジェクトデータ（オブジェクトの頂点の位置座標、テクスチャ座標、色データ（輝度データ）、法線ベクトル、或いはα値等）は、オブジェクトデータ記憶部１７６に保存される。
【００７０】
テクスチャマッピングは、記憶部１７０のテクスチャ記憶部１７８に記憶されるテクスチャ（テクセル値）をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定（付与）されるテクスチャ座標等を用いて記憶部１７０のテクスチャ記憶部１７８からテクスチャ（色（ＲＧＢ）、α値などの表面プロパティ）を読み出す。そして、２次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【００７１】
隠面消去処理としては、描画ピクセルのＺ値（奥行き情報）が格納されるＺバッファ１７９（奥行きバッファ）を用いたＺバッファ法（奥行き比較法、Ｚテスト）による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Ｚバッファ１７９に格納されるＺ値を参照する。そして参照されたＺバッファ１７９のＺ値と、プリミティブの描画ピクセルでのＺ値とを比較し、描画ピクセルでのＺ値が、仮想カメラから見て手前側となるＺ値（例えば小さなＺ値）である場合には、その描画ピクセルの描画処理を行うとともにＺバッファ１７９のＺ値を新たなＺ値に更新する。なお、本実施形態では、Ｚテストによる隠面消去処理を行っているが、エフェクトオブジェクト（集中線モデルを構成するポリゴン）の描画ピクセルについてはＺテストの対象にしないように制御している。つまり、エフェクトモデルの描画ピクセルが必ず描画されるようにしている。
【００７２】
αブレンディング（α合成）は、α値（Ａ値）に基づく半透明合成処理（通常αブレンディング、加算αブレンディング又は減算αブレンディング等）のことである。
【００７３】
なお、α値は、各ピクセル（テクセル、ドット）に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度（透明度、不透明度と等価）、バンプ情報などとして使用できる。
【００７４】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００７５】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００７６】
２．本実施形態の手法
（１）概要
本実施形態は、仮想カメラのスピード感や、臨場感、迫力感を演出するために、いわゆる集中線エフェクトの描画処理をリアルタイムに行うものである。
【００７７】
例えば、スキーゲームのように、仮想カメラがプレーヤキャラクタに追従して移動する場合には、プレーヤキャラクタの移動速度が上昇すると、仮想カメラの移動速度も併せて上昇させて、仮想カメラの移動速度に応じて、集中線を変化させ、仮想カメラのスピード感を演出している。
【００７８】
従来では、図２に示すように、この集中線をスクリーン座標系において、ｎ個の複数のポリゴンＡ０〜Ａｎによって表現し、つまり、スクリーンの端に位置する２点の頂点ａ１、ａ２と、画面の中心Ｏに向かう頂点ａ３を決定する処理を行って集中線を表現していた。しかし、自然な仮想カメラのスピード感の演出を行うためには、フレーム毎に複数のポリゴンＡ０〜Ａｎそれぞれの長さ（画面の端から中心に向かう長さ）をランダムに変化させなければならず、演算数が多く画像生成システムの処理負荷が重くなるという問題が生じていた。
【００７９】
そこで、本実施形態では、予めモデリングされた集中線モデル（エフェクトモデル）を用いて、仮想カメラのスピード感を表現している。つまり、本実施形態では、予めメモリに記憶されている集中線モデルを仮想カメラの位置・向きに応じてオブジェクト空間に配置して、仮想カメラから見える集中線モデルを描画し、従来よりも処理負荷を軽減させた簡易な手法で、仮想カメラのスピード感を表現している。
【００８０】
例えば、図３（Ａ）〜（Ｄ）に示すモデリング座標系においてモデリングされた略円筒状（略王冠状）の集中線モデル、つまり複数のポリゴン（エフェクトオブジェクト、集中線ポリゴン、集中線オブジェクト）Ｂ０〜Ｂｎによって構成される集中線モデルを用いて描画処理を行う。そして、図５に示すように、集中線モデルのｘｙ平面の円を内包する多角形が、ビューポートに内接するようにスケーリング処理（拡大・縮小処理）を行い、図６に示すように、仮想カメラから見える集中線モデルを投影面に投影することによって、集中線を表現している。つまり、集中線モデルを構成するポリゴンＢ０〜Ｂｎを、集中線の役割を果たし、スピード感、迫力感を表現している。なお、集中線モデルを構成するポリゴンを描画するピクセルについては、Ｚテストによる隠面消去処理を行わないようにしている。集中線モデルを、常に描画して自然な演出効果を実現するためである。
【００８１】
また、本実施形態では、図６に示すように、予め定義された集中線モデルを、モデリング座標系におけるｚ軸に対してランダムな角度で回転させることによって、集中線が、動的に変化する様子を表現している。
【００８２】
このように本実施形態では、予め集中線モデルをモデリングし、そして、仮想カメラに対して適切な位置に配置することによって、従来よりも処理負荷を軽減して、集中線の表現によるスピード感や、迫力感、注目度を与える演出効果を実現することができる。以下、本実施形態の具体的な手法について説明する。
【００８３】
（２）集中線モデル
まず、図３（Ａ）〜（Ｄ）を用いて、モデリング座標系においてモデリングされた集中線モデルについて説明する。
【００８４】
図３（Ａ）は、本実施形態の集中線モデルの一例である集中線モデルの斜視図である。また、図３（Ｂ）は、モデリング座標系におけるｘｚ平面における集中線モデルの図（上面図）を示し、図３（Ｃ）は、モデリング座標系におけるｘｙ平面における集中線モデルの図（正面図）を示す。また、図３（Ｄ）は、モデリング座標系におけるｙｚ平面における集中線モデルの図（側面図）を示す。
【００８５】
本実施形態の集中線モデルは、図３（Ａ）に示すように、複数のポリゴンＢ０〜Ｂｎによって構成されてる三次元形状のモデルである。つまり、集中線モデルは、所定方向の長さを有する複数のポリゴンが環状に配置されるモデルである。例えば、集中線モデルを構成する複数の各ポリゴンは、第１の方向（縦方向）の長さ、第２の方向（横方向）の長さを有している。具体的には、複数の各ポリゴンは、図４に示すように、縦方向の長さｈと、横方向の長さｗとを有している。そして、本実施形態の集中線モデルは、縦方向の長さと、横方向の長さとが、不規則になるように、複数の各ポリゴンを環状に配置している。自然な集中線を表現できるからである。
【００８６】
また、本実施形態では、図３（Ａ）に示すように、本実施形態の集中線モデルを構成する複数のポリゴンは、面ポリゴンであって（頂点が３つ以上のポリゴン）、各ポリゴンは表面、裏面を有しており、集中線モデルの内側が、集中線ポリゴンを構成する各ポリゴンの表面になるように集中線モデルを形成している。つまり、集中線モデルの外側が、集中線モデルを構成する各ポリゴンの裏面となるように、集中線モデルを形成している。
【００８７】
なお、集中線モデルの内側が、集中線ポリゴンを構成する各ポリゴンの裏面であって、集中線モデルの外側が、集中線モデルを構成する各ポリゴンの表面となるように、集中線モデルを形成してもよい。
【００８８】
また、集中線モデルは、仮想的な環状線に沿って各ポリゴンを配置してもよい。例えば、図３（Ａ）に示すように、仮想的な多角形の環状線に沿って、各ポリゴン（Ｂ０〜Ｂｎ）が配置される。別の表現をすれば、集中線モデルは、複数のポリゴンそれぞれの少なくとも１つの頂点を結ぶと、環状になるように配置されたモデルである。
【００８９】
さらに、具体的に集中線モデルの例を説明する。例えば、図３（Ａ）〜（Ｄ）に示すように、集中線モデルは、モデリング座標系の原点０を中心点とするｘｙ平面上の半径ｒの円を内包する多角形の辺を構成する２つの頂点と、当該２点の頂点でなす辺上の任意の点を、モデリング座標系におけるｚ負方向に平行に移動させた点とによって構成されるポリゴンを複数形成することによって構成される。
【００９０】
つまり、集中線モデルを構成するｎ個のポリゴン（Ｂ０〜Ｂｎ）は、例えば、図３（Ａ）〜（Ｄ）、図４に示すように、半径ｒの円を内包する多角形の２点ｂ１、ｂ２と、２点ｂ１、ｂ２を結ぶ線分の中点をｚ負方向に平行に移動させた線上の点ｂ３とによって構成される。つまり、ポリゴンＢｎは線分ｂ１、ｂ２を底辺とする２等辺三角形であることが望ましい。生成される画像において、各ポリゴンが１点の焦点に向かって集中する様子を適切に表現できるからである。
【００９１】
なお、ｘｙ平面上の半径ｒの円を内包する多角形の辺の長さｗは、図３（Ａ）〜（Ｄ）に示すように、不均一であってもよいし、均一にして円の円周上で正多角形を形成できるものであってもよい。また、各ポリゴンのｚ負方向へ引き伸ばした長さｈは不均一でもよいし、均一であってもよい。なお、ｚ負方向への長さｈは所定値以下に制限してもよい。なお、集中線モデルを構成する複数のポリゴンＢ０〜Ｂｎそれぞれの頂点ｂ１、ｂ２のｚの座標値は、必ずしも零の位置でなくてもよい。例えば、複数のポリゴンＢ０〜Ｂｎそれぞれの頂点ｂ１、ｂ２のｚの座標値をそれぞれ異なるようにしてもよい。
【００９２】
（３）集中線モデルをオブジェクト空間に設定する手法
本実施形態の集中線モデルは、集中線モデルの内側が、集中線ポリゴンを構成する各ポリゴンの表面であって、集中線モデルの外側が、集中線モデルを構成する各ポリゴンの裏面となるように構成するものである。そして、本実施形態では、集中線モデルの内側を描写することに意義を有するものである。なぜなら、集中線モデルの内側（集中線モデルを構成する各ポリゴンの表面）を透視変換（投影変換）することによって、集中線モデルを構成するポリゴンが、集中線の役割を果たすことができるからである。つまり、集中線モデルを構成するポリゴンの各点から仮想カメラに向かって投影されることによって、例えば、図６に示すように、周囲から焦点に向かう集中線を表現することができる。
【００９３】
したがって、本実施形態では、集中線を適切に表現するために、以下の手法で、集中線モデルをオブジェクト空間に配置している。
【００９４】
まず、本実施形態では、集中線モデルを構成するポリゴンの各頂点の座標値を、モデリング座標系からカメラ座標系に変換する座標変換を行う。例えば、集中線モデルの原点を、カメラ座標系のｚ軸上の、ビューボリューム内の所与の位置に配置する。
【００９５】
そして、本実施形態では、環状に配置された複数のポリゴンによって構成される集中線モデルの正面側縁部の環状部分が、ビューポートに内接、あるいは、ビューポートを包含するように集中線モデルを配置している。集中線モデルの正面側縁部の環状部分（円を内包する多角形）が、ビューポート（投影面、前面クリッピング面、後方クリッピング面、投影面に平行なビューボリュームの断面でもよい。）に内接するようにオブジェクト空間に設定する処理を行う。このようにすれば、生成される画像において、集中線モデルを構成するポリゴンのとげ状の部分が画面の一点（焦点）に向かうようになり、自然な集中線を表現することができるからである。
【００９６】
例えば、モデリング座標系におけるｘｙ成分を、原点中心にｘ軸方向にＳｘ倍、ｙ軸方向にＳｙ倍、スケーリング（拡大・縮小）を行うマトリクスを、集中線モデルを構成するポリゴンの各頂点に乗算する処理を行う。
【００９７】
すなわち、スケーリングを行うスケーリングパラメータＳｘ、Ｓｙは、ビューポートの横サイズ、縦サイズ、そして、仮想カメラの画角θ、仮想カメラ（仮想カメラの原点）から、ビューボリューム内の所定位置までの距離Ｌ（例えば、仮想カメラから前方クリッピング面までの距離）、アスペクト比ａ（ビューポートの横幅と縦幅との比率）によって、求めることができる。
【００９８】
尚、集中線モデルの原点は、前方クリッピング面から後方クリッピング面の範囲、すなわちビューボリュームの範囲に配置しなけれなならない。集中線モデルがクリッピングによって描画されないことを防ぐためである。
【００９９】
ここで、集中線モデルを、前方クリッピング面に配置する場合を例にとり具体的に説明する。仮想カメラの画角θ（仮想カメラの水平画角θ）と、仮想カメラから前方クリッピング面までの距離をＬとに基づき、ビューポートの横サイズＶｗと、縦サイズをＶｈを求めることができる。すなわり、ビューポートの横サイズＶｗは、以下の式（１）によって求まる。
【０１００】
Ｖｗ＝２Ｌ×ｔａｎ（θ／２）  （１）
また、アスペクト比ａに基づき、ビューポートの縦サイズＶｈは、以下の式（２）によって求まる。
【０１０１】
Ｖｈ＝Ｖｗ／ａ＝２Ｌ／ａ×ｔａｎ（θ／２）  （２）
つまり、集中線モデルの正面側縁部の環状部分は、ビューポートに内接できればよいので、ビューポートの横サイズＶｗ、縦サイズＶｈから、スケーリング後の集中線モデルのｘｙ平面の円の半径ｒ１は以下の数式で求めることができる。
【０１０２】
【数１】
2009140370.tif 000003
【０１０３】
つまり、図７（Ｂ）に示すように、集中線モデルのモデリング座標系におけるｘｙ平面上の円の半径がｒ１であればよい。したがって、円の半径をｒ１にする場合には、ｘ、ｙ成分に原点を中心としてｘ軸方向、ｙ軸方向にｒ１／ｒをスケーリングしたマトリクス（拡大・縮小マトリクス）を、集中線モデルを構成するポリゴンの各頂点に乗算し、スケーリングされた集中線モデルの原点を、仮想カメラからの距離Ｌの位置に配置する処理を行う。つまり、スケーリングパラメータＳｘ、Ｓｙの値はｒ１／ｒになる。
【０１０４】
なお、スケーリングされた集中線モデルを配置する場合には、仮想カメラに平行な面（カメラ座標系におけるｘｙ平面）が集中線モデルのｘｙ平面となるように配置する。
【０１０５】
以上のように、集中線モデルをオブジェクト空間に配置することによって、図６に示すように、透視変換、ビューポート変換された後に、集中線モデルの正面側縁部の環状部分のエッジがクリッピングされ、自然な集中線を表現することができる。
【０１０６】
（４）集中線モデルの長さを変化させる手法
本実施形態では、仮想カメラの移動速度の変化に応じて、集中線モデルのポリゴンの長さ（図３に示すモデリング座標系におけるｚ軸方向への長さ）をスケーリングする処理を行っている。つまり、モデリング座標系におけるｚ成分を、原点中心にｚ軸方向にＳｚ倍スケーリング（拡大・縮小）を行うマトリクスを、集中線モデルを構成するポリゴンの各頂点に乗算する処理を行う。
【０１０７】
このようにすれば、生成された画像の集中線の画面の端から焦点に向かう長さが、仮想カメラのスピードに応じて、長くなったり、短くなったりするので、さらなうスピード感の演出を実現できる。
【０１０８】
かかる場合に、スケーリングパラメータＳｚの値を仮想カメラの移動速度に応じて変化させてもよい。例えば、移動速度が零のときは、スケーリングパラメータＳｚを零にし、移動速度が上昇するにつれて、スケーリングパラメータＳｚを上昇させるようにしてもよい。なお、スケーリングパラメータＳｚは、所定値を超えないように制御してもよい。
【０１０９】
例えば、スケーリングパラメータＳｚが１の場合における仮想カメラの移動速度の値を予め決定する。例えば、スケーリングパラメータＳｚが１の場合における仮想カメラの移動速度の値を１０に決定する。そして、仮想カメラの移動速度ｋとすると、ｚ成分にｋ／１０をスケーリングしたマトリクスを、集中線モデルを構成するポリゴンの各頂点に乗算する。そして、スケーリングされた集中線モデルをオブジェクト空間に設定する。
【０１１０】
なお、本実施形態では、ゲーム状況に応じて、集中線モデルをｚ方向へスケーリングする処理を行ってもよい。例えば、特別なキャラクタを表示させる場合や、プレーヤがレースのゴール地点に達したした場合などには、ｚ方向へのスケーリングのスケーリングパラメータを２倍にする。このようにすれば、通常時よりも集中度合いの強い演出効果を行うことができる。
【０１１１】
（５）回転制御についての説明
本実施形態では、図６に示すように、時間経過に応じて、集中線モデルがモデル座標系におけるｚ軸に対して、ランダムな角度に回転させている。つまり、フレーム毎に、回転角度φを決定して、ｚ軸に対して回転角度φ回転させるマトリクスを、集中線モデルに乗算して、集中線モデルをオブジェクト空間に設定する。
【０１１２】
例えば、回転角度φは、乱数アルゴリズムに基づいてランダムな値を求めて設定することが望ましい。規則的に回転させると、プレーヤに、同一の集中線モデルを使用していることを知られてしまい、ゲームに対する好奇心を損なわせる恐れあるからである。例えば、回転角度φは６０度以上１２０度以下の回転角度でランダムに回転させるように制御することが望ましい。
【０１１３】
このように、本実施形態では、モデリングされた１つの集中線モデルを用いて、ｚ軸に対してランダムに回転させる制御を行うので、従来の手法に比較すると格段に、演算数が減算される。つまり、従来に比べて処理負荷を軽減させることができる。
【０１１４】
尚、本実施形態では、集中線モデルをモデル座標系のｘ軸、ｙ軸に対して回転させるように制御してもよい。このようにすれば、集中線の焦点を移動させることができる。
【０１１５】
例えば、図８（Ａ）に示すように、現フレームの仮想カメラの視線方向をカメラ座標系のｚ軸負方向に設定した場合に、前フレームの仮想カメラの視線方向と、現フレームの仮想カメラの視線方向とのなす回転角度ｔ１、つまり、ｘ軸正方向に対して角度ｔ１で回転する場合には、図８（Ｂ）に示すように、集中線モデルを構成するポリゴンの各頂点に、モデリング座標系のｘ軸の正方向から回転角度ｔ１を回転するマトリクスを乗算してから、集中線モデルを配置する処理を行う。このようにすれば、図８（Ｃ）に示すように、集中線の焦点が画像の中心より下方になるように描画され、仮想カメラの動きに応じた集中線を表現することができる。
【０１１６】
また、例えば、図９（Ａ）に示すように、現フレームの仮想カメラの視線方向をカメラ座標系のｚ軸負方向に設定した場合に、前フレームの仮想カメラの視線方向と、現フレームのカメラ座標系のｙ軸の正方向から回転角度ｔ２で回転する場合には、図９（Ｂ）に示すように、集中線モデルを構成するポリゴンの各頂点に、モデリング座標系のｙ軸正方向を基準に角度ｔ２を回転するマトリクスを乗算してから、配置する処理を行う。このようにすれば、図９（Ｃ）に示すように、集中線の焦点が画像の中心より左方になるように描画され、仮想カメラの動きに応じた集中線を表現することができる。
【０１１７】
なお、集中線モデルが、ｘ、ｙ軸に回転させる制御を場合には、集中線モデルのｘ、ｙ軸に対するスケーリングするスケーリングパラメータＳｘ、Ｓｙを、上述して求められるスケーリングパラメータよりも、やや大きめに見積もることが望ましい。例えば、図５に示すように、集中線モデルを、ビューポートに丁度よく収まるように配置すると、集中線モデルがｙ軸に対して角度ｔ２によって回転した場合に、図１０（Ａ）に示すように、集中線モデルが配置されることになってしまい、例えば、図１０（Ｂ）に示すように集中線モデルの正面側縁部の環状部分のエッジが画面に表示されてしまって不自然な演出になってしまう恐れがある。
【０１１８】
したがって、本実施形態では、集中線モデルをｘ、ｙ成分をスケーリングするスケーリングパラメータＳｘ１、Ｓｙ１にさらに拡大させるように所定倍を乗じた値を、最終的な集中線モデルをｘ、ｙ成分をスケーリングするスケーリングパラメータＳｘ２、Ｓｙ２に設定している。
【０１１９】
例えば、上述したようにアスペクト比、仮想カメラの画角、仮想カメラと前方クリッピング面までの距離Ｌによって、集中線モデルのｘ、ｙ成分のスケーリングするスケーリングパラメータＳｘ１、Ｓｙ１を求めた後、さらに、所定倍率（例えば、１．５）を乗じて、最終的な集中線モデルをｘ、ｙ成分をスケーリングするスケーリングパラメータＳｘ２、Ｓｙ２に設定している。このようにすれば、図１１（Ａ）に示すように、ビューポートよりも、やや大きめにスケーリングされた集中線モデルをオブジェクト空間に配置するので、図１１（Ｂ）に示すように、集中線モデルがｙ軸に対して回転角度ｔ２によって回転した場合であっても、集中線モデルの正面側縁部の環状部分のエッジはクリッピングされるので、自然な集中線を表現することができる。
【０１２０】
なお、集中線モデルの正面側縁部の環状部分のエッジが、ビューポート（画面、投影面）に反映されてしまうか否かの判断を行い、集中線モデルの正面側縁部の環状部分のエッジが、ビューポート（画面、投影面）に反映されてしまうと判断される場合には、集中線モデルを描画しないように制御してもよい。なお、正面側縁部の環状部分のエッジが、ビューポート（画面、投影面）に反映されてしまうか否かの判断は、集中線モデルのｘｙ平面上の多角形を内包する円の半径（集中線モデルの多角形を内包する楕円の長軸、短軸の長さ）、ｘ、ｙ軸周りの回転角度ｔ１、ｔ２、そして、画角θ、アスペクト比等に基づいて求めることができる。
【０１２１】
なお、本実施形態では、集中線モデルが回転してオブジェクト空間に配置する場合には、集中線モデルのエッジがクリッピングされる、集中線モデルと仮想カメラとの距離Ｍ１を求め、仮想カメラから距離Ｍ１の位置に集中線モデルを配置してもよい。このようにすれば、集中線モデルの正面側縁部の環状部分のエッジはクリッピングされ、自然な集中線を表現できる。例えば、Ｍ１は、集中線モデルのｘｙ平面上の多角形を内包する円の半径（集中線モデルの多角形を内包する楕円の長軸、短軸の長さ）、ｘ、ｙ軸周りの回転角度ｔ１、ｔ２、そして、画角θとに基づいて、求めることができる。
【０１２２】
例えば、集中線モデルが、仮想カメラの向きに正対している場合には、仮想カメラと集中線モデルとの距離をＭ０（Ｌ＜Ｍ０；Ｌは仮想カメラと前方クリッピング面までの距離）に保ち、集中線モデルが回転した場合には、仮想カメラと集中線モデルとの距離を、Ｍ１（Ｌ＜Ｍ１＜Ｍ０）に設定することが望ましい。
【０１２３】
（６）描画処理
本実施形態では、集中線モデルを構成するポリゴンを半透明描画してもよい。つまり、レンダリングされた元画像の色と、集中線ポリゴンとの色をα値に基づいて合成する処理（線形合成、加算合成処理等）を行う。かかる場合には、仮想カメラからの距離に応じて、集中線ポリゴンのα値（半透明度、半透明度）を変化させるようにして描画処理を行う。具体的には、仮想カメラからの奥行き値（Ｚ値）に基づいて、集中線モデルのポリゴンのα値を低くする。このようにすれば、集中線モデルが焦点に向かうにつれて透明になり、集中線モデルのポリゴンの色が、元画像の色にとけ込むような画像を生成できる。
【０１２４】
また、仮想カメラの移動速度に応じて、α値を変化させるようにしてもよい。例えば、仮想カメラの移動速度が上昇するにつれて、α値の値を大きくして、集中線モデルを構成するポリゴンの色を濃くするようにし、仮想カメラの移動速度が減速するにつれて、α値の値を低くして、集中線モデルを構成するポリゴンの色が薄くなるようにしてもよい。このようにすれば、さらに、仮想カメラのスピード感を表現することができる。
【０１２５】
また、本実施形態では、集中線モデルを構成するポリゴンのカラーは、１つのカラー（例えば白色）に限らず、複数のカラーを用いて、集中線モデルを構成するポリゴンのカラーを決定してもよい。
【０１２６】
３．本実施形態の処理
次に、本実施形態の詳細な処理例について図１２のフローチャートを用いて説明する。
【０１２７】
まず、モデリング座標系において定義された集中線モデルのスケーリングを行う（ステップＳ１）。つまり、集中線モデルのｘ、ｙ成分のスケーリング処理を行い、仮想カメラの移動速度等に基づいて、集中線モデルのｚ成分のスケーリング処理を行う。
【０１２８】
次に、集中線モデルを回転する回転制御を行う（ステップＳ２）。例えば、モデリング座標系の原点を中心に、ｚ軸に対してランダムに決定された回転角度φで集中線モデルを回転させる処理を行う。また、前フレームの視線方向と現フレームの視線方向とのなすｘ軸の回転角度ｔ１に応じて、モデリング座標系の原点を中心にｘ軸に対して回転角度ｔ１で集中線モデルを回転させる処理を行い、前フレームの視線方向と現フレームの視線方向とのなすｙ軸の回転角度ｔ２に応じて、モデリング座標系の原点を中心にｙ軸に対して回転角度ｔ２で集中線モデルを回転させる処理を行う。
【０１２９】
そして、集中線モデルをオブジェクト空間に配置する処理を行う（ステップＳ３）。例えば、集中線モデルを構成するポリゴンの各頂点の座標値を、モデリング座標形からカメラ座標系の座標値に変換するマトリクスを、集中線モデルを構成する各頂点に乗算して座標変換を行う。
【０１３０】
そして、仮想カメラから見える画像を生成する処理を行う（ステップＳ４）。つまり、透視変換処理、ビューポート変換処理を行い画像を生成する。なお、集中線モデルを構成するポリゴンのピクセルは、ｚテスト判定を行わずに、常に描画されるように処理を行っている。以上で処理が終了する。
【０１３１】
４．応用例
（１）集中線モデルのスケーリング処理の応用例
本実施形態では、集中線モデルをモデリング座標系の原点を中心にｘ、ｙ成分を同じスケーリングパラメータでスケーリングする手法について説明したが、それぞれをｘ、ｙ成分について異なるスケーリングパラメータでスケーリングしてもよい。例えば、集中線モデルを、アスペクト比に応じて、スケーリングしてもよい。例えば、アスペクト比が１６：９である場合には、図１３（Ａ）に示すように、長軸ｉと短軸ｊとの比率が１６：９になるように、集中線モデルのスケーリング処理を行ってもよい。そして、スケーリングされた集中線モデルは、略楕筒形状のモデルに変形されて、オブジェクト空間に配置される。
【０１３２】
このようにすれば、例えば、図１３（Ｂ）に示すように、複数のキャラクタが配置される場合にも適切な集中線を表現することができる。また、画面を上下に分割した場合でも、分割画像に応じたアスペクト比の横サイズが縦サイズに比べて極端に長い場合でも集中線を適切に表現することができる。
【０１３３】
（２）集中線モデルの応用例
本実施形態の集中線モデルは、図１４（Ａ）〜（Ｄ）に示すように、線ポリゴンによって構成されるモデルであってもよい。つまり、モデリング座標系の原点０を中心点とするｘｙ平面上の半径ｒの円上の複数の任意の点を、ｚ負方向に平行に移動させた線ポリゴンであってもよい。各線ポリゴンの長さは不均一でもよいし、均一であってもよい。
【０１３４】
本実施形態の集中線モデルは、図１５（Ａ）〜（Ｄ）に示すように、ポリゴン間に隙間が生じるような形状であってもよい。つまり、ｘｙ平面上の半径ｒの円を内包する多角形の辺のうち任意の辺によって構成されるポリゴンによって構成されるものでもよい。
【０１３５】
本実施形態の集中線モデルは、図１６（Ａ）に示すようなモデルであってもよい。つまり、集中線モデルを構成するポリゴンの先端がｚ軸へ向かってすぼまるような形状であってもよい。なお、かかる場合には、生成される画像において、各ポリゴンが交差しないように、当該点の移動距離を制限することが望ましい。なお、このような集中線モデルを用いた場合には、透視変換処理をなされた画像は、集中度合いが高いポリゴンが視線方向に集中するような画像が生成されることになる。
【０１３６】
また、本実施形態の集中線モデルは、図１６（Ｂ）に示すようなモデルであってもよい。つまり、集中線モデルを構成するポリゴンの先端がｚ軸から放射状に放たれるような形状としてもよい。なお、かかる集中線モデルを用いた場合には、ポリゴンが透視変換処理をなされた画像は、集中度合いが低いポリゴンが視線方向に集中するような画像が生成されることになる。
【０１３７】
（３）円筒モデルにテクスチャをマッピングする手法
なお、本実施形態では、図１７（Ａ）に示す円筒モデル（楕円筒モデル）を集中線モデルとして用いてもよい。かかる場合には、図１７（Ｂ）に示す集中線の模様が施された集中線テクスチャＴＸＴを円筒モデルにテクスチャマッピングを行うようにしてもよい。すなわち、集中線テクスチャＴＸＴは、集中線テクスチャＴＸＴの先端（Ｕ＝０）から末端（Ｕ＝１）に向けて、とげ状の模様が施された画像である。そして、集中線テクスチャの先端（Ｕ＝０）が円筒モデルの仮想カメラから見ての手前側に、集中線テクスチャの末端が円筒モデルの仮想カメラから見て奥側になるように、円筒モデルの内側に集中線テクスチャＴＸＴをマッピングする処理を行う。このようにすれば、図１７（Ｃ）に示すような集中線模様が施された画像を生成することができる。
【０１３８】
なお、集中線テクスチャの解像度は高いほうが望ましい。集中線テクスチャＴＸＴの模様が手前に大きく見えるので、プレーヤに違和感を与えないようにするためである。
【０１３９】
（４）複数の集中線モデルを用いて描画する手法
本実施形態では、複数の集中線モデルを用意し、仮想カメラの移動速度や、ゲーム状況に基づいて、複数の集中線モデルからいずれかの集中線モデルを選択し、選択された集中線モデルを用いて描画するようにしてもよい。このようにすれば、バリエーションに富んだ集中線を表現することができる。
【図面の簡単な説明】
【０１４０】
【図１】本実施形態の画像生成システムの機能ブロック図の例。
【図２】集中線を表現する手法の一例。
【図３】図３（Ａ）〜（Ｄ）は、本実施形態の集中線モデルの一例。
【図４】集中線モデルを構成するポリゴンの説明図。
【図５】集中線モデルをオブジェクト空間に配置する手法の説明図。
【図６】透視変換後の集中線モデルの説明図。
【図７】図７（Ａ）（Ｂ）は集中線モデルを構成するポリゴンの説明図。
【図８】図８（Ａ）〜（Ｃ）は集中線モデルの回転制御の説明図。
【図９】図９（Ａ）〜（Ｃ）は集中線モデルの回転制御の説明図。
【図１０】図１０（Ａ）（Ｂ）は集中線モデルをオブジェクト空間に配置する手法の説明図。
【図１１】図１１（Ａ）（Ｂ）は集中線モデルをオブジェクト空間に配置する手法の説明図。
【図１２】本実施形態の処理のフローチャート。
【図１３】図１３（Ａ）（Ｂ）は、集中線モデルのスケーリングの説明図。
【図１４】図１４（Ａ）〜（Ｄ）は、本実施形態の集中線モデルの一例。
【図１５】図１５（Ａ）〜（Ｄ）は、本実施形態の集中線モデルの一例。
【図１６】図１６（Ａ）（Ｂ）は、本実施形態の集中線モデルの一例。
【図１７】図１７（Ａ）〜（Ｃ）は、本実施形態の集中線を表現するための手法を説明するための図。
【符号の説明】
【０１４１】
１００  処理部、１１０  オブジェクト空間設定部、１１２  移動・動作処理部、
１１４  仮想カメラ制御部、１１６  スケーリング制御部、１１８  回転制御部、
１２０  描画部、
１２２  カメラマトリクス演算部、１２４  頂点マトリクス演算部、
１２６  頂点処理部、１３０  音生成部、
１６０  操作部、１７０  記憶部、１７２  主記憶部、
１７４  描画バッファ、１７６  オブジェクトデータ記憶部、
１７８  テクスチャ記憶部、１７９  ｚバッファ、１８０  情報記憶媒体、
１９０  表示部、１９２  音出力部、１９６  通信部
【図１】
2009140370.tif 000004
【図２】
2009140370.tif 000005
【図３】
2009140370.tif 000006
【図４】
2009140370.tif 000007
【図５】
2009140370.tif 000008
【図６】
2009140370.tif 000009
【図７】
2009140370.tif 000010
【図８】
2009140370.tif 000011
【図９】
2009140370.tif 000012
【図１０】
2009140370.tif 000013
【図１１】
2009140370.tif 000014
【図１２】
2009140370.tif 000015
【図１３】
2009140370.tif 000016
【図１４】
2009140370.tif 000017
【図１５】
2009140370.tif 000018
【図１６】
2009140370.tif 000019
【図１７】
2009140370.tif 000020