JP4707080B2 - Image generation system, program, and information storage medium - Google Patents

Image generation system, program, and information storage medium 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
Japanese (ja)
Other versions
JP2003044868A (en
Inventor
大三郎 中村
宏幸 小保田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2001229465A priority Critical patent/JP4707080B2/en
Publication of JP2003044868A publication Critical patent/JP2003044868A/en
Application granted granted Critical
Publication of JP4707080B2 publication Critical patent/JP4707080B2/en
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 通信部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image generation system, a program, and an information storage medium.
[0002]
[Background Art and Problems to be Solved by the Invention]
Conventionally, an image generation system (game system) that generates an image that can be seen from a virtual camera (a given viewpoint) in an object space that is a virtual three-dimensional space is known. Popular. Taking an image generation system capable of enjoying a fighting game as an example, a player operates his / her character (object) using a game controller (operation means), and battles an opponent character or an enemy character operated by a computer. Enjoy a 3D game.
[0003]
In such a three-dimensional game, if an object that becomes an obstacle enters between the player's viewpoint and the character, the player's field of view is blocked by the obstacle object, and the periphery of the character cannot be seen from the player. There is a problem that it ends up.
[0004]
As a conventional technique for solving such a problem, for example, a technique disclosed in JP-A-9-50541 is known. In this prior art, based on the shape data of the obstacle object and the position data of the character, it is determined whether the obstacle object and the character overlap with each other as seen from the viewpoint. The above problem is solved by transparently displaying the obstacle object.
[0005]
However, according to this conventional technique, complicated processing using the shape data of the obstacle object and the position data of the viewpoint and the character is required for determining the overlap between the obstacle object and the character. Therefore, there is a problem that the processing load and the processing time become excessive.
[0006]
The present invention has been made in view of the above-described problems, and the object of the present invention is to prevent a situation in which an object to be watched cannot be seen with other objects becoming a viewpoint obstacle with a small processing load. An object is to provide an image generation system, a program, and an information storage medium that can be solved.
[0007]
[Means for Solving the Problems]
In order to solve the above-described problems, the present invention provides an image generation system that performs image generation, an object space setting unit that sets a plurality of objects including first and second objects in an object space, and a viewpoint. When the first object is determined to be behind the second object, and the perspective transformation image of the first object on the screen overlaps the perspective transformation image of the second object on the screen Means for performing transparency processing of the second object so that the first object can be seen from the viewpoint through the second object, and means for generating an image at a given viewpoint in the object space It is characterized by including. A program according to the present invention causes a computer to function as the above means. An information storage medium according to the present invention is a computer-readable information storage medium, and stores (records) a program for causing a computer to function as the above means.
[0008]
According to the present invention, when the first object is determined to be behind the second object as viewed from the viewpoint, and the perspective transformation image of the first object overlaps the perspective transformation image of the second object. The first object can be seen from the viewpoint through the second object.
[0009]
Therefore, according to the present invention, the situation can be solved because the second object becomes a viewpoint obstacle and the first object cannot be seen. Moreover, the situation as described above can be determined only by determining whether or not the first object is behind the second object as viewed from the viewpoint, and determining whether the perspective transformation images of the first and second objects overlap. Therefore, the processing load can be reduced.
[0010]
The image generation system, the program, and the information storage medium according to the present invention are such that when the coordinate in the depth direction in the viewpoint coordinate system or the screen coordinate system is the Z coordinate, the first object is the second object as viewed from the viewpoint. It is characterized by determining whether it exists in the back side based on the Z coordinate of a 1st, 2nd object.
[0011]
In this way, the first object is behind the second object only by processing (for example, comparison processing) using the Z coordinates (for example, the Z coordinate of the representative point) of the first and second objects. It is possible to determine whether or not the processing load is reduced.
[0012]
Further, the image generation system, the program, and the information storage medium according to the present invention are based on the X coordinates of the first and second objects in the screen coordinate system when the horizontal coordinate in the screen coordinate system is the X coordinate. The second object is transparent.
[0013]
In this way, the transparency processing of the second object can be realized only by the processing (for example, linear calculation processing) using the X coordinates (for example, the X coordinate of the representative point) of the first and second objects. The processing load can be reduced.
[0014]
In the image generation system, the program, and the information storage medium according to the present invention, the transparent process is a translucent process based on an α value, and the X coordinate of the representative point of the first object and the representative point of the second object. An α value is obtained based on the X coordinate and a parameter for expressing the size of the second object in the X coordinate direction, and the second object is translucently processed based on the obtained α value. And
[0015]
In this way, it is possible to directly obtain the α value for the translucent process by using the X coordinates of the representative points of the first and second objects and the parameters and perform the translucent process.
[0016]
In addition, the image generation system, the program, and the information storage medium according to the present invention determine whether the first object is behind the second object as viewed from the viewpoint, and the representative point of the first object and the second object. The determination is made on the basis of a vector of the direction connecting the representative points of the object and a normal vector representing the direction of the surface of the second object.
[0017]
In this way, the first object is converted into the first object only by processing using the vector in the direction connecting the representative points of the first and second objects and the normal vector of the surface of the second object (for example, inner product processing). It becomes possible to determine whether or not the object is located on the back side of the second object, and the processing load can be reduced.
[0018]
In the image generation system, program, and information storage medium according to the present invention, the first object is obtained when the transparent process is a translucent process based on an α value and the horizontal coordinate in the screen coordinate system is an X coordinate. Α value is obtained based on the X coordinate of the representative point of the second object, the left end point of the second object, the right end point, and the X coordinate of the representative point, and the translucency processing of the second object is performed based on the obtained α value. It is characterized by performing.
[0019]
In this way, the α value for the translucent process is directly obtained from the X coordinate of the representative point of the first object and the X coordinate of the left end point, the right end point, and the representative point of the second object. Transparent processing can be performed.
[0020]
The present invention also provides an image generation system for generating an image, comprising: object space setting means for arranging and setting a plurality of objects including first and second objects in an object space; and horizontal coordinates in a screen coordinate system. A second object for allowing the first object to be seen from the viewpoint through the second object based on the X coordinate of the first and second objects in the screen coordinate system when the X coordinate is used. Means for performing a transparent process on the image and means for generating an image at a given viewpoint in the object space. A program according to the present invention causes a computer to function as the above means. An information storage medium according to the present invention is a computer-readable information storage medium, and stores (records) a program for causing a computer to function as the above means.
[0021]
According to the present invention, the transparency processing of the second object can be realized only by the processing (for example, linear calculation processing) using the X coordinate (for example, the X coordinate of the representative point) of the first and second objects. The processing load can be reduced.
[0022]
Note that it is desirable to perform the transparency process of the second object on the condition that the first object is determined to be behind the second object as viewed from the viewpoint.
[0023]
In addition, the present invention is an image generation system that performs image generation, and includes an object space setting unit that sets a plurality of objects including the first and second objects in the object space, and a second object that is transmitted through the second object. Means for performing transparency processing of a second object for making one object visible from a viewpoint, and means for generating an image at a given viewpoint in the object space, the object space setting means comprising: The third object for confirming the position of the second object, which remains in the non-transparent state even when the second object is in the transparent state, is arranged and set in the object space. A program according to the present invention causes a computer to function as the above means. An information storage medium according to the present invention is a computer-readable information storage medium, and stores (records) a program for causing a computer to function as the above means.
[0024]
According to the present invention, even when the second object is in a transparent state (for example, transparent or translucent) by the transparent processing, the third object is in a non-transparent state (for example, opaque). Therefore, the player (operator) can check the position (or shape) of the second object by looking at the non-transparent third object, and can provide a suitable operating environment to the player.
[0025]
The image generation system, the program, and the information storage medium according to the present invention are characterized in that the third object is arranged and set between the second object and a terrain surface.
[0026]
In this way, it is possible to effectively notify the player (operator) of the position of the second object in the transparent state on the topographic surface.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present embodiment will be described with reference to the drawings.
[0028]
In addition, this embodiment demonstrated below does not limit the content of this invention described in the claim at all. In addition, all the configurations described in the present embodiment are not necessarily essential configuration requirements of the present invention.
[0029]
1. Constitution
FIG. 1 shows an example of a functional block diagram of the image generation system (game system) of the present embodiment. In this figure, the present embodiment only needs to include at least the processing unit 100 (or include the processing unit 100 and the storage unit 170), and the other blocks can be optional components.
[0030]
The operation unit 160 is for a player to input operation data, and the function can be realized by hardware such as a lever, a button, a microphone, a sensor, or a housing.
[0031]
The storage unit 170 serves as a work area such as the processing unit 100 or the communication unit 196, and its function can be realized by hardware such as a RAM.
[0032]
The information storage medium 180 (computer-readable medium) stores programs, data, and the like, and functions as an optical disk (CD, DVD), magneto-optical disk (MO), magnetic disk, hard disk, and magnetic tape. Alternatively, it can be realized by hardware such as a memory (ROM). The processing unit 100 performs various processes of the present invention (this embodiment) based on a program (data) stored in the information storage medium 180. That is, the information storage medium 180 stores a program for causing a computer to function as each means (particularly a block included in the processing unit 100) of the present invention (this embodiment) (a program for causing the computer to realize each means). (Recorded and stored).
[0033]
Part or all of the information stored in the information storage medium 180 is transferred to the storage unit 170 when the system is powered on. The information storage medium 180 can include a program for performing the processing of the present invention, image data, sound data, display object shape data, and the like.
[0034]
The display unit 190 outputs an image generated according to the present embodiment, and its function can be realized by hardware such as a CRT, LCD, or HMD (head mounted display).
[0035]
The sound output unit 192 outputs the sound generated by the present embodiment, and its function can be realized by hardware such as a speaker.
[0036]
The portable information storage device 194 stores player personal data, game save data, and the like. As the portable information storage device 194, a memory card, a portable game device, and the like can be considered.
[0037]
The communication unit 196 performs various controls for communicating with the outside (for example, a host device or other image generation system), and functions as hardware such as various processors or a communication ASIC. Or by a program.
[0038]
A program (data) for causing a computer to function as each unit of the present invention (this embodiment) is distributed from the information storage medium of the host device (server) to the information storage medium 180 via the network and the communication unit 196. You may do it. Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.
[0039]
The processing unit 100 (processor) performs various processes such as a game process, an image generation process, and a sound generation process based on operation data from the operation unit 160, a program, and the like. In this case, the processing unit 100 performs various processes using the main storage unit 172 in the storage unit 170 as a work area.
[0040]
Here, the processing performed by the processing unit 100 includes coin (price) acceptance processing, various mode setting processing, game progress processing, selection screen setting processing, and the position and rotation angle of an object (one or a plurality of primitives). Processing for obtaining (rotation angle around X, Y or Z axis), processing for moving an object (motion processing), processing for obtaining a viewpoint position (virtual camera position) and line of sight angle (virtual camera rotation angle), map object Consider processing such as placing objects in the object space, hit check processing, computing game results (results, results), processing for multiple players to play in a common game space, or game over processing, etc. Can do.
[0041]
The processing unit 100 includes an object space setting unit 110, a movement / motion processing unit 112, a transmission processing unit 114, an image generation unit 120, and a sound generation unit 130. Note that the processing unit 100 need not include all these functional blocks.
[0042]
Here, the object space setting unit 110 stores various objects (objects composed of primitive surfaces such as polygons, free-form surfaces, or subdivision surfaces) such as characters, cars, columns, walls, buildings, and maps (terrain) in the object space. Perform processing to set and arrange within. More specifically, the position and rotation angle (direction) of the object in the world coordinate system are determined, and the rotation angle (rotation around the X, Y, and Z axes) is determined at that position (X, Y, Z). Arrange objects.
[0043]
In the present embodiment, the object space setting unit 110 converts a first object (moving object) representing a character, a car, and the like and a second object (obstacle object) representing a pillar, a wall, a building, and the like into the object space. Set the placement. Further, a third object for confirming the position of the second object (an object that does not become transparent even when the second object becomes transparent) is arranged and set in the object space. More specifically, the third object is placed and set between the second object and the terrain surface (including an artificial terrain surface).
[0044]
The movement / motion processing unit 112 performs processing for obtaining movement information (position, rotation angle) and movement information (position, rotation angle of each part of the object) of an object (moving object) such as a character and a car, For example, based on operation data input by the player through the operation unit 160, a game program, or the like, a process of moving an object or moving (motion, animation) is performed.
[0045]
More specifically, the movement / motion processing unit 112 changes the position and rotation angle of the object, for example, every frame (1/60 seconds, 1/30 seconds, etc.). For example, the position and rotation angle of the object in the (k−1) frame are Pk−1 and θk−1, and the position change amount (speed) and the rotation change amount (rotation speed) of the object in one frame are ΔP, Δ Let θ. Then, the position Pk and the rotation angle θk of the object in the k frame are obtained, for example, by the following equations (1) and (2).
[0046]
Pk = Pk-1 + ΔP (1)
θk = θk-1 + △ θ (2)
The transparency processing unit 114 transmits the second object (semi-transparent) so that the first object (character, car, etc.) can be seen through the second object (column, wall, building, etc.). Processing, transparent processing or mesh processing).
[0047]
More specifically, the transparency processing unit 114 first determines whether or not the first object is behind the second object as viewed from the viewpoint (virtual camera). This can be determined based on, for example, the Z coordinates (the coordinates in the depth direction in the viewpoint coordinate system or the screen coordinate system) of the representative points of the first and second objects (points representatively representing the position of the object). Or you may judge based on the vector of the direction which connects the representative point of the 1st, 2nd object, and the normal vector for expressing the direction of the surface which comprises the 2nd object.
[0048]
The transparency processing unit 114 transmits the second object when the perspective transformation image of the first object on the screen (perspective transformation plane) overlaps the perspective transformation image of the second object on the screen. Then, the second object is set in a transparent display state (transparent display, translucent display, mesh display, etc.) so that the first object can be seen from the viewpoint. That is, based on the X coordinate (the horizontal coordinate in the screen coordinate system) of the first and second objects in the screen coordinate system, the transparency process of the second object is performed. The setting of the semi-transparent state of the second object is an α value (information that can be stored in association with each pixel, texel, or dot) given to the vertex (component point) of the second object, plus alpha other than color information It can be realized by controlling the information).
[0049]
The image generation unit 120 performs image processing based on the results of various processes performed by the processing unit 100, generates a game image, and outputs the game image to the display unit 190. For example, when generating a so-called three-dimensional game image, first, geometric processing such as coordinate transformation, clipping processing, perspective transformation, or light source calculation is performed, and drawing data (primitive surface Position coordinates, texture coordinates, color (brightness) data, normal vectors, α values, etc.) given to the vertices (composition points) are created. Based on the drawing data (primitive surface data), the image of the object (one or a plurality of primitive surfaces) after the geometry processing is stored in the drawing buffer 174 (frame buffer, work buffer, or other pixel unit image information). ) Is drawn. Thereby, an image that can be seen from the virtual camera (given viewpoint) in the object space is generated.
[0050]
The sound generation unit 130 performs sound processing based on the results of various processes performed by the processing unit 100, generates game sounds such as BGM, sound effects, or sounds, and outputs the game sounds to the sound output unit 192.
[0051]
Note that the image generation system of the present embodiment may be a system dedicated to the single player mode in which only one player can play, or not only the single player mode but also a multiplayer mode in which a plurality of players can play. The system may also be provided.
[0052]
Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated using a plurality of terminals (game machine, mobile phone).
[0053]
2. Features of this embodiment
Next, features of the present embodiment will be described with reference to the drawings. In the following, the case where the present embodiment is applied to a fighting game will be mainly described as an example, but the present embodiment can be widely applied to other games other than the fighting game.
[0054]
2.1 Transparent display of obstacle objects
In the present embodiment, transparent display of an object that becomes an obstacle is realized by the following method.
[0055]
First, in this embodiment, as shown in FIGS. 2A and 2B, when viewed from the viewpoint VP (virtual camera), the object OB1 (moving object such as a character) is changed to an object OB2 (pillar, wall, building, etc.). It is determined whether the object is behind the obstacle object. For example, in FIG. 2A, it is determined that the object OB1 is on the near side of OB2 when viewed from the viewpoint VP, and in FIG. 2B, it is determined that OB1 is on the back side of OB2 when viewed from the viewpoint VP. The
[0056]
When it is determined that the object OB1 is behind OB2 as viewed from the viewpoint VP as shown in FIG. 2B, the following processing is performed.
[0057]
That is, as shown in FIGS. 2C and 2D, it is determined whether or not the perspective transformation image PM1 of the object OB1 on the screen SC (perspective transformation surface) overlaps the perspective transformation image PM2 of the object OB2 on the screen. To do.
[0058]
Then, as shown in FIG. 2C, when the perspective transformation image PM1 does not overlap with PM2, the transparency processing (translucent processing, transparent processing, mesh processing, etc.) of the object OB2 is not performed.
[0059]
On the other hand, as shown in FIG. 2D, when the perspective transformation image PM1 is overlapped with PM2, the object OB2 is subjected to the transmission process, and the OB2 is set to a transparent (translucent, transparent, mesh, etc.) state. .
[0060]
In this way, as shown in FIG. 2A, it is possible to prevent a situation where OB1 is in a transparent state when object OB1 is in front of OB2. Then, only when the object OB1 is behind OB2 as shown in FIG. 2B and the object OB1 is hidden behind OB2 when viewed from the viewpoint VP as shown in FIG. 2D, OB2 is transparent. Can be. Thereby, the player can see OB1 through OB2, and can realize a smooth game progress.
[0061]
In addition, as shown in FIGS. 2A and 2B, it is determined whether or not the object OB1 is behind OB2, and the perspective transformation image PM1 as shown in FIGS. 2C and 2D. , PM2 overlap determination has a very light processing load. Therefore, the situation in which the object OB2 becomes a viewpoint obstacle and the object OB1 cannot be seen can be solved with a processing load smaller than that of the prior art disclosed in Japanese Patent Laid-Open No. 9-50541.
[0062]
2.2 First processing example
Next, a first processing example for realizing the method of FIGS. 2A to 2D will be described.
[0063]
In the first processing example, first, the Z coordinate in the viewpoint coordinate system (or the screen coordinate system) (the coordinate in the depth direction. In the screen coordinate system, the sign of the Z coordinate in the viewpoint coordinate system may be reversed). Based on the viewpoint VP, it is determined whether or not the object OB1 is on the back side of OB2.
[0064]
More specifically, as shown in FIG. 3A, the Z coordinate Z1 of the representative point RP1 of the object OB1 (for example, the center point of OB1. The waist point of the character OB1) and the representative point of the object OB2 A Z coordinate Z2 of RP2 (for example, the center point of OB1; a point on the near side by a given offset from the center point) is obtained. Then, by examining the magnitude relationship between the Z coordinates Z1 and Z2, it is determined whether or not the object OB1 is on the back side of OB2. For example, when the Z coordinate increases as the distance from the viewpoint VP increases (or vice versa), it is determined that the object OB1 is on the back side of OB2 when Z1> Z2.
[0065]
In the first processing example, when it is determined that the object OB2 is behind OB1 by the method of FIG. 3A, the X coordinates (horizontal direction) of the objects OB1 and OB2 in the screen coordinate system are determined. OB2 transmission processing is performed based on (coordinates).
[0066]
More specifically, as shown in FIG. 3B, the X coordinate X1 of the representative point RP1 of the object OB1, the X coordinate X2 of the representative point RP2 of the object OB2, and the radius parameter of the object OB2 (cylinder, polygonal column). The α value is obtained based on R (a parameter for expressing the size of OB2 in the X-coordinate direction in a broad sense, and it is desirable to reduce it according to the distance (perspective) from the viewpoint). That is, the α value is determined such that the smaller the difference between X1 and X2, the more transparent the object OB2. Then, based on the obtained α value (semi-transparency, transparency, opacity, etc.), a semi-transparency process (α composition process) of the object OB2 is performed. In this case, the α value can be expressed as the following expression, for example.
[0067]
α = F (| X1-X2 | / R) (3)
In the above equation, | A | is an absolute value of A, and F (B) is a function having B as an argument. As this function, a linear form of B (for example, an expression obtained by multiplying B by a constant) can be considered.
[0068]
According to the above first processing example, when the object OB1 (character) enters the area RGA (shaded area) in FIG. 4, the object OB2 (obstacle) is in a transparent state (translucent). Therefore, the player (viewpoint VP) can see the object OB1 through the object OB2, and the object OB1 operated by the player (or the object operated by the opponent player) is hidden behind the OB2 and cannot be seen. Can be prevented.
[0069]
Moreover, according to the first processing example, the Z coordinates of the objects OB1 and OB2 are compared as shown in FIG. 3A, and the difference between the X coordinates of the objects OB1 and OB2 and the radius parameter as shown in FIG. 3B. By only obtaining the α value from R, the transparent display of the object OB2 as shown in FIG. 4 can be realized. That is, the transparent display processing of the object OB2 can be realized only by linear calculation using the Z coordinate and the X coordinate. Therefore, the situation in which the object OB2 becomes a viewpoint obstacle and the object OB1 cannot be seen can be solved with a processing load much smaller than that of the prior art disclosed in Japanese Patent Laid-Open No. 9-50541.
[0070]
In order to prevent the player from feeling unnatural when the object OB2 is transparently displayed, in the areas RG1 and RG2 (area including the boundary where the transparent process is started) in FIG. It is desirable to gradually change the α value. That is, when the object OB1 wraps around the back side of OB2, OB2 is not made transparent immediately, but OB2 is gradually made transparent from opaque according to the depth to which OB1 wraps around. As a result, it becomes inconspicuous that OB2 is in a transmissive state, and an image in which the player does not feel unnaturalness so much can be generated.
[0071]
2.3 Second processing example
Next, a second processing example for realizing the method of FIGS. 2A to 2D will be described.
[0072]
The first processing example described above is suitable when the object OB2 has a cylindrical shape or a polygonal shape. However, when the object OB2 has a plate shape such as a wall, a problem may occur. is there.
[0073]
For example, in FIG. 5, the plate-shaped object OB2 (wall) is arranged so that the angle between the surface and the line-of-sight direction is an acute angle, and the object OB1 (character) is located in the immediate vicinity of this OB2. positioned. In the situation as shown in FIG. 5, since the Z coordinate of the representative point RP1 of the object OB1 is larger than the Z coordinate of the representative point RP2 of the object OB2 (wall), it is determined that OB1 is behind OB2 from the viewpoint. Will be. In the case of the situation of FIG. 5, it is determined that the X coordinate of the representative point RP1 of the object OB1 is within the radius parameter R from the X coordinate of the representative point RP2 of the object OB2. Therefore, when the first processing example of FIGS. 3A and 3B is used, even in the situation where the object OB1 is not hidden behind OB2 as shown in FIG. 5, OB2 becomes transparent. If the object OB2 becomes unnecessarily transparent as described above, a situation may occur where the player feels unnatural.
[0074]
On the other hand, according to the second processing example described below, such a situation can be prevented.
[0075]
In this second processing example, as shown in FIG. 6A, the representative point RP1 of the object OB1 (for example, the center point of OB1. The point of the waist position of the character OB1) and the representative point RP2 of the object OB2 ( For example, a vector V12 in a direction connecting the center point of OB1 and a point on the near side by a given offset from the center point, and a normal vector VN2 (vector perpendicular to the surface) representing the direction of the surface (main surface) of the object OB2 ), It is determined whether or not the object OB1 is behind the object OB2.
[0076]
More specifically, the inner product of the vector V12 and the normal vector VN2 is calculated, and based on the value of this inner product, it is checked whether the object OB1 is located in the region RGB or RGC in FIG. If the object OB1 is located in the region RGC, it is determined that OB1 is on the back side of OB2.
[0077]
In the second processing example, when it is determined that the object OB2 is behind OB1 by the method of FIG. 6A, the X coordinates (horizontal direction) of the objects OB1 and OB2 in the screen coordinate system are determined. OB2 transmission processing is performed based on (coordinates).
[0078]
More specifically, as shown in FIG. 6B, the X coordinate X1 of the representative point RP1 of the object OB1, the X coordinate X2, XL2, XR2 of the representative point RP2, the left end point EL2, and the right end point ER2 of the object OB2. Based on the above, the α value is obtained.
[0079]
That is, when the object OB1 is positioned on the left side of OB2 (X1 <X2), an α value is obtained such that the object OB2 becomes more transparent as the ratio of | X1−X2 | to | XL2-X2 |
[0080]
On the other hand, when the object OB1 is positioned on the right side of OB2 (X1 ≧ X2), an α value is obtained such that the object OB2 becomes more transparent as the ratio of | X1−X2 | to | XR2-X2 | Then, based on the obtained α value (semi-transparency, transparency, opacity, etc.), a semi-transparency process (α composition process) of the object OB2 is performed. In this case, the α value can be expressed as the following expression, for example.
[0081]
When X1 <X2
α = F (| X1-X2 | / | XL2-X2 |) (4)
When X1 ≧ X2
α = F (| X1−X2 | / | XR2-X2 |) (5)
In the above equation, | A | is an absolute value of A, and F (B) is a function having B as an argument. As this function, a linear form of B (for example, an expression obtained by multiplying B by a constant) can be considered.
[0082]
According to the second processing example described above, when the object OB1 (character) enters the area RGD (shaded area) in FIG. 7, the object OB2 (obstacle) becomes transparent (translucent). Therefore, the player (viewpoint VP) can see the object OB1 through the object OB2, and the object OB1 operated by himself (or the object operated by the opponent player) is hidden behind the object OB2 and cannot be seen. Can be prevented.
[0083]
In addition, according to the second processing example, the inner product of the vectors V12 and VN2 is obtained as shown in FIG. 6A, and the linear operation of the X coordinates X1, X2, XL2, and XR2 is obtained as shown in FIG. 6B. Thus, the transparent display of the object OB2 as shown in FIG. Therefore, the situation in which the object OB2 becomes an obstacle to the viewpoint and the object OB1 cannot be seen can be solved with a much smaller processing load compared to the prior art disclosed in Japanese Patent Laid-Open No. 9-50541.
[0084]
Also, according to the second processing example, unlike the first processing example described above, it is possible to prevent a situation where OB2 becomes unnecessarily transparent when the object OB2 has a plate shape.
[0085]
In order to prevent the player from feeling unnatural when placing the object OB2 in the transparent state, in the regions RG3 and RG4 (regions including the boundary where the transparent processing is started) in FIG. It is desirable to gradually change the α value. That is, when the object OB1 wraps around the back side of OB2, the OB2 is not immediately made transparent, but the OB2 is gradually made transparent from opaque according to the depth to which the OB1 wraps. As a result, it becomes inconspicuous that OB2 is in a transmissive state, and an image in which the player does not feel unnaturalness so much can be generated.
[0086]
2.4 Object for position confirmation
In the method of the present embodiment, as shown in FIG. 8, when the object OB1 is hidden behind OB2 when viewed from the viewpoint VP, the OB2 is made transparent. According to this method, since OB1 can be seen through OB2, it is possible to prevent the player from losing OB1.
[0087]
On the other hand, however, this method has a problem that OB2 becomes transparent and the player cannot recognize the position of OB2 at all.
[0088]
Even when the object OB2 (column or the like) is in a transparent state as shown in FIG. 8, the OB2 remains on the game. Therefore, for example, when the player operates the object OB1 (character) and moves it as indicated by A1 in FIG. 8, it is determined by hit check processing that OB1 has collided with OB2 at the point indicated by A2. . Then, OB1 is restricted in movement so that the object OB1 does not enter the inside of OB2. For this reason, the player has to move the object OB1 along the detour path as indicated by A3 in FIG.
[0089]
However, when the object OB2 is in a transparent state, the player cannot recognize how the object OB1 can be moved by bypassing the OB2. That is, the player feels as if there is an invisible obstacle in a place where nothing is present, thereby hindering the game operation environment of the player.
[0090]
Therefore, in the present embodiment, a method of providing a position confirmation object OB3 that remains in a non-transparent state even when the object OB2 is in a transparent state is adopted.
[0091]
More specifically, as shown in FIG. 9A, an object for confirming the position of OB2 between an object OB2 (column, wall, building) and a terrain surface GS (including an artificial terrain surface). OB3 is arranged. In this case, the boundary between the objects OB2 and OB3 is kept inconspicuous.
[0092]
As shown in FIG. 9B, even when the object OB1 is hidden behind OB2 and OB2 becomes transparent (transparent or translucent), the object OB3 remains in the non-transparent state (opaque). Keep it.
[0093]
In this way, the player can confirm the location where the object OB2 was present by looking at the object OB3. Therefore, the situation where the object OB1 collides with OB2 as shown in A1 and A2 in FIG. 8 can be prevented, and OB1 can be moved along an appropriate detour as shown in A3.
[0094]
In addition, OB3 located under the object OB2 is in a non-transparent state, but OB2 above OB3 is in a transparent state. Therefore, the player can see OB1 through the transparent object OB2, and can prevent the player from losing sight of OB1, which is a gaze object.
[0095]
The object OB3 is not limited to the shape shown in FIG. 9B, and various shapes can be adopted. For example, it may be a plate-like object (polygon) with no thickness disposed on the topographic surface GS (ground, game field surface).
[0096]
In order to allow the player to easily recognize the position and shape of the object OB2, the object OB3 should have the same cross-sectional shape as the cross-section of the object OB2 (a cross-section parallel to the XZ plane). desirable.
[0097]
3. Processing of this embodiment
Next, a detailed example of the processing of this embodiment will be described using the flowcharts of FIGS.
[0098]
FIG. 10 is a flowchart of the first processing example of FIGS. 3 (A) and 3 (B).
[0099]
First, the Z coordinates Z1 and Z2 of the representative points RP1 and RP2 of the objects OB1 and OB2 in the viewpoint (screen) coordinate system are obtained (step S1, see FIG. 3A). Then, it is determined whether or not Z1> Z2 (step S2). If Z1 ≦ Z2, the process is terminated.
[0100]
On the other hand, when Z1> Z2, X coordinates X1 and X2 of the representative points RP1 and RP2 of the objects OB1 and OB2 in the screen coordinate system are obtained (step S3, see FIG. 3B). Then, α = F (| X1−X2 | / R) which is an α value of OB2 is obtained based on the difference of X coordinates | X1−X2 | and the radius parameter R of the object OB2 (step S4).
[0101]
Next, semi-transparent processing of the object OB2 is performed based on the obtained α value (step S5). Specifically, the obtained α value is set as the vertex α value of the object OB2, and α synthesis processing (α blending, α addition, α subtraction, etc.) of the object OB2 is performed based on the vertex α value.
[0102]
FIG. 11 is a flowchart of the second processing example of FIGS. 6 (A) and 6 (B).
[0103]
First, the inner product of the line-of-sight vector VL and the normal vector VN2 of the surface (main surface) of the object OB1 is obtained (step S11). Then, based on the calculated inner product, it is checked whether the surface of the object OB2 is face up or face down (step S12). Then, when facing down (when VN2 is facing away from the viewpoint), the display of the object OB2 becomes unnecessary, and the processing is terminated.
[0104]
On the other hand, in the case of facing up, the inner product of the vector V12 and the normal vector VN2 in the direction connecting the representative points RP1 and RP2 of the objects OB1 and OB2 is obtained (step S13; see FIG. 6A). Then, based on the obtained inner product, it is determined whether or not the object OB1 is located in the region (RGC) on the back side of OB2 (step S14). Then, if it is in the near side region (RGB), the processing is terminated.
[0105]
On the other hand, if it is in the rear region, the X coordinate X1 in the screen coordinate system of the representative point RP1 of the object OB1, and the X coordinate X1 in the screen coordinate system of the representative point RP2, left end point EL2, and right end point ER2 of the object OB2. The coordinates X2, XL2, and XR2 are obtained (step S15).
[0106]
Next, it is determined whether or not X1 <X2 (step S16). If X1 <X2, the α value of the object OB2 is determined based on the difference between the X coordinates | X1-X2 | and | XL2-X2 |. α = F (| X1-X2 | / | XL2-X2 |) is obtained (step S17). On the other hand, when X1 ≧ X2, α = F (| X1-X2 | / | XR2-X2 |, which is the α value of the object OB2, based on the difference between the X coordinates | X1-X2 | and | XR2-X2 | ) Is obtained (step S18).
[0107]
Then, based on the obtained α value, the translucent process of the object OB2 is performed (step S19).
[0108]
4). Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG.
[0109]
The main processor 900 operates based on a program stored in the CD 982 (information storage medium), a program transferred via the communication interface 990, or a program stored in the ROM 950 (one of information storage media). Various processes such as processing, image processing, and sound processing are executed.
[0110]
The coprocessor 902 assists the processing of the main processor 900, has a product-sum calculator and a divider capable of high-speed parallel calculation, and executes matrix calculation (vector calculation) at high speed. For example, if a physical simulation for moving or moving an object requires processing such as matrix operation, a program operating on the main processor 900 instructs (requests) the processing to the coprocessor 902. )
[0111]
The geometry processor 904 performs geometry processing such as coordinate transformation, perspective transformation, light source calculation, and curved surface generation, has a product-sum calculator and a divider capable of high-speed parallel computation, and performs matrix computation (vector computation). Run fast. For example, when processing such as coordinate transformation, perspective transformation, and light source calculation is performed, a program operating on the main processor 900 instructs the geometry processor 904 to perform the processing.
[0112]
The data decompression processor 906 performs a decoding process for decompressing the compressed image data and sound data, and a process for accelerating the decoding process of the main processor 900. As a result, a moving image compressed by the MPEG method or the like can be displayed on the opening screen, the intermission screen, the ending screen, or the game screen. Note that the image data and sound data to be decoded are stored in the ROM 950 and the CD 982 or transferred from the outside via the communication interface 990.
[0113]
The drawing processor 910 performs drawing (rendering) processing of an object composed of primitives (primitive surfaces) such as polygons and curved surfaces at high speed. When drawing an object, the main processor 900 uses the function of the DMA controller 970 to pass the object data to the drawing processor 910 and transfer the texture to the texture storage unit 924 if necessary. Then, the rendering processor 910 renders the object in the frame buffer 922 at high speed while performing hidden surface removal using a Z buffer or the like based on the object data and texture. The drawing processor 910 can also perform α blending (translucent processing), depth cueing, mip mapping, fog processing, bilinear filtering, trilinear filtering, anti-aliasing, shading processing, and the like. When an image for one frame is written in the frame buffer 922, the image is displayed on the display 912.
[0114]
The sound processor 930 includes a multi-channel ADPCM sound source and the like, and generates high-quality game sounds such as BGM, sound effects, and sounds. The generated game sound is output from the speaker 932.
[0115]
Operation data from the game controller 942 (lever, button, chassis, pad type controller, gun type controller, etc.), save data from the memory card 944, and personal data are transferred via the serial interface 940.
[0116]
The ROM 950 stores system programs and the like. In the case of an arcade game system, the ROM 950 functions as an information storage medium, and various programs are stored in the ROM 950. A hard disk may be used instead of the ROM 950.
[0117]
The RAM 960 is used as a work area for various processors.
[0118]
The DMA controller 970 controls DMA transfer between the processor and memory (RAM, VRAM, ROM, etc.).
[0119]
The CD drive 980 drives a CD 982 (information storage medium) in which programs, image data, sound data, and the like are stored, and enables access to these programs and data.
[0120]
The communication interface 990 is an interface for transferring data to and from the outside via a network. In this case, as a network connected to the communication interface 990, a communication line (analog telephone line, ISDN), a high-speed serial bus, or the like can be considered. By using a communication line, data transfer via the Internet becomes possible. Further, by using the high-speed serial bus, data transfer with other image generation systems becomes possible.
[0121]
Note that all of the means of the present invention may be realized only by hardware, or only by a program stored in an information storage medium or a program distributed via a communication interface. Alternatively, it may be realized by both hardware and a program.
[0122]
When each unit of the present invention is realized by both hardware and a program, a program for causing the hardware (computer) to function as each unit of the present invention is stored in the information storage medium. Become. More specifically, the program instructs each processor 902, 904, 906, 910, 930, etc., which is hardware, and passes data if necessary. Each of the processors 902, 904, 906, 910, 930 and the like implements each unit of the present invention based on the instruction and the passed data.
[0123]
FIG. 13A shows an example in which the present embodiment is applied to an arcade game system (image generation system). The player enjoys the game by operating the controller 1102 and the like while viewing the game image displayed on the display 1100. Various processors and various memories are mounted on the built-in system board (circuit board) 1106. A program (data) for realizing each means of the present invention is stored in a memory 1108 which is an information storage medium on the system board 1106. Hereinafter, this program is referred to as a storage program (storage information).
[0124]
FIG. 13B shows an example in which this embodiment is applied to a home game system (image generation system). The player enjoys the game by operating the controllers 1202 and 1204 while viewing the game image displayed on the display 1200. In this case, the stored program (stored information) is stored in a CD 1206, which is an information storage medium that is detachable from the main system, or in memory cards 1208, 1209, and the like.
[0125]
FIG. 13C shows a host device 1300 and terminals 1304-1 to 1304-n connected to the host device 1300 via a network 1302 (a small network such as a LAN or a wide area network such as the Internet). An example in which the present embodiment is applied to a system including (game machine, mobile phone) is shown. In this case, the storage program (storage information) is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a memory that can be controlled by the host device 1300, for example. When the terminals 1304-1 to 1304-n can generate game images and game sounds stand-alone, the host device 1300 receives a game program and the like for generating game images and game sounds from the terminal 1304-. 1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates game images and game sounds, which are transmitted to the terminals 1304-1 to 1304-n and output at the terminals.
[0126]
In the case of the configuration of FIG. 13C, each unit of the present invention may be realized by being distributed between the host device (server) and the terminal. Further, the above storage program (storage information) for realizing each means of the present invention may be distributed and stored in the information storage medium of the host device (server) and the information storage medium of the terminal.
[0127]
The terminal connected to the network may be a home game system or an arcade game system. When the arcade game system is connected to the network, the save information storage device can exchange information with the arcade game system and exchange information with the home game system. It is desirable to use (memory card, portable game device).
[0128]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0129]
For example, in the present embodiment, the translucency process of the second object (OB2) has been mainly described by taking a semi-transparent process as an example, but the translucency process of the present invention is not limited to this. For example, a transparent process (a process for switching between transparent and opaque), a mesh process (a process in which the pixels of the second object and the background pixels thereof are displayed in a mesh shape), and the like may be performed.
[0130]
In addition, as the process for making the second object transparent, the method described in FIGS. 3A, 3B, 6A, and 6B is preferable, but various modifications equivalent to this are performed. Is possible. For example, it is possible to perform the transparency process of the second object based on the Y coordinate (coordinate along the vertical direction) of the first and second objects in the screen coordinate system.
[0131]
In the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention can be made dependent on another independent claim.
[0132]
The present invention can be applied to various games (such as fighting games, shooting games, robot fighting games, sports games, competitive games, role playing games, music playing games, dance games, etc.).
[0133]
The present invention is also applicable to various image generation systems (game systems) such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, and a system board for generating game images. Applicable.
[Brief description of the drawings]
FIG. 1 is an example of a functional block diagram of an image generation system according to an embodiment.
FIGS. 2A, 2B, 2C, and 2D are diagrams for explaining a method of the present embodiment that makes an object OB2 in a transparent state;
FIGS. 3A and 3B are diagrams for explaining a first processing example in which OB2 is made transparent based on the Z coordinate and X coordinate of objects OB1 and OB2.
FIG. 4 is a diagram illustrating a state in which an object OB2 is in a transparent state according to the first processing example.
FIG. 5 is a diagram for explaining a problem of the first processing example.
FIGS. 6A and 6B are diagrams for explaining a second processing example in which a plate-shaped object OB2 is set in a transmissive state.
FIG. 7 is a diagram illustrating a state in which an object OB2 is in a transparent state according to the second processing example.
FIG. 8 is a diagram for explaining a problem that occurs when an object OB2 is made transparent;
FIGS. 9A and 9B are diagrams for explaining a method of arranging an object OB3 for confirming the position of the object OB2. FIG.
FIG. 10 is a flowchart illustrating a detailed example of processing according to the embodiment.
FIG. 11 is a flowchart illustrating a detailed example of processing according to the present exemplary embodiment.
FIG. 12 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
FIGS. 13A, 13B, and 13C are diagrams illustrating examples of various types of systems to which the present embodiment is applied.
[Explanation of symbols]
OB1 first object
OB2 second object
OB3 third object
PM1, PM2 Perspective transformation image
VP perspective
SC screen
100 processor
110 Object space setting part
112 Movement / motion processing section
114 Transmission processing unit
120 Image generator
130 Sound generator
160 Operation unit
170 Storage unit
172 Main memory
174 Drawing buffer
180 Information storage medium
190 Display
192 sound output section
194 Portable information storage device
196 Communication Department

Claims (13)

画像生成を行う画像生成システムであって、
第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
オブジェクト空間内の視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する処理を行う第1の判断手段と、
前記視点に基づき第1のオブジェクトを2次元のスクリーンに透視変換した第1の透視変換画像と、前記視点に基づき第2のオブジェクトを当該スクリーンに透視変換した第2の透視変換画像とが重なったか否かを判断する処理を行う第2の判断手段と、
前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断され、且つ、前記第1の透視変換画像と前記第2の透視変換画像とが重なったと判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
前記視点での画像を生成する手段とを含むことを特徴とする画像生成システム。
An image generation system for generating an image,
Object space setting means for arranging and setting a plurality of objects including the first and second objects in the object space;
First determination means for performing processing for determining whether or not the first object is behind the second object as viewed from the viewpoint in the object space;
Whether the first perspective transformation image obtained by perspectively transforming the first object on the two-dimensional screen based on the viewpoint overlaps with the second perspective transformation image obtained by perspective transformation of the second object on the screen based on the viewpoint Second determination means for performing a process of determining whether or not;
If the first object as seen from the viewpoint is determined that the back side of the second object, and, it is determined that the first perspective transformation image and the second perspective transformation image overlaps , means for the first object passes through the second object performs a transmission process of the second object to be visible from the viewpoint,
Image generation system characterized by comprising a means for generating an image of at the viewpoint.
請求項1において、
前記第1の判断手段が、
視点座標系おける奥行き方向の座標をZ座標とした場合に、前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを、第1、第2のオブジェクトのZ座標に基づいて判断することを特徴とする画像生成システム。
In claim 1,
The first determination means is
The depth direction of the coordinates definitive in the viewpoint coordinate system when the Z coordinates, whether the first object as seen from the viewpoint is on the far side of the second object, first, Z of the second object An image generation system that makes a determination based on coordinates.
請求項1又は2において、
前記透過処理を行う手段が、
スクリーン座標系における水平方向の座標をX座標とした場合に、スクリーン座標系における第1、第2のオブジェクトのX座標に基づいて、第2のオブジェクトの透過処理を行うことを特徴とする画像生成システム。
In claim 1 or 2,
The means for performing the transparent processing is
An image generation characterized in that when the horizontal coordinate in the screen coordinate system is an X coordinate, the second object is subjected to transparency processing based on the X coordinate of the first and second objects in the screen coordinate system. system.
請求項3において、
前記透過処理を行う手段が、
第1のオブジェクトの代表点のX座標と、第2のオブジェクトの代表点のX座標と、第2のオブジェクトのX座標方向の大きさを表すためのパラメータとに基づいてα値を求め、求められたα値に基づいて第2のオブジェクトの半透明処理を行うことを特徴とする画像生成システム。
In claim 3,
The means for performing the transparent processing is
An α value is obtained based on the X coordinate of the representative point of the first object, the X coordinate of the representative point of the second object, and a parameter for representing the size of the second object in the X coordinate direction. An image generation system that performs translucency processing of the second object based on the obtained α value.
画像生成を行う画像生成システムであって、
第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
オブジェクト空間内の視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する処理を行う判断手段と、
前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
前記視点での画像を生成する手段とを含み、
前記判断手段が、
前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを、第1のオブジェクトの代表点と第2のオブジェクトの代表点とを結ぶ方向のベクトルと、第2のオブジェクトの面の方向を表す法線ベクトルとに基づいて判断することを特徴とする画像生成システム。
An image generation system for generating an image,
Object space setting means for arranging and setting a plurality of objects including the first and second objects in the object space;
Determination means for performing processing for determining whether or not the first object is behind the second object as viewed from the viewpoint in the object space;
A second for allowing the first object to be seen from the viewpoint through the second object when it is determined that the first object is behind the second object as viewed from the viewpoint; Means for performing transparent processing of the object,
Means for generating an image at the viewpoint,
The determination means is
Whether the first object as seen from the viewpoint is on the far side of the second object, the direction of the vector connecting the representative point of the first object and the representative point of the second object, the second An image generation system that makes a determination based on a normal vector that represents a direction of a surface of an object.
請求項において、
前記透過処理を行う手段が、
スクリーン座標系における水平方向の座標をX座標とした場合に、第1のオブジェクトの代表点のX座標と、第2のオブジェクトの左端点、右端点、代表点のX座標とに基づいてα値を求め、求められたα値に基づいて第2のオブジェクトの半透明処理を行うことを特徴とする画像生成システム。
In claim 5 ,
The means for performing the transparent processing is
Α value based on the X coordinate of the representative point of the first object and the X coordinate of the left end point, right end point, and representative point of the second object, where the horizontal coordinate in the screen coordinate system is the X coordinate And a translucent process of the second object is performed based on the obtained α value.
画像生成を行う画像生成システムであって、
第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
オブジェクト空間内の視点に基づき第1のオブジェクトを2次元のスクリーンに透視変換した第1の透視変換画像と、前記視点に基づき第2のオブジェクトを当該スクリーンに透視変換した第2の透視変換画像とが重なったか否かを判断する処理を行う判断手段と、
前記第1の透視変換画像と前記第2の透視変換画像とが重なったと判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
前記視点での画像を生成する手段とを含むことを特徴とする画像生成システム。
An image generation system for generating an image,
Object space setting means for arranging and setting a plurality of objects including the first and second objects in the object space;
A first perspective transformation image obtained by perspectively transforming a first object on a two-dimensional screen based on a viewpoint in the object space; and a second perspective transformation image obtained by perspective transformation of the second object on the screen based on the viewpoint. A determination means for performing a process of determining whether or not
If it is determined that the first perspective transformation image and the second perspective transformation image are overlapped, the first object is a second in order to be visible from the viewpoint through the second object Means for performing transparent processing of objects;
Image generation system characterized by comprising a means for generating an image of at the viewpoint.
請求項1〜7のいずれかにおいて、
前記オブジェクト空間設定手段が、
第2のオブジェクトが透過状態になった場合にも非透過状態のままとなる、第2のオブジェクトの位置確認用の第3のオブジェクトを、オブジェクト空間に配置設定することを特徴とする画像生成システム。
In any one of Claims 1-7,
The object space setting means
An image generation system characterized in that a third object for confirming the position of a second object, which remains in a non-transparent state even when the second object is in a transparent state, is arranged and set in the object space. .
請求項8において、
前記第3のオブジェクトが、前記第2のオブジェクトと地形面との間に配置設定されることを特徴とする画像生成システム。
In claim 8,
The image generation system, wherein the third object is arranged and set between the second object and a terrain surface.
画像生成を行うプログラムであって、
第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
オブジェクト空間内の視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する処理を行う第1の判断手段と、
前記視点に基づき第1のオブジェクトを2次元のスクリーンに透視変換した第1の透視変換画像と、前記視点に基づき第2のオブジェクトを当該スクリーンに透視変換した第2の透視変換画像とが重なったか否かを判断する処理を行う第2の判断手段と、
前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断され、且つ、前記第1の透視変換画像と前記第2の透視変換画像とが重なったと判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
前記視点での画像を生成する手段として、
コンピュータを機能させることを特徴とするプログラム。
A program for generating images,
Object space setting means for arranging and setting a plurality of objects including the first and second objects in the object space;
First determination means for performing processing for determining whether or not the first object is behind the second object as viewed from the viewpoint in the object space;
Whether the first perspective transformation image obtained by perspectively transforming the first object on the two-dimensional screen based on the viewpoint overlaps with the second perspective transformation image obtained by perspective transformation of the second object on the screen based on the viewpoint Second determination means for performing a process of determining whether or not;
If the first object as seen from the viewpoint is determined that the back side of the second object, and, it is determined that the first perspective transformation image and the second perspective transformation image overlaps , means for the first object passes through the second object performs a transmission process of the second object to be visible from the viewpoint,
As means for generating an image at the viewpoint,
A program characterized by causing a computer to function.
画像生成を行うプログラムであって、
第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
オブジェクト空間内の視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを判断する処理を行う判断手段と、
前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあると判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
前記視点での画像を生成する手段として、コンピュータを機能させ、
前記判断手段が、
前記視点から見て第1のオブジェクトが第2のオブジェクトの奥側にあるか否かを、第1のオブジェクトの代表点と第2のオブジェクトの代表点とを結ぶ方向のベクトルと、第2のオブジェクトの面の方向を表す法線ベクトルとに基づいて判断することを特徴とするプログラム。
A program for generating images,
Object space setting means for arranging and setting a plurality of objects including the first and second objects in the object space;
Determination means for performing processing for determining whether or not the first object is behind the second object as viewed from the viewpoint in the object space;
A second for allowing the first object to be seen from the viewpoint through the second object when it is determined that the first object is behind the second object as viewed from the viewpoint; Means for performing transparent processing of the object,
As a means for generating an image from the viewpoint, the computer functions,
The determination means is
Whether the first object is behind the second object as viewed from the viewpoint, a vector in a direction connecting the representative point of the first object and the representative point of the second object, A program that makes a determination based on a normal vector that represents a direction of a surface of an object.
画像生成を行うプログラムであって、
第1、第2のオブジェクトを含む複数のオブジェクトをオブジェクト空間に配置設定するオブジェクト空間設定手段と、
オブジェクト空間内の視点に基づき第1のオブジェクトを2次元のスクリーンに透視変換した第1の透視変換画像と、前記視点に基づき第2のオブジェクトを当該スクリーンに透視変換した第2の透視変換画像とが重なったか否かを判断する処理を行う判断手段と、
前記第1の透視変換画像と前記第2の透視変換画像とが重なったと判断された場合に、第2のオブジェクトを透過して第1のオブジェクトが前記視点から見えるようにするための第2のオブジェクトの透過処理を行う手段と、
前記視点での画像を生成する手段として、コンピュータを機能させることを特徴とするプログラム。
A program for generating images,
Object space setting means for arranging and setting a plurality of objects including the first and second objects in the object space;
A first perspective transformation image obtained by perspectively transforming a first object on a two-dimensional screen based on a viewpoint in the object space; and a second perspective transformation image obtained by perspective transformation of the second object on the screen based on the viewpoint. A determination means for performing a process of determining whether or not
If it is determined that the first perspective transformation image and the second perspective transformation image are overlapped, the first object is a second in order to be visible from the viewpoint through the second object Means for performing transparent processing of objects;
As means for generating an image of at the viewpoint, the program for causing a computer to function.
コンピュータ読み取り可能な情報記憶媒体であって、請求項10〜12のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。A computer-readable information storage medium, the information storage medium characterized by storing one of the program of claims 10 to 12.
JP2001229465A 2001-07-30 2001-07-30 Image generation system, program, and information storage medium Expired - Lifetime JP4707080B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001229465A JP4707080B2 (en) 2001-07-30 2001-07-30 Image generation system, program, and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001229465A JP4707080B2 (en) 2001-07-30 2001-07-30 Image generation system, program, and information storage medium

