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
Links
Landscapes
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Description
成される擬似3次元空間上の移動キャラクタと、多角形
状を有するポリゴンを複数組み合わせて形成された固定
キャラクタとの距離を算出するキャラクタ間の距離算出
方法、その算出方法を実施する装置及びこれを用いたシ
ミュレータに関する。
を擬似3次元空間で表示するようにした種々のビデオゲ
ーム装置が普及している。かかるビデオゲーム装置にお
いて、例えば、空中を飛行する飛行体等の移動キャラク
タが山や地面等の固定キャラクタに接触ないし衝突した
か否かを判定する当り判定はゲームの興趣性を増大させ
る上で必要不可欠のものである。従来、かかる当り判定
は、移動キャラクタの画像データと、山や地面等の固定
キャラクタの画像データとを大まかに比較することによ
り行うようになっていた。
ビデオゲーム装置において、データの高速処理化、モニ
タ画面上における表示画像の高鮮明度化等が要求されて
おり、それに伴って移動キャラクタと固定キャラクタと
の接近状況までもが明確に表示されるようになると、従
来のような大まかな処理では、実際には移動キャラクタ
が固定キャラクタと接触ないし衝突していないにもかか
わらず当りと判定されたり、移動キャラクタが固定キャ
ラクタと接触ないし衝突しているにもかかわらず不当り
と判定されたりしてプレイヤーに違和感を与える虞が生
じるという問題がある。なお、このような問題は、ゲー
ム装置だけではなく、種々のシミュレータにも生じる。
と固定キャラクタとの当り判定を正確に行うことを可能
とするものであって、モニタ画面内に作成される擬似3
次元空間上の移動キャラクタと固定キャラクタとの距離
を算出するキャラクタ間の距離算出方法、その算出方法
を実施する装置及びそれを用いたシミュレータを提供す
ることを目的とする。
め、請求項1に係るキャラクタ間の距離算出方法は、モ
ニタ画面内に作成される擬似3次元空間上の移動キャラ
クタと、縦横に配列された複数のブロックからなり、各
ブロック内に多角形状を有するポリゴンが複数配置され
て構成された固定キャラクタとの距離を算出する方法で
あって、前記移動キャラクタと平面座標において対向す
る位置のブロックを特定する第1のステップと、前記ブ
ロック内に配置されている複数のポリゴンのうち、前記
移動キャラクタの平面座標点を含むポリゴンを特定する
第2のステップと、前記移動キャラクタと前記特定され
たポリゴンとの距離を算出する第3のステップとを備
え、前記第1のステップにより特定されるブロックは、
前記移動キャラクタの平面座標値を前記ブロックの一辺
の長さで割った商により求めるものであることを特徴と
している。
出方法では、移動キャラクタと平面座標において対向す
る位置のブロックが移動キャラクタの平面座標値をブロ
ックの一辺の長さで割った商により特定されると共に、
その後にそのブロック内に配置されている複数のポリゴ
ンのうち、移動キャラクタの平面座標点を含むポリゴン
が特定され、移動キャラクタと特定されたポリゴンとの
距離が算出される。
算出方法は、請求項1に係る方法において、前記第2の
ステップにより特定されるポリゴンは、三角形からなる
ものであり、p=(s×a)+(t×b)の式におい
て、s≧0,t≧0及びs+t≦1の条件を満足するも
のであることを特徴としている。但し、pは、平面座標
におけるポリゴンの基準頂点から移動キャラクタの平面
座標点に向かうベクトル。a及びbは、ポリゴンの基準
頂点から他の頂点を定義するベクトル。s及びtは、前
記ベクトルa及びbの係数。
出方法では、p=(s×a)+(t×b)の式に基づ
き、固定キャラクタを形成する複数のポリゴンのうちの
移動キャラクタに対向する位置のポリゴンが特定され
る。
算出方法は、請求項1又は2に係る方法において、前記
第3のステップにより算出される移動キャラクタとポリ
ゴンとの間の距離yは、y=nx(Px−Ox)+ny(P
y−Oy)+nz(Pz−Oz)の式から求めるものである
ことを特徴としている。但し、nx,ny,nzは、ポリ
ゴンの持つ法線ベクトルnのx,y,z軸方向の成分。
Px,Py,Pzは、移動キャラクタの位置Pのx,y,
z軸の各座標値。Ox,Oy,Ozは、ポリゴンを含む平
面上の所定の点Oのx,y,z軸の各座標値。
出方法では、y=nx(Px−Ox)+ny(Py−Oy)+
nz(Pz−Oz)の式に基づき、移動キャラクタと第2
のステップで特定されたポリゴンとの間の距離yが算出
される。
算出装置は、モニタ画面内に作成される擬似3次元空間
上の移動キャラクタと、縦横に配列された複数のブロッ
クからなり、各ブロック内に多角形状を有するポリゴン
が複数配置されて構成された固定キャラクタとの距離を
算出する装置であって、前記移動キャラクタと平面座標
において対向する位置のブロックを特定する第1の手段
と、前記ブロック内に配置されている複数のポリゴンの
うち、前記移動キャラクタの平面座標点を含むポリゴン
を特定する第2の手段と、前記移動キャラクタと前記特
定されたポリゴンとの距離を算出する第3の手段とを備
え、前記第1の手段により特定されるブロックは、前記
移動キャラクタの平面座標値を前記ブロックの一辺の長
さで割った商により求めるものであることを特徴として
いる。
出装置では、第1の手段により移動キャラクタと平面座
標において対向する位置のブロックが移動キャラクタの
平面座標値をブロックの一辺の長さで割った商により特
定されると共に、第2の手段によりそのブロック内に配
置されている複数のポリゴンのうち、移動キャラクタの
平面座標点を含むポリゴンが特定され、第3の手段によ
り移動キャラクタと特定されたポリゴンとの距離が算出
される。
算出装置は、請求項4に係るものにおいて、前記第2の
手段により特定されるポリゴンは、三角形からなるもの
であり、p=(s×a)+(t×b)の式において、s
≧0,t≧0及びs+t≦1の条件を満足するものであ
ることを特徴としている。但し、pは、平面座標におけ
るポリゴンの基準頂点から移動キャラクタの平面座標点
に向かうベクトル。a及びbは、ポリゴンの基準頂点か
ら他の頂点を定義するベクトル。s及びtは、前記ベク
トルa及びbの係数。
出装置では、第2の手段により、p=(s×a)+(t
×b)の式に基づいて固定キャラクタを形成する複数の
ポリゴンのうちの移動キャラクタに対向する位置のポリ
ゴンが特定される。
算出装置は、請求項4又は5に係るものにおいて、前記
第3の手段により算出される移動キャラクタとポリゴン
との間の距離yは、y=nx(Px−Ox)+ny(Py−
Oy)+nz(Pz−Oz)の式から求めるものであること
を特徴としている。但し、nx,ny,nzは、ポリゴン
の持つ法線ベクトルnのx,y,z軸方向の成分。
Px,Py,Pzは、移動キャラクタの位置Pのx,y,
z軸の各座標値。Ox,Oy,Ozは、ポリゴンを含む平
面上の所定の点Oのx,y,z軸の各座標値。
出装置では、第3の手段により、y=nx(Px−Ox)
+ny(Py−Oy)+nz(Pz−Oz)の式に基づいて移
動キャラクタと第2の手段により特定されたポリゴンと
の間の距離yが算出される。
動キャラクタと固定キャラクタとが擬似3次元で表示さ
れるモニタと、プレイヤーにより操作可能な操作手段
と、前記操作手段による操作に応じた操作量を検出する
検出手段と、前記検出手段からの信号により前記移動キ
ャラクタのモニタ画面上での位置を算出する算出手段
と、請求項4乃至6のいずれかに記載のキャラクタ間の
距離算出装置とを備えたことを特徴としている。
ニタに移動キャラクタと固定キャラクタとが表示され、
プレイヤーが操作手段を操作することによって移動キャ
ラクタが移動される。そして、移動した移動キャラクタ
の位置が算出されると共に、その移動キャラクタと対向
する位置の固定キャラクタを形成するポリゴンとの距離
が算出される。
求項7に係るものにおいて、前記移動キャラクタは飛行
体であり、前記操作手段は少なくとも高度成分に対する
可変操作が可能にされたものであることを特徴としてい
る。
レイヤーが操作手段を操作することによってモニタ画面
上を飛行体が飛行する。
るキャラクタ間の距離算出方法及び装置が適用された飛
行シミュレーションゲーム装置を説明するための図であ
る。本実施形態においては、ゲーム装置は、飛行体とし
てハンググライダHを想定したものである。実際のハン
ググライダHは、平面視で二等辺三角形に近似した形状
を有し、フレームに張られた布製の三角翼H1を有して
いる。そして、三角翼H1の中央下部には飛行者Mを吊
持する吊持部材H2が設けられ、前方下部には水平方向
に延びる操作桿H3が設けられている。吊持部材H2に
支持された飛行者Mは、操作桿H3を操作することによ
り左右方向に旋回飛行することができ、吊持部材H2で
の体重の移動によっても方向転換や昇降をコントロール
し得るようになっている。
気流ゾーンや下降気流ゾーン、さらには乱気流ゾーン等
が存在し、ハンググライダHは上昇気流ゾーンで上昇す
ると共に、下降気流ゾーンで下降し、乱気流ゾーンにお
いては飛行状態が不安定になる。飛行者Mは、このよう
な飛行環境中をハンググライダHの操作桿H3を操りな
がら飛行することによって下方に展開する平野Nや湖L
等を俯瞰し、ときには側方に迫る山MTを避けたり、乱
気流ゾーン中で飛行テクニックをフルに発揮し、爽快な
飛行感を得ることになる。
及び装置が適用されたゲーム装置は、このようなハング
グライダHによる飛行体験を、モニタ画面上で模擬的に
楽しむものであり、そのためにゲーム装置は、プレイヤ
ーを上記吊持部材H2で吊持された姿勢に模擬的に保持
し得るように構成されると共に、図1に示すような前方
視界や下方視界が立体画像で映し出されるようになって
おり、しかもこの立体画像は、実際を模した飛行操作に
応じて変化し、これによって実際の飛行体験に近似した
体験が得られるようになされている。
グライダHは、図2に示すように、周囲の山や森林の存
在によって必然的に形成される曲折した飛行経路HKに
沿ってスタート地点STからゴール地点GRに向かって
飛行するようになっている。また、飛行経路HKは、複
数のパーツ(図2中の線で区画されたゾーン)に区分さ
れており、ハンググライダHがどのパーツを飛行してい
るかを検出ないしは監視することにより、そのパーツに
対応した視界が映し出されるようになっている。
クタ間の距離算出方法及び装置が適用された飛行シミュ
レーションゲーム装置の概略構成を示す図である。な
お、本明細書においては、図3に示すX−X方向を幅方
向、Y−Y方向を前後方向といい、特に−X方向を左
方、+X方向を右方、−Y方向を前方、+Y方向を後方
という。
上部後方に設けられた操作桿3と、この操作桿3を前後
方向に移動可能に支持する操作桿移動機構部4と、枠体
2の下部後方に設けられたプレイヤーの脚部を載置する
載置部5と、飛行のシミュレーション風景を画像表示す
るモニタ6と、このモニタ6の画像表示をスクロールす
る制御部7とを備えた基本構成を有している。
方向一対の基礎フレーム21と、これら基礎フレーム2
1に支持された側面視でL字形状の幅方向一対のL形フ
レーム22とを備えている。この各L形フレーム22
は、頂部同士が水平杆23により結合されて立設状態が
安定化するようになっている。
方向一対の中間フレーム24が設けられると共に、各L
形フレーム22の前後方向中央部より後方寄りの位置に
は上下方向に延びる幅方向一対の立設フレーム25が設
けられている。各立設フレーム25は、頂部の高さ位置
が水平杆23の高さ位置と同一になるように設定され、
各立設フレーム25の頂部と水平杆23の上面部とによ
って平面視で略正方形状の桝形フレーム26が支持され
ている。操作桿3、操作桿移動機構部4、載置部5、モ
ニタ6及び制御部7は、枠体2の内外に取り付けられ、
これによってゲーム装置1が形成されている。
に操作桿移動機構部4を介して前後方向に移動操作可能
となるように取り付けられている。操作桿3は、正面視
(載置部5から前方を見た状態)で略U字形状を呈し、
操作桿移動機構部4の両側部から下方に向かって斜めに
延びる左右一対の縦桿31と、これら縦桿31の下端部
間に配設された把持部32とからなっており、プレイヤ
ーはこの把持部32を両手で把持して前後方向に動かす
ことでゲームをプレイするようになっている。
26aに幅方向一対で設けられた軸受41と、これら軸
受41に自軸心回りに回動自在に軸支された水平軸42
と、この水平軸42の回動に対して抵抗力(付勢力)を
付与する付勢部材43と、水平軸42の左端部に設けら
れ、水平軸42の回動量を検出する可変抵抗器やポテン
ショメータ等の回動量センサ44とを備えている。操作
桿3の縦桿31上端部は水平軸42に一体に固定され、
把持部32を前後方向に操作することによって水平軸4
2が自軸心回りに回動するようになっている。
載置部フレーム51に取り付けられた足置き台52及び
腰支持台53と、載置部フレーム51を幅方向に左右に
移動させる載置部左右移動機構部54とを備えている。
足置き台52は、その水平面に対する傾斜角度がプレイ
ヤーが乗った状態で身体が少し前傾するように設定さ
れ、腰支持台53は、その水平面に対する傾斜角度がプ
レイヤーの前傾姿勢を脚部で支持し得る程度の急勾配と
なるように設定されている。
前方下部に箱型に組み付けられた内部フレーム27に支
持されており、載置部フレーム51を幅方向に左右に移
動させるための回動自在に支持された垂直軸55と、こ
の垂直軸55に取り付けられ、垂直軸55の回動に対し
て抵抗力(付勢力)を付与する付勢部材57とを備えて
いる。また、垂直軸55の上端には、足置き台52の揺
動量を検出するための可変抵抗器やポテンショメータ等
の回動量センサ59が配設されている。また、足置き台
52は、その下方に幅方向一対の図略のコイルスプリン
グが配設され、このコイルスプリングの付勢力によって
足置き台52の水平位置が維持される一方、プレイヤー
が左右いずれかの足に多くの体重をかけることよって左
右が上下に揺動するようになっている。
幅方向一対の立設フレーム25間に設けられた前方モニ
タ61と、前方モニタ61より下部の中間フレーム24
に設けられた俯瞰モニタ62とを備えている。前方モニ
タ61は、画面が後方に向いて略垂直に角度設定されて
いるとともに、俯瞰モニタ62は、画面が前上がりに斜
めに配置され、これによって、プレイヤーが足置き台5
2に乗って腰部を腰支持台53に預け、把持部32を把
持した状態で前方に視線を向けると前方モニタ61の画
面が目視でき、下に視線を移すと俯瞰モニタ62の画面
が目視できるようになっている。
設されており、図4に示すように、CPU70、モニタ
6への表示を制御するための制御プログラムを記憶する
ROM71、及び処理データを一時的に保存するRAM
72を有し、回動量センサ44、59からの検出信号に
応じて前方モニタ61及び俯瞰モニタ62に画像を表示
させるようになっている。また、制御部7は、前方モニ
タ61及び俯瞰モニタ62に表示される前方及び俯瞰の
シミュレーション画面のデータを記憶している磁気ディ
スク、光ディスク、ROM等のメモリ73,74を備
え、これらのメモリ73,74は、例えば、飛び立つ位
置(山の頂上等)から、その山の周辺乃至近隣の風景で
あって、広い範囲に亘って模擬的に作成されたデータを
記憶している。
キャラクタである、例えば、図5及び図6に示すような
ポリゴン地形PTを含んでいる。このポリゴン地形PT
は、飛行の始点である飛び立った山、他の山、地面等を
含んでおり、メモリ73,74は、これらの飛行の障害
物となる固定キャラクタをそれぞれ必要数のポリゴンに
分割し、各ポリゴンの各頂点座標と、これに張り付ける
テクスチャとを対応付けて記憶している。すなわち、図
5はポリゴン地形を上から眺めた図、図6はその地形を
斜めから眺めた図であり、ポリゴン地形PTは縦横に配
列された複数のブロック(フォント)PB単位で構成さ
れており、各ブロックPB内には三角形からなる複数の
ポリゴンPLが配置されている。各ブロックPBは、例
えば、一辺が4096(x,z座標)の正方形となって
いる。
の他に、移動キャラクタであるハンググライダを構成す
る必要数のポリゴンの各頂点座標と、これに張り付ける
テクスチャとを対応付けて記憶している。CPU70
は、プレイヤーによる操作等に応じたハンググライダの
画像データをメモリ73から読み出し、ハンググライダ
の、例えば直ぐ後方の位置を視点とした映像を前方モニ
タ61に映し出す。ハンググライダは、プレイヤーの操
作により、例えば、図5及び図6に示すポリゴン地形P
Tの谷間を縫って山腹や地面に接触したり衝突したりし
ないようにして飛行する。
る回動量センサ44、及び載置部5の足置き台52の操
作量を検出する回動量センサ59からの検出電圧に基づ
いて現在のプレイヤーの視点と視線方向とを算出する手
段を有する。すなわち、CPU70は、操作桿3が基準
位置にあるときの回動量センサ44、及び載置部5が基
準位置にあるときの回動量センサ59からの検出電圧を
それぞれ基準電圧とし、これら基準電圧との差電圧分を
操作量として算出する操作量算出部701、この操作量
算出部701により算出された2つのデータから直前に
算出されたプレイヤーの視点と視線位置に対する変化量
を求める変化量算出部702、及び変化量を直前のプレ
イヤーの視点と視線方向とにそれぞれ加減算する加減算
部703を有する。かかる演算を1/60秒周期毎に実
行して各データを取り込むことで、プレイヤーの視点と
視線方向とを連続的に得るようにしている。なお、視点
は、プレイヤーの飛行高度に対応し、視線方向は、飛び
立った時の方向に対する現在の相対方向に対応してい
る。
と視線方向データとから、各モニタ6画面に表示される
ポリゴンの表示位置、大きさ及び回転角度データを算出
するポリゴン演算部704、それぞれのメモリ73,7
4から読み出された上記ポリゴンに上記データを当ては
めて演算した後、演算後のポリゴンにテクスチャを張り
付け、それぞれの表示メモリ75,77に陰面処理を施
しながらマッピング処理を行う画像処理部705を有す
る。また、CPU70は、ポリゴン演算部704で算出
されたポリゴンの表示位置等からハンググライダが上記
障害物に接触ないし衝突したか否かを判別するデータ判
別部706を有する。
き込まれたハンググライダを含む前方のシミュレーショ
ン画像を、例えば1/60秒の周期で読み出して前方モ
ニタ61に出力し、表示駆動手段78は、表示メモリ7
7に書き込まれた俯瞰のシミュレーション画像を、例え
ば1/60秒の周期で読み出して俯瞰モニタ62に出力
する。
から操作されることで、周期的に得られるプレイヤーの
視点と視線方向に基づく前方のシミュレーション画像お
よび俯瞰のシミュレーション画像が上記操作に応じて左
右、上下方向にスクロールされる。このように表示され
る画面を疑似3次元画像とすることで、上昇、下降、旋
回等した場合に、あるいは障害物自体の向きの変化等に
よっても、この障害物を3次元的に不自然さなく表示す
ることができると共に、より臨場感を醸し出すことがで
き、少ないメモリ容量で、多数の画像を高速で表示させ
ることが可能となる。
に応じたモニタ6画像のスクロール表示は次の通りとな
る。すなわち、操作桿3が前方に操作されると、プレイ
ヤーは上昇することになるので、前方モニタ61に表示
されているハンググライダを除く前方シミュレーション
画像が下方にスクロールするとともに、俯瞰モニタ62
に表示されている俯瞰シミュレーション画像はより小さ
くなる。逆に、操作桿3が後方に操作されると、プレイ
ヤーは下降することになるので、前方モニタ61に表示
されている前方シミュレーション画像が上方にスクロー
ルするとともに、俯瞰モニタ62に表示されている俯瞰
シミュレーション画像はより大きくなる。
レイヤーは右方に旋回することになるので、前方モニタ
61に表示されているハンググライダを除く前方シミュ
レーション画像が旋回と同期して左方にスクロールする
とともに、俯瞰モニタ62に表示されている俯瞰シミュ
レーション画像は同一の大きさを保ったまま同様に左方
に回転及びスクロールする。逆に、載置部5が左側に操
作されると、プレイヤーは左方に旋回することになるの
で、前方モニタ61に表示されているハンググライダを
除く前方シミュレーション画像が旋回と同期して右方に
スクロールするとともに、俯瞰モニタ62に表示されて
いる俯瞰シミュレーション画像は同一の大きさを保った
まま同様に右方に回転及びスクロールする。また、操作
桿3および載置部5が同時に操作されているときは、夫
々のモニタ6に表示される画像はハンググライダを除き
斜め方向にスクロールすることとなる。
ないし衝突したかどうかの判別方法について、図7に示
すフローチャートと共に説明する。
(例えば、ハンググライダに乗っている人物像の腰)P
((Px,Py,Pz)で示す。)がx−z平面において
対応するポリゴン地形を形成しているブロックPB(す
なわち、点Pの真下に位置するブロックPB)を特定す
る(ステップS1)。これは、点Pのx−z平面座標の
各値Px,PzをブロックPBの一辺の長さ4096で割
った商によって特定することができる。なお、点Pの位
置は、プレイヤーによる操作桿3等の操作に応じて制御
部7で常に検出されている。
ク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つの条件を満足するポリゴ
ンを求めればよい。
をax、z軸方向の成分をazとし、bのx軸方向の成分
をbx、z軸方向の成分をbzとすると、それぞれ数1に
より与えられる。
には、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の分母側
の絶対値をそれぞれ示している。
ンPLの持つ法線ベクトルnと△OABの基準頂点Oと
から、点Pと上記特定されたポリゴンPLの平面との距
離yを算出する(ステップS3)。すなわち、距離y
は、法線ベクトルnを(nx,ny,nz)とし、基準頂
点Oを(Ox,Oy,Oz)とすると、y=nx(Px−
Ox)+ny(Py−Oy)+nz(Pz−Oz)の式から求
めることができる。なお、法線ベクトルnは、各ポリゴ
ンについてテーブルに記憶させておいてもよいし、△O
ABの各頂点座標から求めるようにしてもよい。また、
上記式において、基準頂点Oの代わりに、ポリゴンPL
を含む平面上の任意の点を点Oとして用いることもでき
る。上記ステップS1,S2及びS3の処理は上記ポリ
ゴン演算部704で実行される。
かどうかを判定する(ステップS4)。判定が肯定され
ると、点P、すなわち、ハンググライダが障害物に接触
ないし衝突したと判別されて当り信号が出力され(ステ
ップS5)、判定が否定されると、ハンググライダが障
害物に接触ないし衝突していないと判別されて不当り信
号が出力される(ステップS6)。当り信号が出力され
たときは、プレイヤーの操作桿3等の操作とは無関係に
ハンググライダを着地ないしバウンドさせる等の画像処
理が行われ、不当り信号が出力されたときは、プレイヤ
ーの操作桿3等の操作に応じた飛行処理が継続される。
上記ステップS4,S5及びS6の処理は上記データ判
別部706で実行される。
わらず、プレイヤーが継続して下方への操作を行ってい
る場合が考えられるが、このときは回動量センサ44の
降下指示量分だけ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の値の算出と同一に扱う。
ず、四角形等の他の多角形状であってもよい。また、ハ
ンググライダの特定の点Pは、ハンググライダに乗って
いる人物像の腰の位置に代えて、ハンググライダの翼の
両端に設定するようにしたり、人物像の腰とハンググラ
イダの翼の両端とに設定したりすることができる。この
ように、特定の点Pを複数箇所に設定すると、実際のハ
ンググライダの操縦により近い状態で接触等の判定を行
うことができる。
出方法及びその装置は、移動キャラクタと固定キャラク
タとの当り判定以外の種々の目的にも適用が可能であ
り、さらには、ゲーム装置だけではなく、訓練装置等の
シミュレータにも適用することが可能である。従って、
本発明においてはゲーム装置も含めてシミュレータと呼
ぶ。
クタ間の距離算出方法によれば、移動キャラクタと平面
座標において対向する位置のブロックを特定する第1の
ステップと、ブロック内に配置されている複数のポリゴ
ンのうち、移動キャラクタの平面座標点を含むポリゴン
を特定する第2のステップと、移動キャラクタと特定さ
れたポリゴンとの距離を算出する第3のステップとを備
えているので、移動キャラクタと、固定キャラクタを形
成する複数のポリゴンの中の移動キャラクタと対応する
ポリゴンとの距離を算出することができるようになる結
果、移動キャラクタと固定キャラクタとの当り判定を正
確に行うことができる。
ロックは、移動キャラクタの平面座標値をブロックの一
辺の長さで割った商により求めるものであるので、移動
キャラクタと対応する位置のポリゴンを特定するにあた
り、固定キャラクタを形成しているすべてのポリゴンに
ついて移動キャラクタと対応するものかどうかを調べる
必要がなくなる結果、移動キャラクタと対応する位置の
ポリゴンを短時間で特定することができる。
離算出装置によれば、移動キャラクタと平面座標におい
て対向する位置のブロックを特定する第1の手段と、ブ
ロック内に配置されている複数のポリゴンのうち、移動
キャラクタの平面座標点を含むポリゴンを特定する第2
の手段と、移動キャラクタと特定されたポリゴンとの距
離を算出する第3の手段とを備えているので、移動キャ
ラクタと、固定キャラクタを形成する複数のポリゴンの
うちの移動キャラクタと対応するポリゴンとの距離を算
出することができるようになる結果、移動キャラクタと
固定キャラクタとの当り判定を正確に行うことができ
る。
クは、移動キャラクタの平面座標値をブロックの一辺の
長さで割った商により求めるものであるので、移動キャ
ラクタと対応する位置のポリゴンを特定するにあたり、
固定キャラクタを形成しているすべてのポリゴンについ
て移動キャラクタと対応するものかどうかを調べる必要
がなくなる結果、移動キャラクタと対応する位置のポリ
ゴンを短時間で特定することができる。
動キャラクタと固定キャラクタとが擬似3次元で表示さ
れるモニタと、プレイヤーにより操作可能な操作手段
と、操作手段による操作に応じた操作量を検出する検出
手段と、検出手段からの信号により移動キャラクタのモ
ニタ画面上での位置を算出する算出手段と、請求項4乃
至6のいずれかに記載のキャラクタ間の距離算出装置と
を備えているので、移動キャラクタと固体キャラクタと
の当り判定を正確に行うことができるようになる結果、
プレイヤーに違和感を与えることがなくなり、よりリア
リティの高いシミュレータを実現することができる。
算出方法及び装置が適用された飛行シミュレーションゲ
ーム装置がどのような模擬ゲームであるかを説明するた
めの図である。
置におけるハンググライダの飛行経路の一例を示す図で
ある。
算出方法及び装置が適用された飛行シミュレーションゲ
ーム装置の内部構造を示す斜視図である。
制御系を示す図である。
を上から眺めた図である。
ある。
ャラクタである障害物に接触ないし衝突したかどうかの
判別方法を説明するためのフローチャートである。
ゴンとの位置関係を説明するための図である。
3の手段) PT ポリゴン地形 PB ブロック PL ポリゴン
Claims (8)
- 【請求項1】 モニタ画面内に作成される擬似3次元空
間上の移動キャラクタと、縦横に配列された複数のブロ
ックからなり、各ブロック内に多角形状を有するポリゴ
ンが複数配置されて構成された固定キャラクタとの距離
を算出する方法であって、 前記移動キャラクタと平面座標において対向する位置の
ブロックを特定する第1のステップと、前記ブロック内
に配置されている複数のポリゴンのうち、前記移動キャ
ラクタの平面座標点を含むポリゴンを特定する第2のス
テップと、前記移動キャラクタと前記特定されたポリゴ
ンとの距離を算出する第3のステップとを備え、 前記第1のステップにより特定されるブロックは、前記
移動キャラクタの平面座標値を前記ブロックの一辺の長
さで割った商により求めるものであることを特徴とする
キャラクタ間の距離算出方法。 - 【請求項2】 前記第2のステップにより特定されるポ
リゴンは、三角形からなるものであり、p=(s×a)
+(t×b)の式において、s≧0,t≧0及びs+t
≦1の条件を満足するものであることを特徴とする請求
項1記載のキャラクタ間の距離算出方法。但し、pは、
平面座標におけるポリゴンの基準頂点から移動キャラク
タの平面座標点に向かうベクトル。a及びbは、ポリゴ
ンの基準頂点から他の頂点を定義するベクトル。s及び
tは、前記ベクトルa及びbの係数。 - 【請求項3】 前記第3のステップにより算出される移
動キャラクタとポリゴンとの間の距離yは、y=n
x(Px−Ox)+ny(Py−Oy)+nz(Pz−O z)の
式から求めるものであることを特徴とする請求項1又は
2記載のキャラクタ間の距離算出方法。但し、nx,
ny,nzは、ポリゴンの持つ法線ベクトルnのx,y,
z軸方向の成分。Px,Py,Pzは、移動キャラクタの
位置Pのx,y,z軸の各座標値。Ox,Oy,Ozは、
ポリゴンを含む平面上の所定の点Oのx,y,z軸の各
座標値。 - 【請求項4】 モニタ画面内に作成される擬似3次元空
間上の移動キャラクタと、縦横に配列された複数のブロ
ックからなり、各ブロック内に多角形状を有するポリゴ
ンが複数配置されて構成された固定キャラクタとの距離
を算出する装置であって、 前記移動キャラクタと平面座標において対向する位置の
ブロックを特定する第1の手段と、前記ブロック内に配
置されている複数のポリゴンのうち、前記移動キャラク
タの平面座標点を含むポリゴンを特定する第2の手段
と、前記移動キャラクタと前記特定されたポリゴンとの
距離を算出する第3の手段とを備え、 前記第1の手段により特定されるブロックは、前記移動
キャラクタの平面座標値を前記ブロックの一辺の長さで
割った商により求めるものであることを特徴とするキャ
ラクタ間の距離算出装置。 - 【請求項5】 前記第2の手段により特定されるポリゴ
ンは、三角形からなるものであり、p=(s×a)+
(t×b)の式において、s≧0,t≧0及びs+t≦
1の条件を満足するものであることを特徴とする請求項
4記載のキャラクタ間の距離算出装置。但し、pは、平
面座標におけるポリゴンの基準頂点から移動キャラクタ
の平面座標点に向かうベクトル。a及びbは、ポリゴン
の基準頂点から他の頂点を定義するベクトル。s及びt
は、前記ベクトルa及びbの係数。 - 【請求項6】 前記第3の手段により算出される移動キ
ャラクタとポリゴンとの間の距離yは、y=nx(Px−
Ox)+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】 移動キャラクタと固定キャラクタとが擬
似3次元で表示されるモニタと、プレイヤーにより操作
可能な操作手段と、前記操作手段による操作に応じた操
作量を検出する検出手段と、前記検出手段からの信号に
より前記移動キャラクタのモニタ画面上での位置を算出
する算出手段と、請求項4乃至6のいずれかに記載のキ
ャラクタ間の距離算出装置とを備えてなるシミュレー
タ。 - 【請求項8】 前記移動キャラクタは飛行体であり、前
記操作手段は少なくとも高度成分に対する可変操作が可
能にされたものであることを特徴とする請求項7記載の
シミュレータ。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110660121B (zh) * | 2019-08-22 | 2022-04-05 | 稿定(厦门)科技有限公司 | 三维字体渲染方法、介质、设备及装置 |
-
2000
- 2000-05-08 JP JP2000134985A patent/JP3398120B2/ja not_active Expired - Fee Related
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 |