JPH09225143A - シミュレーション装置 - Google Patents

シミュレーション装置

Info

Publication number
JPH09225143A
JPH09225143A JP8056997A JP5699796A JPH09225143A JP H09225143 A JPH09225143 A JP H09225143A JP 8056997 A JP8056997 A JP 8056997A JP 5699796 A JP5699796 A JP 5699796A JP H09225143 A JPH09225143 A JP H09225143A
Authority
JP
Japan
Prior art keywords
area
collision
determination
hit
determination area
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.)
Granted
Application number
JP8056997A
Other languages
English (en)
Other versions
JP3138423B2 (ja
Inventor
Nobutaka Nakajima
信貴 中島
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
Original Assignee
Namco Ltd
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 filed Critical Namco Ltd
Priority to JP08056997A priority Critical patent/JP3138423B2/ja
Priority to PCT/JP1997/000442 priority patent/WO2004090838A1/ja
Priority to US08/930,914 priority patent/US6128018A/en
Publication of JPH09225143A publication Critical patent/JPH09225143A/ja
Application granted granted Critical
Publication of JP3138423B2 publication Critical patent/JP3138423B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
    • A63F2300/643Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car by determining the impact between objects, e.g. collision detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【課題】 判定エリアを設定して、移動オブジェクトと
他の表示物の衝突判定行う場合、少ないデータ量及び演
算負荷で衝突判定を行うことの可能なシミュレーション
装置を提供すること。 【解決手段】 仮想3次元空間内を移動する移動オブジ
ェクトと前記仮想3次元空間内に存在する衝突対象オブ
ジェクトとの衝突演算を行うシミュレーション装置であ
る。前記衝突対象オブジェクトの一部又は全部の形状に
基づき衝突判定用の3次元空間を特定する判定エリアを
設定する判定エリア設定部114と、前記移動オブジェ
クトの位置が前記判定エリアに属するか否かに基づき衝
突の有無を判断する衝突判定部118とを含み、前記判
定エリア設定部116は、前記判定エリアとして非衝突
領域を特定するネガティブヒットエリアを設定し、前記
衝突判定部118は、前記移動オブジェクトの位置がネ
ガティブヒットエリアに属する場合には衝突していない
旨を判定することを特徴とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はシミュレーション装
置に関し、特に移動オブジェクトと他のオブジェクトの
衝突判定を行うシミュレーション装置に関する。
【0002】
【背景の技術及び発明が解決しようとする課題】従来よ
り、ディスプレイ上に表示されるゲーム画面を見なが
ら、仮想3次元ゲーム空間内で、プレーヤがプレーヤ移
動体等を操縦するゲーム装置が知られている。この様な
ゲーム装置ではプレーヤ移動体が他の移動体や建造物、
壁等の障害物に衝突したときのゲーム演出を行うため
に、障害物との衝突判定を行う必要がある。この種のゲ
ームでは、前記障害物との衝突判定をどのようにして行
うかがゲームの面白さを左右する重要な要因となるとた
め、正確な衝突判定が必要である。
【0003】この様な衝突判定は、プレーヤ移動体が2
次元的に移動するドライブゲーム等では、容易である。
すなわちこの様なゲームでは、衝突判定において高さが
問題になる場合はまれで、通常はコースの両側に存在す
る障害物や、前後左右を通行する他のレーシングカーと
のの衝突判定を2次元的に行えばよいため、判定対象は
極めて限定されたものとなる。
【0004】しかし、プレーヤ移動体が飛行機等の3次
元空間を自由に飛行する移動物である場合、その移動経
路はほぼ無限に設定出来る。すなわち、3次元空間内に
存在する障害物は多数存在し、正確な衝突判定を行うた
めには、プレーヤ移動体と各障害物との間で前後左右上
下の3次元的な衝突判定が必要となるため、CPUの演
算負荷が飛躍的に増大する。
【0005】また、3次元的にヒットチェックが必要な
シューティングゲームについても同様の問題がある。
【0006】この様なヒットチェック又は衝突判定のデ
ータ量の軽減及び演算負荷の軽減を行う方法として、各
障害物と近似する形態の判定エリアを設定して、前記判
定エリアの内、外のいずれにあるかで衝突を判定するこ
とが行われていた。すなわち、仮想3次元空間のオブジ
ェクトそのものに対して前記衝突判定を行うと、データ
量の増大及び演算負荷の増大が著しくなるため、少ない
データで特定でき、かつ判定のための演算負荷が少なく
なるような判定エリアを設定して衝突判定を行うのであ
る。
【0007】この様な判定エリアの形状としては、少な
いデータで特定でき、かつ判定のための演算負荷が少な
くなるという利点を最も備えている直方体(以下ヒット
ボックスという)がもっぱら用いられていた。すなわち
移動体又は弾丸等の位置が、前記ヒットボックスの内側
になった場合にヒット又は衝突したと判定するのであ
る。
【0008】例えば図7に示すように、家310に移動
体が衝突したか否か判定する際は、家310に近似した
ヒットボックス300を設定して、移動体の位置が前記
ヒットボックス300の内側になれば衝突したと判定す
る。
【0009】ところが、複雑な形状のオブジェクトの判
定エリアを直方体で近似する場合、より正確な衝突判定
を行うためには、複数の直方体を組み合わて判定エリア
を設定する必要がある。この様に複雑な形状に対する判
定エリアを設定する際、多くのヒットボックスが必要と
なり、演算負荷の増大を招く。従って、複雑な形状の判
定エリアを設定する際、いかに少ないヒットボックスで
前記判定エリアの設定を行うことができるかが、演算負
荷及びデータ量を軽減する上で重要な問題となる。
【0010】また、一般にオブジェクトの判定エリアを
設定する際、前記オブジェクトが直線的で、単純な形状
であるほどよいが、例えば図13(A)に示すように直
線的で単純な形状のものでも、ヒットボックスの内側に
なった場合にヒット又は衝突したと判定する方法では、
判定が難しい場合もある。この様な場合どの様に判定エ
リアを設定するかが問題となる。
【0011】本発明はこの様な課題に鑑みてなされたも
のであり、判定エリアを設定して、移動オブジェクトと
他の表示物の衝突判定を行う場合、少ないデータ量及び
演算負荷で衝突判定を行うことの可能なシミュレーショ
ン装置を提供することである。
【0012】
【課題を解決するための手段】請求項1の発明は、仮想
3次元空間内を移動する移動オブジェクトと前記仮想3
次元空間内に存在する衝突対象オブジェクトとの衝突演
算を行うシミュレーション装置であって、前記衝突対象
オブジェクトの一部又は全部の形状に基づき衝突判定用
の3次元空間を特定する判定エリアを設定する判定エリ
ア設定手段と、前記移動オブジェクトの位置が前記判定
エリアに属するか否かに基づき衝突の有無を判断する衝
突判定手段とを含み、前記判定エリア設定手段は、前記
判定エリアとして非衝突領域を特定するネガティブヒッ
トエリアを設定し、前記衝突判定手段は、前記移動オブ
ジェクトの位置がネガティブヒットエリアに属する場合
には衝突していない旨を判定することを特徴とする。
【0013】移動オブジェクトとは、例えば飛行機や弾
丸等の移動物をさし、衝突対象オブジェクトとは、移動
オブジェクトが衝突する可能性のあるオブジェクト、例
えば他の飛行機等の移動物及び建造物や地形等の固定物
をさす。
【0014】また、判定エリアとは、前記移動オブジェ
クトが前記衝突対象オブジェクトに衝突したか否か判定
する際に、データ量の軽減及び演算負荷の軽減を行うた
めに設定するエリアである。すなわち、衝突対象オブジ
ェクトそのものに対して衝突判定を行うと、データ量の
増大及び演算負荷の増大が著しくなるため、少ないデー
タで特定でき、かつ判定のための演算負荷が少なくなる
ように、衝突対象オブジェクトの形状に近似した判定エ
リアを設定して衝突判定を行うのである。
【0015】この様な判定エリアは、定量化できればよ
いため、1の立体として特定してもよいし、複数の立体
の組み合わせとして特定してもよいが、いずれにしても
各立体の形状としては、少ないデータで特定でき、かつ
判定のための演算負荷が少なくなるという利点を備えて
いなければならない。このため、直方体や球、円柱等の
少ないデータで特定可能な立体、またはそれらの組み合
わせとして判定エリアを設定することが好ましい。
【0016】通常この様に判定エリアは、移動オブジェ
クトが判定エリアに属していれば衝突したと判定する積
極的な判定領域(以下ポジティブヒットエリアという)
として設定される。しかし例えば衝突対象オブジェクト
が真中に穴のあいたドーナッツ状の形状をしていた場合
や、衝突領域にかこまれて、非衝突領域がある場合(例
えば、トンネルや洞窟の中等)、ポジティブヒットエリ
アのみでは判定エリアの設定自体が難しかったり、判定
エリアを特定するための立体数が増え、データ量及び演
算負荷が増大する場合がある。
【0017】従って本発明では、消極的な判定領域であ
るネガティブヒットエリアを設定し、移動オブジェクト
が前記ネガティブヒットエリアに属していれば衝突して
いない旨の判定を行う。
【0018】この様にすることにより、判定エリアを設
定する際、立体数を減らすことが可能となり、衝突判定
に伴うデータ量の削減及び演算負荷の軽減を図ることが
出来る。なお、前記ネガティブヒットエリアに属してい
なければ衝突している旨の判定を行うとは限られない
が、トンネルや洞窟の中等での内壁への衝突判定等の特
殊な判定においては、ネガティブヒットエリアに属して
いない旨のみの検出で衝突を判定出来る場合もある。
【0019】また、判定エリアを構成する立体が多種多
数使用可能であれば、様々な形状の衝突対象オブジェク
トに対応した判定エリアを設定することは可能である。
しかしこの様にするとデータ量及び演算負荷が増大する
ため、判定エリアを構成する立体は少なく、かつその形
状は、判定時の演算負荷が少なくてすむ直方体が最も適
している。ところが、直方体のみの組み合わせのように
限られた形状で判定エリアを設定しようとする場合、衝
突対象オブジェクトの形状によっては、ポジティブヒッ
トエリアの直方体(以下ポジティブヒットボックスとい
う)のみでは、設定が困難であったり、多数個が必要に
なる場合が生じる。
【0020】この様な場合、ネガティブヒットエリアの
直方体(以下ネガティブヒットボックスという)を組み
合わせると、判定エリアの設定が容易になったり、直方
体の数を減らすことが可能となる場合がある。従って、
特に直方体等の特定の立体のみで判定エリアを構成する
際には効果的である。
【0021】請求項2の発明は、請求項1において、前
記判定エリア設定手段は、前記判定エリアとして、非衝
突領域を特定するネガティブヒットエリアと、衝突領域
を特定するポジティブヒットエリアと、をその一部が重
複するように組み合わせて設定し、前記衝突判定手段
は、前記移動オブジェクトの位置がネガティブヒットエ
リアのみに属する場合は、衝突していないと判定し、前
記移動オブジェクトの位置がポジティブヒットエリアの
みに属する場合は、衝突していると判定し、前記移動オ
ブジェクトが前記ネガティブヒットエリアとポジティブ
ヒットエリアの重複するエリアに属する場合は、所定の
ルールに基づき衝突を判定することを特徴とする。
【0022】ネガティブヒットエリアとポジティブヒッ
トエリアを組み合わせて衝突判定を行う場合は、両エリ
アが重複していない場合は、前述したように、属してい
るエリアに基づき判定を行えばよい。
【0023】重複している場合は、ネガティブヒットエ
リアをポジティブヒットエリアより優先度の高い判定エ
リアとして衝突判定を行う。但し両エリアの重複の態様
によっては、ポジティブエリアを優先して判定を行うよ
う設定してもよい。
【0024】この様に、判定エリアをネガティブヒット
エリアとポジティブヒットエリアの組み合わせとして設
定すると、判定エリアを特定するための立体数を減らす
ことが出来、衝突判定に伴うデータ量の削減及び演算負
荷の軽減を図ることが出来る。
【0025】また、判定エリアを構成する立体が多種多
数使用可能であれば、様々な形状の衝突対象オブジェク
トに対応した判定エリアを設定することは可能である。
しかしこの様にするとデータ量及び演算負荷が増大する
ため、判定エリアを構成する立体は少なく、かつその形
状は、判定時の演算負荷が少なくてすむ直方体が最も適
している。ところが、直方体のみの組み合わせのように
限られた形状で判定エリアを設定しようとする場合、衝
突対象オブジェクトの形状によっては、ポジティブヒッ
トエリアの直方体(以下ポジティブヒットボックスとい
う)のみでは、設定が困難であったり、多数個が必要に
なる場合が生じる。
【0026】この様な場合、ネガティブヒットエリアの
直方体(以下ネガティブヒットボックスという)を組み
合わせると、判定エリアの設定が容易になったり、直方
体の数を減らすことが可能となる場合が多い。従って、
特に直方体等の特定の立体のみで判定エリアを構成する
際には効果的である。
【0027】請求項3の発明は、請求項1、2のいずれ
かにおいて、前記判定エリア設定手段は、判定エリアを
直方体又は複数の直方体の組み合わせとして設定するこ
とを特徴とする。
【0028】判定エリアを構成する立体の形状として
は、少ないデータで特定でき、かつ判定のための演算負
荷が少なくなるという利点を備えていなければならない
ため、直方体が最も好ましい。少ないデータで特定出来
るという点では、球等も同様であるが、直方体の場合判
定のための演算が加減算のみで可能となるため、衝突判
定に伴う演算負荷の軽減を図ることが出来る。
【0029】請求項4の発明は、請求項1〜3のいずれ
かにおいて、前記判定エリア設定手段は、ネガティブヒ
ットエリア又はポジティブヒットエリアのいずれか一方
又は両方について、同一種類のヒットエリアの少なくと
も1のヒットエリアと他のヒットエリアの一部が重複す
るよう組み合わせて判定エリアを設定することを特徴と
する。
【0030】同種類のヒットエリアを重複するよう設定
することにより、少ないヒットエリアの組み合わせで複
雑な形状の判定エリアを設定することができ、データ量
の削減及び判定のための演算負荷の削減を図ることが出
来る。
【0031】請求項5の発明は、請求項3、4のいずれ
かにおいて、前記判定エリア設定手段は、判定エリアを
構成する直方体の互いに平行でない3辺が、それぞれ仮
想3次元空間のワールド座標系の各座標軸と平行となる
位置を基準状態とし、前記基準状態又は基準状態に対し
てワールド座標系の1又は2の座標軸に対して直方体を
回転させて判定エリアを設定することを特徴とする。
【0032】請求項6の発明は、請求項3、4のいずれ
かにおいて、前記判定エリア設定手段は、判定エリアを
構成する直方体の互いに平行でない3辺が、それぞれ仮
想3次元空間の当該衝突対象オブジェクトのボディ座標
系の各座標軸と平行となる位置を基準状態とし、前記基
準状態又は基準状態に対して前記ボディ座標系の1又は
2の座標軸に対して直方体を回転させて判定エリアを設
定することを特徴とする。
【0033】衝突判定を行う場合は、判定エリアを構成
する直方体が基準状態にあると、衝突判定のための演算
が加減算のみで可能となり、衝突判定に伴う演算負荷を
軽減することが出来るため好ましい。ところが、衝突対
象オブジェクトの形状によっては、基準状態の直方体の
みでは、判定エリアの設定が困難である場合がある。こ
の様な場合、直方体を基準状態からずらして設定する
と、判定エリアの設定が可能となる場合がある。
【0034】このような場合、請求項5又は請求項6の
発明のように判定エリアを設定することにより、衝突判
定に伴う演算負荷を軽減することが出来る。
【0035】すなわち、ワールド座標系の座標値を用い
て衝突判定を行う場合は、請求項5に示すように、基準
状態に対してワールド座標系の1又は2の座標軸に対し
て直方体を回転させて判定エリアを設定すると、前記加
減算に加えて、回転に対応する座標変換を行うことによ
り衝突判定を行うことが出来るため、衝突判定に伴う演
算負荷を軽減することが出来る。
【0036】また、ボディ座標系の座標値を用いて衝突
判定を行う場合は、請求項6に示すように、基準状態に
対してボディ座標系の1又は2の座標軸に対して直方体
を回転させて判定エリアを設定すると、前記加減算に加
えて、回転に対応する座標変換を行うことにより衝突判
定を行うことが出来るため、衝突判定に伴う演算負荷を
軽減することが出来る。
【0037】請求項7の発明は、請求項3〜6のいずれ
かにおいて、前記判定エリア設定手段は、複数のヒット
エリアを設定する際、直方体である1のヒットエリアを
構成する互いに平行でない3辺が、直方体である他のヒ
ットエリアを構成する互いに平行でない3辺と、いずれ
も非平行となるように判定エリアを設定することを特徴
とする。
【0038】この様にすると、多様な組み合わせが実現
し、特に重複部分の形状を例えば三角柱等の直方体以外
の形状としても設定することが可能となり、通常の組み
合わせだけでは設定が難しい判定エリアも設定が可能と
なる。
【0039】請求項1〜7のいずれかにおいて、前記判
定エリア設定手段は、前記判定エリアの情報が予め設定
されている判定エリア記憶手段を含むよう構成すること
が好ましい。
【0040】この様にすると、衝突演算時には予め設定
されている判定エリアを用いて、判定演算を行えばよい
ため、判定エリアを設定するための演算が不要となる。
従って、演算負荷を軽減し、処理時間を短縮することが
出来る。
【0041】請求項8の発明は、請求項1〜7のいずれ
かにおいて、前記衝突判定手段が衝突の有無を判断する
際に用いる前記移動オブジェクトの移動位置、または移
動位置を決定するための移動条件を入力する入力手段
と、前記衝突判定手段の判定結果に基づき、表示部に表
示する前記仮想3次元空間のシミュレーション画面を合
成する画像合成手段と、をさらに含むことを特徴とす
る。
【0042】ここにおいて移動位置を入力するとは、例
えば移動オブジェクトが飛行機等の乗り物である場合
は、それを操縦することを言う。また、移動条件を入力
するとは、例えばシューティングゲーム等で弾丸を発射
する場合を含む。
【0043】この様にすると、入力された移動位置又は
移動条件によって決定される移動オブジェクトの衝突演
算のデータ量及び演算負荷を軽減し、衝突結果を反映し
たシミュレーション画面を表示することが出来る。
【0044】
【発明の実施の形態】本発明の好適な実施の形態を、人
力飛行機に乗り3次元ゲーム空間内を自由に飛行するゲ
ーム装置を例にとり説明する。
【0045】図1には実施の形態のゲーム装置の外観図
が示されている。実施の形態のゲーム装置は、ほぼL字
状に形成されたハウジング70上に、操作部20と、デ
ィスプレイ60とが配置されている。
【0046】前記操作部20は、人力飛行機の操縦席を
イメージして形成されており、プレーヤPがサドル50
に座り、ハンドル30を両手で操作し人力飛行機を操作
し、さらにペダル40をこぎながら人力飛行機の推力を
入力するように構成されている。
【0047】前記ディスプレイ60は、サドル50に座
ったプレーヤPの正面に位置するように配置され、ここ
に3次元ゲーム空間内を人力飛行機が飛行するゲーム画
面200が表示される。
【0048】図6には当該ゲーム装置10のディスプレ
イ60に表示されるゲーム画面の一例200が示されて
いる。プレーヤPが前記操作部20を操作することによ
り、ゲーム画面上の人力飛行機210に乗った仮想プレ
ーヤ220は、該ゲーム画面に示されるゲームステージ
の仮想3次元空間内の飛行を行う。該空間内にはポイン
トバルーン230と呼ばれる風船のようなオブジェクト
が配置されており、仮想プレーヤが乗った人力飛行機2
10がこのポイントバルーン230に接触すると、ポイ
ントバルーン230にかかれたポイントが得られる。プ
レーヤPは、この様にしてポイントを獲得しながらゴー
ルをめざす。但し、制限時間内に所定の得点をとってゴ
ールに到着することがそのゲームステージをクリアする
条件である。そして前記ゲームステージをクリアする
と、難易度の高い新たなゲームステージに進むことがで
きるよう構成されている。
【0049】前記各ステージの仮想3次元空間内には建
造物や山、洞窟等の複雑な地形が設定されており、人力
飛行機210に乗った仮想プレーヤ220は、前記建造
物や山、洞窟の壁等の障害物を避けながら飛行しなけれ
ばならない。
【0050】従って、リアリティに富んだゲーム演出を
行うためには、これらの障害物と正確な衝突判定を行う
ことが重要な要因となる。しかし、建造物、地形等の障
害物と正確な衝突判定を行うためには、これらの形状を
正確に反映した衝突判定が必要となり、データ量及び演
算負荷が増大し、リアルタイムの演算処理が難しくな
る。
【0051】そこで本ゲーム装置10では、衝突判定の
ためのデータ量の軽減及び演算負荷の軽減を行うため
に、少ないデータで特定でき、かつ判定のための演算負
荷が少なくてすむ直方体又は直方体の組み合わせとして
障害物の形状を近似する判定エリアを設定して、衝突を
判定する構成を採用している。
【0052】図2には、前記ゲーム装置10の、機能ブ
ロック図が示されている。
【0053】実施の形態の業務用ビデオゲーム装置は、
操作部20と、ゲーム空間演算部100と、表示部80
とを含む。操作部20は、図1に示すハンドル30、ペ
ダル40等のプレーヤの操作する部材である。前記ゲー
ム空間演算部100は、空間演算部110、空間情報記
憶部120、画像合成部130と、オブジェクト画像情
報記憶部140とを含む。前記表示部80は、前記ディ
スプレイ60を用いて構成されている。
【0054】前記空間情報記憶部120には、ゲームス
テージ上に配置される各表示物(人力飛行機210に乗
った仮想プレーヤ220やポイントバルーン230等の
移動物と、トンネル、壁、ビル、立木、洞窟、山等の固
定物)の位置情報及び方向情報と後述する判定対象フラ
グhfが記憶されている。
【0055】図3は、移動物である人力飛行機210に
乗った仮想プレーヤ220(以下人力飛行機210とい
う)の位置及び姿勢と、位置情報(X,Y,Z)及び方
向情報(θ,φ,ρ)との関係を示す図である。同図に
示すように、本ゲーム装置では、各表示物の基準点KP
の位置情報(X,Y,Z)及び方向情報(θ,φ,ρ)
が仮想的なゲームステージ(オブジェクト空間)に設け
られたワールド座標系(Xw,Yw,Zw)における位
置座標及び角度として記憶されて、ゲームステージが構
築されている。
【0056】こうして設定された各表示物の基準点KP
の位置情報(X,Y,Z)及び方向情報(θ,φ,ρ)
は図4に示すようにして空間情報記憶部120に記憶さ
れる。すなわち、空間情報記憶部120にはi+1個の
オブジェクトの基準点KPの位置情報(X,Y,Z)及
び方向情報(θ,φ,ρ)が、各表示物に割り当てられ
たオブジェクトナンバーOBとともに記憶されている。
ここで、特に、オブジェクトナンバーOB0には人力飛
行機210の本体を表すオブジェクトが割り当てられ、
オブジェクトナンバーOB1、OB2、OB3はそれぞ
れトンネル、壁、ビル、立木、洞窟、山やその他のオブ
ジェクトが割り当てられている。
【0057】なお判定対象フラグhfには、当該表示物
が、判定エリア設定部114によって判定エリアを設定
することにより衝突判定を行うオブジェクト(後述する
判定対象障害物)であるか否かを示すフラグが格納され
ている。
【0058】空間演算部110は、CPU、メモリ等を
用いて構成されており、前記操作部20からの操作信号
および所定のゲームプログラムに基づき、人力飛行機2
10が仮想3次元空間内を飛行し、ポイントバルーン2
30をとる演算を行い、その演算結果を画像合成部13
0へ向け出力するものである。
【0059】また、前記空間演算部110の位置演算部
112は、上記のようにして記憶されるゲームステージ
における人力飛行機210の位置情報(X,Y,Z)及
び方向情報(θ,φ,ρ)を、前記操作部20によって
入力される操作信号やゲームプログラム等に従って、所
定の時間毎に、1/60秒毎に書き換えて更新する。例
えば、人力飛行機210がゲームステージ上をワールド
座標のX軸方向に姿勢を変えずに移動する様子は、前記
空間情報記憶部120に記憶された該当するオブジェク
トナンバーとともに記憶されている位置情報のX座標
を、前記空間演算部110の位置演算部112が移動速
度に応じた所定の増分で変更記憶することで表現され
る。こうして、ゲームステージにおいて人力飛行機21
0が刻々と位置及び方向(姿勢)を変化させていく状況
を容易に演出することができる。
【0060】ところで、この様にゲームステージ内にお
いて人力飛行機210が刻々と位置及び方向を変化させ
ていく状況をゲーム画面に表示するためにはどの位置か
ら見た画像を表示するのかという視点位置や視線方向、
視野角等の視点情報が必要となる。
【0061】本実施の形態では、人力飛行機210に乗
った仮想プレーヤ220の視点位置で画像を表示する1
人称の視点表示と、人力飛行機210を後方から追従す
る視点位置で画像を表示する3人称の視点表示を選択出
来るように形成されている。この様な視点情報は位置演
算部112が演算する人力飛行機210の位置情報
(X,Y,Z)及び方向情報(θ,φ,ρ)に基づき決
定される。
【0062】この様な視点情報等を含むフレーム情報も
前記空間情報記憶部120に記憶されている。このフレ
ーム情報も位置演算部112が演算する人力飛行機21
0の位置情報(X,Y,Z)及び方向情報(θ,φ,
ρ)に基づき空間演算部110によって所定時間毎に更
新される。この様にして、ゲーム画面には、移動する視
点位置からみえる仮想3次元空間を表示した画像がリア
ルタイムに表示される。
【0063】なお、空間演算部110の判定エリア設定
部114及び衝突判定部118が行う衝突演算の詳細は
後述する。
【0064】次に、画像合成部130とオブジェクト画
像情報記憶部140の画像合成の機能について詳しく説
明する。
【0065】前記オブジェクト画像情報記憶部140
は、ゲームステージに登場する各表示物の形状及び外観
にかかる情報を記憶するものであり、ポリゴン情報記憶
部142とテクスチャ情報記憶部144とを含んでい
る。すなわち、本ゲーム装置においては、各表示物はポ
リゴンの組み合わせによってモデリングされていて、各
ポリゴンにはそれぞれの表示物の外観を表すテクスチャ
がマッピングされる。
【0066】前記ポリゴン情報記憶部142には、各表
示物の形状を表す情報として、該表示物を構成する各ポ
リゴンの頂点座標と、それぞれのポリゴンにマッピング
するテクスチャ情報を読み出す情報とが対応して記憶さ
れる。前記頂点座標は各表示物にそれぞれ設けられた座
標系(ボディ座標系)における各頂点の位置座標として
記憶されている。
【0067】前記テクスチャ情報記憶部144には、こ
れらのポリゴンにマッピングするテクスチャのテクスチ
ャ情報が記憶される。ここで、テクスチャ情報とは表示
物の表面の色や模様等の情報を意味する。
【0068】また、前記画像合成部130では、前記空
間情報記憶部120及び前記オブジェクト画像情報記憶
部140に記憶される情報に従ってゲームステージの情
景を表す画像を合成する。具体的には、先ず初めに、図
5に示すように表示物300を構成するポリゴンを、ワ
ールド座標系(Xw,Yw,Zw)で表現されるゲーム
ステージ上に配置するための演算を行う。すなわち、前
記オブジェクト画像情報記憶部140のポリゴン情報記
憶部142には、表示物を構成するポリゴンの位置情報
がボディ座標系における座標情報として記憶されてい
る。前記画像合成部130は、これを前記空間情報記憶
部120に記憶される位置情報(X,Y,Z)及び方向
情報(θ,φ,ρ)に基づいて、平行移動、回転、反
転、拡大、縮小等の3次元座標変換を施し、ワールド座
標系(Xw,Yw,Zw)での位置座標に変換してい
る。次に、各表示物についてそれを構成するポリゴンを
所与の視点を基準とした視点座標系(Xv,Yv,Z
v)へ座標変換する処理を行う。その後、クリッピング
処理等を施し、スクリーン座標系(Xs,Ys)への投
影変換処理を行う。そして、こうして得られたスクリー
ン座標系(Xs,Ys)での画像情報に基づいて前記表
示部80はゲーム空間の所定の範囲を画像表示出力す
る。
【0069】次に、衝突判定を行う機能について説明す
る。仮想3次元空間の障害物と衝突判定を行う場合、障
害物そのものに対して衝突判定を行うと、データ量及び
演算負荷の増大が著しくなる。そこで、前記障害物の形
状に近似した判定エリアを設定し、該判定エリアと衝突
判定を行うことが一般的に行われている。この様な判定
エリアは、少ないデータで特定でき、かつ判定のための
演算負荷が少なくなるような立体またはその立体の組み
合わせとして作成することが好ましいため、本ゲーム装
置10でも、前述したように直方体又は直方体の組み合
わせからなる判定エリアを設定して、前記人力飛行機と
前記障害物との衝突判定を行っている。
【0070】しかし従来はこのような判定エリア設定し
て衝突判定を行う場合、直方体に属していれば衝突した
と判定する積極的な判定領域(以下ポジティブヒットボ
ックスという)のみを設定して判定を行なっていた。と
ころが後述するように、ポジティブヒットボックスのみ
では判定エリアの設定自体が難しかったり、判定エリア
を構成する直方体の数が増え、データ量及び演算負荷が
増大する場合が多い。
【0071】そこで本ゲーム装置10では、判定エリア
を設定する際、直方体に属していれば衝突していないと
判定する消極的な判定領域(以下ネガティブヒットボッ
クスという)を設定し衝突判定を行うよう構成してい
る。
【0072】この様な判定エリアを設定しているのが判
定エリア設定部114である。判定エリア設定部114
は、判定エリア記憶部116を含んで構成されている。
判定エリアは、判定対象となる障害物(以下判定対象障
害物という)の形状を近似するように、1又は複数のポ
ジティブヒットボックス又はネガティブヒットボックス
を組み合わせて作成されており、この判定エリア記憶部
116に、前記作成された判定エリアの情報が記憶され
ている。
【0073】具体的には、判定エリアを構成する1又は
複数の直方体の頂点データ(以下頂点データという)
と、前記判定対象障害物に対応するオブジェクトナンバ
ーを表すデータと、属性データが記憶されている(これ
らを判定エリア特定データという)。
【0074】前記頂点データは、該判定対象障害物の所
定の点を中心とするボディ座標系における頂点座標のデ
ータとして記憶されている。この所定の点とは、後述す
るように演算負荷を軽減するため、該判定対象障害物に
対応する表示物の基準点KPと一致するよう構成されて
いる(以下この点を判定エリア基準点という)。前記判
定対象障害物に対応するオブジェクトナンバーとは、前
記空間情報記憶部120に格納されている該判定対象障
害物に対応する表示物のオブジェクトナンバーをさし、
各直方体毎にこの情報を有している。
【0075】また、属性データとは、該直方体がポジテ
ィブヒットボックスであるのかネガティブヒットボック
スであるのかを区別するデータであり、直方体毎に1つ
有している。ポジティブヒットボックスとは、衝突して
いるか否か判定すべき点が、その直方体の内部(表面も
含む)に属している時、衝突していると判定するために
設定された直方体であり、ネガティブヒットボックスと
は、前記判定すべき点が、その直方体の内部(表面も含
む)に属している時、衝突判定を無効化するために設定
された直方体である。後述する衝突判定部118は、こ
の属性データに基づき、直方体に属している点の衝突判
定を行う。
【0076】図7を用いて判定対象障害物と対応する判
定エリアの作成例を説明する。すなわち、判定対象障害
物である家310の判定エリアを作成する場合、家31
0に近似する1つの直方体300で、家310に対する
判定エリア320を作成する。このとき、判定エリア基
準点Oは表示物の基準点KPと一致する点であり、該判
定エリア基準点Oを原点とするボディ座標系における直
方体300の頂点(300−V1〜300−V8)の座
標データが頂点データとして判定エリア記憶部116に
記憶されている。さらに属性データとして、該直方体3
00がポジティブヒットボックスである旨を示すデータ
が記憶されており、オブジェクトナンバーを表すデータ
として、空間情報記憶部120に格納されている家31
0に対応するオブジェクトナンバーを表すデータが記憶
されている。
【0077】なお、前記判定エリアの作成に際しては、
判定エリアを構成する直方体の互いに平行でない3辺
が、それぞれ前記ボディ座標系の各座標軸と平行となる
位置を基準状態(図7に示したような状態)とした場
合、前記基準状態又は基準状態に対してボディ座標系の
1座標軸に対して回転させた状態の直方体及びその組み
合わせとなるよう判定エリアを作成する。この様に判定
エリアを作成することにより、回転に伴う座標変換演算
を減らして、判定時の演算負荷を軽減するためである。
【0078】判定エリア設定部114は、位置演算部1
12が演算した人力飛行機210の位置情報に基づき、
判定対象障害物のうち人力飛行機210の回りの所定範
囲内に存在するものを選定する。なお、所定範囲内とし
たのは、前記障害物選定は、障害物の中心点で行うた
め、選定漏れが無いようにするためである。
【0079】前記選定は以下のようにして行う。まず、
判定エリア設定部114は、空間情報記憶部120の判
定対象フラグを見て、該表示物が判定対象障害物か否か
判断する。判定対象障害物であれば、該表示物の位置情
報に基づき、前記所定範囲内であるか否か判断し、所定
範囲内であれば判定エリア設定対象として図示しない一
時記憶エリアに判定エリア設定対象となった表示物のオ
ブジェクトナンバー及びその位置情報及び必要な場合は
方向情報を格納する。
【0080】そして該オブジェクトナンバーに基づき、
判定エリア記憶部116から、判定エリア特定データを
読み出す。さらに、それぞれの判定エリア基準点Oを原
点とするボディ座標系における位置座標として記憶され
ている頂点データを、図示しない一時記憶エリアに格納
された該オブジェクトナンバーに対応する位置情報に基
づき、ワールド座標系の位置座標に変換する。
【0081】ここにおいて、判定エリア基準点Oを、表
示物の基準点と同位置に設定しているため、頂点データ
と表示物の基準点の座標であるオブジェクトの位置情報
(図示しない一時記憶エリアに格納された位置情報)の
加減算を行うことにより、頂点データをワールド座標系
における位置座標に変換することが出来る。
【0082】なお、各方向情報が0でない場合は、各方
向情報に基づき、さらに座標変換を行なう必要がある。
【0083】前記判定エリア設定部114は、所定の時
間毎(通常1/60秒毎)に前記処理を行い、衝突判定
対象データを作成し衝突判定部118に渡す。この衝突
判定対象データは、1又は複数の直方体のワールド座標
系における頂点座標及び該直方体の属性データを含んで
構成されている。
【0084】衝突判定部118は、前記判定エリア設定
部114から受け取った衝突判定対象データに基づき人
力飛行機210との衝突判定を行う。このとき、人力飛
行機210を表すポリゴンの全ての頂点について衝突判
定を行うのは、データ量及び演算負荷の増大をもたらす
ので、所定の判定ポイントについて、衝突判定を行うよ
う構成されている。
【0085】図7(A)〜(C)は、本実施の形態の人
力飛行機210に乗った仮想プレーヤ220の所定ポイ
ントを表したポリゴン図である。同図(A)は、人力飛
行機210に乗った仮想プレーヤ220の側面図を、同
図(B)は正面図を、同図(C)平面図を表している。
同図(A)〜(C)に示すように、本実施の形態の人力
飛行機210に乗った仮想プレーヤ220には6つの判
定ポイントP1〜P6が設けてある。この判定ポイント
P1〜P6は、人力飛行機210に乗った仮想プレーヤ
220の形状に基づき、最も効率的かつリアリティを損
なわないように設定された点であり、いずれかの判定ポ
イントP1〜P6が判定エリアに衝突すれば、衝突して
いると判定される。
【0086】この所定の判定ポイントP1〜P6は人力
飛行機210の基準点を原点とするボディ座標系におけ
る位置座標として与えられているので、前記衝突判定部
118は、空間情報記憶部120に記憶されている人力
飛行機210に対応するオブジェクトの位置情報及び方
向情報を読み出してこの判定ポイントをワールド座標系
における位置座標に変換する。
【0087】そして、ワールド座標系における位置座標
に変換された判定ポイントP1〜P6について、前記衝
突判定対象データに基づき衝突判定を行う。前述したよ
うに、衝突判定対象データは1又は複数の直方体のワー
ルド座標系における頂点座標及び該直方体の属性データ
を含んで構成されているため、該直方体の属性データに
基づき、これらの直方体と判定ポイントP1〜P6との
衝突判定を行うことになる。
【0088】具体的には、各判定ポイントP1〜P6に
ついて、まず属性データがポジティブヒットボックスで
ある直方体について、該判定ポイントP1〜P6が前記
直方体に属する(直方体の表面又は内部にある)かどう
か判定する。衝突判定対象データとして受け取ったすべ
てのポジティブヒットボックスに属するものが無けれ
ば、衝突していないと判定する。また、属するものがあ
った場合は、前記判定ポイントについて、属性データが
ネガティブヒットボックスである直方体について、該判
定ポイントP1〜P6が前記直方体に属する(直方体の
表面又は内部にある)かどうか判定する。属するものが
あった場合は、衝突していない旨の判定を行い、属する
ものがない場合は、衝突している旨の判定を行う。この
様な判定を各判定ポイントP1〜P6について行い、い
ずれかの判定ポイントP1〜P6について衝突している
旨の判定があれば、衝突していると判定する。
【0089】なお、CPUにかかる演算負荷を少なくす
るためには以下のように判定エリアを作成することが好
ましい。すなわち、判定エリアを構成する直方体を、基
準状態又は基準状態に対して前記ボディ座標系の1の座
標軸に対して回転させた状態になるよう作成するとよ
い。この様にすると、前記方向情報が0である場合、判
定ポイントP1〜P6が直方体に属しているか否かの判
定は、加減算又は加減算と1回の座標変換のみで可能と
なるからである。
【0090】以下本ゲーム装置10においてポジティブ
ヒットボックスとネガティブヒットボックスを組み合わ
せた判定エリアの作成について説明する。
【0091】オブジェクトの形状を直方体又はその組み
合わせで近似して判定エリアを作成する場合、正確な衝
突判定を行うためには、通常複数の直方体を組み合わせ
ることが必要となる。しかし前述したように、衝突判定
のための演算は、直方体単位で行うため、データ量及び
演算負荷を削減するためには、判定エリアを少ない直方
体で作成することが重要となる。
【0092】本実施の形態のように、ポジティブヒット
ボックスとネガティブヒットボックスを組み合わせて判
定エリアを作成すると、ポジティブヒットボックスのみ
で判定エリアを作成する場合にくらべ、少ない直方体の
組み合わせて判定エリアを作成出来る場合が多い。
【0093】まず、ポジティブヒットボックスとネガテ
ィブヒットボックスを重複させて判定エリアを作成する
例について説明する。
【0094】図8(A)〜(C)は、判定エリアの作成
例を示した図である。図8(A)は、直方体に分割する
前のオブジェクトを近似した判定エリア330の形状を
表している。この判定エリア330をポジティブヒット
ボックスのみで作成する場合、単純な形状であるにもか
かわらず、図8(B)に示すように4個の直方体332
−1〜332−4を組み合わて判定エリア330を作成
する必要がある。これに対し、ポジティブヒットボック
スとネガティブヒットボックスを重複させて判定エリア
を作成すると、図8(C)に示すようにポジティブヒッ
トボックスである直方体334−p、ネガティブヒット
ボックスである直方体334−nの2つの直方体を組み
合わで判定エリア330を作成することが出来る。
【0095】この場合、まずポジティブヒットボックス
である直方体334−pに属しているかどうか判定し、
属していない場合は衝突していないと判定する。また、
属している場合は場合は衝突している可能性があるの
で、ネガティブヒットボックスである直方体334−n
に属しているかどうか判定し、属している場合は衝突し
ていないと判定し、属していない場合は場合は衝突して
いると判定する。すなわち重複している部分について
は、ネガティブヒットボックスによる判定を優先して、
衝突していないと判定する。
【0096】例えば、図8(C)において、点H1は、
ポジティブヒットボックスである直方体334−pに属
していないので、衝突していないと判定する。また点H
2は、ポジティブヒットボックスである直方体334−
pに属しており、ネガティブヒットボックスである直方
体334−nに属していないので、衝突していると判定
する。また点H3は、ポジティブヒットボックスである
直方体334−pとネガティブヒットボックスである直
方体334−nのいずれにも属しているので、衝突して
いないと判定する。
【0097】図9(A)〜(C)は、トンネル等の少し
複雑な形状の判定エリアの作成例を示した図である。図
9(A)は、直方体に分割する前のオブジェクトを近似
した判定エリア340の形状を表している。この判定エ
リアをポジティブヒットボックスのみで作成する場合、
少し複雑な形状であるため、図9(B)に示すように7
個の直方体342−1〜342−7を組み合わて判定エ
リア340を作成する必要がある。これに対し、ポジテ
ィブヒットボックスとネガティブヒットボックスを重複
させて判定エリア340を作成すると、図9(C)に示
すようにポジティブヒットボックスである直方体344
−p、ネガティブヒットボックスである直方体344−
n1〜344−n3の4つの直方体を組み合わで判定エ
リア340を作成することが出来る。
【0098】次に、ポジティブヒットボックスとネガテ
ィブヒットボックスのように属性の異なる直方体を重複
させる場合のみならず、同じ属性の直方体を重複させる
場合も含めて、判定エリアを構成する直方体を削減出来
る例を説明する。
【0099】図10(A)〜(D)は、判定エリアの作
成例を示した図である。図10(A)は、直方体に分割
する前のオブジェクトを近似した判定エリア350の形
状を表しており、図10(B)〜(D)は判定エリアの
直方体の組み合わせの例を示している。図10(B)
は、ポジティブヒットボックスのみで判定エリア350
を作成した場合を示しており、同図に示すように8個の
直方体352−1〜352−8を組み合わて判定エリア
350を作成する必要がある。これに対し、ポジティブ
ヒットボックスとネガティブヒットボックスを重複させ
て判定エリア350を作成すると、図10(C)に示す
ようにポジティブヒットボックスである直方体354−
p、ネガティブヒットボックスである直方体354−n
1〜354−n3の4つの直方体の組み合わせで判定エ
リア350を作成することが出来る。
【0100】ところがさらに、図10(D)に示すよう
に、ネガティブヒットボックスである直方体356−n
1、356−n2の2つの直方体を重複させることによ
り、3つ直方体の組み合わで判定エリア350を作成す
ることが出来る。
【0101】この様な直方体の組み合わせによって判定
エリアを作成して衝突判定を行うのは、直線的なビル等
の人工建造物に対して特に有効であるが、地形との衝突
判定においても有効に作用する例について説明する。
【0102】図11(A)、(B)及び図12は、洞窟
の内壁との衝突判定における判定エリアの作成例を示し
た図である。図11(A)は、洞窟を構成する地形の一
部である洞窟の周囲の壁を構成する地形412とその内
部の洞窟の空間410とを表す判定エリア400を表し
た図である。この様な地形を表す場合は、同図に示すよ
うに適当な部分に分割して、判定エリア400を作成す
るとよい。
【0103】この判定エリアをポジティブヒットボック
スのみで作成する場合、図11(B)に示すように5個
の直方体420−1〜420−5を組み合わて判定エリ
ア400を設定する必要がある。これに対し、ポジティ
ブヒットボックスとネガティブヒットボックスを重複さ
せて判定エリア400を作成すると、図12に示すよう
にポジティブヒットボックスである直方体430−p、
ネガティブヒットボックスである直方体430−n1、
430−n2の3つの直方体を組み合わで判定エリア4
00を作成することが出来る。
【0104】次に、ポジティブヒットボックスのみの組
み合わせでは判定エリアの作成が難しい場合について説
明する。
【0105】図13(A)(B)は、判定エリアの作成
例を示した図である。図13(A)は、直方体に分割す
る前のオブジェクトを近似した判定エリア440の形状
を表している。この判定エリア440は単純な形状であ
るにもかかわらず、ポジティブヒットボックスの組み合
わせとして作成するのは困難である。ところが図13
(B)に示すように、ポジティブヒットボックスである
直方体442−pに対してネガティブヒットボックスで
ある直方体442−nを回転させて組み合わせることに
より2個の直方体で判定エリア440を作成することが
出来る。
【0106】ここにおいて回転させるとは、1の直方体
を構成する互いに平行でない3辺と、他の直方体を構成
する互いに平行でない3辺が、いずれも非平行となって
いる状態のことである。この場合、ネガティブヒットボ
ックスである直方体442−nに属する場合には衝突し
ていないと判定される。
【0107】なお、ポジティブヒットボックスである直
方体442−pに属する場合にネガティブヒットボック
スである直方体442−nに属するかどうかの判定を行
うが、この場合判定対象とすべき部分は、図13(B)
の3角柱444(ポジティブヒットボックスである直方
体442−pとネガティブヒットボックスである直方体
442−nが重複する部分)で十分である。しかし、前
述したように少ない演算量で判定演算を行うのには直方
体が最も適しているため、3角柱444よりも直方体4
42−nを用いて判定エリア440を作成するほうが好
ましいのである。
【0108】図14(A)(B)も、この様な場合のト
ンネルの判定エリアの作成例を示した図である。図14
(A)は、直方体に分割する前のトンネルを近似した判
定エリア450の形状を表しており、図14(B)は、
前記判定エリア450の平面図である。この判定エリア
450も単純な形状であるにもかかわらず、ポジティブ
ヒットボックスの組み合わせとして作成するのは困難で
ある。ところが図14(C)に示すように、ポジティブ
ヒットボックスである直方体454−pとネガティブヒ
ットボックスである直方体454−nを組み合わせるこ
とにより2個の直方体で判定エリア450を作成するこ
とが出来る。
【0109】また本発明では、ポジティブヒットボック
スの組み合わせのみで行っていた判定エリアの作成を、
ポジティブヒットボックスとネガティブヒットボックス
を重複させて作成することにより、判定エリアを構成す
る直方体を有効に削減出来るが、状況によっては、ネガ
ティブヒットボックスのみで判定エリアを作成すること
も有効である。例えば、人力飛行機210がトンネル内
を飛行していることが明らかな場合、トンネル空間を表
すネガティブヒットボックスのみを設定して、該ネガテ
ィブヒットボックス内にいれば衝突していないと判定す
る場合等である。
【0110】また、本発明では、ポジティブヒットボッ
クスとネガティブヒットボックスの重複部分はネガティ
ブヒットボックスの判定結果が有効となる場合について
説明したが、ポジティブヒットボックスとネガティブヒ
ットボックスの重複の態様によっては、異なる判定ルー
ルを設けてもよい。
【0111】図15は、異なる判定ルールを適用すべき
判定エリアの例を示した図である。この判定エリア47
0は、ポジティブヒットボックスである直方体460−
p1の中にネガティブヒットボックスである直方体46
0−nを設け、さらにその中にポジティブヒットボック
スである直方体460−p2を設けている。この様な場
合、点H4は衝突しているのであるが、ネガティブヒッ
トボックスの判定を優先するという判定ルールでは、そ
のような判定結果にならない。そこで、異なる判定ルー
ルを設ける必要があるが、このような判定ルールの内容
が異なっても、本発明の技術的範囲内である。
【0112】また、本実施の形態では、判定エリアを直
方体又はその組み合わせとして作成する場合を説明した
が球や円柱等の少ないデータで特定可能な他の立体で作
成してもよい。この様な場合なるべく判定演算の負荷が
少ない立体で作成することが好ましい。
【0113】また、本発明の実施の形態では、判定エリ
アを予め作成して判定エリア記憶部に格納しておく場合
を説明したが、リアルタイムに作成してもよい。
【0114】また、本発明の実施の形態では、判定をワ
ールド座標系に変換した位置座標で行う場合について説
明したが、各ボディ座標系の位置座標に変換して行うよ
うにしてもよい。なお、判定エリアの作成も固定物であ
れはワールド座標系の位置座標で設定してもよい。
【0115】さらに、以上説明した本発明は家庭用、業
務用を問わずあらゆるハードウェアを用いて実施可能で
ある。図16は現在広く用いられているタイプのゲーム
装置のハードウェア構成の一例を示す図である。同図に
示すゲーム装置はCPU1000、ROM1002、R
AM1004、情報記憶媒体1006、音声合成IC1
008、画像合成IC1010、I/Oポート101
2、1014がシステムバス1016により相互にデー
タ送受信可能に接続されている。そして前記画像合成I
C1010にはディスプレイ1018が接続され、前記
音声合成IC1008にはスピーカ1020が接続さ
れ、I/Oポート1012にはコントロール装置102
2が接続され、I/Oポート1014には通信装置10
24が接続されている。
【0116】前記情報記憶媒体1006は、CD−RO
M、ゲームROM、メモリカード等のゲーム装置本体と
着脱可能に設けられる記憶手段を意味し、ゲーム内容に
応じた所定の情報を書き込み保存することのできるタイ
プも用いられる。また、前記ROM1002は、ゲーム
装置本体に固定して設けられる記憶手段である。これら
は、ゲームプログラムやゲームステージの空間情報等の
ゲームタイトルに関係する情報の他、ゲーム装置本体の
初期化情報等のゲームタイトルに関係しない情報を記憶
する手段である。
【0117】前記コントロール装置1022は、遊戯者
がゲーム進行に応じて行う判断の結果をゲーム装置本体
に入力するための装置であり、家庭用に広く用いられて
いるパッドタイプのものや、業務用ドライブゲームに用
いられるハンドル、アクセル等が挙げられる。
【0118】そして、前記情報記憶媒体1006やRO
M1002に格納されるゲームプログラムやシステムプ
ログラム又は前記コントロール装置1022によって入
力される信号等に従って、前記CPU1000はゲーム
装置全体の制御や各種データ処理を行う。前記RAM1
004はこのCPU1000の作業領域として用いられ
る記憶手段であり、前記情報記憶媒体1006や前記R
OM1002の所定の内容、あるいはCPU1000の
演算結果等が格納される。
【0119】さらに、この種のゲーム装置には音声合成
IC1008と画像合成IC1010とが設けられてい
て音声や画像の好適な出力が行えるようになっている。
前記音声合成IC1008は情報記憶媒体1006やR
OM1002に記憶される情報に基づいて効果音やゲー
ム音楽等を合成する回路であり、合成された音楽等はス
ピーカ1020によって出力される。また、前記画像合
成IC1010はRAM1004、ROM1002、情
報記憶媒体1006等から送られる画像情報に基づいて
ディスプレイ1018に出力するための画素情報を合成
する回路である。
【0120】また、前記通信装置1024はゲーム装置
内部で利用される各種の情報を外部とやりとりするもの
であり、他のゲーム装置と接続されてゲームプログラム
に応じた所定の情報を送受したり、通信回線を介してゲ
ームプログラム等の情報を送受することなどに利用され
る。
【0121】以上説明した一般的なゲーム装置を用いて
も本発明は容易に実施可能である。例えば、前記操作部
20はコントロール装置1022に対応し、前記空間演
算部110はCPU1000及びROM1002又は情
報記憶媒体1006に格納されるソフトウェアによって
実現される。また、空間情報記憶部120、オブジェク
ト画像情報記憶部140は、RAM1004、ROM1
002、情報記憶媒体1006のいずれかに設けること
が可能である。更に、画像合成部130は画像合成IC
1010によって、あるいはCPU1000と所定のソ
フトウェアによって実現される。また、表示部80はデ
ィスプレイ1018に対応する。
【0122】
【図面の簡単な説明】
【図1】本実施の形態にかかるゲーム装置の構成の一例
を示す図である。
【図2】本実施の形態のゲーム装置の構成を示す機能ブ
ロック図である。
【図3】人力飛行機の位置及び姿勢と、位置情報及び方
向情報との関係を示す図である。
【図4】本実施の形態にかかるゲーム装置の空間情報記
憶部に記憶される情報を示す図である。
【図5】本実施の形態にかかるゲーム装置の画像合成処
理を説明する図である。
【図6】本実施の形態にかかるゲーム装置の表示画面を
示したものである。
【図7】判定エリアの作成例を示した図である。
【図8】同図(A)〜(C)は、判定エリアの作成例を
示した図である。
【図9】同図(A)〜(C)は、判定エリアの作成例を
示した図である。
【図10】同図(A)〜(D)は、判定エリアの作成例
を示した図である。
【図11】同図(A)(B)は、判定エリアの作成例を
示した図である。
【図12】判定エリアの作成例を示した図である。
【図13】同図(A)(B)は、判定エリアの作成例を
示した図である。
【図14】同図(A)〜(C)は、判定エリアの作成例
を示した図である。
【図15】判定エリアの作成例を示した図である。
【図16】ゲーム装置のハードウェア構成の一例を示す
図である。
【図17】同図(A)〜(C)は、本実施の形態の人力
飛行機に乗った仮想プレーヤの所定ポイントを表したポ
リゴン図である。
【符号の説明】
20 操作部 80 表示部 100 ゲーム空間演算部 110 空間演算部 112 位置間演算部 114 判定エリア記憶部 116 判定エリア設定部 118 衝突判定部 120 空間情報演算部 130 画像合成部 140 オブジェクト画像情報記憶部 142 ポリゴン情報記憶部 144 テクスチャ情報記憶部

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 仮想3次元空間内を移動する移動オブジ
    ェクトと前記仮想3次元空間内に存在する衝突対象オブ
    ジェクトとの衝突演算を行うシミュレーション装置であ
    って、 前記衝突対象オブジェクトの一部又は全部の形状に基づ
    き衝突判定用の3次元空間を特定する判定エリアを設定
    する判定エリア設定手段と、 前記移動オブジェクトの位置が前記判定エリアに属する
    か否かに基づき衝突の有無を判断する衝突判定手段とを
    含み、 前記判定エリア設定手段は、 前記判定エリアとして非衝突領域を特定するネガティブ
    ヒットエリアを設定し、 前記衝突判定手段は、 前記移動オブジェクトの位置がネガティブヒットエリア
    に属する場合には衝突していない旨を判定することを特
    徴とするシミュレーション装置。
  2. 【請求項2】 請求項1において、 前記判定エリア設定手段は、 前記判定エリアとして、非衝突領域を特定するネガティ
    ブヒットエリアと、衝突領域を特定するポジティブヒッ
    トエリアと、をその一部が重複するように組み合わせて
    設定し、 前記衝突判定手段は、 前記移動オブジェクトの位置がネガティブヒットエリア
    のみに属する場合は、衝突していないと判定し、前記移
    動オブジェクトの位置がポジティブヒットエリアのみに
    属する場合は、衝突していると判定し、前記移動オブジ
    ェクトが前記ネガティブヒットエリアとポジティブヒッ
    トエリアの重複するエリアに属する場合は、所定のルー
    ルに基づき衝突を判定することを特徴とするシミュレー
    ション装置。
  3. 【請求項3】 請求項1、2のいずれかにおいて、 前記判定エリア設定手段は、 判定エリアを直方体又は複数の直方体の組み合わせとし
    て設定することを特徴とするシミュレーション装置。
  4. 【請求項4】 請求項1〜3のいずれかにおいて、 前記判定エリア設定手段は、 ネガティブヒットエリア又はポジティブヒットエリアの
    いずれか一方又は両方について、同一種類のヒットエリ
    アの少なくとも1のヒットエリアと他のヒットエリアの
    一部が重複するよう組み合わせて判定エリアを設定する
    ことを特徴とするシミュレーション装置。
  5. 【請求項5】 請求項3、4のいずれかにおいて、 前記判定エリア設定手段は、 判定エリアを構成する直方体の互いに平行でない3辺
    が、それぞれ仮想3次元空間のワールド座標系の各座標
    軸と平行となる位置を基準状態とし、前記基準状態又は
    基準状態に対してワールド座標系の1又は2の座標軸に
    対して直方体を回転させて判定エリアを設定することを
    特徴とするシミュレーション装置。
  6. 【請求項6】 請求項3、4のいずれかにおいて、 前記判定エリア設定手段は、 判定エリアを構成する直方体の互いに平行でない3辺
    が、それぞれ仮想3次元空間の当該衝突対象オブジェク
    トのボディ座標系の各座標軸と平行となる位置を基準状
    態とし、前記基準状態又は基準状態に対して前記ボディ
    座標系の1又は2の座標軸に対して直方体を回転させて
    判定エリアを設定することを特徴とするシミュレーショ
    ン装置。
  7. 【請求項7】 請求項3〜6のいずれかにおいて、 前記判定エリア設定手段は、 複数のヒットエリアを設定する際、直方体である1のヒ
    ットエリアを構成する互いに平行でない3辺が、直方体
    である他のヒットエリアを構成する互いに平行でない3
    辺と、いずれも非平行となるように判定エリアを設定す
    ることを特徴とするシミュレーション装置。
  8. 【請求項8】 請求項1〜7のいずれかにおいて、 前記衝突判定手段が衝突の有無を判断する際に用いる前
    記移動オブジェクトの移動位置、または移動位置を決定
    するための移動条件を入力する入力手段と、 前記衝突判定手段の判定結果に基づき、表示部に表示す
    る前記仮想3次元空間のシミュレーション画面を合成す
    る画像合成手段と、をさらに含むことを特徴とするシミ
    ュレーション装置。
JP08056997A 1996-02-20 1996-02-20 シミュレーション装置 Expired - Fee Related JP3138423B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP08056997A JP3138423B2 (ja) 1996-02-20 1996-02-20 シミュレーション装置
PCT/JP1997/000442 WO2004090838A1 (ja) 1996-02-20 1997-02-19 シミュレーション装置及び情報記憶媒体
US08/930,914 US6128018A (en) 1996-02-20 1997-02-19 Simulation apparatus and information storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP08056997A JP3138423B2 (ja) 1996-02-20 1996-02-20 シミュレーション装置

Publications (2)

Publication Number Publication Date
JPH09225143A true JPH09225143A (ja) 1997-09-02
JP3138423B2 JP3138423B2 (ja) 2001-02-26

Family

ID=13043139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP08056997A Expired - Fee Related JP3138423B2 (ja) 1996-02-20 1996-02-20 シミュレーション装置

Country Status (3)

Country Link
US (1) US6128018A (ja)
JP (1) JP3138423B2 (ja)
WO (1) WO2004090838A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0957452A2 (en) * 1998-05-12 1999-11-17 Fujitsu Limited Apparatus and method for checking interference of objects in computer
JP2003109038A (ja) * 2001-09-27 2003-04-11 Namco Ltd 高速衝突検出装置
JP2006051382A (ja) * 2005-10-13 2006-02-23 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2007301020A (ja) * 2006-05-09 2007-11-22 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP2013146574A (ja) * 2013-03-25 2013-08-01 Namco Bandai Games Inc 画像生成システム、プログラム及び情報記憶媒体
KR101501632B1 (ko) * 2013-11-29 2015-03-12 주식회사 비주얼리액터 인터랙티브 오감형 라이더 비행 배틀 레이싱 장치
US11548387B2 (en) 2017-03-01 2023-01-10 Kabushiki Kaisha Toshiba Information processing device, information processing method, computer program product, and moving object

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6657627B1 (en) * 1997-02-18 2003-12-02 Konami Co., Ltd. Video simulation system for calculating distance between characters and applying polygon to polygon plane
JP4030209B2 (ja) * 1998-12-09 2008-01-09 株式会社バンダイナムコゲームス ゲーム装置および情報記憶媒体
US6847364B1 (en) * 1999-12-23 2005-01-25 Intel Corporation Methods and apparatus for creating three-dimensional motion illusion in a graphics processing system
JP3363137B2 (ja) 2000-11-29 2003-01-08 コナミ株式会社 当たり判定方法、その装置、当たり判定処理プログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲーム装置
US8060345B2 (en) * 2004-03-18 2011-11-15 The Boeing Company Transforming airplane configuration requirements into intelligent spatial geometry
JP3979540B2 (ja) * 2005-12-28 2007-09-19 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法、ゲームシステム、ゲームシステムの制御方法及びプログラム
JP4791852B2 (ja) * 2006-02-27 2011-10-12 任天堂株式会社 ゲーム装置、ゲームプログラムおよびゲーム制御方法
US20080206718A1 (en) * 2006-12-01 2008-08-28 Aai Corporation Apparatus, method and computer program product for weapon flyout modeling and target damage assessment
JP5210547B2 (ja) * 2007-05-29 2013-06-12 任天堂株式会社 移動制御プログラムおよび移動制御装置
US11467572B2 (en) 2016-07-29 2022-10-11 NEC Solution Innovations, Ltd. Moving object operation system, operation signal transmission system, moving object operation method, program, and recording medium
JP6820066B2 (ja) * 2016-07-29 2021-01-27 Necソリューションイノベータ株式会社 移動体操縦システム、操縦シグナル送信システム、移動体操縦方法、プログラム、および記録媒体
CN111249730B (zh) * 2020-01-15 2021-08-24 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、设备及可读存储介质
CN112827175B (zh) * 2021-02-26 2022-07-29 腾讯科技(深圳)有限公司 一种碰撞框确定方法、设备及计算机可读存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191642A (en) * 1987-04-09 1993-03-02 General Electric Company Method for efficiently allocating computer resource for real time image generation
FR2625345A1 (fr) * 1987-12-24 1989-06-30 Thomson Cgr Procede de visualisation en trois dimensions d'objets codes numeriquement sous forme arborescente et dispositif de mise en oeuvre
US5287446A (en) * 1990-10-15 1994-02-15 Sierra On-Line, Inc. System and methods for intelligent movement on computer displays
US5252068A (en) * 1991-12-31 1993-10-12 Flight Dynamics, Incorporated Weight-shift flight control transducer and computer controlled flight simulator, hang gliders and ultralight aircraft utilizing the same
JP3052681B2 (ja) * 1993-08-06 2000-06-19 松下電器産業株式会社 3次元動画像生成装置
JPH0793578A (ja) * 1993-08-10 1995-04-07 Fujitsu Ltd アニメーション衝突計算表示装置
US5687307A (en) * 1993-09-21 1997-11-11 Canon Kabushiki Kaisha Computer graphic animation in which texture animation is independently performed on a plurality of objects in three-dimensional space
JPH07105409A (ja) * 1993-09-30 1995-04-21 Fujitsu Ltd 三次元移動体の衝突検知装置
JPH07152807A (ja) * 1993-11-26 1995-06-16 Canon Inc 仮想3次元空間における物体間の干渉追跡方法
JP3308685B2 (ja) * 1993-12-14 2002-07-29 キヤノン株式会社 物体の衝突シミュレーション方法とその装置
JP3401897B2 (ja) * 1994-02-16 2003-04-28 株式会社セガ 衝突判定処理システムおよびこれを用いた画像処理装置
US5548694A (en) * 1995-01-31 1996-08-20 Mitsubishi Electric Information Technology Center America, Inc. Collision avoidance system for voxel-based object representation
JPH08276070A (ja) * 1995-04-06 1996-10-22 Sega Enterp Ltd ゲーム装置
JPH08315181A (ja) * 1995-05-16 1996-11-29 Hitachi Ltd 衝突判定方法及び装置
JPH0981776A (ja) * 1995-09-11 1997-03-28 Atr Tsushin Syst Kenkyusho:Kk 衝突検出方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0957452A2 (en) * 1998-05-12 1999-11-17 Fujitsu Limited Apparatus and method for checking interference of objects in computer
EP0957452A3 (en) * 1998-05-12 2003-10-01 Fujitsu Limited Apparatus and method for checking interference of objects in computer
JP2003109038A (ja) * 2001-09-27 2003-04-11 Namco Ltd 高速衝突検出装置
JP2006051382A (ja) * 2005-10-13 2006-02-23 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2007301020A (ja) * 2006-05-09 2007-11-22 Nintendo Co Ltd ゲームプログラムおよびゲーム装置
JP2013146574A (ja) * 2013-03-25 2013-08-01 Namco Bandai Games Inc 画像生成システム、プログラム及び情報記憶媒体
KR101501632B1 (ko) * 2013-11-29 2015-03-12 주식회사 비주얼리액터 인터랙티브 오감형 라이더 비행 배틀 레이싱 장치
US11548387B2 (en) 2017-03-01 2023-01-10 Kabushiki Kaisha Toshiba Information processing device, information processing method, computer program product, and moving object

Also Published As

Publication number Publication date
US6128018A (en) 2000-10-03
WO2004090838A1 (ja) 2004-10-21
JP3138423B2 (ja) 2001-02-26

Similar Documents

Publication Publication Date Title
JP3138423B2 (ja) シミュレーション装置
EP0778548B1 (en) Image processor and game machine using the same
US6050896A (en) Game image display method and game device
WO1995035139A1 (fr) Simulateur 3d et procede de generation d'image
WO1997006511A1 (fr) Appareil et procede pour former une image virtuelle
WO1994028989A1 (fr) Appareil de jeu en trois dimensions
JP2008225985A (ja) 画像認識システム
US20030040362A1 (en) Image generation method, program, and information storage medium
US6878058B1 (en) Image processor and game device with image processor
JP3420870B2 (ja) 画像合成方法、画像合成装置及びゲーム装置
US20020045483A1 (en) Game device and image processing device
EP0797172A3 (en) Image processor and game apparatus equipped with the same
JP3215306B2 (ja) 画像合成方法及び装置
JP3748451B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP4662271B2 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3887810B2 (ja) ゲーム装置
JP3786671B1 (ja) プログラム、情報記憶媒体、及び画像生成システム
JP2009129167A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3475470B2 (ja) 電子遊戯機器
JP3138424B2 (ja) シミュレーション装置及び衝突判定方法
JP2001167291A (ja) 画像生成システム及び情報記憶媒体
JP3606383B2 (ja) 電子遊戯機器
JP2006263321A (ja) プログラム、情報記憶媒体、及び画像生成システム
JP3727098B2 (ja) 画像合成方法及び装置
JP2005122479A (ja) プログラム、情報記憶媒体及び画像生成装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001128

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

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

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

Free format text: PAYMENT UNTIL: 20071208

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20081208

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111208

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121208

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees