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

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

Info

Publication number
JP4079410B2
JP4079410B2 JP2002038640A JP2002038640A JP4079410B2 JP 4079410 B2 JP4079410 B2 JP 4079410B2 JP 2002038640 A JP2002038640 A JP 2002038640A JP 2002038640 A JP2002038640 A JP 2002038640A JP 4079410 B2 JP4079410 B2 JP 4079410B2
Authority
JP
Japan
Prior art keywords
modifier volume
vertex
setting unit
modifier
program
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
JP2002038640A
Other languages
English (en)
Other versions
JP2003242523A (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 JP2002038640A priority Critical patent/JP4079410B2/ja
Priority to US10/359,232 priority patent/US7091972B2/en
Publication of JP2003242523A publication Critical patent/JP2003242523A/ja
Application granted granted Critical
Publication of JP4079410B2 publication Critical patent/JP4079410B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。格闘ゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラ(操作部)を用いて自キャラクタ(オブジェクト)を操作し、相手プレーヤやコンピュータが操作する敵キャラクタと対戦することでゲームを楽しむ。
【0003】
さて、このような画像生成システムでは、キャラクタなどのモデルオブジェクトのリアルな影を生成することが望まれる。そして、このような影生成手法の1つとして、モディファイアボリューム(狭義にはシャドウボリューム)を用いる手法が知られている。
【0004】
しかしながら、このようなモディファイアボリュームを用いる手法では、キャラクタの自己影が、そのキャラクタ自身に落ちてしまう場合があることが判明した。そして、キャラクタに対して他の陰影づけが既に行われている場合に、このような自己影がキャラクタに更に落ちると、生成される画像の品質を低下させてしまう。
【0005】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、モディファイアボリュームを用いながらも、高品質な画像を生成できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0006】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、オブジェクトの情報に基づいて、そのオブジェクトについてのモディファイアボリュームを設定するモディファイアボリューム設定部と、設定されたモディファイアボリュームに基づいて、モディファイアボリュームにより特定される空間についての属性変更処理を行う属性変更部とを含み、前記モディファイアボリューム設定部が、オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする。また本発明に係るプログラムは、上記各部としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0007】
本発明では、オブジェクトの情報(頂点情報、位置情報又は方向情報等)に基づいて、そのオブジェクトについてのモディファイアボリュームが設定される。例えば、オブジェクト(3次元形状のオブジェクト。閉じたサーフェスモデルとして定義されるオブジェクト)の頂点を第1のベクトルの方向に移動することでオブジェクトを変形し、その変形されたオブジェクトがモディファイアボリュームとして設定される。或いは、オブジェクトを所与の平面(第1のベクトルに直交する平面)に投影することで得られる投影画像を内包するプリミティブ面を求め、そのプリミティブ面の頂点を第1のベクトルの方向に引き延ばすことで、モディファイアボリュームが設定される。或いは、第1のベクトルの方向から見たときのオブジェクトのエッジ(輪郭)を求め、そのエッジ(エッジを構成する頂点)を第1のベクトルの方向に引き延ばすことで、モディファイアボリュームが設定される。本発明では、このようにして設定されたモディファイアボリュームを用いて、モディファイアボリュームにより特定される空間(モディファイアボリューム内の空間或いはモディファイアボリューム外の空間等)についての属性変更処理(輝度低減処理、輝度増加処理又はテクスチャ変更処理等)が行われる。
【0008】
そして本発明では、オブジェクトと、設定されたモディファイアボリュームとの間に隙間領域が設けられる。このような隙間領域を設けることで、モディファイアボリュームによる属性変更処理の影響が、オブジェクト自身に及ぶことを防止することなどが可能になり、より高品質なオブジェクトの画像を生成できるようになる。
【0009】
なお、本発明では属性変更部を省く構成とすることも可能である。
【0010】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モディファイアボリューム設定部が、前記隙間領域の隙間長を、オブジェクトと第1の平面との距離に応じて変化させてもよい。
【0011】
この場合、オブジェクト(代表点、頂点又は頂点により特定される点等)と第1の平面との距離は、この距離と数学的に均等なパラメータを含む。また、この距離と隙間長との関係は、線形な関係であってもよいし、非線形な関係であってもよい。
【0012】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モディファイアボリューム設定部が、前記隙間領域の隙間長を、オブジェクトと第1の平面との距離が長くなるほど長くするようにしてもよい。
【0013】
このようにすれば、第1の平面から距離が離れているオブジェクトほど、隙間長を長くすることが可能になる。これにより、例えば、そのオブジェクトと同じモデルオブジェクトに属する他のオブジェクトに対して、そのオブジェクトのモディファイアボリュームによる属性変更処理の影響が及ぶのを防止できる。
【0014】
なお、オブジェクトと第1の平面との距離が長くなるほど、隙間長を短くすることも可能である。
【0015】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、背景と複数のモデルオブジェクトが描画され、その後に、各モデルオブジェクトに対応するモディファイアボリュームが描画されるようにしてもよい。
【0016】
このようにすれば、例えば、第1のモデルオブジェクトについてのモディファイアボリュームの属性変更処理の影響が、第1のモデルオブジェクト自身には及ばないようにしながら、他の第2のモデルオブジェクトに対しては及ぶようにすることが可能になる。
【0017】
なお、このような順序の描画処理は、例えば描画部(画像生成部)により行われる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モディファイアボリューム設定部が、3次元形状のオブジェクトの頂点を、頂点毎に異なった移動距離で所与の第1のベクトルの方向に移動することで、前記オブジェクトを第1のベクトルの方向に変形し、変形されたオブジェクトをモディファイアボリュームとして設定してもよい。
【0019】
本発明では、3次元形状のオブジェクトの頂点が、頂点毎に異なった移動距離で第1のベクトルの方向に移動する。そして、この頂点移動処理により変形されたオブジェクトが、モディファイアボリュームとして設定される。この場合、頂点移動処理により変形されたオブジェクトそのものを、モディファイアボリュームに設定してもよいし、変形されたオブジェクトを更に変形したものを、モディファイアボリュームとして設定してもよい。
【0020】
このようにすれば、オブジェクトの頂点移動処理でモディファイアボリュームを設定できるため、処理負荷の軽減化や処理の簡素化を図れる。
【0021】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モディファイアボリューム設定部が、第1のベクトルとオブジェクトの頂点の法線ベクトルとのなす角度が小さい頂点ほどその移動距離が長くなるように、オブジェクトの頂点を移動してもよい。
【0022】
この場合、頂点の法線ベクトルは、頂点に付与される法線ベクトルと数学的に均等なパラメータを含む。また、頂点の法線ベクトルの向きは、オブジェクトの面の向きに必ずしも正確に一致していなくてもよい。また、第1のベクトルと法線ベクトルとのなす角度は、この角度と数学的に均等なパラメータを含む。また、この角度と頂点の移動距離との関係は、線形な関係であってもよいし、非線形な関係であってもよい。
【0023】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モディファイアボリューム設定部が、オブジェクトの代表点又は頂点と第1の平面との距離が長いほど、頂点の移動距離を長くするようにしてもよい。
【0024】
この場合、オブジェクトの代表点又は頂点と第1の平面との距離は、この距離と数学的に均等なパラメータを含む。また、この距離と頂点の移動距離との関係は、線形な関係であってもよいし、非線形な関係であってもよい。
【0025】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モディファイアボリューム設定部が、移動前の頂点の座標をP(PX、PY、PZ)とし、移動後の頂点の座標をQ(QX、QY、QZ)とし、第1のベクトルをVS(VSX、VSY、VSZ)とし、第1のベクトルとオブジェクトの頂点の法線ベクトルとの内積をIPとし、IPに乗算される係数をKとし、オブジェクトの代表点又は頂点と第1の平面との距離パラメータをHとした場合に、Q=P+H×(K×IP+1)×VSとなるように、オブジェクトの頂点を移動してもよい。
【0026】
この場合、内積IP、距離パラメータHは、これらと数学的に均等なパラメータを含む。また、距離パラメータHは、距離そのものでもよいし、距離に変換処理を施したものでもよい。また、一部の頂点については、Q=P+H×(K×IP+1)×VSの関係式に従った移動処理を行わないようにしてもよい。また、Q=P+H×(K×IP+1)×VSという関係式に代えて、Q=P+H×F(IP)×VS(ここでF(IP)はIPを引数とする関数)という関係式を採用することもできる。
【0027】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モディファイアボリューム設定部が、前記係数Kを、1よりも大きな値に設定してもよい。
【0028】
このようにすることで、モディファイアボリュームの幅(短軸方向)を太らせることなどが可能になる。
【0029】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体では、前記モディファイアボリューム設定部が、前記内積IPの値を、所与の範囲にクランプしてもよい。
【0030】
このようにすることで、オブジェクトとモディファイアボリュームとの間に設けられる隙間領域の隙間長を、簡素な処理で制御できるようになる。
【0031】
【発明の実施の形態】
以下、本実施形態について図面を用いて説明する。
【0032】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0033】
1.構成
図1に、本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170を含めばよく)、それ以外の各部(機能ブロック)については任意の構成要素とすることができる。
【0034】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、ステアリング、シフトレバー、アクセルペダル、ブレーキペダル、マイク、センサー、或いは筺体などのハードウェアにより実現できる。
【0035】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0036】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部(各手段)としてコンピュータを機能させるためのプログラム(各部をコンピュータに実現させるためのプログラム)が記憶(記録、格納)される。
【0037】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0038】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。
【0039】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0040】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0041】
なお本実施形態の各部(各手段)としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(記憶部170)に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0042】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。この処理部100の機能は、各種プロセッサ(CPU、DSP等)又はASIC(ゲートアレイ等)などのハードウェアや、プログラム(ゲームプログラム)により実現できる。
【0043】
ここで、処理部100が行う処理としては、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【0044】
処理部100は、移動・動作処理部110、オブジェクト空間設定部112、モディファイアボリューム設定部114、描画部120、音生成部130を含む。なお、処理部100は、これらの各部(機能ブロック)を全て含む必要はなく、その一部を省略してもよい。
【0045】
移動・動作処理部110は、オブジェクト(移動体)の移動情報(位置、回転角度)や動作情報(オブジェクトの各パーツの位置、回転角度)を求める処理を行う。即ち、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作(モーション、アニメーション)させたりする処理を行う。
【0046】
より具体的には、移動・動作処理部110は、オブジェクト(移動体)の位置や回転角度を例えば1フレーム(1/60秒、1/30秒等)毎に変化させる。例えば(k−1)フレームでのオブジェクトの位置、回転角度をPk-1、θk-1とし、オブジェクトの1フレームでの位置変化量(速度)、回転変化量(回転速度)を△P、△θとする。するとkフレームでのオブジェクトの位置Pk、回転角度θkは例えば下式(1)、(2)のように求められる。
【0047】
Pk=Pk-1+△P (1)
θk=θk-1+△θ (2)
オブジェクト空間設定部112は、移動体(キャラクタ、車、戦車、ロボット)、柱、壁、建物、マップ(地形)などの各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間内に配置設定するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度(方向)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転)でオブジェクトを配置する。
【0048】
モディファイアボリューム設定部114は、モディファイアボリューム(狭義にはシャドウボリューム)を設定(生成、配置)するための処理を行う。ここで、モディファイアボリュームは、属性変更処理を行う空間を特定するためのボリューム(仮想的なオブジェクト)であり、例えば、閉じたサーフェスモデルとして定義される。
【0049】
本実施形態では、モディファイアボリューム設定部114が、3次元形状のオブジェクトの頂点を、第1のベクトル(狭義には投影ベクトル)の方向に移動(平行移動)し、オブジェクトを変形する。そして、変形されたオブジェクト(或いは更に別の変形処理を施したオブジェクト)を、モディファイアボリュームとして設定(配置)する。
【0050】
なお、変形されるオブジェクトは、例えば、閉じたサーフェスモデル(楕円球等)として定義される。また、変形されるオブジェクトは、モデルオブジェクトそのものであってもよいし、モデルオブジェクトを構成するパーツオブジェクトそのものであってもよい。或いは、モデルオブジェクトやパーツオブジェクトを内包(enclose)するバウンディングボリューム(モデルオブジェクトやパーツオブジェクトの形状を近似する簡易オブジェクト)であってもよい。
【0051】
そして、モディファイアボリューム設定部114は、第1のベクトルとオブジェクトの頂点の法線ベクトル(面の向きを表すために頂点に対応づけられた法線ベクトル)とのなす角度(該角度と数学的に等価なパラメータを含む)が小さい頂点ほど、その移動距離が長くなるように、オブジェクトの頂点を移動する。また、オブジェクトの代表点(或いは頂点)と第1の平面(狭義には投影面)との距離(例えば直線距離、垂直距離)が長いほど、頂点の移動距離(平行移動距離)を長くする。また、モディファイアボリューム設定部114は、モディファイアボリュームが第1の平面に交差するようにモディファイアボリュームを設定する。具体的には、モディファイアボリュームの略中心点として定義される代表点が、第1の平面上に位置するように、モディファイアボリュームを設定する。
【0052】
描画部(画像生成部)120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。例えば、いわゆる3次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点(構成点)に付与される位置座標、テクスチャ座標、色(輝度)データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、ジオメトリ処理後のオブジェクト(1又は複数プリミティブ面)の画像が、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画される。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成されるようになる。
【0053】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0054】
描画部120が含む属性変更部122は、モディファイアボリュームにより特定される空間(モディファイアボリューム内の空間或いはモディファイアボリューム外の空間)についての属性変更処理を行う。具体的には、モディファイアボリュームにより特定される空間に存在するプリミティブ(面、線、点或いはピクセル等)に対して、属性変更処理を行う。
【0055】
ここで属性変更処理としては、影空間に対する輝度低減処理(輝度を暗くする処理)や、照明空間に対する輝度増加処理(輝度を明るくする処理)や、或いは、プリミティブ面にマッピングするテクスチャを変更する処理などを考えることができる。また、これ以外にも、CG(Computer Graphics)画像の生成に使用する種々の属性(輝度、色、α値、奥行き値、テクスチャ或いは法線ベクトル等)を変更する処理を考えることができる。
【0056】
なお、属性変更部122は、例えばZバッファ176やステンシルバッファ178を用いて属性変更処理を行う。
【0057】
ここで、Zバッファ176は、奥行き値(Z値)を格納するバッファである。このZバッファ176を用いることで、陰面消去などの処理が可能になる。また、ステンシルバッファ178は、格納されている値に、演算(増加、減少又は反転等)を施すことができるバッファである。このステンシルバッファ178を用いれば、描画バッファ174(フレームバッファ、ワークバッファ等)への描画処理の際に、その描画領域に対応するステンシルバッファ178上の領域に対して、予め指定された演算を行うことが可能になる。
【0058】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0059】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0060】
2.本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【0061】
なお、以下では、格闘ゲームに本実施形態を適用した場合を主に例にとり説明するが、本実施形態は、格闘ゲーム以外の種々のゲームに広く適用できる。
【0062】
また、以下では、属性変更処理が影生成のための輝度低減処理である場合について主に説明するが、本実施形態の属性変更処理はこれに限定されず、例えば、輝度増加処理やテクスチャ変更処理などに拡張できる。
【0063】
2.1 モディファイアボリュームの生成
モディファイアボリュームの生成(設定)手法としては、種々の手法が考えられる。
【0064】
例えば図2(A)の第1の手法では、投影ベクトルVSに直交する投影面に3次元オブジェクトOB(閉じたサーフェスモデル)を投影した場合に、その投影画像(2次元画像)を内包するポリゴン(広義にはプリミティブ面。明細書中の他の説明でも同様)PLを求める。そして、このポリゴンPLの頂点を投影ベクトルVSの方向に引き延ばすことで、モディファイアボリュームMVを生成する。
【0065】
また図2(B)の第2の手法では、投影ベクトルVS(光源)の方から見た場合の3次元オブジェクトOBのエッジEDを求め、そのエッジEDを投影ベクトルVSの方向に引き延ばすことで、モディファイアボリュームMVを生成する。
【0066】
より具体的には、まず、オブジェクトOBを構成するポリゴンが、投影ベクトルVSの方から見て表向きか、裏向きかを判定する。これは、投影ベクトルVSの方向をZ軸方向とする座標系(光源座標系)において、ポリゴンの法線ベクトルのZ成分の極性を調べることで判定できる。そして、オブジェクトを構成するポリゴンのエッジの中で、そのエッジを共有する2つのポリゴンのうちの一方が表向きになっており、他方が裏向きになっているエッジEDを見つけ出す。そして、見つけ出されたエッジEDを投影ベクトルの方向に引き延ばすことで、モディファイアボリュームMVを生成する。
【0067】
しかしながら、図2(A)の第1の手法では、投影ベクトルVSがどの方向であってもオブジェクトOBの投影画像を常に内包するようなポリゴンPLを、求める必要がある。従って、このようなポリゴンPLを求める処理のアルゴリズムが煩雑化し、製品の開発期間の長期化を招く。また、投影ベクトルVSとオブジェクトOBとの相対的な位置関係が微妙に変化しただけでポリゴンPLの形状が煩雑に切り替わるような特異点が発生してしまう。このため、モディファイアボリュームMVにより生成される影にちらつきが生じてしまう。
【0068】
また、図2(B)の第2の手法では、ポリゴンの表裏を判定したり、エッジEDを検出する処理の負荷が重いという欠点がある。このため、1フレーム以内に全ての処理を完了させるというリアルタイム処理の要請に応えることが難しくなる。
【0069】
そこで本実施形態では、以下に説明するような手法でモディファイアボリュームを生成(広義には設定。明細書中の他の説明でも同様)している。
【0070】
例えば図2(B)の手法では、図3に示すように、3次元形状のオブジェクトOBのエッジEDを検出し、このエッジEDを投影ベクトルVSの方向に引き延ばすことで、モディファイアボリュームMVを生成している。
【0071】
これに対して本実施形態では、図4に示すように、3次元形状のオブジェクトOB自体を投影ベクトルVS(広義には第1のベクトル。明細書中の他の説明でも同様)の方向に変形することで、モディファイアボリュームMV(モディファイアボリューム・オブジェクト)を生成している。
【0072】
より具体的には、オブジェクトOBの頂点(構成点)を、頂点毎に異なった移動距離で、投影ベクトルVSの方向に移動する。そして、この頂点の移動によりオブジェクトOBを変形し、変形された後のオブジェクトOBを、モディファイアボリュームMVに設定している。
【0073】
なお、図4や後述する他の図面では、説明の便宜のために、オブジェクトOBやモディファイアボリュームMVを平面図形で表している。しかしながら、これらのオブジェクトOB、モディファイアボリュームMVは、実際には、閉じた3次元のサーフェスモデルであり、複数の頂点により定義されるオブジェクト(複数のプリミティブ面で構成されるオブジェクト)である。
【0074】
さて、本実施形態では、例えば図5に示すようにオブジェクトOBの頂点VE1〜VE5をVE1’〜VE5’に移動している(VE5とVE5’は同じ位置になる)。
【0075】
より具体的には、投影ベクトルVSと頂点VE1〜VE5での法線ベクトルN1〜N5(オブジェクトを構成するプリミティブ面の向きを表すベクトル)とのなす角度(これらの角度と数学的に均等なパラメータでもよい)が小さい頂点ほど、移動距離LM1〜LM5が長くなるように、頂点VE1〜VE5を移動する。
【0076】
例えば図5では、投影ベクトルVSと法線ベクトルN1のなす角度は0度であり、一番小さい。一方、VSとN5のなす角度は180度であり、一番大きい。従って、この場合には、VE1からVE1’への移動距離LM1が一番長くなり、VE5からVE5’への移動距離LM5は一番短くなる。
【0077】
同様に、VE2〜VE4からVE2’〜VE4’への移動距離をLM2〜LM4とした場合に、LM1>LM2>LM3>LM4>LM5という関係が成り立つように、頂点VE1〜VE5を移動する。
【0078】
このような手法で頂点を移動すれば、図4に示すように、オブジェクトOBを投影ベクトルVSの方向に引き延ばすことが可能になり、オブジェクトOBの影生成等に最適なモディファイアボリュームMVを生成できる。
【0079】
また、本実施形態ではオブジェクトの代表点(頂点でもよい)と、投影面(広義には第1の平面。明細書中の他の説明でも同様)との距離(狭義には高さ)が長いほど、頂点の移動距離を長くしている。
【0080】
具体的には、図6では、オブジェクトOB1、OB2の代表点RP1、RP2と投影面PPとの距離はH1、H2であり、H2の方がH1よりも長くなっている。この場合には、図6に示すように、オブジェクトOB2の頂点VE21〜VE23からVE21’〜VE23’への移動距離LM21〜LM23を、オブジェクトOB1の頂点VE11〜VE13からVE11’〜VE13’への移動距離LM11〜LM13よりも長くする。
【0081】
このようにすれば、図4に示すようにモディファイアボリュームMVを投影面PP交差させることが可能になる。別の言い方をすれば、投影面PPで区切られる領域RG1、RG2(第1、第2の領域)のうち、領域RG1(OBが配置される側の領域)に、モディファイアボリュームMVの一端(例えば右端)が位置し、領域RG2に、MVの他端(例えば左端)が位置するように、MVを配置できる。
【0082】
そして、このようモディファイアボリュームMVが投影面PP交差するようになれば図4に示すような交差領域CRG確保されるようになる。従ってこの確保された交差領域CRGに対して、影生成のための輝度低減処理(広義には属性変更処理。明細書中の他の記載においても同様)を適正に施すことが可能になる。
【0085】
なお、図6では、オブジェクトOB1、OB2の代表点RP1、RP2と投影面PPとの距離H1、H2に応じて、頂点の移動距離LM11〜LM13、LM21〜LM23を変化させている。しかしながら、オブジェクトOB1、OB2を構成する頂点と投影面PPとの距離に応じて、頂点の移動距離を変化させてもよい。
【0086】
以上のように説明した本実施形態では、図2(A)の第1の手法とは異なり、投影画像を内包するポリゴンPLの生成処理が不要であり、頂点を移動するだけで自動的にモディファイアボリュームMVを生成できる。従って、モディファイアボリュームMVを生成する処理を簡素化できる。また、図2(A)の第1の手法とは異なり、投影ベクトルVSとオブジェクトOBとの相対的な位置関係が変化しても特異点等が発生しないため、影のちらつきの発生も防止できる。
【0087】
また、図2(B)、図3の第2の手法ではオブジェクトOBのエッジEDを検出する必要があるが、本実施形態では、このようなエッジEDの検出処理は不要となる。従って、処理負荷を大幅に軽減できる。
【0088】
2.2 頂点移動処理の具体例
さて、本実施形態では、具体的には以下に説明する手法で頂点を移動している。
【0089】
例えば、移動前のオブジェクトOBの頂点(VE1〜VE5等)の座標をP(PX、PY、PZ)とし、移動後の頂点の座標をQ(QX、QY、QZ)とし、投影ベクトルをVS(VSX、VSY、VSZ)とする。また、投影ベクトルVSとOBの頂点の法線ベクトル(N1〜N5等)との内積をIPとし、IPに乗算される係数をKとし、OB(代表点又は頂点)と投影面PPとの距離パラメータをHとする。
【0090】
この場合に、本実施形態では、
Q=P+H×(K×IP+1)×VS (3)
となるように、オブジェクトの頂点を移動している。
【0091】
上式(3)によれば、投影ベクトルVSと頂点の法線ベクトルとの内積IPが大きな値になるほど、P、Q間の移動距離が長くなる。従って、図6に示すように、投影ベクトルVSと法線ベクトルとのなす角度が小さい頂点ほど、その移動距離を長くすることが可能になる。
【0092】
また、上式(3)によれば、距離パラメータHが長いほど、P、Q間の移動距離が長くなる。従って、図7に示すように、オブジェクト(代表点又は頂点)と投影面との距離が長いほど、そのオブジェクトの頂点の移動距離を長くすることが可能になる。
【0093】
このように、上式(3)によれば、簡素で負荷の軽い処理で、オブジェクトを変形し、モディファイアボリュームを生成することが可能になる。
【0094】
なお、本実施形態における内積IPは、内積と数学的に均等なパラメータ(例えば、VSの方向をZ軸とする座標系でのZ成分等)を含む。
【0095】
また、上式(3)の係数Kは、K≧1とすることができ、更に望ましくは、K>1(例えばK=2)とすることができる。
【0096】
また、上式(3)の代わりに、
Q=P+H×F(IP)×VS (4)
となるように、オブジェクトの頂点を移動してもよい。
【0097】
ここで、F(IP)は、IPを引数とする所与の関数(例えば、引数の線形変換又は非線形変換を行う関数等)である。
【0098】
2.3 隙間領域の形成
本実施形態では図7に示すように、オブジェクトOBとモディファイアボリュームMVとの間に、隙間領域(gap region)GRを設けている。即ち、オブジェクトOBとモディファイアボリュームMVとがオーバラップしないようにしている。
【0099】
このようにすることで、オブジェクトOBに、自分自身の影(以下、自己影と呼ぶ)が落ちる事態を防止できる。
【0100】
即ち、モディファイアボリュームMVで特定される影空間(広義には空間。明細書中の他の説明でも同様)に対しては、影生成のための輝度低減処理が行われる。これにより、例えば図7の交差領域CRGに、オブジェクトOBの影が生成される。
【0101】
ところが、オブジェクトOBとモディファイアボリュームMVとがオーバラップしてしまうと、そのオーバラップ領域に対しても輝度低減処理が行われてしまう。この結果、そのオーバラップ領域に自己影が生成されてしまう。
【0102】
そこで本実施形態では、図7に示すように、オブジェクトOBとモディファイアボリュームMVとの間に隙間領域GRを形成し(MVをOBから逃がし)、自己影の発生を防止している。
【0103】
より具体的には、
Q=P+H×(K×IP+1)×VS (5)
という式(上述の(3)と同じ式)において、
CL≦K×IP+1≦CH (6)
となるように、内積IPの値を、所与の範囲にクランプする。このようにすることで、モディファイアボリュームMVが図7に示すような形状に設定され、MVとOBの間に隙間領域GRが形成される。即ち、上式(5)に従うと図7のA1の位置に移動する頂点が、上式(6)で内積IPの値がクランプされることで、A2の位置に移動するようになり、隙間領域GRが形成されるようになる。
【0104】
なお、隙間領域GRの形成のためには、下限値CLによるクランプは必要だが、上限値CHによるクランプは必ずしも必要ない。
【0105】
また、隙間領域GRを形成する手法は、内積IPの値をクランプする手法に限定されない。例えば、モディファイアボリュームMVを、投影ベクトルVSの方向(OBからMVへと向かう方向)に所与の距離だけ移動させてもよい。或いは、図4のように形成されたモディファイアボリュームMVに対して、投影ベクトルVSに沿った方向でスケーリング(縮小)する変形処理を施してもよい。即ち、モディファイアボリュームMVの頂点を、代表点RM(中心点)の方向に移動させる変形処理を行ってもよい。
【0106】
2.4 距離に応じた隙間長の変化
本実施形態では、隙間領域GRの隙間長を、オブジェクト(代表点、頂点又は頂点により特定される点等)と投影面との距離に応じて変化させている。
【0107】
より具体的には図8、図9に示すように、隙間領域の隙間長GL1〜GL4を、オブジェクトOB1〜OB4と投影面PPとの距離H1〜H4が長くなるほど、長くなるようにしている。
【0108】
例えば図9において、オブジェクトOB2、OB3、OB4に対応するモディファイアボリュームとして、MV2、MV3、MV4が生成されている。また、オブジェクトOB2、OB3、OB4と投影面PPとの距離H2、H3、H4は、H2<H3<H4という関係になっている。
【0109】
この場合には、オブジェクトOB2、OB3、OB4とモディファイアボリュームMV2、MV3、MV4との間に形成される隙間領域の隙間長GL2、GL3、GL4を、GL2<GL3<GL4という関係になるように設定する。
【0110】
なお、投影面PPに接地しているオブジェクトOB1については、隙間領域は設けられておらず、隙間長GL1は例えば負の値になっている。従って、オブジェクトOB1に対しては自己影が生成される可能性があるが、この自己影は、投影面PP上に生成される影と一体化されて表示されるため、それほど問題はない。
【0111】
オブジェクトと投影面との距離に応じて隙間長を長くする処理は、より具体的には、以下のようにして実現できる。
【0112】
即ち、
Q=P+H×(K×IP+1)×VS (7)
CL≦K×IP+1≦CH (8)
という式(上述の(5)、(6)と同じ式)において、クランプ範囲の下限値CLを、距離Hに応じて変化させる(上限値CHについても変化させてもよい)。このようにすることで、図9に示すように、距離H1〜H4に応じて隙間長GL1〜GL4を変化させることが可能になる。
【0113】
例えば、ゲームに登場するキャラクタ(広義にはモデルオブジェクト。明細書中の他の説明でも同様)では、地面(投影面)から離れた位置にある手や胴体などのパーツオブジェクトの移動の自由度は高い。従って、例えば、右手と左手の距離が近くなったり、右手と胴体の距離が近くなるという事態が頻繁に生じる。
【0114】
そして、例えば、右手と左手の距離が近くなると、右手の影である自己影が左手に落ちたり、右手と胴体の距離が近くなると、右手の影である自己影が胴体に落ちてしまうおそれがある。このようにキャラクタに対して幾つもの自己影が落ちると、生成されるキャラクタの画像が、不自然なものになってしまう。特に、近い距離で落ちる自己影では、その大きさが不均一になったり、自己影同士のつながりが不自然になるという問題があり、生成される画像の品質が更に悪化する。
【0115】
本実施形態では、図9において、例えば手に相当するオブジェクトOB4では隙間長GL4が長くなる。従って、この手に相当するオブジェクトOB4の自己影が、例えば胴体に相当するオブジェクトOB3に落ちるという事態が防止される。従って、より自然で高品質な画像を生成できる。
【0116】
また、図9のようにオブジェクトOB4についての隙間長GL4を長くしても、オブジェクトOB4と投影面PPとの距離H4は長いため、OB4の影が投影面PPに落ちなくなるという事態も生じにくい。例えば、投影面PPが壁である場合にも、オブジェクトOB4の影を落とすことが可能になる。
【0117】
なお、オブジェクトの隙間長は、オブジェクトの高さに対して線形に変化させてもよいし、非線形に変化させてもよい。また、オブジェクトが所与の高さとなった場合に、隙間長を一定値にするようにしてもよい。
【0118】
2.5 モディファイアボリュームの幅の変更
本実施形態では、図7等に示すモディファイアボリュームMVの幅(投影ベクトルVSに直交する方向での幅)の変更処理を行っている。具体的には図10のB1〜B4に示すように、投影ベクトルVSに直交する方向で、モディファイアボリュームMVの幅を太くしている。
【0119】
このようにすることで、輝度低減処理(属性変更処理)が行われる交差領域CRGの面積を、より広くすることが可能になる。この結果、交差領域CRGに生成される影の画像の品質を更に高めることができる。また、パーツオブジェクトの影同士のつながりを、より自然なものにすることができる。
【0120】
より具体的には、本実施形態では、
Q=P+H×(K×IP+1)×VS (9)
という式(上述の(7)と同じ式)において、K>1に設定している。
【0121】
例えばK=2に設定すれば、投影ベクトルVSの方向でのモディファイアボリュームMVの長さは2倍になる。そして、モディファイアボリュームMVは図10のB5に示す位置で最大幅となり、B6に示す位置で最小幅になっている。従って、MVの長さ(長軸)を長くすれば、B1〜B4に示す位置でのモディファイアボリュームMVの幅(短軸)は太くなる。
【0122】
そして、このようにKを、K>1となるように大きくしても、前述したように内積IPは所与の範囲にクランプされる。従って、Kを大きくしても、隙間長GLの長さは短くならず、オブジェクトOBとモディファイアボリュームMVとの間の隙間領域GRを確保できる。
【0123】
なお、モディファイアボリュームMVの幅を太くする手法は、上式(9)でK>1とする手法に限定されない。例えば、モディファイアボリュームMVを、投影ベクトルVSに直交する方向でスケーリング(縮小)することで、MVの幅を太くしてもよい。
【0124】
図11に、本実施形態により生成されるゲーム画像の例を示す。図11に示すように、本実施形態によれば、モデルオブジェクトMOB(キャラクタ)のリアルな影を、地面や壁に適正に落とすことが可能になる。
【0125】
図12、図13に、モデルオブジェクトMOBに対応して生成されるモディファイアボリュームMVの例を示す。図9で説明したように、本実施形態では、モデルオブジェクトMOBを構成するパーツオブジェクト(頭、手、胴体、腰、足等)の高さに応じて、各パーツオブジェクトとモディファイアボリュームMVの間の隙間長が変化し、高い位置にあるパーツオブジェクトほど隙間長が長くなっている。また、図13に示すように、本実施形態では、投影面PP(地面)に交差するように(投影面PPの下に潜り込むように)、モディファイアボリュームMVが設定されている。
【0126】
2.6 バウンディングボリュームの利用
本実施形態では図14(A)に示すように、モデルオブジェクトMOB又はモデルオブジェクトを構成する各パーツオブジェクトを内包(enclose)するバウンディングボリュームBVを用意する。このバウンディングボリュームBVも、閉じた3次元のサーフェスモデルであり、複数の頂点(プリミティブ面)により構成されている。
【0127】
例えば、モデルオブジェクトMOBのパーツオブジェクトPOBが図14(B)に示すようなものであった場合には、このPOBに対応して、図14(C)に示すようなバウンディングボリュームBVを記憶部に用意する。このバウンディングボリュームBV(簡易オブジェクト)は、パーツオブジェクトPOBの形状を近似した形状のオブジェクトになっている。
【0128】
図15に、本実施形態で使用されるバウンディングボリュームBVの一例を示す。このように、バウンディングボリュームBVは、モデルオブジェクトMOB又はその各パーツオブジェクトを包み込む形状のオブジェクトになっている。
【0129】
本実施形態では、このバウンディングボリュームBVを、図4等で説明した手法で変形し、モディファイアボリュームMVを生成している。このようにすることで、移動処理の対象となる頂点の数を減らすことができ、処理負荷を軽減できる。
【0130】
なお、頂点移動処理の対象となるバウンディングボリュームBVは、なるべく頂点の密度が均一なオブジェクトであることが望ましい。例えば、バウンディングボリュームBVとして最も望ましいのは、球(正球及び楕円球)オブジェクトである。
【0131】
球オブジェクトの場合には、投影ベクトルがどの方向であっても、その投影ベクトルの方から見たときの頂点の数が均一になる。従って、投影ベクトルがどの方向であっても、球オブジェクトの頂点を適正に移動させることができる。即ち、球オブジェクトを投影ベクトルの方向に変形した場合、投影ベクトルの方向に依存せずに、適正な形状のモディファイアボリュームを常に得ることができる。
【0132】
なお、正球オブジェクト(長軸半径と短軸半径が同じ長さのオブジェクト)を所与の軸(長軸又は短軸)方向に拡大又は縮小して種々の形状の楕円球オブジェクト(長軸半径と短軸半径が違う長さのオブジェクト)を求め、求められた楕円球オブジェクトを、モデルオブジェクトの各パーツオブジェクトのバウンディングボリュームに設定してもよい。
【0133】
例えば、正球オブジェクトを所与の軸方向に第1〜第Nの拡大率(或いは第1〜第Nの縮小率)で拡大(或いは縮小)することで、第1〜第Nの楕円球オブジェクトを得る。そして、これらの第1〜第Nの楕円球オブジェクトを、モデルオブジェクトを構成する第1〜第Nのパーツオブジェクトのバウンディングボリュームとして使用する。
【0134】
この際に、例えば、変形元になる正球オブジェクトの各頂点の法線ベクトルを、バウンディングボリュームの各頂点の法線ベクトルに設定してもよい。このようにすると、バウンディングボリューム(広義にはオブジェクト)に設定された頂点法線ベクトルの向きは、面の向きとは正確に一致しなくなるが、それほど問題は生じない。
【0135】
また、モデルオブジェクトの腕などにおいては、図16(A)に示すように、頂点の密度が不均一になっている場合がある。即ち、直線形状を表現する部分などでは、ポリゴン数を節約するために頂点数が少なくなっている場合が多い。
【0136】
このような場合に本実施形態では、図16(B)に示すように、バウンディングボリュームの頂点密度を、図16(A)に示すモデルオブジェクトやそのパーツオブジェクトの頂点密度よりも均一にしている。このようにすれば、投影ベクトルの方向がどの方向でも、バウンディングボリュームの頂点を適正に移動させることができ、適正な形状のモディファイアボリュームを得ることができる。
【0137】
なお、本実施形態の頂点移動処理の対象となるオブジェクトは、パーツオブジェクトを内包するバウンディングボリュームであってもよいし、モデルオブジェクト全体を内包するバウンディングボリュームであってもよい。
【0138】
また、モデルオブジェクトやパーツオブジェクト自体の頂点を、図4等に示す本実施形態の頂点移動手法で移動し、モディファイアボリュームを生成してもよい。このようにすれば、モデルオブジェクトやパーツオブジェクトとは別に、バウンディングボリュームを用意する必要が無くなるため、メモリの記憶容量を節約できる。
【0139】
2.7 描画順序
本実施形態では、例えば図17に示すような順序で描画処理を行っている。
【0140】
即ち図17に示すように、まず、背景を描画し、複数のモデルオブジェクトMOB、MOB2を描画する。なお、背景とモデルオブジェクトMOB1、MOB2の描画順序を入れ替えてもよいし、背景とモデルオブジェクトMOB1、MOB2を同時に描画してもよい。
【0141】
そして、本実施形態では、その後に、モディファイアボリュームを描画し、モデルオブジェクトMOB1、MOB2の影を生成する。
【0142】
図18に、このような順序で描画することで得られるゲーム画像の例を示す。
【0143】
図18に示すように、本実施形態では、モデルオブジェクトMOB1の影がモデルオブジェクトMOB2に落ちるようになる。従って、影のリアル度を更に高めることができる。
【0144】
例えば図19に、比較例の描画手法を示す。
【0145】
この比較例の描画手法では、まず、背景を描画し、次に、モディファイアボリュームを描画し、モデルオブジェクトMOB1、MOB2の影を生成する。そして、その後に、複数のモデルオブジェクトMOB1、MOB2を描画する。
【0146】
この比較例の描画手法では、複数のモデルオブジェクトMOB1、MOB2の影は、背景に対しては落ちるが、相手のモデルオブジェクトに対しては落ちなくなる。
【0147】
即ち図17の本実施形態の描画手法では、図18に示すように、モデルオブジェクトMOB1の影が相手のモデルオブジェクトMOB2に落ちるが、図19の比較例の描画手法では、MOB1の影はMOB2に落ちない。従って、本実施形態の手法に比べて、影のリアル度を今ひとつ高めることができない。
【0148】
従来は、図9に示す本実施形態とは異なり、モデルオブジェクトとモディファイアボリュームとの間に隙間領域が設けられていなかった。従って、この従来例において、モデルオブジェクトを描画した後にモディファイアボリュームを描画するという図17の描画順序を採用すると、自己影がモデルオブジェクトに落ちてしまう。このため、このような自己影が落ちないように、従来例においては、図19に示すような描画順序を採用せざるを得なかった。図19の描画順序ならば、モディファイアボリュームによる影は、背景にしか落ちないようになるからである。
【0149】
ところが、図19の描画順序では、前述のように、例えばモデルオブジェクトMOB1の影は、自己影としてMOB1には落ちなくなるが、相手のモデルオブジェクトMOB2にも落ちなくなる。従って、結局、図18のような画像を生成できないことになる。
【0150】
これに対して本実施形態では、図9に示すように、モデルオブジェクトとモディファイアボリュームとの間に隙間領域が設けられている。従って、自己影が落ちる可能性が少ないため、図17に示す描画手法を採用できる。この結果、モデルオブジェクトMOB1の自己影はMOB1に落ちず、且つ、MOB1の影は相手のモデルオブジェクトMOB2に落ちるという、理想的なゲーム画像を生成できる。
【0151】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図20、図21、図22、図23のフローチャートを用いて説明する。
【0152】
まず、投影ベクトル及び隙間パラメータRMIN、RMAXを求める(ステップS1)。
【0153】
次に、背景及びモデルオブジェクト(キャラクタ)を描画し、ZバッファにZプレーンを生成する(ステップS2。図17参照)。また、ステンシルバッファの全てのピクセルの値を最大値に初期化する(ステップS3)。
【0154】
次に、投影ベクトルと、地形データと、影空間生成用オブジェクト(閉じたサーフェスモデル)の骨マトリクスと、そのオブジェクトの頂点法線情報とに基づき、モディファイアボリューム(頂点)を生成する(ステップS4。図4参照)。
【0155】
次に、モディファイアボリュームを構成するポリゴンのうち視点から見て表向きのポリゴンを描画する(ステップS5)。この際、そのZ値がZバッファのZ値よりも手前にあるピクセルについて、ステンシルバッファの値を1(第1の値)だけ減算する(Zバッファは更新しない)。
【0156】
次に、モディファイアボリュームを構成するポリゴンのうち視点から見て裏向きのポリゴンを描画する(ステップS7)。この際、そのZ値が、ZバッファのZ値よりも手前にあるピクセルについて、ステンシルバッファの値を1だけ加算する(Zバッファは更新しない)。
【0157】
このようにすることで、例えば図24において斜線で示したピクセル(部分)については、ステンシルバッファの値が最大値にはならなくなる。
【0158】
次に、全てのオブジェクトを処理したか否かを判断する(ステップS7)。そして終了していない場合にはステップS4に戻る。
【0159】
一方、終了した場合には、ステンシルバッファの値が最大値でないピクセル(部分)を判定し、そのピクセルについての属性変更処理(輝度低減処理等)を行う(ステップS8)。即ち、図24の斜線で示したピクセルについて属性変更処理が行われ、影等が生成される。
【0160】
図21、図22は、図20のステップS4で行われるモディファイアボリュームの生成処理に関するフローチャートである。
【0161】
まず、投影面までの距離Hを求める(ステップS11)。そして、オブジェクトが投影面の下に潜っているか否かを判断し(ステップS12)、潜っている場合には処理を終了する。
【0162】
潜っていない場合には、距離Hに基づき隙間長(逃がし長)を求め、クランプ範囲の上限値CH、下限値CLを求める(ステップS13。図7参照)。
【0163】
次に、距離Hと投影ベクトルに基づき、平行移動ベクトルVM=H×VSを求める(ステップS14)。そして、頂点番号nを0に設定する(ステップS15)。
【0164】
次に、骨マトリクスMを用いて、オブジェクトのローカル座標系での頂点座標Pnを、ワールド座標系の頂点座標Pn’=M×Pnに変換する(ステップS16)。
【0165】
次に、骨マトリクスMを用いて、オブジェクトのローカル座標系での法線ベクトルNnを、ワールド座表系の法線ベクトルNn’=M×Nnに変換する(ステップS17)。そして、投影ベクトルVSと法線ベクトルNn’の内積IP=VS・Nn’を求める(ステップS18)。
【0166】
なお、投影ベクトルVSをワールド座標系からオブジェクトのローカル座標系に座標変換し、ローカル座標系での投影ベクトルVSと、ローカル座標系での法線ベクトルとの内積を求めるようにしてもよい。
【0167】
次に、IP’=K×IP+1を求める(図22のステップS19)。そして、IP’の値をクランプ範囲(CL〜CH)にクランプする(ステップS20)。
【0168】
次に、平行移動ベクトルをIP’倍し、VM’=IP’×VMを求める(ステップS21)。そして、Pn’をVM’により平行移動し、モディファイアボリュームの頂点座標Qn’=Pn’+VM’を求める(ステップS22)。
【0169】
次に、モディファイアボリュームに所与の変形処理を施す(ステップS23)。
【0170】
次に、全ての頂点を処理したか否かを判断する(ステップS24)。そして、処理していない場合には、nを1だけインクリメントし(ステップS25)、図21のステップS16に戻る。
【0171】
図23は、図21のステップS13で行われる、クランプ範囲の上限値CH、下限値CLを求める処理についてのフローチャートである。
【0172】
まず、Hが2.0(第2の値)よりも大きいか否かを判断する(ステップS31)。そして、H>2.0の場合には、R=RMAXに設定する(ステップS32)。一方、H≦2.0の場合には、R=RMIN+(RMAX−RMIN)×H/2.0に設定する(ステップS33)。そして、CL=1.0−R、CH=1.0+Rに設定する。(ステップS34)。なお、RMIN、RMAXは、投影ベクトルVS(投影ベクトルのY成分VSY)に基づいて、決めることが望ましい。
【0173】
以上のようにすることで、例えば図25に示すような上限値CH、下限値CLを求めることができ、IP’の適正なクランプ処理が可能になる。
【0174】
なお、画像生成システムのハードウェアがステンシルバッファをサポートしていない場合には、図26に示すような手法を採用すればよい。
【0175】
即ち、まず、図26のC1、C2に示すように、元画像(背景及びモデルオブジェクト)をフレームバッファに描画し、この元画像に対応するZプレーンをZバッファに作成する。
【0176】
次に、このC1のZプレーンを参照しながら、C3に示すように、モディファイアボリューム(モディファイアボリュームを構成するプリミティブ面)を描画する。
【0177】
次に、C3の色プレーンを変換して、C4に示すようなZプレーンを生成する。このZプレーンでは、影が生成される領域では、Z=ZMAX−Iに設定され、影が生成されない領域では、Z=ZMAXに設定される(視点から見て手前側に行くほどZ値が大きくなる場合)。
【0178】
次に、C4のZプレーンを参照しながら、影の色が設定された画面サイズの半透明ポリゴン(仮想オブジェクト)を、αブレンディングを行いながら、元画像が描画されているフレームバッファに描画する。この場合、半透明ポリゴンのZ値はZ=ZMAX−J(I>J)に設定されている。従って、C4のZプレーンにおいてZ=ZMAX−Iに設定されている領域では、影の色の半透明ポリゴンが、背景とαブレンディングされながら描画されるようになる。一方、C4のZプレーンにおいてZ=ZMAXに設定されている領域では、影の色の半透明ポリゴンは、陰面消去により描画されないようになる。これにより、Z=ZMAX−Iに設定されている領域に対してだけ、影画像を生成できるようになる。
【0179】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図27を用いて説明する。
【0180】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0181】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0182】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0183】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0184】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ(プリミティブ面)で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0185】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0186】
ゲームコントローラ942(レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等)からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0187】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0188】
RAM960は、各種プロセッサの作業領域として用いられる。
【0189】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0190】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0191】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【0192】
なお、本実施形態の各部(各手段)は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0193】
そして、本実施形態の各部をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本実施形態の各部として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各部を実現することになる。
【0194】
図28(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、操作部1102(レバー、ボタン)を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本実施形態の各部を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
【0195】
図28(B)に、本実施形態を家庭用のゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、コントローラ1202、1204などを操作してゲームを楽しむ。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209などに格納されている。
【0196】
図28(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に伝送し端末において出力することになる。
【0197】
なお、図28(C)の構成の場合に、本実施形態の各部を、ホスト装置(サーバー)と端末とで分散して実現するようにしてもよい。また、本実施形態の各部を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0198】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。
【0199】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0200】
例えば、明細書中の記載において広義な用語(第1のベクトル、第1の平面、属性変更処理、プリミティブ面、オブジェクト等)として引用された用語(投影ベクトル、投影面、輝度低減処理、ポリゴン、モデルオブジェクト・パーツオブジェクト・バウンディングボリューム等)は、明細書中の他の記載においても広義な用語に置き換えることができる。
【0201】
また、モディファイアボリュームの設定手法は、図4〜図25で詳細に説明した手法に限定されず、種々の変形実施が可能である。
【0202】
また、オブジェクトとモディファイアボリュームの間に隙間領域を設ける発明においては、図4の手法ではなく、図2(A)〜図3で説明した第1、第2の手法等で、モディファイアボリュームを設定してもよい。これらの第1、第2の手法を採用した場合には、例えば、生成されたモディファイアボリュームを第1のベクトル(投影ベクトル)の方向に隙間長の距離だけ移動したり、第1のベクトルの方向に隙間長の距離だけスケーリングする変形を行えばよい。
【0203】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0204】
また、本発明は種々のゲーム(格闘ゲーム、競争ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等)に適用できる。
【0205】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック図の例である。
【図2】図2(A)、(B)は、モディファイアボリュームを生成する第1、第2の手法について説明するための図である。
【図3】モディファイアボリュームを生成する第2の手法について説明するための図である。
【図4】本実施形態のモディファイアボリューム生成手法について説明するための図である。
【図5】投影ベクトルと法線ベクトルとのなす角度に応じて頂点の移動距離を変化させる手法について説明するための図である。
【図6】投影面との距離に応じて頂点の移動距離を変化させる手法について説明するための図である。
【図7】オブジェクトとモディファイアボリュームの間に隙間領域を設ける手法について説明するための図である。
【図8】隙間領域の隙間長を投影面との距離に応じて変化させる手法について説明するための図である。
【図9】隙間領域の隙間長を投影面との距離に応じて変化させる手法について説明するための図である。
【図10】モディファイアボリュームの幅を太くする手法について説明する
【図11】本実施形態により生成されるゲーム画像の例を示す図である。
【図12】本実施形態により生成されるモディファイアボリュームの例を示す図である。
【図13】本実施形態により生成されるモディファイアボリュームの例を示す図である。
【図14】図14(A)、(B)、(C)は、バウンディングボリュームについて説明するための図である。
【図15】バウンディングボリュームについて説明するための図である。
【図16】図16(A)、(B)は、バウンディングボリュームの頂点密度を均一にする手法について説明するための図である。
【図17】本実施形態の描画順序について説明するための図である。
【図18】本実施形態により生成されるゲーム画像の例を示す図である。
【図19】比較例の描画順序について説明するための図である。
【図20】本実施形態の処理の詳細例について示すフローチャートである。
【図21】本実施形態の処理の詳細例について示すフローチャートである。
【図22】本実施形態の処理の詳細例について示すフローチャートである。
【図23】本実施形態の処理の詳細例について示すフローチャートである。
【図24】本実施形態の処理の詳細例について説明するための図である。
【図25】本実施形態の処理の詳細例について説明するための図である。
【図26】画像生成システムのハードウェアがステンシルバッファをサポートしていない場合に用いる手法について説明するための図である。
【図27】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図28】図28(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
OB、OB1〜OB4 オブジェクト
MV、MV1〜MV4 モディファイアボリューム
RP オブジェクトの代表点
RM モディファイアボリュームの代表点
CRG 交差領域
VS 投影ベクトル(第1のベクトル)
PP 投影面(第2の平面)
RG1、RG2 第1、第2の領域
VE1〜VE5 頂点
N1〜N5 法線ベクトル
H、H1〜H4 距離
GR 隙間領域
GL、GL1〜GL4 隙間長
CH 上限値
CL 下限値
MOB、MOB1、MOB2 モデルオブジェクト
BV バウンディングボリューム
100 処理部
110 移動・動作処理部
112 オブジェクト空間設定部
114 モディファイアボリューム設定部
120 描画部
122 属性変更部
130 音生成部
160 操作部
170 記憶部
172 主記憶部
174 描画バッファ
176 Zバッファ
178 ステンシルバッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部

Claims (39)

  1. オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、
    オブジェクトを構成する頂点を、頂点毎の法線ベクトルに応じた移動距離で投影ベクトルの方向に移動させることによって、オブジェクトを変形し、変形されたオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部と、
    を含み、
    前記モディファイアボリューム設定部が、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  2. オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、
    オブジェクトを構成する頂点を投影ベクトルの方向に移動させることによって、オブジェクトを変形し、変形されたオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部を含み、
    前記モディファイアボリューム設定部が、
    投影ベクトルとオブジェクトを構成する頂点の法線ベクトルとのなす角度が小さい頂点ほど頂点の移動距離が長くなるように、頂点を移動させると共に、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム
  3. 請求項1又は2において、
    前記モディファイアボリューム設定部が、
    オブジェクトの代表点又はオブジェクトを構成する頂点と投影面との距離が長いほど、頂点の移動距離が長くなるように、頂点を移動させることを特徴とする画像生成システム。
  4. オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、
    オブジェクトを投影面に投影した投影画像を内包するポリゴンの頂点を投影ベクトルの方向に引き伸ばすことによって、モディファイアボリュームを設定するモディファイアボリューム設定部を含み、
    前記モディファイアボリューム設定部が、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  5. オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、
    投影ベクトルの方向に応じてオブジェクトのエッジを検出し、検出したエッジを投影ベクトルの方向に引き伸ばすことによって、モディファイアボリュームを設定するモディファイアボリューム設定部を含み、
    前記モディファイアボリューム設定部が、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  6. 請求項1〜5のいずれかにおいて、
    前記モディファイアボリューム設定部が、
    前記隙間領域の隙間長を、オブジェクトと投影面との距離に応じて変化させることを特徴とする画像生成システム。
  7. 請求項6において、
    前記モディファイアボリューム設定部が、
    前記隙間領域の隙間長を、オブジェクトと投影面との距離が長くなるほど長くすることを特徴とする画像生成システム。
  8. オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、
    オブジェクトを構成する頂点を移動させることによって、オブジェクトを変形し、変形されたオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部を含み、
    前記モディファイアボリューム設定部が、
    移動前の頂点の座標をP(PX、PY、PZ)とし、移動後の頂点の座標をQ(QX、QY、QZ)とし、投影ベクトルをVS(VSX、VSY、VSZ)とし、投影ベクトルとオブジェクトを構成する頂点の法線ベクトルとの内積をIPとし、IPに乗算される係数をKとし、オブジェクトの代表点又はオブジェクトを構成する頂点と投影面との距離パラメータをHとした場合に、
    Q=P+H×(K×IP+1)×VS
    となるように、オブジェクトの頂点を移動させると共に、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  9. 請求項8において、
    前記モディファイアボリューム設定部が、
    前記係数Kを、1よりも大きな値に設定することを特徴とする画像生成システム。
  10. 請求項8又は9において、
    前記モディファイアボリューム設定部が、
    前記内積IPの値を、所与の範囲にクランプすることによって、オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  11. オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、
    第1のオブジェクトを変形した3次元形状の第2のオブジェクトを構成する頂点を、投影ベクトルの方向に移動させることによって、第2のオブジェクトを変形し、変形された第2のオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部を含み、
    前記モディファイアボリューム設定部が、
    第2のオブジェクトを構成する頂点に対応する第1のオブジェクトを構成する頂点の法線ベクトルに応じた移動距離で、第2のオブジェクトを構成する頂点を移動させると共に、
    第2のオブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  12. オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、
    第1のオブジェクトを変形した3次元形状の第2のオブジェクトを構成する頂点を、投影ベクトルの方向に移動させることによって、第2のオブジェクトを変形し、変形された第2のオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部を含み、
    前記モディファイアボリューム設定部が、
    投影ベクトルと、第2のオブジェクトを構成する頂点に対応する第1のオブジェクトを構成する頂点の法線ベクトルとのなす角度が小さい頂点ほど、第2のオブジェクトを構成する頂点の移動距離が長くなるように、第2のオブジェクトを構成する頂点を移動させると共に、
    第2のオブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  13. 請求項11又は12において、
    前記モディファイアボリューム設定部が、
    第2のオブジェクトの代表点又は第2のオブジェクトを構成する頂点と投影面との距離 が長いほど、第2のオブジェクトを構成する頂点の移動距離が長くなるように、第2のオブジェクトを構成する頂点を移動させることを特徴とする画像生成システム。
  14. 請求項11〜13のいずれかにおいて、
    前記モディファイアボリューム設定部が、
    前記隙間領域の隙間長を、第2のオブジェクトと投影面との距離に応じて変化させることを特徴とする画像生成システム。
  15. 請求項14において、
    前記モディファイアボリューム設定部が、
    前記隙間領域の隙間長を、第2のオブジェクトと投影面との距離が長くなるほど長くすることを特徴とする画像生成システム。
  16. オブジェクト空間において所与の視点から見える画像を生成するための画像生成システムであって、
    第1のオブジェクトを変形した3次元形状の第2のオブジェクトを構成する頂点を、投影ベクトルの方向に移動させることによって、第2のオブジェクトを変形し、変形された第2のオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部を含み、
    前記モディファイアボリューム設定部が、
    第2のオブジェクトの移動前の頂点の座標をP(PX、PY、PZ)とし、第2のオブジェクトの移動後の頂点の座標をQ(QX、QY、QZ)とし、投影ベクトルをVS(VSX、VSY、VSZ)とし、投影ベクトルと、第2のオブジェクトの頂点に応じた第1のオブジェクトの頂点の法線ベクトルとの内積をIPとし、IPに乗算される係数をKとし、第2オブジェクトの代表点又は第2のオブジェクトを構成する頂点と投影面との距離パラメータをHとした場合に、
    Q=P+H×(K×IP+1)×VS
    となるように、第2のオブジェクトを構成する頂点を移動させると共に、
    第2のオブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  17. 請求項16において、
    前記モディファイアボリューム設定部が、
    前記係数Kを、1よりも大きな値に設定することを特徴とする画像生成システム。
  18. 請求項16又は17において、
    前記モディファイアボリューム設定部が、
    前記内積IPの値を、所与の範囲にクランプすることによって、第2のオブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とする画像生成システム。
  19. 請求項1〜18のいずれかにおいて、
    背景と複数のモデルオブジェクトが描画され、その後に、各モデルオブジェクトに対応するモディファイアボリュームが描画されることを特徴とする画像生成システム。
  20. オブジェクト空間において所与の視点から見える画像を生成するためのプログラムであって、
    オブジェクトを構成する頂点を、頂点毎の法線ベクトルに応じた移動距離で投影ベクトルの方向に移動させることによって、オブジェクトを変形し、変形されたオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部として、コンピュータを機能させ、
    前記モディファイアボリューム設定部が、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  21. オブジェクト空間において所与の視点から見える画像を生成するためのプログラムであって、
    オブジェクトを構成する頂点を投影ベクトルの方向に移動させることによって、オブジ ェクトを変形し、変形されたオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部として、コンピュータを機能させ、
    前記モディファイアボリューム設定部が、
    投影ベクトルとオブジェクトを構成する頂点の法線ベクトルとのなす角度が小さい頂点ほど頂点の移動距離が長くなるように、頂点を移動させると共に、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  22. 請求項20又は21において、
    前記モディファイアボリューム設定部が、
    オブジェクトの代表点又はオブジェクトを構成する頂点と投影面との距離が長いほど、頂点の移動距離が長くなるように、頂点を移動させることを特徴とするプログラム。
  23. オブジェクト空間において所与の視点から見える画像を生成するためのプログラムであって、
    オブジェクトを投影面に投影した投影画像を内包するポリゴンの頂点を投影ベクトルの方向に引き伸ばすことによって、モディファイアボリュームを設定するモディファイアボリューム設定部として、コンピュータを機能させ、
    前記モディファイアボリューム設定部が、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  24. オブジェクト空間において所与の視点から見える画像を生成するためのプログラムであって、
    投影ベクトルの方向に応じてオブジェクトのエッジを検出し、検出したエッジを投影ベクトルの方向に引き伸ばすことによって、モディファイアボリュームを設定するモディファイアボリューム設定部として、コンピュータを機能させ、
    前記モディファイアボリューム設定部が、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  25. 請求項20〜24のいずれかにおいて、
    前記モディファイアボリューム設定部が、
    前記隙間領域の隙間長を、オブジェクトと投影面との距離に応じて変化させることを特徴とするプログラム。
  26. 請求項25において、
    前記モディファイアボリューム設定部が、
    前記隙間領域の隙間長を、オブジェクトと投影面との距離が長くなるほど長くすることを特徴とするプログラム。
  27. オブジェクト空間において所与の視点から見える画像を生成するためのプログラムであって、
    オブジェクトを構成する頂点を移動させることによって、オブジェクトを変形し、変形されたオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部として、コンピュータを機能させ、
    前記モディファイアボリューム設定部が、
    移動前の頂点の座標をP(PX、PY、PZ)とし、移動後の頂点の座標をQ(QX、QY、QZ)とし、投影ベクトルをVS(VSX、VSY、VSZ)とし、投影ベクトルとオブジェクトを構成する頂点の法線ベクトルとの内積をIPとし、IPに乗算される係数をKとし、オブジェクトの代表点又はオブジェクトを構成する頂点と投影面との距離パラメータをHとした場合に、
    Q=P+H×(K×IP+1)×VS
    となるように、オブジェクトの頂点を移動させると共に、
    オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  28. 請求項27において、
    前記モディファイアボリューム設定部が、
    前記係数Kを、1よりも大きな値に設定することを特徴とするプログラム。
  29. 請求項27又は28において、
    前記モディファイアボリューム設定部が、
    前記内積IPの値を、所与の範囲にクランプすることによって、オブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  30. オブジェクト空間において所与の視点から見える画像を生成するためのプログラムであって、
    第1のオブジェクトを変形した3次元形状の第2のオブジェクトを構成する頂点を、投影ベクトルの方向に移動させることによって、第2のオブジェクトを変形し、変形された第2のオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部として、コンピュータを機能させ、
    前記モディファイアボリューム設定部が、
    第2のオブジェクトを構成する頂点に対応する第1のオブジェクトを構成する頂点の法線ベクトルに応じた移動距離で、第2のオブジェクトを構成する頂点を移動させると共に、
    第2のオブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  31. オブジェクト空間において所与の視点から見える画像を生成するためのプログラムであって、
    第1のオブジェクトを変形した3次元形状の第2のオブジェクトを構成する頂点を、投影ベクトルの方向に移動させることによって、第2のオブジェクトを変形し、変形された第2のオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部として、コンピュータを機能させ、
    前記モディファイアボリューム設定部が、
    投影ベクトルと、第2のオブジェクトを構成する頂点に対応する第1のオブジェクトを構成する頂点の法線ベクトルとのなす角度が小さい頂点ほど、第2のオブジェクトを構成する頂点の移動距離が長くなるように、第2のオブジェクトを構成する頂点を移動させると共に、
    第2のオブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  32. 請求項30又は31において、
    前記モディファイアボリューム設定部が、
    第2のオブジェクトの代表点又は第2のオブジェクトを構成する頂点と投影面との距離が長いほど、第2のオブジェクトを構成する頂点の移動距離が長くなるように、第2のオブジェクトを構成する頂点を移動させることを特徴とするプログラム。
  33. 請求項30〜32のいずれかにおいて、
    前記モディファイアボリューム設定部が、
    前記隙間領域の隙間長を、第2のオブジェクトと投影面との距離に応じて変化させることを特徴とするプログラム。
  34. 請求項33において、
    前記モディファイアボリューム設定部が、
    前記隙間領域の隙間長を、第2のオブジェクトと投影面との距離が長くなるほど長くすることを特徴とするプログラム。
  35. オブジェクト空間において所与の視点から見える画像を生成するためのプログラムであって、
    第1のオブジェクトを変形した3次元形状の第2のオブジェクトを構成する頂点を、投影ベクトルの方向に移動させることによって、第2のオブジェクトを変形し、変形された 第2のオブジェクトをモディファイアボリュームとして設定するモディファイアボリューム設定部として、コンピュータを機能させ、
    前記モディファイアボリューム設定部が、
    第2のオブジェクトの移動前の頂点の座標をP(PX、PY、PZ)とし、第2のオブジェクトの移動後の頂点の座標をQ(QX、QY、QZ)とし、投影ベクトルをVS(VSX、VSY、VSZ)とし、投影ベクトルと、第2のオブジェクトの頂点に応じた第1のオブジェクトの頂点の法線ベクトルとの内積をIPとし、IPに乗算される係数をKとし、第2オブジェクトの代表点又は第2のオブジェクトを構成する頂点と投影面との距離パラメータをHとした場合に、
    Q=P+H×(K×IP+1)×VS
    となるように、第2のオブジェクトを構成する頂点を移動させると共に、
    第2のオブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  36. 請求項35において、
    前記モディファイアボリューム設定部が、
    前記係数Kを、1よりも大きな値に設定することを特徴とするプログラム。
  37. 請求項35又は36において、
    前記モディファイアボリューム設定部が、
    前記内積IPの値を、所与の範囲にクランプすることによって、第2のオブジェクトとモディファイアボリュームとの間に隙間領域が形成されるように、モディファイアボリュームを設定することを特徴とするプログラム。
  38. 請求項20〜37のいずれかにおいて、
    背景と複数のモデルオブジェクトが描画され、その後に、各モデルオブジェクトに対応するモディファイアボリュームが描画されることを特徴とするプログラム。
  39. コンピュータ読み取り可能な情報記憶媒体であって、請求項20〜38のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
JP2002038640A 2002-02-15 2002-02-15 画像生成システム、プログラム及び情報記憶媒体 Expired - Fee Related JP4079410B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002038640A JP4079410B2 (ja) 2002-02-15 2002-02-15 画像生成システム、プログラム及び情報記憶媒体
US10/359,232 US7091972B2 (en) 2002-02-15 2003-02-06 Image generation of shadows utilizing a modifier volume gap region

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002038640A JP4079410B2 (ja) 2002-02-15 2002-02-15 画像生成システム、プログラム及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2003242523A JP2003242523A (ja) 2003-08-29
JP4079410B2 true JP4079410B2 (ja) 2008-04-23

Family

ID=27678187

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002038640A Expired - Fee Related JP4079410B2 (ja) 2002-02-15 2002-02-15 画像生成システム、プログラム及び情報記憶媒体

Country Status (2)

Country Link
US (1) US7091972B2 (ja)
JP (1) JP4079410B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4193979B2 (ja) * 2003-03-17 2008-12-10 任天堂株式会社 シャドウボリューム生成プログラム及びゲーム装置
JP4262011B2 (ja) * 2003-07-30 2009-05-13 キヤノン株式会社 画像提示方法及び装置
JP2005100176A (ja) * 2003-09-25 2005-04-14 Sony Corp 画像処理装置およびその方法
EP1846834A2 (en) 2005-01-25 2007-10-24 Lucid Information Technology, Ltd. Graphics processing and display system employing multiple graphics cores on a silicon chip of monolithic construction
JP2006293470A (ja) * 2005-04-06 2006-10-26 Namco Bandai Games Inc 描画装置、方法および描画プログラム
JP4852555B2 (ja) * 2008-01-11 2012-01-11 株式会社コナミデジタルエンタテインメント 画像処理装置、画像処理方法、ならびに、プログラム
JP2010033296A (ja) 2008-07-28 2010-02-12 Namco Bandai Games Inc プログラム、情報記憶媒体及び画像生成システム
JP5357685B2 (ja) * 2009-09-28 2013-12-04 株式会社ソニー・コンピュータエンタテインメント 3次元オブジェクト処理装置、3次元オブジェクト処理方法、プログラム、及び情報記憶媒体
JP5520698B2 (ja) 2010-06-07 2014-06-11 任天堂株式会社 ゲーム装置、ゲームプログラムおよびゲームシステム
JP5597087B2 (ja) * 2010-10-04 2014-10-01 パナソニック株式会社 仮想物体操作装置
EP2665032A1 (en) * 2012-05-14 2013-11-20 Thomson Licensing Methods and devices for 3d object protection using surface subdivision
US9609238B2 (en) * 2015-02-09 2017-03-28 The United States Of America As Represented By The Secretary Of The Army Method for modeling a three-dimensional topological surface of an object from long-wave-infrared radiation emitted from the object
US10445947B2 (en) * 2017-08-01 2019-10-15 Google Llc Methods and apparatus for interacting with a distant object within a virtual reality environment
US20210134049A1 (en) * 2017-08-08 2021-05-06 Sony Corporation Image processing apparatus and method
CN109286842A (zh) * 2018-08-23 2019-01-29 深圳点猫科技有限公司 一种基于图形化编程界面循环播放背景的方法、电子设备
CN109993823B (zh) * 2019-04-11 2022-11-25 腾讯科技(深圳)有限公司 阴影渲染方法、装置、终端及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5943164A (en) * 1994-11-14 1999-08-24 Texas Instruments Incorporated Curved 3-D object description from single aerial images using shadows
TW335466B (en) * 1995-02-28 1998-07-01 Hitachi Ltd Data processor and shade processor
US6034695A (en) * 1996-08-02 2000-03-07 Autodesk, Inc. Three dimensional modeling and animation system
JP4105788B2 (ja) * 1997-11-14 2008-06-25 任天堂株式会社 ビデオゲーム装置およびその記憶媒体
JP3599268B2 (ja) * 1999-03-08 2004-12-08 株式会社ソニー・コンピュータエンタテインメント 画像処理方法、画像処理装置及び記録媒体
GB2372188B (en) * 2001-02-08 2005-07-13 Imagination Tech Ltd Volume clipping in computer 3-D Graphics
US6924798B2 (en) * 2001-05-22 2005-08-02 Intel Corporation Real-time multi-resolution shadows

Also Published As

Publication number Publication date
US7091972B2 (en) 2006-08-15
JP2003242523A (ja) 2003-08-29
US20030156109A1 (en) 2003-08-21

Similar Documents

Publication Publication Date Title
US6927777B2 (en) Image generating system and program
JP4079410B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4610748B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4223244B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
US6890261B2 (en) Game system, program and image generation method
US7129945B2 (en) Image generation method, program and information storage medium
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
US20020193161A1 (en) Game system, program and image generation method
JP4754384B2 (ja) プログラム、情報記録媒体および画像生成システム
JP4159082B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4707078B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4187192B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4121111B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4574058B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002216167A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4056035B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP2002222431A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4786389B2 (ja) プログラム、情報記憶媒体及び画像生成システム
JP3614340B2 (ja) ゲームシステム及び情報記憶媒体
JP3377490B2 (ja) ゲームシステム及び情報記憶媒体
JP4229316B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4592039B2 (ja) ゲームシステム及び情報記憶媒体
JP4641602B2 (ja) ゲームシステム及び情報記憶媒体
JP2003162734A (ja) ゲームシステム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071031

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080204

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4079410

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130215

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140215

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees