説明

ポリゴンの張付け方法、その装置及びシミュレータ

【課題】 地形等を形成するポリゴン平面に飛行体の影等のポリゴンを容易に張付けることができるようにする。
【解決手段】 モニタ画面内に作成される擬似3次元空間上のキャラクタを形成する多角形状を有するポリゴン平面において法線ベクトルを求める。次いで、上記ポリゴン平面に上記法線ベクトルを垂直方向とするローカル座標軸を設定し、上記法線ベクトルに直交する第1のベクトルを求める。そして、上記の法線ベクトルと第1のベクトルの両方に直交する第2のベクトルを求め、法線ベクトル,第1のベクトル及び第2のベクトルから回転行列を求める。この回転行列を用いて、地形等を形成するポリゴン平面に飛行体の影等のポリゴンを張付ける。

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、モニタ画面内に作成される擬似3次元空間上のキャラクタを形成する多角形状を有するポリゴン平面に、マークを形成するポリゴンを張付けるポリゴンの張付け方法、その方法を実施する装置及びその装置を用いたシミュレータに関する。
【0002】
【従来の技術】近年、複数のキャラクタをモニタ画面内に作成される擬似3次元上に表示するようにした種々のゲーム装置が普及している。かかるゲーム装置として、自動車レースの他、スキー、サーフィン、モータボート等を模擬したものが知られている。自動車やモーターボートを模擬したゲーム装置では、座席、ハンドル、アクセルとブレーキ等を備えている。スキーを模擬したゲーム装置では、足を乗せるボードと2本のスティックを備えており、サーフィンを模擬したゲーム装置では、足を乗せるボードを備えている。そして、プレイヤーは、それらの操作部材を操作してモニタ画面に表示される前方風景に含まれる競争相手を追い越したり、障害物(コンピュータで制御される車両、ボート等も含む)を巧みにかわすことで体感を味えるようになっている。
【0003】
【発明が解決しようとする課題】上記の地上や海上等の平面上で走行や滑走等をする模擬ゲーム装置に比べてより興趣を喚起するべく、飛行体をプレイヤーの操作によりモニタ画面内の擬似3次元空間において飛行させるようにした模擬ゲーム装置も考えられている。このような擬似3次元空間を飛行するようにしたものでは、地上等に例えば飛行体の影等が投影されるようにすると、より興趣性に富んだゲーム装置を実現することが可能となる。なお、同様のことが種々のシミュレータについてもいえる。
【0004】従って、本発明は、地形等のキャラクタを形成する多角形状を有するポリゴン上に、例えば飛行体の影等のポリゴンを容易に張付けることのできるポリゴンの張付け方法、その張付け方法を実施する装置及びこれを用いたシミュレータを提供することを目的とする。
【0005】
【課題を解決するための手段】上記目的を達成するため、請求項1に係るポリゴンの張付け方法は、モニタ画面内に作成される擬似3次元空間上のキャラクタを形成する多角形状を有するポリゴン平面に、マークを形成するポリゴンを回転行列を用いて張付けるポリゴンの張付け方法であって、前記ポリゴン平面の所定位置における法線ベクトルを求める第1のステップと、前記ポリゴン平面に含まれ、前記法線ベクトルに直交する第1のベクトルを求める第2のステップと、前記ポリゴン平面に含まれ、前記法線ベクトルと前記第1のベクトルの両方に直交する第2のベクトルを求める第3のステップと、前記法線ベクトル,第1のベクトル及び第2のベクトルから回転行列を求める第4のステップとを備えたことを特徴としている。
【0006】この請求項1に係るポリゴンの張付け方法では、第1のステップで対象となるポリゴン平面の所定位置における法線ベクトルが求められ、第2のステップで前記法線ベクトルに直交する第1のベクトルが求められる。また、第3のステップで前記法線ベクトルと前記第1のベクトルの両方に直交する第2のベクトルが求められ、第4のステップで前記法線ベクトル,第1のベクトル及び第2のベクトルから回転行列が求められる。そして、この回転行列を利用してマークを形成するポリゴンを上記対象となるポリゴン平面に優先して張付けられる。
【0007】また、請求項2に係るポリゴンの張付け方法は、請求項1に係る張付け方法において、前記第2のステップは、前記第1のベクトルを(Xx,Xy,Xz)で表し、前記ポリゴンを含む平面上の任意の2点を(Ax,Ay,Az)及び(Bx,By,Bz)で表したとき、Xx=Bx−Ax,Xy=By−Ay及びXz=Bz−Azとして求めるものであることを特徴としている。
【0008】この請求項2に係るポリゴンの張付け方法では、第1のベクトルは、そのベクトルを(Xx,Xy,Xz)で表し、ポリゴンを含む平面上の任意の2点を(Ax,Ay,Az)及び(Bx,By,Bz)で表したとき、Xx=Bx−Ax,Xy=By−Ay及びXz=Bz−Azとして求められる。
【0009】また、請求項3に係るポリゴンの張付け方法は、請求項2に係る張付け方法において、前記任意の2点は、前記ポリゴンの任意の2頂点であることを特徴としている。
【0010】この請求項3に係るポリゴンの張付け方法では、ポリゴンを含む平面上の任意の2点として前記ポリゴンの任意の2頂点が用いられる。
【0011】また、請求項4に係るポリゴンの張付け方法は、請求項2又は3に係る張付け方法において、前記第3のステップは、前記法線ベクトルを(nx,ny,nz)で表し、前記第2のベクトルを(Zx,Zy,Zz)で表すと、Zx=Xy×nz−Xz×ny,Zy=Xz×nx及びZz=Xx×ny−Xy×nxとして求めるものであることを特徴としている。
【0012】この請求項4に係るポリゴンの張付け方法では、第2のベクトルは、そのベクトルを(Zx,Zy,Zz)で表し、法線ベクトルを(nx,ny,nz)で表したとき、Zx=Xy×nz−Xz×ny,Zy=Xz×nx及びZz=Xx×ny−Xy×nxとして求められる。
【0013】また、請求項5に係るポリゴンの張付け方法は、請求項4に係る張付け方法において、前記第4のステップは、数2に示す行列とするものであることを特徴としている。
【0014】
【数2】