Publications (2)

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

Family

ID=19061810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001229465A Expired - Lifetime JP4707080B2 (en) 2001-07-30 2001-07-30 Image generation system, program, and information storage medium

Country Status (1)

Country Link
JP (1) JP4707080B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020116296A (en) * 2019-01-28 2020-08-06 株式会社コーエーテクモゲームス Game program, recording medium, and game processing method

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3696216B2 (en) * 2003-03-05 2005-09-14 株式会社スクウェア・エニックス Three-dimensional video game apparatus, control method of virtual camera in three-dimensional video game, program and recording medium
US7952594B2 (en) 2004-05-27 2011-05-31 Canon Kabushiki Kaisha Information processing method, information processing apparatus, and image sensing apparatus
JP5390093B2 (en) * 2007-12-21 2014-01-15 任天堂株式会社 GAME PROGRAM AND GAME DEVICE
JP5277488B2 (en) * 2008-04-23 2013-08-28 株式会社大都技研 Amusement stand
JP5714393B2 (en) * 2011-04-13 2015-05-07 任天堂株式会社 Information processing program, information processing apparatus, information processing method, and information processing system
JP5319728B2 (en) * 2011-04-18 2013-10-16 シャープ株式会社 Parallax image generation device, display device, parallax image generation method, parallax image generation program, and recording medium recording the same
JP5688550B2 (en) * 2013-05-01 2015-03-25 株式会社大都技研 Amusement stand
JP6122047B2 (en) * 2015-02-10 2017-04-26 株式会社カプコン GAME PROGRAM AND GAME DEVICE
JP6407225B2 (en) 2016-09-30 2018-10-17 キヤノン株式会社 Image processing apparatus, image processing method, image processing system, and program
JP7109907B2 (en) 2017-11-20 2022-08-01 キヤノン株式会社 Image processing device, image processing method and program
JP6799864B2 (en) * 2018-06-01 2020-12-16 株式会社コナミデジタルエンタテインメント Game equipment and programs
JP2019021333A (en) * 2018-09-19 2019-02-07 キヤノン株式会社 Image processing device, image processing method and program
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 (en) * 1995-08-10 1997-02-18 Sega Enterp Ltd Virtual picture generating device and its method
JPH1186027A (en) * 1997-07-11 1999-03-30 Werk Japan:Kk Image display method
JP2000149062A (en) * 1998-11-10 2000-05-30 Hitachi Eng Co Ltd Method and device for generating three-dimensional image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950541A (en) * 1995-08-10 1997-02-18 Sega Enterp Ltd Virtual picture generating device and its method
JPH1186027A (en) * 1997-07-11 1999-03-30 Werk Japan:Kk Image display method
JP2000149062A (en) * 1998-11-10 2000-05-30 Hitachi Eng Co Ltd Method and device for generating three-dimensional image

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020116296A (en) * 2019-01-28 2020-08-06 株式会社コーエーテクモゲームス Game program, recording medium, and game processing method
JP7304701B2 (en) 2019-01-28 2023-07-07 株式会社コーエーテクモゲームス Game program, recording medium, game processing method

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4707080B2 (en) Image generation system, program, and information storage medium
JP3420870B2 (en) Image composition method, image composition device, and game device
JP4610748B2 (en) Image generation system, program, and information storage medium
US7015908B2 (en) Image generation system and information storage medium
JP4305903B2 (en) Image generation system, program, and information storage medium
US7881521B2 (en) Rotational image generation method, program, and information storage medium and virtual camera
JP3786670B1 (en) Program, information storage medium, and image generation system
JP3280355B2 (en) Image generation system and information storage medium
JP3413383B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4743770B2 (en) Image generation system, program, and information storage medium
JP4651204B2 (en) Image generation system, program, and information storage medium
JP4577968B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4187192B2 (en) Image generation system, program, and information storage medium
JP3297410B2 (en) Image generation system and information storage medium
JP4707078B2 (en) Image generation system, program, and information storage medium
JP5054908B2 (en) Program, information storage medium, and image generation system
JP4412692B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2001229403A (en) Game system and information storage medium
JP4229317B2 (en) Image generation system, program, and information storage medium
JP3254195B2 (en) Image generation system and information storage medium
JP3292713B2 (en) Image generation system and information storage medium
JP2002216167A (en) Image generation system, program and information storage medium
JP4698701B2 (en) Image generation system, program, and information storage medium
JP3431562B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4794597B2 (en) Image generation system, program, and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 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