JP4806578B2 - プログラム、情報記憶媒体及び画像生成システム - Google Patents

プログラム、情報記憶媒体及び画像生成システム Download PDF

Info

Publication number
JP4806578B2
JP4806578B2 JP2006066194A JP2006066194A JP4806578B2 JP 4806578 B2 JP4806578 B2 JP 4806578B2 JP 2006066194 A JP2006066194 A JP 2006066194A JP 2006066194 A JP2006066194 A JP 2006066194A JP 4806578 B2 JP4806578 B2 JP 4806578B2
Authority
JP
Japan
Prior art keywords
distant view
image
virtual camera
distant
view image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006066194A
Other languages
English (en)
Other versions
JP2007241868A (ja
Inventor
聡 大内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2006066194A priority Critical patent/JP4806578B2/ja
Publication of JP2007241868A publication Critical patent/JP2007241868A/ja
Application granted granted Critical
Publication of JP4806578B2 publication Critical patent/JP4806578B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

本発明は、プログラム、情報記憶媒体及び画像生成システムに関する。
従来より、キャラクタ、車などのオブジェクトが配置設定されるオブジェクト空間内(仮想的な3次元空間)において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。レースゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラなどの操作部を用いて自車を操作し、他のプレーヤが操作する他車と競争することでゲームを楽しむ。
このような画像生成システムでは、遠景であるか近景であるかに依らず、全ての背景を3次元のオブジェクトで表して描画する手法を採用していた。
しかしながら、この手法によると、背景を構成する全てのオブジェクトについて3次元演算を行わなければならない。従って、広い範囲の背景を表示しようとすると、演算負荷が膨大になってしまうという課題があった。
特開平11−250232号公報
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負荷での背景画像の生成を可能にするプログラム、情報記憶媒体及び画像生成システムを提供することにある。
本発明は、画像を生成する画像生成システムであって、オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を含む複数の遠景画像を記憶する遠景画像記憶部と、仮想カメラの制御を行う仮想カメラ制御部と、前記遠景画像記憶部に記憶される前記複数の遠景画像のうち、仮想カメラの位置により特定される遠景画像を、仮想カメラから所与の距離だけ離れた位置に配置されるプリミティブ面により構成される遠景マップオブジェクトに対してマッピングして、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部とを含む画像生成システムに関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
本発明によれば、オブジェクト空間の各位置において仮想カメラから見えるべき遠景画像が遠景画像記憶部に記憶される。そして、遠景画像記憶部に記憶される遠景画像のうち、仮想カメラの位置により特定される遠景画像が、遠景マップオブジェクトにマッピングされる。従って、遠景オブジェクトの描画処理をリアルタイムに行わなくても、リアルな遠景画像を含む画像を生成でき、少ない処理負荷での背景画像の生成が可能になる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部は、前記遠景画像に描かれる遠景オブジェクトよりも仮想カメラから見て近くに配置設定される近景オブジェクトの描画処理を行ってもよい。
このようにすれば、近景オブジェクトについては、リアルタイムに描画できるようになり、生成される画像の品質を向上できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記遠景画像記憶部は、前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て遠くにあるオブジェクトが、遠景オブジェクトとして描かれる遠景画像を記憶し、前記画像生成部は、前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て近くにあるオブジェクトを、近景オブジェクトとして描画してもよい。
このようにすれば、仮想カメラの直ぐ近くに近景オブジェクトが近づいた場合等においても、自然でリアルな画像を生成できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部は、前記遠景マップオブジェクトのプリミティブ面の位置よりも所与の距離範囲だけ遠くにあるオブジェクトについても、近景オブジェクトとして描画してもよい。
このようにすれば、遠景マップオブジェクトに描かれた画像から、近景オブジェクトの描画により生成される画像に、シームレスに切り替わるようになり、不自然な画像が生成されてしまう事態を防止できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記遠景画像記憶部は、オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像の生成処理の際に得られるZ値を記憶し、前記画像生成部は、遠景画像の前記Z値を用いて、隠面消去処理を行ってもよい。
このようにすれば、遠景画像についても、前後関係の正しい画像を表示できるようになる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、仮想カメラの視線方向と前記遠景マップオブジェクトとの位置関係に応じて、前記Z値の変換処理を行う変換処理部を含んでもよい(該変換手段として機能させてもよい)。
このようにすれば、遠景画像のZ値を正しいZ値に変換することができ、前後関係が正しく判断された隠面消去処理を実現できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記遠景マップオブジェクトは、遠景キューブマップオブジェクトであり、前記遠景画像記憶部は、前記遠景キューブマップオブジェクトに対してマッピングされる遠景画像を記憶し、前記画像生成部は、前記遠景画像記憶部に記憶される遠景画像を、前記遠景キューブマップオブジェクトに対してマッピングしてもよい。
このようにすれば、仮想カメラの視線方向が前後左右等に向いた場合にも、遠景マップオブジェクトに描かれた遠景画像を含む画像を生成できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部は、前記遠景マップオブジェクトの遠景画像を、環境マッピング画像として、オブジェクト空間で移動する移動体に対して環境マッピングしてもよい。
このようにすれば、遠景表示のために生成された遠景画像を有効活用して、環境マッピングを実現できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記遠景画像記憶部は、前記複数の遠景画像を圧縮画像として記憶し、前記画像生成部は、前記圧縮画像を伸長することにより得られた遠景画像を、前記遠景マップオブジェクトにマッピングしてもよい。
このようにすれば、遠景画像の記憶に必要な使用記憶容量を節約できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記遠景画像記憶部は、複数の遠景画像を圧縮ムービーテクスチャとして記憶し、前記画像生成部は、前記圧縮ムービーテクスチャを伸長することにより得られた遠景画像を、前記遠景マップオブジェクトにマッピングしてもよい。
このようにすれば、ムービーテクスチャの再生機能を有効活用して、遠景画像の圧縮・伸長が可能になる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記遠景画像記憶部は、仮想カメラによる画像生成の際のオブジェクト空間での位置が互いに近い遠景画像ほど、そのフレーム番号が近い番号になるように圧縮された圧縮画像を記憶してもよい。
このようにすれば、似た画像の遠景画像については、そのフレーム番号が近くなるように圧縮されて記憶されるため、圧縮効率を向上でき、メモリの使用記憶容量を節約できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部は、前記圧縮画像を伸長することにより得られる複数の遠景画像の中から、仮想カメラの位置に対応する遠景画像を前記フレーム番号により特定し、特定された遠景画像を、前記遠景マップオブジェクトにマッピングしてもよい。
このようにすれば、遠景画像を圧縮した場合にも、仮想カメラの位置に対応する遠景画像を簡素な処理で特定して遠景マップオブジェクトにマッピングできるようになる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記複数の遠景画像のうち、仮想カメラの周囲の所与の範囲に対応する遠景画像の圧縮画像だけが伸長され、前記画像生成部は、伸長により得られた前記所与の範囲に対応する遠景画像の中から、仮想カメラの位置に対応する遠景画像を、前記遠景マップオブジェクトにマッピングしてもよい。
このようにすれば、オブジェクト空間の全ての位置に対応する遠景画像を伸長しなくても済むため、伸長処理の処理負荷を軽減できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、各画像が複数の画面の各々に表示される複数の画像を生成する場合に、第1の仮想カメラから見える第1の画面用の第1の画像と、第2の仮想カメラから見える第2の画面用の第2の画像を、遠景画像記憶部に記憶される遠景画像を共用して生成してもよい。
このようにすれば、メモリの使用記憶容量の増加を抑えながら、負荷の軽い処理で複数画面表示を実現できる。
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記画像生成部は、前記複数の遠景画像の中から、仮想カメラの位置に対応する遠景画像として、第1〜第N(Nは2以上の整数)の位置に対応付けられた第1〜第Nの遠景画像を読み出し、読み出された第1〜第Nの遠景画像を合成した画像を、前記遠景マップオブジェクトに対してマッピングしてもよい。
このようにすれば、データ量の増加を抑えながら高品質の遠景画像を生成して表示できる。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.構成
図1に本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の例を示す。なお本実施形態の画像生成システムは図1の構成要素(各部)の一部を省略した構成としてもよい。
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、アクセル、ブレーキ、或いはタッチパネル型ディスプレイなどにより実現できる。記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、ハードディスク、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などがある。通信部196は外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170)に配信してもよい。このようなホスト装置(サーバー)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。処理部100は記憶部170(主記憶部172)をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、ゲーム演算部108、オブジェクト空間設定部110、移動体演算部112、仮想カメラ制御部114、画像生成部120、音生成部130を含む。なおこれらの一部を省略する構成としてもよい。
ゲーム演算部108はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、移動体やマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
オブジェクト空間設定部110は、移動体(車、人、ロボット等)、コース(道路)、マップ(地形)、建物、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のモデルデータ記憶部176には、移動体オブジェクト(キャラクタ)等のモデルデータが記憶されている。そしてオブジェクト空間設定部110は、このモデルデータを用いてオブジェクト空間へのオブジェクトの設定(配置)処理を行う。
移動体演算部(移動・動作処理部)112は、移動体を移動させるための演算を行う。また移動体を動作させるための演算も行う。即ち操作部160によりプレーヤが入力した操作データや、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(オブジェクト、モデルオブジェクト)をオブジェクト空間内で移動させたり、移動体を動作(モーション、アニメーション)させる処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
仮想カメラ制御部114は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
例えば仮想カメラにより車、キャラクタなどの移動体を後方から撮影する場合には、移動体の位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。この場合には、移動体演算部112で得られた移動体の位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
なお本実施形態の移動体は、画面に表示されるオブジェクトであってもよいし、画面に表示されない仮想的なオブジェクトであってもよい。例えば1人称視点等の場合には、仮想カメラの位置を移動***置と見なすことができる。
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。いわゆる3次元ゲーム画像を生成する場合には、まずモデル(オブジェクト)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むモデルデータが入力され、入力されたモデルデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
画像生成部120は、オブジェクトを描画する際にジオメトリ処理、隠面消去処理、αブレンディング、テクスチャマッピング処理等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のモデルデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル、或いはα値等)は、記憶部170に保存される。
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理がある。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファ(Zプレーン)に格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)は、α値(A値)に基づいて行う処理であり、通常αブレンディング、加算αブレンディング或いは減算αブレンディングなどがある。例えば通常αブレンディングの場合には下式の処理を行う。
=(1−α)×R+α×R
=(1−α)×G+α×G
=(1−α)×B+α×B
一方、加算αブレンディングの場合には下式の処理を行う。
=R+α×R
=G+α×G
=B+α×B
また、減算αブレンディングの場合には下式の処理を行う。
=R−α×R
=G−α×G
=B−α×B
ここで、R、G、Bは、描画バッファ174(フレームバッファ)に既に描画されている画像(元画像)のRGB成分であり、R、G、Bは、描画バッファ174に描画すべき画像のRGB成分である。また、R、G、Bは、αブレンディングにより得られる画像のRGB成分である。なおα値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、半透明度(透明度、不透明度と等価)情報、マスク情報、或いはバンプ情報などとして使用できる。
テクスチャマッピング(テクスチャフェッチ、テクスチャサンプリング)処理は、テクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理である。具体的には、オブジェクト(プリミティブ面)の頂点等に設定(付与)されるテクスチャ座標等を用いてテクスチャ記憶部からテクスチャ(色、α値などの表面プロパティ)を読み出す。そして、2次元の画像又はパターンであるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理やバイリニア補間(テクセル補間)などを行う。
本実施形態では遠景画像記憶部173が複数の遠景画像(背景画像)を記憶する。具体的にはオブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を含む複数の遠景画像(遠景テクスチャ)を記憶する。例えば各遠景画像が各位置(格子点、基準点、位置取得用ポリゴン等)に対応して用意される複数の遠景画像を記憶する。そして画像生成部120は、遠景画像記憶部173に記憶される複数の遠景画像のうち、仮想カメラ(移動体)の位置により特定される遠景画像(仮想カメラの位置に対応付けられた遠景画像)を、遠景マップオブジェクトにマッピングする。
ここで遠景マップオブジェクトは、仮想カメラから所与の距離だけ離れた位置に配置される1又は複数のプリミティブ面(ポリゴン)により構成されるオブジェクトである。この遠景マップオブジェクトとしては、例えば環境マッピングに使用される遠景キューブマップオブジェクトを用いることができる。この場合には遠景画像記憶部173は、遠景キューブマップオブジェクトに対してマッピングされる遠景画像を記憶し、画像生成部120は、遠景画像記憶部173に記憶される遠景画像を、遠景キューブマップオブジェクトにマッピングする。例えば立方体の展開図に対応する遠景画像を、遠景キューブマップオブジェクトを構成するポリゴンにマッピングする。
画像生成部120は近景オブジェクトの描画処理を行う。ここで近景オブジェクトは、遠景画像に描かれる遠景オブジェクトよりも仮想カメラから見て近くに配置設定されるオブジェクトである。即ち遠景画像記憶部173は、遠景マップオブジェクトのプリミティブ面(ポリゴン)の位置よりも仮想カメラから見て遠くにあるオブジェクト(仮想カメラから所与のしきい値距離以上離れていると想定されるオブジェクト)が、遠景オブジェクトとして描かれる遠景画像を記憶する。即ちゲーム制作時等における遠景画像の生成の際に、仮想カメラから見て遠景マップオブジェクトのプリミティブ面(ポリゴン)の位置よりも遠くにあるオブジェクトについては、遠景として遠景画像に描かれる。一方、画像生成部120は、遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て近くにあるオブジェクト(仮想カメラからみて所与のしきい値距離より近いオブジェクト)を、近景オブジェクトとして描画する。なお画像生成部120は、遠景マップオブジェクトのプリミティブ面の位置よりも所与の距離範囲だけ遠くにあるオブジェクトであって、本来は遠景オブジェクトであるオブジェクトについても、近景オブジェクトとして描画する。
また遠景画像記憶部173は、オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像の生成処理の際に得られたZ値を記憶する。例えば遠景画像の色(色プレーン)と共にZ値(Zプレーン)を記憶する。即ちZバッファ法による隠面消去により得られたZ値を記憶する。
そして画像生成部120は、遠景画像のZ値を用いて、隠面消去処理を行う。即ち移動体などのオブジェクトを描画する際には、遠景画像のZ値も考慮して、Zバッファ法による隠面消去処理を行う。この場合に画像生成部120が含む変換処理部122は、仮想カメラの視線方向と遠景マップオブジェクトとの位置関係に応じて、Z値の変換処理を行う。具体的には、遠景マップオブジェクトを構成するプリミティブ面の向きと視線方向とのなす角度と、変換処理の対象となる点(ピクセル)のX座標、Y座標等に基づいて、その点のZ値を変換する。
また遠景画像記憶部173は、複数の遠景画像を圧縮画像として記憶する。例えば複数の遠景画像を圧縮ムービーテクスチャとして記憶する。具体的には仮想カメラによる画像生成の際のオブジェクト空間での位置が互いに近い遠景画像ほど、そのフレーム番号が近い番号になるように圧縮された圧縮画像を記憶する。
画像生成部120が含む伸長部(展開部、デコード部)124は圧縮画像の伸長処理を行う。具体的にはMPEG、JPEG等の圧縮画像として遠景画像記憶部173に記憶された遠景画像(ムービーテクスチャ)を伸長する。例えばMPEGで圧縮された一連のIピクチャを伸張する。
遠景画像のデータ圧縮は次のように実現できる。即ち、まずデータが複数のマクロブロックに分割される。そして、分割された各ブロックに対して、DCT(離散コサイン変換、直交変換)が施される。これにより、データが周波数(空間周波数)分解される。次に、DCTにより得られた各DCT係数(広義には直交変換係数)が量子化される。そして、ハフマン符号化(エントロピー符号化、可変長符号化)が行われ、これにより圧縮データが得られる。一方、圧縮画像のデータ伸張は次のように実現できる。即ち、まず圧縮データが遠景画像記憶部173から読み込まれる。伸張部124は、この読み込まれた圧縮データに対してハフマン復号化(エントロピー復号化、可変長復号化)を行う。次に、伸張部124は、ハフマン復号化後のデータに対して逆量子化を行う。そして、逆DCTを行い、これにより伸張データが得られる。
画像生成部120は、圧縮画像を伸長(デコード)することにより得られた遠景画像を、遠景マップオブジェクトにマッピングする。例えば圧縮ムービーテクスチャを伸長することにより得られた遠景画像を遠景マップオブジェクトにマッピングする。具体的には、圧縮画像を伸長することにより得られる複数の遠景画像の中から、仮想カメラの位置に対応する遠景画像をフレーム番号により特定する。例えば仮想カメラの位置とフレーム番号とを対応付けておき、仮想カメラの位置からフレーム番号を特定し、フレーム番号により特定される遠景画像を、遠景マップオブジェクトにマッピングする。
なお画像生成部120は、各画像が複数の画面の各々に表示される複数の画像を生成することができる。即ち、異なる仮想カメラ位置(視点位置)、視線方向での画像を生成して、各プレーヤに対応する各画面に表示する。例えば第1の仮想カメラから見える第1の画面用の第1の画像(第1の視界画像)と、第2の仮想カメラから見える第2の画面用の第2の画像(第2の視界画像)を生成し、第1、第2の画面に表示する。この場合に画像生成部120は、第1の画面用の第1の画像と、第2の画面用の第2の画像を、遠景画像記憶部173に記憶される遠景画像を共用して生成する。例えば第1の画面に表示する第1の画像については、遠景画像記憶部173に記憶される複数の遠景画像のうち、第Kの位置に対応付けられた遠景画像を使用して生成する。一方、第2の画面に表示する第2の画像については、遠景画像記憶部173に記憶される複数の遠景画像のうち、第Lの位置に対応付けられた遠景画像を使用して生成する。
また画像生成部120は、複数の遠景画像の中から、仮想カメラの位置に対応する遠景画像として、第1〜第Nの位置に対応付けられた第1〜第Nの遠景画像を読み出す。具体的には、仮想カメラの近くの第1〜第の位置に対応付けられた第1〜第Nの遠景画像を遠景画像記憶部173から読み出す。そして読み出された第1〜第Nの遠景画像を合成した画像を、遠景マップオブジェクトに対してマッピングする。具体的には、仮想カメラの位置と第1〜第Nの位置との位置関係(距離等)に基づいてα値を求め、求められたα値に基づいて、第1〜第Nの遠景画像をα合成し、遠景マップオブジェクトにマッピングする。
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
2.本実施形態の手法
2.1 遠景マップオブジェクトへの遠景画像のマッピング
本実施形態では図2に示すように、オブジェクト空間の各位置P11、P12、P13、P14、P15・・・において仮想カメラ(移動体)から見えるべき遠景画像(背景画像)IM11、IM12、IM13、IM14、IM15・・・が、遠景画像記憶部173に記憶される。具体的にはゲーム制作時(CG制作時)に、オブジェクト空間の各位置P11、P12、P13・・・に仮想カメラを配置設定する。そして、各位置P11、P12、P13・・・に配置された仮想カメラによりその周囲を見渡した時に見えるべき画像を生成する。そしてこのようにして生成された画像が、遠景画像として遠景画像記憶部173に記憶される。この場合の遠景画像は、背景を構成するオブジェクトのうち、遠景オブジェクトをオブジェクト空間に配置して生成する。またこの遠景画像の生成処理は、ゲーム制作時に行われ、リアルタイム性が要求されない処理であるため、ポリゴン数が極めて多い詳細なモデルを用いて遠景画像を生成する。また図2に示すように、各遠景画像IM11、IM12、IM13・・・は、位置P11、P12、P13・・・に対応付けられて遠景画像記憶部173に記憶される。なお位置P11、P12、P13・・・とフレーム番号を対応付けておき、このフレーム番号と遠景画像IM11、IM12、IM13・・・を対応付けて遠景画像記憶部173に記憶するようにしてもよい。
図3に本実施形態の遠景画像の例を示す。図3のA1は、進行方向に対して仮想カメラを左に向けた時に見える画像である。同様にA2、A3、A4、A5、A6は、仮想カメラを前、右、後ろ、上、下に向けた時に見える画像(2次元画像、疑似3次元画像)である。これらの画像では、仮想カメラから遠い位置にある観客席、壁、空、雲等の遠景オブジェクトが描画されている。また道(コース)の画像も描画されている。遠景画像記憶部173は、例えば図3のA1〜A6の画像を一組とした画像を遠景画像として記憶する。なお図3のA1〜A6の各画像を別個に遠景画像として記憶するようにしてもよい。
本実施形態では図3の遠景画像を例えば図4に示すような遠景マップオブジェクト(遠景キューブマップオブジェクト)MOBにマッピングして、オブジェクト空間(ゲーム空間)内において仮想カメラVCから見える画像を生成する。具体的には図3のA1、A2、A3、A4、A5、A6の画像を、各々、遠景マップオブジェクトMOBを構成するプリミティブ面(ポリゴン)PS1、PS2、PS3、PS4、PS5、PS6にマッピングする。即ちプリミティブ面PS1〜PS6の外側、内側の面(表側、裏側面)のうち、仮想カメラVCから見える側である内側の面にA1〜A6の画像をマッピングする。そして遠景マップオブジェクトMOBの内側に配置された仮想カメラVCから、これらの遠景マップオブジェクトMOBの内側の面を見ることで、ゲーム(CG)制作時と同様の画像が仮想カメラに映し出される。これにより、ゲーム画像を構成する遠景(背景)の画像が表示部190に表示されるようになる。
図2、図3、図4では、オブジェクト空間の各位置において、上下前後左右の6方向のそれぞれの画像が用意されて、遠景マップオブジェクトMOB(キューブマップオブジェクト)の内側にマッピングされる。従って、仮想カメラVCが上下前後左右等のどの方向を向いた場合にも、その方向に対応する遠景画像(背景画像)が表示部190に表示されるようになる。
このような本実施形態の手法によれば、遠景画像を構成する遠景オブジェクトについては、リアルタイムに描画しなくても済む。従って処理負荷を軽減できる。また遠景は2次元画像(疑似3次元画像)として予め用意されているため、広い距離範囲の遠景を表示しても、処理負荷はそれほど変化しない。従って広い距離範囲に亘る遠景の表示が少ない処理負荷で可能になる。更に、遠景画像は、リアルタイムに生成されずに、ゲーム制作時に生成できる。従って、リアルタイム処理で生成する場合に比べて、高精細の遠景画像を用意することができ、少ない処理負荷でリアルな画像を生成できる。
なお遠景マップオブジェクトMOBとしては種々の形状のオブジェクトを採用できる。例えば図4のプリミティブ面PS1〜PS6の一部を省略したオブジェクトにしてもよい。例えば仮想カメラVCが後ろ側、上側、下側を向かないようなゲーム(電車ゲーム等)においては、プリミティブ面PS4、PS5、PS6を設けない遠景マップオブジェクトMOBを採用できる。また本実施形態の遠景マップオブジェクトは、図4のようなキューブの遠景マップオブジェクトに限定されない。例えば図5(A)では直方体の遠景マップオブジェクトが用いられ、図5(B)では円柱の遠景マップオブジェクトが用いられている。遠景マップオブジェクトは、例えば、少なくとも仮想カメラの前方、左側、右側に位置するプリミティブ面により構成されるオブジェクトであればよい。
また図2では、複数の遠景画像がオブジェクト空間の格子点の位置に対応付けられているが、本実施形態はこれに限定されない。例えば図6(A)では、オブジェクト空間のコースに沿って基準点G1、G2、G3・・・が設定されている。即ち図6(A)では、コース上での移動体の現在位置や順位等を把握するために、コースの中心線(基準線)に沿って基準点G1、G2、G3・・・設定し、これらの基準点G1、G2、G3・・・を繋いだ線を座標軸とする道座標系を用いる。そして基準点G1、G2、G3・・・のうち移動体(仮想カメラ)に最も近い基準点を検索することで、移動体の現在位置や順位を取得する。
本実施形態の遠景画像は、これらの基準点G1、G2、G3・・・に対応付けて記憶してもよい。例えばレール上を走る電車から見える画像が表示される電車ゲーム等では、仮想カメラの位置がレールの左右にずれることはない。従って、このような電車ゲーム等では、レールに沿って並ぶ基準点G1、G2、G3・・・に対応付けて遠景画像を記憶すればよい。
また図6(B)に示すように、遠景画像が対応付けられる格子点を、仮想カメラ(移動体)の移動可能範囲にのみ設定するようにしてもよい。このようにすれば、遠景画像のデータ量を減らすことができ、メモリの使用記憶容量を節約できる。また仮想カメラ(移動体)の移動フィールドに対して、複数の位置取得用(座標計算用)のポリゴンを配置し、この細分化された各ポリゴンに対して遠景画像を対応付けて記憶するようにしてもよい。この場合には、各ポリゴンに対して移動条件情報、イベント発生フラグなどの属性情報を設定し、この属性情報に基づいて移動体の移動を制御したり、ゲームイベントを発生させたりすることができる。
2.2 近景オブジェクトの描画
本実施形態では図3の遠景画像に描かれる遠景オブジェクト(観客席、壁等)よりも仮想カメラから見て近くに配置設定される近景オブジェクトの描画処理を行っている。
具体的には図7(A)(B)のB1、B2に示すように、遠景マップオブジェクトMOBのプリミティブ面PS2の位置よりも、仮想カメラVCから見て遠くにあるオブジェクトOB2が、遠景オブジェクトとして遠景画像に描かれる。例えば図3における観客席や背景等のオブジェクトが、遠景オブジェクトとして遠景画像に描かれて、遠景画像記憶部173に記憶される。なお図7(A)は、遠景マップオブジェクトMOB、仮想カメラVC、オブジェクトOB1、OB2等を横方向(X軸に沿った方向)から見た場合の図であり、図7(B)は上方向(Y軸に沿った方向)から見た場合の図である。
そして本実施形態では画像生成部120が、遠景マップオブジェクトMOBのプリミティブ面PS2の位置よりも、仮想カメラVCから見て近くにあるオブジェクトOB1を、近景オブジェクトとして描画する。
即ち本実施形態では、遠景マップオブジェクトMOBを構成するプリミティブ面PS2は、仮想カメラVCから所与の距離だけ離れた位置に配置される。従って、このプリミティブ面PS2よりも遠くにあるオブジェクトOB2については、図7(A)(B)のB1、B2に示すように遠景画像に描いても不自然にはならないが、プリミティブ面PS2よりも手前側にあるオブジェクトOB1を遠景画像に描くと、不自然な画像が生成されるおそれがある。例えばオブジェクトOB1が仮想カメラVCの目の前に近づいた場合には、オブジェクトOB1の形状、画像が大きく表示され、その詳細が目立ってしまう。
そこで図7(A)(B)では、プリミティブ面PS2よりも手前側にあるオブジェクトOB1については、通常のリアルタイム処理の近景オブジェクトとして描画する。このようにすれば、オブジェクトOB1が仮想カメラVCの目の前に近づいた場合等においても、自然でリアルな画像を生成できる。
また本実施形態では図8(A)に示すように、遠景マップオブジェクトMOBのプリミティブ面PS2の位置よりも所与の距離範囲だけ遠くにあるオブジェクトOB3についても、近景オブジェクトとして描画してもよい。例えば図8(A)では、遠景マップオブジェクトMOBの周囲に、MOBよりも広い領域EARが設定される。そして遠景マップオブジェクトMOBの外側に配置されるオブジェクトは、近景オブジェクトとしてリアルタイムに描画されないのが原則であるが、遠景マップオブジェクトMOBの外側に位置し、領域EARの内側に位置するオブジェクトOB3については、近景オブジェクトとしてリアルタイムに描画する。この場合に図8(A)のC1に示すように、このオブジェクトOB3は、遠景オブジェクトとして遠景画像にも描画されている。
このようにすれば図8(B)に示すように、仮想カメラVC(移動体)の位置が変化し、オブジェクトOB3が遠景マップオブジェクトMOB内に入って来た場合に、オブジェクトOB3の画像が遠景画像から近景画像に、不自然さがなく切り替わるようになる。例えば図8(A)において、オブジェクトOB3を近景オブジェクトとして描画しておかないと、オブジェクトOB3がプリミティブ面PS2の位置に来た時に、リアルタイム描画のオブジェクトとして突然に表示されてしまい、不自然な画像が生成されるおそれがある。
この点、図8(A)では、領域EARに位置した時からオブジェクトOB3は近景オブジェクトとして描画される。従って、オブジェクトOB3がプリミティブ面PS2の位置に来た時にも、遠景マップオブジェクトMOBに描かれた画像から、リアルタイム描画により生成される画像に、シームレスに切り替わるようになり、不自然な画像が生成されてしまう事態を効果的に防止できる。
2.3 Z値を用いた隠面消去
本実施形態では図9(A)に示すように、遠景画像に対して、R、G、Bの色(色プレーン)のみならず、Z値(奥行き値と同義)も設定される。即ち、オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像の生成処理(ゲーム制作時)の際に得られるZ値(Zプレーン)が、遠景画像に設定される。そして、オブジェクト(近景オブジェクト、移動体等)の描画の際に、オブジェクトのZ値のみならず、遠景画像のZ値も使用して、隠面消去が処理が行われる。
例えば図9(B)において、オブジェクトOB4(例えばビル)は遠景オブジェクトとして遠景画像に描かれている。この場合に、遠景画像のうち、オブジェクトOB4の描画領域には、オブジェクトOB4の色のみならず、オブジェクトOB4の画像生成の際に得られたZ値(Zバッファ法により得られたZ値)が設定(記憶)される。そして、他のオブジェクトOB5(例えば飛行船)をリアルタイム描画する際には、遠景画像のZ値も考慮して隠面消去処理を行う。このようにすれば図9(B)に示すように、オブジェクトOB5のうちオブジェクトOB4よりも奥側にある部分については隠面消去されて表示されないようになる。従って、前後関係の正しい画像を表示できるようになり、生成される画像のリアル度、品質を向上できる。なお遠景画像のZ値は、例えば遠景画像のαプレーンに記憶しておき、オブジェクトOB5を描画する前に、このαプレーンのZ値をZバッファに書き込むようにしてもよい。
また本実施形態では、仮想カメラの視線方向に応じて奥行きZ値の変換処理を行っている。即ち遠景画像のZ値に対して、仮想カメラの視線方向と遠景マップオブジェクトとの位置関係に応じた変換処理を行う。なお以下では説明を簡単にするために、X−Z平面上の1軸回転のみを考える。
例えば図10において、仮想カメラVCの視点位置をVPとして視線方向をEV、EV’とする。また仮想カメラVCの視線方向がEVである時の点PのX、Z座標をXP、ZPとする。この点Pは、遠景画像を構成する遠景オブジェクトの点(ピクセル)である。遠景画像のZプレーンには、仮想カメラVCがプリミティブ面PS2に正対し、視線方向がEVの方向である時のZ値が設定される。従って、仮想カメラVCの視線方向がEVからEV’に変化した時には、Z値の変換処理が必要になる。
例えば図10において視線方向EVとEV’のなす角度をθとする。すると、変換後の点PのZ値ZP’は下式のように表すことができる。
ZP’=ZP×COSθ+XP×SINθ
即ち上式では、仮想カメラVCの視線方向EVと遠景マップオブジェクトMOBとの位置関係に応じて、Z値の変換処理が行われる。具体的には、遠景マップオブジェクトMOBを構成するプリミティブ面PS2の向きに相当する方向EVと現在の仮想カメラVCの視線方向EV’とのなす角度θと、対象となる点P(ピクセル)のX座標、Y座標などに基づいて、点PのZ値をZPからZP’に変換する。そして変換により得られたZ値ZP’に基づいて、隠面消去処理を行う。このようにすれば、遠景画像に設定されたZ値を正しいZ値に変換することができ、前後関係が正しく判断された隠面消去処理を実現できる。
2.4 環境マッピング
本実施形態では図11に示すように、遠景マップオブジェクトMOBの遠景画像を、環境マッピング画像として、オブジェクト空間で移動する移動体MBに対して環境マッピングするようにしている。即ち図11において、仮想カメラVCは移動体MBに追従して移動しており、仮想カメラVCから見える画像には移動体MBの画像が映し出されている。この時、遠景マップオブジェクトMOBの内側には、仮想カメラVCにより周囲を見回した時の遠景画像がマッピングされている。
そこで本実施形態では、この遠景画像を、環境マッピング画像として移動体MBにマッピングしている。このようにすれば、仮想カメラVCにより周囲を見回した時の遠景画像が移動体MBにマッピングされるようになり、環境マッピングを実現できる。従って、遠景表示のために生成された遠景画像を有効活用して、環境マッピングを実現できるため、それほど処理負荷を増加させることなくリアルな画像を生成できる。
なお図11の環境マッピングは例えば以下の手法で実現できる。例えば図11において移動体MBの各点(頂点、ピクセル、面)には法線ベクトルNが設定される。この場合に、法線ベクトルNを座標変換マトリクスを用いて例えば視点座標系に座標変換する。そして座標変換後の法線ベクトルNの例えばX、Y座標に基づいて、環境マッピングのためのテクスチャ座標TX、TYを求める。そして求められたテクスチャ座標TX、TYに基づいて、遠景マップオブジェクトMOBの遠景画像(遠景テクスチャ)をサンプリングして、移動体MBにマッピングする。このようにすれば、仮想カメラVCの向く方向に応じたリアルな遠景画像が移動体MBに環境マッピングされるようになる。
なお仮想カメラVCの向く方向に依存せずに、移動体MBの法線ベクトルNでサンプリングされる遠景画像をそのまま移動体MBにマッピングするようにしてもよい。また図11ではキューブ環境マッピングの例を示しているが、本実施形態の環境マッピングはこのようなキューブ環境マッピングに限定されず、四面体環境マッピング等であってもよい。
2.5 遠景画像の圧縮
本実施形態ではオブジェクト空間の各位置に対応した遠景画像を用意する。従って、遠景画像の記憶に必要な使用記憶容量が大きくなってしまうという課題がある。
そこで本実施形態では、複数の遠景画像を圧縮画像として記憶し、この圧縮画像を伸長することにより得られた遠景画像を、遠景マップオブジェクトにマッピングする。
例えば、この種の画像生成システムは、オープニング画面やエンディング画面でのCGムービーの再生のために、ムービーテクスチャの再生機能を有している場合が多い。本実施形態では、このムービーテクスチャの再生機能を有効活用して、遠景画像の圧縮・伸長を行う。具体的には図12(A)に示すように、複数の遠景画像を圧縮ムービーテクスチャCTEX11、CTEX12、CTEX13、CTEX14・・・として記憶しておく。そしてこれらの圧縮ムービーテクスチャCTEX11、CTEX12、CTEX13、CTEX14・・・を伸長することにより得られた遠景画像IM11、IM12、IM13、IM14・・・を、遠景マップオブジェクトにマッピングする。
例えば図12(B)では、オブジェクト空間の各位置P11、P12、P13・・・に対して圧縮ムービーテクスチャCTEX11、CTEX12、CTEX13・・・が対応付けられている。従ってこれらの圧縮ムービーテクスチャCTEX11、CTEX12、CTEX13・・・を伸長することで得られる遠景画像IM11、IM12、IM13・・・もオブジェクト空間の各位置P11、P12、P13・・・に対応付けられるようになる。従って、画像生成システムのムービーテクスチャの再生機能を有効活用して遠景画像を圧縮・伸長できるようになり、新たな圧縮・伸長アルゴリズムを導入しなくても、遠景画像を効率的に圧縮・伸長できるようになる。
また本実施形態では、仮想カメラによる画像生成の際のオブジェクト空間での位置が互いに近い遠景画像ほど、そのフレーム番号が近い番号になるように圧縮された圧縮画像が記憶されている。例えば図2に示すように、位置P11とP12は近い位置にあり、IM11とIM12は、仮想カメラによる画像生成の際のオブジェクト空間での位置が互いに近い遠景画像である。そしてこれらの遠景画像IM11とIM12は、そのフレーム番号が1と2というように近い番号になるように圧縮された圧縮画像(圧縮ムービーテクスチャ)CTEX11とCTEX12として記憶される。同様に、位置P13とP14は近い位置にあり、IM13とIM14は、仮想カメラによる画像生成の際のオブジェクト空間での位置が互いに近い遠景画像である。そしてこれらの画像IM13とIM14は、そのフレーム番号が3と4というように近い番号になるように圧縮された圧縮画像(圧縮ムービーテクスチャ)CTEX13とCTEX14として記憶される。
例えばオブジェクト空間の位置P11において仮想カメラから見える遠景画像IM11と、位置P12において見える遠景画像IM12は、位置P11とP12が近いため、似た画像になる。従って図12(C)に示すように、これらの遠景画像IM11、IM12のフレーム番号が近い番号になるように圧縮すれば、遠景画像IM11、IM12をあたかも動画のように圧縮できるようになり、圧縮効率を向上できる。即ち遠景画像IM11、IM12は似た画像であり、その差分成分(動きベクトル)が少ないため、圧縮効率が高くなり、圧縮画像のデータ量を小さくできる。この結果、メモリの使用記憶容量を節約でき、少ないリソースで高品質な画像を生成できる。
なお本実施形態では、圧縮画像を伸長することにより得られる複数の遠景画像の中から、仮想カメラの位置に対応する遠景画像をフレーム番号により特定し、特定された遠景画像を、前記遠景マップオブジェクトにマッピングしている。例えば図12(C)において、仮想カメラの位置がP11である場合には、複数の遠景画像IM11、IM12、IM13・・・の中から、仮想カメラの位置P11に対応する遠景画像IM11をフレーム番号=1により特定し、特定された遠景画像IM11を遠景マップオブジェクトにマッピングする。同様に仮想カメラの位置がP12である場合には、複数の遠景画像IM11、IM12、IM13・・・の中から、仮想カメラの位置P12に対応する遠景画像IM12をフレーム番号=2により特定し、特定された遠景画像IM12を遠景マップオブジェクトにマッピングする。このようにすれば、フレーム番号とオブジェクト空間の各位置を対応付けておくだけで、遠景画像を特定して遠景マップオブジェクトにマッピングできるようになる。
図13に圧縮ムービー情報のデータ構造の例を示す。圧縮ムービー情報は、ヘッダ・ブロック(圧縮ムービーテクスチャの制御情報)、フレームデータアドレス・ブロック(圧縮テクスチャの格納場所の指定情報)、フレームデータ・ブロック(圧縮テクスチャのデータ。MPEGのIピクチャのデータ)を有する。
ここで、ヘッダ・ブロックは、圧縮ムービー情報のデータサイズや、フレーム幅(テクスチャの幅方向のテクセル数)や、フレーム高さ(テクスチャの高さ方向のテクセル数)や、ムービーテクスチャのフレーム数などのデータを含む。
また、フレームデータアドレス・ブロックは、フレームデータ・ブロックでの各圧縮ムービーテクスチャCTEX11〜CTEXMN(フレーム1〜M×N)のアドレス(格納場所を指定するためのデータ。先頭アドレス)や、各CTEX11〜CTEXMNのデータサイズや、フレームデータ・ブロックでのエンドコードのアドレスを含む。
また、フレームデータ・ブロックは、CTEX11〜CTEXMN(フレーム1〜M×N)のデータ(画像データ)や、各フレームの区切りコードや、フレームデータ・ブロックのエンドコードを含む。
本実施形態では、圧縮ムービーテクスチャCTEX11〜CTEXMN(フレーム1〜M×N)のデータから、図13に示すようなデータ構造の圧縮ムービー情報を作成する。そして本実施形態では、このようなデータ構造の圧縮ムービー情報を利用して、フレーム番号により特定される遠景画像を遠景マップオブジェクトにマッピングしている。
例えばフレーム番号1の遠景画像をマッピングする場合には、圧縮ムービーテクスチャCTEX11のアドレスをフレームデータアドレス・ブロックから取得する。そしてそのアドレスにある圧縮ムービーテクスチャCTEX11のデータを伸長部124で伸長して、遠景画像IM11を得る。そして得られた遠景画像IM11を遠景マップオブジェクトにマッピングする。同様に、フレーム番号2の遠景画像をマッピングする場合には、圧縮ムービーテクスチャCTEX12のアドレスをフレームデータアドレス・ブロックから取得する。そして、そのアドレスにある圧縮ムービーテクスチャCTEX12のデータを伸長部124で伸長して、遠景画像IM12を得る。そして得られた遠景画像IM12を遠景マップオブジェクトにマッピングする。このようにすることで、圧縮ムービーテクスチャを利用した遠景画像のマッピングが可能になる。
なお、処理負荷の軽減やメモリの使用効率の向上のためには、図14のような手法を採用することが望ましい。即ち図14では、複数の遠景画像のうち、仮想カメラVCの周囲の所与の範囲AR1(格子点)に対応する遠景画像の圧縮画像だけが伸長される。即ちオブジェクト空間の全ての位置ではなく、範囲AR1内の位置に対応付けられた遠景画像の圧縮画像(圧縮ムービーテクスチャ)だけを伸長して、記憶部170の例えば主記憶部172に展開する。この範囲AR1は仮想カメラVCの周囲に設定され、仮想カメラVC(移動体)の移動と伴い移動する。
そして画像生成部120は、伸長により得られた範囲AR1に対応する遠景画像の中から、仮想カメラVCの位置に対応する遠景画像を、遠景マップオブジェクトにマッピングする。即ち主記憶部172に展開された、範囲AR1に対応する遠景画像の中から、仮想カメラVCの位置に対応する遠景画像を読み出し、読み出された遠景画像を遠景マップオブジェクトにマッピングする。
図14の手法によれば、オブジェクト空間の全ての位置に対応する遠景画像を伸長しなくても済むため、伸長部124の処理負荷を軽減できる。また範囲AR1に対応する遠景画像の圧縮画像だけが、主記憶部172に展開されるため、主記憶部172の使用記憶容量を節約でき、メモリの使用効率を向上できる。
なお図14に示すように範囲AR1は、例えば仮想カメラVCが追従する移動体(車等)が移動するコースCSを覆うように設定できる。また範囲AR1は、移動体の速度等の移動情報に応じて、その大きさを設定できる。
2.6 複数画面表示
本実施形態の画像生成部120は、各画像が複数の画面の各々に表示される複数の画像を生成できる。例えば図15では、第1の画面DS1用の第1の画像IM1と、第2の画面DS2用の第2の画像IM2が生成され、画面DS1、DS2に表示される。ここで画像IM1は、画面DS1用の第1の仮想カメラから見える視界画像である。画像IM2は、画面DS2用の第2の仮想カメラから見える視界画像である。これらの第1、第2の仮想カメラは視点位置や視線方向が異なっている。
即ち画像IM1には、第1のプレーヤが操作する第1の移動体MB1が表示され、画像IM2には、第2のプレーヤが操作する第2の移動体MB2が表示される。そして画像IM1は、第1のプレーヤの視点に対応する第1の仮想カメラにより映し出される画像であり、画像IM2は、第2のプレーヤの視点に対応する第2の仮想カメラにより映し出される画像である。図15のように画面を分割して表示することで、複数のプレーヤが対戦してゲームを楽しむことができるゲーム画像を表示できる。
なお、図15では画面DS1、DS2は、1つの表示部の画面を分割した画面になっているが、第1の表示部の画面を画面DS1とし、第2の表示部の画面を画面DS2としてもよい。
本実施形態では、図15に示すような画面DS1、DS2用の画像IM1、IM2を、遠景画像記憶部173に記憶される遠景画像を共用して生成している。具体的には、画面DS1用の仮想カメラ(移動体MB1)の位置がP11である場合には、位置P11に対応付けられた遠景画像IM11を用いて、画面DS1用の画像IM1が生成される。また画面DS2用の仮想カメラ(移動体MB2)の位置がP53である場合には、位置P53に対応付けられた遠景画像IM53を用いて、画面DS2用の画像IM2が生成される。
例えば本実施形態の手法を採用せずに、図15に示すような2画面表示を行おうとすると、画面DS1用のオブジェクトの描画処理と、画面DS2用のオブジェクトの描画処理が必要になるため、1画面表示の場合に比べて処理負荷が2倍程度になってしまう。このため、リアルタイムの画像生成が難しくなる。特に画面の分割数が更に増えると、この処理負荷の増加の問題は深刻になる。
この点、本実施形態によれば、遠景オブジェクトについては遠景画像に予め描画されている。従って、図15のように2画面表示を行った場合にも、1画面表示の場合に比べて処理負荷はそれほど増加しない。
また図15では、画面DS1用の画像IM1と画面DS2用の画像IM2とが、遠景画像記憶部173を共用して生成される。即ち画像IM1の生成に使用される遠景画像IM11と、画像IM2の生成に使用される遠景画像IM53は、同じ遠景画像記憶部173に記憶される遠景画像である。従って図15の手法によれば、メモリの使用記憶容量の増加を抑えながら、負荷の軽い処理で図15のような2画面表示を実現できるという利点がある。
2.7 遠景画像の合成
より正確な遠景画像を生成するためには、図2の位置P11、P12、P13・・・の密度(格子点密度)を高くすればよい。しかしながら、このように位置の密度を高くすると、その分だけ多くのデータ量の遠景画像を記憶しなければならなくなり、メモリの使用記憶容量が増えてしまう。
そこで本実施形態では、複数の遠景画像の合成により得られた遠景画像を遠景マップオブジェクトにマッピングする手法を採用している。
例えば図16では、遠景画像記憶部173に記憶される複数の遠景画像の中から、仮想カメラVCの位置に対応する遠景画像として、位置P11、P12(広義には第1〜第Nの位置)に対応付けられた遠景画像IM11、IM12(広義には第1〜第Nの遠景画像)を読み出す。そして読み出された遠景画像IM11、IM12を合成した画像を、遠景マップオブジェクトに対してマッピングする。
具体的には図16において、位置P11と仮想カメラVCの距離L1と、位置P12と仮想カメラVCとの距離L2を求める。そしてこれらの距離L1、L2に基づいて、遠景画像IM11、IM12の合成の際のα値を求める。
例えば遠景画像IM11のR、G、B成分をR11、G11、B11とし、遠景画像IM12のR、G、B成分をR12、G12、B12とする。また合成により得られた遠景画像IMAのR、G、B成分をRa、Ga、Baとする。すると例えば下式が成り立つ。
Ra=(1−α)×R11+α×R12
Ga=(1−α)×G11+α×G12
Ba=(1−α)×B11+α×B12
α=L1/(L1+L2)
このように、複数の遠景画像を合成した遠景画像を用いる手法によれば、位置P11、P12、P13・・・の密度をそれほど高くしなくても、より正確な遠景画像を生成できる。従って、データ量の増加を抑えながら高品質の遠景画像を生成して表示できる。
なお遠景画像の合成手法は種々の変形実施が可能である。例えば上式の補間処理の式では2つの位置の遠景画像を合成しているが、3つ以上の位置の遠景画像を合成してもよい。またR、G、Bなどの色のみならず、遠景画像のZ値についても、上式のような補間処理で求めてもよい。
2.8 詳細な処理例
次に本実施形態の詳細な処理例を図17のフローチャートを用いて説明する。
まず、仮想カメラの位置(視点位置)、視線方向を求める(ステップS1)。例えば、操作部160からの操作データやプログラムなどに基づいて、移動体の位置、方向を求め、この移動体に追従する仮想カメラの位置、視線方向を求める。或いは、仮想カメラの制御データ(制御プログラム)に基づいて仮想カメラの位置、視線方向を求める。
次に、求められた仮想カメラの位置により、対象となる遠景画像を特定する(ステップS2)。例えば図12(C)では、仮想カメラの位置によりフレーム番号を特定し、このフレーム番号により遠景画像を特定する。
次に図12(A)で説明したように、圧縮された遠景ムービーテクスチャを伸長する(ステップS3)。そして伸長により得られた遠景画像のテクスチャを、図4に示すような遠景キューブマップオブジェクトにマッピングする(ステップS4)。
次に、遠景キューブマップオブジェクトを仮想カメラの視線方向に応じて描画バッファに描画する(ステップS5)。この際に、図10で説明したようにZ値を視線方向に従って変換する。そして、図7(A)(B)で説明したように、近景オブジェクトを描画バッファに描画する(ステップS6)。次に、車などの移動体を描画バッファに描画する(ステップS7)。この際に、図11で説明したように、移動体に対して遠景キューブマップオブジェクトのテクスチャを環境マッピングする。
3.ハードウェア構成
図18に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ900は、DVD982(情報記憶媒体。CDでもよい。)に格納されたプログラム、通信インターフェース990を介してダウンロードされたプログラム、或いはROM950に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、マトリクス演算(ベクトル演算)を高速に実行する。例えばオブジェクトを移動させたり動作(モーション)させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
ジオメトリプロセッサ904は、メインプロセッサ900上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ906は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、MPEG方式等で圧縮された動画像を表示できる。
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を実行する。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970を利用して、描画データを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると描画プロセッサ910は、描画データやテクスチャに基づいて、Zバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ922に描画する。また描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエイリアシング、シェーディング処理なども行う。頂点シェーダやピクセルシェーダなどのプログラマブルシェーダが実装されている場合には、シェーダプログラムに従って、頂点データの作成・変更(更新)やピクセル(あるいはフラグメント)の描画色の決定を行う。1フレーム分の画像がフレームバッファ922に書き込まれるとその画像はディスプレイ912に表示される。
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などのゲーム音を生成し、スピーカ932を介して出力する。ゲームコントローラ942やメモリカード944からのデータはシリアルインターフェース940を介して入力される。
ROM950にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納される。なおROM950の代わりにハードディスクを利用してもよい。RAM960は各種プロセッサの作業領域となる。DMAコントローラ970は、プロセッサ、メモリ間でのDMA転送を制御する。DVDドライブ980(CDドライブでもよい。)は、プログラム、画像データ、或いは音データなどが格納されるDVD982(CDでもよい。)にアクセスする。通信インターフェース990はネットワーク(通信回線、高速シリアルバス)を介して外部との間でデータ転送を行う。
なお本実施形態の各部(各手段)の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。
また遠景画像のマッピング手法、遠景画像の圧縮・伸長手法、遠景画像の合成手法も本実施形態で説明したものに限定されず、これらと均等な手法も本発明の範囲に含まれる。
また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレイヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
本実施形態の画像生成システムの機能ブロック図の例。 本実施形態の手法の説明図。 遠景画像の例。 遠景マップオブジェクトの例。 図5(A)(B)は遠景マップオブジェクトの他の例。 図6(A)(B)は基準点や位置取得用ポリゴンを用いる手法の説明図。 図7(A)(B)は近景オブジェクトの描画手法の説明図。 図8(A)(B)は近景オブジェクトの描画手法の説明図。 図9(A)(B)は遠景画像のZ値を用いた隠面消去手法の説明図。 Z値の変換手法の説明図。 遠景画像を用いた環境マッピング手法の説明図。 図12(A)(B)(C)は遠景画像の圧縮・伸長手法の説明図。 圧縮ムービー情報のデータ構造の例。 所与の範囲に対応する遠景画像の圧縮画像だけを伸長する手法の説明図。 第1、第2の画面用の第1、第2の画像を、遠景画像記憶を共用して生成する手法の説明図。 複数の遠景画像を合成する手法の説明図。 本実施形態の処理の詳細例。 ハードウェア構成例。
符号の説明
100 処理部、108 ゲーム演算部、110 オブジェクト空間設定部、
112 移動体演算部、114 仮想カメラ制御部、120 画像生成部、
122 変換処理部、124 伸長部、130 音生成部、
160 操作部、170 記憶部、172 主記憶部、
173 遠景画像記憶記憶部、174 描画バッファ、176 モデルデータ記憶部、
180 情報記憶媒体、190 表示部、192 音出力部、
194 携帯型情報記憶装置、196 通信部