【0015】この請求項5に係るポリゴンの張付け方法では、上記法線ベクトル,第1のベクトル及び第2のベクトルから上記数2に示す回転行列が求められる。
【0016】また、請求項6に係るポリゴンの張付け方法は、請求項1乃至5のいずれかに係る張付け方法において、前記キャラクタは固定キャラクタであり、前記擬似3次元空間上にはさらに移動キャラクタが表示され、前記マークは前記移動キャラクタに関連するものであることを特徴としている。
【0017】この請求項6に係るポリゴンの張付け方法では、モニタ画面内に作成される擬似3次元空間に固定キャラクタと移動キャラクタとが表示されるものであり、固定キャラクタを形成するポリゴン平面に、移動キャラクタに関連するマークを形成するポリゴンが張付けられる。
【0018】また、請求項7に係るポリゴンの張付け方法は、請求項6に係る張付け方法において、前記マークは前記移動キャラクタの影であることを特徴としている。
【0019】この請求項7に係るポリゴンの張付け方法では、固定キャラクタを形成するポリゴン平面に、移動キャラクタの影を形成するポリゴンが張付けられる。
【0020】また、請求項8に係るポリゴンの張付け方法は、請求項6又は7に係る張付け方法において、前記ポリゴンは固定キャラクタを形成する複数のポリゴンの中の1つで、かつ、前記移動キャラクタ位置の平面座標点を含むものであって、前記法線ベクトルを求める前に前記ポリゴンを特定するステップを備えたことを特徴としている。
【0021】この請求項8に係るポリゴンの張付け方法では、法線ベクトルを求める前に、固定キャラクタを形成する複数のポリゴンの中の1つで、かつ、移動キャラクタ位置の平面座標点を含むポリゴンが特定される。
【0022】また、請求項9に係るポリゴンの張付け装置は、モニタ画面内に作成される擬似3次元空間上のキャラクタを形成する多角形状を有するポリゴン平面に、マークを形成するポリゴンを回転行列を用いて張付けるポリゴンの張付け装置であって、前記ポリゴン平面の所定位置における法線ベクトルを求める第1の手段と、前記ポリゴン平面に含まれ、前記法線ベクトルに直交する第1のベクトルを求める第2の手段と、前記ポリゴン平面に含まれ、前記法線ベクトルと前記第1のベクトルの両方に直交する第2のベクトルを求める第3の手段と、前記法線ベクトル,第1のベクトル及び第2のベクトルから回転行列を求める第4の手段とを備えたことを特徴としている。
【0023】この請求項9に係るポリゴンの張付け装置では、第1の手段でポリゴン平面の所定位置における法線ベクトルが求められ、第2の手段で前記法線ベクトルに直交する第1のベクトルが求められる。また、第3の手段で前記法線ベクトルと前記第1のベクトルの両方に直交する第2のベクトルが求められ、第4の手段で前記法線ベクトル,第1のベクトル及び第2のベクトルから回転行列が求められる。
【0024】また、請求項10に係るポリゴンの張付け装置は、請求項9に係る張付け装置において、前記キャラクタは固定キャラクタであり、前記擬似3次元空間上にはさらに移動キャラクタが表示され、前記マークは前記移動キャラクタに関連するものであることを特徴としている。
【0025】この請求項10に係るポリゴンの張付け装置では、モニタ画面内に作成される擬似3次元空間に固定キャラクタと移動キャラクタとが表示され、固定キャラクタを形成するポリゴン平面に、移動キャラクタに関連するマークを形成するポリゴンが張付けられる。
【0026】また、請求項11に係るシミュレータは、移動キャラクタと固定キャラクタとが擬似3次元で表示されるモニタと、プレイヤーにより操作可能な操作手段と、前記操作手段による操作に応じた操作量を検出する検出手段と、前記検出手段からの信号により前記移動キャラクタのモニタ画面上での位置を算出する算出手段と、請求項10記載のポリゴンの張付け装置を備えたことを特徴としている。
【0027】この請求項11に係るシミュレータでは、モニタ画面に移動キャラクタと固定キャラクタとが表示され、プレイヤーが操作手段を操作することによって移動キャラクタがモニタ画面内で移動する。そして、移動した移動キャラクタの位置が算出され、その移動キャラクタに関連するマークを形成するポリゴンが固定キャラクタを形成するポリゴン平面に張付けられる。
【0028】また、請求項12に係るシミュレータは、請求項11に係るシミュレータにおいて、前記移動キャラクタは飛行体であり、前記ポリゴンの張付け装置は前記飛行体に関連する影を形成するものであることを特徴としている。
【0029】この請求項12に係るシミュレータでは、モニタ画面上を飛行体が飛行し、その飛行体の影を形成するポリゴンが固定キャラクタを形成するポリゴン平面に張付けられる。
【0030】
【発明の実施の形態】図1は、本発明の一実施形態であるポリゴンの張付け方法及びその装置の適用された飛行シミュレーションゲーム装置がどのような状況を想定した模擬ゲームであるかを説明するための図である。本実施形態においては、ゲーム装置は、飛行体としてハンググライダHを想定したものである。実際のハンググライダHは、平面視で二等辺三角形に近似した形状を有し、フレームに張られた布製の三角翼H1を有している。そして、三角翼H1の中央下部には飛行者Mを吊持する吊持部材H2が設けられ、前方下部には水平方向に延びる操作桿H3が設けられている。吊持部材H2に支持された飛行者Mは、操作桿H3を操作することにより左右方向に旋回飛行することができ、吊持部材H2での体重の移動によっても方向転換や昇降をコントロールし得るようになっている。
【0031】実際の飛行環境においては、大気中に上昇気流ゾーンや下降気流ゾーン、さらには乱気流ゾーン等が存在し、ハンググライダHは上昇気流ゾーンで上昇すると共に、下降気流ゾーンで下降し、乱気流ゾーンにおいては飛行状態が不安定になる。飛行者Mは、このような飛行環境中をハンググライダHの操作桿H3を操りながら飛行することによって下方に展開する平野Nや湖L等を俯瞰し、ときには側方に迫る山MTを避けたり、乱気流ゾーン中で飛行テクニックをフルに発揮し、爽快な飛行感を得ることになる。
【0032】本発明に係るポリゴンの張付け方法及びその装置が適用されたゲーム装置は、このようなハンググライダHによる飛行体験を、モニタ画面上で模擬的に楽しむものであり、そのためにゲーム装置は、プレイヤーを上記吊持部材H2で吊持された姿勢に模擬的に保持し得るように構成されると共に、図1に示すような前方視界や下方視界が立体画像で映し出されるようになっており、しかもこの立体画像は、実際を模した飛行操作に応じて変化し、これによって実際の飛行体験に近似した体験が得られるようになされている。特に、このゲーム装置においては、ハンググライダHの影がモニタ画面に映し出され、プレイヤーはハンググライダだけではなく、この影も見ながらハンググライダを操作することが可能となる。
【0033】なお、このゲーム装置においては、ハンググライダHは、図2に示すように、周囲の山や森林の存在によって必然的に形成される曲折した飛行経路HKに沿ってスタート地点STからゴール地点GRに向かって飛行するようになっている。また、飛行経路HKは、複数のパーツ(図2中の線で区画されたゾーン)に区分されており、ハンググライダHがどのパーツを飛行しているかを検出ないしは監視することにより、そのパーツに対応した視界が映し出されるようになっている。
【0034】図3は、本発明の一実施形態であるポリゴンの張付け方法及びその装置が適用された飛行シミュレーションゲーム装置の概略構成を示す斜視図である。なお、本明細書においては、図3に示すX−X方向を幅方向、Y−Y方向を前後方向といい、特に−X方向を左方、+X方向を右方、−Y方向を前方、+Y方向を後方という。
【0035】ゲーム装置1は、枠体2と、この枠体2の上部後方に設けられた操作桿3と、この操作桿3を前後方向に移動可能に支持する操作桿移動機構部4と、枠体2の下部後方に設けられたプレイヤーの脚部を載置する載置部5と、飛行のシミュレーション風景を画像表示するモニタ6と、このモニタ6の画像表示をスクロールする制御部7とを備えた基本構成を有している。
【0036】枠体2は、フロアF上に据え付けられる幅方向一対の基礎フレーム21と、これら基礎フレーム21に支持された側面視でL字形状の幅方向一対のL形フレーム22とを備えている。この各L形フレーム22は、頂部同士が水平杆23により結合されて立設状態が安定化するようになっている。
【0037】また、各L形フレーム22の後方には、幅方向一対の中間フレーム24が設けられると共に、各L形フレーム22の前後方向中央部より後方寄りの位置には上下方向に延びる幅方向一対の立設フレーム25が設けられている。各立設フレーム25は、頂部の高さ位置が水平杆23の高さ位置と同一になるように設定され、各立設フレーム25の頂部と水平杆23の上面部とによって平面視で略正方形状の桝形フレーム26が支持されている。操作桿3、操作桿移動機構部4、載置部5、モニタ6及び制御部7は、枠体2の内外に取り付けられ、これによってゲーム装置1が構成されている。
【0038】操作桿3は、枠体2の操作桿支持板26aに操作桿移動機構部4を介して前後方向に移動操作可能となるように取り付けられている。操作桿3は、正面視(載置部5から前方を見た状態)で略U字形状を呈し、操作桿移動機構部4の両側部から下方に向かって斜めに延びる左右一対の縦桿31と、これら縦桿31の下端部間に配設された把持部32とからなっており、プレイヤーはこの把持部32を両手で把持して前後方向に動かすことでゲームをプレイするようになっている。
【0039】上記操作桿移動機構部4は、操作桿支持板26aに幅方向一対で設けられた軸受41と、これら軸受41に自軸心回りに回動自在に軸支された水平軸42と、この水平軸42の回動に対して抵抗力(付勢力)を付与する付勢部材43と、水平軸42の左端部に設けられ、水平軸42の回動量を検出する可変抵抗器やポテンショメータ等の回動量センサ44とを備えている。操作桿3の縦桿31上端部は水平軸42に一体に固定され、把持部32を前後方向に操作することによって水平軸42が自軸心回りに回動するようになっている。
【0040】載置部5は、載置部フレーム51と、この載置部フレーム51に取り付けられた足置き台52及び腰支持台53と、載置部フレーム51を幅方向に左右に移動させる載置部左右移動機構部54とを備えている。足置き台52は、その水平面に対する傾斜角度がプレイヤーが乗った状態で身体が少し前傾するように設定され、腰支持台53は、その水平面に対する傾斜角度がプレイヤーの前傾姿勢を脚部で支持し得る程度の急勾配となるように設定されている。
【0041】載置部左右移動機構部54は、枠体2内の前方下部に箱型に組み付けられた内部フレーム27に支持されており、載置部フレーム51を幅方向に左右に移動させるための回動自在に支持された垂直軸55と、この垂直軸55に取り付けられ、垂直軸55の回動に対して抵抗力(付勢力)を付与する付勢部材57とを備えている。また、垂直軸55の上端には、足置き台52の揺動量を検出するための可変抵抗器やポテンショメータ等の回動量センサ59が配設されている。また、足置き台52は、その下方に幅方向一対の図略のコイルスプリングが配設され、このコイルスプリングの付勢力によって足置き台52の水平位置が維持される一方、プレイヤーが左右いずれかの足に多くの体重をかけることよって左右が上下に揺動するようになっている。
【0042】モニタ6は、枠体2の上部であって、上記幅方向一対の立設フレーム25間に設けられた前方モニタ61と、前方モニタ61より下部の中間フレーム24に設けられた俯瞰モニタ62とを備えている。前方モニタ61は、画面が後方に向いて略垂直に角度設定されているとともに、俯瞰モニタ62は、画面が前上がりに斜めに配置され、これによって、プレイヤーが足置き台52に乗って腰部を腰支持台53に預け、把持部32を把持した状態で前方に視線を向けると前方モニタ61の画面が目視でき、下に視線を移すと俯瞰モニタ62の画面が目視できるようになっている。
【0043】制御部7は、枠体2の下部後方の空間に配設されており、図4に示すように、CPU70、モニタ6への表示を制御するための制御プログラムを記憶するROM71、及び処理データを一時的に保存するRAM72を有し、回動量センサ44、59からの検出信号に応じて前方モニタ61及び俯瞰モニタ62に画像を表示させるようになっている。また、制御部7は、前方モニタ61及び俯瞰モニタ62に表示される前方及び俯瞰のシミュレーション画面のデータを記憶している磁気ディスク、光ディスク、ROM等のメモリ73,74を備え、これらのメモリ73,74は、例えば、飛び立つ位置(山の頂上等)から、その山の周辺乃至近隣の風景であって、広い範囲に亘って模擬的に作成されたデータを記憶している。
【0044】上記シミュレーション画面の中には、固定キャラクタである、例えば、図5及び図6に示すようなポリゴン地形PTを含んでいる。このポリゴン地形PTは、飛行の始点である飛び立った山、他の山、地面等を含んでおり、メモリ73,74は、これらの飛行の障害物となる固定キャラクタをそれぞれ必要数のポリゴンに分割し、各ポリゴンの各頂点座標と、これに張り付けるテクスチャとを対応付けて記憶している。すなわち、図5R>5はポリゴン地形を上から眺めた図、図6はその地形を斜めから眺めた図であり、ポリゴン地形PTは縦横に配列された複数のブロック(フォント)PB単位で構成されており、各ブロックPB内には三角形からなる複数のポリゴンPLが配置されている。各ブロックPBは、例えば、一辺が4096(x,z座標)の正方形とされている。
【0045】また、メモリ73は、上記固定キャラクタの他に、移動キャラクタであるハンググライダを形成する必要数のポリゴンの各頂点座標と、これに張り付けるテクスチャとを対応付けて記憶すると共に、地上に投影されるハンググライダの影を形成する必要数のポリゴンの各頂点座標と、これに張り付けるテクスチャとを対応付けて記憶している。メモリ74も、メモリ73と同様に地上に投影されるハンググライダの影を形成する必要数のポリゴンの各頂点座標と、これに張り付けるテクスチャとを対応付けて記憶している。
【0046】なお、このハンググライダの影は、本実施形態では、ハンググライダの真上に設定される光源によってハンググライダの真下の地上に投影されるようになっている。また、このハンググライダの影は、本実施形態では、データ処理を簡略化するため、円形とされている。CPU70は、プレイヤーによる操作等に応じたハンググライダの画像データをメモリ73から読み出し、ハンググライダの、例えば直ぐ後方の位置を視点とした映像を前方モニタ61に映し出す一方、メモリ73又はメモリ74からハンググライダの影の画像データを読み出し、その影を前方モニタ61又は俯瞰モニタ62に映し出されるハンググライダの真下の地上に映し出す。ハンググライダが上空を飛行しているときは、その影は俯瞰モニタ62に映し出され、ハンググライダの着陸時等ではその影は前方モニタ61に映し出される。図7は、前方モニタ61にハンググライダHの影Kが映し出された状態の一例を示している。また、ハンググライダは、プレイヤーの操作によって、例えば、図5及び図6に示すポリゴン地形PTの谷間を縫って山腹や地面に接触したり衝突したりしないようにして飛行する。
【0047】CPU70は、操作桿3の操作量を検出する回動量センサ44、及び載置部5の足置き台52の操作量を検出する回動量センサ59からの検出電圧に基づいて現在のプレイヤーの視点と視線方向とを算出する手段を有する。すなわち、CPU70は、操作桿3が基準位置にあるときの回動量センサ44、及び載置部5が基準位置にあるときの回動量センサ59からの検出電圧をそれぞれ基準電圧とし、これら基準電圧との差電圧分を操作量として算出する操作量算出部701、この操作量算出部701により算出された2つのデータから直前に算出されたプレイヤーの視点と視線位置に対する変化量を求める変化量算出部702、及び変化量を直前のプレイヤーの視点と視線方向とにそれぞれ加減算する加減算部703を有する。かかる演算を1/60秒周期毎に実行して各データを取り込むことで、プレイヤーの視点と視線方向とを連続的に得るようにしている。なお、視点は、プレイヤーの飛行高度に対応し、視線方向は、飛び立った時の方向に対する現在の相対方向に対応している。
【0048】また、CPU70は、得られた視点データと視線方向データとから、各モニタ6画面に表示されるポリゴンの表示位置、大きさ及び回転角度データを算出するポリゴン演算部704、それぞれのメモリ73,74から読み出された上記ポリゴンに上記データを当てはめて演算した後、演算後のポリゴンにテクスチャを張り付け、陰面処理を施しながらそれぞれの表示メモリ75,77にマッピング処理を行う画像処理部705を有する。
【0049】表示駆動手段76は、表示メモリ75に書き込まれたハンググライダ及びその影を含む前方のシミュレーション画像を、例えば1/60秒の周期で読み出して前方モニタ61に出力し、表示駆動手段78は、表示メモリ77に書き込まれたハンググライダの影を含む俯瞰のシミュレーション画像を、例えば1/60秒の周期で読み出して俯瞰モニタ62に出力する。
【0050】この結果、操作桿3や載置部5が基準位置から操作されることで、周期的に得られるプレイヤーの視点と視線方向に基づく前方のシミュレーション画像および俯瞰のシミュレーション画像が上記操作に応じて左右、上下方向にスクロールされる。このように表示される画面を疑似3次元画像とすることで、上昇、下降、旋回等した場合に、あるいは障害物自体の向きの変化等によっても、この障害物を3次元的に不自然さなく表示することができると共に、より臨場感を醸し出すことができ、少ないメモリ容量で、多数の画像を高速で表示させることが可能となる。
【0051】なお、操作桿3及び載置部5に対する操作に応じたモニタ6画像のスクロール表示は次の通りとなる。すなわち、操作桿3が前方に操作されると、プレイヤーは上昇することになるので、前方モニタ61に表示されているハンググライダを除く前方シミュレーション画像が下方にスクロールするとともに、俯瞰モニタ62に表示されているハンググライダの影を含む俯瞰シミュレーション画像は小さくなる。逆に、操作桿3が後方に操作されると、プレイヤーは下降することになるので、前方モニタ61に表示されている前方シミュレーション画像が上方にスクロールするとともに、俯瞰モニタ62に表示されているハンググライダの影を含む俯瞰シミュレーション画像は大きくなる。
【0052】また、載置部5が右側に操作されると、プレイヤーは右方に旋回することになるので、前方モニタ61に表示されているハンググライダを除く前方シミュレーション画像が旋回と同期して左方にスクロールするとともに、俯瞰モニタ62に表示されている俯瞰シミュレーション画像は同一の大きさを保ったまま同様に左方に回転及びスクロールする。逆に、載置部5が左側に操作されると、プレイヤーは左方に旋回することになるので、前方モニタ61に表示されているハンググライダを除く前方シミュレーション画像が旋回と同期して右方にスクロールするとともに、俯瞰モニタ62に表示されている俯瞰シミュレーション画像は同一の大きさを保ったまま同様に右方に回転及びスクロールする。また、操作桿3および載置部5が同時に操作されているときは、夫々のモニタ6に表示される画像はハンググライダを除き斜め方向にスクロールすることとなる。
【0053】次に、ハンググライダの影を地上に形成する方法について、図8に示すフローチャートと共に説明する。なお、このハンググライダの影は、上記のようにハンググライダの真上に設定された光源によりハンググライダの真下の地上に投影されるようになっている。
【0054】まず、ハンググライダにおける特定の点(例えば、ハンググライダに乗っている人物像の腰)P((Px,Py,Pz)で示す。)がx−z平面において対応するポリゴン地形を形成しているブロックPB(すなわち、点Pの真下に位置するブロックPB)を特定する(ステップS1)。これは、点Pのx−z平面座標の各値Px,PzをブロックPBの一辺の長さ4096で割った商によって特定することができる。なお、点Pの位置は、プレイヤーによる操作桿3等の操作に応じて制御部7で常に検出されている。
【0055】次いで、ステップS1で特定されたブロックPB内に配置されている複数のポリゴンPLの内、点Pがx−z平面において対応するポリゴンPL(すなわち、点Pの直下に位置するポリゴンPL)を特定する(ステップS2)。これは、次のようにして特定することができる。すなわち、図9に示すように、ポリゴンPLを△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つの条件を満足するポリゴンを求めればよい。
【0056】なお、上記s,tは、aのx軸方向の成分をax、z軸方向の成分をazとし、bのx軸方向の成分をbx、z軸方向の成分をbzとすると、それぞれ数3により与えられる。
【0057】
【数3】


