JP4480322B2 - ゲームシステム及び情報記憶媒体 - Google Patents

ゲームシステム及び情報記憶媒体 Download PDF

Info

Publication number
JP4480322B2
JP4480322B2 JP2002256464A JP2002256464A JP4480322B2 JP 4480322 B2 JP4480322 B2 JP 4480322B2 JP 2002256464 A JP2002256464 A JP 2002256464A JP 2002256464 A JP2002256464 A JP 2002256464A JP 4480322 B2 JP4480322 B2 JP 4480322B2
Authority
JP
Japan
Prior art keywords
vector
virtual
point
texture
information storage
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
JP2002256464A
Other languages
English (en)
Other versions
JP2003157446A (ja
Inventor
稔 永堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2002256464A priority Critical patent/JP4480322B2/ja
Publication of JP2003157446A publication Critical patent/JP2003157446A/ja
Application granted granted Critical
Publication of JP4480322B2 publication Critical patent/JP4480322B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内の所与の視点から見える画像を生成するゲームシステムが知られており、いわゆる仮想現実を体験できるものとして人気が高い。レーシングゲームを楽しむことができるゲームシステムを例にとれば、プレーヤは、レーシングカー(オブジェクト)を操作してオブジェクト空間内で走行させ、他のプレーヤやコンピュータが操作するレーシングカーと競争することで3次元ゲームを楽しむ。
【0003】
このようなゲームシステムでは、プレーヤの仮想現実感の向上のために、よりリアルな画像を生成することが重要な技術的課題になっている。従って、表示への周囲の環境の映り込みなどについても、リアルに表現できることが望まれる。
【0004】
そして、このような映り込み表現(鏡面表現)を実現する手法としては例えば以下の第1、第2の手法が考えられる。
【0005】
第1の手法(レイトレーシング)では、図1に示すように、視点(仮想カメラ)とオブジェクトOB1上の点P11、P12、P13・・・・とを結ぶ方向を入射方向DI1、DI2、DI3・・・・とした場合に、これらの入射方向に対応する反射方向RI1、RI2、RI3・・・を求める。そして、これらの反射方向が指す点P21、P22、P23でのオブジェクトOB2の画像を、オブジェクトOB1の点P11、P12、P13に描画することで、映り込み表現を実現する。
【0006】
しかしながら、この第1の手法は、非常にリアルな画像を生成できるという利点を有する反面、処理負荷が非常に重くなるという不利点を有する。
【0007】
また第2の手法では、オブジェクトから仮想カメラの方を見た時の環境を擬似的に表す環境テクスチャを予め用意しておき、この擬似的な環境テクスチャを仮想カメラの方向(仮想カメラからオブジェクトの方へと向かう方向)から単にマッピングする。
【0008】
しかしながら、この第2の手法は、第1の手法よりも処理負荷が軽くなるとい利点を有する反面、得られる画像が単調になってしまい、リアルな映り込み表現を実現できないという不利点を有する。
【0009】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、少ない処理負担でリアルな映り込み表現を実現できるゲームシステム及び情報記憶媒体を提供することにある。
【0010】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行うゲームシステムであって、第1のオブジェクトの仮想的な代表点である仮想点に設定された仮想点座標系に、第2のオブジェクトの定義点の位置座標を座標変換する手段と、座標変換後の前記第2のオブジェクトの定義点の位置座標に基づいて、描画ベクトルを求める手段と、求められた前記描画ベクトルに基づいて、前記第2のオブジェクトに対応するプリミティブ面を所与の描画領域に描画する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0011】
本発明によれば、仮想点座標系への座標変換後の第2のオブジェクトの定義点の位置座標に基づいて、描画ベクトルが求められ、求められた描画ベクトルに基づいて、第2のオブジェクトに対応するプリミティブ面(第2のオブジェクトの各プリミティブ面に対応するプリミティブ面)が描画領域に描画される。従って、この描画領域に描画された画像を、第1のオブジェクトの例えば環境テクスチャや光沢表現テクスチャ等として利用できるようになり、第1、第2のオブジェクト間の相対的な位置関係等に応じて変化するテクスチャを、リアルタイムに生成することなどが可能になる。
【0012】
なお、仮想点の設定位置や、仮想点座標系の設定位置及び設定方向は任意である。
【0013】
また第2のオブジェクトの定義点(オブジェクトの形状を定義するための点)は、第2のオブジェクトを構成するポリゴンの頂点であってもよいし、第2のオブジェクトを構成する自由曲面の制御点であってもよい。
【0014】
また、描画ベクトルは、座標変換後の第2のオブジェクトの定義点の位置座標の他に、例えば、仮想点座標系の座標軸の方向などに基づいて、求めることができる。
【0015】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記第1のオブジェクトの各面の方向を表すための、仮想点座標系での法線ベクトルを求める手段と、仮想点座標系での前記法線ベクトルにより特定されるテクスチャ座標に基づいて、前記描画領域に描画された画像を、前記第1のオブジェクトにマッピングする手段(或いは該手段を実行するためのプログラム又は処理ルーチン)とを含むことを特徴とする。
【0016】
このようにすれば、第1、第2のオブジェクトの相対的な位置関係等に応じて変化するリアルなテクスチャを、第1のオブジェクトにマッピングすることが可能になり、これまでにないリアルな画像を少ない処理負担で生成できるようになる。
【0017】
なお、オブジェクトの各面の方向を表すための法線ベクトルは、オブジェクトを構成するプリミティブ面の頂点に設定された法線ベクトルであってもよいし、オブジェクトを構成するプリミティブ面自体に設定された法線ベクトルであってもよい。
【0018】
また、仮想点座標系での法線ベクトルの座標成分を直接テクスチャ座標として用いてもよいし、仮想点座標系での法線ベクトルの座標成分に加工処理を加えたものをテクスチャ座標として用いてもよい。
【0019】
また、オブジェクトが自由曲面(プリミティブ面の1つ)により表される場合には、仮想点座標系に座標変換された制御点などに基づいて、自由曲面の接線ベクトル(傾き)を求め、得られた接線ベクトルの外積をとることで、仮想点座標系での自由曲面の法線ベクトルを求めてもよい。
【0020】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記第2のオブジェクトが、前記第1のオブジェクトの周囲に配置されるオブジェクトであり、前記描画領域に描画された画像が、前記第1のオブジェクトの環境テクスチャとして前記第1のオブジェクトにマッピングされることを特徴とする。
【0021】
このようにすれば、擬似的な環境テクスチャをマッピングする手法では実現できないリアルな環境マッピングを、少ない処理負担で実現できるようになる。
【0022】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記第2のオブジェクトが、光源を擬似的に表すための光源オブジェクトであり、前記描画領域に描画された画像が、前記第1のオブジェクトの光沢表現テクスチャとして前記第1のオブジェクトにマッピングされることを特徴とする。
【0023】
このようにすれば、あたかも忠実な光源計算を行って生成されたかのように見えるリアルな光沢表現を実現できる。
【0024】
なお、光源オブジェクトは立体形状であってもよいし平面形状であってもよい。
【0025】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記光源オブジェクトとして、複数の第1〜第Nの光源オブジェクトが用意され、前記第1〜第Nの光源オブジェクトに対応するプリミティブ面が描画された画像が、前記光沢表現テクスチャとして前記第1のオブジェクトにマッピングされることを特徴とする。
【0026】
このようにすれば、照明モデルを用いた光源計算では処理負荷が過大になってしまい実現が困難であった複数光源による光沢表現を、少ない処理負荷で実現できるようになる。
【0027】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記仮想点と前記光源オブジェクトとを結ぶ線に対して前記光源オブジェクトの主面が略垂直になるように、前記光源オブジェクトが配置されることを特徴とする。
【0028】
このようにすれば、常に同一形状の光源が第1のオブジェクトに映り込むようになり、よりリアルな光沢表現を実現できるようになる。
【0029】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記仮想点と前記第2のオブジェクトの定義点との距離により特定される奥行き値に基づいて、前記描画領域に描画されるプリミティブ面間の陰面消去を行う手段(或いは該手段を実行するためのプログラム又は処理ルーチン)を含むことを特徴とする。
【0030】
このようにすれば、第1のオブジェクトにマッピングされても矛盾が生じない適正な画像を、描画領域に描画できるようになる。
【0031】
なお、仮想点と第2のオブジェクトの定義点との距離自体を直接奥行き値として用いてもよいし、この距離に加工処理を加えたものを奥行き値として用いてもよい。
【0032】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記第2のオブジェクトを構成するプリミティブ面のうち前記仮想点から見て裏向きであるプリミティブ面又はプリミティブ面の裏向き部分については、前記描画領域への描画を省略する手段(或いは該手段を実行するためのプログラム又は処理ルーチン)を含むことを特徴とする。
【0033】
このようにすれば、無用なプリミティブ面(又はプリミティブ面の裏向き部分)の描画処理が行われる事態を防止でき、処理を効率化できる。
【0034】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前記描画領域への描画対象となるプリミティブ面のうち前記描画領域において裏向きであるプリミティブ面又はプリミティブ面の裏向き部分については、前記描画領域への描画を省略する手段(或いは該手段を実行するためのプログラム又は処理ルーチン)を含むことを特徴とする。
【0035】
このようにすれば、描画されるべきではないプリミティブ面(又はプリミティブ面の裏向き部分)が描画領域に描画される事態を防止でき、矛盾の無い描画画像を得ることができる。
【0036】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、裏向きのプリミティブ面又はプリミティブ面の裏向き部分の描画の省略により描画予定領域に生じる隙間領域を、修正する処理を行う手段(或いは該手段を実行するためのプログラム又は処理ルーチン)を含むことを特徴とする。
【0037】
このようにして、隙間領域を修正する処理(埋める処理)を行えば、描画領域の画像を第1のオブジェクトに適正にマッピングすること等が可能になる。
【0038】
なお、描画予定領域とは、描画ベクトルによりプリミティブ面が描画される予定の領域であり、描画領域の画像をテクスチャとして用いる場合には、テクスチャ座標により指定される可能性がある領域である。
【0039】
また本発明は、画像生成を行うゲームシステムであって、所与のマッピング方向に沿った第1のベクトルと、第1のオブジェクトの仮想的な代表点である仮想点と第2のオブジェクトの定義点とを結ぶ方向に沿った第2のベクトルとに基づいて、前記仮想点を含む所与の仮想面に対して垂直な方向を向く描画ベクトルを求める手段と、求められた前記描画ベクトルに基づいて、前記第2のオブジェクトに対応するプリミティブ面を所与の描画領域に描画する手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実行するためのプログラムを含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラム(搬送波に具現化されるプログラムを含む)であって、上記手段を実行するための処理ルーチンを含むことを特徴とする。
【0040】
本発明によれば、第1、第2のベクトルに基づいて、仮想面に対して垂直な方向を向く描画ベクトルが求められ、求められた描画ベクトルに基づいて、第2のオブジェクトに対応するプリミティブ面が描画領域に描画される。従って、この描画領域に描画された画像を、第1のオブジェクトの例えば環境テクスチャや光沢表現テクスチャ等として利用できるようになり、第1、第2のオブジェクト間の相対的な位置関係等に応じて変化するテクスチャを、リアルタイムに生成することなどが可能になる。
【0041】
なお、マッピング方向はテクスチャ等をマッピングする方向であり、マッピング方向としては、仮想カメラの視線方向やワールド座標系での鉛直方向など、種々の方向を考えることができる。
【0042】
また、第1のベクトルは、仮想面の入射方向に相当するベクトルとして考えることができ、第2のベクトルは、仮想面の反射方向に相当するベクトルとして考えることができる。
【0043】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。
【0044】
1.構成
図2に、本実施形態のゲームシステム(画像生成システム)のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170、或いは処理部100と記憶部170と情報記憶媒体180を含めばよく)、それ以外のブロック(例えば操作部160、表示部190、音出力部192、携帯型情報記憶装置194、通信部196)については、任意の構成要素とすることができる。
【0045】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム処理、画像処理、又は音処理などの各種の処理を行うものであり、その機能は、各種プロセッサ(CPU、DSP等)、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0046】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、筺体などのハードウェアにより実現できる。
【0047】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0048】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)180は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実行するための情報(プログラム或いはデータ)が格納される。
【0049】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180に記憶される情報は、本発明の処理を行うためのプログラムコード、画像データ、音データ、表示物の形状データ、テーブルデータ、リストデータ、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0050】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0051】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0052】
携帯型情報記憶装置194は、プレーヤの個人データやセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0053】
通信部196は、外部(例えばホスト装置や他のゲームシステム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0054】
なお本発明(本実施形態)の手段を実行するためのプログラム或いはデータは、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0055】
処理部100は、ゲーム処理部110、画像生成部130、音生成部150を含む。
【0056】
ここでゲーム処理部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ面)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム処理を、操作部160からの操作データや、携帯型情報記憶装置194からの個人データ、保存データや、ゲームプログラムなどに基づいて行う。
【0057】
画像生成部130は、ゲーム処理部110からの指示等にしたがって各種の画像処理を行い、例えばオブジェクト空間内で仮想カメラ(視点)から見える画像を生成して、表示部190に出力する。
【0058】
音生成部150は、ゲーム処理部110からの指示等にしたがって各種の音処理を行い、BGM、効果音、又は音声などの音を生成し、音出力部192に出力する。
【0059】
なお、ゲーム処理部110、画像生成部130、音生成部150の機能は、その全てをハードウェアにより実現してもよいし、その全てをプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0060】
ゲーム処理部110は移動・動作演算部112を含む。
【0061】
ここで移動・動作演算部112は、車などのオブジェクトの移動情報(位置データ、回転角度データ)や動作情報(オブジェクトの各パーツの位置データ、回転角度データ)を演算するものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作させたりする処理を行う。
【0062】
より具体的には、移動・動作演算部112は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒)毎に求める処理を行う。例えば(k−1)フレームでのオブジェクトの位置をPMk-1、速度をVMk-1、加速度をAMk-1、1フレームの時間を△tとする。するとkフレームでのオブジェクトの位置PMk、速度VMkは例えば下式(1)、(2)のように求められる。
【0063】
PMk=PMk-1+VMk-1×△t (1)
VMk=VMk-1+AMk-1×△t (2)
画像生成部130は、仮想点座標系設定部132、座標変換部134、描画ベクトル演算部136、テクスチャ描画部138、テクスチャマッピング部140、陰面消去部142、表裏判定部144、隙間領域修正部146を含む。
【0064】
仮想点座標系設定(作成)部132は、オブジェクトOB1の仮想点(オブジェクトOB1の仮想的な代表点)に設定された仮想点座標系を設定(作成)するための処理を行う。より具体的には、仮想点の位置やマッピング方向(視線方向等)に基づいて、ワールド座標系から仮想点座標系への変換マトリクスを求める。
【0065】
座標変換部134は、オブジェクトOB2の定義点(ポリゴンの頂点、自由曲面の制御点等)の位置座標を、仮想点座標系に座標変換するための処理を行う。より具体的には、オブジェクトOB2の定義点の位置座標を、上記の変換マトリクスを用いてワールド座標系から仮想点座標系に座標変換する。
【0066】
なお、座標変換部134は、オブジェクトOB1の各面の方向を表すための法線ベクトル(定義点又は面に設定された法線ベクトル)を仮想点座標系に座標変換したりするための処理も行う。
【0067】
また、オブジェクトOB1が自由曲面により表される場合には、座標変換部134が、自由曲面の制御点を仮想点座標系に座標変換し、仮想点座標系での制御点などに基づいて、仮想点座標系での法線ベクトルを求めるようにしてもよい。
【0068】
描画ベクトル演算部136は、座標変換後のオブジェクトOB2の定義点の位置座標に基づいて、描画ベクトル(仮想法線ベクトル)を求めるための処理を行う。より具体的には、マッピング方向と、仮想点及びオブジェクトOB2の定義点を結ぶ方向との中間方向を求め、その中間方向を向く単位ベクトルを、描画ベクトルとして求める。
【0069】
テクスチャ描画部138は、求められた描画ベクトルに基づいて、オブジェクトOB2に対応するプリミティブ面(ポリゴン、自由曲面)を、所与の描画領域(例えばテクスチャ領域174)に描画するための処理を行う。これにより、オブジェクトOB1にマッピングされる環境テクスチャや光沢表現テクスチャなどのテクスチャを生成できるようになる。
【0070】
テクスチャマッピング部140は、オブジェクトOB1の仮想点座標系での法線ベクトルに基づいて、テクスチャ座標を求め、求められたテクスチャ座標に基づいて、テクスチャ(描画領域に描画された画像)を、オブジェクトOB1にマッピングするための処理を行う。これにより、テクスチャ描画部138により生成された環境テクスチャや光沢表現テクスチャがオブジェクトOB1にマッピングされ、オブジェクトOB1の環境マッピングや光沢表現を実現できるようになる。
【0071】
陰面消去部142は、Z値(奥行き値)が格納されるZバッファ(Zプレーン)176を用いて、Zバッファ法のアルゴリズムにしたがった陰面消去を行う。但し、視点からの距離に応じてプリミティブ面をソーティングし、視点から遠い順にプリミティブ面を描画する奥行きソート法(Zソート法)などにより陰面消去を行ってもよい。
【0072】
この場合に本実施形態の陰面消去部142は、仮想点とオブジェクトOB2の定義点との距離により特定されるZ値(奥行き値)に基づいて、描画領域(テクスチャ領域174)に描画されるプリミティブ面間の陰面消去を行うようにしている。このようにすることで、オブジェクトOB1にマッピングされても矛盾が生じない適正なテクスチャ(環境テクスチャ、光沢表現テクスチャ等)を生成できるようになる。
【0073】
表裏判定部144は、オブジェクトOB2を構成するプリミティブ面が、仮想点から見て裏向きになっているか否か(プリミティブ面が自由曲面の場合には、プリミティブ面の裏向き部分か否か)を判定する。そして裏向きであった場合(裏向き部分であった場合)には、そのプリミティブ面(その裏向き部分)の描画を省略するための処理を行う。
【0074】
また表裏判定部144は、描画領域に描画されるプリミティブ面が描画領域において裏向きになっているか否か(自由曲面の場合には裏向き部分か否か)も判定する。そして、裏向きであった場合(裏向き部分であった場合)には、そのプリミティブ面(その裏向き部分)の描画を省略するための処理を行う。
【0075】
隙間領域修正部146は、裏向きのプリミティブ面(プリミティブ面の裏向き部分)の描画の省略により描画予定領域に隙間領域が生じる場合に、その隙間領域が生じないようにするための修正処理を行う。より具体的には、描画領域へのプリミティブ面の描画時に、そのプリミティブ面の描画座標のスケーリング等を行うことで、隙間領域を埋める。
【0076】
なお、本実施形態のゲームシステムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0077】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0078】
2.本実施形態の特徴
2.1 環境テクスチャのリアルタイム生成
本実施形態では図3のA1に示すように、オブジェクトOB1の仮想点P(代表点)に対して仮想点座標系(XP、YP、ZP)を設定する。
【0079】
そして、図3のA2、A3、A4に示すようにオブジェクトOB2の定義点(頂点、制御点)S1、S2、S3・・・・の位置座標を、ワールド座標系(XW、YW、ZW)から仮想点座標系(XP、YP、ZP)に座標変換し、座標変換後の定義点の位置座標に基づいて、描画ベクトルNを求める。
【0080】
次に、図3のA5に示すように、求められた描画ベクトルNに基づいて、描画領域(テクスチャ領域U、V)に、オブジェクトOB2に対応するプリミティブ面(ポリゴン、自由曲面)を順次描画して行き、オブジェクトOB1の環境テクスチャをリアルタイムに生成する。
【0081】
そして、図4に示すように、オブジェクトOB1の定義点(或いはOB1の面)に設定された法線ベクトルNSを、仮想点座標系(XP、YP、ZP)に座標変換する(広義には、仮想点座標系での法線ベクトルを求める)。そして、仮想点座標系での法線ベクトルNSに基づき特定されるテクスチャ座標(U、V)に基づいて、描画領域に描画された画像を、オブジェクトOB1にテクスチャマッピングする。このようにすることで、オブジェクトOB1の周りの環境(オブジェクトOB2の画像等)を、オブジェクトOB1に映し込むことができ、少ない処理負担でリアルな映り込み表現を実現できる。
【0082】
なお、オブジェクトOB1が自由曲面により表される場合には、例えば、自由曲面の制御点を仮想点座標系に座標変換し、仮想点座標系での制御点などに基づいて自由曲面の第1、第2の方向での接線(傾き)ベクトルを求める。そして、得られた接線ベクトルの外積をとることで、自由曲面の仮想点座標系での法線ベクトルを求めることができる。
【0083】
例えば図1で説明した第1の手法では、リアルタイムに変化する周囲の環境がオブジェクトに映り込むようになるため、高品質な映り込み表現を実現できる。
【0084】
しかしながら、この第1の手法では、オブジェクトOB1上の全ての点(ドット)P11、P12、P13・・・について、反射方向RI1、RI2、RI3を求めたり、これらの反射方向が指す点P21、P22、P23でのオブジェクトOB2の画像を、点P11、P12、P13に描画したりするなどの処理が必要になる。従って、ゲームシステムの処理負荷が非常に重くなり、1フレーム(例えば1/60秒)内に全画面の描画を完了するというリアルタイム処理の実現が困難になる。
【0085】
これに対して、本実施形態では、オブジェクトOB2の定義点(頂点)の個数分だけ、描画ベクトルを求める処理を行えば済む。従って、図1の第1の手法に比べて、処理負荷を大幅に軽減できる。
【0086】
しかも、本実施形態によれば、オブジェクトOB1、OB2間の相対的な位置関係や仮想カメラ10の位置や方向などに応じて変化する高品質な環境テクスチャが、リアルタイムに生成され、オブジェクトOB1にマッピングされる。
【0087】
従って、予め用意された擬似的な環境テクスチャをオブジェクトOB1にマッピングする前述の第2の手法に比べて、格段にリアルで多様な映り込み表現を実現できるようになる。
【0088】
なお、図3に示す仮想点座標系(XP、YP、ZP)は、仮想点Pの位置やマッピング方向(仮想カメラ10の視線方向)などにより特定されている。即ち、図3では、ZP軸はマッピング方向に沿った軸になっており、XP軸、YP軸は、ZP軸に直交する軸(視点座標系のX軸、Y軸)になっている。
【0089】
しかしながら、本実施形態における仮想点座標系の設定手法は図3の手法に限定されない。例えば、マッピング方向(ZP軸の方向)の向きは任意であり、例えばワールド座標系(XW、YW、ZW)における鉛直方向をマッピング方向に設定してもよい。
【0090】
さて、描画ベクトルN(仮想法線ベクトル)は、図5に示すような手法により求めることが望ましい。
【0091】
例えば、テクスチャのマッピング方向(仮想カメラ10の視線方向、ワールド座標系での鉛直方向等)に沿ったベクトルをVC(第1のベクトル)とし、仮想点PとオブジェクトOB2の定義点Sとを結ぶ方向に沿ったベクトルをVT(第2のベクトル)とする。このベクトルVCは、仮想面SVに対する仮想的な入射方向(入射方向と逆方向)を表すベクトルであり、ベクトルVTは、仮想面SVに対する仮想的な反射方向を表すベクトルである。
【0092】
この場合に本実施形態では、ベクトルVCとVTに基づいて、仮想点Pを含む仮想面SVに対して垂直な方向を向く描画ベクトルN(仮想法線ベクトル)を求めている。即ち、ベクトルVC(入射方向に沿ったベクトル)の方向とベクトルVT(反射方向に沿ったベクトル)の方向の中間方向(θ1=θ2)を向く単位ベクトルを、描画ベクトルNとして求めている。
【0093】
そして図3のA5に示すように、環境テクスチャは、この描画ベクトルNに基づいて描画領域に描画される。例えば、図5の定義点Sでの画像は、描画ベクトルNが指す位置に描画されるようになる。
【0094】
このような描画ベクトルNを用いて環境テクスチャを生成することで、オブジェクトOB1、OB2間の相対的な位置関係などに応じて変化するリアルな環境テクスチャを生成できるようになる。
【0095】
なお、図5では、ベクトルVCと描画ベクトルNとのなす角度θ1と、ベクトルVTと描画ベクトルNとのなす角度θ2とが等しくなるという条件で、描画ベクトルNを求めている。しかしながら、θ1とθ2を常に等しくする必要性はなく、例えばオブジェクトの表面の屈折率などを考慮して、θ1とθ2との間に所与の関係式θ1=F(θ2)が成立するという条件で、描画ベクトルNを求めてもよい。
【0096】
図6(A)に、本実施形態によりリアルタイムに生成された環境テクスチャの例を示し、図6(B)に、この環境テクスチャがマッピングされたオブジェクトOB1が描かれたゲーム画像の例を示す。
【0097】
図6(A)は、オブジェクトOB1を正面方向(マッピング方向)から見た場合に生成される環境テクスチャの例であり、図6(B)では、この環境テクスチャが正面方向からオブジェクトOB1に対してマッピングされている。
【0098】
また図7(A)に、本実施形態によりリアルタイムに生成された環境テクスチャの例を示し、図7(B)に、この環境テクスチャがマッピングされたオブジェクトOB1が描かれたゲーム画像の例を示す。
【0099】
図7(A)は、オブジェクトOB1を斜め方向(マッピング方向)から見た場合に生成される環境テクスチャの例であり、図7(B)では、この環境テクスチャが斜め方向からオブジェクトOB1に対してマッピングされている。
【0100】
図6(B)、図7(B)から明らかなように、本実施形態によれば、オブジェクトOB1をどの方向から見た場合にも、オブジェクトOB1の周囲の環境が矛盾なくオブジェクトOB1に映り込むようになり、リアルな環境マッピングを実現できる。
【0101】
2.2 光沢表現テクスチャ
本実施形態によれば、環境テクスチャ以外にも、種々のテクスチャをリアルタイムに生成できる。
【0102】
例えば図8(A)では、光源を擬似的に表すための複数の光源オブジェクトOB21、OB22、OB23が用意されている(オブジェクト空間内に配置されている)。
【0103】
そして、図3で説明した手法を用いて、これらの光源オブジェクトOB21、OB22、OB23に対応するプリミティブ面を描画領域(テクスチャ領域)に描画することで、オブジェクトOB1の光沢表現(スペキュラ)テクスチャがリアルタイムに生成される。
【0104】
より具体的には、光源オブジェクトOB21、OB22、OB23の定義点の位置座標を、ワールド座標系から仮想点座標系に座標変換し、座標変換後の定義点の位置座標に基づいて、描画ベクトルを求める。そして、求められた描画ベクトルに基づいて、描画領域に、光源オブジェクトOB21、OB22、OB23に対応するプリミティブ面(ポリゴン、自由曲面)を順次描画して行き、オブジェクトOB1の光沢表現テクスチャをリアルタイムに生成する。
【0105】
そして、オブジェクトOB1の仮想点座標系での法線ベクトルを求め、得られた仮想点座標系での法線ベクトルに基づき特定されるテクスチャ座標に基づいて、光沢表現テクスチャをオブジェクトOB1にマッピングする。
【0106】
このようにすることで、あたかも、光源オブジェクトOB21、OB22、OB23からの光によりオブジェクトOB1の表面に光沢が生じたかのように見える画像を生成できる。
【0107】
例えば、複数光源によるオブジェクトの光沢(ハイライト)表現を、照明モデルを用いた光源計算により忠実に実現しようとすると、ゲームシステムの処理負荷が過大になってしまう。
【0108】
本実施形態によれば、図3、図8(A)の手法で生成された光沢表現テクスチャをオブジェクトにマッピングするだけで、複数光源によるオブジェクトの光沢表現を実現できる。そして、光源の数が増えても、光沢表現テクスチャの生成処理の負荷が若干増加するだけであり、全体の処理負荷はそれほど増加しない。従って、本実施形態によれば、少ない処理負担で、よりリアルなオブジェクトの光沢表現を実現できるようになる。
【0109】
なお、光源オブジェクトは、球のような立体形状の物であってもよいし、平面形状の物であってもよい。平面形状の光源オブジェクトを採用する場合には、図8(B)に示すように、仮想点Pと光源オブジェクトOB21とを結ぶ線に対して、光源オブジェクトOB21の主面が略垂直になるように、光源オブジェクトOB21を配置することが望ましい。このようにすれば、オブジェクトOB1と光源オブジェクトOB21との相対的な位置関係が変化した場合にも、仮想点Pから見て光源オブジェクトOB21が常に同一形状(例えば円)に見えるようになる。従って、常に同一形状の光源がオブジェクトOB1に映り込むようになり、よりリアルな光沢表現を実現できるようになる。
【0110】
2.3 陰面消去
さて、図3で説明した手法により、オブジェクトOB2に対応するプリミティブ面を描画領域(テクスチャ領域)に描画する場合には、プリミティブ面間の陰面消去が必要になる。
【0111】
そこで本実施形態では、図9に示すように、オブジェクトOB1の仮想点PとオブジェクトOB2の定義点S1、S2、S3・・・との距離L1、L2、L3を、陰面消去のための奥行き値Z1、Z2、Z3として設定している。そして、これらの奥行き値Z1、Z2、Z3に基づいて、描画領域に描画されるプリミティブ面間の陰面消去を行っている。
【0112】
このようにすることで、描画領域上のプリミティブ面の適正な陰面消去が可能になり、矛盾の無い環境テクスチャ(光沢表現テクスチャ)を生成できるようになる。
【0113】
なお、仮想点PとオブジェクトOB2の定義点S1、S2、S3との距離L1、L2、L3そのものを、奥行き値Z1、Z2、Z3に設定してもよいし、距離L1、L2、L3に加工を加えたものを、奥行き値Z1、Z2、Z3に設定してもよい。
【0114】
2.4 裏向きのプリミティブ面の描画省略
さて、本実施形態では裏向きのプリミティブ面(自由曲面の場合は裏向き部分)の描画を省略するカリング(Culling)処理として、2種類のカリング処理を行っている。
【0115】
第1のカリング処理では、図10に示すように、オブジェクトOB2を構成するプリミティブ面のうち、仮想点Pから見て裏向きであるプリミティブ面(自由曲面の場合は、プリミティブ面の裏向き部分)については、描画領域(テクスチャ領域)への描画(図3のA5参照)を省略する。このようにすることで、プリミティブ面の無駄な描画処理が行われる事態が防止され、環境テクスチャ(光沢表現テクスチャ)の生成処理を効率化できる。
【0116】
また、第2のカリング処理では、描画領域への描画対象となるプリミティブ面のうち、描画領域において裏向きであるプリミティブ面(自由曲面の場合は、プリミティブ面の裏向き部分)については、描画領域への描画を省略している。
【0117】
例えば、図11(A)のようにオブジェクトOB1を正面方向から見た場合に、生成される環境テクスチャは図11(B)のようになり、この環境テクスチャが正面方向からオブジェクトOB1にマッピングされる。
【0118】
この場合に、プリミティブ面S1-S2-S3-S4については、描画領域に描画しても問題ないが、プリミティブ面S5-S6-S7-S8が描画されてしまうと、プリミティブ面S1-S2-S3-S4の上にプリミティブ面S5-S6-S7-S8が重ね書きされてしまうことになり、正しい環境テクスチャを生成できなくなる。
【0119】
即ち、仮想点Pと定義点S5、S6、S7又はS8を結ぶ方向は仮想的な反射方向に相当する(図5参照)。しかしながら、このような仮想点Pと定義点S5、S6、S7又はS8を結ぶ反射方向は、現実にはあり得ない反射方向であり、プリミティブ面S5-S6-S7-S8については、その描画を省略すべきである。
【0120】
そこで本実施形態の第2のカリング処理では、プリミティブ面S1-S2-S3-S4については、表向きのプリミティブ面であるとして描画する一方で、プリミティブ面S5-S6-S7-S8については、裏向きのプリミティブ面であるとして描画しないようにしている。このようにすることで、矛盾の無い環境テクスチャを生成できるようになる。
【0121】
2.5 隙間領域の修正
さて、上記のような第2のカリング処理を行った場合に、次のような問題が発生することが判明した。
【0122】
即ち、第2のカリング処理によりカリングされるプリミティブ面の大きさが十分に小さければ問題は発生しないが、カリングされるプリミティブ面が十分に小さくない場合には、生成される環境テクスチャに対して図12に示すように隙間領域(プリミティブ面が描画されない領域)20、22、24、26が生じてしまう。
【0123】
例えば図12において、四角形30の内接円32の内側領域が環境マッピングの際に使用される領域である。従って、この内接円32の内側領域に隙間領域20、22、24、26が発生してしまうと、適正な環境マッピングを実現できない。
【0124】
そこで、本実施形態では、裏向きのプリミティブ面(自由曲面の場合は、プリミティブ面の裏向き部分)の描画を省略するカリング処理により描画予定領域(描画ベクトルによりプリミティブ面が描画される予定の領域であり、具体的には内接円32の内側領域)に生じる隙間領域20、22、24、26を、修正するための処理を行っている。
【0125】
より具体的には、図12に示すように、描画領域でのプリミティブ面の定義点(頂点)と内接円32の中心点34との距離(描画ベクトルのXY平面上での長さ)が所与のしきい値RLよりも長いか否かを判断する。そして、そして、中心点34からの距離がRLよりも長い定義点(例えば36)については、中心点34から遠ざけるようにスケーリング処理を行う(描画ベクトルのX成分、Y成分をスケーリングする)。
【0126】
このようにすることで、図13に示すように、描画予定領域(内接円32の内側領域)に隙間領域が生じなくなり、適正な環境テクスチャを生成できるようになる。
【0127】
なお、隙間領域の修正手法は図12、図13で説明した手法に限定されず、種々の変形実施が可能である。例えば、描画領域(テクスチャ領域)の全てのプリミティブ面の全ての定義点を、中心点から遠ざけるようにスケーリングしてもよい。
【0128】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図14、図15、図16のフローチャートを用いて説明する。
【0129】
図14は、環境テクスチャ(光沢表現テクスチャ)の生成処理に関するフローチャートである。
【0130】
まず、図3で説明したようにオブジェクトOB1に設定された仮想点Pの位置とマッピング方向(例えば視線方向)とに基づいて、ワールド座標系(XW、YW、ZW)から仮想点座標系(XP、YP、ZP)への変換マトリクスMを求める(ステップSP1)。
【0131】
より具体的には、図17においてP、C、A、Bは、
P=Px、Py、Pz:ワールド座標系での仮想点Pの位置
C=Cx、Cy、Cz:マッピング方向を向くワールド座標系の単位ベクトル
A=Ax、Ay、Az:Cに垂直なワールド座標系の単位ベクトル
B=Bx、By、Bz:C、Aに垂直なワールド座標系の単位ベクトル
となっている。
【0132】
この場合に、変換マトリクスM(要素M00〜M33)は下式(3)のようにして計算できる(なお、以下において「*」は乗算を意味する)。
【0133】
【数1】
Figure 0004480322
【0134】
次に、オブジェクトOB2を構成するポリゴンの頂点のワールド座標系での位置S(Sx、Sy、Sz)を、仮想点座標系での位置T(Tx、Ty、Tz)に上記の変換マトリクスMを用いて座標変換する(ステップSP2)。
【0135】
具体的には下式(4)に示すような計算を行う。
【0136】
【数2】
Figure 0004480322
【0137】
次に、図10で説明したように、仮想点Pから見てオブジェクトOB2を構成するポリゴンが裏向きか否かを判断する(ステップSP3)。
【0138】
具体的には図18(A)において、オブジェクトOB2を構成するポリゴン50の第1、第2、第3の頂点の仮想点座標系での位置をT1(T1x、T1y、T1z)、T2(T2x、T2y、T2z)、T3(T3x、T3y、T3z)とする。また、T1からT2に向かうベクトルをVT12、T1からT3に向かうベクトルをVT13、PからT1に向かうベクトルをVPT(=T1)とする。
【0139】
すると、表裏判定パラメータI1は下式(5)のように計算される。なお、下式において「×」は外積、「・」は内積を表す。
【0140】
Figure 0004480322
このI1の符号(正か負か)を調べることで、ポリゴン50が仮想点Pから見て裏向きか否かを判断できる。
【0141】
そして、このIの符号に基づいて、仮想点Pから見てポリゴンが裏向きであると判断された場合には、以降のステップSP4〜SP10の処理を省略する。一方、ポリゴンが裏向きではないと判断された場合には、図9で説明したように、仮想点Pとポリゴンの各頂点との距離Lを求める(ステップSP4)。
【0142】
具体的には距離Lは下式(6)のように計算される。
【0143】
L=(Tx2+Ty2+Tz2)1/2 (6)
次に、図17に示すように、仮想点座標系でのマッピング方向(Cの方向)と、位置Tが示す方向との中間方向を向き(θ1=θ2)、長さが1である、仮想点座標系の描画ベクトルN(Nx、Ny、Nz)を求める(ステップSP5)。
【0144】
具体的には下式(7)のように計算される。
【0145】
(Nx、Ny、Nz)
=(Tx/R3、Ty/R3、(Tz+L)/R3) (7)
但し、上式(7)において、
R3={Tx2+Ty2+(Tz+L)2}1/2 (8)
である。
【0146】
次に、図12で説明したように、描画ベクトルNのXY(UV)平面上での長さR2がしきい値RLよりも大きいか否かを判断する(ステップSP6)。
【0147】
ここで、
R2=(Nx2+Ny2)1/2 (9)
である。
【0148】
R2がRLよりも大きい場合には、図13で説明したように、描画予定領域の隙間領域を埋めるために描画ベクトルNのX成分、Y成分をスケーリングする(ステップSP7)。
【0149】
例えば、スケーリングパラメータをSCとすると、描画ベクトルNのX成分Nx、Y成分Nyは下式(10)のようなスケーリングされる。
【0150】
Nx←Nx*{1+SC*(R2−RL)/R2}
Ny←Ny*{1+SC*(R2−RL)/R2} (10)
次に、描画ベクトルNのX成分、Y成分に基づいて、描画座標系での位置Qを求める(ステップSP8)。
【0151】
具体的には位置Qは下式(11)のように計算される。
【0152】
Qx=(Nx*0.5+0.5)*W
Qy=(Ny*0.5+0.5)*H (11)
但し、
W:描画領域の幅
H:描画領域の高さ
である。
【0153】
次に、図11(A)、(B)で説明したように、位置Qにより構成されるポリゴンが裏向きか否かを判断する(ステップSP9)。
【0154】
具体的には図18(B)において、ポリゴン52の第1、第2、第3の頂点の描画座標系での位置をQ1(Q1x、Q1y)、Q2(Q2x、Q2y)、Q3(Q3x、Q3y)とする。また、Q1からQ2に向かうベクトルをVQ12、Q1からQ3に向かうベクトルをVQ13とする。
【0155】
すると、表裏判定パラメータI2は下式(12)のように計算される。
【0156】
I2=(Q2x-Q1x)*(Q3y-Q1y)-(Q2y-Q1y)*(Q3x-Q1x) (12)
このI2の符号(正か負か)を調べることで、ポリゴン52が描画領域において裏向きか否かを判断できる。
【0157】
そして、I2に基づきポリゴンが裏向きであると判断された場合には、ステップSP10の描画処理が省略される。一方、裏向きではないと判断された場合には、図9で説明したように、距離LをZ値とする陰面消去を行いながら、位置Qにより構成されるポリゴンを描画(テクスチャ)領域に描画する(ステップSP10)。
【0158】
次に、全てのポリゴンに対する処理を完了したか否かを判断し(ステップSP11)、完了していない場合には図14のステップSP2に戻る。
【0159】
図16は、環境テクスチャ(光沢表現テクスチャ)のマッピング時の処理に関するフローチャートである。
【0160】
まず、図4で説明したように、オブジェクトOB1を構成するポリゴンの頂点の法線ベクトルを、図14のステップSP1で作成された変換マトリクスMを用いて仮想点座標系に座標変換する(ステップSP20)。
【0161】
次に、座標変換後の法線ベクトルに基づいてテクスチャ座標を求める(ステップSP21)。そして、求められたテクスチャ座標に基づいて、描画領域の画像(環境テクスチャ、光沢表現テクスチャ)をオブジェクトOB1にマッピングする(ステップSP22)。
【0162】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図19を用いて説明する。
【0163】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0164】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0165】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0166】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0167】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0168】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0169】
ゲームコントローラ942からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0170】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0171】
RAM960は、各種プロセッサの作業領域として用いられる。
【0172】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0173】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0174】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他のゲームシステムとの間でのデータ転送が可能になる。
【0175】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実行してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実行してもよい。或いは、ハードウェアとプログラムの両方により実行してもよい。
【0176】
そして、本発明の各手段をハードウェアとプログラムの両方により実行する場合には、情報記憶媒体には、本発明の各手段をハードウェアを利用して実行するためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実行することになる。
【0177】
図20(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実行するための情報(プログラム或いはデータ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0178】
図20(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209等に格納されている。
【0179】
図20(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に伝送し端末において出力することになる。
【0180】
なお、図20(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実行するようにしてもよい。また、本発明の各手段を実行するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0181】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0182】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0183】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0184】
また、仮想点や仮想点座標系の設定手法も本実施形態で説明した手法が特に望ましいが、本発明では、これとは異なる種々の手法を採用できる。
【0185】
また、本実施形態では、環境テクスチャ、光沢表現テクスチャをリアルタイム生成する場合について説明したが、本発明によれば、環境テクスチャ、光沢表現テクスチャ以外のテクスチャを生成することもできる。
【0186】
また、本実施形態で説明した座標変換手法と数学的に等価な座標変換手法を用いる場合も、本発明の均等な範囲に含まれる。
【0187】
また、マッピング方向としては、仮想カメラの視線方向に限定されず、任意の方向を採用できる。
【0188】
また、裏向きのプリミティブ面(プリミティブ面の裏向き部分)の描画を省略する手法や、隙間領域を修正する手法も、本実施形態で説明した手法が特に望ましいが、これに限定されるものではない。
【0189】
また、オブジェクトにマッピングされるテクスチャは、色情報(カラーコード、インデックス番号)のテクスチャに限定されず、輝度情報、半透明情報(α値)、表面形状情報(バンプ値)、反射率情報、屈折率情報、或いは深さ情報などについてのテクスチャでもよい。
【0190】
また、オブジェクトが自由曲面により表される場合には、得られた自由曲面上の各点を直接描画するようにしてもよいし、得られた自由曲面上の各点が頂点に設定されたポリゴン(ポリゴンデータ)を生成し、そのポリゴンを描画するようにしてもよい。
【0191】
また本発明はレーシングゲーム以外にも種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0192】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々のゲームシステム(画像生成システム)に適用できる。
【図面の簡単な説明】
【図1】映り込み表現を実現する第1の手法について説明するための図である。
【図2】本実施形態のゲームシステムのブロック図の例である。
【図3】本実施形態による環境テクスチャの生成手法について説明するための図である。
【図4】オブジェクトへの環境テクスチャのマッピング手法について説明するための図である。
【図5】描画ベクトルを求める手法について説明するための図である。
【図6】図6(A)、(B)は、本実施形態により生成される環境テクスチャとゲーム画像の例について示す図である。
【図7】図7(A)、(B)は、本実施形態により生成される環境テクスチャとゲーム画像の他の例について示す図である。
【図8】図8(A)、(B)は、光沢表現テクスチャの生成手法について説明するための図である。
【図9】プリミティブ面の陰面消去の手法について説明するための図である。
【図10】第1のカリング処理について説明するための図である。
【図11】図11(A)、(B)は、第2のカリング処理について説明するための図である。
【図12】描画予定領域に生じる隙間領域について説明するための図である。
【図13】隙間領域の修正処理について説明するための図である。
【図14】本実施形態の詳細な処理例について示すフローチャートである。
【図15】本実施形態の詳細な処理例について示すフローチャートである。
【図16】本実施形態の詳細な処理例について示すフローチャートである。
【図17】本実施形態の詳細な処理例について説明するための図である。
【図18】図18(A)、(B)は、ポリゴンの表裏の判定処理について説明するための図である。
【図19】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図20】図20(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
OB1 オブジェクト(第1のオブジェクト)
OB2 オブジェクト(第2のオブジェクト)
P 仮想点
S、S1、S2、S3 定義点(頂点、制御点)
XP、YP、ZP 仮想点座標系
XW、YW、ZW ワールド座標系
N 描画ベクトル
10 仮想カメラ(視点)
20、22、24、26 隙間領域
32 内接円(描画予定領域)
100 処理部
110 ゲーム処理部
112 移動・動作演算部
130 画像生成部
132 仮想点座標系設定部
134 座標変換部
136 描画ベクトル演算部
138 テクスチャ描画部
140 テクスチャマッピング部
142 陰面消去部
144 表裏判定部
146 隙間領域修正部
150 音生成部
160 操作部
170 記憶部
172 フレームバッファ
174 テクスチャ領域
176 Zバッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部

Claims (10)

  1. 画像生成を行うゲームシステムであって、
    第1のオブジェクトの仮想的な代表点である仮想点に設定された仮想点座標系に、第2のオブジェクトの定義点の位置座標を座標変換する手段と、
    座標変換後の前記第2のオブジェクトの定義点の位置座標に基づいて、仮想点と第2のオブジェクトの定義点とを結ぶ方向に沿ったベクトルとは異なる方向を向く描画ベクトルを求める描画ベクトル演算手段と、
    求められた前記描画ベクトルに基づいて、前記第2のオブジェクトに対応するプリミティブ面を所与の描画領域に描画する手段と、
    を含むことを特徴とするゲームシステム。
  2. 請求項1において、
    前記描画ベクトル演算手段が、
    所与のマッピング方向に沿ったベクトルを第1のベクトルとし、仮想点と第2のオブジェクトの定義点とを結ぶ方向に沿ったベクトルを第2のベクトルとした場合に、第1のベクトルと描画ベクトルのなす角度と第2のベクトルと描画ベクトルのなす角度との間に所与の関係式が成り立つ描画ベクトルを演算することを特徴とするゲームシステム。
  3. 請求項1において、
    前記描画ベクトル演算手段が、
    座標変換後の第2のオブジェクトの定義点の位置座標と、第2のオブジェクトの定義点と仮想点との距離に基づいて、描画ベクトルを演算することを特徴とするゲームシステム。
  4. 画像生成を行うゲームシステムであって、
    所与のマッピング方向に沿った第1のベクトルと、第1のオブジェクトの仮想的な代表点である仮想点と第2のオブジェクトの定義点とを結ぶ方向に沿った第2のベクトルとに基づいて、前記仮想点を含む所与の仮想面に対して垂直な方向を向き、前記第2のベクトルとは異なる方向を向く描画ベクトルを求める描画ベクトル演算手段と、
    求められた前記描画ベクトルに基づいて、前記第2のオブジェクトに対応するプリミティブ面を所与の描画領域に描画する手段と、
    を含むことを特徴とするゲームシステム。
  5. 請求項4におてい、
    前記仮想面が、前記第1のベクトルが仮想的な入射方向を表すベクトルとなり、前記第2のベクトルが仮想的な反射方向を表すベクトルとなる面であることを特徴とするゲームシステム。
  6. コンピュータが使用可能な情報記憶媒体であって、
    第1のオブジェクトの仮想的な代表点である仮想点に設定された仮想点座標系に、第2のオブジェクトの定義点の位置座標を座標変換する手段と、
    座標変換後の前記第2のオブジェクトの定義点の位置座標に基づいて、仮想点と第2のオブジェクトの定義点とを結ぶ方向に沿ったベクトルとは異なる方向を向く描画ベクトルを求める描画ベクトル演算手段と、
    求められた前記描画ベクトルに基づいて、前記第2のオブジェクトに対応するプリミティブ面を所与の描画領域に描画する手段と、
    を実行するためのプログラムを含むことを特徴とする情報記憶媒体。
  7. 請求項6において、
    前記描画ベクトル演算手段が、
    所与のマッピング方向に沿ったベクトルを第1のベクトルとし、仮想点と第2のオブジェクトの定義点とを結ぶ方向に沿ったベクトルを第2のベクトルとした場合に、第1のベクトルと描画ベクトルのなす角度と第2のベクトルと描画ベクトルのなす角度との間に所与の関係式が成り立つ描画ベクトルを演算することを特徴とする情報記憶媒体。
  8. 請求項6において、
    前記描画ベクトル演算手段が、
    座標変換後の第2のオブジェクトの定義点の位置座標と、第2のオブジェクトの定義点と仮想点との距離に基づいて、描画ベクトルを演算することを特徴とする情報記憶媒体。
  9. コンピュータが使用可能な情報記憶媒体であって、
    所与のマッピング方向に沿った第1のベクトルと、第1のオブジェクトの仮想的な代表点である仮想点と第2のオブジェクトの定義点とを結ぶ方向に沿った第2のベクトルとに基づいて、前記仮想点を含む所与の仮想面に対して垂直な方向を向き、前記第2のベクトルとは異なる方向を向く描画ベクトルを求める描画ベクトル演算手段と、
    求められた前記描画ベクトルに基づいて、前記第2のオブジェクトに対応するプリミティブ面を所与の描画領域に描画する手段と、
    を実行するためのプログラムを含むことを特徴とする情報記憶媒体。
  10. 請求項9において
    前記仮想面が、前記第1のベクトルが仮想的な入射方向を表すベクトルとなり、前記第2のベクトルが仮想的な反射方向を表すベクトルとなる面であることを特徴とする情報記憶媒体。
JP2002256464A 2002-09-02 2002-09-02 ゲームシステム及び情報記憶媒体 Expired - Fee Related JP4480322B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002256464A JP4480322B2 (ja) 2002-09-02 2002-09-02 ゲームシステム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002256464A JP4480322B2 (ja) 2002-09-02 2002-09-02 ゲームシステム及び情報記憶媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000034806A Division JP3377490B2 (ja) 2000-02-14 2000-02-14 ゲームシステム及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2003157446A JP2003157446A (ja) 2003-05-30
JP4480322B2 true JP4480322B2 (ja) 2010-06-16

Family

ID=19196670

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002256464A Expired - Fee Related JP4480322B2 (ja) 2002-09-02 2002-09-02 ゲームシステム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP4480322B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010231620A (ja) * 2009-03-27 2010-10-14 Dainippon Printing Co Ltd 三次元cg画像編集方法、装置、プログラム、記録媒体
US8587585B2 (en) * 2010-09-28 2013-11-19 Intel Corporation Backface culling for motion blur and depth of field

Also Published As

Publication number Publication date
JP2003157446A (ja) 2003-05-30

Similar Documents

Publication Publication Date Title
JP4079410B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3249955B2 (ja) 画像生成システム及び情報記憶媒体
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3442344B2 (ja) ゲームシステム及び情報記憶媒体
JP3656012B2 (ja) ゲームシステム及び情報記憶媒体
JP4167358B2 (ja) 画像生成システム及び情報記憶媒体
JP4367804B2 (ja) 画像生成システム及び情報記憶媒体
US7129945B2 (en) Image generation method, program and information storage medium
JP2006323512A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4245356B2 (ja) ゲームシステム及び情報記憶媒体
JP3377490B2 (ja) ゲームシステム及び情報記憶媒体
JP4480322B2 (ja) ゲームシステム及び情報記憶媒体
JP2001229403A (ja) ゲームシステム及び情報記憶媒体
JP4497690B2 (ja) ゲームシステム及び情報記憶媒体
JP2005209217A (ja) ゲームシステム及び情報記憶媒体
JP4577968B2 (ja) ゲームシステム及び情報記憶媒体
JP4574058B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4518643B2 (ja) ゲームシステム及び情報記憶媒体
JP4641602B2 (ja) ゲームシステム及び情報記憶媒体
JP4229316B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4610729B2 (ja) ゲームシステム、プログラム及び情報記憶媒体
JP4662260B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP4391633B2 (ja) 画像生成システム及び情報記憶媒体
JP2003162734A (ja) ゲームシステム及び情報記憶媒体
JP4592039B2 (ja) ゲームシステム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100210

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

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

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4480322

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130326

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140326

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

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