Claims (22)

  1. 画像生成のためのプログラムであって、
    オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を含む複数の遠景画像を記憶する遠景画像記憶部と、
    仮想カメラの制御を行う仮想カメラ制御部と、
    前記遠景画像記憶部に記憶される前記複数の遠景画像のうち、仮想カメラの位置により特定される遠景画像を、仮想カメラから所与の距離だけ離れた位置に配置されるプリミティブ面により構成される遠景マップオブジェクトに対してマッピングして、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
    コンピュータを機能させ、
    前記遠景マップオブジェクトは、複数のプリミティブ面により構成される遠景キューブマップオブジェクトであり、
    前記遠景画像記憶部は、
    前記遠景キューブマップオブジェクトに対してマッピングされる遠景画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される遠景画像を、前記遠景キューブマップオブジェクトに対してマッピングし
    前記遠景画像記憶部は、
    オブジェクト空間の各位置において仮想カメラから見えるべき前記各遠景画像として、前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て遠くにあるオブジェクトが、遠景オブジェクトとして描かれる遠景画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される前記複数の遠景画像の中から、仮想カメラが配置されるオブジェクト空間内の各位置に対応する遠景画像を、前記遠景マップオブジェクトに対してマッピングすることを特徴とするプログラム。
  2. 請求項1において、
    前記遠景画像記憶部は、
    オブジェクト空間の各位置において仮想カメラを上下左右前後に向けた時に見えるべき各画像を、前記遠景画像として記憶し、
    前記画像生成部は、
    前記遠景キューブマップオブジェクトを構成する複数のプリミティブ面の各プリミティブ面に対して、仮想カメラを上下左右前後に向けた時に見えるべき前記各画像をマッピングすることを特徴とするプログラム。
  3. 請求項1又は2において、
    前記画像生成部は、
    前記遠景画像に描かれる遠景オブジェクトよりも仮想カメラから見て近くに配置設定される近景オブジェクトの描画処理を行うことを特徴とするプログラム。
  4. 請求項3において、
    記画像生成部は、
    前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て近くにあるオブジェクトを、近景オブジェクトとして描画することを特徴とするプログラム。
  5. 請求項4において、
    前記画像生成部は、
    前記遠景マップオブジェクトのプリミティブ面の位置よりも所与の距離範囲だけ遠くにあるオブジェクトについても、近景オブジェクトとして描画することを特徴とするプログラム。
  6. 画像生成のためのプログラムであって、
    オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を含む複数の遠景画像を記憶する遠景画像記憶部と、
    仮想カメラの制御を行う仮想カメラ制御部と、
    前記遠景画像記憶部に記憶される前記複数の遠景画像のうち、仮想カメラの位置により特定される遠景画像を、仮想カメラから所与の距離だけ離れた位置に配置されるプリミティブ面により構成される遠景マップオブジェクトに対してマッピングして、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
    コンピュータを機能させ、
    前記遠景画像記憶部は、
    遠景オブジェクトが配置されるオブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を生成する処理の際に、Zバッファ法の隠面消去処理により生成されたZ値を記憶し、
    前記画像生成部は、
    オブジェクトの描画の際に、オブジェクトのZ値のみならず、遠景画像の前記Z値を用いて、隠面消去処理を行うと共に、
    前記遠景画像記憶部は、
    オブジェクト空間の各位置において仮想カメラから見えるべき前記各遠景画像として、前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て遠くにあるオブジェクトが、遠景オブジェクトとして描かれる遠景画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される前記複数の遠景画像の中から、仮想カメラが配置されるオブジェクト空間内の各位置に対応する遠景画像を、前記遠景マップオブジェクトに対してマッピングすることを特徴とするプログラム。
  7. 請求項6において、
    仮想カメラの視線方向と前記遠景マップオブジェクトとの位置関係に応じて、前記Z値の変換処理を行う変換処理部として、
    コンピュータを機能させることを特徴とするプログラム。
  8. 請求項6又は7において、
    前記遠景マップオブジェクトは、遠景キューブマップオブジェクトであり、
    前記遠景画像記憶部は、
    前記遠景キューブマップオブジェクトに対してマッピングされる遠景画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される遠景画像を、前記遠景キューブマップオブジェクトに対してマッピングすることを特徴とするプログラム。
  9. 請求項1乃至8のいずれかにおいて、
    前記画像生成部は、
    前記遠景マップオブジェクトの遠景画像を、環境マッピング画像として、オブジェクト空間で移動する移動体に対して環境マッピングすることを特徴とするプログラム。
  10. 請求項1乃至9のいずれかにおいて、
    前記遠景画像記憶部は、
    前記複数の遠景画像を圧縮画像として記憶し、
    前記画像生成部は、
    前記圧縮画像を伸長することにより得られた遠景画像を、前記遠景マップオブジェクトにマッピングすることを特徴とするプログラム。
  11. 請求項10において、
    前記遠景画像記憶部は、
    複数の遠景画像を圧縮ムービーテクスチャとして記憶し、
    前記画像生成部は、
    前記圧縮ムービーテクスチャを伸長することにより得られた遠景画像を、前記遠景マップオブジェクトにマッピングすることを特徴とするプログラム。
  12. 請求項10又は11において、
    前記遠景画像記憶部は、
    仮想カメラによる画像生成の際のオブジェクト空間での位置が互いに近い遠景画像ほど、そのフレーム番号が近い番号になるように圧縮された圧縮画像を記憶することを特徴とするプログラム。
  13. 請求項12において、
    前記画像生成部は、
    前記圧縮画像を伸長することにより得られる複数の遠景画像の中から、仮想カメラの位置に対応する遠景画像を前記フレーム番号により特定し、特定された遠景画像を、前記遠景マップオブジェクトにマッピングすることを特徴とするプログラム。
  14. 請求項10乃至13のいずれかにおいて、
    前記複数の遠景画像のうち、仮想カメラの周囲の所与の範囲に対応する遠景画像の圧縮画像だけが伸長され、
    前記画像生成部は、
    伸長により得られた前記所与の範囲に対応する遠景画像の中から、仮想カメラの位置に対応する遠景画像を、前記遠景マップオブジェクトにマッピングすることを特徴とするプログラム。
  15. 画像生成のためのプログラムであって、
    オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を含む複数の遠景画像を記憶する遠景画像記憶部と、
    仮想カメラの制御を行う仮想カメラ制御部と、
    前記遠景画像記憶部に記憶される前記複数の遠景画像のうち、仮想カメラの位置により特定される遠景画像を、仮想カメラから所与の距離だけ離れた位置に配置されるプリミティブ面により構成される遠景マップオブジェクトに対してマッピングして、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部として、
    コンピュータを機能させ、
    前記遠景画像記憶部は、
    前記複数の遠景画像を圧縮画像として記憶し、
    前記画像生成部は、
    前記圧縮画像を伸長することにより得られた遠景画像を、前記遠景マップオブジェクトにマッピングし、
    前記複数の遠景画像のうち、仮想カメラの周囲の所与の範囲に対応する遠景画像の圧縮画像だけが伸長され、
    前記画像生成部は、
    伸長により得られた前記所与の範囲に対応する遠景画像の中から、仮想カメラの位置に対応する遠景画像を、前記遠景マップオブジェクトにマッピングすると共に、
    前記遠景画像記憶部は、
    オブジェクト空間の各位置において仮想カメラから見えるべき前記各遠景画像の圧縮画像として、前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て遠くにあるオブジェクトが、遠景オブジェクトとして描かれる遠景画像の圧縮画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される前記複数の遠景画像の中から、仮想カメラが配置されるオブジェクト空間内の各位置に対応する遠景画像を、前記遠景マップオブジェクトに対してマッピングすることを特徴とするプログラム。
  16. 請求項1乃至15のいずれかにおいて、
    各画像が複数の画面の各々に表示される複数の画像を生成する場合に、第1の仮想カメラから見える第1の画面用の第1の画像と、第2の仮想カメラから見える第2の画面用の第2の画像を、遠景画像記憶部に記憶される遠景画像を共用して生成することを特徴とするプログラム。
  17. 請求項1乃至16のいずれかにおいて、
    前記画像生成部は、
    前記複数の遠景画像の中から、仮想カメラの位置に対応する遠景画像として、第1〜第N(Nは2以上の整数)の位置に対応付けられた第1〜第Nの遠景画像を読み出し、読み出された第1〜第Nの遠景画像を合成した画像を、前記遠景マップオブジェクトに対してマッピングすることを特徴とするプログラム。
  18. 請求項1乃至17のいずれかにおいて、
    前記遠景画像記憶部は、
    遠景オブジェクトが配置されるオブジェクト空間の各位置に配置された仮想カメラにより仮想カメラの周囲を見渡したときに見えるべき各遠景画像を、オブジェクト空間の各位置に対応付けて記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される前記複数の遠景画像のうち、仮想カメラの位置に対応付けられた遠景画像を前記遠景マップオブジェクトに対してマッピングして、オブジェクト空間において仮想カメラから見える画像を生成することを特徴とするプログラム。
  19. コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至18のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
  20. 画像を生成する画像生成システムであって、
    オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を含む複数の遠景画像を記憶する遠景画像記憶部と、
    仮想カメラの制御を行う仮想カメラ制御部と、
    前記遠景画像記憶部に記憶される前記複数の遠景画像のうち、仮想カメラの位置により特定される遠景画像を、仮想カメラから所与の距離だけ離れた位置に配置されるプリミティブ面により構成される遠景マップオブジェクトに対してマッピングして、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部と、
    を含み、
    前記遠景マップオブジェクトは、複数のプリミティブ面により構成される遠景キューブマップオブジェクトであり、
    前記遠景画像記憶部は、
    前記遠景キューブマップオブジェクトに対してマッピングされる遠景画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される遠景画像を、前記遠景キューブマップオブジェクトに対してマッピングすると共に、
    前記遠景画像記憶部は、
    オブジェクト空間の各位置において仮想カメラから見えるべき前記各遠景画像として、前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て遠くにあるオブジェクトが、遠景オブジェクトとして描かれる遠景画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される前記複数の遠景画像の中から、仮想カメラが配置されるオブジェクト空間内の各位置に対応する遠景画像を、前記遠景マップオブジェクトに対してマッピングすることを特徴とする画像生成システム。
  21. 画像を生成する画像生成システムであって、
    オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を含む複数の遠景画像を記憶する遠景画像記憶部と、
    仮想カメラの制御を行う仮想カメラ制御部と、
    前記遠景画像記憶部に記憶される前記複数の遠景画像のうち、仮想カメラの位置により特定される遠景画像を、仮想カメラから所与の距離だけ離れた位置に配置されるプリミティブ面により構成される遠景マップオブジェクトに対してマッピングして、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部と、
    を含み、
    前記遠景画像記憶部は、
    遠景オブジェクトが配置されるオブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を生成する処理の際に、Zバッファ法の隠面消去処理により生成されたZ値を記憶し、
    前記画像生成部は、
    オブジェクトの描画の際に、オブジェクトのZ値のみならず、遠景画像の前記Z値を用いて、隠面消去処理を行うと共に、
    前記遠景画像記憶部は、
    オブジェクト空間の各位置において仮想カメラから見えるべき前記各遠景画像として、前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て遠くにあるオブジェクトが、遠景オブジェクトとして描かれる遠景画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される前記複数の遠景画像の中から、仮想カメラが配置されるオブジェクト空間内の各位置に対応する遠景画像を、前記遠景マップオブジェクトに対してマッピングすることを特徴とする画像生成システム。
  22. 画像を生成する画像生成システムであって、
    オブジェクト空間の各位置において仮想カメラから見えるべき各遠景画像を含む複数の遠景画像を記憶する遠景画像記憶部と、
    仮想カメラの制御を行う仮想カメラ制御部と、
    前記遠景画像記憶部に記憶される前記複数の遠景画像のうち、仮想カメラの位置により特定される遠景画像を、仮想カメラから所与の距離だけ離れた位置に配置されるプリミティブ面により構成される遠景マップオブジェクトに対してマッピングして、オブジェクト空間において仮想カメラから見える画像を生成する画像生成部と、
    を含み、
    前記遠景画像記憶部は、
    前記複数の遠景画像を圧縮画像として記憶し、
    前記画像生成部は、
    前記圧縮画像を伸長することにより得られた遠景画像を、前記遠景マップオブジェクトにマッピングし、
    前記複数の遠景画像のうち、仮想カメラの周囲の所与の範囲に対応する遠景画像の圧縮画像だけが伸長され、
    前記画像生成部は、
    伸長により得られた前記所与の範囲に対応する遠景画像の中から、仮想カメラの位置に対応する遠景画像を、前記遠景マップオブジェクトにマッピングすると共に、
    前記遠景画像記憶部は、
    オブジェクト空間の各位置において仮想カメラから見えるべき前記各遠景画像の圧縮画像として、前記遠景マップオブジェクトのプリミティブ面の位置よりも仮想カメラから見て遠くにあるオブジェクトが、遠景オブジェクトとして描かれる遠景画像の圧縮画像を記憶し、
    前記画像生成部は、
    前記遠景画像記憶部に記憶される前記複数の遠景画像の中から、仮想カメラが配置されるオブジェクト空間内の各位置に対応する遠景画像を、前記遠景マップオブジェクトに対してマッピングすることを特徴とする画像生成システム。
