JP3398120B2 - キャラクタ間の距離算出方法、その装置及びシミュレータ - Google Patents

キャラクタ間の距離算出方法、その装置及びシミュレータ

Info

Publication number
JP3398120B2
JP3398120B2 JP2000134985A JP2000134985A JP3398120B2 JP 3398120 B2 JP3398120 B2 JP 3398120B2 JP 2000134985 A JP2000134985 A JP 2000134985A JP 2000134985 A JP2000134985 A JP 2000134985A JP 3398120 B2 JP3398120 B2 JP 3398120B2
Authority
JP
Japan
Prior art keywords
character
polygon
distance
moving
moving character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000134985A
Other languages
English (en)
Other versions
JP2001005982A (ja
Inventor
哲也 和田
啓 菅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Corp
Original Assignee
Konami Corp
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
Priority claimed from JP9050962A external-priority patent/JP2774795B1/ja
Application filed by Konami Corp filed Critical Konami Corp
Priority to JP2000134985A priority Critical patent/JP3398120B2/ja
Publication of JP2001005982A publication Critical patent/JP2001005982A/ja
Application granted granted Critical
Publication of JP3398120B2 publication Critical patent/JP3398120B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、モニタ画面内に作
成される擬似3次元空間上の移動キャラクタと、多角形
状を有するポリゴンを複数組み合わせて形成された固定
キャラクタとの距離を算出するキャラクタ間の距離算出
方法、その算出方法を実施する装置及びこれを用いたシ
ミュレータに関する。
【0002】
【従来の技術】近年、モニタ画面上に複数のキャラクタ
を擬似3次元空間で表示するようにした種々のビデオゲ
ーム装置が普及している。かかるビデオゲーム装置にお
いて、例えば、空中を飛行する飛行体等の移動キャラク
タが山や地面等の固定キャラクタに接触ないし衝突した
か否かを判定する当り判定はゲームの興趣性を増大させ
る上で必要不可欠のものである。従来、かかる当り判定
は、移動キャラクタの画像データと、山や地面等の固定
キャラクタの画像データとを大まかに比較することによ
り行うようになっていた。
【0003】
【発明が解決しようとする課題】ところが、近年、上記
ビデオゲーム装置において、データの高速処理化、モニ
タ画面上における表示画像の高鮮明度化等が要求されて
おり、それに伴って移動キャラクタと固定キャラクタと
の接近状況までもが明確に表示されるようになると、従
来のような大まかな処理では、実際には移動キャラクタ
が固定キャラクタと接触ないし衝突していないにもかか
わらず当りと判定されたり、移動キャラクタが固定キャ
ラクタと接触ないし衝突しているにもかかわらず不当り
と判定されたりしてプレイヤーに違和感を与える虞が生
じるという問題がある。なお、このような問題は、ゲー
ム装置だけではなく、種々のシミュレータにも生じる。
【0004】従って、本発明は、例えば移動キャラクタ
と固定キャラクタとの当り判定を正確に行うことを可能
とするものであって、モニタ画面内に作成される擬似3
次元空間上の移動キャラクタと固定キャラクタとの距離
を算出するキャラクタ間の距離算出方法、その算出方法
を実施する装置及びそれを用いたシミュレータを提供す
ることを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するた
め、請求項1に係るキャラクタ間の距離算出方法は、モ
ニタ画面内に作成される擬似3次元空間上の移動キャラ
クタと、縦横に配列された複数のブロックからなり、各
ブロック内に多角形状を有するポリゴンが複数配置され
て構成された固定キャラクタとの距離を算出する方法で
あって、前記移動キャラクタと平面座標において対向す
る位置のブロックを特定する第1のステップと、前記ブ
ロック内に配置されている複数のポリゴンのうち、前記
移動キャラクタの平面座標点を含むポリゴンを特定する
第2のステップと、前記移動キャラクタと前記特定され
たポリゴンとの距離を算出する第3のステップとを備
え、前記第1のステップにより特定されるブロックは、
前記移動キャラクタの平面座標値を前記ブロックの一辺
の長さで割った商により求めるものであることを特徴と
している。
【0006】この請求項1に係るキャラクタ間の距離算
出方法では、移動キャラクタと平面座標において対向す
る位置のブロックが移動キャラクタの平面座標値をブロ
ックの一辺の長さで割った商により特定されると共に、
その後にそのブロック内に配置されている複数のポリゴ
ンのうち、移動キャラクタの平面座標点を含むポリゴン
が特定され、移動キャラクタと特定されたポリゴンとの
距離が算出される。
【0007】また、請求項2に係るキャラクタ間の距離
算出方法は、請求項1に係る方法において、前記第2の
ステップにより特定されるポリゴンは、三角形からなる
ものであり、p=(s×a)+(t×b)の式におい
て、s≧0,t≧0及びs+t≦1の条件を満足するも
のであることを特徴としている。但し、pは、平面座標
におけるポリゴンの基準頂点から移動キャラクタの平面
座標点に向かうベクトル。a及びbは、ポリゴンの基準
頂点から他の頂点を定義するベクトル。s及びtは、前
記ベクトルa及びbの係数。
【0008】この請求項2に係るキャラクタ間の距離算
出方法では、p=(s×a)+(t×b)の式に基づ
き、固定キャラクタを形成する複数のポリゴンのうちの
移動キャラクタに対向する位置のポリゴンが特定され
る。
【0009】また、請求項3に係るキャラクタ間の距離
算出方法は、請求項1又は2に係る方法において、前記
第3のステップにより算出される移動キャラクタとポリ
ゴンとの間の距離yは、y=nx(Px−Ox)+ny(P
y−Oy)+nz(Pz−Oz)の式から求めるものである
ことを特徴としている。但し、nx,ny,nzは、ポリ
ゴンの持つ法線ベクトルnのx,y,z軸方向の成分。
x,Py,Pzは、移動キャラクタの位置Pのx,y,
z軸の各座標値。Ox,Oy,Ozは、ポリゴンを含む平
面上の所定の点Oのx,y,z軸の各座標値。
【0010】この請求項3に係るキャラクタ間の距離算
出方法では、y=nx(Px−Ox)+ny(Py−Oy)+
z(Pz−Oz)の式に基づき、移動キャラクタと第2
のステップで特定されたポリゴンとの間の距離yが算出
される。
【0011】また、請求項4に係るキャラクタ間の距離
算出装置は、モニタ画面内に作成される擬似3次元空間
上の移動キャラクタと、縦横に配列された複数のブロッ
クからなり、各ブロック内に多角形状を有するポリゴン
が複数配置されて構成された固定キャラクタとの距離を
算出する装置であって、前記移動キャラクタと平面座標
において対向する位置のブロックを特定する第1の手段
と、前記ブロック内に配置されている複数のポリゴンの
うち、前記移動キャラクタの平面座標点を含むポリゴン
を特定する第2の手段と、前記移動キャラクタと前記特
定されたポリゴンとの距離を算出する第3の手段とを備
え、前記第1の手段により特定されるブロックは、前記
移動キャラクタの平面座標値を前記ブロックの一辺の長
さで割った商により求めるものであることを特徴として
いる。
【0012】この請求項4に係るキャラクタ間の距離算
出装置では、第1の手段により移動キャラクタと平面座
標において対向する位置のブロックが移動キャラクタの
平面座標値をブロックの一辺の長さで割った商により特
定されると共に、第2の手段によりそのブロック内に配
置されている複数のポリゴンのうち、移動キャラクタの
平面座標点を含むポリゴンが特定され、第3の手段によ
り移動キャラクタと特定されたポリゴンとの距離が算出
される。
【0013】また、請求項5に係るキャラクタ間の距離
算出装置は、請求項4に係るものにおいて、前記第2の
手段により特定されるポリゴンは、三角形からなるもの
であり、p=(s×a)+(t×b)の式において、s
≧0,t≧0及びs+t≦1の条件を満足するものであ
ることを特徴としている。但し、pは、平面座標におけ
るポリゴンの基準頂点から移動キャラクタの平面座標点
に向かうベクトル。a及びbは、ポリゴンの基準頂点か
ら他の頂点を定義するベクトル。s及びtは、前記ベク
トルa及びbの係数。
【0014】この請求項5に係るキャラクタ間の距離算
出装置では、第2の手段により、p=(s×a)+(t
×b)の式に基づいて固定キャラクタを形成する複数の
ポリゴンのうちの移動キャラクタに対向する位置のポリ
ゴンが特定される。
【0015】また、請求項6に係るキャラクタ間の距離
算出装置は、請求項4又は5に係るものにおいて、前記
第3の手段により算出される移動キャラクタとポリゴン
との間の距離yは、y=nx(Px−Ox)+ny(Py
y)+nz(Pz−Oz)の式から求めるものであること
を特徴としている。但し、nx,ny,nzは、ポリゴン
の持つ法線ベクトルnのx,y,z軸方向の成分。
x,Py,Pzは、移動キャラクタの位置Pのx,y,
z軸の各座標値。Ox,Oy,Ozは、ポリゴンを含む平
面上の所定の点Oのx,y,z軸の各座標値。
【0016】この請求項6に係るキャラクタ間の距離算
出装置では、第3の手段により、y=nx(Px−Ox
+ny(Py−Oy)+nz(Pz−Oz)の式に基づいて移
動キャラクタと第2の手段により特定されたポリゴンと
の間の距離yが算出される。
【0017】また、請求項7に係るシミュレータは、移
動キャラクタと固定キャラクタとが擬似3次元で表示さ
れるモニタと、プレイヤーにより操作可能な操作手段
と、前記操作手段による操作に応じた操作量を検出する
検出手段と、前記検出手段からの信号により前記移動キ
ャラクタのモニタ画面上での位置を算出する算出手段
と、請求項4乃至6のいずれかに記載のキャラクタ間の
距離算出装置とを備えたことを特徴としている。
【0018】この請求項7に係るシミュレータでは、モ
ニタに移動キャラクタと固定キャラクタとが表示され、
プレイヤーが操作手段を操作することによって移動キャ
ラクタが移動される。そして、移動した移動キャラクタ
の位置が算出されると共に、その移動キャラクタと対向
する位置の固定キャラクタを形成するポリゴンとの距離
が算出される。
【0019】また、請求項8に係るシミュレータは、請
求項7に係るものにおいて、前記移動キャラクタは飛行
体であり、前記操作手段は少なくとも高度成分に対する
可変操作が可能にされたものであることを特徴としてい
る。
【0020】この請求項8に係るシミュレータでは、プ
レイヤーが操作手段を操作することによってモニタ画面
上を飛行体が飛行する。
【0021】
【発明の実施の形態】図1は、本発明の一実施形態であ
るキャラクタ間の距離算出方法及び装置が適用された飛
行シミュレーションゲーム装置を説明するための図であ
る。本実施形態においては、ゲーム装置は、飛行体とし
てハンググライダHを想定したものである。実際のハン
ググライダHは、平面視で二等辺三角形に近似した形状
を有し、フレームに張られた布製の三角翼H1を有して
いる。そして、三角翼H1の中央下部には飛行者Mを吊
持する吊持部材H2が設けられ、前方下部には水平方向
に延びる操作桿H3が設けられている。吊持部材H2に
支持された飛行者Mは、操作桿H3を操作することによ
り左右方向に旋回飛行することができ、吊持部材H2で
の体重の移動によっても方向転換や昇降をコントロール
し得るようになっている。
【0022】実際の飛行環境においては、大気中に上昇
気流ゾーンや下降気流ゾーン、さらには乱気流ゾーン等
が存在し、ハンググライダHは上昇気流ゾーンで上昇す
ると共に、下降気流ゾーンで下降し、乱気流ゾーンにお
いては飛行状態が不安定になる。飛行者Mは、このよう
な飛行環境中をハンググライダHの操作桿H3を操りな
がら飛行することによって下方に展開する平野Nや湖L
等を俯瞰し、ときには側方に迫る山MTを避けたり、乱
気流ゾーン中で飛行テクニックをフルに発揮し、爽快な
飛行感を得ることになる。
【0023】本発明に係るキャラクタ間の距離算出方法
及び装置が適用されたゲーム装置は、このようなハング
グライダHによる飛行体験を、モニタ画面上で模擬的に
楽しむものであり、そのためにゲーム装置は、プレイヤ
ーを上記吊持部材H2で吊持された姿勢に模擬的に保持
し得るように構成されると共に、図1に示すような前方
視界や下方視界が立体画像で映し出されるようになって
おり、しかもこの立体画像は、実際を模した飛行操作に
応じて変化し、これによって実際の飛行体験に近似した
体験が得られるようになされている。
【0024】なお、このゲーム装置においては、ハング
グライダHは、図2に示すように、周囲の山や森林の存
在によって必然的に形成される曲折した飛行経路HKに
沿ってスタート地点STからゴール地点GRに向かって
飛行するようになっている。また、飛行経路HKは、複
数のパーツ(図2中の線で区画されたゾーン)に区分さ
れており、ハンググライダHがどのパーツを飛行してい
るかを検出ないしは監視することにより、そのパーツに
対応した視界が映し出されるようになっている。
【0025】図3は、本発明の一実施形態であるキャラ
クタ間の距離算出方法及び装置が適用された飛行シミュ
レーションゲーム装置の概略構成を示す図である。な
お、本明細書においては、図3に示すX−X方向を幅方
向、Y−Y方向を前後方向といい、特に−X方向を左
方、+X方向を右方、−Y方向を前方、+Y方向を後方
という。
【0026】ゲーム装置1は、枠体2と、この枠体2の
上部後方に設けられた操作桿3と、この操作桿3を前後
方向に移動可能に支持する操作桿移動機構部4と、枠体
2の下部後方に設けられたプレイヤーの脚部を載置する
載置部5と、飛行のシミュレーション風景を画像表示す
るモニタ6と、このモニタ6の画像表示をスクロールす
る制御部7とを備えた基本構成を有している。
【0027】枠体2は、フロアF上に据え付けられる幅
方向一対の基礎フレーム21と、これら基礎フレーム2
1に支持された側面視でL字形状の幅方向一対のL形フ
レーム22とを備えている。この各L形フレーム22
は、頂部同士が水平杆23により結合されて立設状態が
安定化するようになっている。
【0028】また、各L形フレーム22の後方には、幅
方向一対の中間フレーム24が設けられると共に、各L
形フレーム22の前後方向中央部より後方寄りの位置に
は上下方向に延びる幅方向一対の立設フレーム25が設
けられている。各立設フレーム25は、頂部の高さ位置
が水平杆23の高さ位置と同一になるように設定され、
各立設フレーム25の頂部と水平杆23の上面部とによ
って平面視で略正方形状の桝形フレーム26が支持され
ている。操作桿3、操作桿移動機構部4、載置部5、モ
ニタ6及び制御部7は、枠体2の内外に取り付けられ、
これによってゲーム装置1が形成されている。
【0029】操作桿3は、枠体2の操作桿支持板26a
に操作桿移動機構部4を介して前後方向に移動操作可能
となるように取り付けられている。操作桿3は、正面視
(載置部5から前方を見た状態)で略U字形状を呈し、
操作桿移動機構部4の両側部から下方に向かって斜めに
延びる左右一対の縦桿31と、これら縦桿31の下端部
間に配設された把持部32とからなっており、プレイヤ
ーはこの把持部32を両手で把持して前後方向に動かす
ことでゲームをプレイするようになっている。
【0030】上記操作桿移動機構部4は、操作桿支持板
26aに幅方向一対で設けられた軸受41と、これら軸
受41に自軸心回りに回動自在に軸支された水平軸42
と、この水平軸42の回動に対して抵抗力(付勢力)を
付与する付勢部材43と、水平軸42の左端部に設けら
れ、水平軸42の回動量を検出する可変抵抗器やポテン
ショメータ等の回動量センサ44とを備えている。操作
桿3の縦桿31上端部は水平軸42に一体に固定され、
把持部32を前後方向に操作することによって水平軸4
2が自軸心回りに回動するようになっている。
【0031】載置部5は、載置部フレーム51と、この
載置部フレーム51に取り付けられた足置き台52及び
腰支持台53と、載置部フレーム51を幅方向に左右に
移動させる載置部左右移動機構部54とを備えている。
足置き台52は、その水平面に対する傾斜角度がプレイ
ヤーが乗った状態で身体が少し前傾するように設定さ
れ、腰支持台53は、その水平面に対する傾斜角度がプ
レイヤーの前傾姿勢を脚部で支持し得る程度の急勾配と
なるように設定されている。
【0032】載置部左右移動機構部54は、枠体2内の
前方下部に箱型に組み付けられた内部フレーム27に支
持されており、載置部フレーム51を幅方向に左右に移
動させるための回動自在に支持された垂直軸55と、こ
の垂直軸55に取り付けられ、垂直軸55の回動に対し
て抵抗力(付勢力)を付与する付勢部材57とを備えて
いる。また、垂直軸55の上端には、足置き台52の揺
動量を検出するための可変抵抗器やポテンショメータ等
の回動量センサ59が配設されている。また、足置き台
52は、その下方に幅方向一対の図略のコイルスプリン
グが配設され、このコイルスプリングの付勢力によって
足置き台52の水平位置が維持される一方、プレイヤー
が左右いずれかの足に多くの体重をかけることよって左
右が上下に揺動するようになっている。
【0033】モニタ6は、枠体2の上部であって、上記
幅方向一対の立設フレーム25間に設けられた前方モニ
タ61と、前方モニタ61より下部の中間フレーム24
に設けられた俯瞰モニタ62とを備えている。前方モニ
タ61は、画面が後方に向いて略垂直に角度設定されて
いるとともに、俯瞰モニタ62は、画面が前上がりに斜
めに配置され、これによって、プレイヤーが足置き台5
2に乗って腰部を腰支持台53に預け、把持部32を把
持した状態で前方に視線を向けると前方モニタ61の画
面が目視でき、下に視線を移すと俯瞰モニタ62の画面
が目視できるようになっている。
【0034】制御部7は、枠体2の下部後方の空間に配
設されており、図4に示すように、CPU70、モニタ
6への表示を制御するための制御プログラムを記憶する
ROM71、及び処理データを一時的に保存するRAM
72を有し、回動量センサ44、59からの検出信号に
応じて前方モニタ61及び俯瞰モニタ62に画像を表示
させるようになっている。また、制御部7は、前方モニ
タ61及び俯瞰モニタ62に表示される前方及び俯瞰の
シミュレーション画面のデータを記憶している磁気ディ
スク、光ディスク、ROM等のメモリ73,74を備
え、これらのメモリ73,74は、例えば、飛び立つ位
置(山の頂上等)から、その山の周辺乃至近隣の風景で
あって、広い範囲に亘って模擬的に作成されたデータを
記憶している。
【0035】上記シミュレーション画面の中には、固定
キャラクタである、例えば、図5及び図6に示すような
ポリゴン地形PTを含んでいる。このポリゴン地形PT
は、飛行の始点である飛び立った山、他の山、地面等を
含んでおり、メモリ73,74は、これらの飛行の障害
物となる固定キャラクタをそれぞれ必要数のポリゴンに
分割し、各ポリゴンの各頂点座標と、これに張り付ける
テクスチャとを対応付けて記憶している。すなわち、図
5はポリゴン地形を上から眺めた図、図6はその地形を
斜めから眺めた図であり、ポリゴン地形PTは縦横に配
列された複数のブロック(フォント)PB単位で構成さ
れており、各ブロックPB内には三角形からなる複数の
ポリゴンPLが配置されている。各ブロックPBは、例
えば、一辺が4096(x,z座標)の正方形となって
いる。
【0036】また、メモリ73は、上記固定キャラクタ
の他に、移動キャラクタであるハンググライダを構成す
る必要数のポリゴンの各頂点座標と、これに張り付ける
テクスチャとを対応付けて記憶している。CPU70
は、プレイヤーによる操作等に応じたハンググライダの
画像データをメモリ73から読み出し、ハンググライダ
の、例えば直ぐ後方の位置を視点とした映像を前方モニ
タ61に映し出す。ハンググライダは、プレイヤーの操
作により、例えば、図5及び図6に示すポリゴン地形P
Tの谷間を縫って山腹や地面に接触したり衝突したりし
ないようにして飛行する。
【0037】CPU70は、操作桿3の操作量を検出す
る回動量センサ44、及び載置部5の足置き台52の操
作量を検出する回動量センサ59からの検出電圧に基づ
いて現在のプレイヤーの視点と視線方向とを算出する手
段を有する。すなわち、CPU70は、操作桿3が基準
位置にあるときの回動量センサ44、及び載置部5が基
準位置にあるときの回動量センサ59からの検出電圧を
それぞれ基準電圧とし、これら基準電圧との差電圧分を
操作量として算出する操作量算出部701、この操作量
算出部701により算出された2つのデータから直前に
算出されたプレイヤーの視点と視線位置に対する変化量
を求める変化量算出部702、及び変化量を直前のプレ
イヤーの視点と視線方向とにそれぞれ加減算する加減算
部703を有する。かかる演算を1/60秒周期毎に実
行して各データを取り込むことで、プレイヤーの視点と
視線方向とを連続的に得るようにしている。なお、視点
は、プレイヤーの飛行高度に対応し、視線方向は、飛び
立った時の方向に対する現在の相対方向に対応してい
る。
【0038】また、CPU70は、得られた視点データ
と視線方向データとから、各モニタ6画面に表示される
ポリゴンの表示位置、大きさ及び回転角度データを算出
するポリゴン演算部704、それぞれのメモリ73,7
4から読み出された上記ポリゴンに上記データを当ては
めて演算した後、演算後のポリゴンにテクスチャを張り
付け、それぞれの表示メモリ75,77に陰面処理を施
しながらマッピング処理を行う画像処理部705を有す
る。また、CPU70は、ポリゴン演算部704で算出
されたポリゴンの表示位置等からハンググライダが上記
障害物に接触ないし衝突したか否かを判別するデータ判
別部706を有する。
【0039】表示駆動手段76は、表示メモリ75に書
き込まれたハンググライダを含む前方のシミュレーショ
ン画像を、例えば1/60秒の周期で読み出して前方モ
ニタ61に出力し、表示駆動手段78は、表示メモリ7
7に書き込まれた俯瞰のシミュレーション画像を、例え
ば1/60秒の周期で読み出して俯瞰モニタ62に出力
する。
【0040】この結果、操作桿3や載置部5が基準位置
から操作されることで、周期的に得られるプレイヤーの
視点と視線方向に基づく前方のシミュレーション画像お
よび俯瞰のシミュレーション画像が上記操作に応じて左
右、上下方向にスクロールされる。このように表示され
る画面を疑似3次元画像とすることで、上昇、下降、旋
回等した場合に、あるいは障害物自体の向きの変化等に
よっても、この障害物を3次元的に不自然さなく表示す
ることができると共に、より臨場感を醸し出すことがで
き、少ないメモリ容量で、多数の画像を高速で表示させ
ることが可能となる。
【0041】なお、操作桿3及び載置部5に対する操作
に応じたモニタ6画像のスクロール表示は次の通りとな
る。すなわち、操作桿3が前方に操作されると、プレイ
ヤーは上昇することになるので、前方モニタ61に表示
されているハンググライダを除く前方シミュレーション
画像が下方にスクロールするとともに、俯瞰モニタ62
に表示されている俯瞰シミュレーション画像はより小さ
くなる。逆に、操作桿3が後方に操作されると、プレイ
ヤーは下降することになるので、前方モニタ61に表示
されている前方シミュレーション画像が上方にスクロー
ルするとともに、俯瞰モニタ62に表示されている俯瞰
シミュレーション画像はより大きくなる。
【0042】また、載置部5が右側に操作されると、プ
レイヤーは右方に旋回することになるので、前方モニタ
61に表示されているハンググライダを除く前方シミュ
レーション画像が旋回と同期して左方にスクロールする
とともに、俯瞰モニタ62に表示されている俯瞰シミュ
レーション画像は同一の大きさを保ったまま同様に左方
に回転及びスクロールする。逆に、載置部5が左側に操
作されると、プレイヤーは左方に旋回することになるの
で、前方モニタ61に表示されているハンググライダを
除く前方シミュレーション画像が旋回と同期して右方に
スクロールするとともに、俯瞰モニタ62に表示されて
いる俯瞰シミュレーション画像は同一の大きさを保った
まま同様に右方に回転及びスクロールする。また、操作
桿3および載置部5が同時に操作されているときは、夫
々のモニタ6に表示される画像はハンググライダを除き
斜め方向にスクロールすることとなる。
【0043】次に、ハンググライダが上記障害物に接触
ないし衝突したかどうかの判別方法について、図7に示
すフローチャートと共に説明する。
【0044】まず、ハンググライダにおける特定の点
(例えば、ハンググライダに乗っている人物像の腰)P
((Px,Py,Pz)で示す。)がx−z平面において
対応するポリゴン地形を形成しているブロックPB(す
なわち、点Pの真下に位置するブロックPB)を特定す
る(ステップS1)。これは、点Pのx−z平面座標の
各値Px,PzをブロックPBの一辺の長さ4096で割
った商によって特定することができる。なお、点Pの位
置は、プレイヤーによる操作桿3等の操作に応じて制御
部7で常に検出されている。
【0045】次いで、ステップS1で特定されたブロッ
クPB内に配置されている複数のポリゴンPLの内、点
Pがx−z平面において対応するポリゴンPL(すなわ
ち、点Pの直下に位置するポリゴンPL)を特定する
(ステップS2)。これは、次のようにして特定するこ
とができる。すなわち、図8に示すように、ポリゴンP
Lを△OABなる三角形とする。この△OABと点Pと
の関係は、基準頂点OからPに向かうベクトルをpと
し、基準頂点Oから他の頂点Aに向かうベクトルをa、
基準頂点Oから他の頂点Bに向かうベクトルをbとする
と共に、s,tをそれぞれ係数とすると、p=(s×
a)+(t×b)の式で表すことができる。この式にお
いて、s≧0,t≧0及びs+t≦1の3つの条件を満
足するとき、点Pは△OABの周ないし内部に存在する
ことになる。従って、上記3つの条件を満足するポリゴ
ンを求めればよい。
【0046】なお、上記s,tは、aのx軸方向の成分
をax、z軸方向の成分をazとし、bのx軸方向の成分
をbx、z軸方向の成分をbzとすると、それぞれ数1に
より与えられる。
【0047】
【数1】
【0048】ここで、s,tが上記3つの条件を満たす
には、SIGN()×SIGN()≧0,SIGN
()×SIGN()≧0,ABS(+)≦AB
S()を満たしているかどうかを判別すればよいの
で、計算を簡略化することができる。なお、SIGN
()は上記数1におけるsの分子側の正負の符号、S
IGN()は上記数1におけるsの分母側の正負の符
号、SIGN()は上記数1におけるtの分子側の正
負の符号、SIGN()は上記数1におけるtの分母
側の正負の符号をそれぞれ示し、ABS(+)は上
記数1におけるsの分子側とtの分子側の各式を加算し
た絶対値、ABS()は上記数1におけるsの分母側
の絶対値をそれぞれ示している。
【0049】次いで、ステップS2で特定されたポリゴ
ンPLの持つ法線ベクトルnと△OABの基準頂点Oと
から、点Pと上記特定されたポリゴンPLの平面との距
離yを算出する(ステップS3)。すなわち、距離y
は、法線ベクトルnを(nx,ny,nz)とし、基準頂
点Oを(Ox,Oy,Oz)とすると、y=nx(Px
x)+ny(Py−Oy)+nz(Pz−Oz)の式から求
めることができる。なお、法線ベクトルnは、各ポリゴ
ンについてテーブルに記憶させておいてもよいし、△O
ABの各頂点座標から求めるようにしてもよい。また、
上記式において、基準頂点Oの代わりに、ポリゴンPL
を含む平面上の任意の点を点Oとして用いることもでき
る。上記ステップS1,S2及びS3の処理は上記ポリ
ゴン演算部704で実行される。
【0050】次いで、ステップS3で求めた距離yが負
かどうかを判定する(ステップS4)。判定が肯定され
ると、点P、すなわち、ハンググライダが障害物に接触
ないし衝突したと判別されて当り信号が出力され(ステ
ップS5)、判定が否定されると、ハンググライダが障
害物に接触ないし衝突していないと判別されて不当り信
号が出力される(ステップS6)。当り信号が出力され
たときは、プレイヤーの操作桿3等の操作とは無関係に
ハンググライダを着地ないしバウンドさせる等の画像処
理が行われ、不当り信号が出力されたときは、プレイヤ
ーの操作桿3等の操作に応じた飛行処理が継続される。
上記ステップS4,S5及びS6の処理は上記データ判
別部706で実行される。
【0051】なお、当り信号が出力されているにもかか
わらず、プレイヤーが継続して下方への操作を行ってい
る場合が考えられるが、このときは回動量センサ44の
降下指示量分だけy軸方向の位置をかさ上げし、ポリゴ
ンより下方(地中等)に埋没するような不都合が生じな
いようにしている。
【0052】また、ステップS3で距離yを算出する代
わりに、次のような方法によってもハンググライダが障
害物に接触ないし衝突したか否かを判定することができ
る。すなわち、ポリゴンPLの△OABの平面は、ax
+by+cz=dの式で表すことができるので、点Pの
座標値Px,Pzを上記式のx,zに代入して△OAB平
面上のyの値を算出する。そして、点Pの座標値P
yが、算出した△OAB平面上のyの値と一致している
場合にハンググライダは障害物に接触ないし衝突したと
判定する一方、Py−yの値が正の場合はハンググライ
ダは障害物に接触ないし衝突していないと判定する。す
なわち、△OAB平面上のyの値を算出することは実質
的に上記距離y(=Py−y)の値を算出することと等
価であるといえるので、本発明においては、△OAB平
面のyの値の算出を距離yの値の算出と同一に扱う。
【0053】また、ポリゴンPLの形状は三角形に限ら
ず、四角形等の他の多角形状であってもよい。また、ハ
ンググライダの特定の点Pは、ハンググライダに乗って
いる人物像の腰の位置に代えて、ハンググライダの翼の
両端に設定するようにしたり、人物像の腰とハンググラ
イダの翼の両端とに設定したりすることができる。この
ように、特定の点Pを複数箇所に設定すると、実際のハ
ンググライダの操縦により近い状態で接触等の判定を行
うことができる。
【0054】また、本発明に係るキャラクタ間の距離算
出方法及びその装置は、移動キャラクタと固定キャラク
タとの当り判定以外の種々の目的にも適用が可能であ
り、さらには、ゲーム装置だけではなく、訓練装置等の
シミュレータにも適用することが可能である。従って、
本発明においてはゲーム装置も含めてシミュレータと呼
ぶ。
【0055】
【発明の効果】以上のように、請求項1乃至3のキャラ
クタ間の距離算出方法によれば、移動キャラクタと平面
座標において対向する位置のブロックを特定する第1の
ステップと、ブロック内に配置されている複数のポリゴ
ンのうち、移動キャラクタの平面座標点を含むポリゴン
を特定する第2のステップと、移動キャラクタと特定さ
れたポリゴンとの距離を算出する第3のステップとを備
えているので、移動キャラクタと、固定キャラクタを形
成する複数のポリゴンの中の移動キャラクタと対応する
ポリゴンとの距離を算出することができるようになる結
果、移動キャラクタと固定キャラクタとの当り判定を正
確に行うことができる。
【0056】また、第1のステップにより特定されるブ
ロックは、移動キャラクタの平面座標値をブロックの一
辺の長さで割った商により求めるものであるので、移動
キャラクタと対応する位置のポリゴンを特定するにあた
り、固定キャラクタを形成しているすべてのポリゴンに
ついて移動キャラクタと対応するものかどうかを調べる
必要がなくなる結果、移動キャラクタと対応する位置の
ポリゴンを短時間で特定することができる。
【0057】また、請求項4乃至6のキャラクタ間の距
離算出装置によれば、移動キャラクタと平面座標におい
て対向する位置のブロックを特定する第1の手段と、ブ
ロック内に配置されている複数のポリゴンのうち、移動
キャラクタの平面座標点を含むポリゴンを特定する第2
の手段と、移動キャラクタと特定されたポリゴンとの距
離を算出する第3の手段とを備えているので、移動キャ
ラクタと、固定キャラクタを形成する複数のポリゴンの
うちの移動キャラクタと対応するポリゴンとの距離を算
出することができるようになる結果、移動キャラクタと
固定キャラクタとの当り判定を正確に行うことができ
る。
【0058】また、第1の手段により特定されるブロッ
クは、移動キャラクタの平面座標値をブロックの一辺の
長さで割った商により求めるものであるので、移動キャ
ラクタと対応する位置のポリゴンを特定するにあたり、
固定キャラクタを形成しているすべてのポリゴンについ
て移動キャラクタと対応するものかどうかを調べる必要
がなくなる結果、移動キャラクタと対応する位置のポリ
ゴンを短時間で特定することができる。
【0059】また、請求項7及び8の発明によれば、移
動キャラクタと固定キャラクタとが擬似3次元で表示さ
れるモニタと、プレイヤーにより操作可能な操作手段
と、操作手段による操作に応じた操作量を検出する検出
手段と、検出手段からの信号により移動キャラクタのモ
ニタ画面上での位置を算出する算出手段と、請求項4乃
至6のいずれかに記載のキャラクタ間の距離算出装置と
を備えているので、移動キャラクタと固体キャラクタと
の当り判定を正確に行うことができるようになる結果、
プレイヤーに違和感を与えることがなくなり、よりリア
リティの高いシミュレータを実現することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態であるキャラクタ間の距離
算出方法及び装置が適用された飛行シミュレーションゲ
ーム装置がどのような模擬ゲームであるかを説明するた
めの図である。
【図2】図1で説明した飛行シミュレーションゲーム装
置におけるハンググライダの飛行経路の一例を示す図で
ある。
【図3】本発明の一実施形態であるキャラクタ間の距離
算出方法及び装置が適用された飛行シミュレーションゲ
ーム装置の内部構造を示す斜視図である。
【図4】図3に示す飛行シミュレーションゲーム装置の
制御系を示す図である。
【図5】ポリゴン地形の一例を示し、そのポリゴン地形
を上から眺めた図である。
【図6】図5に示すポリゴン地形を斜めから眺めた図で
ある。
【図7】移動キャラクタであるハンググライダが固定キ
ャラクタである障害物に接触ないし衝突したかどうかの
判別方法を説明するためのフローチャートである。
【図8】ハンググライダの特定点と三角形からなるポリ
ゴンとの位置関係を説明するための図である。
【符号の説明】
1 ゲーム装置 3 操作桿(操作手段) 5 載置部(操作手段) 6 モニタ 701 操作量演算部(検出手段) 702 変化量演算部(検出手段) 703 加減算部(算出手段) 704 ポリゴン演算部(第1の手段、第2の手段、第
3の手段) PT ポリゴン地形 PB ブロック PL ポリゴン
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 15/00 - 17/50 A63F 13/00 G09B 9/00

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 モニタ画面内に作成される擬似3次元空
    間上の移動キャラクタと、縦横に配列された複数のブロ
    ックからなり、各ブロック内に多角形状を有するポリゴ
    ンが複数配置されて構成された固定キャラクタとの距離
    を算出する方法であって、 前記移動キャラクタと平面座標において対向する位置の
    ブロックを特定する第1のステップと、前記ブロック内
    に配置されている複数のポリゴンのうち、前記移動キャ
    ラクタの平面座標点を含むポリゴンを特定する第2のス
    テップと、前記移動キャラクタと前記特定されたポリゴ
    ンとの距離を算出する第3のステップとを備え、 前記第1のステップにより特定されるブロックは、前記
    移動キャラクタの平面座標値を前記ブロックの一辺の長
    さで割った商により求めるものであることを特徴とする
    キャラクタ間の距離算出方法。
  2. 【請求項2】 前記第2のステップにより特定されるポ
    リゴンは、三角形からなるものであり、p=(s×a)
    +(t×b)の式において、s≧0,t≧0及びs+t
    ≦1の条件を満足するものであることを特徴とする請求
    項1記載のキャラクタ間の距離算出方法。但し、pは、
    平面座標におけるポリゴンの基準頂点から移動キャラク
    タの平面座標点に向かうベクトル。a及びbは、ポリゴ
    ンの基準頂点から他の頂点を定義するベクトル。s及び
    tは、前記ベクトルa及びbの係数。
  3. 【請求項3】 前記第3のステップにより算出される移
    動キャラクタとポリゴンとの間の距離yは、y=n
    x(Px−Ox)+ny(Py−Oy)+nz(Pz−O z)の
    式から求めるものであることを特徴とする請求項1又は
    2記載のキャラクタ間の距離算出方法。但し、nx
    y,nzは、ポリゴンの持つ法線ベクトルnのx,y,
    z軸方向の成分。Px,Py,Pzは、移動キャラクタの
    位置Pのx,y,z軸の各座標値。Ox,Oy,Ozは、
    ポリゴンを含む平面上の所定の点Oのx,y,z軸の各
    座標値。
  4. 【請求項4】 モニタ画面内に作成される擬似3次元空
    間上の移動キャラクタと、縦横に配列された複数のブロ
    ックからなり、各ブロック内に多角形状を有するポリゴ
    ンが複数配置されて構成された固定キャラクタとの距離
    を算出する装置であって、 前記移動キャラクタと平面座標において対向する位置の
    ブロックを特定する第1の手段と、前記ブロック内に配
    置されている複数のポリゴンのうち、前記移動キャラク
    タの平面座標点を含むポリゴンを特定する第2の手段
    と、前記移動キャラクタと前記特定されたポリゴンとの
    距離を算出する第3の手段とを備え、 前記第1の手段により特定されるブロックは、前記移動
    キャラクタの平面座標値を前記ブロックの一辺の長さで
    割った商により求めるものであることを特徴とするキャ
    ラクタ間の距離算出装置。
  5. 【請求項5】 前記第2の手段により特定されるポリゴ
    ンは、三角形からなるものであり、p=(s×a)+
    (t×b)の式において、s≧0,t≧0及びs+t≦
    1の条件を満足するものであることを特徴とする請求項
    4記載のキャラクタ間の距離算出装置。但し、pは、平
    面座標におけるポリゴンの基準頂点から移動キャラクタ
    の平面座標点に向かうベクトル。a及びbは、ポリゴン
    の基準頂点から他の頂点を定義するベクトル。s及びt
    は、前記ベクトルa及びbの係数。
  6. 【請求項6】 前記第3の手段により算出される移動キ
    ャラクタとポリゴンとの間の距離yは、y=nx(Px
    x)+ny(Py−Oy)+nz(Pz−Oz)の式から求
    めるものであることを特徴とする請求項4又は5記載の
    キャラクタ間の距離算出装置。但し、nx,ny,n
    zは、ポリゴンの持つ法線ベクトルnのx,y,z軸方
    向の成分。Px,Py,Pzは、移動キャラクタの位置P
    のx,y,z軸の各座標値。Ox,Oy,Ozは、ポリゴ
    ンを含む平面上の所定の点Oのx,y,z軸の各座標
    値。
  7. 【請求項7】 移動キャラクタと固定キャラクタとが擬
    似3次元で表示されるモニタと、プレイヤーにより操作
    可能な操作手段と、前記操作手段による操作に応じた操
    作量を検出する検出手段と、前記検出手段からの信号に
    より前記移動キャラクタのモニタ画面上での位置を算出
    する算出手段と、請求項4乃至6のいずれかに記載のキ
    ャラクタ間の距離算出装置とを備えてなるシミュレー
    タ。
  8. 【請求項8】 前記移動キャラクタは飛行体であり、前
    記操作手段は少なくとも高度成分に対する可変操作が可
    能にされたものであることを特徴とする請求項7記載の
    シミュレータ。
JP2000134985A 1997-02-18 2000-05-08 キャラクタ間の距離算出方法、その装置及びシミュレータ Expired - Fee Related JP3398120B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000134985A JP3398120B2 (ja) 1997-02-18 2000-05-08 キャラクタ間の距離算出方法、その装置及びシミュレータ

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP9050962A JP2774795B1 (ja) 1997-02-18 1997-02-18 ポリゴンの張付け方法、その装置及びシミュレータ
JP2000134985A JP3398120B2 (ja) 1997-02-18 2000-05-08 キャラクタ間の距離算出方法、その装置及びシミュレータ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP09034162A Division JP3103316B2 (ja) 1997-02-18 1997-02-18 キャラクタ間の距離算出方法、その装置及びシミュレータ

Publications (2)

Publication Number Publication Date
JP2001005982A JP2001005982A (ja) 2001-01-12
JP3398120B2 true JP3398120B2 (ja) 2003-04-21

Family

ID=26391466

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000134985A Expired - Fee Related JP3398120B2 (ja) 1997-02-18 2000-05-08 キャラクタ間の距離算出方法、その装置及びシミュレータ

Country Status (1)

Country Link
JP (1) JP3398120B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110660121B (zh) * 2019-08-22 2022-04-05 稿定(厦门)科技有限公司 三维字体渲染方法、介质、设备及装置

Also Published As

Publication number Publication date
JP2001005982A (ja) 2001-01-12

Similar Documents

Publication Publication Date Title
JP3017948B2 (ja) 飛行シミュレーションゲーム装置
EP0836873B1 (en) Game machine, its processing method and recording medium
US6657627B1 (en) Video simulation system for calculating distance between characters and applying polygon to polygon plane
KR100584706B1 (ko) 화상 처리 시스템 및 화상 처리 방법
US6222546B1 (en) Image processing device, image processing method, game device, and craft simulator
JP5410710B2 (ja) プログラム、情報記憶媒体、ゲームシステム
US10661181B2 (en) Simulation system and game system
JP4045513B2 (ja) 画像処理装置、画像処理方法、ゲーム装置及び乗り物遊戯機
EP0859338B1 (en) Apparatus for and method of displaying pseudo-three-dimensional image
JP4344080B2 (ja) フライトシミュレータ装置
JP3398120B2 (ja) キャラクタ間の距離算出方法、その装置及びシミュレータ
JP4558399B2 (ja) 遊戯装置
JP3103316B2 (ja) キャラクタ間の距離算出方法、その装置及びシミュレータ
JP2774795B1 (ja) ポリゴンの張付け方法、その装置及びシミュレータ
JP3753339B2 (ja) 3次元シミュレータ装置
KR102328405B1 (ko) 날으는 체감이 증대된 4d vr시뮬레이터
KR100584656B1 (ko) 항공기 시뮬레이션 장치 및 그 방법
JPH08329273A (ja) 画像処理装置及びこれを備えたゲーム装置
KR200361221Y1 (ko) 항공기 시뮬레이션 장치
JPH10326072A (ja) シミュレーション装置
CN205121732U (zh) 一种全方位运动弹跳感应机构
JPH1115367A (ja) シミュレーション装置及びシミュレーション装置の揺動方法
CN105243757A (zh) 一种全方位运动弹跳感应机构

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

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

Free format text: PAYMENT UNTIL: 20090214

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090214

Year of fee payment: 6

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

Year of fee payment: 6

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

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100214

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110214

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110214

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120214

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130214

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20140214

Year of fee payment: 11

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees