JP4443084B2 - Image generation system and information storage medium - Google Patents

Image generation system and information storage medium Download PDF

Info

Publication number
JP4443084B2
JP4443084B2 JP2001323983A JP2001323983A JP4443084B2 JP 4443084 B2 JP4443084 B2 JP 4443084B2 JP 2001323983 A JP2001323983 A JP 2001323983A JP 2001323983 A JP2001323983 A JP 2001323983A JP 4443084 B2 JP4443084 B2 JP 4443084B2
Authority
JP
Japan
Prior art keywords
texture
environment
environmental
mapping
mapped
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.)
Expired - Lifetime
Application number
JP2001323983A
Other languages
Japanese (ja)
Other versions
JP2002183752A (en
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 JP2001323983A priority Critical patent/JP4443084B2/en
Publication of JP2002183752A publication Critical patent/JP2002183752A/en
Application granted granted Critical
Publication of JP4443084B2 publication Critical patent/JP4443084B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、レーシングカー(オブジェクト)を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作するレーシングカーと競争することで3次元ゲームを楽しむ。
【0003】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。そして、このような課題を解決する1つの手法として、環境マッピングと呼ばれるものが知られている。
【0004】
このような環境マッピングを実現する手法としては例えば以下の第1、第2手法が考えられる。
【0005】
第1の手法では、オブジェクトから見える環境の画像を仮想球にリアルタイムに描画し、次に、反射ベクトルの方向にある仮想球の画像をオブジェクトにマッピングすることで環境マッピングを実現する。
【0006】
しかしながら、この第1の手法は、非常にリアルな画像を生成できるという利点を有する反面、処理負荷が非常に重くなるという不利点を有する。
【0007】
また第2の手法では、オブジェクトから仮想カメラの方を見た時の環境を擬似的に表す環境テクスチャを予め用意しておき、この擬似的な環境テクスチャを仮想カメラの方向(仮想カメラからオブジェクトの方へと向かう方向)から単にマッピングする。
【0008】
しかしながら、この第2の手法は、第1の手法よりも処理負荷が軽くなるとい利点を有する反面、オブジェクトに映り込んだ環境が流れて行く様子の表現を実現できず、得られる画像が単調になってしまうという不利点を有する。
【0009】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負担でリアルな環境マッピングを実現できる画像生成システム及び情報記憶媒体を提供することにある。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、テクスチャパターンが定義されるテクスチャ空間において環境マッピングの原像領域を移動又は回転させながら、環境テクスチャをオブジェクトにマッピングする手段と、オブジェクト空間において仮想カメラから見える画像を描画する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0011】
本発明によれば、原像領域が移動又は回転しながら環境テクスチャがオブジェクトにマッピングされる。これにより、オブジェクトに映り込んだ環境が流れて行く様子の表現(環境の流れ表現)を実現できる。従って、仮想カメラの方向から環境テクスチャを単にマッピングする手法では得ることができないリアルな環境マッピングを、テクスチャ空間で原像領域を移動又は回転させるだけという少ない処理負担で実現できるようになる。
【0012】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクトが移動するコースに設定されたコース情報に基づいて、環境マッピングの原像領域を移動又は回転させることを特徴とする。このようにすれば、他の用途に使用されるコース情報を有効利用して、原像領域を移動又は回転させることができるようになる。
【0013】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記コース情報がコースの道のり距離情報を含み、前記道のり距離情報に基づいて、環境マッピングの原像領域を第1の方向に沿って移動させることを特徴とする。このようにすれば、例えば、コース上でオブジェクトが速く移動すれば、テクスチャ空間において原像領域が速く移動するようになり、オブジェクトへの映り込み画像も速く流れるようになる。従って、コース上で移動するオブジェクトに最適な環境マッピングを実現できる。
【0014】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記コース情報がコース幅情報を含み、前記コース幅情報に基づいて、環境マッピングの原像領域を前記第1の方向とは異なる第2の方向に沿って移動させることを特徴とする。このようにすれば、オブジェクトがコース上でコース幅方向に移動すると、それに応じて、オブジェクトへの映り込み画像も変化するようになる。従って、あたかも、コースに沿って配置された表示物がオブジェクトに映り込み、その映り込み画像が、コース幅方向でのオブジェクトの移動に伴い変化しているかのように見せることができる。
【0015】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクトが移動するコースに設定されたコース情報がコース方向情報を含み、前記コース方向情報に基づいて、オブジェクトにマッピングされる環境テクスチャ自体を回転させることを特徴とする。このようにすれば、例えば、オブジェクトがコースのコーナーを移動した場合に、そのコーナーのカーブに沿って環境テクスチャも回転するようになる。これにより、リアルで矛盾の無い画像表現を実現できる。
【0016】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ワールド座標系でのオブジェクトの位置情報又は回転角度情報に基づいて、環境マッピングの原像領域を移動又は回転させることを特徴とする。このようにすれば、オブジェクトの位置情報や回転角度(方向)情報に応じた適切な環境テクスチャをオブジェクトにマッピングできるようになる。
【0017】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、テクスチャ空間の環境テクスチャに変形処理が施され、変形処理後の環境テクスチャがオブジェクトにマッピングされることを特徴とする。このようにすれば、種々の画像効果を有する環境テクスチャをオブジェクトにマッピングできるようになる。
【0018】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、テクスチャ空間の環境テクスチャが極座標変換され、極座標変換後の環境テクスチャがオブジェクトにマッピングされることを特徴とする。このようにすれば、環境テクスチャの流れる速度や、流れる方向にパース効果を与えることができるようになる。
【0019】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、テクスチャ空間の環境テクスチャを仮想オブジェクトにマッピングすることで得られる画像が、変形処理後の環境テクスチャとしてテクスチャ空間に描画され、テクスチャ空間に描画された変形処理後の環境テクスチャがオブジェクトにマッピングされることを特徴とする。本発明によれば、まず、テクスチャ空間の環境テクスチャが2次元又は3次元の仮想オブジェクトにマッピングされる。そして、このマッピングにより得られる画像が、テクスチャ空間に描画され、変形処理後の環境テクスチャとして使用され、オブジェクトにマッピングされる。このようにすることで、環境テクスチャの変形処理を少ない処理負担で実現でき、様々な画像効果を奏する環境テクスチャをリアルタイムに生成できるようになる。
【0020】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、環境マッピングの原像領域が矩形であり、前記仮想オブジェクトが、複数のポリゴンで構成されると共に該複数のポリゴンの頂点が集まった極を有する場合に、前記矩形の隣り合う2つの頂点が前記極に配置されるように、テクスチャ空間の環境テクスチャが仮想オブジェクトにマッピングされることを特徴とする。このようにすれば、極座標変換による環境テクスチャの変形処理を、簡易な処理で実現できるようになる。
【0021】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、テクスチャ空間において原像領域が固定される環境テクスチャと、テクスチャ空間において原像領域が移動又は回転する環境テクスチャとが、オブジェクトにマッピングされることを特徴とする。このようにすれば、流れない環境テクスチャと流れる環境テクスチャとが合成された環境テクスチャを作り出すことができるようになる。なお、原像領域が固定される環境テクスチャとしては遠景の環境テクスチャが望ましく、原像領域が移動又は回転する環境テクスチャとしては近景の環境テクスチャが望ましい。
【0022】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記環境テクスチャが、オブジェクトから見て上方向に見えるべき環境を表すテクスチャであり、該環境テクスチャが、仮想カメラの位置又は回転角度に依らずにオブジェクトの上方向からオブジェクトにマッピングされることを特徴とする。このようにすれば、仮想カメラの位置や回転角度の変化の影響が、環境マッピングに及ぶのを防止できる。このため、仮想カメラの注視場所に常に光源が映り込むなどの不具合の発生を防止でき、光源の映り込みについても正確に表現できる環境マッピングを実現できる。
【0023】
また本発明は、画像を生成するための画像生成システムであって、第1のテクスチャを仮想オブジェクトにマッピングし、第1のテクスチャを変形する手段と、前記第1のテクスチャを仮想オブジェクトにマッピングすることで得られる画像を、第2のテクスチャとしてテクスチャ空間に描画する手段と、テクスチャ空間に描画された前記第2のテクスチャをオブジェクトにマッピングする手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0024】
本発明によれば、まず、テクスチャ空間のテクスチャが2次元又は3次元の仮想オブジェクトにマッピングされる。そして、このマッピングにより得られる画像が、テクスチャ空間に描画され、変形処理後のテクスチャとして使用され、オブジェクトにマッピングされる。このようにすることで、テクスチャの変形処理を少ない処理負担で実現でき、様々な画像効果を奏するテクスチャをリアルタイムに生成できるようになる。
【0025】
また本発明は、画像を生成するための画像生成システムであって、環境テクスチャをオブジェクトにマッピングする手段と、オブジェクトにマッピングされる環境テクスチャを切り替える手段と、オブジェクトにマッピングされる環境テクスチャが第1の環境テクスチャから第2の環境テクスチャに切り替わる場合に、第1の環境テクスチャのフェイドアウト処理を行うと共に第2の環境テクスチャのフェイドイン処理を行う手段と、オブジェクト空間において仮想カメラから見える画像を描画する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0026】
本発明によれば、環境テクスチャが切り替わる場合に、第1の環境テクスチャのフェイドアウト処理が行われ、第1の環境テクスチャによるオブジェクトへの画像の映り込みが、徐々に消えるようになる。また、第2の環境テクスチャのフェイドイン処理が行われ、第2の環境テクスチャによるオブジェクトへの画像の映り込みが、徐々に表示されるようになる。これにより、環境テクスチャの切り替わりが目立たなくなり、より自然でリアルな画像表現を実現できる。
【0027】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクト空間に設けられた閉鎖空間へのオブジェクトの進入イベントの際に、第1の環境テクスチャのフェイドアウト処理を行うことを特徴とする。このような閉鎖空間へのオブジェクトの進入イベントの際には、第1の環境テクスチャのフェイドアウト処理が行われ周囲の環境がオブジェクトに映り込まなくなっても、プレーヤは不自然さを感じない。従って本発明によれば、環境テクスチャが切り替わる様子を、更に目立たなくすることが可能になる。
【0028】
また本発明は、画像を生成するための画像生成システムであって、環境テクスチャをオブジェクトにマッピングする手段と、オブジェクトにマッピングされる環境テクスチャを切り替える手段と、環境テクスチャを第1の環境テクスチャから第2の環境テクスチャに切り替えるための繋ぎエリアに、環境テクスチャの切り替え用のマップオブジェクトを配置する手段と、オブジェクト空間において仮想カメラから見える画像を描画する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0029】
本発明によれば、環境テクスチャを切り替えるための繋ぎエリアに、環境テクスチャの切り替え用のマップオブジェクト(望ましくは閉鎖空間を形成するマップオブジェクト)が配置される。従って、この繋ぎエリアに配置された切り替え用マップオブジェクトを利用して、環境テクスチャの切り替え処理、フェイドアウト処理、フェイドイン処理などを行えるようになり、環境テクスチャが切り替わる様子を目立たなくすることができる。
【0030】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、オブジェクトが前記繋ぎエリアに位置する場合に、オブジェクトへの環境マッピングが省略されることを特徴とする。このようにオブジェクトが繋ぎエリアに位置する場合にオブジェクトへの環境マッピングを省略して、意図的に暗い環境を創出することで、環境テクスチャが切り替わる様子を更に目立たなくすることができる。
【0031】
また本発明は、画像を生成するための画像生成システムであって、環境テクスチャをオブジェクトにマッピングする手段と、オブジェクトが移動するコースに設定されるコース情報が含む環境テクスチャ特定情報に基づいて、オブジェクトにマッピングされる環境テクスチャを切り替える手段と、オブジェクト空間において仮想カメラから見える画像を描画する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0032】
本発明では、コース情報が含む環境テクスチャ特定情報に基づいて、オブジェクトにマッピングされる環境テクスチャが切り替わる。従って、順位決定などに使用されるコース情報を有効利用して、環境テクスチャの切り替えを簡易な処理で実現できるようになる。
【0033】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を、レーシングゲームに適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【0034】
1.構成
図1に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については、任意の構成要素とすることができる。
【0035】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、又は音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0036】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【0037】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0038】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行するための情報(プログラム或いはデータ)が格納される。
【0039】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0040】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0041】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0042】
携帯型情報記憶装置194は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0043】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0044】
なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0045】
処理部100は、ゲーム処理部110、画像生成部130、音生成部150を含む。
【0046】
ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ面)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部160からの操作データや、携帯型情報記憶装置194からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【0047】
画像生成部130は、ゲーム処理部110からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ(視点)から見える画像を生成して、表示部190に出力する。
【0048】
音生成部150は、ゲーム処理部110からの指示等にしたがって各種の音処理を行い、BGM、効果音、又は音声などの音を生成し、音出力部192に出力する。
【0049】
なお、ゲーム処理部110、画像生成部130、音生成部150の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0050】
ゲーム処理部110は移動・動作演算部112、マップオブジェクト配置部114を含む。
【0051】
ここで移動・動作演算部112は、車などのオブジェクトの移動情報(位置データ、回転角度データ)や動作情報(オブジェクトの各パーツの位置データ、回転角度データ)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【0052】
より具体的には、移動・動作演算部112は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでのオブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでのオブジェクトの位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
【0053】
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
マップオブジェクト配置部114は、コース、コース脇の建物や木、トンネルなどのマップオブジェクトをオブジェクト空間に配置するための処理を行う。より具体的には本実施形態では、オブジェクトにマッピングされる環境テクスチャを切り替えるための繋ぎエリアが設けられる。そして、マップオブジェクト配置部114は、この繋ぎエリアに、環境テクスチャの切り替え用のマップオブジェクトを配置する処理(マップオブジェクトのオブジェクトデータを作成する処理)を行う。このようにすることで、環境テクスチャの切り替えが自然に行われるようになり、環境テクスチャが切り替わったことがプレーヤに気づかれる事態を防止できる。なお、マップオブジェクトの情報(形状情報、テクスチャ情報、色情報等)は、記憶部170の中のマップオブジェクト情報記憶部179に記憶される。
【0054】
画像生成部130は、ジオメトリ処理部132(3次元演算部)、描画部140(レンダリング部)を含む。
【0055】
ここで、ジオメトリ処理部132は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元演算)を行う。そして、本実施形態では、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標、頂点テクスチャ座標、或いは輝度データ等)は、記憶部170のメインメモリ172に格納されて、保存される。
【0056】
ジオメトリ処理部132が含む法線ベクトル処理部134は、オブジェクトの各頂点の法線ベクトル(広義にはオブジェクトの面の法線ベクトル)を、ローカル座標系からワールド座標系への回転マトリクスで回転させる処理を行う。そして、本実施形態では、この回転後の法線ベクトルに基づいて、環境テクスチャのテクスチャ座標を求めている。
【0057】
描画部140は、ジオメトリ処理後(透視変換後)のオブジェクトデータと、テクスチャ記憶部176に記憶されるテクスチャとに基づいて、オブジェクトをフレームバッファ174に描画する。これにより、オブジェクトが移動するオブジェクト空間において、仮想カメラ(視点)から見える画像が描画(生成)されるようになる。
【0058】
描画部140は、テクスチャマッピング部142を含む。
【0059】
ここで、テクスチャマッピング部142は、テクスチャ記憶部176に記憶されるテクスチャをオブジェクトにマッピングするための処理(オブジェクトにマッピングするテクスチャを指定する処理、テクスチャを転送する処理等)を行うものであり、原像領域移動・回転部144、環境テクスチャ変形部146、環境テクスチャ切り替え部148、フェイド処理部149を含む。
【0060】
原像領域移動・回転部144は、テクスチャ空間(テクスチャ記憶部)において環境マッピングの原像領域を移動又は回転させる処理を行う。より具体的には、例えば、オブジェクトにマッピングされるテクスチャを指定するためのテクスチャ座標(U、V座標)を、原像領域が移動又は回転するように変化させる。この場合、原像領域移動・回転部144は、コース情報記憶部178に記憶されるコース情報(広義には、ワールド座標系でのオブジェクトの位置情報又は回転角度情報)に基づいて、環境マッピングの原像領域を移動又は回転させる。このようにすることで、オブジェクトに映り込んでいる環境が流れて見えるようになり、これまでにないリアルな画像表現が可能になる。
【0061】
なお本実施形態では、オブジェクトから見て上方向に見えるべき環境テクスチャ(魚眼レンズを通して見えるようなテクスチャ)が、オブジェクトの上方向からオブジェクトに対してマッピングされる。このようにすることで、仮想カメラの位置や回転角度(方向)が変化した場合にも、光源の映り込みなどが正確に表現された環境マッピングを実現できる。
【0062】
また本実施形態では、例えば、遠景を表す環境テクスチャについては、その原像領域が固定され、近景を表す環境テクスチャについては、その原像領域が移動又は回転される。そして、これらの遠景、近景を表すテクスチャが合成されて、オブジェクトにマッピングされる。このようにすることで、より多様な画像表現が可能になる。
【0063】
環境テクスチャ変形部146は、テクスチャ空間の環境テクスチャに変形処理を施すものである。より具体的には、環境テクスチャ変形部146は、例えば、テクスチャ空間の環境テクスチャを仮想オブジェクトにマッピングすることで環境テクスチャを変形し、このマッピングにより得られる画像をテクスチャ空間に描画する。そして、このテクスチャ空間に描画された変形処理後の環境テクスチャが、オブジェクトにマッピングされるようになる。このようにすることで、極座標変換などの変形処理を環境テクスチャに施すことが可能になり、よりリアルな環境マッピングを実現できる。
【0064】
環境テクスチャ切り替え部148は、オブジェクトにマッピングされる環境テクスチャを切り替えるための処理を行う。より具体的には、コース情報が含む環境テクスチャ特定情報などに基づいて、オブジェクトにマッピングされる環境テクスチャを切り替える。このようにすることで、ゲーム状況、コース状況などに応じた最適な環境テクスチャをオブジェクトにマッピングできるようになり、より多様でリアルな画像表現を実現できる。
【0065】
フェイド処理部149は、環境テクスチャを切り替える際に、オブジェクトにマッピングされる環境テクスチャのフェイドアウト処理(徐々に消す処理)やフェイドイン処理(徐々に表示する処理)を行う。より具体的には、オブジェクトにマッピングされる環境テクスチャが例えば第1の環境テクスチャから第2の環境テクスチャに切り替わる場合に、まず、第1の環境テクスチャのフェイドアウト処理を行う。そして、次に、第2の環境テクスチャのフェイドイン処理を行う。
【0066】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0067】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0068】
2.本実施形態の特徴
(1)原像領域の移動、回転
さて、本実施形態では図2に示すように、環境テクスチャなどのテクスチャパターンが定義されるテクスチャ空間(U、V)において、環境マッピングの原像領域IM(マッピングされる画像が定義される領域)を移動又は回転(スクロール)しながら、車などのオブジェクト10に対して環境テクスチャ(原像領域にある画像)をマッピングするようにしている。これにより、オブジェクト10(車)に映り込んだ環境が流れて行く様子の表現(環境の流れ表現)が可能になる。即ち、オブジェクト10とその周りの環境(木、建物)との相対的位置関係の変化に起因して、オブジェクト10に映り込んだ環境が流れているかのように見せることができ、リアルで多様な環境マッピングを少ない処理負担で実現できる。
【0069】
例えば環境マッピングを実現する第1の手法として、オブジェクトから見える環境の画像を仮想球にリアルタイムに描画し、次に、反射ベクトルの方向にある仮想球の画像をオブジェクトにマッピングする手法を考えることができる。
【0070】
しかしながら、この第1の手法では、環境の流れ表現は可能になるが、オブジェクトから見える画像を仮想球にリアルタイムに描画する処理が必要になるため、処理負荷が非常に重くなってしまう。
【0071】
また環境マッピングを実現する第2の手法として、オブジェクトから仮想カメラの方を見た時の環境を擬似的に表す環境テクスチャを予め用意しておき、この擬似的な環境テクスチャを仮想カメラの方向から単にマッピングする手法が考えられる。
【0072】
しかしながら、この第2の手法では、仮想カメラの注視点の位置が変化しない限り、オブジェクトへの映り込み画像は変化しないため、環境の流れ表現などのリアルな画像表現を実現できない。
【0073】
これに対して本実施形態によれば、第1の手法に比べて非常に軽い処理負担で、第2の手法では実現できないリアルな画像表現を実現できるようになる。
【0074】
なお本実施形態では、図2に示すように、テクスチャ空間の環境テクスチャの境界BD1、BD2が論理的に連続するようにアドレス制御されている。従って、原像領域IMの境界BD3が境界BD1を越えると、G1に示すように境界BD2に戻る(境界BD2からの画像が再び使用される)。このようにすることで、図1のテクスチャ記憶部176の使用記憶容量を節約できる。
【0075】
さて、本実施形態では、車などのオブジェクトが走行するコースに設定されたコース情報に基づいて、環境マッピングの原像領域を移動又は回転させている。
【0076】
例えば図3に示すように、コース30上に多数のコースポイントPCが設定され、このコースポイントPCに対して、道のり距離LC、コース方向DC、コース幅WCなどが設定される。そして、オブジェクト(車)の位置等に基づいて1又は複数のコースポイントPCが選択され、選択されたコースポイントPCに設定された道のり距離LC、コース方向DC、コース幅WCが図1のコース情報記憶部178から読み出される。そして、読み出された道のり距離LCに基づいてオブジェクトの順位などが決定される。また、読み出されたコース方向DCに基づいて、オブジェクトの走行アシストなどが行われる。更に、読み出されたコース幅WCに基づいて、コースの両サイドに設けられた壁等とオブジェクトとのヒットチェックが行われる。
【0077】
本実施形態では、このように順位決定、走行アシスト、ヒットチェックなどに使用されるコース情報を有効利用して、環境マッピングの原像領域を移動又は回転させている。
【0078】
例えば図4(A)に示すように本実施形態では、コース情報が含む道のり距離LCに基づいて、U座標の方向(第1の方向)に沿って原像領域IMを移動(スクロール)させている。
【0079】
より具体的には、まず、オブジェクト10の位置に基づきコースポイントPCが選択され、そのコースポイントPCに設定された道のり距離LCが読み出される。そして、この読み出された道のり距離LCに基づいて、U座標の方向での原像領域IMの移動量(IMの代表点のU座標)が決定される。
【0080】
このようにすれば、オブジェクト10の移動量に応じた移動量で原像領域IMも移動するようになる。例えばオブジェクト10が速く移動すれば、原像領域IMも速く移動するようになり、オブジェクト10への映り込み画像も高速に流れるようになる。また、オブジェクト10が停止した場合には、オブジェクト10への映り込み画像の流れも停止するようになる。従って、あたかも、コースに沿って木や建物が設置され、その設置された木や建物がオブジェクト10に映り込み、その木や建物の映り込み画像が、オブジェクト10の移動に伴い流れているかのように見せることができる。これにより、よりリアルな画像表現を実現できる。
【0081】
また図4(B)に示すように本実施形態では、コース情報が含むコース幅WCに基づいて、例えばV座標の方向(第2の方向)に沿って原像領域IMを移動させている。
【0082】
より具体的には、まず、オブジェクト10の位置に基づきコースポイントPCが選択され、そのコースポイントPCに設定されたコース幅WCが読み出される。そして、この読み出されたコース幅WCとオブジェクト10の位置などに基づいて、V座標の方向での原像領域IMの移動量(IMの代表点のV座標)が決定される。即ち、オブジェクト10がコース30の左側に寄った場合には、原像領域IMはV座標の例えば正方向側に移動し、オブジェクト10がコース30の右側に寄った場合には、原像領域IMはV座標の例えば負方向側に移動する。
【0083】
このようにすれば、オブジェクト10がコース30上で左右方向に移動した場合に、それに応じて、オブジェクト10への映り込み画像も変化するようになる。例えば図4(B)のようにオブジェクト10がコース30の左側に寄ると、環境テクスチャのH1に示す部分がオブジェクト10に映り込まなくなる一方で、H2に示す部分が張り出してきてオブジェクト10に映り込むようになる。この結果、あたかも、コースに沿って木や建物が設置され、その設置された木や建物がオブジェクト10に映り込み、その木や建物の映り込み画像が、オブジェクト10の左右方向の移動に伴い変化しているかのように見せることができる。
【0084】
なお、図4(B)では、原像領域IMがV座標の方向で移動した場合にも適正な環境テクスチャがマッピングされるように、環境テクスチャをV座標の方向に拡張して、H3、H4に示すようなマージン領域を設けている。しかしながら、図5(A)に示すように、このようなマージン領域を設けないようにしてもよい。そして、この場合には、図5(B)のように原像領域IMがV座標の方向で移動した場合に、はみ出したH5の部分については境界H6でのテクスチャ(色)をマッピングするようにすればよい。
【0085】
また本実施形態では図6に示すように、コース情報が含むコース方向DCに基づいて、オブジェクトにマッピングされる環境テクスチャ自体(或いは環境テクスチャがマッピングされた仮想オブジェクト)を回転させるようにしている。
【0086】
より具体的には、まず、オブジェクトの位置に基づきコースポイントPCが選択され、そのコースポイントPCに設定されたコース方向DCが読み出される。そして、この読み出されたコース方向DCに基づいて、環境テクスチャ自体が回転されて、オブジェクトにマッピングされる。例えば、コース方向DCが右方向に回転した場合(右カーブの場合)には、環境テクスチャも右方向に回転し、コース方向DCが左方向に回転した場合(左カーブの場合)には、環境テクスチャも左方向に回転する。
【0087】
このようにすれば、オブジェクトがコーナーを走行した場合に、そのコーナーのカーブに沿って環境テクスチャも回転するようになる。従って、あたかも、コーナーに沿って木や建物が設置され、その設置された木や建物がオブジェクトに映り込んでいるかのように見せることができる。これにより、リアルで矛盾の無い画像表現を実現できる。
【0088】
なお、コースに沿ってオブジェクトが移動するゲーム(車ゲーム、自転車ゲーム、バイクゲーム等)の場合には、コース情報に基づいて環境マッピングの原像領域を移動又は回転させることが望ましい。しかしながら、このようなコース情報が無いゲームの場合には、ワールド座標系でのオブジェクトの位置情報や回転角度(方向)情報などに基づいて、環境マッピングの原像領域を移動又は回転させればよい。
【0089】
(2)環境テクスチャの変形
さて、図7に、本実施形態で使用される環境テクスチャの例を示す。この環境テクスチャは、コースに沿って設置される木や建物などの近景を擬似的に表す環境テクスチャである。
【0090】
本実施形態では、この近景の環境テクスチャに変形処理を施し、変形処理後の環境テクスチャをオブジェクトにマッピングするようにしている。
【0091】
より具体的には図8に示すように、テクスチャ空間の近景の環境テクスチャを仮想オブジェクト40(半球オブジェクト)にマッピングする。そして、このマッピングにより得られる画像が、変形処理後の近景の環境テクスチャとしてテクスチャ空間(テクスチャ記憶部)に描画される。そして、この描画された変形処理後の近景の環境テクスチャと、図9に示すような遠景の環境テクスチャとが合成され、合成後の環境テクスチャが車などのオブジェクトにマッピングされる。
【0092】
なお、図9の遠景の環境テクスチャには、オブジェクトに映り込ませるべき太陽、空、雲などの周囲の環境が、下から上方向に魚眼レンズを介して見たような絵柄で描かれている。
【0093】
図10(A)〜図12(C)に、本実施形態により近景と遠景とが合成された環境テクスチャの例を示す。
【0094】
図10(A)、(B)、(C)は、図4(A)で説明したように、近景の環境テクスチャの原像領域IMをU座標の方向に沿って移動した場合の合成後の環境テクスチャの例である。図10(A)、(B)、(C)では、空、雲、太陽などを表す遠景の環境テクスチャは固定されている一方で、木や建物などを表す近景の環境テクスチャはI1に示す方向に流れている。従って、オブジェクト(車)上においては、遠景の映り込み画像はほぼ停止する一方で、近景の映り込み画像は速く流れるようになる。従って、遠くの物の映り込みは停止し近くの物の映り込みは速く流れるという現実世界の事象に則したリアルな画像表現を、少ない処理負担で実現できるようになる。
【0095】
図11(A)、(B)、(C)は、図4(B)で説明したように、近景の環境テクスチャの原像領域IMをV座標の方向に沿って移動した場合の合成後の環境テクスチャの例である。図11(A)、(B)、(C)では、遠景の環境テクスチャは固定されている一方で、近景の環境テクスチャはI2に示す方向に動いている。これにより、オブジェクトがコースの左右方向に移動することによる映り込み画像の変化の様子を、リアルに表現できるようになる。
【0096】
図12(A)、(B)、(C)は、図6で説明したように、オブジェクトにマッピングされる環境テクスチャ自体をコース方向に基づいて回転させた場合の合成後の環境テクスチャの例である。図12(A)、(B)、(C)では、遠景の環境テクスチャは固定されている一方で、近景の環境テクスチャはI3に示す方向で回転している。これにより、オブジェクトがコーナーを走行した場合に、そのコーナーのカーブに沿って環境テクスチャも回転するようになり、よりリアルで矛盾の無い画像表現を実現できる。
【0097】
さて、図8では、環境テクスチャを仮想オブジェクト40にマッピングすることで、環境テクスチャの変形処理を実現している。より具体的には、半球形状の仮想オブジェクト40は複数のポリゴンで構成されると共に、複数のポリゴンの頂点が集まった極PL1、PL2を有する。そして、矩形の原像領域IMの例えば頂点VX1、VX2が極PL1に配置され、頂点VX3、VX4が極PL2に配置されるように、環境テクスチャを仮想オブジェクト40にマッピングする。このようにすることで、極座標変換などの変形処理を環境テクスチャに施すことが可能になる。
【0098】
図8のように、2つの極を有する極座標系に環境テクスチャを座標変換することで、例えば、図13において、J1に示す部分での映り込み画像の流れ速度を速くし、J2、J3に示す部分での映り込み画像の流れ速度を遅くできる。これにより、映り込み画像の流れ速度にパース効果を与えることができるようになり、現実世界の事象に近い環境の流れ表現を実現できる。
【0099】
一方、図14では、4つの極PL1、PL2、PL3、PL4を有する半球形状の仮想オブジェクト42を用意し、この仮想オブジェクト42に環境テクスチャをマッピングすることで、環境テクスチャの変形処理を実現している。より具体的には、矩形の原像領域IMの例えば頂点VX1、VX2が極PL1に配置され、頂点VX3、VX4が極PL2に配置され、頂点VX1、VX4が極PL3に配置され、頂点VX2、VX3が極PL4に配置されるように(頂点VX1、VX2、VX3、VX4が辺43、44、45、46に配置されるように)、環境テクスチャを仮想オブジェクト42にマッピングしている。
【0100】
図14のように、4つの極を有する極座標系に環境テクスチャを座標変換することで、例えば、図13において、J4に示すように回り込みながら映り込み画像がオブジェクト10上で流れるようになる。これにより、映り込み画像の流れる方向にパース効果を与えることができ、現実世界の事象に近い環境の流れ表現を実現できる。
【0101】
なお、環境テクスチャをマッピングする仮想オブジェクト40、42は、3次元オブジェクトである必要はなく、2次元オブジェクトであってもよい。即ち、図8、図14において、仮想オブジェクト40、42の各頂点(仮想オブジェクトを構成するポリゴンの各頂点)には、X、Y座標(2次元座標)を持たせれば十分であり、Z座標(3次元座標)を持たせる必要はない。
【0102】
(3)上方向からの環境テクスチャのマッピング
さて、前述した第2の手法(以下、比較例と呼ぶ)の環境マッピングでは、図15に示すように、オブジェクトから仮想カメラの方を見た時に見える環境テクスチャを用意しておき、この環境テクスチャを仮想カメラの方向からマッピングしている。
【0103】
このように仮想カメラの方向からマッピングする理由は、仮想カメラがオブジェクトのどの場所を注視した場合にも、その場所に環境が映り込んでいるように見せるためである。即ち、仮想カメラの注視場所がオブジェクトの裏側に回り込んだ時に環境が映り込まなくなってしまうと、不自然な画像になるからである。
【0104】
しかしながら、この比較例の環境マッピングには、光源の映り込みを正確に表現できないという問題がある。即ち、仮想カメラの注視場所に光源が常に映り込むようになってしまうため、得られる画像に矛盾が生じる。
【0105】
そこで本実施形態では図16のB1に示すように、まず、オブジェクト10(モデルオブジェクト)から見て上方向(真上方向)に見えるべき環境テクスチャを用意する(図7、図9〜図12(C)参照)。
【0106】
そして本実施形態では図16のB2に示すように、仮想カメラ12の位置や回転角度(方向)に依らずに、用意された環境テクスチャを上方向からオブジェクト10に対してマッピングする。このようにすれば、仮想カメラ12の位置や回転角度が変化した場合にも、光源の映り込みなどを正確に表現できる環境マッピングを実現できる。
【0107】
図17(A)、(B)に、図15で説明した比較例による環境マッピングにより得られる画像の例を示す。
【0108】
図17(A)では、環境テクスチャにより映り込ませようとしている光源(夕焼け)も仮想カメラも共に、オブジェクト10の前方にある。そして、この場合には、C1に示すようにオブジェクト10の前方に光源(夕焼け)が映り込んでおり、矛盾の無い画像になっている。
【0109】
一方、図17(B)では、光源はオブジェクト10の前方にあるのに対して、仮想カメラはオブジェクト10の右方にある。そして、この場合に比較例の環境マッピングでは、C2の場所に映り込むべき光源がC3に示すようにオブジェクト10の右方に映り込んでしまっている。即ち、実際の光源の方向に対応しない場所に光源の映り込みが生じてしまい、矛盾のある画像になってしまっている。
【0110】
図18(A)、(B)に、本実施形態の環境マッピングにより得られる画像の例を示す。なお同図では、近景の映り込みについては省略している。
【0111】
図18(A)では、前述の図17(A)と同様に、光源も仮想カメラも共に、オブジェクト10の前方にある。そして、D1に示すようにオブジェクト10の前方に正しく光源が映り込んでおり、矛盾の無い画像になっている。
【0112】
一方、図18(B)では、前述の図17(B)と同様に、光源はオブジェクト10の前方にあり、仮想カメラは右方にある。そして、この場合に本実施形態の環境マッピングでは、図17(B)とは異なりD3の場所には光源は映り込まず、D2の場所に正しく光源が映り込んでいる。即ち、実際の光源の方向に対応する場所に正しく光源が映り込んでおり、矛盾の無い画像になっている。このように本実施形態によれば、仮想カメラの位置や方向に依らずに、実際の光源の方向に対応する場所に正しく光源の映り込みが生じる。従って、比較例の環境マッピングでは矛盾が生じるため断念せざるを得なかった光源の映り込みを、矛盾無く実現できるようになる。
【0113】
次に、図19を用いて、オブジェクト10にマッピングする環境テクスチャのテクスチャ座標を求める手法について説明する。
【0114】
まず、オブジェクト10のワールド座標系での各軸回りの回転角度に基づいて、例えばローカル座標系(XL、YL、ZL)からワールド座標系(XW、YW、ZW)への回転マトリクスを求める。ここで、オブジェクト10のワールド座標系での各軸回りの回転角度は、プレーヤからの操作データや(プレーヤの運転操作)、ゲームプログラム(オブジェクト10の動きを制御するプログラム)などに基づいて各フレーム毎にリアルタイムに求められ、このリアルタイムに求められる回転角度に基づいて上記回転マトリクスが求められることになる。
【0115】
次に、求められた回転マトリクスにより、オブジェクト10の各面の法線ベクトルN(面の向きを表すためのベクトル)を回転させる。なお、この法線ベクトルは、オブジェクト10の各面(ポリゴン)の各頂点に与えられる法線ベクトルであることが望ましいが、各面の代表点や各ドットの法線ベクトルであってもよい。
【0116】
次に、回転後の法線ベクトルNに基づいて、テクスチャマッピングのためのU、V座標を求める。そして、このU、V座標に基づいて、テクスチャ記憶部から対応するテクスチャが読み出されることになる。
【0117】
以上のように、法線ベクトルを回転マトリクスで回転させ、回転後の法線ベクトルに基づいてテクスチャマッピングのU、V座標を求めるようにすれば、オブジェクトの位置や方向に応じた適切な環境マッピングを実現できるようになる。
【0118】
即ち図20のE1では、オブジェクト10の側面の法線ベクトルNの方向と光源の方向(光源ベクトルの方向)が反対向きで一致するため(角度差が180度となるため)、オブジェクト10の側面へ映り込む光源の輝度が最も強くなる。一方、図20のE2ではオブジェクト10の側面の法線ベクトルNの方向と光源の方向が一致しないため(角度差が180度よりも小さくなるため)、E1の場合に比べて側面へ映り込む光源の輝度が弱くなる。従って、オブジェクト10の位置や方向が変化した場合に、その変化に応じて光源の映り込み具合が変化するようになり、これまでにないリアルな画像を生成できるようになる。
【0119】
本実施形態により生成されるゲーム画像の例を図21(A)、(B)に示すなお、同図においても近景の映り込みについては省略している。
【0120】
図21(A)では、オブジェクト10の左側(画面の右側)から光源の光があたっている。この場合に、本実施形態の環境マッピングによればF1に示すように、オブジェクトの左側の面に光源の映り込みが生じており、オブジェクト10に施されるシェーディング処理との間に矛盾が生じない光源の映り込み表現に成功している。また本実施形態によれば、道路に落とされるオブジェクト10の影16の形や位置と、光源の映り込みとの間にも矛盾が生じていない。
【0121】
一方、図21(B)では、オブジェクト10の左前方側(画面の右手前側)から光源の光があたっている。この場合に、本実施形態の環境マッピングによればF2に示すように、オブジェクトの左前方に光源の映り込みが生じており、オブジェクト10に施されるシェーディング処理との間に矛盾が生じない光源の映り込み表現に成功している。また、道路に落とされる影16の形や位置と、光源の映り込みとの間にも矛盾が生じていない。
【0122】
(4)環境テクスチャの切り替え
さて、本実施形態では、複数の環境テクスチャを用意しておき、オブジェクトにマッピングする環境テクスチャを適宜切り替えるようにしている。
【0123】
例えば、オブジェクト(車)の通常走行時においては、図7、図9〜図12(C)に示すような環境テクスチャを使用する。一方、オブジェクトがトンネル(広義には閉鎖空間)に進入した場合には、使用する環境テクスチャを切り替えて、図22に示すようなトンネル内の壁や照明が描かれた環境テクスチャを使用する。
【0124】
このような環境テクスチャの切り替えを行う場合には、環境テクスチャが切り替えられたことをプレーヤに気づかれないようにすることが望ましい。
【0125】
そこで本実施形態では、第1の環境テクスチャから第2の環境テクスチャへの切り替え時に、第1の環境テクスチャのフェイドアウト処理を行うと共に第2の環境テクスチャのフェイドイン処理を行うようにしている。
【0126】
即ち図23において、オブジェクト10がトンネル50(閉鎖空間)の外を走行している場合には、環境テクスチャA(図7、図9〜図12(C))がオブジェクト10にマッピングされる。そして、オブジェクト10がトンネル10に進入する直前に、環境テクスチャAのフェイドアウト処理が行われ、環境テクスチャAによる画像の映り込みを徐々に消す。そして、オブジェクト10がトンネル10に進入すると、今度は、環境テクスチャB(図22)のフェイドイン処理が行われ、環境テクスチャBによる画像の映り込みが徐々に見えてくるようにする。
【0127】
このようにすることで、環境テクスチャが切り替わる様子を目立たなくすることができ、より自然でリアルな画像を生成できる。
【0128】
なお、環境テクスチャAのフェイドアウト処理と環境テクスチャBのフェイドイン処理を同時に行ってもよい。或いは、環境テクスチャAのフェイドアウト処理を行ってから少し期間を空けて、環境テクスチャBのフェイドイン処理を行うようにしてもよい。
【0129】
また、環境テクスチャのフェイドアウト処理やフェイドイン処理は、環境テクスチャのα値(透明度)を制御することによって実現してもよいし、環境テクスチャの色情報自体を書き換えることで実現してもよい。
【0130】
また、環境テクスチャAのフェイドアウト処理は、オブジェクト空間に設けられたトンネルなどの閉鎖空間へのオブジェクトの進入イベントの際に行うことが望ましい。即ち、現実世界においても、トンネルへの進入時には周囲の環境が暗くなる。従って、トンネルへの進入時に環境テクスチャAのフェイドアウト処理を行い、周囲の環境がオブジェクトに映り込まなくなっても、プレーヤは、それほど不自然さを感じない。従って、このようなトンネルへの進入時に環境テクスチャAのフェイドアウト処理を行うことで、環境テクスチャが切り替わる様子を、更に目立たなくすることが可能になり、プレーヤの仮想現実感を増すことができる。
【0131】
また本実施形態では、環境テクスチャの切り替え処理を、コースに設定されたコース情報に基づいて行っている。より具体的には、例えば、コース情報の中に、環境テクスチャの種類を特定するための環境テクスチャ特定情報を含ませておく。そして、オブジェクトの位置に基づいてコースポイントを選択し、選択されたコースポイントに設定された環境テクスチャ特定情報を読み出す。そして、読み出された環境テクスチャ特定情報に基づいて、環境テクスチャを切り替える。
【0132】
例えば図23において、区間STAのコース情報には環境テクスチャAを特定するための情報が設定され、区間STBのコース情報には環境テクスチャBを特定するための情報が設定される。そして、これらの環境テクスチャ特定情報に基づいて、切り替え地点52において環境テクスチャAからBへの切り替え処理が行われる。このようにすることで、順位決定などに使用されるコース情報を有効利用して、環境テクスチャの切り替え処理を簡易な処理で実現できるようになる。
【0133】
なお、切り替え地点52に設定されるコース情報の中に、環境テクスチャ特定情報として環境テクスチャ切り替えフラグを含ませ、この環境テクスチャ切り替えフラグをトリガーとして、環境テクスチャを切り替えるようにしてもよい。
【0134】
さて本実施形態では、環境テクスチャを切り替えるための繋ぎエリアに、環境テクスチャの切り替え用のマップオブジェクトを配置するようにしている。
【0135】
即ち図24に示すように、地点54と地点56の間の繋ぎエリア58に、切り替え用マップオブジェクト60を配置する。そして例えば、地点54付近において環境テクスチャAのフェイドアウト処理を行い、オブジェクト10が繋ぎエリア58に位置する場合には、オブジェクトへの環境テクスチャのマッピングが行われないようにする(環境マッピングを省略する)。そして、地点56付近において環境テクスチャBのフェイドイン処理を行い、トンネル50の中では、図22に示すようなトンネル内の照明などを表す環境テクスチャBを、オブジェクト10にマッピングするようにする。
【0136】
このように、繋ぎエリア58を設け、この繋ぎエリア58に切り替え用マップオブジェクト60を配置して、意図的に暗い環境を創出することで、環境テクスチャが切り替わる様子を更に目立たなくすることができる。
【0137】
即ち、オブジェクト10が繋ぎエリア58に進入した場合に、環境テクスチャAがフェイドアウトされてオブジェクトへの環境の映り込みが無くなっても、オブジェクト10の周囲は切り替え用マップオブジェクト60に覆われており、暗い環境であると想定されているため、プレーヤは不自然さを感じない。そして、トンネル50内の照明が見えてきた所で、環境テクスチャBのフェイドイン処理を行い、トンネル内の照明等をオブジェクト10に映り込ませるようにする。このようにすることで、オブジェクト10に映り込む環境が、より自然に切り替わるようになり、プレーヤの仮想現実感を高めることができる。
【0138】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図25、図26のフローチャートを用いて説明する。
【0139】
まず、オブジェクト(車)の元絵テクスチャ(オブジェクトのデザインを表すテクスチャとして予め用意されたテクスチャ)をVRAM上のテクスチャ記憶部に転送する(ステップS1)。
【0140】
次に、遠景の環境テクスチャ(図9)と、図27(A)に示すコース情報の中の環境テクスチャ特定情報により特定される近景の環境テクスチャ(図7、図22)とを、テクスチャ記憶部に転送する(ステップS2)。なお、オブジェクトがトンネル内に位置する場合には、遠景の環境テクスチャは転送されない。
【0141】
次に、図4(A)で説明したように、近景の環境テクスチャのU座標を、図27(A)に示すコース情報の中の道のり距離LCに基づいて計算する(ステップS3)。また、図4(B)で説明したように、近景の環境テクスチャのV座標を、図27(A)のコース情報の中のコース幅WCに基づいて計算する(ステップS4)。そして、これらの計算結果に基づいて、半球形状の仮想オブジェクトの各頂点のU、V座標を計算し、得られたU、V座標に基づいて、図8で説明したように仮想オブジェクトに近景の環境テクスチャをマッピングする(ステップS5)。仮想オブジェクトの各頂点のU、V座標は、例えば下式のように計算される。
【0142】
UF=U0+{MOD(LC|TL)}/TL (3)
VF=V0+(WP/WC) (4)
上式において、U0、V0は、仮想オブジェクトの各頂点に対して予め与えられている初期値のU、V座標である。また、LCは、コース情報が含む道のり距離であり、TLは、環境テクスチャのU座標方向の長さであり、MOD(X|Y)は、XをYで除算した場合の余りである。また、WPは、コース幅方向でのオブジェクトの位置であり、WCは、コース情報が含むコース幅である(図27(A)、(B)参照)。
【0143】
なお、道のり距離LCをコース情報に含ませないで、コースポイントPCに基づいて道のり距離LCを計算するようにしてもよい。即ち、この場合には、コースポイントPC自体が道のり距離情報に相当することになる。
【0144】
次に、近景の環境テクスチャがマッピングされた仮想オブジェクトを、図6で説明したように、コース情報の中のコース方向DC(図27(A)、(B)参照)に基づいて回転させる(ステップS6)。そして、テクスチャ空間の遠景の環境テクスチャの上に、回転後の仮想オブジェクトの画像を描画する(ステップS7)。これにより、遠景の環境テクスチャと近景の環境テクスチャとが、テクスチャ空間(テクスチャ記憶部)上で合成される。
【0145】
次に、オブジェクトが環境テクスチャのフェイドアウト範囲又はフェイドイン範囲(図27(B)参照)に位置するか否かを判断し(ステップS8)、いずれかの範囲に位置する場合には、環境テクスチャの切り替え地点とオブジェクトとの距離に応じて、環境テクスチャのα値(半透明度、透明度、不透明度)を変化させる(ステップS9)。このようにすることで、環境テクスチャのフェイドアウト処理やフェイドイン処理が実現される。この場合のα値は、例えば下式のようにして計算される。
【0146】
α=|LC−LP|/RL (5)
ここで、LCは、現在のオブジェクトの位置での道のり距離であり、LPは、切り替え地点までの道のり距離であり、RLは、フェイド範囲の長さ(図27(B)参照)である。また|Z|は、Zの絶対値である。
【0147】
次に、オブジェクトデータ(オブジェクトの頂点座標、頂点テクスチャ座標、輝度データ等)に基づいてオブジェクトのジオメトリ処理を行う(図26のステップS10)。より具体的には、例えば、オブジェクトをローカル座標系からワールド座標系へ座標変換し、次に、ワールド座標系から視点座標系に座標変換し、クリッピング処理を行った後、スクリーン座標系への透視変換を行う。そして、透視変換後のオブジェクトデータをメインメモリに格納し、消さないで保存しておく(ステップS11)。
【0148】
次に、透視変換後のオブジェクトデータと、図25のステップS1で転送されたオブジェクトの元絵テクスチャとに基づき、フレームバッファにオブジェクトを描画する(ステップS12)。これにより、環境マッピングが施されていない、元のデザインのオブジェクトが描画されることになる。
【0149】
次に、図19で説明したように、オブジェクトの各頂点の法線ベクトルを、ローカル座標系からワールド座標系への回転マトリクスで回転させる(ステップS13)。そして、回転後の法線ベクトルの座標NXW、NZWに基づき、環境テクスチャのU、V座標を求める(ステップS14)。この場合のU、V座標を求める計算式は例えば以下のようになる。
【0150】
U=(NXW+1.0)/2 (6)
V=(NZW+1.0)/2 (7)
上式のような計算を行うのは、U、V座標の変域は0.0〜1.0であり、NXW、NZWの変域は−1.0〜1.0だからである。
【0151】
次に、得られたU、V座標を、ステップS11でメインメモリに保存したオブジェクトデータ(頂点リスト)の各頂点のU、V座標に上書きする(ステップS15)。即ち、オブジェクトのモデルデータにおいて設定されていたU、V座標を、法線ベクトルに基づき求められたU、V座標に置き換える。
【0152】
次に、ステップS15でU、V座標が上書きされたオブジェクトデータと、図25のステップS7で合成された環境テクスチャ(遠景、近景)とに基づき、フレームバッファにオブジェクトを描画する(ステップS16)。即ち、ステップS12で既に描画されたオブジェクト(元絵テクスチャがマッピングされたオブジェクト)の上に、環境テクスチャがマッピングされたオブジェクトを上書きで描画する。このように本実施形態では、同一座標のオブジェクトを2度書きすることで環境マッピングを実現している。
【0153】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図28を用いて説明する。
【0154】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0155】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0156】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0157】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0158】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0159】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0160】
ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0161】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0162】
RAM960は、各種プロセッサの作業領域として用いられる。
【0163】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0164】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0165】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システム、他のゲームシステムとの間でのデータ転送が可能になる。
【0166】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【0167】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【0168】
図29(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報(プログラム或いはデータ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0169】
図29(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。
【0170】
図29(C)に、ホスト装置1300と、このホスト装置1300とネットワーク1302(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)を介して接続される端末1304-1〜1304-nとを含むシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0171】
なお、図29(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0172】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0173】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0174】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0175】
また、環境テクスチャの原像領域を移動又は回転させる手法は、図4(A)〜図6で説明した手法が特に望ましいが、これに限定されるものではない。例えばコース情報以外の情報に基づいて、原像領域を移動又は回転させるようにしてもよい。
【0176】
また、コース情報の設定手法も、図3、図27(A)、(B)で説明した手法に限定されるものではない。
【0177】
また、原像領域を移動又は回転させながら環境テクスチャをマッピングする手法では、環境テクスチャは図16のように上方向からマッピングすることが特に望ましいが、本発明は、これに限定されない。
【0178】
また、図8、図14で説明した、テクスチャの変形手法は、環境テクスチャの変形に限定されず、種々のテクスチャの変形に使用できる。
【0179】
また、環境テクスチャを切り替える発明においては、原像領域を移動又は回転させる手法や、環境テクスチャを上方向からマッピングする手法を採用しなくてもよい。
【0180】
また、本発明でマッピングされる環境テクスチャの形状やデザインは、本実施形態で説明したものに限定されない。
【0181】
また、画像生成システムが、1つのオブジェクトに複数のテクスチャを重ねてマッピングするというマルチテクスチャマッピング(狭義のマルチテクスチャマッピング)の機能をハードウェアでサポートしている場合には、オブジェクトに対して、元絵テクスチャ(モデルデータのテクスチャ)と環境テクスチャを一度に重ねてマルチテクスチャマッピングすることが望ましい。そして、このように1つのオブジェクトに複数のテクスチャを重ねる場合には、オブジェクトデータの中に、元絵テクスチャを指定するためのテクスチャ座標、環境テクスチャを指定するためのテクスチャ座標というように、複数セットのテクスチャ座標を含ませればよい。
【0182】
また、オブジェクトにマッピングされるテクスチャは、色情報のテクスチャに限定されず、輝度情報、半透明情報(α値)、表面形状情報(バンプ値)、反射率情報、屈折率情報、或いは深さ情報などについてのテクスチャでもよい。
【0183】
また本発明はレーシングゲーム以外にも種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0184】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムのブロック図の例である。
【図2】原像領域を移動又は回転しながら環境テクスチャをマッピングする手法について説明するための図である。
【図3】コース情報について説明するための図である。
【図4】図4(A)、(B)は、コース情報の中の道のり距離、コース幅に基づいて原像領域を移動させる手法について説明するための図である。
【図5】図5(A)、(B)は、環境テクスチャに対してV座標方向のマージン領域を設けない場合の手法について説明するための図である。
【図6】コース情報の中のコース方向に基づいて環境テクスチャ自体を回転させる手法について説明するための図である。
【図7】近景の環境テクスチャの一例を示す図である。
【図8】近景の環境テクスチャを変形して、遠景の環境テクスチャと合成する手法について説明するための図である。
【図9】遠景の環境テクスチャの一例を示す図である。
【図10】図10(A)、(B)、(C)は、近景と遠景が合成された環境テクスチャの例である。
【図11】図11(A)、(B)、(C)も、近景と遠景が合成された環境テクスチャの例である。
【図12】図12(A)、(B)、(C)も、近景と遠景が合成された環境テクスチャの例である。
【図13】極を有する仮想オブジェクトに環境テクスチャをマッピングして環境テクスチャを変形する手法の効果について説明するための図である。
【図14】4つの極を有する仮想オブジェクトに環境テクスチャをマッピングして環境テクスチャを変形する手法について説明するための図である。
【図15】比較例の環境マッピングについて説明するための図である。
【図16】上方向から環境テクスチャをマッピングする手法について説明するための図である。
【図17】図17(A)、(B)は、比較例の環境マッピングにより生成される画像の例について示す図である。
【図18】図18(A)、(B)は、本実施形態の環境マッピングにより生成される画像の例について示す図である。
【図19】法線ベクトルを回転マトリクスで回転させることでテクスチャ座標を求める手法について説明するための図である。
【図20】オブジェクトの回転角度の変化に応じて、オブジェクトへの光源の映り込み具合が変化する様子について説明するための図である。
【図21】図21(A)、(B)は、本実施形態により生成されるゲーム画像の例である。
【図22】トンネル内で使用される近景の環境テクスチャの一例を示す図である。
【図23】環境テクスチャの切り替え時に環境テクスチャのフェイドアウト処理、フェイドイン処理を行う手法について説明するための図である。
【図24】繋ぎエリアに環境テクスチャの切り替え用のマップオブジェクトを配置する手法について説明するための図である。
【図25】本実施形態の詳細な処理例について示すフローチャートである。
【図26】本実施形態の詳細な処理例について示すフローチャートである。
【図27】図27(A)、(B)は、コース情報について説明するための図である。
【図28】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図29】図29(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
10 オブジェクト
12 仮想カメラ
14 光源
16 影
30 コース
40、42 仮想オブジェクト
43、44、45、46 辺
50 トンネル(閉鎖空間)
52 切り替え地点
54、56 地点
58 繋ぎエリア
60 切り替え用マップオブジェクト
100 処理部
110 ゲーム処理部
112 移動・動作演算部
114 マップオブジェクト配置部
130 画像生成部
132 ジオメトリ処理部
134 法線ベクトル処理部
140 描画部
142 テクスチャマッピング部
144 原像領域移動・回転部
146 環境テクスチャ変形部
148 環境テクスチャ切り替え部
149 フェイド処理部
150 音生成部
160 操作部
170 記憶部
172 メインメモリ
174 フレームバッファ
176 テクスチャ記憶部
178 コース情報記憶部
179 マップオブジェクト情報記憶部
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image generation system and an information storage medium.
[0002]
[Background Art and Problems to be Solved by the Invention]
2. Description of the Related Art Conventionally, an image generation system that generates an image that can be seen from a given viewpoint in an object space that is a virtual three-dimensional space is known, and is popular as being able to experience so-called virtual reality. Taking an image generation system that can enjoy a racing game as an example, a player operates a racing car (object) to run in the object space and competes with other racing cars operated by other players and computers. Enjoy a 3D game.
[0003]
In such an image generation system, it is an important technical problem to generate a more realistic image in order to improve the player's virtual reality. One method for solving such a problem is known as environment mapping.
[0004]
As a method for realizing such environment mapping, for example, the following first and second methods can be considered.
[0005]
In the first method, an environment image is realized by drawing an image of an environment visible from an object in real time on a virtual sphere, and then mapping the image of the virtual sphere in the direction of the reflection vector to the object.
[0006]
However, this first method has an advantage that a very realistic image can be generated, but has a disadvantage that the processing load becomes very heavy.
[0007]
In the second method, an environment texture that artificially represents the environment when the virtual camera is viewed from the object is prepared in advance, and this pseudo environment texture is set in the direction of the virtual camera (from the virtual camera to the object. Simply map from the direction).
[0008]
However, the second method has an advantage that the processing load is lighter than the first method, but it cannot realize the expression of the environment reflected in the object flowing, and the obtained image is monotonous. Has the disadvantage of becoming.
[0009]
The present invention has been made in view of the above problems, and an object of the present invention is to provide an image generation system and an information storage medium capable of realizing real environment mapping with a small processing load.
[0010]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides an image generation system for generating an image, wherein an environment texture is generated while moving or rotating an original image area of environment mapping in a texture space in which a texture pattern is defined. And means for mapping to an object and means for rendering an image viewed from a virtual camera in the object space. The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes a program for executing the above means. The program according to the present invention is a program (including a program embodied in a carrier wave) that can be used by a computer, and includes a processing routine for executing the above means.
[0011]
According to the present invention, the environment texture is mapped to the object while the original image area moves or rotates. As a result, it is possible to realize an expression of how the environment reflected in the object flows (environmental flow expression). Therefore, realistic environment mapping that cannot be obtained by simply mapping the environment texture from the direction of the virtual camera can be realized with a small processing load such as moving or rotating the original image area in the texture space.
[0012]
The image generation system, information storage medium, and program according to the present invention are characterized by moving or rotating an original image area of environment mapping based on course information set for a course in which an object moves. In this way, it is possible to move or rotate the original image area by effectively using the course information used for other purposes.
[0013]
In the image generation system, the information storage medium, and the program according to the present invention, the course information includes course road distance information, and based on the road distance information, an original image area of environment mapping is set along a first direction. It is made to move. In this way, for example, if the object moves fast on the course, the original image area moves fast in the texture space, and the reflected image on the object also flows fast. Therefore, it is possible to realize the optimum environment mapping for the object moving on the course.
[0014]
In the image generation system, the information storage medium, and the program according to the present invention, the course information includes course width information, and the environment mapping original image area is different from the first direction based on the course width information. It moves along the direction of 2. It is characterized by the above-mentioned. In this way, when the object moves in the course width direction on the course, the reflected image on the object also changes accordingly. Therefore, it is possible to display as if the display object arranged along the course is reflected on the object, and the reflected image changes as the object moves in the course width direction.
[0015]
The image generation system, the information storage medium, and the program according to the present invention include an environment texture itself that is mapped to an object based on the course direction information in which course information set in a course in which the object moves includes course direction information. It is characterized by rotating. In this way, for example, when the object moves on a corner of the course, the environment texture also rotates along the curve of the corner. Thereby, a real and consistent image expression can be realized.
[0016]
The image generation system, information storage medium, and program according to the present invention are characterized by moving or rotating an original image area of environment mapping based on position information or rotation angle information of an object in the world coordinate system. In this way, it becomes possible to map an appropriate environmental texture corresponding to the position information and rotation angle (direction) information of the object to the object.
[0017]
The image generation system, information storage medium, and program according to the present invention are characterized in that an environment texture in a texture space is subjected to deformation processing, and the environment texture after the deformation processing is mapped to an object. In this way, environmental textures having various image effects can be mapped to objects.
[0018]
The image generation system, information storage medium, and program according to the present invention are characterized in that the environment texture in the texture space is subjected to polar coordinate conversion, and the environment texture after the polar coordinate conversion is mapped to an object. In this way, it is possible to give a perspective effect to the speed and direction in which the environmental texture flows.
[0019]
The image generation system, the information storage medium, and the program according to the present invention are such that an image obtained by mapping an environment texture in a texture space to a virtual object is drawn in the texture space as an environment texture after deformation processing, The drawn environment texture after the deformation process is mapped to an object. According to the present invention, first, an environmental texture in a texture space is mapped to a two-dimensional or three-dimensional virtual object. An image obtained by this mapping is drawn in the texture space, used as an environment texture after the deformation process, and mapped to an object. By doing in this way, the deformation | transformation process of an environmental texture can be implement | achieved with little processing burden, and the environmental texture which produces | generates various image effects can be produced | generated in real time.
[0020]
The image generation system, the information storage medium, and the program according to the present invention include a pole in which an original image area of environment mapping is rectangular, the virtual object is composed of a plurality of polygons, and vertices of the plurality of polygons are collected. In the case of having, the environment texture in the texture space is mapped to the virtual object so that two adjacent vertices of the rectangle are arranged at the poles. In this way, it is possible to realize the environmental texture deformation process by polar coordinate conversion with a simple process.
[0021]
The image generation system, information storage medium, and program according to the present invention map an environment texture in which the original image area is fixed in the texture space and an environment texture in which the original image area moves or rotates in the texture space to the object. It is characterized by that. By doing so, it is possible to create an environment texture in which the environment texture that does not flow and the environment texture that flows are synthesized. It should be noted that an environmental texture in the distant view is desirable as the environmental texture in which the original image area is fixed, and an environmental texture in the near view is desirable as the environmental texture in which the original image area moves or rotates.
[0022]
In the image generation system, information storage medium, and program according to the present invention, the environmental texture is a texture representing an environment that should be viewed upward from the object, and the environmental texture is at a position or a rotation angle of the virtual camera. It is characterized by being mapped to the object from above without depending on the object. In this way, it is possible to prevent environmental mapping from being affected by changes in the position and rotation angle of the virtual camera. For this reason, it is possible to prevent the occurrence of a problem such as a light source always appearing at the gaze location of the virtual camera, and to realize environment mapping that can accurately represent the reflection of the light source.
[0023]
The present invention is also an image generation system for generating an image, wherein a first texture is mapped to a virtual object, means for deforming the first texture, and the first texture is mapped to the virtual object. The image obtained by this is included in a texture space as a second texture, and means for mapping the second texture drawn in the texture space to an object. The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes a program for executing the above means. The program according to the present invention is a program (including a program embodied in a carrier wave) that can be used by a computer, and includes a processing routine for executing the above means.
[0024]
According to the present invention, first, a texture in the texture space is mapped to a two-dimensional or three-dimensional virtual object. An image obtained by this mapping is drawn in the texture space, used as a texture after deformation processing, and mapped to an object. In this way, texture deformation processing can be realized with a small processing load, and textures exhibiting various image effects can be generated in real time.
[0025]
The present invention is also an image generation system for generating an image, wherein means for mapping an environment texture to an object, means for switching an environment texture mapped to the object, and an environment texture mapped to the object are first. When the environment texture is switched to the second environment texture, the first environment texture is faded out, the second environment texture is faded in, and the image visible from the virtual camera is drawn in the object space. Means. The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes a program for executing the above means. The program according to the present invention is a program (including a program embodied in a carrier wave) that can be used by a computer, and includes a processing routine for executing the above means.
[0026]
According to the present invention, when the environmental texture is switched, the fade-out process of the first environmental texture is performed, and the reflection of the image on the object by the first environmental texture gradually disappears. Further, the fade-in process of the second environment texture is performed, and the reflection of the image on the object by the second environment texture is gradually displayed. As a result, switching of environmental textures becomes inconspicuous, and more natural and realistic image expression can be realized.
[0027]
The image generation system, information storage medium, and program according to the present invention are characterized by performing a first environmental texture fade-out process in the event of an object entering a closed space provided in the object space. In the event of an object entering the closed space, even if the first environment texture fade-out process is performed and the surrounding environment is not reflected in the object, the player does not feel unnaturalness. Therefore, according to the present invention, it is possible to make the appearance of the environmental texture switching more inconspicuous.
[0028]
The present invention is also an image generation system for generating an image, comprising: means for mapping an environment texture to an object; means for switching an environment texture mapped to the object; And a means for arranging a map object for switching the environmental texture in a connection area for switching to the second environmental texture, and a means for drawing an image viewed from the virtual camera in the object space. The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes a program for executing the above means. The program according to the present invention is a program (including a program embodied in a carrier wave) that can be used by a computer, and includes a processing routine for executing the above means.
[0029]
According to the present invention, a map object for switching environmental textures (preferably a map object forming a closed space) is arranged in a connection area for switching environmental textures. Accordingly, it is possible to perform environmental texture switching processing, fade-out processing, fade-in processing, and the like by using the switching map object arranged in the connection area, and it is possible to make the state of environmental texture switching inconspicuous.
[0030]
The image generation system, the information storage medium, and the program according to the present invention are characterized in that environment mapping to an object is omitted when the object is located in the connection area. In this way, when the objects are located in the connection area, the environment mapping to the objects is omitted, and a dark environment is intentionally created, thereby making the appearance of switching the environment texture more inconspicuous.
[0031]
The present invention is also an image generation system for generating an image, wherein the object is based on the environment texture specifying information included in the course information set in the course in which the environment texture is mapped to the object and the course in which the object moves. And a means for switching an environmental texture mapped to the object space and a means for drawing an image viewed from a virtual camera in the object space. The information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes a program for executing the above means. The program according to the present invention is a program (including a program embodied in a carrier wave) that can be used by a computer, and includes a processing routine for executing the above means.
[0032]
In the present invention, the environment texture mapped to the object is switched based on the environment texture specifying information included in the course information. Therefore, the course information used for determining the rank can be effectively used to switch the environmental texture with a simple process.
[0033]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. In the following description, the present invention is applied to a racing game as an example, but the present invention is not limited to this and can be applied to various games.
[0034]
1. Constitution
FIG. 1 shows an example of a block diagram of this embodiment. In this figure, the present embodiment may include at least the processing unit 100 (or may include the processing unit 100 and the storage unit 170, or the processing unit 100, the storage unit 170, and the information storage medium 180), and other blocks. (For example, the operation unit 160, the display unit 190, the sound output unit 192, the portable information storage device 194, and the communication unit 196) can be arbitrary constituent elements.
[0035]
Here, the processing unit 100 performs various processing such as control of the entire system, instruction instruction to each block in the system, game processing, image processing, or sound processing, and functions thereof are various processors ( CPU, DSP, etc.) or hardware such as ASIC (gate array, etc.) or a given program (game program).
[0036]
The operation unit 160 is used by the player to input operation data, and the function can be realized by hardware such as a lever, a button, and a housing.
[0037]
The storage unit 170 serves as a work area such as the processing unit 100 or the communication unit 196, and its function can be realized by hardware such as a RAM.
[0038]
An information storage medium (storage medium usable by a computer) 180 stores information such as programs and data, and functions thereof are an optical disk (CD, DVD), a magneto-optical disk (MO), a magnetic disk, and a hard disk. It can be realized by hardware such as a magnetic tape or a memory (ROM). The processing unit 100 performs various processes of the present invention (this embodiment) based on information stored in the information storage medium 180. That is, the information storage medium 180 stores information (program or data) for executing the means of the present invention (this embodiment) (particularly, the blocks included in the processing unit 100).
[0039]
Part or all of the information stored in the information storage medium 180 is transferred to the storage unit 170 when the system is powered on. Information stored in the information storage medium 180 includes program code, image data, sound data, display object shape data, table data, list data, and data for instructing the processing of the present invention. It includes at least one of information, information for performing processing according to the instruction, and the like.
[0040]
The display unit 190 outputs an image generated according to the present embodiment, and the function thereof can be realized by hardware such as a CRT, LCD, or HMD (head mounted display).
[0041]
The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by hardware such as a speaker.
[0042]
The portable information storage device 194 stores player personal data, save data, and the like. As the portable information storage device 194, a memory card, a portable game device, and the like can be considered.
[0043]
The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other image generation system), and functions as hardware such as various processors or a communication ASIC. Or by a program.
[0044]
The program or data for executing the means of the present invention (this embodiment) may be distributed from the information storage medium of the host device (server) to the information storage medium 180 via the network and the communication unit 196. Good. Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.
[0045]
The processing unit 100 includes a game processing unit 110, an image generation unit 130, and a sound generation unit 150.
[0046]
Here, the game processing unit 110 receives a coin (price) reception process, various mode setting processes, a game progress process, a selection screen setting process, the position and rotation angle (X, Processing to obtain the rotation angle around the Y or Z axis), processing to move the object (motion processing), processing to obtain the viewpoint position (virtual camera position) and line-of-sight angle (virtual camera rotation angle), objects such as map objects Various game processes, such as a process for placing a game in an object space, a hit check process, a process for calculating game results (results, results), a process for multiple players to play in a common game space, or a game over process , Operation data from the operation unit 160, personal data from the portable information storage device 194, storage data , Carried out on the basis of a game program.
[0047]
The image generation unit 130 performs various types of image processing in accordance with instructions from the game processing unit 110, for example, generates an image that can be seen from a virtual camera (viewpoint) in the object space, and outputs the generated image to the display unit 190.
[0048]
The sound generation unit 150 performs various types of sound processing in accordance with instructions from the game processing unit 110, generates a sound such as BGM, sound effect, or sound, and outputs the sound to the sound output unit 192.
[0049]
Note that all of the functions of the game processing unit 110, the image generation unit 130, and the sound generation unit 150 may be realized by hardware, or all of them may be realized by a program. Alternatively, it may be realized by both hardware and a program.
[0050]
The game processing unit 110 includes a movement / motion calculation unit 112 and a map object placement unit 114.
[0051]
Here, the movement / motion calculation unit 112 calculates movement information (position data, rotation angle data) and movement information (position data of each part of the object, rotation angle data) of an object such as a car. Based on operation data input by the player through the operation unit 160, a game program, or the like, a process of moving or moving an object is performed.
[0052]
More specifically, the movement / motion calculation unit 112 performs processing for obtaining the position and rotation angle of the object every frame (1/60 seconds), for example. For example, the position of the object in the (k-1) frame is PMk-1, the speed is VMk-1, the acceleration is AMk-1, and the time of one frame is Δt. Then, the position PMk and speed VMk of the object in the k frame are obtained, for example, by the following equations (1) and (2).
[0053]
PMk = PMk-1 + VMk-1 * .DELTA.t (1)
VMk = VMk-1 + AMk-1 * .DELTA.t (2)
The map object placement unit 114 performs processing for placing map objects such as courses, buildings beside the course, trees, and tunnels in the object space. More specifically, in the present embodiment, a connection area for switching the environmental texture mapped to the object is provided. Then, the map object placement unit 114 performs a process of placing a map object for switching the environmental texture in this connection area (a process of creating object data of the map object). By doing so, the environmental texture can be switched naturally, and the situation where the player is aware that the environmental texture has been switched can be prevented. Note that map object information (shape information, texture information, color information, etc.) is stored in the map object information storage unit 179 in the storage unit 170.
[0054]
The image generation unit 130 includes a geometry processing unit 132 (three-dimensional calculation unit) and a drawing unit 140 (rendering unit).
[0055]
Here, the geometry processing unit 132 performs various types of geometry processing (three-dimensional calculation) such as coordinate transformation, clipping processing, perspective transformation, or light source calculation. In the present embodiment, the object data after the geometry processing (after perspective transformation) (object vertex coordinates, vertex texture coordinates, luminance data, etc.) is stored in the main memory 172 of the storage unit 170 and saved. .
[0056]
The normal vector processing unit 134 included in the geometry processing unit 132 rotates the normal vector of each vertex of the object (in the broad sense, the normal vector of the surface of the object) in a rotation matrix from the local coordinate system to the world coordinate system. Process. In this embodiment, the texture coordinates of the environmental texture are obtained based on the rotated normal vector.
[0057]
The drawing unit 140 draws an object in the frame buffer 174 based on the object data after geometry processing (after perspective transformation) and the texture stored in the texture storage unit 176. As a result, an image viewed from the virtual camera (viewpoint) is drawn (generated) in the object space in which the object moves.
[0058]
The drawing unit 140 includes a texture mapping unit 142.
[0059]
Here, the texture mapping unit 142 performs processing for mapping the texture stored in the texture storage unit 176 to the object (processing for specifying the texture to be mapped to the object, processing for transferring the texture, etc.) An original image area moving / rotating unit 144, an environmental texture deforming unit 146, an environmental texture switching unit 148, and a fade processing unit 149 are included.
[0060]
The original image area moving / rotating unit 144 performs a process of moving or rotating the original image area of environment mapping in the texture space (texture storage unit). More specifically, for example, texture coordinates (U, V coordinates) for designating a texture mapped to the object are changed so that the original image area moves or rotates. In this case, the original image area moving / rotating unit 144 performs environment mapping based on the course information stored in the course information storage unit 178 (in a broad sense, object position information or rotation angle information in the world coordinate system). Move or rotate the original image area. By doing so, the environment reflected in the object can be seen flowing, and a realistic image expression that has never been possible can be realized.
[0061]
In the present embodiment, an environmental texture (a texture that can be seen through a fisheye lens) that should be viewed upward from the object is mapped to the object from above the object. In this way, even when the position and rotation angle (direction) of the virtual camera changes, environment mapping in which the reflection of the light source is accurately expressed can be realized.
[0062]
In the present embodiment, for example, for an environmental texture representing a distant view, the original image area is fixed, and for an environmental texture representing a close view, the original image area is moved or rotated. Then, textures representing these distant and near views are synthesized and mapped to the object. In this way, more various image representations are possible.
[0063]
The environment texture deformation unit 146 performs a deformation process on the environment texture in the texture space. More specifically, the environment texture deformation unit 146 deforms the environment texture, for example, by mapping the environment texture in the texture space to the virtual object, and draws an image obtained by this mapping in the texture space. Then, the environment texture after the deformation process drawn in the texture space is mapped to the object. By doing in this way, it becomes possible to perform deformation processing, such as polar coordinate conversion, on the environment texture, and more realistic environment mapping can be realized.
[0064]
The environmental texture switching unit 148 performs processing for switching the environmental texture mapped to the object. More specifically, the environmental texture mapped to the object is switched based on the environmental texture specifying information included in the course information. By doing in this way, it becomes possible to map the optimum environment texture according to the game situation, the course situation, etc. to the object, and it is possible to realize a more diverse and realistic image expression.
[0065]
The fade processing unit 149 performs fade-out processing (gradual erasing processing) and fade-in processing (gradual display processing) of the environmental texture mapped to the object when switching the environmental texture. More specifically, when the environment texture mapped to the object is switched from, for example, the first environment texture to the second environment texture, first, the first environment texture is faded out. Next, fade-in processing of the second environment texture is performed.
[0066]
Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or not only the single player mode but also a multiplayer mode in which a plurality of players can play. The system may also be provided.
[0067]
Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated using a plurality of terminals.
[0068]
2. Features of this embodiment
(1) Moving and rotating the original image area
In the present embodiment, as shown in FIG. 2, in the texture space (U, V) in which the texture pattern such as the environment texture is defined, the original image area IM of the environment mapping (area in which the image to be mapped is defined) The environment texture (image in the original image area) is mapped to the object 10 such as a car while moving or rotating (scrolling). As a result, it is possible to express how the environment reflected in the object 10 (car) flows (environmental flow expression). That is, the environment reflected in the object 10 can be seen as flowing due to a change in the relative positional relationship between the object 10 and the surrounding environment (trees, buildings). Environment mapping can be realized with a small processing load.
[0069]
For example, as a first method for realizing environment mapping, a method of drawing an environment image visible from an object in real time on a virtual sphere and then mapping a virtual sphere image in the direction of a reflection vector to the object is considered. it can.
[0070]
However, with this first method, it is possible to represent the flow of the environment, but a processing load becomes very heavy because an image that can be seen from the object needs to be drawn in real time on a virtual sphere.
[0071]
As a second method for realizing environment mapping, an environment texture that represents the environment when the virtual camera is viewed from an object is prepared in advance, and the environment texture is determined from the direction of the virtual camera. A simple mapping method can be considered.
[0072]
However, in this second method, unless the position of the gazing point of the virtual camera changes, the reflected image on the object does not change, and thus real image expression such as environment flow expression cannot be realized.
[0073]
On the other hand, according to the present embodiment, it is possible to realize a real image expression that cannot be realized by the second method with a very light processing load compared to the first method.
[0074]
In the present embodiment, as shown in FIG. 2, the address control is performed so that the boundaries BD1 and BD2 of the environmental texture in the texture space are logically continuous. Therefore, when the boundary BD3 of the original image area IM exceeds the boundary BD1, the image returns to the boundary BD2 as indicated by G1 (the image from the boundary BD2 is used again). In this way, the used storage capacity of the texture storage unit 176 in FIG. 1 can be saved.
[0075]
In the present embodiment, the original image area for environment mapping is moved or rotated based on course information set for a course on which an object such as a car travels.
[0076]
For example, as shown in FIG. 3, a large number of course points PC are set on the course 30, and a road distance LC, a course direction DC, a course width WC, and the like are set for the course points PC. Then, one or a plurality of course points PC are selected based on the position of the object (car), and the road distance LC, course direction DC, and course width WC set for the selected course points PC are the course information in FIG. Read from the storage unit 178. Then, the order of the objects is determined based on the read road distance LC. Further, based on the read course direction DC, an object traveling assist or the like is performed. Further, based on the read course width WC, a hit check is performed between the wall and the object provided on both sides of the course and the object.
[0077]
In the present embodiment, the course information used for order determination, driving assistance, hit check, and the like is effectively used as described above to move or rotate the original image area of environment mapping.
[0078]
For example, as shown in FIG. 4A, in the present embodiment, the original image area IM is moved (scrolled) along the direction of the U coordinate (first direction) based on the road distance LC included in the course information. Yes.
[0079]
More specifically, first, a course point PC is selected based on the position of the object 10, and the road distance LC set to the course point PC is read out. Then, based on the read road distance LC, the amount of movement of the original image area IM in the direction of the U coordinate (the U coordinate of the representative point of IM) is determined.
[0080]
In this way, the original image area IM also moves with a movement amount corresponding to the movement amount of the object 10. For example, if the object 10 moves fast, the original image area IM also moves fast, and the reflected image on the object 10 also flows at high speed. When the object 10 stops, the flow of the reflected image on the object 10 also stops. Accordingly, it is as if trees and buildings are installed along the course, the installed trees and buildings are reflected on the object 10, and the reflected images of the trees and buildings flow as the object 10 moves. Can show. Thereby, a more realistic image expression can be realized.
[0081]
As shown in FIG. 4B, in the present embodiment, the original image area IM is moved along the direction of the V coordinate (second direction), for example, based on the course width WC included in the course information.
[0082]
More specifically, first, a course point PC is selected based on the position of the object 10, and the course width WC set to the course point PC is read out. Then, based on the read course width WC and the position of the object 10, the moving amount of the original image area IM in the V coordinate direction (V coordinate of the representative point of IM) is determined. That is, when the object 10 approaches the left side of the course 30, the original image area IM moves to the positive side of the V coordinate, for example, and when the object 10 approaches the right side of the course 30, the original image area IM. Moves to the negative side of the V coordinate, for example.
[0083]
In this way, when the object 10 moves in the left-right direction on the course 30, the reflected image on the object 10 changes accordingly. For example, as shown in FIG. 4B, when the object 10 approaches the left side of the course 30, the portion indicated by H1 of the environmental texture is not reflected on the object 10, while the portion indicated by H2 is projected and reflected on the object 10. It becomes like this. As a result, trees and buildings are installed along the course, the installed trees and buildings are reflected on the object 10, and the reflected images of the trees and buildings change as the object 10 moves in the horizontal direction. It can appear as if you are doing.
[0084]
In FIG. 4B, the environment texture is expanded in the V-coordinate direction so that an appropriate environment texture is mapped even when the original image area IM moves in the V-coordinate direction. A margin area as shown in FIG. However, as shown in FIG. 5A, such a margin area may not be provided. In this case, when the original image area IM is moved in the direction of the V coordinate as shown in FIG. 5B, the texture (color) at the boundary H6 is mapped to the protruding portion of H5. do it.
[0085]
In this embodiment, as shown in FIG. 6, the environment texture itself mapped to the object (or the virtual object to which the environment texture is mapped) is rotated based on the course direction DC included in the course information.
[0086]
More specifically, first, the course point PC is selected based on the position of the object, and the course direction DC set to the course point PC is read out. Based on the read course direction DC, the environmental texture itself is rotated and mapped to the object. For example, when the course direction DC rotates to the right (in the case of a right curve), the environmental texture also rotates to the right, and when the course direction DC rotates to the left (in the case of a left curve), the environment The texture also rotates to the left.
[0087]
In this way, when an object travels a corner, the environment texture also rotates along the corner curve. Therefore, it is possible to make it appear as if a tree or a building is installed along the corner and the installed tree or building is reflected in the object. Thereby, a real and consistent image expression can be realized.
[0088]
In the case of a game in which an object moves along a course (a car game, a bicycle game, a motorcycle game, etc.), it is desirable to move or rotate the original image area of environment mapping based on the course information. However, in the case of a game without such course information, the environment mapping original image area may be moved or rotated based on object position information and rotation angle (direction) information in the world coordinate system. .
[0089]
(2) Deformation of environmental texture
FIG. 7 shows an example of the environmental texture used in this embodiment. This environmental texture is an environmental texture that simulates a close view of a tree or a building installed along the course.
[0090]
In the present embodiment, deformation processing is performed on the environmental texture in the foreground, and the environment texture after the deformation processing is mapped to the object.
[0091]
More specifically, as shown in FIG. 8, the environment texture in the near view of the texture space is mapped to the virtual object 40 (hemisphere object). Then, an image obtained by this mapping is drawn in the texture space (texture storage unit) as an environmental texture in the foreground after the deformation process. Then, the drawn near-field environment texture after the deformation process and the far-field environment texture as shown in FIG. 9 are combined, and the combined environment texture is mapped to an object such as a car.
[0092]
Note that the environment texture of the distant view in FIG. 9 depicts the surrounding environment such as the sun, sky, and clouds that should be reflected on the object in a pattern as seen from below through the fisheye lens.
[0093]
FIG. 10A to FIG. 12C show examples of environmental textures in which a foreground and a distant view are combined according to this embodiment.
[0094]
FIGS. 10A, 10B, and 10C are diagrams after combining when the original image area IM of the foreground environmental texture is moved along the direction of the U coordinate, as described in FIG. It is an example of an environmental texture. In FIGS. 10A, 10B, and 10C, the environment texture of the distant view representing the sky, clouds, the sun, etc. is fixed, while the environment texture of the foreground representing the tree or the building is the direction indicated by I1. Is flowing. Therefore, on the object (car), the far-field reflected image almost stops, while the near-field reflected image flows quickly. Accordingly, it is possible to realize a realistic image expression in accordance with a real world event in which the reflection of a distant object stops and the reflection of a nearby object flows fast, with a small processing load.
[0095]
11 (A), 11 (B), and 11 (C) show the post-combination results when the original image area IM of the foreground environment texture is moved along the direction of the V coordinate, as described in FIG. 4 (B). It is an example of an environmental texture. In FIGS. 11A, 11B, and 11C, the environmental texture in the distant view is fixed, while the environmental texture in the close view moves in the direction indicated by I2. This makes it possible to realistically represent how the reflected image changes as the object moves in the horizontal direction of the course.
[0096]
FIGS. 12A, 12B, and 12C are examples of environment textures after synthesis when the environment texture itself mapped to the object is rotated based on the course direction, as described in FIG. is there. In FIGS. 12A, 12B, and 12C, the environment texture in the distant view is fixed, while the environment texture in the foreground is rotated in the direction indicated by I3. As a result, when the object travels in a corner, the environmental texture also rotates along the curve of the corner, and a more realistic and consistent image expression can be realized.
[0097]
In FIG. 8, the environment texture is deformed by mapping the environment texture to the virtual object 40. More specifically, the hemispherical virtual object 40 is composed of a plurality of polygons and has poles PL1 and PL2 in which vertices of the plurality of polygons are gathered. Then, the environment texture is mapped to the virtual object 40 so that, for example, the vertices VX1 and VX2 of the rectangular original image area IM are arranged at the pole PL1, and the vertices VX3 and VX4 are arranged at the pole PL2. By doing so, it becomes possible to perform deformation processing such as polar coordinate conversion on the environment texture.
[0098]
As shown in FIG. 8, by converting the environmental texture to a polar coordinate system having two poles, for example, in FIG. 13, the flow speed of the reflected image in the portion indicated by J1 is increased and shown in J2 and J3. The flow speed of the reflected image in the part can be slowed down. As a result, a perspective effect can be given to the flow speed of the reflected image, and an environment flow expression close to a real-world event can be realized.
[0099]
On the other hand, in FIG. 14, a hemispherical virtual object 42 having four poles PL1, PL2, PL3, and PL4 is prepared, and the environment texture is deformed by mapping the environment texture to the virtual object 42. Yes. More specifically, for example, the vertices VX1 and VX2 of the rectangular original image area IM are arranged at the pole PL1, the vertices VX3 and VX4 are arranged at the pole PL2, the vertices VX1 and VX4 are arranged at the pole PL3, and the vertex VX2, The environment texture is mapped to the virtual object 42 so that VX3 is arranged at the pole PL4 (vertices VX1, VX2, VX3, VX4 are arranged at the sides 43, 44, 45, 46).
[0100]
As shown in FIG. 14, by converting the environmental texture into a polar coordinate system having four poles, for example, a reflected image flows on the object 10 while turning around as shown by J4 in FIG. As a result, a perspective effect can be given in the direction in which the reflected image flows, and an environment flow expression close to a real-world event can be realized.
[0101]
Note that the virtual objects 40 and 42 to which the environmental texture is mapped need not be a three-dimensional object, and may be a two-dimensional object. That is, in FIGS. 8 and 14, it is sufficient that each vertex of the virtual objects 40 and 42 (vertex of the polygons constituting the virtual object) has X and Y coordinates (two-dimensional coordinates). It is not necessary to have (three-dimensional coordinates).
[0102]
(3) Environment texture mapping from above
In the environment mapping of the above-described second method (hereinafter referred to as a comparative example), as shown in FIG. 15, an environment texture that can be seen when viewing the virtual camera from an object is prepared, and this environment texture is prepared. Are mapped from the direction of the virtual camera.
[0103]
The reason for mapping from the direction of the virtual camera in this way is to make it appear as if the environment is reflected in that place where the virtual camera looks at any place of the object. In other words, if the environment is not reflected when the gaze location of the virtual camera goes around the back of the object, an unnatural image is formed.
[0104]
However, the environment mapping of this comparative example has a problem that the reflection of the light source cannot be expressed accurately. That is, since the light source always appears in the gaze location of the virtual camera, a contradiction occurs in the obtained image.
[0105]
Therefore, in this embodiment, as shown in B1 of FIG. 16, first, an environmental texture that should be viewed upward (directly upward) when viewed from the object 10 (model object) is prepared (FIGS. 7, 9 to 12 (FIG. 7). C)).
[0106]
In this embodiment, as shown in B2 of FIG. 16, the prepared environmental texture is mapped to the object 10 from above regardless of the position and rotation angle (direction) of the virtual camera 12. In this way, it is possible to realize environment mapping that can accurately represent the reflection of the light source even when the position or rotation angle of the virtual camera 12 changes.
[0107]
FIGS. 17A and 17B show examples of images obtained by environment mapping according to the comparative example described in FIG.
[0108]
In FIG. 17A, both the light source (sunset) and the virtual camera that are to be reflected by the environmental texture are in front of the object 10. In this case, as indicated by C1, a light source (sunset) is reflected in front of the object 10, and the images are consistent.
[0109]
On the other hand, in FIG. 17B, the light source is in front of the object 10, while the virtual camera is on the right side of the object 10. In this case, in the environment mapping of the comparative example, the light source to be reflected at the location C2 is reflected to the right of the object 10 as indicated by C3. That is, the reflection of the light source occurs in a place that does not correspond to the actual direction of the light source, resulting in a contradictory image.
[0110]
18A and 18B show examples of images obtained by environment mapping according to the present embodiment. In the figure, the reflection of the foreground is omitted.
[0111]
In FIG. 18A, both the light source and the virtual camera are in front of the object 10, as in FIG. And as shown to D1, the light source has reflected correctly in front of the object 10, and it has become a consistent image.
[0112]
On the other hand, in FIG. 18B, the light source is in front of the object 10 and the virtual camera is on the right as in FIG. 17B described above. In this case, in the environment mapping of the present embodiment, unlike FIG. 17B, the light source is not reflected in the location D3 but is correctly reflected in the location D2. That is, the light source is correctly reflected in the location corresponding to the actual light source direction, and the images are consistent. As described above, according to the present embodiment, the light source is correctly reflected in the location corresponding to the actual light source direction regardless of the position and direction of the virtual camera. Accordingly, since the contradiction occurs in the environment mapping of the comparative example, the reflection of the light source, which had to be abandoned, can be realized without contradiction.
[0113]
Next, a method for obtaining the texture coordinates of the environmental texture mapped to the object 10 will be described with reference to FIG.
[0114]
First, based on the rotation angle around each axis in the world coordinate system of the object 10, for example, a rotation matrix from the local coordinate system (XL, YL, ZL) to the world coordinate system (XW, YW, ZW) is obtained. Here, the rotation angle about each axis in the world coordinate system of the object 10 is determined based on operation data from the player (player driving operation), a game program (program for controlling the movement of the object 10), and the like. Each rotation is obtained in real time, and the rotation matrix is obtained based on the rotation angle obtained in real time.
[0115]
Next, the normal vector N (vector for expressing the direction of the surface) of each surface of the object 10 is rotated by the obtained rotation matrix. The normal vector is preferably a normal vector given to each vertex of each surface (polygon) of the object 10, but may be a normal vector of a representative point of each surface or each dot.
[0116]
Next, based on the rotated normal vector N, U and V coordinates for texture mapping are obtained. Then, based on the U and V coordinates, the corresponding texture is read from the texture storage unit.
[0117]
As described above, if the normal vector is rotated by the rotation matrix and the U and V coordinates of the texture mapping are obtained based on the rotated normal vector, appropriate environment mapping according to the position and direction of the object is obtained. Can be realized.
[0118]
That is, in E1 of FIG. 20, the direction of the normal vector N on the side surface of the object 10 and the direction of the light source (the direction of the light source vector) coincide in the opposite direction (because the angle difference is 180 degrees). The brightness of the light source reflected on the screen is the strongest. On the other hand, in E2 of FIG. 20, the direction of the normal vector N on the side surface of the object 10 and the direction of the light source do not match (because the angle difference is smaller than 180 degrees), so the light source reflected on the side surface compared to the case of E1. The brightness of is weakened. Therefore, when the position or direction of the object 10 changes, the reflection of the light source changes in accordance with the change, and a realistic image that has never existed can be generated.
[0119]
Examples of game images generated according to the present embodiment are shown in FIGS. 21A and 21B, and in the same figure, the reflection of the near view is omitted.
[0120]
In FIG. 21A, light from the light source is applied from the left side of the object 10 (right side of the screen). In this case, according to the environment mapping of the present embodiment, the light source is reflected on the left surface of the object as indicated by F1, and there is no contradiction with the shading process applied to the object 10. Succeeded in reflecting the light source. Further, according to the present embodiment, there is no contradiction between the shape and position of the shadow 16 of the object 10 dropped on the road and the reflection of the light source.
[0121]
On the other hand, in FIG. 21B, light from the light source is applied from the left front side of the object 10 (right front side of the screen). In this case, according to the environment mapping of the present embodiment, as shown in F2, a light source is reflected in the left front of the object, and there is no contradiction with the shading process applied to the object 10. Has been successfully reflected. Further, there is no contradiction between the shape and position of the shadow 16 dropped on the road and the reflection of the light source.
[0122]
(4) Environment texture switching
In the present embodiment, a plurality of environment textures are prepared, and the environment texture mapped to the object is switched as appropriate.
[0123]
For example, during normal travel of the object (car), environmental textures as shown in FIGS. 7 and 9 to 12C are used. On the other hand, when an object enters a tunnel (closed space in a broad sense), the environment texture to be used is switched, and the environment texture on which walls and lighting in the tunnel are depicted as shown in FIG. 22 is used.
[0124]
When such environmental texture switching is performed, it is desirable to prevent the player from noticing that the environmental texture has been switched.
[0125]
Therefore, in this embodiment, when switching from the first environment texture to the second environment texture, the first environment texture is faded out and the second environment texture is faded in.
[0126]
That is, in FIG. 23, when the object 10 is traveling outside the tunnel 50 (closed space), the environmental texture A (FIGS. 7, 9 to 12C) is mapped to the object 10. Immediately before the object 10 enters the tunnel 10, the fade-out process of the environmental texture A is performed, and the reflection of the image by the environmental texture A is gradually turned off. When the object 10 enters the tunnel 10, this time, the fade-in process of the environment texture B (FIG. 22) is performed so that the reflection of the image by the environment texture B gradually becomes visible.
[0127]
By doing so, it is possible to make the environment texture change inconspicuous and generate a more natural and realistic image.
[0128]
The environmental texture A fade-out process and the environmental texture B fade-in process may be performed simultaneously. Alternatively, the environment texture B may be faded in after a short period of time after the environment texture A fade-out process is performed.
[0129]
The environmental texture fade-out process and the fade-in process may be realized by controlling the α value (transparency) of the environmental texture, or may be realized by rewriting the environmental texture color information itself.
[0130]
Further, it is desirable to perform the fade-out process of the environmental texture A at the time of an object entry event into a closed space such as a tunnel provided in the object space. That is, even in the real world, the surrounding environment becomes dark when entering the tunnel. Therefore, even if the environment texture A is faded out when entering the tunnel and the surrounding environment is not reflected in the object, the player does not feel so unnatural. Therefore, by performing the fade-out process of the environmental texture A when entering such a tunnel, it becomes possible to make the state of the environmental texture switching less noticeable and increase the virtual reality of the player.
[0131]
In this embodiment, the environmental texture switching process is performed based on the course information set for the course. More specifically, for example, environmental texture specifying information for specifying the type of environmental texture is included in the course information. Then, a course point is selected based on the position of the object, and environment texture specifying information set for the selected course point is read out. Then, the environmental texture is switched based on the read environmental texture specifying information.
[0132]
For example, in FIG. 23, information for specifying the environmental texture A is set in the course information of the section STA, and information for specifying the environmental texture B is set in the course information of the section STB. Then, based on the environmental texture specifying information, switching processing from environmental texture A to B is performed at the switching point 52. By doing so, the course information used for determining the rank and the like can be effectively used, and the environmental texture switching process can be realized by a simple process.
[0133]
The course information set at the switching point 52 may include an environment texture switching flag as environment texture specifying information, and the environment texture may be switched using the environment texture switching flag as a trigger.
[0134]
In the present embodiment, a map object for switching environmental textures is arranged in a connection area for switching environmental textures.
[0135]
That is, as shown in FIG. 24, the switching map object 60 is arranged in the connection area 58 between the points 54 and 56. For example, when the environment texture A is faded out near the point 54 and the object 10 is located in the connection area 58, the environment texture is not mapped onto the object (the environment mapping is omitted). . Then, fade-in processing of the environmental texture B is performed in the vicinity of the point 56, and the environmental texture B representing the illumination in the tunnel as shown in FIG. 22 is mapped to the object 10 in the tunnel 50.
[0136]
As described above, by providing the connection area 58 and arranging the switching map object 60 in the connection area 58 to intentionally create a dark environment, it is possible to make the environment texture switching more inconspicuous.
[0137]
That is, when the object 10 enters the connection area 58, even if the environment texture A fades out and the environment is not reflected on the object, the periphery of the object 10 is covered with the switching map object 60 and is dark. Since it is assumed to be an environment, the player does not feel unnatural. Then, when the illumination in the tunnel 50 becomes visible, the environment texture B is faded-in so that the illumination in the tunnel is reflected on the object 10. By doing so, the environment reflected in the object 10 can be switched more naturally, and the virtual reality of the player can be enhanced.
[0138]
3. Processing of this embodiment
Next, a detailed example of the processing of this embodiment will be described using the flowcharts of FIGS.
[0139]
First, the original picture texture of the object (car) (a texture prepared in advance as a texture representing the design of the object) is transferred to the texture storage unit on the VRAM (step S1).
[0140]
Next, the texture memory unit stores the distant view environment texture (FIG. 9) and the foreground environment texture (FIGS. 7 and 22) specified by the environment texture specifying information in the course information shown in FIG. (Step S2). When the object is located in the tunnel, the environmental texture of the distant view is not transferred.
[0141]
Next, as described with reference to FIG. 4A, the U coordinate of the environmental texture in the foreground is calculated based on the road distance LC in the course information shown in FIG. 27A (step S3). Further, as described with reference to FIG. 4B, the V coordinate of the environmental texture in the foreground is calculated based on the course width WC in the course information in FIG. 27A (step S4). Then, based on these calculation results, the U and V coordinates of each vertex of the hemispherical virtual object are calculated, and based on the obtained U and V coordinates, the virtual object is displayed on the virtual object as described in FIG. The environmental texture is mapped (step S5). For example, the U and V coordinates of each vertex of the virtual object are calculated as shown in the following equation.
[0142]
UF = U0 + {MOD (LC | TL)} / TL (3)
VF = V0 + (WP / WC) (4)
In the above equation, U0 and V0 are U and V coordinates of initial values given in advance to each vertex of the virtual object. Further, LC is a road distance included in the course information, TL is a length in the U coordinate direction of the environmental texture, and MOD (X | Y) is a remainder when X is divided by Y. WP is the position of the object in the course width direction, and WC is the course width included in the course information (see FIGS. 27A and 27B).
[0143]
Note that the road distance LC may be calculated based on the course point PC without including the road distance LC in the course information. That is, in this case, the course point PC itself corresponds to the road distance information.
[0144]
Next, the virtual object to which the environmental texture of the foreground is mapped is rotated based on the course direction DC (see FIGS. 27A and 27B) in the course information as described with reference to FIG. S6). Then, the image of the rotated virtual object is drawn on the environmental texture in the distant view of the texture space (step S7). Thereby, the environmental texture in the distant view and the environmental texture in the foreground are combined on the texture space (texture storage unit).
[0145]
Next, it is determined whether or not the object is located in the fade-out range or the fade-in range (see FIG. 27B) of the environmental texture (step S8). The α value (translucency, transparency, opacity) of the environmental texture is changed according to the distance between the switching point and the object (step S9). In this way, environmental texture fade-out processing and fade-in processing are realized. The α value in this case is calculated, for example, as in the following equation.
[0146]
α = | LC-LP | / RL (5)
Here, LC is the road distance at the current object position, LP is the road distance to the switching point, and RL is the length of the fade range (see FIG. 27B). | Z | is the absolute value of Z.
[0147]
Next, object geometry processing is performed based on the object data (object vertex coordinates, vertex texture coordinates, luminance data, etc.) (step S10 in FIG. 26). More specifically, for example, the coordinates of the object are transformed from the local coordinate system to the world coordinate system, then the coordinates are transformed from the world coordinate system to the viewpoint coordinate system, the clipping process is performed, and the perspective to the screen coordinate system is then performed. Perform conversion. Then, the object data after the perspective transformation is stored in the main memory and saved without being erased (step S11).
[0148]
Next, the object is drawn in the frame buffer based on the object data after the perspective transformation and the original picture texture of the object transferred in step S1 of FIG. 25 (step S12). As a result, an object of the original design that has not been subjected to environment mapping is drawn.
[0149]
Next, as described in FIG. 19, the normal vector of each vertex of the object is rotated by a rotation matrix from the local coordinate system to the world coordinate system (step S13). Then, based on the coordinates NXW and NZW of the rotated normal vector, the U and V coordinates of the environmental texture are obtained (step S14). The calculation formula for obtaining the U and V coordinates in this case is as follows, for example.
[0150]
U = (NXW + 1.0) / 2 (6)
V = (NZW + 1.0) / 2 (7)
The reason why the above calculation is performed is that the range of U and V coordinates is 0.0 to 1.0, and the range of NXW and NZW is -1.0 to 1.0.
[0151]
Next, the obtained U and V coordinates are overwritten on the U and V coordinates of each vertex of the object data (vertex list) stored in the main memory in step S11 (step S15). That is, the U and V coordinates set in the object model data are replaced with the U and V coordinates obtained based on the normal vector.
[0152]
Next, an object is drawn in the frame buffer based on the object data in which the U and V coordinates are overwritten in step S15 and the environmental texture (distant view, near view) synthesized in step S7 of FIG. 25 (step S16). That is, the object to which the environmental texture is mapped is overwritten on the object already drawn in step S12 (the object to which the original picture texture is mapped). Thus, in this embodiment, environment mapping is realized by writing an object with the same coordinates twice.
[0153]
4). Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.
[0154]
The main processor 900 operates based on a program stored in the CD 982 (information storage medium), a program transferred via the communication interface 990, or a program stored in the ROM 950 (one of information storage media). Various processes such as processing, image processing, and sound processing are executed.
[0155]
The coprocessor 902 assists the processing of the main processor 900, has a product-sum calculator and a divider capable of high-speed parallel calculation, and executes matrix calculation (vector calculation) at high speed. For example, if a physical simulation for moving or moving an object requires processing such as matrix operation, a program operating on the main processor 900 instructs (requests) the processing to the coprocessor 902. )
[0156]
The geometry processor 904 performs geometry processing such as coordinate transformation, perspective transformation, light source calculation, and curved surface generation, has a product-sum calculator and a divider capable of high-speed parallel computation, and performs matrix computation (vector computation). Run fast. For example, when processing such as coordinate transformation, perspective transformation, and light source calculation is performed, a program operating on the main processor 900 instructs the geometry processor 904 to perform the processing.
[0157]
The data decompression processor 906 performs a decoding process for decompressing the compressed image data and sound data, and a process for accelerating the decoding process of the main processor 900. As a result, a moving image compressed by the MPEG method or the like can be displayed on the opening screen, the intermission screen, the ending screen, or the game screen. Note that the image data and sound data to be decoded are stored in the ROM 950 and the CD 982 or transferred from the outside via the communication interface 990.
[0158]
The drawing processor 910 performs drawing (rendering) processing of an object composed of primitive surfaces such as polygons and curved surfaces at high speed. When drawing an object, the main processor 900 uses the function of the DMA controller 970 to pass the object data to the drawing processor 910 and transfer the texture to the texture storage unit 924 if necessary. Then, the rendering processor 910 renders the object in the frame buffer 922 at high speed while performing hidden surface removal using a Z buffer or the like based on the object data and texture. The drawing processor 910 can also perform α blending (translucent processing), depth cueing, mip mapping, fog processing, trilinear filtering, anti-aliasing, shading processing, and the like. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.
[0159]
The sound processor 930 includes a multi-channel ADPCM sound source and the like, and generates high-quality game sounds such as BGM, sound effects, and sounds. The generated game sound is output from the speaker 932.
[0160]
Operation data from the game controller 942, save data from the memory card 944, and personal data are transferred via the serial interface 940.
[0161]
The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950.
[0162]
The RAM 960 is used as a work area for various processors.
[0163]
The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).
[0164]
The CD drive 980 drives a CD 982 (information storage medium) in which programs, image data, sound data, and the like are stored, and enables access to these programs and data.
[0165]
The communication interface 990 is an interface for transferring data to and from the outside via a network. In this case, as a network connected to the communication interface 990, a communication line (analog telephone line, ISDN), a high-speed serial bus, or the like can be considered. By using a communication line, data transfer via the Internet becomes possible. Further, by using the high-speed serial bus, data transfer between other image generation systems and other game systems becomes possible.
[0166]
All of the means of the present invention may be executed by hardware alone, or may be executed only by a program stored in an information storage medium or a program distributed via a communication interface. Alternatively, it may be executed by both hardware and a program.
[0167]
When each means of the present invention is executed by both hardware and a program, a program for executing each means of the present invention using hardware is stored in the information storage medium. Become. More specifically, the program instructs each processor 902, 904, 906, 910, 930, etc., which is hardware, and passes data if necessary. Each processor 902, 904, 906, 910, 930, etc. executes each means of the present invention based on the instruction and the passed data.
[0168]
FIG. 29A shows an example in which the present embodiment is applied to an arcade game system. The player enjoys the game by operating the lever 1102, the button 1104, and the like while viewing the game image displayed on the display 1100. Various processors and various memories are mounted on the built-in system board (circuit board) 1106. Information (program or data) for executing each means of the present invention is stored in a memory 1108 which is an information storage medium on the system board 1106. Hereinafter, this information is referred to as storage information.
[0169]
FIG. 29B shows an example in which the present embodiment is applied to a home game system. The player enjoys the game by operating the game controllers 1202 and 1204 while viewing the game image displayed on the display 1200. In this case, the stored information is stored in a CD 1206 or a memory card 1208, 1209, which is an information storage medium that is detachable from the main system.
[0170]
FIG. 29C shows a host apparatus 1300 and terminals 1304-1 to 1304-n connected to the host apparatus 1300 via a network 1302 (a small-scale network such as a LAN or a wide area network such as the Internet). An example of applying this embodiment to a system including In this case, the stored information is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a memory that can be controlled by the host device 1300, for example. When the terminals 1304-1 to 1304-n can generate game images and game sounds stand-alone, the host device 1300 receives a game program and the like for generating game images and game sounds from the terminal 1304-. 1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates a game image and a game sound, which is transmitted to the terminals 1304-1 to 1304-n and output at the terminal.
[0171]
In the case of the configuration shown in FIG. 29C, each unit of the present invention may be executed in a distributed manner between the host device (server) and the terminal. The storage information for executing each means of the present invention may be distributed and stored in the information storage medium of the host device (server) and the information storage medium of the terminal.
[0172]
The terminal connected to the network may be a home game system or an arcade game system. When connecting the arcade game system to a network, a portable information storage device capable of exchanging information with the arcade game system and exchanging information with the home game system. It is desirable to use (memory card, portable game device).
[0173]
The present invention is not limited to the one described in the above embodiment, and various modifications can be made.
[0174]
For example, in the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention can be made dependent on another independent claim.
[0175]
Further, as a method for moving or rotating the original image area of the environmental texture, the method described with reference to FIGS. 4A to 6 is particularly desirable, but the method is not limited to this. For example, the original image area may be moved or rotated based on information other than the course information.
[0176]
The course information setting method is not limited to the method described with reference to FIGS. 3, 27 </ b> A, and 27 </ b> B.
[0177]
Further, in the method of mapping the environment texture while moving or rotating the original image region, it is particularly desirable to map the environment texture from the upper direction as shown in FIG. 16, but the present invention is not limited to this.
[0178]
Further, the texture deformation method described with reference to FIGS. 8 and 14 is not limited to the environment texture deformation, and can be used for various texture deformations.
[0179]
In the invention for switching the environmental texture, it is not necessary to adopt a method for moving or rotating the original image region or a method for mapping the environmental texture from above.
[0180]
Further, the shape and design of the environmental texture mapped by the present invention are not limited to those described in the present embodiment.
[0181]
In addition, when the image generation system supports a multi-texture mapping function (multi-texture mapping in a narrow sense) in which multiple textures are mapped to one object, the original is applied to the object. It is desirable to perform multi-texture mapping by superimposing picture textures (model data textures) and environmental textures at once. When a plurality of textures are superimposed on one object in this way, a plurality of sets such as texture coordinates for specifying the original picture texture and texture coordinates for specifying the environment texture are included in the object data. The texture coordinates may be included.
[0182]
Further, the texture mapped to the object is not limited to the texture of color information, but luminance information, translucent information (α value), surface shape information (bump value), reflectance information, refractive index information, or depth information. The texture about etc. may be sufficient.
[0183]
In addition to the racing game, the present invention can be applied to various games (a fighting game, a shooting game, a robot battle game, a sports game, a competition game, a role playing game, a music playing game, a dance game, etc.).
[0184]
Further, the present invention can be applied to various image generation systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, and a system board for generating game images.
[Brief description of the drawings]
FIG. 1 is an example of a block diagram of an image generation system according to an embodiment.
FIG. 2 is a diagram for explaining a technique for mapping environmental textures while moving or rotating an original image area;
FIG. 3 is a diagram for explaining course information;
FIGS. 4A and 4B are diagrams for explaining a method of moving an original image area based on a road distance and a course width in course information.
FIGS. 5A and 5B are diagrams for explaining a method when a margin area in the V coordinate direction is not provided for an environmental texture.
FIG. 6 is a diagram for explaining a method of rotating an environmental texture itself based on a course direction in course information.
FIG. 7 is a diagram illustrating an example of a foreground environment texture.
FIG. 8 is a diagram for explaining a method of deforming a near-field environment texture and combining it with a far-field environment texture.
FIG. 9 is a diagram illustrating an example of an environmental texture of a distant view.
FIGS. 10A, 10B, and 10C are examples of environmental textures in which a near view and a distant view are combined.
11A, 11B, and 11C are also examples of environmental textures in which a foreground and a distant view are combined.
FIGS. 12A, 12B, and 12C are also examples of environmental textures in which a near view and a distant view are combined.
FIG. 13 is a diagram for explaining an effect of a method of deforming an environment texture by mapping the environment texture to a virtual object having a pole.
FIG. 14 is a diagram for explaining a method of deforming an environment texture by mapping the environment texture to a virtual object having four poles.
FIG. 15 is a diagram for describing environment mapping of a comparative example;
FIG. 16 is a diagram for describing a technique for mapping environmental textures from above.
FIGS. 17A and 17B are diagrams illustrating an example of an image generated by environment mapping according to a comparative example.
18A and 18B are diagrams illustrating examples of images generated by environment mapping according to the present embodiment.
FIG. 19 is a diagram for explaining a method of obtaining texture coordinates by rotating a normal vector with a rotation matrix.
FIG. 20 is a diagram for explaining a state in which a reflection state of a light source on an object changes according to a change in the rotation angle of the object.
FIGS. 21A and 21B are examples of game images generated according to the present embodiment.
FIG. 22 is a diagram illustrating an example of an environmental texture of a foreground used in a tunnel.
FIG. 23 is a diagram for describing a technique for performing environmental texture fade-out processing and fade-in processing when switching environmental textures;
FIG. 24 is a diagram for explaining a method of arranging a map object for switching an environmental texture in a connection area.
FIG. 25 is a flowchart illustrating a detailed processing example of the present embodiment.
FIG. 26 is a flowchart showing a detailed processing example of the present embodiment.
FIGS. 27A and 27B are diagrams for explaining course information. FIG.
FIG. 28 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIGS. 29A, 29B, and 29C are diagrams showing examples of various types of systems to which the present embodiment is applied.
[Explanation of symbols]
10 objects
12 Virtual cameras
14 Light source
16 Shadow
30 courses
40, 42 Virtual objects
43, 44, 45, 46 sides
50 tunnel (closed space)
52 Switching point
54, 56 points
58 Connecting area
60 Map object for switching
100 processor
110 Game processor
112 Movement / motion calculation unit
114 Map object placement section
130 Image generator
132 Geometry processing part
134 Normal vector processing unit
140 Drawing part
142 Texture mapping section
144 Original image area moving / rotating unit
146 Environment texture deformation part
148 Environment texture switching part
149 Fade processing part
150 sound generator
160 Operation unit
170 Storage unit
172 Main memory
174 frame buffer
176 texture storage
178 Course information storage
179 Map object information storage unit
180 Information storage medium
190 Display
192 sound output section
194 Portable information storage device
196 Communication Department