JP2006066194A 2006-03-10 2006-03-10 プログラム、情報記憶媒体及び画像生成システム Active JP4806578B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006066194A JP4806578B2 (ja) 2006-03-10 2006-03-10 プログラム、情報記憶媒体及び画像生成システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006066194A JP4806578B2 (ja) 2006-03-10 2006-03-10 プログラム、情報記憶媒体及び画像生成システム

Publications (2)

Publication Number Publication Date
JP2007241868A JP2007241868A (ja) 2007-09-20
JP4806578B2 true JP4806578B2 (ja) 2011-11-02

Family

ID=38587316

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006066194A Active JP4806578B2 (ja) 2006-03-10 2006-03-10 プログラム、情報記憶媒体及び画像生成システム

Country Status (1)

Country Link
JP (1) JP4806578B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5087453B2 (ja) * 2008-03-31 2012-12-05 株式会社カプコン プログラム、記憶媒体およびコンピュータ装置
JP2012103746A (ja) * 2010-11-05 2012-05-31 Avix Inc 見る人の関心を惹きつける表示制御の方法、デジタルサイネージシステム、コンピュータープログラム
JP6482283B2 (ja) * 2015-01-13 2019-03-13 三菱プレシジョン株式会社 三次元映像生成装置およびキューブマップ生成方法
JP7040080B2 (ja) * 2018-02-07 2022-03-23 凸版印刷株式会社 仮想空間画像提示システム、仮想空間画像提示方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08194833A (ja) * 1995-01-17 1996-07-30 Sega Enterp Ltd 画像処理装置および画像処理方法
JP4165722B2 (ja) * 1998-02-26 2008-10-15 株式会社バンダイナムコゲームス 画像生成装置及び情報記憶媒体
JPH11259672A (ja) * 1998-03-13 1999-09-24 Mitsubishi Electric Corp 3次元仮想空間表示装置
JP2000076488A (ja) * 1998-08-26 2000-03-14 Mitsubishi Electric Corp 3次元仮想空間表示装置及びテクスチャオブジェクト設定情報作成装置
JP2001184523A (ja) * 1999-12-27 2001-07-06 Namco Ltd 画像生成システム及び情報記憶媒体
JP3449993B2 (ja) * 2001-03-21 2003-09-22 株式会社ナムコ 画像生成システム、プログラム及び情報記憶媒体

Also Published As

Publication number Publication date
JP2007241868A (ja) 2007-09-20

Similar Documents

Publication Publication Date Title
JP4982862B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2006318389A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4804120B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4806578B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4651527B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2007141082A (ja) プログラム、テクスチャデータ構造、情報記憶媒体及び画像生成システム
JP4749198B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP2002279447A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4073031B2 (ja) プログラム、情報記憶媒体及び画像生成システム
US20100177098A1 (en) Image generation system, image generation method, and computer program product
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP2006252426A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4861862B2 (ja) プログラム、情報記憶媒体、及び、画像生成システム
JP4913399B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4528008B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2002222431A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2009064355A (ja) プログラム、情報記憶媒体及び画像生成システム
JP4754385B2 (ja) プログラム、情報記録媒体および画像生成システム
JP2004038639A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4476040B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2008077406A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4535855B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4521811B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2006277489A (ja) プログラム、情報記憶媒体及び画像生成システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110815

R150 Certificate of patent or registration of utility model

Ref document number: 4806578

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250