JPH08329273A - 画像処理装置及びこれを備えたゲーム装置 - Google Patents

画像処理装置及びこれを備えたゲーム装置

Info

Publication number
JPH08329273A
JPH08329273A JP7135501A JP13550195A JPH08329273A JP H08329273 A JPH08329273 A JP H08329273A JP 7135501 A JP7135501 A JP 7135501A JP 13550195 A JP13550195 A JP 13550195A JP H08329273 A JPH08329273 A JP H08329273A
Authority
JP
Japan
Prior art keywords
behavior
vehicle
collision
simulating
moving direction
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
JP7135501A
Other languages
English (en)
Other versions
JP3783735B2 (ja
Inventor
Ateitsura Buatsushiyu
アティッラ ヴァッシュ
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.)
Sega Corp
Original Assignee
Sega Enterprises 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 Sega Enterprises Ltd filed Critical Sega Enterprises Ltd
Priority to JP13550195A priority Critical patent/JP3783735B2/ja
Publication of JPH08329273A publication Critical patent/JPH08329273A/ja
Application granted granted Critical
Publication of JP3783735B2 publication Critical patent/JP3783735B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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

Abstract

(57)【要約】 【目的】 CPUに与える演算負荷を増すること無く、
車両などの対象体の挙動をより実際的にシミュレートし
て表示することとが可能な画像処理装置を提供する。 【構成】 この画像処理装置10は、Tvモニタに表示
してある車の移動に関する操作情報を出力する入力装置
11を備え、CPU101は、この入力情報に基づいて
車の挙動をシミュレートする。CPUは、車を進行方向
に沿って2分割するモデルと成し、各部分に仮想のタイ
ヤグリップ力を与え、車のスピンやテールスライド等の
運動を、少なく特性値に基づいて的確にシミュレートす
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は画像処理装置に係わ
り、詳しくはゲーム装置に関するものであり、さらに詳
しくは、ドライビング(カーレース)ゲームのように、
自動車などのオブジェクト(対象体)をプレイヤの操作
に応答してモニタ上を移動させるゲ−ムプログラムを搭
載したゲーム装置に関する。
【0002】
【従来の技術】ゲーム装置はコンピュータ技術の発達に
伴い家庭用、業務用を問わず、より鮮明で、よりリアル
な画像のものが求められている。ゲーム装置は一般に、
予め記憶したゲ−ムプログラムを実行するコンピュータ
装置を内蔵したゲーム装置本体と、ゲ−ムで表現させる
オブジェクトの移動を指令する操作信号をコンピュータ
装置に与える操作装置と、コンピュータ装置でゲ−ムプ
ログラムが実行されることによるゲ−ム展開に伴う画像
を表示するディスプレイと、そのゲ−ム展開に伴う音響
を発生させる音響装置とを備えている。
【0003】そして、近年のゲーム装置は、画面をより
高品位で迫力があるものにするために、仮想の3次元座
標空間内に画像データを定義してオブジェクト(キャラ
クタ)、そして背景等を配置し、これらを所定の視点か
ら見た映像をディスプレイに表示するようになってい
る。
【0004】このような構成のゲーム装置の一分野とし
て、ドライビングゲーム(カーレースゲーム)を扱うゲ
ーム装置が存在する。ドライビングゲ−ムでは車の動き
を極力リアルにシミュレート(模擬)することが求めら
れているし、かつ重要でもある。
【0005】従来、このシミュレーションは、重心位置
などの1つの質点に車を置き換えた単点モデルを採用し
ている。車(のタイヤ)と地面との当たり(衝突、ある
いはコリジョンとも云う。)具合は、その1点でのみ判
定し、サスペンションなどの計算は行わずにシミュレー
ションの簡略化を図っている。このため車のピッチ、ロ
ール、ヨー方向の動きは画面上で全くないか、またはス
テアリング角が一定値以上になるとドリフトさせるな
ど、単にある一定条件下での単調な動きに止まってい
る。
【0006】このような単点モデルに拠るシミュレーシ
ョンは処理が簡単であり、製作者の意図する車の動きを
容易に出せるものの、シミュレートされる車の動きにど
うしても不自然さが伴い、ゲ−ムとしてはリアリティに
欠け、ゲーム装置の付加価値に乏しいという問題があ
る。
【0007】そこで、車を1つの質点と考えるのではな
く、4つのタイヤが路面に接してそれぞれ路面から力を
受け、その力がサスペンションを介して車体に作用し、
その結果、車の動きが決定されるという本格的なシミュ
レーションをリアルタイムに行い、車の動きを非常にリ
アルに表現することを可能にしたゲーム装置も考えられ
ている。
【0008】
【発明が解決しようとする課題】カーレースゲームを例
にすると、対象体の挙動を本格的にシミュレートしよう
とすると、ハンドルによって選択あるいは指向された方
向以外の方向にも通常の運動力学の法則にそって動きを
与えることが必要である。例えば、車にスピン、テール
スライド、あるいは4輪ドリフト等の動きを与えること
が本格的なシミュレーションを実行する上で好ましい。
【0009】この際、実際の車のように、4輪の各車輪
毎に加わる力等を演算しながら車全体の挙動をシミュレ
ートすることが望ましいと云えるが、これでは、どうし
てもCPUに対する計算負荷が増大し、勢いこの計算を
確実に行おうとすると他の画像処理が十分実行されない
という問題がある。勿論、計算能力を高めたCPUによ
ってこれらの不都合を無くすようにすることも可能であ
るが、これでは製造コストが増すばかりでなく、計算に
要する時間も長くなることがある。また、4輪の各車輪
毎に加わる力等を演算するようにするためのプログラム
作成に手間を要するという問題もある。
【0010】また、遊戯者や操作者からの操作に迅速に
応答しなければならない画像処理装置、特にゲーム装置
にとっては、計算に要する時間が長くなることは不都合
であり、ひいては、ゲーム装置が遊技者や操作者に趣味
感や興味感が損なわれるという問題がある。
【0011】さらに、従来、この種のゲーム装置におい
ては、対象体である車同士の衝突判定や衝突判定後の各
種画像処理をするにあたり、これらの処理を迅速かつ的
確に行う点の配慮はされていなかった。
【0012】この発明は、このような課題を解決するた
めに、CPUに与える演算負荷を増すること無く、車両
などの対象体の挙動をより実際的にシミュレートして表
示することとが可能な画像処理装置を提供することを第
1の目的とするものである。また、第2の目的は、対象
体の挙動を的確に制御できるモデルを適用した画像処理
装置を提供することにある。さらに、第3の目的は、こ
れらの目的を達成することにより、趣味感や興味感に優
れたゲーム装置を提供することにある。さらに、第4の
目的は衝突判定あるいは衝突判定における画像処理を迅
速かつ的確に行える画像処理装置を提供するにある。
【0013】
【課題を解決するための手段】前記第2の目的、又は、
これに加えて第1の目的を達成するために、請求項1記
載の発明は、画面にある対象体の移動に関する操作情報
を出力する操作手段と、この操作情報に基づいて前記対
象体の挙動をシミュレートし、これを表示手段に出力す
るシミュレート手段と、を備える画像処理装置におい
て、前記シミュレート手段は、前記対象体が成す挙動に
応じて、この対象体を複数の部分からなるモデルとする
モデル化手段と、各部分にこの対象体の挙動計算に必要
な特性値を与える特性値付与手段とを備えることを特徴
とする。
【0014】請求項2記載の発明は、前記対象体がプロ
グラム上の車であり、前記モデル化手段は、この対象体
の滑動挙動に対して、この対象体を進行方向に沿って均
等に2分割するモデルを形成することを特徴とする。請
求項3記載の発明は、前記対象体がプログラム上の車で
あり、前記モデル化手段は、、この対象体の揺動挙動に
対して、この車の重心と前後輪とを結合する二つの多角
形からなるモデルを形成することを特徴とする。
【0015】請求項4記載の発明は、前記特性値付与手
段が前記各部分に仮想的なベクトルを与え、前記シミュ
レート手段は、このベクトルの合成ベクトルに基づいて
車の挙動を制御することを特徴とする。請求項5記載の
発明は、前記シミュレート手段が、前記ベクトルの変化
に伴う車体の揺動方向の姿勢変化をシミュレートするこ
とを特徴とする。請求項6記載の発明は、前記合成ベク
トルをロール方向とピッチング方向とに分解し、各方向
における姿勢変化を抑制する抑制手段をさらに備えるこ
とを特徴とする。
【0016】また、請求項7記載の発明は、第1の目的
を達成するために、画面にある対象体の移動に関する操
作情報を出力する操作手段と、この操作情報に基づいて
前記対象体の挙動をシミュレートし、これを表示手段に
出力するシミュレート手段と、を備える画像処理装置に
おいて、前記シミュレート手段は、前記対象体に対し
て、この対象体の挙動を決定するための二つの特性値を
与える特性値付与手段を備え、この特性値に応じてこの
対象対の挙動をシミュレートすることを特徴とする。
【0017】さらに、請求項8記載の発明は、前記請求
項1記載の発明と同様な目的を達成するために、画面に
ある対象体の移動に関する操作情報を出力する操作手段
と、この操作情報に基づいて前記対象体の挙動をシミュ
レートし、これを表示手段に出力するシミュレート手段
と、を備える画像処理装置において、前記シミュレート
手段は、前記対象体を前記操作手段によって選択された
方向と予め定められたこれ以外の方向に向けて移動させ
る移動方向制御手段と、この対象体に関する衝突を判定
する衝突判定手段と、を備え、この衝突判定が肯定され
たときに、前記移動方向制御手段は、前記対象体を非選
択方向に向けて移動させる制御を実行することを特徴と
する。
【0018】請求項9記載の発明は、前記シミュレート
手段が、さらに、前記対象体に対する衝突点を演算する
衝突点演算手段を備え、前記移動方向制御手段は、この
衝突点が前記対象体に対して成す位置に応じて、前記対
象体の移動方向を制御することを特徴とする。
【0019】請求項10記載の発明は、前記シミュレー
ト手段が、前記衝突点が前記対象体に対して所定の角度
範囲にあるか否かを判定する判定手段を備え、前記移動
方向制御手段は、この衝突点がこの所定角度内に在ると
きに、この対象体の移動方向を前記非選択方向にするこ
とを特徴とする。請求項11記載の発明は、前記非選択
方向が、仮想的な3次元空間における前記対象体の高さ
方向であることを特徴とする。
【0020】請求項12記載の発明は、前記シミュレー
ト手段が、対象体が移動する方向を算出するとともに、
この移動方向を前記移動方向制御手段に出力する移動方
向算出手段を備え、前記移動方向制御手段はこの移動方
向に基づいて、前記対象体の移動方向を制御することを
特徴とする。請求項13記載の発明は、前記衝突判定手
段が、複数の対象体同士の衝突を判定する手段であっ
て、前記移動方向算出手段は、この複数の対象体が互い
になす角度を算出し、この角度を前記移動方向制御手段
に出力することを特徴とする。
【0021】さらに、第3の目的を達成するために、請
求項14に記載の発明は、既述の画像処理装置と、画像
処理結果を表示する表示手段とを備えるゲーム装置に相
当するものである。
【0022】さらに、第4の目的を達成するために、請
求項15記載の発明は、画面上に出現する対象体に対す
る衝突を判定し、この衝突判定結果に基づいてこの対象
体の挙動をシミュレートするシミュレート手段を備える
画像処理装置において、このシミュレート手段は、前記
対象体の移動方向を算出する移動方向算出手段を備え、
得られた移動方向に基づいてこの対象体に対する衝突を
判定することを特徴とする。請求項16記載の発明は、
前記移動方向算出手段が移動する複数の対象体が互いに
成す角度を前記移動方向として算出し、前記シミュレー
ト手段はこの角度に基づいて対象体同士の衝突を判定す
ることを特徴とする。
【0023】
【作用】請求項1記載の発明において、操作手段は、画
面にある対象体の移動に関する操作情報を出力し、シミ
ュレート手段は、この操作情報に基づいて対象体の挙動
をシミュレートし、シミュレート結果を表示手段に出力
する。シミュレート手段は、このシミュレートを行うに
際し、対象体が成す挙動に応じて、この対象体を複数の
部分からなるモデルとなるようにモデル化し、各部分に
この対象体の挙動計算に必要な特性値を与えながら、対
象体の挙動をシミュレートする。
【0024】したがって、請求項1記載の発明によれ
ば、対象体に目的とする挙動に適した複数の部分からな
るモデルが適用され、このモデルに於ける各部分に対象
体の挙動計算に必要な物理量を与えているために、対象
体の挙動をよりリアルに、すなわち実際的シミュレート
でき、しかも対象体がこの挙動を的確に再現できるよう
にする。そして、このモデルにおける複数の部分をより
少なくなるようにすることにより必要な特性値の数を低
減し、以てシミュレート手段に与える演算負荷を低減し
ながら対象体が目的とする挙動を表すように制御され
る。
【0025】請求項2記載の発明によれば、対象体がプ
ログラム上の車とされ、この対象体は、進行方向に沿っ
て均等に2分割され、各部分の例えば重心位置に滑動挙
動の再現に必要な特性値である、例えばタイヤのグリッ
プ力が与えられる。シミュレート手段は、この特性値に
基づいて対象体の滑動挙動をシミュレートするから、少
ない特性値によって滑動挙動を的確に表現することがで
きる。請求項3記載の発明の作用も請求項2記載の発明
の作用に類似するものであって、各多角形の例えば重心
位置に揺動挙動(ロール方向の揺動、あるいはピッチ方
向の揺動等)の再現に必要な特性値である、例えばベク
トルを与える。そして、請求項4記載の発明は、請求項
3記載の発明における各多角形に与えられたベクトルを
合成しているから、この合成ベクトルに基づいて車の揺
動を的確に制御する。
【0026】特に、請求項5記載の発明のように、シミ
ュレート手段が合成ベクトルの変化を捉えることによ
り、ベクトルの変化を車体の揺動方向の姿勢変化に反映
しながら車の挙動をシミュレートする。さらに、請求項
6記載の発明においては、シミュレート手段が、合成ベ
クトルをロール方向とピッチング方向とに分解してこれ
を抑制手段に出力し、抑制手段ではこの結果を車体のロ
ール方向、ピッチ方向の姿勢変化の抑制に反映させる。
したがって、仮想的なサスペンション装置が実現され
る。
【0027】請求項7記載の発明において、シミュレー
ト手段は、対象体に対して、この対象体の挙動を決定す
るための二つの特性値を与える。シミュレート手段は、
この特性値に応じてこの対象対の挙動をシミュレートす
る結果、シミュレートに必要なデータ数が低減される。
【0028】請求項8記載の発明において、シミュレー
ト手段は、対象体を操作手段によって選択された方向と
予め定められたこれ以外の方向に向けて移動させる。シ
ミュレート手段は、この対象体に関する衝突を判定し、
この判定結果を移動方向制御手段に出力する。移動方向
制御手段は、この判定が肯定されたとき対象体を非選択
方向に向けて移動させる制御を実行する。したがって、
対象体に対する衝突判定に基づいて対象体を予め定めら
れた非選択方向に移動させるようにしているため、対象
体の複数箇所における挙動計算を衝突の都度行い、その
結果として対象体を非選択方向に移動させる制御と比較
すると、シミュレート手段に与える演算負荷を低減する
ことができるとともに、衝突があると確実に対象体を非
選択方向に移動させる。よって、シミュレート手段に与
える演算負荷を低減しながら、対象体に非選択方向に移
動する挙動を与えることができる。
【0029】請求項9記載の発明において、衝突点演算
手段は対象体に対する衝突点を演算し、この結果を移動
方向制御手段に出力する。移動方向制御手段は、この衝
突点が対象体に対して成す位置を捉え、この位置情報を
対象体の移動方向制御に反映させる。請求項10記載の
発明は、判定手段は、衝突点が対象体に対して所定の角
度範囲にあるか否かを判定し、この判定結果を移動方向
制御手段に出力する。この移動方向制御手段は、衝突点
がこの所定角度内に在るときに、対象体の移動方向を非
選択方向にする。したがって、衝突点の位置や角度の違
いを対象体を非選択方向に移動させる制御の有無等に反
映させることができる。ここで、請求項11記載の発明
によれば、非選択方向が、仮想的な3次元空間における
対象体の高さ方向に設定される。
【0030】そして、請求項12記載の発明において、
移動方向算出手段は、対象体が移動する方向を算出し、
これを移動方向制御手段に出力する。移動方向制御手段
はこの移動方向に基づいて、対象体の移動方向を制御す
る。請求項13記載の発明において、移動方向算出手段
は、複数の対象体が互いになす角度を算出し、この角度
を移動方向制御手段に出力する。したがって、移動方向
制御手段は、この計算された移動方向に基づいて、非選
択方向と選択方向のどちらに対象体を移動するか、ある
いは各方向に複数の態様がある場合、どの態様を選択す
るか等対象体の移動方向を対象体のシミュレートに反映
できて対象体のシミュレートをより多彩にし、使用者の
趣味感、興味感や臨場感を向上することができる。
【0031】そして、請求項14記載のゲーム装置で
は、既述の画像処理装置を備えることにより、シミュレ
ート手段におけるシミュレートをより迅速に実行するた
め、趣味感や興味感を高めることができる。
【0032】そして、請求項15、16記載の記載の発
明によれば、移動方向算出手段は、対象体の移動方向、
例えば複数の対象体が互いに成す角度を算出し、これを
シミュレート手段に出力し、シミュレート手段はこの移
動方向に基づいてこの対象体に対する衝突を判定する。
したがって、例えば、対象体が互いに衝突を生じない方
向に進んでいる場合には、このことを迅速に検出して対
象体を迅速にシミュレートする。また、対象体の衝突判
定に、3次元座標空間内での対象体が互いに成す角度を
利用するようにして、正確な衝突判定を可能にする。
【0033】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。この実施例は、本発明を、図1に示す対象
体としての車10A(いわゆる「フォーミュラーカー」
と称されるものであって、大きな径を持つ車輪が車体か
ら突出しているものであり、前車の後輪に後車の前輪が
衝突すると後車の前輪が前車の後輪に乗り上げて、乗り
上げた車輪側の車体を大きく傾ける動きが予想されるも
の。)を多数、一画面に出現させて、車の順位を競う競
技をシミュレートするドライビングゲームに適用したも
のとして説明される。
【0034】図2は、本発明に係るゲーム装置の一実施
例を示すブロック図である。このゲーム装置は基本的要
素としてゲーム装置本体10、入力装置11、出力装置
12、TVモニタ13、及びスピーカ14を備えてい
る。
【0035】入力装置11は、ハンドル、アクセル、ブ
レーキ、シフトレバー、ビューチェンジ(視点変更)ス
イッチなどを有し、出力装置13はハンドルキックバッ
ク機構、各種ランプ類などを有している。このハンドル
キックバック機構は、後述する車の挙動にあわせてハン
ドルに所定の反力を与える。
【0036】TVモニタ13はドライビングゲ−ムの画
像を表示するもので、このTVモニタの代わりにプロジ
ェクタを使ってもよい。ビューチェンジスイッチは、視
点を変更するスイッチである。このスイッチの操作によ
り、例えば、運転席からの視点又は自車を斜め後方より
観た視点がプレーヤーに提供される。
【0037】ゲーム装置本体10は、CPU(中央演算
処理装置)101を有するとともに、ROM102、R
AM103、サウンド装置104、入出力インターフェ
ース106、スクロールデータ演算装置107、コ・プ
ロセッサ(補助演算処理装置)108、地形デ−タRO
M109、ジオメタライザ110、形状デ−タROM1
11、描画装置112、テクスチャデ−タROM11
3、テクスチャマップRAM114、フレームバッファ
115、画像合成装置116、そして、D/A変換器1
17を備えている。
【0038】CPU101は、バスラインを介して所定
のプログラムなどを記憶したROM102、デ−タを記
憶するRAM103、サウンド装置104、入出力イン
ターフェース106、スクロールデータ演算装置10
7、コ・プロセッサ108、及びジオメタライザ110
に接続されている。RAM103はバッファ用として機
能させるもので、ジオメタライザ110に対する各種コ
マンドの書込み(オブジェクトの表示など)、変換マト
リクス演算時のマトリクス書込みなどが行われる。
【0039】入出力インターフェース106は入力装置
11及び出力装置12に接続されており、これにより入
力装置11のハンドルなどの操作信号がデジタル量とし
てCPU101に取り込まれるとともに、CPU101
などで生成された信号を出力装置12に出力できる。サ
ウンド装置104は電力増幅器105を介してスピーカ
14に接続されており、サウンド装置104で生成され
た音響信号が電力増幅の後、スピーカ14に与えられ
る。
【0040】CPU101は本実施例では、ROM10
2に内蔵したプログラムに基づいて入力装置11からの
操作信号及び地形デ−タROM109からの地形デ−
タ、そして形状データROM111からの形状データ
(「自車、敵車等のオブジェクト」、及び、「移動路、
地形、空、観客、構造物等の背景」等の3次元データ)
を読み込んで、地形と車との当たり(衝突)判定、車全
体の挙動計算、ボディの挙動(サスペンションの挙動に
類似したもので、後に詳しく説明する。)計算、及び車
同士の衝突判定などの車のシミュレーションを少なくと
も行うようになっている。
【0041】CPU101は、一般に右手座標系と呼ば
れる3次元座標系(グローバル座標系)を採用してお
り、Z方向を画面奥に据えたときY方向は画面下、X方
向は画面右に向かって伸びる仮想空間座標系を採用して
いる。CPUは、地形データROM109の地形の形状
データと形状データROM111の車等の形状データを
読み込み、入力信号に応じた処理をこれらデータに与え
て、既述の座標系において複数の車を配置して走行する
画像を構成する。この車は遊戯者が操作できる自車とゲ
ーム装置側で制御される他車(既述のように、敵車、と
云っても良い。)とから構成される。
【0042】車の挙動計算は、入力装置11からのプレ
ーヤの操作信号により仮想空間での車の動きをシミュレ
ートするもので、3次元空間での座標値が決定された
後、この座標値を視野座標系に変換するための変換マト
リクスと、形状デ−タ(車、地形など)とがジオメタラ
イザ110に指定される。コ・プロセッサ108には衝
突判定のために車を楕円モデルで定義したデータを記憶
するROM109が接続され、したがって、予め定めた
デ−タがコ・プロセッサ108(及びCPU101)に
渡される。
【0043】コ・プロセッサ108は、主として、対象
体としての車における4輪と地形との衝突判定、車同士
の衝突の判定、及び必要に応じて車と構造物との衝突判
定を行うものであり、そして、この判定や車の挙動計算
時に、主に、浮動小数点の演算を引き受けるようにもな
っている。この結果、コ・プロセッサ108により車に
関する当たり判定(衝突判定)が実行されて、その判定
結果がCPU101に与えられるようにされているか
ら、CPUの計算負荷を低減して、この当たり判定がよ
り迅速に実行される。
【0044】ジオメタライザ110は形状デ−タROM
111及び描画装置112に接続されている。形状デ−
タROM111には、複数のポリゴンの組み合わせから
なる自車や敵車等のキャラクター、あるいは地形、空等
の背景の図形や形状(ボディ座標系)が定義されてい
る。(ここで、ポリゴン数を適宜選択可能である。)こ
の定義は、例えば、使用するポリゴン群の各頂点の座標
値のリスト(座標値リスト:この座標値は3次元データ
から構成される。)と、さらにポリゴン面1面毎に、頂
点リストから任意の4点を頂点番号で指定したポリゴン
面のリストと、各ポリゴンの表示順を決定するための基
準位置を表すもの、ポリゴンの片面を表示するか両面を
表示するかを指定する属性、そして、ポリゴンに2次元
の絵(「ビットマップデータ」、あるいは「テクスチ
ャ」とも云う。)を張り付ける要素等のポリゴンの面属
性のリスト等から構成されている。
【0045】CPU101はROM111のデータに基
づいてこれらのキャラクター等が複数のポリゴン(多角
形であって、主として4頂点を有する四角形、あるいは
その内の2頂点が一致した3角形)からなる立体とし
て、これを3次元座標系(ワールド座標系)へ配置する
モデリング変換を行う。次いで、CPU101は、既述
の視点に基づいて視点変換を実行し、さらに、3次元ク
リッピングを行う。
【0046】このためにCPU101は、既述の座標値
のリストと、ポリゴン面のリストと、そして、ポリゴン
面属性のリスト等をROM102から読み込む。そし
て、CPU101は、これらのデータをジオメタライザ
に渡す。ジオメタライザ110はCPU101から送ら
れてくる変換マトリクスで指定されたデ−タを透視変換
して、さらに2次元クリッピングを実行し、3次元仮想
空間でのワールド座標系から視野座標系に変換したデ−
タを得る。
【0047】描画装置112は変換した視野座標系の形
状デ−タにテクスチャを貼り合わせ、フレームバッファ
115に出力する。このテクスチャの貼り付けを行うた
め、描画装置112はテクスチャデ−タROM113及
びテクスチャマップRAM114に接続されるととも
に、フレームバッファ115に接続されている。
【0048】地形データROM109には、車と地形と
の当たり判定や車同士の当たり判定を実行する上で足り
る、比較的粗く(簡単に)設定された形状データが格納
されている。例えば、衝突判定に際しての車の形状は、
楕円として定義されている。これに対して、形状データ
ROM111には、車、背景等の画面を構成する形状に
関して、より緻密に設定されたデータが格納されてい
る。
【0049】スクロールデ−タ演算装置107は文字な
どのスクロール画面のデ−タを演算するもので、この演
算装置107と前記フレームバッファ115とが画像合
成装置116及びD/A変換器117を介してTVモニ
タ13に至る。これにより、フレームバッファ115に
一時記憶された車、地形(背景)などのポリゴン画面
(シミュレーション結果)とスピード値、ラップタイム
などの文字情報のスクロール画面とが指定されたプライ
オリティにしたがって合成され、最終的なフレーム画像
デ−タが生成される。この画像デ−タはD/A変換器1
17でアナロク信号に変換されてTVモニタ13に送ら
れ、ドライビングゲ−ムの画像がリアルタイムに表示さ
れる。
【0050】続いて、このゲーム装置の動作を図3以降
をも参照しながら説明する。これらの図は、CPU10
1により実行される車の挙動計算を示す。この実施例に
おける車の挙動計算は、地形と車両の当り具合を判定し
て車を地形の上に置きならがら、地形上を車を走行させ
る処理と、仮想的に設定されたサスペンション装置によ
ってボディの揺動挙動(ロール方向、ピッチ方向)を計
算する処理(以上、この二つの処理を「通常走行処理」
として一緒に説明する。)と、スピン、テールスライド
やドリフト走行等の滑動挙動や、車が横転するかあるい
は横転しようとする挙動のような通常走行以外の特殊な
挙動(換言すれば、ハンドルによって選択され、あるい
は指向された方向以外の方向への挙動)のための計算が
含まれる。本実施例においては、この計算がCPUに大
きな計算負荷を与えることなく実現される。
【0051】先ず、ゲーム装置が起動すると、CPU1
01は例えば一定時間t毎のタイマ割込み処理によって
図3に示す処理を開始する。まず、プレーヤが入力装置
11を操作することによる、車の運転に関わる操作情
報、例えばハンドルの切角(舵角)、アクセル開度、ブ
レーキの操作状況等を入出力インターフェイス106を
介してデジタル量として読み込む(ステップ300)。
【0052】これに次ぐ、CPU101の処理は、大別
して、それらの操作情報に基づいて車の動きのシミュレ
ーション(模擬運転)を実行する挙動計算処理と描画処
理とから構成される。この挙動計算処理は、通常走行挙
動処理と特殊挙動処理とから構成される。通常走行挙動
及び特殊挙動の具体的内容は、先に説明されている。特
殊挙動処理は、既述のように、滑動挙動処理と横転挙動
処理から構成される。ここで、説明された車の各挙動処
理の詳細は、後述される。
【0053】ステップ400は通常走行挙動処理を実行
する。ステップ500は車の運転状況が既述の滑動運動
(滑動挙動)を必要とするか否か、例えば車が高速走行
をしているが故、カーブやコーナーを曲がり難い状況が
生じたか否かを判断する。滑動運動が必要と判断された
場合(ステップ600)は、ステップ700において、
滑動運動のための挙動計算が実行される。滑動運動が必
要ないと判断された場合はステップ800に移行し、横
転挙動処理が必要か否かが判断される。ここで云う横転
挙動とは、先に説明されているとおり、遊戯者側の車の
前輪が敵車の後輪に乗り上げて車が横転しようとする挙
動であるとする。
【0054】ここで、横転挙動が必要ない判断された場
合は、ステップ1100の処理に移行し、一方、その必
要性が肯定された場合は、ステップ1000の横転挙動
演算処理に移行する。ステップ1100は、描画処理に
該当するものであり、CPU101は3次元の各形状デ
ータを視野座標系に透視変換するための透視変換マトリ
クスを作成し、このマトリクスを形状データとともにR
AM103を介してジオメタライザに指定する。
【0055】図4は、前記滑動挙動要求判断処理(ステ
ップ500)を詳細に説明するフローチャートである。
このフローチャートを説明する前に、車の滑動挙動を制
御する上で本発明によって提供される基本的なモデルに
ついて説明する。一般に車両の滑動運動は、車両の進行
方向に対して交差する方向の力が加わった場合に生ず
る。例えば、カーブでは車に遠心力が与えられ、これが
車をスピンあるいはテールスライド(ドリフト)させる
原因となる。
【0056】そこで、図5に示すように、この実施例に
おいては、滑動挙動制御に当たり、車10Aを進行方向
に沿って均等に2分割し、各部分の重心位置J1,J2
滑動挙動の基礎となる物理量を与え、この物理量に応じ
て車の滑動挙動を制御する。したがって、4輪毎に加わ
る力を演算する場合に比べて、計算に必要な物理量の数
を低減させながら、実際の車の挙動に近づけた滑動挙動
を再現できる。
【0057】この実施例において、車に対して、その重
心を通るX,Y,Z軸の3次元ボディ座標系を図6のよ
うに定め、X軸周りの前後方向回転をピッチ運動、Y軸
周りの回転運動をヨー運動、Z軸周りの横方向回転をロ
ール運動とそれぞれ定める。重心の位置座標を(Px,
Py,Pz)、重心位置での各方向の速度をVx,V
y,Vz、ピッチ角度をRx,ピッチ角速度をWx,ヨ
ー角度をRy,ヨー角速度をWy,ロール角度をRz,
ロール角速度をWzとする。
【0058】続けて、滑動要求判断処理の具体的内容が
図4に基づいて説明される。ステップ502において左
側ブロックの重心J2に於けるグリップ(タイヤが路面
を噛む力:GL)が演算される。ステップ504におい
て、同様にして、右側ブロックのグリップ(GR)が演
算される。これらのグリップは、アクセル開度から求め
られる車の速度(V)と、ハンドル装置の操舵角(θ)
と、そしてタイヤの所定の基準点に対する高さ(H)等
から演算される。
【0059】GR(GL)= f(V,θ,H) CPU101はこられのグリップを順次計算し、RAM
の所定記憶領域に順次更新記憶する。なお、グリップの
演算に当たってタイヤの高さを演算するのは、図7
(1)に示すように、車10Aを進行方向後方より見た
とき、右側タイヤ10Rと左側タイヤ10Lとが矢示に沿
った挙動を順次採り、タイヤと基準位置100Aとの間
の距離が順次プラス側に大きくなる場合は(HL1
L2,HR1<HR2)、タイヤが地形からの反力をより受
ける傾向となってグリップが増加する傾向となり、一
方、図7(2)に示すように、その距離が順次マイナス
側に大きくなる場合は(HL1>HL2,HR1>HR2)、タ
イヤが地形から受ける反力が順次小さくなる傾向となっ
てグリップが順次低下するので、これをグリップの演算
に反映させるためである。よって、グリップの演算で
は、「H」の値或いは「H」の変化率等が入力として使
用される。
【0060】次いでステップ506において、CPU1
01はニュートラル位置に対するハンドル操舵方向を判
定する。この判定は公知の角度センサからの入力に基づ
いて実行される。操舵方向が右方向である場合は、CP
Uは101はRAM103内の作業エリアから左側ブロ
ックのグリップ値(GL)を読み込み、操舵方向が左方
向である場合は、CPUは左側ブロックのグリップ値
(GR)を読み込む(ステップ508,510)。そし
て、操舵位置がニュートラルである場合は、滑動挙動が
生じないとして、滑動要求判断処理フラグ(F)に滑動
要求が否定される”0”を設定する。
【0061】ステップ514では、右側グリップ
(GR),左側グリップ(GL)と仮想的に設定される摩
擦係数(μ)とを比較し、グリップ値が摩擦係数以上で
あればタイヤが地形に対して滑っていないとして既述の
ステップ512に移行し、グリップ値が摩擦係数より小
さい場合にはタイヤが地形に対して滑っているとしてス
テップ516に移行し、滑動要求判断処理フラグ(F)
に滑動要求を肯定する”1”を設定する。
【0062】CPU101は既述のステップ600(図
3参照)において、滑動要求判断処理フラグ(F)の内
容を読み込み、F=「0」の場合はステップ800に示
す横転挙動判定処理に移行し、F=「1」の場合はステ
ップ700に示す滑動挙動計算処理に移行する。CPU
は、既述の摩擦係数(μ)をハンドルの操舵角、アクセ
ル開度(車速)とによって求めることができる遠心力、
そして車速等とから適宜摩擦係数(μ)を演算する。路
面の状況(仮想的に路面をドライとするか、あるいはウ
エットとするか。)が適当に想定されることにより、C
PUは摩擦係数を適宜変更する。
【0063】図8は、滑動挙動計算処理のサブルーチン
であり、ステップ702において、CPU101は、操
舵角(θ)と、グリップと摩擦係数との差分の絶対値|
R(GL)−μ)|とに基づいて、これらが共に所定値を
越える場合は、滑動要求量が大きいとして車をスピンさ
せる動作の処理に移行する。一方、ステップ702の処
理において、前記絶対値が所定値以下である場合は、車
の後部(テール)をスライドさせるテールスライド走行
処理に移行する。
【0064】テールスライド走行処理(ステップ70
4)において、CPUは、操舵角と車速等に基づいて、
車両の進行方向に直角方向に設定された横速度とヨー角
速度(あるいはこれらの加速度、又は速度と加速度の両
方)とを車に与え、先のステップ400で演算された車
の通常走行処理結果(これについては、後述する。)と
合わせて車の全体挙動演算を行う。一方、スピン走行処
理(ステップ706)においては、CPU101は、形
状データROM111に記憶してある一連のスピン挙動
のデータを順次読み出し、これを順次グローバル座標系
にモデリング変換する。
【0065】なお、図4に示す滑動要求判断処理におい
て、ハンドルに操舵角が発生した場合にステップ502
とステップ504の計算を行い、ハンドルに操舵角が発
生しない場合は、ステップ512に移行するようにして
も良い。
【0066】次に、通常走行処理を図9に基づいて説明
する。CPU101は前回(最新)の挙動計算により求
められていた速度v、操舵角、車両位置を含むデ−タか
ら、車Cの新しい位置を演算する(ステップ402)。
次いで、ステップ404で、新しく演算された車Cの位
置に所定の長さを加えて各タイヤTn(n=1〜4:4
輪)の位置Pn(n=1〜4:4輪)を演算する(図1
0参照)。
【0067】さらに、ステップ406で、図11に示す
ように、地面に相当する線XとタイヤTnの下端Pnに
相当する点との間の距離dn(n=1〜4:4輪)を演
算すると、この距離dnが地面下に潜ったタイヤTnの
深さあるいは地面とタイヤとの間の距離となる。ステッ
プ408では、この距離dn分車のボディ座標を移動さ
せて車のタイヤの先端が丁度地表面に位置するように移
動させる。
【0068】以後の処理は、車のロール方向あるいはピ
ッチ方向の姿勢を制御するための仮想的なサスペンショ
ンに相当する。この仮想的なサスペンションの制御に当
たっては、図12に示すように、車体をその重心CPと
左右の前輪FTL,FTRとを結んだAブロック(CP−
FTL−FTR)、車体をその重心CPと左右の後輪LT
L,LTRとを結んだBブロック(CP−LTL−LTR
からなる2ブロックに分けたモデルとし、それぞれのブ
ロック毎に、サスペンション制御のためのベクトル計算
を実行する。したがって、4輪毎に仮想的なサスペンシ
ョンを与えたモデルに比較してCPUに与える計算負荷
は低減される。
【0069】図13に示すように、図9に示す通常走行
挙動計算処理におけるステップ410において、Aブロ
ックの重心位置に与えられるベクトル(FU)を計算
し、ステップ412ではBブロックの重心位置に与えら
れるベクトル(RU)を計算する。このベクトルは、ハ
ンドルの舵角、車の正負の加速度、車の速度、そして路
面状況等に基づいて演算される。
【0070】ステップ414ではこれらのベクトルを加
算して平均し、平均化ベクトル(CU=(FU+RU)/2)を両ブロ
ックの連結点であって、車のモデルにおいて重心位置と
されるCPに与える(図13参照)。このCPにおける
ベクトル(CU)は、AブロックとBブロックとに加わ
るベクトルを合成し、その平均に等しいから、車全体の
挙動を決定するものとして取り扱うことができる。ステ
ップ416では、このベクトルCUをX軸方向とZ軸方
向の成分(CUX,CUZ)とに分解する。
【0071】図14は車を平面方向から見た剛性モデル
を示した模式図であり、Z軸方向とX軸方向に仮想のサ
スペンション装置(バネ)が設定されている。図6にも
示すように、Z軸方向を車の進行方向とすると、ベクト
ルCUZはX軸回りに与えられる力であるからピッチン
グ方向に加わる力であり、CUXはZ軸回りに与えられ
る力であるからロール方向に加わる力である。
【0072】CPU101は、各方向成分のベクトルの
値に応じて車体の挙動姿勢を制御した画像を構成する。
CPUはRAMの所定記憶領域にCUXとCUZの値を順
次更新記憶させることができる。RAMに記憶されてい
るCUXとCUZの値をカレント値と云うものとする。
【0073】次の処理は、計算によって得られたCUX
とCUZをカレント値に一致させる。CUXの計算値と最
近(前回のタイミング)のカレント値との差がロール運
動を与え、CUZの計算値と最近(前回のタイミング)
のカレント値との差がピッチング挙動を与えることにな
るため、仮想のサスペンション装置はロール方向及びピ
ッチング方向の挙動を減衰させる作用を持つ。
【0074】ここで説明する仮想のサスペンション装置
は、計算されたCUXとCUX(CURRENT)と比較し、両者
の差に基づいてロール方向の加速度を決定し、又、計算
されたCUZとCUZ(CURRENT)と比較し、両者の差に基
づいてピッチング方向の加速度を決定してこれらをRA
Mの作業エリアに順次更新記憶させて車体の姿勢制御に
反映させる。この際、仮想のサスペンション装置は、こ
れらの加速度の値に後述の処理を与えて車体の挙動を安
定化させる。
【0075】ステップ418において、CUX>CU
X(CURRENT)と判断された際は、ベクトルの変化に伴って
出現するロール角加速度のカレント値からサスペンショ
ン定数(SUSTYPE:この係数の値によってサスペンショ
ンの減衰特性が決定される。)を順次減じ、これを新た
なロール角速度とする。すなわち、ステップ420にお
いて、ASP(X)←ASP(X)−SUSTYPEとする。ここで、A
SP(X)は、ロール方向の加速度を示す。
【0076】一方、CUX<CUX(CURRENT)と判断され
た際は、ステップ422に移行し、ベクトルの変化に伴
って出現するロール角加速度のカレント値にサスペンシ
ョン定数(SUSTYPE)を順次加算し、これを新たなロー
ル角速度とする。すなわち、ASP(X)←ASP(X)+SUSTYP
Eとする。すなわち、ステップ420及びステップ42
2の処理において、CUX(CURRENT)に対するCUXのベ
クトルの大きさの変化に起因する加速度に対して、これ
を打ち消す方向に加速度を与えることにより(あるいは
一連の処理タイミングにおいてベクトルの変化を加速度
変化として車体の挙動制御に反映させる際、加速度が一
定になるようにして)、車体の挙動変化を減衰(安定)
させようとする仮想的なサスペンションが提供される。
【0077】そして、CUX=CUX(CURRENT)となった
際、ロール方向の姿勢安定は完了したとして次にステッ
プに移行する。ステップ424乃至ステップ428は、
Z軸方向であるピッチング方向の加速度ASP(Z)の値を
制御しようとするもので、その内容はステップ418乃
至422の処理と同様である。ステップ418乃至42
8によって、ロール方向とピッチング方向の車体の姿勢
が安定化された後リターンする。
【0078】したがって、図9に示すルーチンによれ
ば、車のロール方向やピッチ方向の揺動運動が制御され
るに際し、揺れる方向が異なる二つの揺動運動がともに
十分反映される三角形のモデルを前輪側と後輪側の二つ
に設定して(AブロックとBブロック)、これを揺動運
動に伴う車体の姿勢制御を実行しているため、少ないデ
ータ数に依りながら、車体の姿勢制御を確実かつ的確に
再現することが可能となる。しかも、この揺動運動の制
御に当たり、車体に加わるベクトルを使用していること
から、車の姿勢制御をより実際的にシミュレートするこ
とができる。このことは先の図4に示すルーチンにおい
ても同様であり、滑動挙動を制御するモデルにタイヤの
グリップ値や摩擦係数を使用していることから、車の滑
動挙動をより実際的にシミュレートすることができる。
【0079】また、図9に示すルーチンによれば、Aブ
ロックのベクトルとBブロックのベクトルを加算平均化
し、これを車の重心点に適用しているために、さらに車
の姿勢制御をより少ないデータ数で実際的にシミュレー
トすることが可能となる。
【0080】次に、横転挙動判定処理について説明す
る。この処理では、自車10Aの左前輪(12L)が自
車の前を走る敵車の右後輪に乗り上げた場合、図15の
(1)→(2)→(3)→(4)に示すように自車が左
側の車輪を持ち上げ、残りの右側の車輪で所定時間走行
する挙動を自車と前者の車輪の衝突判定によって実現
し、車の各輪毎に与えられる力の計算に基づいてこのよ
うな挙動演算を適用するものでないから、CPUに与え
る計算負荷を低減できる。
【0081】この実施例では、既述のように車同士の衝
突判定に際して車を楕円で近似するモデルが使用されて
いる。このモデルは既述の地形データROM109のボ
ディ座標系に定義されており、コ・プロセッサ108は
このモデルをグローバル座標系に配置して車同士の衝突
判定を行う。
【0082】自車と他車或いは他の固定物等との衝突判
定モデルの設計に際して、車を円としたモデルと仮定す
ると、車のように縦、横、高さの比が異なる場合、例え
ば、車の進行方向に円の直径を合わせると車の側面の衝
突判定ラインが車の側面を越えて設定され、また、車の
進行方向とは直角方向に衝突判定ラインが設定される
と、車の進行方向の衝突判定ラインが車の内部に設定さ
れ、衝突判定結果が不自然にならざろう得ない。
【0083】そこで、車体の長さ、幅、高さは通常互い
に異なるので、車を矩形で近似してコリジョン判定をす
るのが良い筈である。しかし、矩形では、エッジ、コー
ナーまでの距離が側面や角などでまちまちであるから、
すなわち、直方体の周辺部(境界)は場合分けを必要と
する複数の関数によって定義されるから、図16に示す
ように、車の動きがコリジョンブロック(衝突計算用に
近似したモデル)C1,C2の回転を必要とするような場
合、計算が複雑になる。
【0084】そこで、本実施例では、コリジョンブロッ
クを車の長さ、及び幅に相当する半径を持った楕円EL
1,EL2(図17参照)で近似してこれをX、Z軸上に
配置して衝突の判定に使用することとする。この楕円E
1,楕円EL2の表面(周辺或いは境界)の位置データ
は、中心点01,02の回りのそれぞれ単一の関数F1
2として各々与えられる。
【0085】先ず、コリジョン判定に際し、横転挙動判
断を示す図18のステップ802において、図19に示
すように、楕円EL1,EL2同士の接点(衝突点)S1
はそれぞれの中心点O1,O2を結んだ直線上にあると仮
定し、その直線の単位ベクトルnを、関数F1(F2)を
使って演算する。次いで、ステップ804にて、車の回
転の逆行列を演算し、ステップ806でその逆行列に単
位ベクトルを掛け、新しいベクトルをn’を作る(図1
7参照)。ここで、逆行列を演算するのはハンドル角、
速度等に対応した楕円EL1,楕円EL2の3次元回転を
計算上で座標系の初期(基準)位置に戻すためである。
【0086】次いで、ステップ808で、X,Z軸上の
座標とベクトルn’との内積を演算し、車の中心O1
2からコリジョン楕円表面へのベクトルPを求める。
実際の演算では、ベクトルn’は単位ベクトルなので、
関数F1(F2)で決まるX,Z軸上の点(a,c)と
n’の各成分(nx,nz)を乗ずれば(掛ければ)よ
い。つまり、 P=(a・nx,c・nz)となる。ま
た、ステップ802乃至808の処理は、コリジョンの
判定対象となっている楕円EL1,楕円EL2各々に対し
て行われる。
【0087】そして、ステップ810で、それぞれのコ
リジョン楕円EL1,EL2のベクトルPの絶対値である
半径r1,r2(図19参照)を加算した値が、それぞれ
の中心点O1,O2を結んだ距離Lよりも長いかまたは短
いかに応じて衝突状態か否かを判定する。すなわち、L
>r1+r2のときはEL1とEL2とが衝突状態にはない
と判定され、L≦r1+r2の場合、例えば、自車の前を
走る敵車と自車との組み合わせからなる、EL1とEL2
との間に衝突状態が発生したと判定される。
【0088】ステップ810において、衝突判定の結果
が肯定された場合は、ステップ812に移行し、二つの
車(自車と敵車)のそれぞれについて車のワールド座標
系における進行方向が演算される。CPUはRAM内に
車のワールド座標を順次記憶しており、複数の座標値か
ら車の進行方向のベクトルを計算する。CPUは車同士
の進行方向が互いに成す角度を、このベクトルから演算
する。一方、ステップ810において、衝突判定が否定
された場合、すなわち、衝突が無いと判断された場合
は、横転挙動判定フラグF1に横転挙動を必要としな
い”0”を設定する(ステップ811)。
【0089】ステップ814では、互いに走行する車が
成す角度、図19に示すように、自車(EL1)が進行
する方向D(EL1)と敵車(EL2)が進行する方向D
(EL2)とが成す角度(θ)、が所定値以内、例えば
45度以内であるか否かを判定し、この角度を越える場
合は自車の前輪が前車(敵車)の後輪に乗り上げる衝突
が生じ得ないとして、既述のフラグF1=”0”とし、
既述の横転動を伴わない通常の衝突判定後動作に移行す
る(ステップ816)。ステップ814の処理があるこ
とにより、後述のステップ818及びステップ820の
処理を経ることなく通常衝突判定後動作に迅速に移行す
ることができる。また、衝突判定が肯定された後の衝突
判定後動作として、通常動作(ステップ816)と図3
の横転挙動(ステップ1000)の二つを展開できるこ
とになり、対象体に対する衝突後のシミュレーションを
より多彩に展開でき、ゲーム装置としての趣味感や臨場
感、あるいは興味感を向上することができる。ここで、
通常衝突判定後動作は、形状ROM111に予め格納さ
れている車の一連の図形(スピン、クラッシュ等)から
構成され、既述のような横転挙動は含まれない。
【0090】一方、ステップ814において、所定角度
範囲である場合は、さらに横転挙動が必要であるか否か
の判断が実行される。先ず、ステップ818において、
図20に示すように、既述の衝突判定モデルにおけるベ
クトルPが成す角度(自車のモデルの角度をθRとし、
他車のモデルに於ける角度θTとする。)を求める。次
のステップ820では、この角度が前車において前輪の
設置範囲にあるか、そして後車の後輪の設置範囲にある
かが判定される。図21はこの判定のモデル図であっ
て、ステップ820では、楕円で近似された自車モデル
(EL2)におけるθRが実際の車の図形10Aにおける
左右の前輪の設置範囲にあるか、すなわち、(θ1≦θR
≦θ2)OR(θ3≦θR≦θ4)であるかが判定される。な
お、図21において、角度(θ)は車の進行方向に沿っ
た基準線Mに対する角度を云う。
【0091】そして、ステップ820では、楕円で近似
された他車モデル(EL1)におけるθFが実際の車の図
形における左右の後輪の設置範囲にあるか、すなわち、
(θ5≦θF≦θ6)OR(θ7≦θF≦θ8)であるかが判定
される。
【0092】ステップ820において、(θ1≦θR≦θ
2)AND(θ7≦θF≦θ8)、又は、(θ3≦θR≦θ4)AN
D(θ5≦θF≦θ6)の場合は、自車の右前輪が前車の左
後輪が乗り上げ、又は自車の左前輪が前車の右前輪に乗
り上げているとして、既述の横転挙動判定フラグF1
横転挙動を必要とする”1”をたてて図3のルーチンに
リターンする(ステップ822)。ステップ820にお
いて、角度範囲がこれ以外の場合は、ステップ816に
移行する。
【0093】図3に示すステップ900において、CP
U101はRAMの所定記憶エリアに設定された前記横
転挙動判定フラグ(F1)の内容を読み込み、F1
「1」の場合はステップ1000の横転挙動計算処理に
移行し、F1=「0」の時はステップ1100に移行す
る。
【0094】ステップ1000に云う横転挙動とは、図
15を参照して既に説明したように、自車が衝突側の車
輪を持ち上げて他の側の車輪で片側行を所定時間継続
し、この時間経過後は衝突前の状態に復帰すること
((4)の状態から(1)の状態に順に復帰するこ
と。)を内容とする挙動を云う。図15に示すよう、車
の衝突側の車輪を地形から最大高さHの位置になるよう
な画像が得られる。ここで、Hの値は自車(EL2と)
前車(EL1)のタイヤの回転速度等に応じて、回転速
度が大きいときにはHの高さを大きくする。また、最低
値を決め、自車と前車との回転速度に応じて付加高さを
加えるようにしても良い。またさらに、必要に応じて片
側輪走行状態の継続時間を調整しても良い。
【0095】なお、図21において、衝突点が成す角度
θT,θRを楕円モデルの元で計算したが、一点鎖線で示
すように、車10Aに対する矩形モデルの元でこの角度
を計算するようことを妨げるものではない。
【0096】図22はタイヤの回転数を制御する処理ル
ーチンを示す。CPU101は、この処理動作を一定時
間毎のタイマ割り込み処理によって実行する。この実施
例のゲーム装置本体10は、遊戯者に対して、タイヤが
回転するように見せてゲームの臨場感を向上するため、
図23に示すように、タイヤ12Aに模様230等に相
当するテクスチャーを張り付け、これを実線で示すよう
に回転させるようにしている。しかしながら、人間の視
覚の生理として、タイヤの回転数が増大すると破線のよ
うに逆回転する映像を遊戯者に与えゲームとしての臨場
感を損なうことになる。そこで、図22は、このような
事態を避ける処理を提供する。
【0097】ステップ2000では、CPU101はア
クセル開度とギヤ情報(何速のギヤが選択されている
か、マニュアルシフト、オートマティックトランスミッ
ションにおいて同様)を入力装置11から読み込む。ス
テップ2002において、CPUはこの入力情報に基づ
いてタイヤの回転数(R)を演算する。ステップ200
4において、CPUは、この回転数(R:rpm)と図2
3で示される実線方向への回転であって、破線で示され
る回転動を遊戯者に与えない最大回転数(Rmax)とを
比較する。
【0098】R<Rmaxのときは、図23のような逆回
転の映像を遊戯者に与えたないとしてリターンし、R≧
maxのときはこのことを防止するためにステップ20
06に移行して、タイヤの回転数をRmaxに固定する。
但し、グローバル座標系における車の速度計算に当たっ
ては、図22の処理を適用することなくタイヤの回転速
度がアクセル開度及びギヤ情報に基づいて決定される。
【0099】なお、この実施例において、揺動運動をロ
ール方向(左右の振動)及びピッチ方向(前後の振動)
としたが、これに限ることなくバウンディングを含めて
も良い。また、衝突結果挙動として、横転挙動を発生さ
せたが、本実施例で説明した他の挙動をこの衝突結果挙
動に含めても良い。また、図4の滑動要求判断処理ルー
チンにおいて、左右のグリップ力の相加平均あるいは相
乗平均を挙動制御に用いても良い。このことは既述のA
ブロックとBブロックのベクトル計算にも適用すること
ができる。また、図4の処理において、ハンドルに操舵
角が発生していないときは、車の重心点についてのみ与
えられて物理量を以て車の挙動計算を行うようにしても
良い。
【0100】図18のフローチャートにおいて、二つの
対象体の進行方向、例えば二つの対象体が互いに成す角
度(ステップ812、ステップ814)をステップ81
0の衝突判定に反映させることができる。この態様とし
ては、例えば対象体が互いに成す角度が所定値以内の場
合は、衝突が起こり得ないとして、ステップ802乃至
808の処理を省略したり、あるいは、この方向や角度
を、3次元空間内での対象体に衝突判定処理を行うに際
し、この処理に使用される各種特性値に対する補正値と
して与える等である。よって、このような実施態様によ
り、二つの対象体の衝突判定を正確にそして迅速に実行
することができる。また、図18の処理において”No”
の場合、ステップ811に移行させても良い。
【0101】なお、図24は、対象体としての衝突判定
モデルの他の実施例を示すものである。この実施例で
は、このモデルは二つの楕円体ELをそれぞれの長手方
向が平行になるように配置し、その長手方向を車の幅方
向にしたものである。このモデルにおいては、二つの楕
円が合成された形状の輪郭形状をもって衝突判定の境界
としている。一点鎖線で囲む部分は一つの車輪として考
えられる。したがって、このモデルは、本実施例で使用
する車輪が車体より大きく突出した車により近いモデル
になる。このことにより、衝突判定をモデル化して実行
したとしても、車輪の部分で生じる衝突を正確に把握す
ることができる。
【0102】
【発明の効果】請求項1記載の発明によれば、対象体に
目的とする挙動に適した複数の部分からなるモデルが適
用され、このモデルに於ける各部分に対象体の挙動計算
に必要な物理量を与えているために、対象体の挙動をよ
りリアルに、すなわち実際的シミュレートでき、しかも
対象体がこの挙動を的確に再現できるようにする。そし
て、このモデルにおける複数の部分をより少なくなるよ
うにすれば、必要な特性値の数を低減し、以てシミュレ
ート手段に与える演算負荷を低減しながら対象体が目的
とする挙動を表すように制御できる。
【0103】請求項2記載の発明によれば、少ない特性
値によって対象体の滑動挙動を的確に表現することがで
きる。請求項3記載の発明によれば、各多角形の例えば
重心位置に揺動挙動の再現に必要な特性値である、例え
ばベクトルを与え、そして、請求項4記載の発明は、各
多角形に与えられたベクトルを合成しているから、この
合成ベクトルに基づいて車の揺動を的確に制御すること
ができる。
【0104】特に、請求項5記載の発明のように、シミ
ュレート手段が合成ベクトルの変化を捉えることによ
り、ベクトルの変化を車体の揺動方向の姿勢変化に反映
しながら車の挙動を的確にシミュレートする。さらに、
請求項6記載の発明によれば、シミュレート手段が、合
成ベクトルをロール方向とピッチング方向とに分解して
これを抑制手段に出力し、抑制手段ではこの結果を車体
のロール方向、ピッチ方向の姿勢変化の抑制に反映させ
るため、仮想的なサスペンション装置が実現され、実際
的な車のシミュレーションが提供される。
【0105】請求項7記載の発明によれば、シミュレー
ト手段は、対象体に対して、この対象体の挙動を決定す
るための二つの特性値を与えているため、シミュレート
に必要なデータ数を低減できる。
【0106】請求項8記載の発明によれば、衝突判定に
よって対象体を予め定められた非選択方向に移動させる
ようにしているため、対象体の複数箇所における挙動計
算を衝突の都度行い、その結果として対象体を非選択方
向に移動させる制御と比較すると、シミュレート手段に
与える演算負荷を低減することができるとともに、衝突
があると確実に対象体を非選択方向に移動させる。よっ
て、シミュレート手段に与える演算負荷を低減しなが
ら、対象体に非選択方向に移動する挙動を与えることが
できる。
【0107】請求項9記載の発明によれば、衝突点が対
象体に対して成す位置情報を対象体の移動方向制御に反
映させることができるために、この位置の如何によって
非選択方向への移動の出現の有無を調整することがで
き、故に実際の対象体の挙動に合わせることができる。
【0108】請求項10記載の発明によれば、衝突点が
対象体に対して所定の角度範囲にあるかに応じて、対象
体を非選択方向に移動させる制御の有無等を決定するこ
とができ、実際的なシミュレーションを遊戯者や操作者
に提供することができる。請求項11記載の発明によれ
ば、対象体を仮想的な3次元空間における高さ方向に移
動させることができ、実際的なシミュレーションが可能
となる。
【0109】請求項12そして13記載の発明によれ
ば、計算された移動方向を対象体のシミュレートに反映
させるので、対象体をより多彩にシミュレートし、使用
者に与える趣味感、興味感や臨場感を向上することがで
きる。
【0110】さらに、請求項14記載の発明によれば、
趣味感や興味感を高めたゲーム装置を提供することがで
きる。そして、請求項15及び16記載の発明によれ
ば、衝突判定における画像処理を迅速、かつ正確に実施
できる画像処理装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の対象体の一例を示す平面図であるであ
る。
【図2】本発明の一実施例に係わるゲーム装置のブロッ
ク構成図である。
【図3】同ブロック構成図におけるCPUのメイン処理
を示すフローチャートである。
【図4】図3の処理における滑動要求判断処理を示すサ
ブルーチンである。
【図5】滑動挙動計算のためのモデル図である。
【図6】車の挙動を説明するためのモデル図である。
【図7】タイヤの高さ変化を示す概念図である。
【図8】滑動挙動計算処理を示すサブルーチンである。
【図9】通常走行挙動計算処理を示すサブルーチンであ
る。
【図10】タイヤの位置計算のためのモデル図である。
【図11】図10と同じモデル図である。
【図12】仮想的なサスペンションのための制御動作を
説明するモデル図である。
【図13】同モデル図である。
【図14】サスペンションのモデル図である。
【図15】車体の横転挙動のモデル図である。
【図16】車同士の衝突判定を示すモデル図である。
【図17】同モデル図である。
【図18】図3の横転挙動制御処理のサブルーチンであ
る。
【図19】楕円モデルの衝突判定のためのモデル図であ
る。
【図20】衝突点の角度範囲を示すモデル図である。
【図21】同モデル図である。
【図22】タイヤの回転数制御を説明するフローチャー
トである。
【図23】タイヤの回転数制御を説明するモデル図であ
る。
【図24】対象体に対する衝突判定モデルの他の例を示
す。
【符号の説明】
10 ゲーム装置本体 11 入力装置 12 出力装置 13 Tvモニタ(表示手段)

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 画面にある対象体の移動に関する操作情
    報を出力する操作手段と、この操作情報に基づいて前記
    対象体の挙動をシミュレートし、これを表示手段に出力
    するシミュレート手段と、を備える画像処理装置におい
    て、前記シミュレート手段は、前記対象体が成す挙動に
    応じて、この対象体を複数の部分からなるモデルとする
    モデル化手段と、各部分にこの対象体の挙動計算に必要
    な特性値を与える特性値付与手段とを備える画像処理装
    置。
  2. 【請求項2】 前記対象体はプログラム上の車であり、
    前記モデル化手段は、この対象体の滑動挙動に対して、
    この対象体を進行方向に沿って均等に2分割するモデル
    を形成する請求項1記載の装置。
  3. 【請求項3】 前記対象体はプログラム上の車であり、
    前記モデル化手段は、、この対象体の揺動挙動に対し
    て、この車の重心と前後輪とを結合する二つの多角形か
    らなるモデルを形成する請求項1記載の装置。
  4. 【請求項4】 前記特性値付与手段は前記各部分に仮想
    的なベクトルを与え、前記シミュレート手段は、このベ
    クトルの合成ベクトルに基づいて車の挙動を制御する請
    求項3記載の装置。
  5. 【請求項5】 前記シミュレート手段は、前記ベクトル
    の変化に伴う車体の揺動方向の姿勢変化をシミュレート
    する請求項4記載の装置。
  6. 【請求項6】 前記シミュレート手段は、前記合成ベク
    トルをロール方向とピッチング方向とに分解し、各方向
    における姿勢変化を抑制する抑制手段を備える請求項5
    記載の装置。
  7. 【請求項7】 画面にある対象体の移動に関する操作情
    報を出力する操作手段と、この操作情報に基づいて前記
    対象体の挙動をシミュレートし、これを表示手段に出力
    するシミュレート手段と、を備える画像処理装置におい
    て、前記シミュレート手段は、前記対象体に対して、こ
    の対象体の挙動を決定するための二つの特性値を与える
    特性値付与手段を備え、この特性値に応じてこの対象対
    の挙動をシミュレートする画像処理装置。
  8. 【請求項8】 画面にある対象体の移動に関する操作情
    報を出力する操作手段と、この操作情報に基づいて前記
    対象体の挙動をシミュレートし、これを表示手段に出力
    するシミュレート手段と、を備える画像処理装置におい
    て、前記シミュレート手段は、前記対象体を前記操作手
    段によって選択された方向又はこれ以外の予め定められ
    た非選択方向に向けて移動させる移動方向制御手段と、
    この対象体に関する衝突を判定する衝突判定手段と、を
    備え、この衝突判定が肯定されたときに、前記移動方向
    制御手段は、前記対象体を前記非選択方向に向けて移動
    させる制御を実行する画像処理装置。
  9. 【請求項9】 前記シミュレート手段は、さらに、前記
    対象体に対する衝突点を演算する衝突点演算手段を備
    え、前記移動方向制御手段は、この衝突点が前記対象体
    に対して成す位置に応じて、前記対象体の移動方向を制
    御する請求項8記載の装置。
  10. 【請求項10】 前記シミュレート手段は、前記衝突点
    が前記対象体に対して所定の角度範囲にあるか否かを判
    定する判定手段を備え、前記移動方向制御手段は、この
    衝突点がこの所定角度内に在るときに、この対象体の移
    動方向を前記非選択方向にする請求項9記載の装置。
  11. 【請求項11】 前記非選択方向は、仮想的な3次元空
    間における前記対象体の高さ方向である請求項8乃至1
    0のいずれか一項記載の装置。
  12. 【請求項12】 前記シミュレート手段は、対象体が移
    動する方向を算出するとともに、この移動方向を前記移
    動方向制御手段に出力する移動方向算出手段を備え、前
    記移動方向制御手段はこの移動方向に基づいて、前記対
    象体の移動方向を制御する請求項8記載の装置。
  13. 【請求項13】 前記衝突判定手段は、複数の対象体同
    士の衝突を判定する手段であって、前記移動方向算出手
    段は、この複数の対象体が互いになす角度を算出し、こ
    の角度を前記移動方向制御手段に出力する請求項12記
    載の装置。
  14. 【請求項14】 請求項1乃至13のいずれか一項記載
    の画像処理装置と、画像処理結果を表示する表示手段と
    を備えるゲーム装置。
  15. 【請求項15】 画面上に出現する対象体に対する衝突
    を判定し、この衝突判定結果に基づいてこの対象体の挙
    動をシミュレートするシミュレート手段を備える画像処
    理装置において、このシミュレート手段は、前記対象体
    の移動方向を算出する移動方向算出手段を備え、得られ
    た移動方向に基づいてこの対象体に対する衝突を判定す
    る画像処理装置。
  16. 【請求項16】 前記移動方向算出手段は、移動する複
    数の対象体が互いに成す角度を算出し、前記シミュレー
    ト手段はこの角度に基づいて対象体同士の衝突を判定す
    る請求項15記載の装置。
JP13550195A 1995-06-01 1995-06-01 画像処理装置及びこれを備えたゲーム装置 Expired - Lifetime JP3783735B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP13550195A JP3783735B2 (ja) 1995-06-01 1995-06-01 画像処理装置及びこれを備えたゲーム装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13550195A JP3783735B2 (ja) 1995-06-01 1995-06-01 画像処理装置及びこれを備えたゲーム装置

Publications (2)

Publication Number Publication Date
JPH08329273A true JPH08329273A (ja) 1996-12-13
JP3783735B2 JP3783735B2 (ja) 2006-06-07

Family

ID=15153235

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13550195A Expired - Lifetime JP3783735B2 (ja) 1995-06-01 1995-06-01 画像処理装置及びこれを備えたゲーム装置

Country Status (1)

Country Link
JP (1) JP3783735B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000126454A (ja) * 1998-10-23 2000-05-09 Sega Enterp Ltd 遊戯装置及び画像処理装置
EP0933105A3 (en) * 1998-01-28 2001-01-03 Konami Co., Ltd. Video game machine, screen display method for video game, and recording medium containing screen display program
WO2004050203A1 (ja) * 2002-12-04 2004-06-17 Namco Ltd. 画像生成システム、プログラム及び情報記憶媒体
JP2018015374A (ja) * 2016-07-29 2018-02-01 株式会社セガゲームス ゲームプログラムおよびゲーム装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0933105A3 (en) * 1998-01-28 2001-01-03 Konami Co., Ltd. Video game machine, screen display method for video game, and recording medium containing screen display program
US6409597B1 (en) 1998-01-28 2002-06-25 Konami Co., Ltd. Video game machine, screen display method for video game, and recording medium containing screen display program
JP2000126454A (ja) * 1998-10-23 2000-05-09 Sega Enterp Ltd 遊戯装置及び画像処理装置
US8043158B2 (en) 1998-10-23 2011-10-25 Kabushiki Kaisha Sega Game device and image processing device
WO2004050203A1 (ja) * 2002-12-04 2004-06-17 Namco Ltd. 画像生成システム、プログラム及び情報記憶媒体
GB2402350A (en) * 2002-12-04 2004-12-08 Namco Ltd Image creation system, program, and information storage medium
US7744463B2 (en) 2002-12-04 2010-06-29 Namco Bandai Games, Inc. Image generation system, program and information storage medium
JP2018015374A (ja) * 2016-07-29 2018-02-01 株式会社セガゲームス ゲームプログラムおよびゲーム装置

Also Published As

Publication number Publication date
JP3783735B2 (ja) 2006-06-07

Similar Documents

Publication Publication Date Title
US5755620A (en) Game system and data processing method thereof
US6171186B1 (en) Game processing method, game device, image processing device, image processing method, and recording medium
US6652376B1 (en) Driving game with assist and training modes
US6409597B1 (en) Video game machine, screen display method for video game, and recording medium containing screen display program
JP3841437B2 (ja) ゲーム装置、その処理方法および記録媒体
US20100251185A1 (en) Virtual object appearance control
EP0790583B1 (en) Image processing method and image processor
JPH10151272A (ja) ゲーム装置
JPH08320949A (ja) 画像処理装置及びそれを用いたゲーム装置
US20040219978A1 (en) Image generation method, program, and information storage medium
JP4226663B2 (ja) 画像生成装置および画像生成方法
JPH08276074A (ja) ゲーム装置及びそのデータ処理方法
JP3783735B2 (ja) 画像処理装置及びこれを備えたゲーム装置
JPH08276070A (ja) ゲーム装置
JP5957258B2 (ja) プログラム、情報記憶媒体、ゲーム装置、およびサーバシステム
WO2009139147A1 (ja) ゲーム装置
JP3254091B2 (ja) 3次元シミュレータ装置及び画像合成方法
JP4846919B2 (ja) 模擬運転装置
JPH07116353A (ja) ビデオゲーム装置
JP4057760B2 (ja) ゲーム装置、および、情報記憶媒体
JP4886442B2 (ja) プログラム、ゲーム装置および情報記憶媒体
JP3638669B2 (ja) 画像合成方法及びゲーム装置
JPH11134515A (ja) ゲーム装置及びゲーム画面合成方法
JP2004334802A (ja) 画像生成システム、プログラム及び情報記憶媒体
JP3752081B2 (ja) 3次元シミュレータ装置及び画像合成方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050713

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060116

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060307

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100324

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110324

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120324

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120324

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130324

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130324

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130324

Year of fee payment: 7