Claims (6)

画像を生成するための画像生成システムであって、
テクスチャパターンが定義されるテクスチャ空間において環境マッピングの原像領域を移動又は回転させながら、環境テクスチャをオブジェクトにマッピングする手段と、
オブジェクト空間において仮想カメラから見える画像を描画する手段とを含み、
テクスチャ空間の環境テクスチャを仮想オブジェクトにマッピングすることで得られる画像が、変形処理後の環境テクスチャとしてテクスチャ空間に描画され、テクスチャ空間に描画された変形処理後の環境テクスチャがオブジェクトにマッピングされ、
環境マッピングの原像領域が矩形であり、前記仮想オブジェクトが、複数のポリゴンで構成されると共に該複数のポリゴンの頂点が集まった極を有する場合に、前記矩形の隣り合う2つの頂点が前記極に配置されるように、テクスチャ空間の環境テクスチャが仮想オブジェクトにマッピングされることを特徴とする画像生成システム。
An image generation system for generating an image,
Means for mapping the environment texture to the object while moving or rotating the original image area of the environment mapping in the texture space in which the texture pattern is defined;
Only it contains and means for drawing an image viewed from the virtual camera in the object space,
The image obtained by mapping the environment texture in the texture space to the virtual object is drawn in the texture space as the environment texture after the deformation process, the environment texture after the deformation process drawn in the texture space is mapped to the object,
When the original image area of the environment mapping is a rectangle, and the virtual object has a pole composed of a plurality of polygons and the vertices of the plurality of polygons are gathered, two adjacent vertices of the rectangle are the poles. An image generation system, wherein an environment texture in a texture space is mapped to a virtual object so as to be arranged in
請求項1において、
前記環境テクスチャが、オブジェクトから見て上方向に見えるべき環境を表すテクスチャであり、該環境テクスチャが、仮想カメラの位置又は回転角度に依らずにオブジェクトの上方向からオブジェクトにマッピングされることを特徴とする画像生成システム。
In claim 1,
The environment texture is a texture that represents an environment that should be viewed upward from the object, and the environment texture is mapped to the object from above the object regardless of the position or rotation angle of the virtual camera. An image generation system.
請求項2において、
オブジェクトの面の向きを表すための法線ベクトルを、ローカル座標系からワールド座標系への回転マトリクスで回転させ、回転後の法線ベクトルの座標に基づいて環境テクスチャのテクスチャ座標を求め、求められたテクスチャ座標に基づいてテクスチャ記憶部から環境テクスチャを読み出すことで、環境テクスチャが、オブジェクトの上方向からオブジェクトにマッピングされることを特徴とする画像生成システム。
In claim 2,
The normal vector for representing the orientation of the object's face is rotated by the rotation matrix from the local coordinate system to the world coordinate system, and the texture coordinates of the environmental texture are obtained based on the coordinates of the rotated normal vector. An image generation system characterized in that an environment texture is mapped to an object from above the object by reading the environment texture from the texture storage unit based on the texture coordinates.
コンピュータ読み取り可能な情報記憶媒体であって、
テクスチャパターンが定義されるテクスチャ空間において環境マッピングの原像領域を移動又は回転させながら、環境テクスチャをオブジェクトにマッピングする手段と、
オブジェクト空間において仮想カメラから見える画像を描画する手段としてコンピュータを機能させるためのプログラムを記憶し、
テクスチャ空間の環境テクスチャを仮想オブジェクトにマッピングすることで得られる画像が、変形処理後の環境テクスチャとしてテクスチャ空間に描画され、テクスチャ空間に描画された変形処理後の環境テクスチャがオブジェクトにマッピングされ、
環境マッピングの原像領域が矩形であり、前記仮想オブジェクトが、複数のポリゴンで構成されると共に該複数のポリゴンの頂点が集まった極を有する場合に、前記矩形の隣り合う2つの頂点が前記極に配置されるように、テクスチャ空間の環境テクスチャが仮想オブジェクトにマッピングされることを特徴とする情報記憶媒体。
A computer- readable information storage medium,
Means for mapping the environment texture to the object while moving or rotating the original image area of the environment mapping in the texture space in which the texture pattern is defined;
Storing a program for causing a computer to function as a means for drawing an image viewed from the virtual camera in an object space,
The image obtained by mapping the environment texture in the texture space to the virtual object is drawn in the texture space as the environment texture after the deformation process, the environment texture after the deformation process drawn in the texture space is mapped to the object,
When the original image area of the environment mapping is a rectangle, and the virtual object has a pole composed of a plurality of polygons and the vertices of the plurality of polygons are gathered, two adjacent vertices of the rectangle are the poles. An information storage medium, wherein an environment texture in a texture space is mapped to a virtual object so as to be arranged in
請求項において、
前記環境テクスチャが、オブジェクトから見て上方向に見えるべき環境を表すテクスチャであり、該環境テクスチャが、仮想カメラの位置又は回転角度に依らずにオブジェクトの上方向からオブジェクトにマッピングされることを特徴とする情報記憶媒体。
In claim 4 ,
The environment texture is a texture representing an environment that should be viewed upward from the object, and the environment texture is mapped to the object from above the object regardless of the position or rotation angle of the virtual camera. An information storage medium.
請求項において、
オブジェクトの面の向きを表すための法線ベクトルを、ローカル座標系からワールド座標系への回転マトリクスで回転させ、回転後の法線ベクトルの座標に基づいて環境テクスチャのテクスチャ座標を求め、求められたテクスチャ座標に基づいてテクスチャ記憶部から環境テクスチャを読み出すことで、環境テクスチャが、オブジェクトの上方向からオブジェクトにマッピングされることを特徴とする情報記憶媒体。
In claim 5 ,
The normal vector for expressing the orientation of the object's face is rotated by a rotation matrix from the local coordinate system to the world coordinate system, and the texture coordinates of the environmental texture are obtained based on the coordinates of the rotated normal vector. An information storage medium characterized in that an environmental texture is mapped to an object from above the object by reading the environmental texture from the texture storage unit based on the texture coordinates.
JP2001323983A 2001-10-22 2001-10-22 Image generation system and information storage medium Expired - Lifetime JP4443084B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001323983A JP4443084B2 (en) 2001-10-22 2001-10-22 Image generation system and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001323983A JP4443084B2 (en) 2001-10-22 2001-10-22 Image generation system and information storage medium

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP34514199A Division JP3269813B2 (en) 1999-12-03 1999-12-03 Image generation system and information storage medium

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009277419A Division JP4721476B2 (en) 2009-12-07 2009-12-07 Image generation system and information storage medium