【0058】ここで、s,tが上記3つの条件を満たすには、SIGN(■)×SIGN(■)≧0,SIGN(■)×SIGN(■)≧0,ABS(■+■)≦ABS(■)を満たしているかどうかを判別すればよいので、これにより計算を簡略化することができる。なお、SIGN(■)は上記数1におけるsの分子側の正負の符号、SIGN(■)は上記数1におけるsの分母側の正負の符号、SIGN(■)は上記数1におけるtの分子側の正負の符号、SIGN(■)は上記数1におけるtの分母側の正負の符号をそれぞれ示し、ABS(■+■)は上記数1におけるsの分子側とtの分子側の各式を加算した絶対値、ABS(■)は上記数1におけるsの分母側の絶対値をそれぞれ示している。
【0059】次いで、ステップS2で特定されたポリゴンPLの上記点Pに対応する位置における法線ベクトルnを求める(ステップS3)。すなわち、図10に一例として示すように、ポリゴンPLの△OAB平面における位置P´における法線ベクトルnをポリゴンPLの△OABの各頂点から求める。この求めた法線ベクトルnを(nx,ny,nz)とする。なお、法線ベクトルnは正規化されたものが採用されている。また、法線ベクトルnは、各ポリゴンに対応してあらかじめテーブルに記憶されているものから求める(読み出す)ようにしてもよい。
【0060】次いで、図10に示すように、ステップ3で求めた法線ベクトルnを垂直方向(Y軸に相当)とするローカル座標軸X,Y,Zを設定し、このY軸となる法線ベクトルnに直交する第1のベクトルを求める(ステップS4)。この第1のベクトルは、例えば、ローカル座標軸のX軸に相当する。すなわち、影はY軸の回転に影響を受けない円形であるので、X軸となるべき第1のベクトルXを(Xx,Xy,Xz)とし、ポリゴンPLの△OABの任意の2つの頂点A,Bをそれぞれ(Ax,Ay,Az),(Bx,By,Bz)とすると、Xx=Bx−Ax,Xy=By−Ay,Xz=Bz−Azとして求めることができる。この第1のベクトルXも正規化しておく。なお、上記2つの頂点A,Bに代え、ポリゴンPLを含む平面上の任意の2点を(Ax,Ay,Az),(Bx,By,Bz)として第1のベクトルXを求めることもできる。
【0061】次いで、図10に示すように、上記法線ベクトルnとステップS4で求めた第1のベクトルXの両方に直交する第2のベクトルを求める(ステップS5)。この第2のベクトルは、例えば、ローカル座標軸のZ軸に相当する。すなわち、この第2のベクトルZは法線ベクトルnと第1のベクトルXの外積から求めることができ、この第2のベクトルZを(Zx,Zy,Zz)とすると、Zx=Xy×nz−Xz×ny,Zy=Xz×nx−Xx×nz,Zz=Xx×ny−Xy×nxとして得ることができる。この第2のベクトルZも正規化しておく。
【0062】次いで、上記の法線ベクトルnと第1のベクトルXとステップS5で求めた第2のベクトルZとから任意の平面への回転行列を求める(ステップS6)。すなわち、この回転行列は、上記3つのベクトルを数4に示す行列とみなすことで得ることができる。
【0063】
【数4】


