Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4349551B2 - Image generation system and information storage medium - Google Patents
[go: Go Back, main page]

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

Image generation system and information storage medium Download PDF

Info

Publication number
JP4349551B2
JP4349551B2 JP2001323911A JP2001323911A JP4349551B2 JP 4349551 B2 JP4349551 B2 JP 4349551B2 JP 2001323911 A JP2001323911 A JP 2001323911A JP 2001323911 A JP2001323911 A JP 2001323911A JP 4349551 B2 JP4349551 B2 JP 4349551B2
Authority
JP
Japan
Prior art keywords
texture
processing
change
object data
data
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 - Fee Related
Application number
JP2001323911A
Other languages
Japanese (ja)
Other versions
JP2002197482A (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.)
Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
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 Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.), Namco Ltd, Namco Bandai Games Inc filed Critical Kabushiki Kaisha Bandai Namco Entertainment (also trading as Bandai Namco Entertainment Inc.)
Priority to JP2001323911A priority Critical patent/JP4349551B2/en
Publication of JP2002197482A publication Critical patent/JP2002197482A/en
Application granted granted Critical
Publication of JP4349551B2 publication Critical patent/JP4349551B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成する画像生成システムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、レーシングカー(オブジェクト)を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作するレーシングカーと競争することで3次元ゲームを楽しむ。
【0003】
このような画像生成システムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。そして、少ないポリゴン数で画像のディテール表現を飛躍的に向上させることができる手法として、マルチテクスチャマッピングと呼ばれるものが知られている。このマルチテクスチャマッピング(マルチテクスチャブレンディング)では、1つのオブジェクト(ポリゴン)に複数のテクスチャが重ねてマッピングされる。従って、このマルチテクスチャマッピングによれば、1枚のテクスチャのみをマッピングする従来のテクスチャマッピングでは表現できない、多様で高ディテールの画像を表現できるようになる。
【0004】
しかしながら、このマルチテクスチャマッピングには、ハードウェアの処理負担が非常に重いという問題点がある。従って、このマルチテクスチャマッピングは、画像生成のリアルタイム性が要求されないCGの世界においては用いられているが、画像生成のリアルタイム性が要求される家庭用、業務用ゲームシステムなどの画像生成システムでは、このようなマルチテクスチャマッピングの機能がハードウェアでサポートされていないのが現状である。従って、このようなマルチテクスチャマッピング機能がサポートされていない画像生成システムにおいて、少ない処理負担で如何にしてマルチテクスチャマッピングを実現するかが重要な課題となる。
【0005】
更に、家庭用や業務用のゲームシステムにおいては、長期にわたって飽きの来ないゲームを提供することが重要な課題となっている。そのためには、プレーヤが操作するオブジェクト(レーシングカー、格闘ゲームのキャラクタ等)についても、幅広い層のプレーヤの要望に応えることができる多様なデザインのオブジェクトを用意しておくことが望まれる。
【0006】
しかしながら、画像生成システムのメモリの記憶容量は有限であり、プレーヤが操作するオブジェクトの種類の増加にも限界がある。従って、メモリの記憶容量をそれほど消費することなく、如何に多くの種類のオブジェクトをプレーヤに提供できるかが重要な課題となる。
【0007】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負担でマルチテクスチャマッピングを実現できる画像生成システム及び情報記憶媒体を提供することにある。
【0008】
また本発明の他の目的は、プレーヤが操作するオブジェクトのデザインのバラエティ度を、記憶容量をそれほど消費することなく増すことができる画像生成システム及び情報記憶媒体を提供することにある。
【0009】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像を生成するための画像生成システムであって、オブジェクトに対してジオメトリ処理を施し、ジオメトリ処理後のオブジェクトデータを記憶手段に格納する手段と、ジオメトリ処理後のオブジェクトデータと、テクスチャ記憶手段に記憶されるテクスチャとに基づいて、オブジェクトを描画する描画手段と、オブジェクトにマッピングされるテクスチャを変更する手段とを含み、前記描画手段が、前記記憶手段に記憶されるジオメトリ処理後のオブジェクトデータと、変更後のテクスチャとに基づいて、変更前のテクスチャがマッピングされるオブジェクトの上に、変更後のテクスチャがマッピングされるオブジェクトを描画することを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0010】
本発明によれば、ジオメトリ処理後のオブジェクトデータが記憶手段に格納され、消されずに保存される。そして、ジオメトリ処理後のオブジェクトデータと変更前のテクスチャとに基づいてオブジェクトが描画される。そして、そのオブジェクトの上に、保存されていたジオメトリ処理後のオブジェクトデータと、変更後のテクスチャとにより描画されるオブジェクトが上書きされる。このようにすることで、マルチテクスチャマッピングの機能がサポートされていない画像生成システムなどにおいても、マルチテクスチャマッピングを実現できるようになる。しかも、本発明によれば、オブジェクトのジオメトリ処理については1回で済む。従って、少ない処理負担でマルチテクスチャマッピングを実現できるようになる。
【0011】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、ジオメトリ処理後のオブジェクトデータを前記記憶手段から呼び出して前記描画手段に転送し呼び出し元に戻る第1のコマンドを発行し、その後に、変更後のテクスチャを前記テクスチャ記憶手段に転送する第2のコマンドを発行し、その後に、前記第1のコマンドを再度発行してジオメトリ処理後のオブジェクトデータを前記記憶手段から再度呼び出して前記描画手段に転送することを特徴とする。このような、オブジェクトデータを呼び出した後に呼び出しに戻る第1のコマンドを有効利用すれば、ジオメトリ処理後のオブジェクトデータの再利用を少ない処理負担で実現できる。
【0012】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、変更前のテクスチャが、オブジェクトの下地を表現するテクスチャであり、変更後のテクスチャが、下地に対するオーバレイ物を表現するテクスチャであることを特徴とする。このようにすれば、例えば、同一のオーバレイ物のテクスチャを用いながら、下地のテクスチャを変えるだけで、異なったデザインのオブジェクトを表現できるようになる。従って、少ない記憶容量の消費で、オブジェクトのデザインの多様性を増すことができる。
【0013】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、変更後のテクスチャのオーバレイ物の輪郭に対して、半透明処理を用いたアンチエリアシングが施されていることを特徴とする。このようにすれば、下地のテクスチャの色等の違いに依らずに、オーバレイ物の輪郭のギザギザが目立ってしまう事態を防止できる。
【0014】
また本発明は、画像を生成するための画像生成システムであって、プレーヤが操作するオブジェクトにマルチテクスチャマッピングされる複数のテクスチャの中の少なくとも1つのテクスチャを、プレーヤが編集するための編集画面を表示するための手段と、操作手段によりプレーヤが入力した操作データに基づいて、オブジェクトを移動又は動作させる演算を行うための手段と、プレーヤにより編集されたテクスチャを含む複数のテクスチャが、プレーヤが操作するオブジェクトにマルチテクスチャマッピングされるように、オブジェクトを描画するための手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0015】
本発明によれば、プレーヤは、マルチテクスチャマッピングされる複数のテクスチャの中の少なくとも1つのテクスチャを、編集画面により編集することができる。そしてプレーヤは、編集されたテクスチャを含む複数のテクスチャがマルチテクスチャマッピングされたオブジェクトを操作して、移動又は動作させることができる。従って、プレーヤが操作するオブジェクトのデザインのバラエティ度を、記憶容量をそれほど消費することなく増すことができる。しかも、本発明ではマルチテクスチャマッピングを利用しているため、プレーヤが例えば第1のテクスチャを編集した場合に、その編集の影響が、他の第2のテクスチャに及ぶことがない。従って、プレーヤが第1テクスチャを変更することに起因して、配色やデザインが不自然になるという事態を効果的に防止できる。
【0016】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記編集画面が、プレーヤが操作するオブジェクトにマルチテクスチャマッピングされる複数のテクスチャの中の少なくとも1つのテクスチャに使用されるパレットの色を、プレーヤが選択又は編集するための画面であることを特徴とする。このようにプレーヤがテクスチャのパレットの色を変更できるようにすれば、プレーヤの簡易な編集操作で、オブジェクトにマッピングされるテクスチャの柄等が多様に変化するようになり、オブジェクトのデザインのバラエティ度を増すことができる。
【0017】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記パレットの第K1・・・KNのカラーインデックス番号の色をプレーヤが選択又は編集した場合に、選択又は編集された第K1・・・KNのカラーインデックス番号の色に基づいて、他のカラーインデックス番号の色を自動生成することを特徴とする。このようにすれば、プレーヤが第K1・・・KNのカラーインデックス番号の色を選択又は編集するだけで、他のカラーインデックス番号の色は自動的に決定される。従って、プレーヤの簡易な編集操作で、オブジェクトのデザインを多様に変化させることができるようになる。
【0018】
また本発明に係る画像生成システム、情報記憶媒体及びプログラムは、前記編集画面においてプレーヤにより編集されるテクスチャが、プレーヤが操作するオブジェクトの下地を表すテクスチャであることを特徴とする。このようにすれば、プレーヤは、下地の異なる種々のオブジェクトを操作できるようになり、長期にわたって飽きの来ないゲームを提供できる。また、プレーヤの編集対象を下地のテクスチャに限定することで、他のテクスチャがマッピングされた最終的なオブジェクトのデザインが不自然になる事態も防止できる。
【0019】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明を、レーシングゲームに適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【0020】
1.構成
図1に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については、任意の構成要素とすることができる。
【0021】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0022】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【0023】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0024】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行するための情報(プログラム或いはプログラム及びデータ)が格納される。
【0025】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0026】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0027】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0028】
携帯型情報記憶装置194は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0029】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0030】
なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0031】
処理部100は、ゲーム処理部110、画像処理部140、音処理部150を含む。
【0032】
ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクトの位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点位置や視線角度(視線方向)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部160からの操作データや、携帯型情報記憶装置194からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【0033】
画像処理部140は、ゲーム処理部110からの指示等にしたがって、各種の画像処理を行うものである。また、音処理部150は、ゲーム処理部110からの指示等にしたがって、各種の音処理を行うものである。
【0034】
なお画像処理部140、音処理部150の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0035】
ゲーム処理部110は、編集画面表示部112、移動・動作演算部114を含む。
【0036】
ここで、編集画面表示部112は、プレーヤが操作するオブジェクト(車、格闘ゲームのキャラクタ等)にマルチテクスチャマッピングされる複数のテクスチャの中の少なくとも1つを、プレーヤが編集するための編集画面を表示するための処理を行う。この場合のマルチテクスチャマッピングは、1つのオブジェクトに複数のテクスチャを重ねてマッピングすることで実現してもよいし、互いに異なるテクスチャがマッピングされたオブジェクトを重ねて描画することで実現してもよい。
【0037】
移動・動作演算部114は、車などのオブジェクトの移動情報(位置データ、回転角度データ)や動作情報(オブジェクトの各パーツの位置データ、回転角度データ)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【0038】
より具体的には、移動・動作演算部114は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでのオブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでのオブジェクトの位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
【0039】
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
画像処理部140は、ジオメトリ処理部(3次元座標演算部)142、テクスチャ変更部144、描画部(レンダリング部)146を含む。
【0040】
ここで、ジオメトリ処理部142は、座標変換、クリッピング処理、透視変換、或いは光源計算などの種々のジオメトリ処理(3次元座標演算)を行う。そして、本実施形態では、ジオメトリ処理後(透視変換後)のオブジェクトデータ(オブジェクトの頂点座標、頂点テクスチャ座標、輝度データ、或いは法線ベクトル等)は、記憶部170のメインメモリ172に格納されて、保存される。
【0041】
テクスチャ変更部144は、オブジェクトにマッピングされるテクスチャを変更するための処理を行う。より具体的には、例えば、オブジェクトにマッピングされるテクスチャを、オブジェクトの下地を表現するテクスチャから、下地に対するオーバレイ物(ステッカ等)を表現するテクスチャに変更する処理などを行う。
【0042】
描画部146は、ジオメトリ処理後(透視変換後)のオブジェクトデータと、テクスチャ記憶部176に記憶されるテクスチャとに基づいて、オブジェクトを描画する処理を行う。そして本実施形態では、描画部146が、メインメモリ172に記憶されるジオメトリ処理後のオブジェクトデータと、テクスチャ変更部144により変更されたテクスチャとに基づいて、変更前のテクスチャがマッピングされるオブジェクトの上に、変更後のテクスチャがマッピングされるオブジェクトを描画(αブレンディング)する。このようにすることで、マルチテクスチャマッピング機能がサポートされていない画像生成システムなどにおいても、少ない処理負担でマルチテクスチャマッピングを実現できるようになる。
【0043】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0044】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0045】
2.本実施形態の特徴
(1)ジオメトリ処理後のオブジェクトデータの再利用
さて、CGの世界においては、オブジェクトの画像のディテール表現を向上させるものとして、オブジェクトに複数のテクスチャを重ねてマッピングするマルチテクスチャマッピングと呼ばれる手法が知られている。
【0046】
しかしながら、処理のリアルタイム性が要求されるゲームシステムなどの画像生成システムにおいては、このようなマルチテクスチャマッピング(複数のテクスチャを1つのオブジェクトにマッピングするという狭義の意味でのマルチテクスチャマッピング)の機能がサポートされていないのが現状である。
【0047】
そこで、このようなマルチテクスチャマッピング機能がサポートされていない画像生成システムにおいて、如何にしてマルチテクスチャマッピングを実現するかが重要な課題となる。
【0048】
この場合、例えば、第1のテクスチャがマッピングされたオブジェクトに、第2のテクスチャがマッピングされたオブジェクトを単純に重ねて描画する手法を採用すれば、マルチテクスチャマッピング機能がサポートされていない画像生成システムにおいても、マルチテクスチャマッピングを実現できる。
【0049】
しかしながら、この手法によると、1枚のテクスチャのみをオブジェクトにマッピングする場合に比べて、処理負担が例えば2倍程度になる。この処理負担の増加は、1フレーム分の画像の描画に時間制限が無いCGでは問題とならないが、1フレーム内で全ての描画処理を完了しなければならないという処理のリアルタイム性が要求される画像生成システムでは深刻な問題となる。
【0050】
そこで、本実施形態では、ジオメトリ処理後のオブジェクトデータをメインメモリに保存しておき、この保存されたオブジェクトデータを再利用することで、上記処理負担の増加の問題を解決している。
【0051】
より具体的には、図2の(A1)に示すように、メインメモリ上のオブジェクトデータ(オブジェクトの頂点座標、頂点テクスチャ座標、輝度、或いは法線ベクトル等)に基づきジオメトリ処理を行い、ジオメトリ処理後のオブジェクトデータをメインメモリに格納し、消さずに保存しておく。即ち、オブジェクトデータに基づき、座標変換、クリッピング処理、透視変換などのジオメトリ処理を行い、透視変換後のオブジェクトデータをメインメモリに保存しておく。
【0052】
次に、図2の(A2)に示すように、VRAMのテクスチャ記憶部(テクスチャ記憶領域)にテクスチャ1(例えば下地のテクスチャ)を転送する(ジオメトリ処理の前に転送しても良い)。
【0053】
次に、図2の(A3)に示すように、ジオメトリ処理後のオブジェクトデータと、テクスチャ記憶部に記憶されているテクスチャ1とに基づいて、VRAMのフレームバッファにオブジェクトを描画する。これにより、フレームバッファ上には、テクスチャ1がマッピングされたオブジェクトが描画されるようになる。
【0054】
次に、図2の(A4)に示すように、テクスチャ記憶部にテクスチャ2(例えばステッカなどのオーバレイ物のテクスチャ)を転送し、オブジェクトにマッピングされるテクスチャをテクスチャ1からテクスチャ2に変更する。
【0055】
次に、図2の(A5)に示すように、メインメモリに保存しておいたジオメトリ処理後のオブジェクトデータと、テクスチャ記憶部に格納されるテクスチャ2とに基づいて、フレームバッファにオブジェクトをαブレンディングにより重ねて描画する。これにより、テクスチャ1がマッピングされたオブジェクトの上に、テクスチャ2がマッピングされたオブジェクトが重ねて描画されることになる。
【0056】
以上の処理を1フレーム内に行うことで、マルチテクスチャマッピング(狭義)の機能をサポートしていない画像生成システムにおいても、マルチテクスチャマッピング(広義)を実現できるようになる。
【0057】
しかも、本実施形態では、メインメモリに既に保存されているジオメトリ処理後のオブジェクトデータに基づいて、変更後のテクスチャ2がマッピングされるオブジェクトの描画が行われる。従って、オブジェクトに対するジオメトリ処理を再度行う必要がなく、1回で済むため、処理負担をそれほど増すことなく、マルチテクスチャマッピングを実現できるようになる。
【0058】
特に、ジオメトリ処理(3次元座標演算)は、オブジェクトの全ての頂点に対して行う必要があるため、非常に負担の重い処理である。従って、このジオメトリ処理を2回行うことなく1回で済ませることで、処理負担を大幅に軽減できる。
【0059】
なお、以上では、2枚のテクスチャを重ねてマッピングする場合について説明したが、本実施形態は、3枚以上のテクスチャを重ねてマッピングする場合にも適用できる。そして、このように3枚以上のテクスチャを重ねてマッピングする場合にも、本実施形態によれば、ジオメトリ処理は1回で済む。
【0060】
さて、本実施形態では、以下のようなコマンドを用いることで、ジオメトリ処理後のオブジェクトデータの再利用を実現している。
【0061】
即ち図3の(B1)に示すように、まず、テクスチャ1の転送コマンドを発行する。これによりテクスチャ1がVRAMのテクスチャ記憶部に転送される。
【0062】
次に、図3の(B2)に示すようにCALL(呼び出し)コマンドを発行する。これにより、ジオメトリ処理後のオブジェクトデータがメインメモリから呼び出され、描画部に転送される。そして、オブジェクトデータの転送が完了すると、オブジェクトデータの最後に記載されているRET(リターン)コマンドにより、図3の(B3)に示すように処理が呼び出し元に戻り、次のテクスチャ2の転送コマンドが発行されるようになる。これにより、図3の(B4)に示すように、テクスチャ2がテクスチャ記憶部に転送され、オブジェクトにマッピングされるテクスチャが書き換えられる。
【0063】
次に、図3の(B5)に示すようにCALLコマンドが再度発行される。これにより、ジオメトリ処理後のオブジェクトデータが描画部に転送され、ジオメトリ処理後のオブジェクトデータを再利用することが可能になる。
【0064】
このように、本実施形態によれば、ジオメトリ処理後のオブジェクトデータを呼び出し、オブジェクトデータの転送後に呼び出し元に戻るというCALLコマンドを上手く利用することで、ジオメトリ処理後のオブジェクトデータの再利用を、少ない処理負担で実現している。
【0065】
図4(A)、(B)に、本実施形態で使用されるテクスチャの例を示す。
【0066】
図4(A)のテクスチャ1(変更前のテクスチャ)は、車(オブジェクト)の下地を表現するテクスチャである。図4(B)のテクスチャ2(変更後のテクスチャ)は、下地に対するオーバレイ物(ステッカ、ゼッケン、窓、ウィンカー等)を表現するテクスチャである。
【0067】
図5(A)、(B)、図6(A)、(B)に、本実施形態で生成される車の画像の例を示す。
【0068】
図5(A)は、図4(A)のテクスチャ1(下地)だけがマッピングされた車の画像の例である。図5(B)は、図4(A)、(B)のテクスチャ1、2がマルチテクスチャマッピングされた車の画像の例である。
【0069】
一方、図6(A)は、図4(A)のテクスチャ1とは異なる下地のテクスチャ1’(ツートンの下地)だけがマッピングされた車の画像の例である。図6(B)は、上記のテクスチャ1’と図4(B)のテクスチャ2がマルチテクスチャマッピングされた車の画像の例である。
【0070】
図5(B)と図6(B)を比較すれば理解されるように、本実施形態では、下地のテクスチャを異ならせることで、オブジェクトの形状は同一でありながら全く異なった印象のデザインに見える車を表現することに成功している。
【0071】
しかも、図5(B)と図6(B)では、ステッカなどのオーバレイ物を表すテクスチャ2については共通に使用されている。即ち、図6(B)に示すようなデザインの車を表現する際のテクスチャ記憶部の使用記憶容量の増加は、新たな下地のテクスチャの増加分だけで済む。このように本実施形態では、テクスチャ記憶部の使用記憶容量をそれほど増やすことなく、多種多様なデザインの車を表現することに成功している。
【0072】
なお、下地に対するオーバレイ物としては、ステッカ、ゼッケン、窓、ウィンカー以外にも、汚れ、陰影など、画像のディテール表現を向上させることができる種々のオーバレイ物を考えることができる。例えば、汚れのテクスチャを用いれば、走行するにつれて車の表面が徐々に汚れて行く様子を表現できる。しかも、本実施形態ではマルチテクスチャマッピングを用いているため、1つのテクスチャの影響が他のテクスチャに及ばない。例えば、汚れのテクスチャを順次書き換えた場合にも、下地のテクスチャにその影響は及ばない。このため、車が水に入った場合などには、汚れのテクスチャをマッピングしないようにすることで、汚れの無い車に即座に戻すことができるようになる。
【0073】
また、重ねてマッピングされるテクスチャの数は3枚以上であってもよい。
【0074】
なお、テクスチャ2で表現されるオーバレイ物の輪郭に対しては、半透明処理を用いたアンチエリアシングを施すことが望ましい。
【0075】
例えば図7のC1に示すように、オーバレイ物の輪郭10の周辺を半透明にして、半透明度が徐々に変化するようにグラディエーションをかける。このようにすれば、輪郭10のギザギザが目立たなくなり、輪郭10が滑らかに見えるようになる。
【0076】
この場合、本実施形態では下地とオーバレイ物を別のテクスチャで表現しているため、図7のC1に示すようなアンチエリアシングを、少ない色数のパレットを用いたテクスチャで表現できる。
【0077】
即ち、例えば図7のC2に示すように下地のテクスチャの色にグラディエーションがかかっている場合を考える。このような場合に、下地とオーバレイ物のテクスチャを分けずに1枚のテクスチャだけを用いてアンチエリアシングを実現しようとすると、テクスチャのパレットの色数が非常に増えてしまい(例えば32768色)、テクスチャ記憶部の使用記憶容量の増加を招く。
【0078】
これに対して本実施形態では、下地とオーバレイ物とを別のテクスチャで表現しているため、下地のテクスチャにグラディエーションがかかっているか否かに依らず、図7のC1に示すように半透明処理が施された1枚のオーバレイ物のテクスチャを用意するだけで、アンチエリアシングを実現できる。従って、各テクスチャのパレットの色数を少なくすることができ(例えば256色)、テクスチャ記憶部の使用記憶容量を節約できる。
【0079】
(2)テクスチャの編集
さて、本実施形態では、車(広義には、プレーヤが操作するオブジェクト)にマルチテクスチャマッピングされる複数のテクスチャの中の少なくとも1つのテクスチャを、プレーヤが編集できるようにしている。
【0080】
図8(A)、(B)に、テクスチャの編集画面の例を示す。
【0081】
まず、プレーヤは、図8(A)の編集画面で、テクスチャを編集する車を選ぶ。即ち、図8(A)では、プレーヤは、P1の全ての部分が1色で塗られるモノトーンの下地を有するタイプ1の車、P1、P2の部分が2色に塗り分けられるツートンの下地を有するタイプ2、3の車の中から所望の車を選ぶ。
【0082】
次に、プレーヤは、図8(B)の編集画面で、下地のテクスチャのパレットの色を選択(又は編集)する。即ち図8(A)でツートンの下地のタイプ2の車を選択した場合には、P1の部分の色1とP2の部分の色2をどのような色にするかを選択(又は編集)する。
【0083】
例えば、P1の部分の色として赤を選択し、P2の部分の色として白を選択すると、車の下地の部分が赤と白に塗り分けられるようになる。これにより、例えば、図6(A)に示すような下地のテクスチャの車が出来上がる。そして、この下地のテクスチャの上にオーバレイ物のテクスチャを重ね合わせることで、図6(B)に示すような車が作り出される。そして、プレーヤは、実際のゲームにおいて、このようにして自身がデザインした車を操作してゲームを楽しむことができる。即ち、各プレーヤは、自身のオリジナルの車を操作してゲームを楽しむことができるようになるため、長期にわたって飽きの来ないゲームを提供できる。
【0084】
特に本実施形態によれば、複数のテクスチャがマルチテクスチャマッピングされているため、その中の1のテクスチャが編集されても、他のテクスチャにはその影響が及ばない。例えば下地のテクスチャのパレットの色をプレーヤが変更しても、その影響は、オーバレイ物のテクスチャのパレットの色には及ばない。従って、プレーヤは、下地のテクスチャのパレットの色を、何ら制約を受けずに自由に編集できるようになる。
【0085】
即ち、下地のテクスチャのパレットの色をプレーヤが変更した場合に、オーバレイ物のテクスチャのパレットの色も変更されてしまうと、オーバレイ物の配色が不自然になったり、車のデザインが不自然になる事態が生じるおそれがある。更に、パレットの色の管理も煩雑になる。
【0086】
本実施形態のように、マルチテクスチャマッピングされる各テクスチャを独立にプレーヤが編集できるようにすれば、1つのテクスチャの編集の影響が他のテクスチャに及ばないため、上記のような事態が生じるのを防止できる。
【0087】
さて、本実施形態では、プレーヤが選択(又は編集)した色に基づいて、その色のカラーインデックス番号の他のカラーインデックス番号の色を自動生成するようにしている。
【0088】
例えば図9(A)では、カラーインデックス番号0の色1とカラーインデックス番号255の色2を、プレーヤが選択している。この場合に、他のカラーインデックス番号1〜254の色については、色1、2を補間することで自動生成する。このようにすれば、図9(B)に示すように、色1と色2の境界12(図8(B)のP1とP2の境界)において色1から色2に徐々に色を変化させる場合に、この境界12での色を補間処理により求めることができるようになる。即ち、図9(A)に示すようにカラーインデックス番号0、255の色1、2に基づきカラーインデックス番号1〜254の色を自動生成する。そして、図9(B)のD1に示すように、境界12での色のカラーインデックス番号を0、1、2・・・・255というように徐々に変化させる。このようにすれば、境界12での色が滑らかに変化するようになり、境界12においてエリアシングが生じる事態を防止できる。
【0089】
そして、本実施形態では、このようにプレーヤが選択(又は編集)した色1、色2に応じてカラーインデックス番号1〜254の色が変化しても、前述のように、その影響はオーバレイ物のテクスチャには及ばない。従って、下地のテクスチャのカラーインデックス番号1〜254の色が変化したことに起因して、オーバレイ物の配色が不自然になったり、車のデザインが不自然になるといった事態も生じない。
【0090】
また、図9(B)の境界12の場所に、図7のC1に示すオーバレイ物の輪郭10が重なった場合に、1枚のテクスチャのみを使用する手法でアンチエリアシングを実現しようとすると、そのテクスチャのパレットの色数が非常に多くなってしまう(例えば32768色)。
【0091】
これに対して本実施形態では、オーバレイ物のアンチエリアシングを実現するためには、前述の図7のようにオーバレイ物のテクスチャの半透明度や色に工夫を施すだけでよく、下地のテクスチャに対しては何も工夫を施す必要がない。従って、下地及びオーバレイ物の両方のテクスチャのパレットの色数を少なくすることができ(例えば、共に256色)、テクスチャ記憶部の使用記憶容量を節約できるようになる。
【0092】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図10、図11のフローチャートを用いて説明する。
【0093】
図10は、図2で説明したマルチテクスチャマッピングの処理の例を示すフロチャートである。
【0094】
まず、オブジェクトデータに基づいてジオメトリ処理を行う。即ち、オブジェクトをローカル座標系からワールド座標系へ座標変換し(ステップS1)、次に、ワールド座標系から視点座標系に座標変換する(ステップS2)。そして、クリッピング処理を行い(ステップS3)、スクリーン座標系への透視変換を行う(ステップS4)。
【0095】
次に、図2で説明したように、透視変換後のオブジェクトデータをメインメモリに格納し、保存する(ステップS5)。そして、オブジェクトにマッピングするテクスチャ1をVRAMに転送する(ステップS6)。
【0096】
次に、ステップS5でメインメモリに保存された透視変換後のオブジェクトデータと、ステップS6でVRAMに転送されたテクスチャ1とに基づいて、フレームバッファにオブジェクトを描画する(ステップS7)。
【0097】
次に、オブジェクトにマッピングするテクスチャ2をVRAMに転送する(ステップS8)。そして、ステップS5でメインメモリに保存された透視変換後のオブジェクトデータと、ステップS8でVRAMに転送されたテクスチャ2とに基づいて、フレームバッファにオブジェクトを描画する(ステップS9)。即ち、ステップS7で既に描画されている、テクスチャ1がマッピングされたオブジェクトの上に、テクスチャ2がマッピングされたオブジェクトを、αブレンディング処理などにより重ね書きする。
【0098】
以上のように、異なるテクスチャがマッピングされるオブジェクトを1フレーム内にフレームバッファに2度描きすることで、マルチテクスチャマッピング機能をサポートしない画像生成システムにおいてマルチテクスチャマッピングを実現できるようになる。
【0099】
図11は、図8(A)、(B)で説明した、テクスチャの編集画面の表示処理について示すフローチャートである。
【0100】
まず、図8(A)に示すような車の選択画面を表示する(ステップS10)。そして、プレーヤが所望する車を選択すると(ステップS11)、図8(B)に示すような色の選択(編集)画面を表示する(ステップS12)。そして、プレーヤが所望の色を選択(又は編集)すると、図9(A)、(B)で説明したように、選択(又は編集)された色に基づいて、パレットの他のカラーインデックス番号の色を演算する(ステップS14)。そして、ゲームが開始すると(ステップS15)、ゲーム処理が行われ(ステップS16)、編集されたテクスチャを含むテクスチャがマルチテクスチャマッピングされた車が、プレーヤの操作によりオブジェクト空間内のコース上で走行することになる。
【0101】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図12を用いて説明する。
【0102】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0103】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0104】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0105】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0106】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0107】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0108】
ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0109】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0110】
RAM960は、各種プロセッサの作業領域として用いられる。
【0111】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0112】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0113】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システム、他のゲームシステムなどとの間でのデータ転送が可能になる。
【0114】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【0115】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラム(プログラム、データ)が格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【0116】
図13(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するためのプログラム(或いはプログラム、データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0117】
図13(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。
【0118】
図13(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に伝送し端末において出力することになる。
【0119】
なお、図13(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0120】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0121】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0122】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0123】
また、本実施形態では、ジオメトリ処理として座標変換や透視変換を例に挙げたが、本発明のジオメトリ処理はこれらに限定されない。
【0124】
また、オブジェクトにマッピングされるテクスチャは、色情報のテクスチャに限定されず、輝度情報、半透明情報(α値)、表面形状情報(バンプ値)、反射率情報、屈折率情報、或いは深さ情報などについてのテクスチャでもよい。
【0125】
また、本発明の編集画面で編集したテクスチャのマッピングは、1つのオブジェクトに複数のテクスチャを重ねてマッピングするという狭義のマルチテクスチャマッピングにより実現してもよいし、異なるテクスチャがマッピングされるオブジェクトを重ねて描画するという図2で説明したようなマルチテクスチャマッピングにより実現してもよい。
【0126】
また、マルチテクスチャマッピングされる複数のテクスチャとしては、下地のテクスチャや、オーバレイ物のテクスチャが特に望ましいが、これらに限定されるものではない。
【0127】
また本発明はレーシングゲーム以外にも種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0128】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムのブロック図の例である。
【図2】本実施形態のマルチテクスチャマッピングの手法について説明するための図である。
【図3】本実施形態で利用される各種コマンドについて説明するための図である。
【図4】図4(A)、(B)は、本実施形態で使用されるテクスチャの例について示す図である。
【図5】図5(A)、(B)は、本実施形態により生成される車の画像の例について示す図である。
【図6】図6(A)、(B)も、本実施形態により生成される車の画像の例について示す図である。
【図7】オーバレイ物の輪郭に対するアンチエリアシング処理について説明するための図である。
【図8】図8(A)、(B)は、本実施形態により表示される編集画面の例について示す図である。
【図9】図9(A)、(B)は、プレーヤが選択(又は編集)した色に基づいて、他のカラーインデックス番号の色を自動生成する手法について説明するための図である。
【図10】本実施形態の詳細な処理例について示すフローチャートである。
【図11】本実施形態の詳細な処理例について示すフローチャートである。
【図12】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図13】図13(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
10 輪郭
12 境界
100 処理部
110 ゲーム処理部
112 編集画面表示部
114 移動・動作演算部
140 画像処理部
142 ジオメトリ処理部
144 テクスチャ変更部
146 描画部
150 音処理部
160 操作部
170 記憶部
172 メインメモリ
174 フレームバッファ
176 テクスチャ記憶部
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. A technique called multi-texture mapping is known as a technique that can dramatically improve the detail expression of an image with a small number of polygons. In this multi-texture mapping (multi-texture blending), a plurality of textures are superimposed on one object (polygon). Therefore, according to this multi-texture mapping, various high-detail images that cannot be expressed by the conventional texture mapping in which only one texture is mapped can be expressed.
[0004]
However, this multi-texture mapping has a problem that the processing load of hardware is very heavy. Therefore, this multi-texture mapping is used in the CG world where real-time property of image generation is not required, but in image generation systems such as home and business game systems that require real-time property of image generation, Currently, such a multi-texture mapping function is not supported by hardware. Therefore, in an image generation system that does not support such a multi-texture mapping function, how to realize multi-texture mapping with a small processing load is an important issue.
[0005]
Furthermore, in home and business game systems, it has become an important issue to provide games that do not get bored over a long period of time. For that purpose, it is desirable to prepare objects of various designs that can meet the demands of players of a wide range of objects (racing cars, fighting game characters, etc.) operated by the player.
[0006]
However, the storage capacity of the memory of the image generation system is finite, and there is a limit to the increase in the types of objects operated by the player. Therefore, an important issue is how many types of objects can be provided to the player without consuming much storage capacity of the memory.
[0007]
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 that can realize multi-texture mapping with a small processing load.
[0008]
Another object of the present invention is to provide an image generation system and an information storage medium capable of increasing the variety of design of objects operated by a player without consuming much storage capacity.
[0009]
[Means for Solving the Problems]
In order to solve the above problems, the present invention provides an image generation system for generating an image, which performs geometry processing on an object and stores object data after the geometry processing in a storage means; A drawing unit that draws the object based on the processed object data and the texture stored in the texture storage unit; and a unit that changes the texture mapped to the object, the drawing unit including the storage unit Based on the object data after geometry processing and the texture after modification, the object mapped with the texture after modification is drawn on the object mapped with the texture before modification. To do. 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.
[0010]
According to the present invention, the object data after the geometry processing is stored in the storage means and saved without being erased. Then, the object is drawn based on the object data after the geometry processing and the texture before the change. Then, the object drawn by the saved object data after the geometry processing and the texture after the change are overwritten on the object. In this way, multi-texture mapping can be realized even in an image generation system or the like that does not support the multi-texture mapping function. Moreover, according to the present invention, the geometry processing of the object can be performed only once. Therefore, multi-texture mapping can be realized with a small processing load.
[0011]
The image generation system, the information storage medium, and the program according to the present invention issue a first command that calls object data after geometry processing from the storage unit, transfers the object data to the drawing unit, and returns to the calling source. Issuing a second command for transferring the texture after the change to the texture storage means, and then reissuing the first command to call again the object data after the geometry processing from the storage means to draw the drawing means It is characterized by transferring to. By effectively using the first command for returning to the call after calling the object data, the reuse of the object data after the geometry processing can be realized with a small processing load.
[0012]
In the image generation system, the information storage medium, and the program according to the present invention, the texture before the change is a texture that represents the background of the object, and the texture after the change is a texture that represents an overlay object with respect to the background. Features. In this way, for example, an object with a different design can be expressed simply by changing the texture of the ground while using the texture of the same overlay object. Therefore, the diversity of object design can be increased with a small consumption of storage capacity.
[0013]
The image generation system, information storage medium, and program according to the present invention are characterized in that anti-aliasing using a translucent process is performed on the contour of the texture overlay after the change. In this way, it is possible to prevent the jagged outline of the overlay object from being noticeable regardless of the difference in the color or the like of the background texture.
[0014]
The present invention is also an image generation system for generating an image, wherein an editing screen for the player to edit at least one texture among a plurality of textures to be multi-textured mapped to an object operated by the player is provided. A player operates a plurality of textures including a means for displaying, a means for performing an operation for moving or moving an object based on operation data input by the player through the operation means, and a texture edited by the player. And means for drawing the object so that the multi-texture mapping is performed on the 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.
[0015]
According to the present invention, the player can edit at least one texture among a plurality of textures subjected to multi-texture mapping on the editing screen. The player can operate or move or operate an object in which a plurality of textures including the edited texture are subjected to multi-texture mapping. Therefore, the variety of the design of the object operated by the player can be increased without consuming much storage capacity. In addition, since multi-texture mapping is used in the present invention, for example, when the player edits the first texture, the effect of the editing does not reach the other second texture. Therefore, it is possible to effectively prevent a situation in which the color scheme or the design becomes unnatural due to the player changing the first texture.
[0016]
The image generation system, information storage medium, and program according to the present invention may be configured such that the editing screen displays a palette color used for at least one texture among a plurality of textures that are multi-textured mapped to an object operated by the player. This is a screen for the player to select or edit. If the player can change the color of the texture palette in this way, the texture pattern mapped to the object can be changed in various ways by simple editing operations of the player, and the degree of variety in the design of the object Can be increased.
[0017]
The image generation system, the information storage medium, and the program according to the present invention include the K1... K1 selected or edited when the player selects or edits the color index number K1... KN of the palette. -Colors of other color index numbers are automatically generated based on the color of the color index number of KN. In this way, when the player simply selects or edits the color of the color index numbers of K1... KN, the colors of other color index numbers are automatically determined. Therefore, the object design can be variously changed by simple editing operations of the player.
[0018]
The image generation system, the information storage medium, and the program according to the present invention are characterized in that the texture edited by the player on the editing screen is a texture representing a background of an object operated by the player. In this way, the player can operate various objects with different backgrounds, and can provide a game that does not get tired for a long time. Further, by limiting the editing target of the player to the background texture, it is possible to prevent a situation where the final object design to which other textures are mapped becomes unnatural.
[0019]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. Hereinafter, a case where the present invention is applied to a racing game will be described as an example. However, the present invention is not limited to this and can be applied to various games.
[0020]
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.
[0021]
Here, the processing unit 100 performs various processes such as control of the entire system, instruction instruction to each block in the system, game processing, image processing, sound processing, and the like. , DSP, etc.) or ASIC (gate array, etc.) or a given program (game program).
[0022]
The operation unit 160 is for a player to input operation data, and the function can be realized by hardware such as a lever, a button, and a housing.
[0023]
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.
[0024]
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 program and data) for executing the means of the present invention (this embodiment) (particularly, the blocks included in the processing unit 100).
[0025]
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.
[0026]
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).
[0027]
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.
[0028]
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.
[0029]
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.
[0030]
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.
[0031]
The processing unit 100 includes a game processing unit 110, an image processing unit 140, and a sound processing unit 150.
[0032]
Here, the game processing unit 110 receives coins (cost), various mode setting processing, game progress processing, selection screen setting processing, object position and rotation angle (rotation angle around X, Y, or Z axis). , Processing to move the object (motion processing), processing to determine the viewpoint position and line-of-sight angle (gaze direction), processing to place objects such as map objects in the object space, hit check processing, game results (results, results) ), Various game processes such as a process for a plurality of players to play in a common game space, a game over process, etc., from the operation data from the operation unit 160 and the portable information storage device 194. This is based on personal data, stored data, game programs, etc.
[0033]
The image processing unit 140 performs various types of image processing in accordance with instructions from the game processing unit 110. The sound processing unit 150 performs various types of sound processing in accordance with instructions from the game processing unit 110 and the like.
[0034]
Note that all of the functions of the image processing unit 140 and the sound processing 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.
[0035]
The game processing unit 110 includes an edit screen display unit 112 and a movement / motion calculation unit 114.
[0036]
Here, the edit screen display unit 112 displays an edit screen for the player to edit at least one of a plurality of textures that are multi-texture mapped to an object (such as a car or a fighting game character) operated by the player. Process to display. In this case, the multi-texture mapping may be realized by mapping a plurality of textures on one object, or may be realized by drawing an object on which different textures are mapped.
[0037]
The movement / movement calculation unit 114 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 the operation data input by the player, the game program, etc., the process of moving or moving the object is performed.
[0038]
More specifically, the movement / motion calculation unit 114 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 by the following equations (1) and (2), for example.
[0039]
PMk = PMk-1 + VMk-1 * .DELTA.t (1)
VMk = VMk-1 + AMk-1 * .DELTA.t (2)
The image processing unit 140 includes a geometry processing unit (three-dimensional coordinate calculation unit) 142, a texture change unit 144, and a drawing unit (rendering unit) 146.
[0040]
Here, the geometry processing unit 142 performs various types of geometry processing (three-dimensional coordinate 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, normal vector, etc.) is stored in the main memory 172 of the storage unit 170. Saved.
[0041]
The texture changing unit 144 performs processing for changing the texture mapped to the object. More specifically, for example, a process of changing the texture mapped to the object from a texture expressing the background of the object to a texture expressing an overlay object (such as a sticker) with respect to the background.
[0042]
The drawing unit 146 performs processing for drawing an object based on the object data after the geometry processing (after perspective transformation) and the texture stored in the texture storage unit 176. In this embodiment, the drawing unit 146 uses the object data after the geometry processing stored in the main memory 172 and the texture changed by the texture changing unit 144 to change the texture to which the texture before the change is mapped. Above, the object to which the texture after the change is mapped is drawn (α blending). In this way, even in an image generation system that does not support the multi-texture mapping function, multi-texture mapping can be realized with a small processing load.
[0043]
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.
[0044]
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.
[0045]
2. Features of this embodiment
(1) Reuse of object data after geometry processing
In the CG world, a technique called multi-texture mapping, in which a plurality of textures are superimposed on an object, is known as a method for improving the detail expression of an object image.
[0046]
However, in an image generation system such as a game system that requires real-time processing, such a multi-texture mapping function (multi-texture mapping in a narrow sense of mapping a plurality of textures to one object) has a function. Currently it is not supported.
[0047]
Therefore, how to realize multi-texture mapping in an image generation system that does not support such multi-texture mapping function is an important issue.
[0048]
In this case, for example, an image generation system that does not support the multi-texture mapping function can be achieved by adopting a technique in which an object to which the second texture is mapped is simply superimposed on an object to which the first texture is mapped. Also in the multi-texture mapping can be realized.
[0049]
However, according to this method, the processing load is, for example, about twice that in the case where only one texture is mapped to an object. This increase in processing load is not a problem in CG where there is no time limit for drawing an image for one frame, but an image that requires real-time processing that all drawing processing must be completed within one frame. This is a serious problem in production systems.
[0050]
Therefore, in the present embodiment, the object data after the geometry processing is stored in the main memory, and the stored object data is reused to solve the problem of increasing the processing load.
[0051]
More specifically, as shown in (A1) of FIG. 2, geometry processing is performed based on the object data (object vertex coordinates, vertex texture coordinates, luminance, normal vector, etc.) in the main memory, and the geometry processing is performed. The subsequent object data is stored in the main memory and saved without being erased. That is, based on the object data, geometric processing such as coordinate transformation, clipping processing, and perspective transformation is performed, and the object data after perspective transformation is stored in the main memory.
[0052]
Next, as shown in (A2) of FIG. 2, texture 1 (for example, the texture of the background) is transferred to the texture storage unit (texture storage area) of the VRAM (may be transferred before geometry processing).
[0053]
Next, as shown in FIG. 2A3, an object is drawn in the frame buffer of the VRAM based on the object data after the geometry processing and the texture 1 stored in the texture storage unit. As a result, an object to which the texture 1 is mapped is drawn on the frame buffer.
[0054]
Next, as shown in (A4) of FIG. 2, texture 2 (for example, the texture of an overlay such as a sticker) is transferred to the texture storage unit, and the texture mapped to the object is changed from texture 1 to texture 2.
[0055]
Next, as shown in (A5) of FIG. 2, an object is stored in the frame buffer based on the object data after the geometry processing stored in the main memory and the texture 2 stored in the texture storage unit. Overlapping and drawing by blending. As a result, the object to which the texture 2 is mapped is drawn on the object to which the texture 1 is mapped.
[0056]
By performing the above processing within one frame, multi-texture mapping (broad sense) can be realized even in an image generation system that does not support the multi-texture mapping (narrow sense) function.
[0057]
In addition, in the present embodiment, drawing of the object to which the texture 2 after the change is mapped is performed based on the object data after the geometry processing already stored in the main memory. Accordingly, it is not necessary to perform the geometry processing on the object again, and only one time is required. Therefore, multi-texture mapping can be realized without increasing the processing load so much.
[0058]
In particular, the geometry processing (three-dimensional coordinate calculation) needs to be performed on all the vertices of the object, and is a very heavy processing. Therefore, the processing load can be greatly reduced by performing this geometry processing only once instead of performing it twice.
[0059]
In the above description, the case where two textures are overlapped and mapped has been described. However, the present embodiment can also be applied to a case where three or more textures are overlapped and mapped. Even when three or more textures are overlapped and mapped in this way, according to the present embodiment, the geometry processing is only required once.
[0060]
In the present embodiment, reuse of object data after geometry processing is realized by using the following command.
[0061]
That is, as shown in FIG. 3B1, first, a texture 1 transfer command is issued. As a result, the texture 1 is transferred to the texture storage unit of the VRAM.
[0062]
Next, a CALL (call) command is issued as shown in FIG. Thereby, the object data after the geometry processing is called from the main memory and transferred to the drawing unit. When the transfer of the object data is completed, the RET (return) command written at the end of the object data returns the processing to the caller as shown in (B3) of FIG. Will be issued. Thereby, as shown in (B4) of FIG. 3, the texture 2 is transferred to the texture storage unit, and the texture mapped to the object is rewritten.
[0063]
Next, as shown in (B5) of FIG. 3, the CALL command is issued again. Thereby, the object data after the geometry processing is transferred to the drawing unit, and the object data after the geometry processing can be reused.
[0064]
Thus, according to the present embodiment, the object data after geometry processing can be reused by using the CALL command to call the object data after geometry processing and return to the caller after transferring the object data. Realized with a small processing load.
[0065]
4A and 4B show examples of textures used in this embodiment.
[0066]
A texture 1 (texture before change) in FIG. 4A is a texture expressing the background of a car (object). The texture 2 (texture after change) in FIG. 4B is a texture that represents an overlay object (sticker, bib, window, blinker, etc.) with respect to the background.
[0067]
5A, 5B, 6A, and 6B show examples of car images generated in the present embodiment.
[0068]
FIG. 5A is an example of a car image in which only texture 1 (background) in FIG. 4A is mapped. FIG. 5B is an example of a car image in which textures 1 and 2 in FIGS. 4A and 4B are multi-textured.
[0069]
On the other hand, FIG. 6A is an example of an image of a car in which only a background texture 1 ′ (two-tone background) different from the texture 1 in FIG. 4A is mapped. FIG. 6B is an example of a car image in which the texture 1 ′ and the texture 2 of FIG. 4B are multi-textured.
[0070]
As can be understood by comparing FIG. 5B and FIG. 6B, in this embodiment, by changing the texture of the background, the shape of the object is the same, but the design has a completely different impression. It has succeeded in expressing a visible car.
[0071]
Moreover, in FIG. 5B and FIG. 6B, the texture 2 representing an overlay object such as a sticker is commonly used. That is, the increase in the used storage capacity of the texture storage unit when expressing a car with a design as shown in FIG. 6B is only an increase in the texture of the new background. Thus, in this embodiment, it has succeeded in expressing the car of various designs, without increasing the use memory capacity of a texture memory | storage part so much.
[0072]
In addition to the sticker, bib, window, and winker, various overlay objects that can improve the detail expression of the image, such as dirt and shadows, can be considered as the overlay object for the background. For example, if a dirt texture is used, it is possible to express how the surface of the car gradually gets dirty as it travels. Moreover, since multi-texture mapping is used in the present embodiment, the influence of one texture does not affect other textures. For example, even when the dirt texture is sequentially rewritten, it does not affect the underlying texture. For this reason, when a car enters the water, it is possible to immediately return to a car without dirt by not mapping the dirt texture.
[0073]
Further, the number of textures mapped in an overlapping manner may be three or more.
[0074]
Note that it is desirable to perform anti-aliasing using a translucent process on the outline of the overlay object expressed by the texture 2.
[0075]
For example, as shown by C1 in FIG. 7, the periphery of the outline 10 of the overlay object is made translucent and gradient is applied so that the translucency gradually changes. In this way, the jaggedness of the contour 10 becomes inconspicuous and the contour 10 looks smooth.
[0076]
In this case, in the present embodiment, since the background and the overlay are expressed by different textures, anti-aliasing as shown by C1 in FIG. 7 can be expressed by a texture using a palette with a small number of colors.
[0077]
That is, consider a case where the background texture color is gradient as shown in C2 of FIG. In such a case, if anti-aliasing is realized using only one texture without separating the texture of the background and the overlay, the number of colors in the texture palette increases greatly (for example, 32768 colors). This increases the storage capacity of the texture storage unit.
[0078]
On the other hand, in the present embodiment, the background and the overlay object are expressed by different textures, and therefore, as shown by C1 in FIG. Anti-aliasing can be realized simply by preparing the texture of one overlay object that has been subjected to transparency processing. Therefore, the number of colors in the palette of each texture can be reduced (for example, 256 colors), and the used storage capacity of the texture storage unit can be saved.
[0079]
(2) Editing texture
In the present embodiment, the player can edit at least one texture among a plurality of textures that are multi-texture mapped to a car (an object operated by the player in a broad sense).
[0080]
8A and 8B show examples of texture editing screens.
[0081]
First, the player selects a car whose texture is to be edited on the editing screen shown in FIG. That is, in FIG. 8A, the player has a type 1 car having a monotone background in which all parts of P1 are painted in one color, and a two-tone background in which parts of P1 and P2 are separately colored in two colors. Select the desired car from Type 2 and 3 cars.
[0082]
Next, the player selects (or edits) the color of the background texture palette on the editing screen of FIG. That is, when the two-tone type 2 car is selected in FIG. 8A, the color 1 of the P1 portion and the color 2 of the P2 portion are selected (or edited). .
[0083]
For example, if red is selected as the color of the P1 portion and white is selected as the color of the P2 portion, the background portion of the car is separately painted in red and white. As a result, for example, a car having a ground texture as shown in FIG. Then, the vehicle as shown in FIG. 6B is created by superimposing the texture of the overlay on the underlying texture. In the actual game, the player can enjoy the game by operating the car designed in this way. That is, each player can enjoy the game by operating his / her own original car, and can provide a game that does not get tired for a long time.
[0084]
In particular, according to the present embodiment, since a plurality of textures are subjected to multi-texture mapping, even if one texture among them is edited, the other textures are not affected. For example, even if the player changes the color of the base texture palette, the effect does not reach the color of the overlay texture palette. Therefore, the player can freely edit the color of the palette of the background texture without any restrictions.
[0085]
In other words, if the player changes the palette color of the underlying texture, if the palette color of the overlay texture is also changed, the overlay color scheme becomes unnatural or the car design becomes unnatural. May occur. Furthermore, the management of palette colors becomes complicated.
[0086]
If the texture can be edited independently by the player as in this embodiment, the effect of editing one texture does not affect other textures, and the above situation occurs. Can be prevented.
[0087]
In the present embodiment, on the basis of the color selected (or edited) by the player, the color of the color index number of the color is automatically generated.
[0088]
For example, in FIG. 9A, the player selects color 1 with color index number 0 and color 2 with color index number 255. In this case, the colors of other color index numbers 1 to 254 are automatically generated by interpolating colors 1 and 2. In this way, as shown in FIG. 9B, the color is gradually changed from color 1 to color 2 at the boundary 12 between color 1 and color 2 (the boundary between P1 and P2 in FIG. 8B). In this case, the color at the boundary 12 can be obtained by interpolation processing. That is, as shown in FIG. 9A, colors with color index numbers 1 to 254 are automatically generated based on colors 1 and 2 with color index numbers 0 and 255. Then, as indicated by D1 in FIG. 9B, the color index number of the color at the boundary 12 is gradually changed to 0, 1, 2,. In this way, the color at the boundary 12 changes smoothly, and a situation in which aliasing occurs at the boundary 12 can be prevented.
[0089]
In this embodiment, even if the colors of the color index numbers 1 to 254 change according to the colors 1 and 2 selected (or edited) by the player as described above, the influence is an overlay object as described above. It does not reach the texture of. Accordingly, there is no situation where the coloration of the overlay object becomes unnatural or the car design becomes unnatural due to the change of the color index number 1 to 254 of the background texture.
[0090]
In addition, when the outline 10 of the overlay object shown in C1 of FIG. 7 overlaps the location of the boundary 12 of FIG. 9B, when trying to realize anti-aliasing by a method using only one texture, The number of colors in the palette of the texture becomes very large (for example, 32768 colors).
[0091]
On the other hand, in this embodiment, in order to realize anti-aliasing of the overlay object, it is only necessary to devise the translucency and color of the texture of the overlay object as shown in FIG. There is no need to devise anything. Therefore, it is possible to reduce the number of colors in the palettes of the textures of both the background and the overlay (for example, both 256 colors), and it is possible to save the used storage capacity of the texture storage unit.
[0092]
3. Processing of this embodiment
Next, a detailed example of the processing of this embodiment will be described using the flowcharts of FIGS.
[0093]
FIG. 10 is a flowchart showing an example of the multi-texture mapping process described in FIG.
[0094]
First, geometry processing is performed based on object data. That is, the object is coordinate-transformed from the local coordinate system to the world coordinate system (step S1), and then coordinate-transformed from the world coordinate system to the viewpoint coordinate system (step S2). Then, clipping processing is performed (step S3), and perspective transformation to the screen coordinate system is performed (step S4).
[0095]
Next, as described with reference to FIG. 2, the object data after the perspective transformation is stored in the main memory and saved (step S5). Then, the texture 1 mapped to the object is transferred to the VRAM (step S6).
[0096]
Next, an object is drawn in the frame buffer based on the object data after perspective transformation stored in the main memory in step S5 and the texture 1 transferred to the VRAM in step S6 (step S7).
[0097]
Next, the texture 2 to be mapped to the object is transferred to the VRAM (step S8). Then, the object is drawn in the frame buffer based on the object data after the perspective transformation stored in the main memory in step S5 and the texture 2 transferred to the VRAM in step S8 (step S9). That is, the object mapped with texture 2 is overwritten on the object mapped with texture 1 already drawn in step S7 by α blending processing or the like.
[0098]
As described above, by drawing an object to which different textures are mapped in the frame buffer twice in one frame, multi-texture mapping can be realized in an image generation system that does not support the multi-texture mapping function.
[0099]
FIG. 11 is a flowchart showing the display processing of the texture editing screen described with reference to FIGS.
[0100]
First, a vehicle selection screen as shown in FIG. 8A is displayed (step S10). When the player selects a desired car (step S11), a color selection (editing) screen as shown in FIG. 8B is displayed (step S12). When the player selects (or edits) a desired color, as described with reference to FIGS. 9A and 9B, the other color index numbers of the palette are selected based on the selected (or edited) color. The color is calculated (step S14). When the game is started (step S15), game processing is performed (step S16), and the car on which the texture including the edited texture is subjected to multi-texture mapping runs on the course in the object space by the operation of the player. It will be.
[0101]
4). Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.
[0102]
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.
[0103]
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. )
[0104]
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.
[0105]
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.
[0106]
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), 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.
[0107]
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.
[0108]
Operation data from the game controller 942, save data from the memory card 944, and personal data are transferred via the serial interface 940.
[0109]
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.
[0110]
The RAM 960 is used as a work area for various processors.
[0111]
The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).
[0112]
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.
[0113]
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. In addition, by using a high-speed serial bus, data transfer with another image generation system, another game system, or the like becomes possible.
[0114]
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.
[0115]
When each means of the present invention is executed by both hardware and a program, a program (program, data) for executing each means of the present invention using hardware is stored in the information storage medium. Will be stored. 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.
[0116]
FIG. 13A shows an example when 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. A program (or program or data) for executing each unit 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.
[0117]
FIG. 13B shows an example in which this 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 the CD 1206, which is an information storage medium that is detachable from the main system, or in the memory cards 1208, 1209, and the like.
[0118]
FIG. 13C shows a host device 1300 and terminals 1304-1 to 1304-n connected to the host device 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.
[0119]
In the case of the configuration shown in FIG. 13C, 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.
[0120]
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).
[0121]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0122]
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.
[0123]
In the present embodiment, coordinate transformation or perspective transformation is given as an example of the geometry processing, but the geometry processing of the present invention is not limited to these.
[0124]
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.
[0125]
In addition, the mapping of the texture edited on the editing screen of the present invention may be realized by multi-texture mapping in a narrow sense of mapping a plurality of textures on one object, or overlapping objects to which different textures are mapped. It may be realized by multi-texture mapping as described in FIG.
[0126]
Further, as the plurality of textures to be subjected to the multi-texture mapping, the texture of the base and the texture of the overlay are particularly desirable, but are not limited to these.
[0127]
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.).
[0128]
The present invention also relates 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, an image generation system, and a system board for generating game images. Applicable.
[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 multi-texture mapping method according to the present embodiment;
FIG. 3 is a diagram for explaining various commands used in the present embodiment.
FIGS. 4A and 4B are diagrams showing examples of textures used in the present embodiment.
FIGS. 5A and 5B are diagrams illustrating an example of a car image generated according to the present embodiment.
FIGS. 6A and 6B are also diagrams illustrating an example of a car image generated according to the present embodiment.
FIG. 7 is a diagram for explaining an anti-aliasing process for an outline of an overlay object.
FIGS. 8A and 8B are diagrams illustrating an example of an edit screen displayed according to the present embodiment.
FIGS. 9A and 9B are diagrams for explaining a method of automatically generating a color with another color index number based on a color selected (or edited) by a player.
FIG. 10 is a flowchart illustrating a detailed processing example of the present embodiment.
FIG. 11 is a flowchart illustrating a detailed processing example of the present embodiment.
FIG. 12 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIGS. 13A, 13B, and 13C are diagrams illustrating examples of various types of systems to which the present embodiment is applied.
[Explanation of symbols]
10 Contour
12 border
100 processor
110 Game processor
112 Edit screen display
114 Movement / motion calculation unit
140 Image processing unit
142 Geometry processing unit
144 Texture change section
146 Drawing part
150 Sound processor
160 Operation unit
170 Storage unit
172 Main memory
174 frame buffer
176 texture storage
180 Information storage medium
190 Display
192 sound output section
194 Portable information storage device
196 Communication Department

Claims (6)

画像を生成するための画像生成システムであって、
オブジェクトデータに基づいてジオメトリ処理を行い、ジオメトリ処理後のオブジェクトデータを記憶手段に格納する手段と、
ジオメトリ処理後のオブジェクトデータと、テクスチャ記憶手段に記憶されるテクスチャとに基づいて、オブジェクトを描画する描画手段と、
オブジェクトにマッピングされるテクスチャを変更する手段とを含み、
前記描画手段が、
ジオメトリ処理後のオブジェクトデータと変更前のテクスチャとに基づいてオブジェクトを描画することで、変更前のテクスチャがマッピングされるオブジェクトを描画し、次に前記記憶手段に記憶されるジオメトリ処理後のオブジェクトデータと変更後のテクスチャとに基づいてオブジェクトを描画することで、変更前のテクスチャがマッピングされるオブジェクトの上に変更後のテクスチャがマッピングされるオブジェクトを描画することを特徴とする画像生成システム。
An image generation system for generating an image,
Means for performing geometry processing based on the object data, and storing the object data after the geometry processing in a storage means;
A drawing means for drawing an object based on the object data after the geometry processing and the texture stored in the texture storage means;
Means for changing the texture mapped to the object,
The drawing means;
By drawing an object based on the object data after the geometry processing and the texture before the change, the object to which the texture before the change is mapped is drawn, and then the object data after the geometry processing stored in the storage means An image generation system, wherein an object to which a texture after change is mapped is drawn on an object to which the texture before change is mapped by drawing the object based on the texture and the texture after change.
請求項1において、
ジオメトリ処理後のオブジェクトデータを前記記憶手段から呼び出して前記描画手段に転送する呼び出しコマンドを発行し、オブジェクトデータの転送が完了するとオブジェクトデータの最後に記載されているリターンコマンドにより、前記呼び出しコマンドの呼び出し元に処理を戻し、その後に、変更後のテクスチャを前記テクスチャ記憶手段に転送する転送コマンドを発行し、その後に、前記呼び出しコマンドを再度発行してジオメトリ処理後のオブジェクトデータを前記記憶手段から再度呼び出して前記描画手段に転送することを特徴とする画像生成システム。
In claim 1,
A call command for calling the object data after geometry processing from the storage means and transferring it to the drawing means is issued, and when the transfer of the object data is completed, the call command is called by a return command described at the end of the object data. The processing is returned to the original, and then a transfer command for transferring the texture after the change to the texture storage means is issued. Thereafter, the call command is issued again, and the object data after geometry processing is again read from the storage means. Calling and transferring to the drawing means.
請求項1又は2において、
変更前のテクスチャが、オブジェクトの下地を表現するテクスチャであり、変更後のテクスチャが、下地に対するオーバレイ物を表現するテクスチャであることを特徴とする画像生成システム。
In claim 1 or 2,
An image generation system, wherein the texture before the change is a texture that represents the background of the object, and the texture after the change is a texture that represents an overlay on the background.
コンピュータが使用可能な情報記憶媒体であって、
オブジェクトデータに基づいてジオメトリ処理を行い、ジオメトリ処理後のオブジェクトデータを記憶手段に格納する手段と、
ジオメトリ処理後のオブジェクトデータと、テクスチャ記憶手段に記憶されるテクスチャとに基づいて、オブジェクトを描画する描画手段と、
オブジェクトにマッピングされるテクスチャを変更する手段と、
をコンピュータに実現させるためのプログラムを含み、
前記描画手段が、
ジオメトリ処理後のオブジェクトデータと変更前のテクスチャとに基づいてオブジェクトを描画することで、変更前のテクスチャがマッピングされるオブジェクトを描画し、次に前記記憶手段に記憶されるジオメトリ処理後のオブジェクトデータと変更後のテクスチャとに基づいてオブジェクトを描画することで、変更前のテクスチャがマッピングされるオブジェクトの上に変更後のテクスチャがマッピングされるオブジェクトを描画することを特徴とする情報記憶媒体。
An information storage medium usable by a computer,
Means for performing geometry processing based on the object data, and storing the object data after the geometry processing in a storage means;
A drawing means for drawing an object based on the object data after the geometry processing and the texture stored in the texture storage means;
Means to change the texture mapped to the object;
Including a program for causing a computer to realize
The drawing means;
By drawing an object based on the object data after the geometry processing and the texture before the change, the object to which the texture before the change is mapped is drawn, and then the object data after the geometry processing stored in the storage means An information storage medium characterized by rendering an object to which the texture after the change is mapped on an object to which the texture before the change is mapped by drawing the object based on the texture and the texture after the change.
請求項4において、
ジオメトリ処理後のオブジェクトデータを前記記憶手段から呼び出して前記描画手段に転送する呼び出しコマンドを発行し、オブジェクトデータの転送が完了するとオブジェクトデータの最後に記載されているリターンコマンドにより、前記呼び出しコマンドの呼び出し元に処理を戻し、その後に、変更後のテクスチャを前記テクスチャ記憶手段に転送する転送コマンドを発行し、その後に、前記呼び出しコマンドを再度発行してジオメトリ処理後のオブジェクトデータを前記記憶手段から再度呼び出して前記描画手段に転送することを特徴とする情報記憶媒体。
In claim 4,
A call command for calling the object data after geometry processing from the storage means and transferring it to the drawing means is issued, and when the transfer of the object data is completed, the call command is called by a return command described at the end of the object data. The processing is returned to the original, and then a transfer command for transferring the texture after the change to the texture storage means is issued. Thereafter, the call command is issued again, and the object data after geometry processing is again read from the storage means. An information storage medium which is called and transferred to the drawing means.
請求項4又は5において、
変更前のテクスチャが、オブジェクトの下地を表現するテクスチャであり、変更後のテクスチャが、下地に対するオーバレイ物を表現するテクスチャであることを特徴とする情報記憶媒体。
In claim 4 or 5,
An information storage medium, wherein the texture before the change is a texture that represents the background of the object, and the texture after the change is a texture that represents an overlay on the background.
JP2001323911A 2001-10-22 2001-10-22 Image generation system and information storage medium Expired - Fee Related JP4349551B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001323911A JP4349551B2 (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
JP2001323911A JP4349551B2 (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
JP25299499A Division JP3292713B2 (en) 1999-09-07 1999-09-07 Image generation system and information storage medium

Publications (2)

Publication Number Publication Date
JP2002197482A JP2002197482A (en) 2002-07-12
JP4349551B2 true JP4349551B2 (en) 2009-10-21

Family

ID=19140728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001323911A Expired - Fee Related JP4349551B2 (en) 2001-10-22 2001-10-22 Image generation system and information storage medium

Country Status (1)

Country Link
JP (1) JP4349551B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5479686B2 (en) * 2008-02-29 2014-04-23 株式会社カプコン Game program and game system

Also Published As

Publication number Publication date
JP2002197482A (en) 2002-07-12

Similar Documents

Publication Publication Date Title
JP3249955B2 (en) Image generation system and information storage medium
JP4707080B2 (en) Image generation system, program, and information storage medium
JP4187188B2 (en) Image generation system, program, and information storage medium
JP2005032140A (en) Image generation system, program, and information storage medium
JP3656012B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4167358B2 (en) Image generation system and information storage medium
JP4318240B2 (en) Image generation system and information storage medium
JP3292713B2 (en) Image generation system and information storage medium
JP4367804B2 (en) Image generation system and information storage medium
JP4721476B2 (en) Image generation system and information storage medium
JP3297410B2 (en) Image generation system and information storage medium
JP2001229403A (en) Game system and information storage medium
JP4804122B2 (en) Program, texture data structure, information storage medium, and image generation system
JP4349551B2 (en) Image generation system and information storage medium
JP4187192B2 (en) Image generation system, program, and information storage medium
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP3254195B2 (en) Image generation system and information storage medium
JP4412692B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4394211B2 (en) Image generation system and information storage medium
JP2001266166A (en) Image generation system and information storage medium
JP3269813B2 (en) Image generation system and information storage medium
JP4632530B2 (en) GAME SYSTEM, PROGRAM, AND INFORMATION STORAGE MEDIUM
JP4413369B2 (en) Image generation system and information storage medium
JP4450535B2 (en) Image generation system and information storage medium
JP4391633B2 (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: 20060808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090703

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

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

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4349551

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120731

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130731

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

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

LAPS Cancellation because of no payment of annual fees