Publications (2)

Publication Number Publication Date
JP2002183752A JP2002183752A (en) 2002-06-28
JP4443084B2 true JP4443084B2 (en) 2010-03-31

Family

ID=19140792

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001323983A Expired - Lifetime JP4443084B2 (en) 2001-10-22 2001-10-22 Image generation system and information storage medium

Country Status (1)

Country Link
JP (1) JP4443084B2 (en)

Also Published As

Publication number Publication date
JP2002183752A (en) 2002-06-28

Similar Documents

Publication Publication Date Title
JP3249955B2 (en) Image generation system and information storage medium
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP4610748B2 (en) Image generation system, program, and information storage medium
JP3280355B2 (en) Image generation system and information storage medium
JP4721476B2 (en) Image generation system and information storage medium
JP2009129167A (en) Program, information storage medium, and image generation system
JP4229319B2 (en) Image generation system, program, and information storage medium
JP4743770B2 (en) Image generation system, program, and information storage medium
JP4367804B2 (en) Image generation system and information storage medium
JP3297410B2 (en) Image generation system and information storage medium
JP4651204B2 (en) Image generation system, program, and information storage medium
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3269813B2 (en) Image generation system and information storage medium
JP4187192B2 (en) Image generation system, program, and information storage medium
JP2005209217A (en) Game system and information storage medium
JP4245356B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2001229403A (en) Game system and information storage medium
JP4450535B2 (en) Image generation system and information storage medium
JP3254195B2 (en) Image generation system and information storage medium
JP4707078B2 (en) Image generation system, program, and information storage medium
JP4574058B2 (en) Image generation system, program, and information storage medium
JP4443084B2 (en) Image generation system and information storage medium
JP4698701B2 (en) Image generation system, program, and information storage medium
JP3431562B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4394211B2 (en) Image generation system and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091007

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091207

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: 20100106

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: 20100112

R150 Certificate of patent or registration of utility model

Ref document number: 4443084

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: 20130122

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130122

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140122

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

EXPY Cancellation because of completion of term