【0064】最後に、上記数4に示す回転行列を用いてポリゴンPL平面にハンググライダの影を形成するポリゴンを張付ける(ステップS7)。すなわち、メモリ73又はメモリ74からハンググライダの影を形成するポリゴンの各頂点データを読み出し、上記回転行列を用いて影を形成するポリゴンを地形を形成するポリゴンPLの平面に重ねて表示する。この影は、陰面処理されて重ねられるポリゴンに対して優先的に表示される。影を半透明のテクスチャにすれば、影の下に位置する地形も表示するようにできる。上記ステップS1乃至S6の各処理は上記ポリゴン演算部704で実行され、ステップS7の処理は画像処理部705で実行される。
【0065】なお、上記実施形態では、ハンググライダの影を円形にしているが、円形以外の他の形状としてもよく、ハンググライダと相似形状を有するものとしてもよい。また、本発明のポリゴンの張付け方法及びその張付け方法を実施する装置は、飛行シミュレーションゲーム装置に適用しているので、移動キャラクタである飛行体(ハンググライダ)の影を形成するポリゴンを、固定キャラクタを形成するポリゴン平面に張付けるようにしているが、固定キャラクタを形成するポリゴン平面に張付けるポリゴンは影に限らず、移動キャラクタに関連するマークであればいかなるものでもよい。
【0066】さらには、固定キャラクタを形成するポリゴン平面に張付けるポリゴンは、移動キャラクタに関連するものだけではなく、固定キャラクタに関連するマーク(例えば、機銃掃射による弾痕、爆弾により表面に開く孔等)であってもよい。また、影等のマークを形成するポリゴンが張付けられる相方のポリゴンは地形を形成するものに限るものではなく、地形以外の他の固定キャラクタを形成するものであってもよい。さらに、固定キャラクタに限らず移動キャラクタを形成するものでもよい。また、ポリゴンの形状は三角形に限らず、四角形等の他の多角形状であってもよい。
【0067】また、本発明に係るポリゴンの張付け方法及びその装置は、ゲーム装置だけではなく、訓練装置等の種々のシミュレータにも適用することが可能である。従って、本発明ではゲーム装置を含めてシミュレータと呼ぶ。
【0068】
【発明の効果】以上のように、請求項1乃至8の発明によれば、モニタ画面内に作成される擬似3次元空間上のキャラクタを形成する多角形状を有するポリゴン平面に、マークを形成するポリゴンを回転行列を用いて張付けるポリゴンの張付け方法であって、前記ポリゴン平面の所定位置における法線ベクトルを求める第1のステップと、前記ポリゴン平面に含まれ、前記法線ベクトルに直交する第1のベクトルを求める第2のステップと、前記ポリゴン平面に含まれ、前記法線ベクトルと前記第1のベクトルの両方に直交する第2のベクトルを求める第3のステップと、前記法線ベクトル,第1のベクトル及び第2のベクトルから回転行列を求める第4のステップとを備えているので、各ステップにおける処理を簡単に実行することができる結果、地形等のキャラクタを形成する多角形状を有するポリゴン上に例えば飛行体の影等のポリゴンを容易に張付けることが可能となり、地面に沿った形で影等を表示できる結果、実際に即した自然な表示が行える。
【0069】また、請求項9及び10の発明によれば、モニタ画面内に作成される擬似3次元空間上のキャラクタを形成する多角形状を有するポリゴン平面に、マークを形成するポリゴンを回転行列を用いて張付けるポリゴンの張付け装置であって、前記ポリゴン平面の所定位置における法線ベクトルを求める第1の手段と、前記ポリゴン平面に含まれ、前記法線ベクトルに直交する第1のベクトルを求める第2の手段と、前記ポリゴン平面に含まれ、前記法線ベクトルと前記第1のベクトルの両方に直交する第2のベクトルを求める第3の手段と、前記法線ベクトル,第1のベクトル及び第2のベクトルから回転行列を求める第4の手段とを備えているので、各手段における処理を簡単に実行することができる結果、地形等のキャラクタを形成する多角形状を有するポリゴン上に例えば飛行体の影等のポリゴンを容易に張付けることが可能となる。
【0070】また、請求項11及び12の発明によれば、移動キャラクタと固定キャラクタとが擬似3次元で表示されるモニタと、プレイヤーにより操作可能な操作手段と、前記操作手段による操作に応じた操作量を検出する検出手段と、前記検出手段からの信号により前記移動キャラクタのモニタ画面上での位置を算出する算出手段と、請求項10記載のポリゴンの張付け装置を備えているので、地形等の固定キャラクタに飛行体等の移動キャラクタに関連する影等のマークを張付けることができる結果、よりリアリティの高いシミュレータを実現することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態であるポリゴンの張付け方法及びその装置が適用された飛行シミュレーションゲーム装置がどのような模擬ゲームであるかを説明するための図である。
【図2】図1で説明した飛行シミュレーションゲーム装置におけるハンググライダの飛行経路の一例を示す図である。
【図3】本発明の一実施形態であるポリゴンの張付け方法及び装置が適用された飛行シミュレーションゲーム装置の内部構造を示す斜視図である。
【図4】図3に示す飛行シミュレーションゲーム装置の制御系を示す図である。
【図5】ポリゴン地形の一例を示し、そのポリゴン地形を上から眺めた図である。
【図6】図5に示すポリゴン地形を斜めから眺めた図である。
【図7】モニタ画面内の地面にハンググライダの影が表示された状態の一例を示す図である。
【図8】ハンググライダの影を地上に形成する方法を説明するためのフローチャートである。
【図9】ハンググライダの特定点と三角形からなるポリゴンとの位置関係を説明するための図である。
【図10】ポリゴン平面にローカル座標軸を設定し、ポリゴン平面における法線ベクトルと、法線ベクトルに直交する第1のベクトルと、法線ベクトル及び第1のベクトルの両方に直交する第2のベクトルを求める方法を説明するための図である。
【符号の説明】
1 ゲーム装置
3 操作桿(操作手段)
6 モニタ
701 操作量演算部(検出手段)
702 変化量演算部(検出手段)
703 加減算部(算出手段)
704 ポリゴン演算部(第1乃至第4の手段)
705 画像処理部
K 影
PT ポリゴン地形
PB ブロック
PL ポリゴン

