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

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

Info

Publication number
JP4707080B2
JP4707080B2 JP2001229465A JP2001229465A JP4707080B2 JP 4707080 B2 JP4707080 B2 JP 4707080B2 JP 2001229465 A JP2001229465 A JP 2001229465A JP 2001229465 A JP2001229465 A JP 2001229465A JP 4707080 B2 JP4707080 B2 JP 4707080B2
Authority
JP
Japan
Prior art keywords
viewpoint
image
processing
perspective transformation
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001229465A
Other languages
English (en)
Other versions
JP2003044868A (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 JP2001229465A priority Critical patent/JP4707080B2/ja
Publication of JP2003044868A publication Critical patent/JP2003044868A/ja
Application granted granted Critical
Publication of JP4707080B2 publication Critical patent/JP4707080B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、画像生成システム、プログラム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な3次元空間であるオブジェクト空間内において仮想カメラ(所与の視点)から見える画像を生成する画像生成システム(ゲームシステム)が知られており、いわゆる仮想現実を体験できるものとして人気が高い。格闘ゲームを楽しむことができる画像生成システムを例にとれば、プレーヤは、ゲームコントローラ(操作手段)を用いて自キャラクタ(オブジェクト)を操作し、相手プレーヤやコンピュータが操作する敵キャラクタと対戦することで3次元ゲームを楽しむ。
【0003】
さて、このような3次元ゲームでは、プレーヤの視点とキャラクタとの間に障害物となるオブジェクトが入り込むと、プレーヤの視界がその障害物オブジェクトによりふさがれてしまい、キャラクタの周辺がプレーヤから見えなくなってしまうという問題がある。
【0004】
このような問題を解決する従来技術として、例えば特開平9−50541号公報に開示される技術が知られている。この従来技術では、障害物オブジェクトの形状データとキャラクタの位置データとに基づいて、視点から見て障害物オブジェクトとキャラクタが重なっているか否かを判定し、重なっていると判定した場合には、障害物オブジェクトを透過表示にすることで、上記問題を解決している。
【0005】
しかしながら、この従来技術では、障害物オブジェクトとキャラクタの重なり判定に、障害物オブジェクトの形状データや、視点及びキャラクタの位置データを用いた複雑な処理が必要になる。従って、処理負荷及び処理時間が過大になるという問題があった。
【0006】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、他のオブジェクトが視点障害物となって、注視すべきオブジェクトが見えなくなる事態を、少ない処理負荷で解決できる画像生成システム、プログラム及び情報記憶媒体を提供することにある。
【0007】
【課題を解決するための手段】
上記課題を解決するために、本発明は、画像生成を行う画像生成システムであって、第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断され、且つ、第1のオブジェクトのスクリーンへの透視変換画像が、第2のオブジェクトのスクリーンへの透視変換画像に重なった場合に、第2のオブジェクトを透過して第1のオブジェクトが視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、オブジェクト空間内の所与の視点での画像を生成する手段とを含むことを特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0008】
本発明によれば、視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断され、第1のオブジェクトの透視変換画像が第2のオブジェクトの透視変換画像に重なった場合に、第2のオブジェクトを透過して第1のオブジェクトが視点から見えるようになる。
【0009】
従って、本発明によれば、第2のオブジェクトが視点障害物となって第1のオブジェクトが見えなく事態を解決できる。また、視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かの判断と、第1、第2のオブジェクトの透視変換画像の重なりの判断だけで、上記のような事態を解決できるため、処理負荷の軽減化を図れる。
【0010】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、視点座標系又はスクリーン座標系における奥行き方向の座標をZ座標とした場合に、視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを、第1、第2のオブジェクトのZ座標に基づいて判断することを特徴とする。
【0011】
このようにすれば、第1、第2のオブジェクトのZ座標(例えば代表点のZ座標)を用いた処理(例えば比較処理)だけで、第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断できるようになり、処理負荷の軽減化を図れる。
【0012】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、スクリーン座標系における水平方向の座標をX座標とした場合に、スクリーン座標系における第1、第2のオブジェクトのX座標に基づいて、第2のオブジェクトの透過処理を行うことを特徴とする。
【0013】
このようにすれば、第1、第2のオブジェクトのX座標(例えば代表点のX座標)を用いた処理(例えば線形演算処理)だけで、第2のオブジェクトの透過処理を実現できるようになり、処理負荷の軽減化を図れる。
【0014】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記透過処理がα値に基づく半透明処理であり、第1のオブジェクトの代表点のX座標と、第2のオブジェクトの代表点のX座標と、第2のオブジェクトのX座標方向の大きさを表すためのパラメータとに基づいてα値を求め、求められたα値に基づいて第2のオブジェクトの半透明処理を行うことを特徴とする。
【0015】
このようにすれば、第1、第2のオブジェクトの代表点のX座標とパラメータとにより、半透明処理のためのα値を直接求め、半透明処理を行うことが可能になる。
【0016】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを、第1のオブジェクトの代表点と第2のオブジェクトの代表点とを結ぶ方向のベクトルと、第2のオブジェクトの面の方向を表す法線ベクトルとに基づいて判断することを特徴とする。
【0017】
このようにすれば、第1、第2のオブジェクトの代表点を結ぶ方向のベクトルと第2のオブジェクトの面の法線ベクトルを用いた処理(例えば内積処理)だけで、第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断できるようになり、処理負荷の軽減化を図れる。
【0018】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記透過処理がα値に基づく半透明処理であり、スクリーン座標系における水平方向の座標をX座標とした場合に、第1のオブジェクトの代表点のX座標と、第2のオブジェクトの左端点、右端点、代表点のX座標とに基づいてα値を求め、求められたα値に基づいて第2のオブジェクトの半透明処理を行うことを特徴とする。
【0019】
このようにすれば、第1のオブジェクトの代表点のX座標と、第2のオブジェクトの左端点、右端点、代表点のX座標とにより、半透明処理のためのα値を直接求め、半透明処理を行うことが可能になる。
【0020】
また本発明は、画像生成を行う画像生成システムであって、第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、スクリーン座標系における水平方向の座標をX座標とした場合に、スクリーン座標系における第1、第2のオブジェクトのX座標に基づいて、第2のオブジェクトを透過して第1のオブジェクトが視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、オブジェクト空間内の所与の視点での画像を生成する手段とを含むことを特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0021】
本発明によれば、第1、第2のオブジェクトのX座標(例えば代表点のX座標)を用いた処理(例えば線形演算処理)だけで、第2のオブジェクトの透過処理を実現できるようになり、処理負荷の軽減化を図れる。
【0022】
なお、視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断されたことを条件に、第2のオブジェクトの透過処理を行うことが望ましい。
【0023】
また本発明は、画像生成を行う画像生成システムであって、第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、第2のオブジェクトを透過して第1のオブジェクトが視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、オブジェクト空間内の所与の視点での画像を生成する手段とを含み、前記オブジェクト空間設定手段が、第2のオブジェクトが透過状態になった場合にも非透過状態のままとなる、第2のオブジェクトの位置確認用の第3のオブジェクトを、オブジェクト空間に配置設定することを特徴とする。また本発明に係るプログラムは、上記手段としてコンピュータを機能させることを特徴とする。また本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記手段としてコンピュータを機能させるためのプログラムを記憶(記録)したことを特徴とする。
【0024】
本発明によれば、透過処理により第2のオブジェクトが透過状態(例えば透明、半透明)になっている場合にも、第3のオブジェクトは非透過状態(例えば不透明)になる。従って、プレーヤ(操作者)は、この非透過状態の第3のオブジェクトを見ることで、第2のオブジェクトの位置(或いは形状)を確認できるようになり、好適な操作環境をプレーヤに提供できる。
【0025】
また本発明に係る画像生成システム、プログラム及び情報記憶媒体は、前記第3のオブジェクトが、前記第2のオブジェクトと地形面との間に配置設定されることを特徴とする。
【0026】
このようにすれば、透過状態になった第2のオブジェクトの地形面上での位置を、効果的にプレーヤ(操作者)に知らせることが可能になる。
【0027】
【発明の実施の形態】
以下、本実施形態について図面を用いて説明する。
【0028】
なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を何ら限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0029】
1.構成
図1に、本実施形態の画像生成システム(ゲームシステム)の機能ブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部170を含めばよく)、それ以外のブロックについては任意の構成要素とすることができる。
【0030】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、マイク、センサー或いは筺体などのハードウェアにより実現できる。
【0031】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0032】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体180に格納されるプログラム(データ)に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体180には、本発明(本実施形態)の各手段(特に処理部100に含まれるブロック)としてコンピュータを機能させるためのプログラム(各手段をコンピュータに実現させるためのプログラム)が記憶(記録、格納)される。
【0033】
なお、情報記憶媒体180に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部170に転送されることになる。また情報記憶媒体180には、本発明の処理を行うためのプログラム、画像データ、音データ、表示物の形状データなどを含ませることができる。
【0034】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0035】
音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【0036】
携帯型情報記憶装置194は、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置194としては、メモリカードや携帯型ゲーム装置などを考えることができる。
【0037】
通信部196は、外部(例えばホスト装置や他の画像生成システム)との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ、或いは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
【0038】
なお本発明(本実施形態)の各手段としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0039】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの各種の処理を行う。この場合、処理部100は、記憶部170内の主記憶部172をワーク領域として使用して、各種の処理を行う。
【0040】
ここで、処理部100が行う処理としては、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(1又は複数のプリミティブ)の位置や回転角度(X、Y又はZ軸回り回転角度)を求める処理、オブジェクトを動作させる処理(モーション処理)、視点の位置(仮想カメラの位置)や視線角度(仮想カメラの回転角度)を求める処理、マップオブジェクトなどのオブジェクトをオブジェクト空間へ配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などを考えることができる。
【0041】
処理部100は、オブジェクト空間設定部110、移動・動作処理部112、透過処理部114、画像生成部120、音生成部130を含む。なお、処理部100は、これらの全ての機能ブロックを含む必要はない。
【0042】
ここで、オブジェクト空間設定部110は、キャラクタ、車、柱、壁、建物、マップ(地形)などの各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間内に設定配置するための処理を行う。より具体的には、ワールド座標系でのオブジェクトの位置や回転角度(方向)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転)でオブジェクトを配置する。
【0043】
そして本実施形態では、オブジェクト空間設定部110が、キャラクタ、車などを表す第1のオブジェクト(移動オブジェクト)と、柱、壁、建物などを表す第2のオブジェクト(障害物オブジェクト)をオブジェクト空間に配置設定する。更に、第2のオブジェクトの位置確認用の第3のオブジェクト(第2のオブジェクトが透過状態になった場合にも透過状態にならないオブジェクト)をオブジェクト空間に配置設定する。より具体的には、この第3のオブジェクトは、第2のオブジェクトと地形面(人工的な地形の面を含む)との間に配置設定される。
【0044】
移動・動作処理部112は、キャラクタ、車などのオブジェクト(移動オブジェクト)の移動情報(位置、回転角度)や動作情報(オブジェクトの各パーツの位置、回転角度)を求める処理を行うものであり、例えば、操作部160によりプレーヤが入力した操作データやゲームプログラムなどに基づいて、オブジェクトを移動させたり動作(モーション、アニメーション)させたりする処理を行う。
【0045】
より具体的には、移動・動作処理部112は、オブジェクトの位置や回転角度を例えば1フレーム(1/60秒、1/30秒等)毎に変化させる。例えば(k−1)フレームでのオブジェクトの位置、回転角度をPk-1、θk-1とし、オブジェクトの1フレームでの位置変化量(速度)、回転変化量(回転速度)を△P、△θとする。するとkフレームでのオブジェクトの位置Pk、回転角度θkは例えば下式(1)、(2)のように求められる。
【0046】
Pk=Pk-1+△P (1)
θk=θk-1+△θ (2)
透過処理部114は、第2のオブジェクト(柱、壁、建物等)を透過して第1のオブジェクト(キャラクタ、車等)が見えるようにするための、第2のオブジェクトの透過処理(半透明処理、透明処理又はメッシュ処理等)を行うものである。
【0047】
より具体的には透過処理部114は、まず、視点(仮想カメラ)から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する。これは、例えば、第1、第2のオブジェクトの代表点(オブジェクトの位置等を代表的に表す点)のZ座標(視点座標系又はスクリーン座標系における奥行き方向の座標)に基づいて判断できる。或いは、第1、第2のオブジェクトの代表点を結ぶ方向のベクトルと、第2のオブジェクトを構成する面の方向を表すための法線ベクトルとに基づいて判断してもよい。
【0048】
そして透過処理部114は、第1のオブジェクトのスクリーン(透視変換面)への透視変換画像が、第2のオブジェクトのスクリーンへの透視変換画像に重なった場合には、第2のオブジェクトを透過して第1のオブジェクトが視点から見えるように、第2のオブジェクトを透過表示(透明表示、半透明表示又はメッシュ表示等)状態に設定する。即ち、第1、第2のオブジェクトのスクリーン座標系でのX座標(スクリーン座標系における水平方向の座標)に基づいて、第2のオブジェクトの透過処理を行う。なお、第2のオブジェクトの半透明状態の設定は、第2のオブジェクトの頂点(構成点)に与えるα値(各ピクセル、テクセル、ドットに関連づけて記憶できる情報であり、色情報以外のプラスアルファの情報)の制御により実現できる。
【0049】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて画像処理を行い、ゲーム画像を生成し、表示部190に出力する。例えば、いわゆる3次元のゲーム画像を生成する場合には、まず、座標変換、クリッピング処理、透視変換、或いは光源計算等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点(構成点)に付与される位置座標、テクスチャ座標、色(輝度)データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、ジオメトリ処理後のオブジェクト(1又は複数プリミティブ面)の画像が、描画バッファ174(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画される。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成されるようになる。
【0050】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0051】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、このようなシングルプレーヤモードのみならず、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【0052】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて生成してもよい。
【0053】
2.本実施形態の特徴
次に本実施形態の特徴について図面を用いて説明する。なお、以下では、格闘ゲームに本実施形態を適用した場合を主に例にとり説明するが、本実施形態は、格闘ゲーム以外の他のゲームにも広く適用できる。
【0054】
2.1 障害物オブジェクトの透過表示
さて、本実施形態では、以下のような手法により、障害物となるオブジェクトの透過表示を実現している。
【0055】
まず、本実施形態では図2(A)、(B)に示すように、視点VP(仮想カメラ)から見て、オブジェクトOB1(キャラクタ等の移動オブジェクト)がオブジェクトOB2(柱、壁、建物等の障害物オブジェクト)の奥側にあるか否かを判断する。例えば、図2(A)では、視点VPから見てオブジェクトOB1はOB2の手前側にあると判断され、図2(B)では、視点VPから見てOB1はOB2の奥側にあると判断される。
【0056】
そして、図2(B)のように視点VPから見てオブジェクトOB1がOB2の奥側にあると判断された場合には、次のような処理を行う。
【0057】
即ち図2(C)、(D)に示すように、オブジェクトOB1のスクリーンSC(透視変換面)への透視変換画像PM1が、オブジェクトOB2のスクリーンへの透視変換画像PM2に重なったか否かを判断する。
【0058】
そして、図2(C)に示すように、透視変換画像PM1がPM2に重なっていない場合には、オブジェクトOB2の透過処理(半透明処理、透明処理又はメッシュ処理等)は行わない。
【0059】
一方、図2(D)に示すように、透視変換画像PM1がPM2に重なっている場合には、オブジェクトOB2の透過処理を行い、OB2を透過(半透明、透明又はメッシュ等)状態に設定する。
【0060】
以上のようにすれば、図2(A)のように、オブジェクトOB1がOB2の手前側にある場合にOB1が透過状態になってしまう事態を防止できる。そして、図2(B)のようにオブジェクトOB1がOB2の奥側にあり、且つ、図2(D)のように視点VPから見てオブジェクトOB1がOB2に隠れている時にだけ、OB2を透過状態にできる。これにより、プレーヤは、OB2を透過してOB1を見ることが可能になり、スムーズなゲーム進行を実現できる。
【0061】
しかも、図2(A)、(B)に示すような、オブジェクトOB1がOB2の奥側にあるか否かの判定や、図2(C)、(D)に示すような、透視変換画像PM1、PM2の重なり判定は、その処理負荷が非常に軽い。従って、オブジェクトOB2が視点障害物となってオブジェクトOB1が見えなくなる事態を、特開平9−50541の従来技術よりも少ない処理負荷で解決できる。
【0062】
2.2 第1の処理例
次に、図2(A)〜(D)の手法を実現する第1の処理例について説明する。
【0063】
この第1の処理例では、まず、視点座標系(又はスクリーン座標系)でのZ座標(奥行き方向の座標。スクリーン座標系では視点座標系でのZ座標の符号を反転させればよい)に基づいて、視点VPから見てオブジェクトOB1がOB2の奥側にあるか否かを判断する。
【0064】
より具体的には図3(A)に示すように、オブジェクトOB1の代表点RP1(例えばOB1の中心点。キャラクタであるOB1の腰の位置の点)のZ座標Z1と、オブジェクトOB2の代表点RP2(例えばOB1の中心点。中心点から所与のオフセットだけ手前側の点)のZ座標Z2を得る。そして、このZ座標Z1、Z2の大小関係を調べることで、オブジェクトOB1がOB2の奥側にあるか否かを判断する。例えば、視点VPから遠くなるほどZ座標が大きくなる場合(逆の場合でもよい)には、Z1>Z2の場合に、オブジェクトOB1がOB2の奥側にあると判断することになる。
【0065】
そして、この第1の処理例では、図3(A)の手法により、オブジェクトOB2がOB1の奥側にあると判断された場合に、スクリーン座標系におけるオブジェクトOB1、OB2のX座標(水平方向の座標)に基づいて、OB2の透過処理を行う。
【0066】
より具体的には図3(B)に示すように、オブジェクトOB1の代表点RP1のX座標X1と、オブジェクトOB2の代表点RP2のX座標X2と、オブジェクトOB2(円柱、多角柱)の半径パラメータR(広義にはX座標方向のOB2の大きさを表すためのパラメータであり、視点からの距離(パース)に応じて小さくすることが望ましい)とに基づいてα値を求める。即ち、X1とX2の差が小さくなるほどオブジェクトOB2がより透明になるようなα値を求める。そして、この求められたα値(半透明度、透明度又は不透明度等)に基づいてオブジェクトOB2の半透明処理(α合成処理)を行う。この場合に、α値は、例えば下式のように表すことができる。
【0067】
α=F(|X1ーX2|/R) (3)
上式において、|A|はAの絶対値であり、F(B)はBを引数とする関数である。この関数としては、Bの線形式(例えばBに定数を乗算した式)を考えることができる。
【0068】
以上の第1の処理例によれば、図4の領域RGA(斜線の領域)にオブジェクトOB1(キャラクタ)が入った場合に、オブジェクトOB2(障害物)が透過状態(半透明)になる。従って、プレーヤ(視点VP)は、オブジェクトOB2を透過してオブジェクトOB1を見ることができるようになり、自身が操作するオブジェクトOB1(或いは相手プレーヤが操作するオブジェクト)がOB2に隠れて見えなくなる事態を防止できる。
【0069】
しかも、この第1の処理例によれば、図3(A)のようにオブジェクトOB1、OB2のZ座標を比較し、図3(B)のようにOB1、OB2のX座標の差と半径パラメータRとからα値を求めるだけで、図4のようなオブジェクトOB2の透過表示を実現できる。即ち、Z座標とX座標を用いた線形演算等だけでオブジェクトOB2の透過表示処理を実現できる。従って、オブジェクトOB2が視点障害物となってオブジェクトOB1が見えなくなる事態を、特開平9−50541の従来技術に比べて格段に少ない処理負荷で解決できる。
【0070】
なお、オブジェクトOB2を透過表示にする際にプレーヤが不自然さを感じないようにするためには、図4の領域RG1、RG2(透過処理が開始される境界を含む領域)において、オブジェクトOB2のα値を徐々に変化させることが望ましい。即ち、オブジェクトOB1がOB2の奥側に回り込んだ時にOB2を直ぐに透明にするのではなく、OB1が回り込んだ深さに応じて、OB2を不透明から徐々に透明にして行く。これにより、OB2が透過状態になったことが目立たなくなり、プレーヤが不自然さをそれほど感じない画像を生成できる。
【0071】
2.3 第2の処理例
次に、図2(A)〜(D)の手法を実現する第2の処理例について説明する。
【0072】
さて、前述の第1の処理例は、オブジェクトOB2が円柱形状や多角形形状の場合には好適な処理になるが、OB2が壁などの板形状である場合には、不具合が生じる可能性がある。
【0073】
例えば図5では、板形状のオブジェクトOB2(壁)が、その面と視線方向とのなす角度が鋭角になるように配置されており、このOB2の手前側の直ぐ近くにオブジェクトOB1(キャラクタ)が位置している。図5のような状況の場合、オブジェクトOB1の代表点RP1のZ座標はオブジェクトOB2(壁)の代表点RP2のZ座標よりも大きいため、視点から見てOB1はOB2の奥側にあると判断されてしまう。また、図5の状況の場合、オブジェクトOB1の代表点RP1のX座標は、オブジェクトOB2の代表点RP2のX座標から半径パラメータR以内にあると判断されてしまう。従って、図3(A)、(B)の第1の処理例を用いると、図5のようにオブジェクトOB1がOB2に隠れていないような状況の場合でも、OB2が透過状態になってしまう。このように不必要にオブジェクトOB2が透過状態になってしまうと、プレーヤが不自然さを感じる事態が生じる。
【0074】
これに対して、以下に説明する第2の処理例によれば、このような事態を防止できる。
【0075】
この第2の処理例では、図6(A)に示すように、オブジェクトOB1の代表点RP1(例えばOB1の中心点。キャラクタであるOB1の腰の位置の点)とオブジェクトOB2の代表点RP2(例えばOB1の中心点。中心点から所与のオフセットだけ手前側の点)とを結ぶ方向のベクトルV12と、オブジェクトOB2の面(主面)の方向を表す法線ベクトルVN2(面に垂直なベクトル)とに基づいて、オブジェクトOB1がOB2の奥側にあるか否かを判断する。
【0076】
より具体的には、ベクトルV12と法線ベクトルVN2との内積を計算し、この内積の値に基づいて、図6(A)の領域RGB、RGCのいずれにオブジェクトOB1が位置するかを調べる。そして、領域RGCにオブジェクトOB1が位置している場合には、OB1がOB2の奥側にあると判断する。
【0077】
そして、この第2の処理例では、図6(A)の手法により、オブジェクトOB2がOB1の奥側にあると判断された場合に、スクリーン座標系におけるオブジェクトOB1、OB2のX座標(水平方向の座標)に基づいて、OB2の透過処理を行う。
【0078】
より具体的には図6(B)に示すように、オブジェクトOB1の代表点RP1のX座標X1と、オブジェクトOB2の代表点RP2、左端点EL2、右端点ER2のX座標X2、XL2、XR2とに基づいてα値を求める。
【0079】
即ち、オブジェクトOB1がOB2の左側に位置する場合(X1<X2)には、|XL2−X2|に対する|X1ーX2|の比が小さくなるほどオブジェクトOB2がより透明になるようなα値を求める。
【0080】
一方、オブジェクトOB1がOB2の右側に位置する場合(X1≧X2)には、|XR2−X2|に対する|X1ーX2|の比が小さくなるほどオブジェクトOB2がより透明になるようなα値を求める。そして、この求められたα値(半透明度、透明度又は不透明度等)に基づいてオブジェクトOB2の半透明処理(α合成処理)を行う。この場合に、α値は、例えば下式のように表すことができる。
【0081】
X1<X2の場合
α=F(|X1ーX2|/|XL2−X2|) (4)
X1≧X2の場合
α=F(|X1ーX2|/|XR2−X2|) (5)
上式において、|A|はAの絶対値であり、F(B)はBを引数とする関数である。この関数としては、Bの線形式(例えばBに定数を乗算した式)を考えることができる。
【0082】
以上の第2の処理例によれば、図7の領域RGD(斜線領域)にオブジェクトOB1(キャラクタ)が入った場合に、オブジェクトOB2(障害物)が透過状態(半透明)になる。従って、プレーヤ(視点VP)は、オブジェクトOB2を透過してオブジェクトOB1を見ることができるようになり、自身が操作するオブジェクトOB1(或いは相手プレーヤが操作するオブジェクト)がオブジェクトOB2に隠れて見えなくなってしまう事態を防止できる。
【0083】
しかも、この第2の処理例によれば、図6(A)のようにベクトルV12、VN2の内積を求め、図6(B)のようにX座標X1、X2、XL2、XR2の線形演算等によりα値を求めるだけで、図7のようなオブジェクトOB2の透過表示を実現できる。従って、オブジェクトOB2が視点障害物となってオブジェクトOB1が見えなくなる事態を、特開平9−50541の従来技術に比べて格段に少ない処理負荷で解決できるようになる。
【0084】
また、この第2の処理例によれば、前述の第1の処理例とは異なり、オブジェクトOB2が板形状の場合に不必要にOB2が透過状態になってしまう事態を防止できる。
【0085】
なお、オブジェクトOB2を透過状態にする際にプレーヤが不自然さを感じないようにするためには、図7の領域RG3、RG4(透過処理が開始される境界を含む領域)において、オブジェクトOB2のα値を徐々に変化させることが望ましい。即ち、オブジェクトOB1がOB2の奥側に回り込んだ時に、OB2を直ぐに透明にするのではなく、OB1が回り込んだ深さに応じて、OB2を不透明から徐々に透明にして行く。これにより、OB2が透過状態になったことが目立たなくなり、プレーヤが不自然さをそれほど感じない画像を生成できる。
【0086】
2.4 位置確認用オブジェクト
さて、本実施形態の手法では、図8に示すように視点VPから見てオブジェクトOB1がOB2の後ろに隠れてしまった場合に、OB2を透過状態にする。この手法によれば、OB2を透過してOB1を見ることができるため、プレーヤがOB1を見失ってしまう事態を防止できる。
【0087】
しかしながら、その反面、この手法には、OB2が透明になってしまうためOB2の存在位置をプレーヤが全く認識できなくなってしまうという問題がある。
【0088】
そして、図8のようにオブジェクトOB2(柱等)が透過状態になった場合にも、ゲーム上はOB2は存在したままとなっている。従って、例えば、プレーヤがオブジェクトOB1(キャラクタ)を操作して、図8のA1に示すように移動させた場合には、ヒットチェック処理により、A2に示す地点でOB1がOB2に衝突したと判定する。そして、オブジェクトOB1がOB2の内部に侵入しないように、OB1は移動の制限を受けることになる。このため、プレーヤは、図8のA3に示すような迂回経路に沿ってオブジェクトOB1を移動させなければならなくなる。
【0089】
ところが、オブジェクトOB2が透過状態になっていると、どのような経路でオブジェクトOB1を迂回させれば、OB2を避けて移動できるのかをプレーヤは認識できなくなる。即ち、何も存在しない場所に、見えない障害物があるかのような感覚をプレーヤに与えるようになり、プレーヤのゲーム操作環境を阻害する。
【0090】
そこで本実施形態では、オブジェクトOB2が透過状態になった場合にも非透過状態のままとなる位置確認用のオブジェクトOB3を設ける手法を採用している。
【0091】
より具体的には図9(A)に示すように、オブジェクトOB2(柱、壁、建物)と地形面GS(人工的な地形の面も含む)との間に、OB2の位置確認用のオブジェクトOB3を配置する。この場合、オブジェクトOB2とOB3の境界は目立たないようにしておく。
【0092】
そして図9(B)に示すように、オブジェクトOB1がOB2の後ろに隠れ、OB2が透過状態(透明、半透明)になった場合にも、オブジェクトOB3については非透過状態(不透明)のままにしておく。
【0093】
このようにすることで、プレーヤは、オブジェクトOB2が存在していた場所を、オブジェクトOB3を見ることで確認できるようになる。従って、図8のA1、A2に示すようにオブジェクトOB1がOB2に衝突する事態を防止でき、A3に示すような適正な迂回路に沿ってOB1を移動させることができるようになる。
【0094】
しかも、オブジェクトOB2の下に位置するOB3は非透過状態になっているが、OB3の上のOB2については透過状態になっている。従って、プレーヤは、この透過状態のオブジェクトOB2を介してOB1を見ることが可能になり、プレーヤが、注視物であるOB1を見失ってしまう事態も防止できる。
【0095】
なお、オブジェクトOB3は図9(B)に示す形状に限定されず、種々の形状を採用できる。例えば地形面GS(地面。ゲームフィールド面)に配置された、厚みの無い板状のオブジェクト(ポリゴン)でもよい。
【0096】
なお、プレーヤがオブジェクトOB2の位置及び形状を容易に認識できるようにするためには、オブジェクトOB2の断面(XZ平面に平行な断面)の形状とほぼ同一の断面形状をオブジェクトOB3に持たせることが望ましい。
【0097】
3.本実施形態の処理
次に、本実施形態の処理の詳細例について、図10、図11のフローチャートを用いて説明する。
【0098】
図10は、図3(A)、(B)の第1の処理例のフローチャートである。
【0099】
まず、視点(スクリーン)座標系でのオブジェクトOB1、OB2の代表点RP1、RP2のZ座標Z1、Z2を得る(ステップS1。図3(A)参照)。そして、Z1>Z2か否かを判断し(ステップS2)、Z1≦Z2の場合には、処理を終了する。
【0100】
一方、Z1>Z2の場合には、スクリーン座標系でのオブジェクトOB1、OB2の代表点RP1、RP2のX座標X1、X2を求める(ステップS3。図3(B)参照)。そして、X座標の差|X1ーX2|とオブジェクトOB2の半径パラメータRとに基づき、OB2のα値であるα=F(|X1−X2|/R)を求める(ステップS4)。
【0101】
次に、求められたα値に基づき、オブジェクトOB2の半透明処理を行う(ステップS5)。具体的には、求められたα値をオブジェクトOB2の頂点α値に設定して、この頂点α値に基づきオブジェクトOB2のα合成処理(αブレンディング、α加算又はα減算等)を行う。
【0102】
図11は、図6(A)、(B)の第2の処理例のフローチャートである。
【0103】
まず、視線ベクトルVLとオブジェクトOB1の面(主面)の法線ベクトルVN2の内積を求める(ステップS11)。そして、この求められた内積に基づいて、オブジェクトOB2の面が表向きか裏向きかを調べる(ステップS12)。そして、裏向きの場合(VN2が視点から遠ざかる方向に向いている場合)には、オブジェクトOB2の表示が不要になるため、処理を終了する。
【0104】
一方、表向きの場合には、オブジェクトOB1、OB2の代表点RP1、RP2を結ぶ方向のベクトルV12と法線ベクトルVN2の内積を求める(ステップS13。図6(A)参照)。そして、求められた内積に基づいて、オブジェクトOB1がOB2の奥側の領域(RGC)に位置するか否かを判断する(ステップS14)。そして、手前側の領域(RGB)にある場合には処理を終了する。
【0105】
一方、奥側の領域にある場合には、オブジェクトOB1の代表点RP1のスクリーン座標系でのX座標X1と、オブジェクトOB2の代表点RP2、左端点EL2、右端点ER2のスクリーン座標系でのX座標X2、XL2、XR2を求める(ステップS15)。
【0106】
次に、X1<X2か否かを判断し(ステップS16)、X1<X2の場合には、X座標の差|X1−X2|と|XL2−X2|に基づき、オブジェクトOB2のα値であるα=F(|X1−X2|/|XL2−X2|)を求める(ステップS17)。一方、X1≧X2の場合には、X座標の差|X1−X2|と|XR2−X2|に基づき、オブジェクトOB2のα値であるα=F(|X1−X2|/|XR2−X2|)を求める(ステップS18)。
【0107】
そして、求められたα値に基づいて、オブジェクトOB2の半透明処理を行う(ステップS19)。
【0108】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図12を用いて説明する。
【0109】
メインプロセッサ900は、CD982(情報記憶媒体)に格納されたプログラム、通信インターフェース990を介して転送されたプログラム、或いはROM950(情報記憶媒体の1つ)に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などの種々の処理を実行する。
【0110】
コプロセッサ902は、メインプロセッサ900の処理を補助するものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、オブジェクトを移動させたり動作(モーション)させるための物理シミュレーションに、マトリクス演算などの処理が必要な場合には、メインプロセッサ900上で動作するプログラムが、その処理をコプロセッサ902に指示(依頼)する。
【0111】
ジオメトリプロセッサ904は、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、高速並列演算が可能な積和算器や除算器を有し、マトリクス演算(ベクトル演算)を高速に実行する。例えば、座標変換、透視変換、光源計算などの処理を行う場合には、メインプロセッサ900で動作するプログラムが、その処理をジオメトリプロセッサ904に指示する。
【0112】
データ伸張プロセッサ906は、圧縮された画像データや音データを伸張するデコード処理を行ったり、メインプロセッサ900のデコード処理をアクセレートする処理を行う。これにより、オープニング画面、インターミッション画面、エンディング画面、或いはゲーム画面などにおいて、MPEG方式等で圧縮された動画像を表示できるようになる。なお、デコード処理の対象となる画像データや音データは、ROM950、CD982に格納されたり、或いは通信インターフェース990を介して外部から転送される。
【0113】
描画プロセッサ910は、ポリゴンや曲面などのプリミティブ(プリミティブ面)で構成されるオブジェクトの描画(レンダリング)処理を高速に実行するものである。オブジェクトの描画の際には、メインプロセッサ900は、DMAコントローラ970の機能を利用して、オブジェクトデータを描画プロセッサ910に渡すと共に、必要であればテクスチャ記憶部924にテクスチャを転送する。すると、描画プロセッサ910は、これらのオブジェクトデータやテクスチャに基づいて、Zバッファなどを利用した陰面消去を行いながら、オブジェクトをフレームバッファ922に高速に描画する。また、描画プロセッサ910は、αブレンディング(半透明処理)、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行うことができる。そして、1フレーム分の画像がフレームバッファ922に書き込まれると、その画像はディスプレイ912に表示される。
【0114】
サウンドプロセッサ930は、多チャンネルのADPCM音源などを内蔵し、BGM、効果音、音声などの高品位のゲーム音を生成する。生成されたゲーム音は、スピーカ932から出力される。
【0115】
ゲームコントローラ942(レバー、ボタン、筺体、パッド型コントローラ又はガン型コントローラ等)からの操作データや、メモリカード944からのセーブデータ、個人データは、シリアルインターフェース940を介してデータ転送される。
【0116】
ROM950にはシステムプログラムなどが格納される。なお、業務用ゲームシステムの場合には、ROM950が情報記憶媒体として機能し、ROM950に各種プログラムが格納されることになる。なお、ROM950の代わりにハードディスクを利用するようにしてもよい。
【0117】
RAM960は、各種プロセッサの作業領域として用いられる。
【0118】
DMAコントローラ970は、プロセッサ、メモリ(RAM、VRAM、ROM等)間でのDMA転送を制御するものである。
【0119】
CDドライブ980は、プログラム、画像データ、或いは音データなどが格納されるCD982(情報記憶媒体)を駆動し、これらのプログラム、データへのアクセスを可能にする。
【0120】
通信インターフェース990は、ネットワークを介して外部との間でデータ転送を行うためのインターフェースである。この場合に、通信インターフェース990に接続されるネットワークとしては、通信回線(アナログ電話回線、ISDN)、高速シリアルバスなどを考えることができる。そして、通信回線を利用することでインターネットを介したデータ転送が可能になる。また、高速シリアルバスを利用することで、他の画像生成システムとの間でのデータ転送が可能になる。
【0121】
なお、本発明の各手段は、その全てを、ハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムのみにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【0122】
そして、本発明の各手段をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア(コンピュータ)を本発明の各手段として機能させるためのプログラムが格納されることになる。より具体的には、上記プログラムが、ハードウェアである各プロセッサ902、904、906、910、930等に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ902、904、906、910、930等は、その指示と渡されたデータとに基づいて、本発明の各手段を実現することになる。
【0123】
図13(A)に、本実施形態を業務用ゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、コントローラ1102などを操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、各種プロセッサ、各種メモリなどが実装される。そして、本発明の各手段を実現するためのプログラム(データ)は、システムボード1106上の情報記憶媒体であるメモリ1108に格納される。以下、このプログラムを格納プログラム(格納情報)と呼ぶ。
【0124】
図13(B)に、本実施形態を家庭用のゲームシステム(画像生成システム)に適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、コントローラ1202、1204などを操作してゲームを楽しむ。この場合、上記格納プログラム(格納情報)は、本体システムに着脱自在な情報記憶媒体であるCD1206、或いはメモリカード1208、1209などに格納されている。
【0125】
図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に伝送し端末において出力することになる。
【0126】
なお、図13(C)の構成の場合に、本発明の各手段を、ホスト装置(サーバー)と端末とで分散して実現するようにしてもよい。また、本発明の各手段を実現するための上記格納プログラム(格納情報)を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0127】
またネットワークに接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムをネットワークに接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能なセーブ用情報記憶装置(メモリカード、携帯型ゲーム装置)を用いることが望ましい。
【0128】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0129】
例えば本実施形態では、第2のオブジェクト(OB2)の透過処理として、半透明処理を例にあげて主に説明したが、本発明の透過処理はこれに限定されない。例えば、透明処理(透明と不透明を切り替える処理)やメッシュ処理(第2のオブジェクトの画素とその背景の画素がメッシュ状に表示される処理)などを行ってもよい。
【0130】
また、第2のオブジェクトを透過表示にする処理としては、図3(A)、(B)、図6(A)、(B)で説明した手法が望ましいが、これと均等な種々の変形実施が可能である。例えば、スクリーン座標系での第1、第2のオブジェクトのY座標(垂直方向に沿った座標)に基づいて第2のオブジェクトの透過処理を行うことも可能である。
【0131】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0132】
また、本発明は種々のゲーム(格闘ゲーム、シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、競争ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0133】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード等の種々の画像生成システム(ゲームシステム)に適用できる。
【図面の簡単な説明】
【図1】本実施形態の画像生成システムの機能ブロック図の例である。
【図2】図2(A)、(B)、(C)、(D)は、オブジェクトOB2を透過状態にする本実施形態の手法について説明するための図である。
【図3】図3(A)、(B)は、オブジェクトOB1、OB2のZ座標、X座標に基づいてOB2を透過状態にする第1の処理例について説明するための図である。
【図4】第1の処理例によりオブジェクトOB2が透過状態になる様子を示す図である。
【図5】第1の処理例の問題点を説明するための図である。
【図6】図6(A)、(B)は、板形状のオブジェクトOB2を透過状態にする第2の処理例について説明するための図である。
【図7】第2の処理例によりオブジェクトOB2が透過状態になる様子を示す図である。
【図8】オブジェクトOB2を透過状態にすることで生じる問題点について説明するための図である。
【図9】図9(A)、(B)は、オブジェクトOB2の位置確認用のオブジェクトOB3を配置する手法について説明するための図である。
【図10】本実施形態の処理の詳細例について示すフローチャートである。
【図11】本実施形態の処理の詳細例について示すフローチャートである。
【図12】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図13】図13(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
OB1 第1のオブジェクト
OB2 第2のオブジェクト
OB3 第3のオブジェクト
PM1、PM2 透視変換画像
VP 視点
SC スクリーン
100 処理部
110 オブジェクト空間設定部
112 移動・動作処理部
114 透過処理部
120 画像生成部
130 音生成部
160 操作部
170 記憶部
172 主記憶部
174 描画バッファ
180 情報記憶媒体
190 表示部
192 音出力部
194 携帯型情報記憶装置
196 通信部

Claims (13)

  1. 画像生成を行う画像生成システムであって、
    第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
    オブジェクト空間内の視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する処理を行う第1の判断手段と、
    前記視点に基づき第1のオブジェクトを2次元のスクリーンに透視変換した第1の透視変換画像と、前記視点に基づき第2のオブジェクトを当該スクリーンに透視変換した第2の透視変換画像とが重なったか否かを判断する処理を行う第2の判断手段と、
    前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断され、且つ、前記第1の透視変換画像と前記第2の透視変換画像とが重なったと判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
    前記視点での画像を生成する手段とを含むことを特徴とする画像生成システム。
  2. 請求項1において、
    前記第1の判断手段が、
    視点座標系おける奥行き方向の座標をZ座標とした場合に、前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを、第1、第2のオブジェクトのZ座標に基づいて判断することを特徴とする画像生成システム。
  3. 請求項1又は2において、
    前記透過処理を行う手段が、
    スクリーン座標系における水平方向の座標をX座標とした場合に、スクリーン座標系における第1、第2のオブジェクトのX座標に基づいて、第2のオブジェクトの透過処理を行うことを特徴とする画像生成システム。
  4. 請求項3において、
    前記透過処理を行う手段が、
    第1のオブジェクトの代表点のX座標と、第2のオブジェクトの代表点のX座標と、第2のオブジェクトのX座標方向の大きさを表すためのパラメータとに基づいてα値を求め、求められたα値に基づいて第2のオブジェクトの半透明処理を行うことを特徴とする画像生成システム。
  5. 画像生成を行う画像生成システムであって、
    第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
    オブジェクト空間内の視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する処理を行う判断手段と、
    前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
    前記視点での画像を生成する手段とを含み、
    前記判断手段が、
    前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを、第1のオブジェクトの代表点と第2のオブジェクトの代表点とを結ぶ方向のベクトルと、第2のオブジェクトの面の方向を表す法線ベクトルとに基づいて判断することを特徴とする画像生成システム。
  6. 請求項において、
    前記透過処理を行う手段が、
    スクリーン座標系における水平方向の座標をX座標とした場合に、第1のオブジェクトの代表点のX座標と、第2のオブジェクトの左端点、右端点、代表点のX座標とに基づいてα値を求め、求められたα値に基づいて第2のオブジェクトの半透明処理を行うことを特徴とする画像生成システム。
  7. 画像生成を行う画像生成システムであって、
    第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
    オブジェクト空間内の視点に基づき第1のオブジェクトを2次元のスクリーンに透視変換した第1の透視変換画像と、前記視点に基づき第2のオブジェクトを当該スクリーンに透視変換した第2の透視変換画像とが重なったか否かを判断する処理を行う判断手段と、
    前記第1の透視変換画像と前記第2の透視変換画像とが重なったと判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
    前記視点での画像を生成する手段とを含むことを特徴とする画像生成システム。
  8. 請求項1〜7のいずれかにおいて、
    前記オブジェクト空間設定手段が、
    第2のオブジェクトが透過状態になった場合にも非透過状態のままとなる、第2のオブジェクトの位置確認用の第3のオブジェクトを、オブジェクト空間に配置設定することを特徴とする画像生成システム。
  9. 請求項8において、
    前記第3のオブジェクトが、前記第2のオブジェクトと地形面との間に配置設定されることを特徴とする画像生成システム。
  10. 画像生成を行うプログラムであって、
    第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
    オブジェクト空間内の視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する処理を行う第1の判断手段と、
    前記視点に基づき第1のオブジェクトを2次元のスクリーンに透視変換した第1の透視変換画像と、前記視点に基づき第2のオブジェクトを当該スクリーンに透視変換した第2の透視変換画像とが重なったか否かを判断する処理を行う第2の判断手段と、
    前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断され、且つ、前記第1の透視変換画像と前記第2の透視変換画像とが重なったと判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
    前記視点での画像を生成する手段として、
    コンピュータを機能させることを特徴とするプログラム。
  11. 画像生成を行うプログラムであって、
    第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
    オブジェクト空間内の視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する処理を行う判断手段と、
    前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
    前記視点での画像を生成する手段として、コンピュータを機能させ、
    前記判断手段が、
    前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを、第1のオブジェクトの代表点と第2のオブジェクトの代表点とを結ぶ方向のベクトルと、第2のオブジェクトの面の方向を表す法線ベクトルとに基づいて判断することを特徴とするプログラム。
  12. 画像生成を行うプログラムであって、
    第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
    オブジェクト空間内の視点に基づき第1のオブジェクトを2次元のスクリーンに透視変換した第1の透視変換画像と、前記視点に基づき第2のオブジェクトを当該スクリーンに透視変換した第2の透視変換画像とが重なったか否かを判断する処理を行う判断手段と、
    前記第1の透視変換画像と前記第2の透視変換画像とが重なったと判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
    前記視点での画像を生成する手段として、コンピュータを機能させることを特徴とするプログラム。
  13. コンピュータ読み取り可能な情報記憶媒体であって、請求項10〜12のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
JP2001229465A 2001-07-30 2001-07-30 画像生成システム、プログラム及び情報記憶媒体 Expired - Lifetime JP4707080B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001229465A JP4707080B2 (ja) 2001-07-30 2001-07-30 画像生成システム、プログラム及び情報記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001229465A JP4707080B2 (ja) 2001-07-30 2001-07-30 画像生成システム、プログラム及び情報記憶媒体

Publications (2)

Publication Number Publication Date
JP2003044868A JP2003044868A (ja) 2003-02-14
JP4707080B2 true JP4707080B2 (ja) 2011-06-22

Family

ID=19061810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001229465A Expired - Lifetime JP4707080B2 (ja) 2001-07-30 2001-07-30 画像生成システム、プログラム及び情報記憶媒体

Country Status (1)

Country Link
JP (1) JP4707080B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020116296A (ja) * 2019-01-28 2020-08-06 株式会社コーエーテクモゲームス ゲームプログラム、記録媒体、ゲーム処理方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3696216B2 (ja) 2003-03-05 2005-09-14 株式会社スクウェア・エニックス 3次元ビデオゲーム装置、3次元ビデオゲームにおける仮想カメラの制御方法、並びにプログラム及び記録媒体
WO2005116939A1 (en) * 2004-05-27 2005-12-08 Canon Kabushiki Kaisha Information processing method, information processing apparatus, and image sensing apparatus
JP5390093B2 (ja) * 2007-12-21 2014-01-15 任天堂株式会社 ゲームプログラムおよびゲーム装置
JP5277488B2 (ja) * 2008-04-23 2013-08-28 株式会社大都技研 遊技台
JP5714393B2 (ja) * 2011-04-13 2015-05-07 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法及び情報処理システム
JP5319728B2 (ja) * 2011-04-18 2013-10-16 シャープ株式会社 視差画像生成装置、表示装置、視差画像生成方法、視差画像生成プログラムおよびそれを記録した記録媒体
JP5688550B2 (ja) * 2013-05-01 2015-03-25 株式会社大都技研 遊技台
JP6122047B2 (ja) * 2015-02-10 2017-04-26 株式会社カプコン ゲームプログラムおよびゲーム装置
JP6407225B2 (ja) 2016-09-30 2018-10-17 キヤノン株式会社 画像処理装置及び画像処理方法及び画像処理システム及びプログラム
JP7109907B2 (ja) * 2017-11-20 2022-08-01 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP6799864B2 (ja) * 2018-06-01 2020-12-16 株式会社コナミデジタルエンタテインメント ゲーム装置及びプログラム
JP2019021333A (ja) * 2018-09-19 2019-02-07 キヤノン株式会社 画像処理装置及び画像処理方法及びプログラム
US11836871B2 (en) 2021-03-22 2023-12-05 Apple Inc. Indicating a position of an occluded physical object

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950541A (ja) * 1995-08-10 1997-02-18 Sega Enterp Ltd 仮想画像生成装置及びその方法
JPH1186027A (ja) * 1997-07-11 1999-03-30 Werk Japan:Kk 画像表示方法
JP2000149062A (ja) * 1998-11-10 2000-05-30 Hitachi Eng Co Ltd 三次元画像生成方法とその装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950541A (ja) * 1995-08-10 1997-02-18 Sega Enterp Ltd 仮想画像生成装置及びその方法
JPH1186027A (ja) * 1997-07-11 1999-03-30 Werk Japan:Kk 画像表示方法
JP2000149062A (ja) * 1998-11-10 2000-05-30 Hitachi Eng Co Ltd 三次元画像生成方法とその装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020116296A (ja) * 2019-01-28 2020-08-06 株式会社コーエーテクモゲームス ゲームプログラム、記録媒体、ゲーム処理方法
JP7304701B2 (ja) 2019-01-28 2023-07-07 株式会社コーエーテクモゲームス ゲームプログラム、記録媒体、ゲーム処理方法

Also Published As

Publication number Publication date
JP2003044868A (ja) 2003-02-14

Similar Documents

Publication Publication Date Title
JP4707080B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3420870B2 (ja) 画像合成方法、画像合成装置及びゲーム装置
JP4610748B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
US7015908B2 (en) Image generation system and information storage medium
JP4305903B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
US7881521B2 (en) Rotational image generation method, program, and information storage medium and virtual camera
JP3786670B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3280355B2 (ja) 画像生成システム及び情報記憶媒体
JP3413383B2 (ja) ゲームシステム及び情報記憶媒体
JP4743770B2 (ja) 画像生成システム、プログラム、及び情報記憶媒体
JP4651204B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4577968B2 (ja) ゲームシステム及び情報記憶媒体
JP4187192B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3297410B2 (ja) 画像生成システム及び情報記憶媒体
JP4707078B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP5054908B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4412692B2 (ja) ゲームシステム及び情報記憶媒体
JP2001229403A (ja) ゲームシステム及び情報記憶媒体
JP4229317B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3254195B2 (ja) 画像生成システム及び情報記憶媒体
JP3292713B2 (ja) 画像生成システム及び情報記憶媒体
JP2002216167A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP4698701B2 (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3431562B2 (ja) ゲームシステム及び情報記憶媒体
JP4794597B2 (ja) 画像生成システム、プログラム及び情報記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101013

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110310

R150 Certificate of patent or registration of utility model

Ref document number: 4707080

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140325

Year of fee payment: 3

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term