【特許請求の範囲】
【請求項1】 モニタ画面内に作成される擬似3次元空間上のキャラクタを形成する多角形状を有するポリゴン平面に、マークを形成するポリゴンを回転行列を用いて張付けるポリゴンの張付け方法であって、前記ポリゴン平面の所定位置における法線ベクトルを求める第1のステップと、前記ポリゴン平面に含まれ、前記法線ベクトルに直交する第1のベクトルを求める第2のステップと、前記ポリゴン平面に含まれ、前記法線ベクトルと前記第1のベクトルの両方に直交する第2のベクトルを求める第3のステップと、前記法線ベクトル,第1のベクトル及び第2のベクトルから回転行列を求める第4のステップとを備えたことを特徴とするポリゴンの張付け方法。
【請求項2】 前記第2のステップは、前記第1のベクトルを(Xx,Xy,Xz)で表し、前記ポリゴンを含む平面上の任意の2点を(Ax,Ay,Az)及び(Bx,By,Bz)で表したとき、Xx=Bx−Ax,Xy=By−Ay及びXz=Bz−Azとして求めるものであることを特徴とする請求項1記載のポリゴンの張付け方法。
【請求項3】 前記任意の2点は、前記ポリゴンの任意の2頂点であることを特徴とする請求項2記載のポリゴンの張付け方法。
【請求項4】 前記第3のステップは、前記法線ベクトルを(nx,ny,nz)で表し、前記第2のベクトルを(Zx,Zy,Zz)で表すと、Zx=Xy×nz−Xz×ny,Zy=Xz×nx及びZz=Xx×ny−Xy×nxとして求めるものであることを特徴とする請求項2又は3記載のポリゴンの張付け方法。
【請求項5】 前記第4のステップは、数1に示す行列とするものであることを特徴とする請求項4記載のポリゴンの張付け方法。
【数1】


【請求項6】 前記キャラクタは固定キャラクタであり、前記擬似3次元空間上にはさらに移動キャラクタが表示され、前記マークは前記移動キャラクタに関連するものであることを特徴とする請求項1乃至5のいずれかに記載のポリゴンの張付け方法。
【請求項7】 前記マークは前記移動キャラクタの影であることを特徴とする請求項6記載のポリゴンの張付け方法。
【請求項8】 請求項6又は7記載のポリゴンの張付け方法において、前記ポリゴンは固定キャラクタを形成する複数のポリゴンの中の1つで、かつ、前記移動キャラクタ位置の平面座標点を含むものであって、前記法線ベクトルを求める前に前記ポリゴンを特定するステップを備えたことを特徴とするポリゴンの張付け方法。
【請求項9】 モニタ画面内に作成される擬似3次元空間上のキャラクタを形成する多角形状を有するポリゴン平面に、マークを形成するポリゴンを回転行列を用いて張付けるポリゴンの張付け装置であって、前記ポリゴン平面の所定位置における法線ベクトルを求める第1の手段と、前記ポリゴン平面に含まれ、前記法線ベクトルに直交する第1のベクトルを求める第2の手段と、前記ポリゴン平面に含まれ、前記法線ベクトルと前記第1のベクトルの両方に直交する第2のベクトルを求める第3の手段と、前記法線ベクトル,第1のベクトル及び第2のベクトルから回転行列を求める第4の手段とを備えたことを特徴とするポリゴンの張付け装置。
【請求項10】 前記キャラクタは固定キャラクタであり、前記擬似3次元空間上にはさらに移動キャラクタが表示され、前記マークは前記移動キャラクタに関連するものであることを特徴とする請求項9記載のポリゴンの張付け装置。
【請求項11】 移動キャラクタと固定キャラクタとが擬似3次元で表示されるモニタと、プレイヤーにより操作可能な操作手段と、前記操作手段による操作に応じた操作量を検出する検出手段と、前記検出手段からの信号により前記移動キャラクタのモニタ画面上での位置を算出する算出手段と、請求項10記載のポリゴンの張付け装置を備えてなるシミュレータ。
【請求項12】 前記移動キャラクタは飛行体であり、前記ポリゴンの張付け装置は前記飛行体に関連する影を形成するものであることを特徴とする請求項11記載のシミュレータ。

【図9】
image rotate


【図1】
image rotate


【図2】
image rotate


【図3】
image rotate


【図4】
image rotate


【図5】
image rotate


【図6】
image rotate


【図7】
image rotate


【図8】
image rotate


【図10】
image rotate