JP2000200362A - ゲ―ム装置、及び当たり判定方法並びに当たり判定プログラムを記録した記録媒体 - Google Patents
ゲ―ム装置、及び当たり判定方法並びに当たり判定プログラムを記録した記録媒体Info
- Publication number
- JP2000200362A JP2000200362A JP10377451A JP37745198A JP2000200362A JP 2000200362 A JP2000200362 A JP 2000200362A JP 10377451 A JP10377451 A JP 10377451A JP 37745198 A JP37745198 A JP 37745198A JP 2000200362 A JP2000200362 A JP 2000200362A
- Authority
- JP
- Japan
- Prior art keywords
- polygon
- plane
- specified
- vector
- moving object
- 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.)
- Pending
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】
【課題】 当たり判定を高速かつ正確に行うことのでき
るゲーム装置等を提供する。 【解決手段】 既に特定してあるブロック内のいずれか
のポリゴンを判定ポリゴンとして特定し(S201)、
前記判定ポリゴンを含む平面の法線データn(S20
2)、平面の係数データd(S203)、判定ポリゴン
を取り囲む閉領域平面の法線データn(S204)、こ
れら平面の係数データd(S205)を各々メモリから
読み出す。しかる後に、先ず判定ポリゴンを含む平面に
対して、移動ベクトルの始点が表であってかつ終点が裏
の関係にあるか否かを判断する(S206)。前記関係
にあるならば、判定ポリゴンを含む平面と移動ベクトル
の交点を算出した後(S207)、前記交点が前記閉領
域平面により取り囲まれる閉領域内にあるか否かを判断
する(S208)ことによって、当たり判定を行う。
るゲーム装置等を提供する。 【解決手段】 既に特定してあるブロック内のいずれか
のポリゴンを判定ポリゴンとして特定し(S201)、
前記判定ポリゴンを含む平面の法線データn(S20
2)、平面の係数データd(S203)、判定ポリゴン
を取り囲む閉領域平面の法線データn(S204)、こ
れら平面の係数データd(S205)を各々メモリから
読み出す。しかる後に、先ず判定ポリゴンを含む平面に
対して、移動ベクトルの始点が表であってかつ終点が裏
の関係にあるか否かを判断する(S206)。前記関係
にあるならば、判定ポリゴンを含む平面と移動ベクトル
の交点を算出した後(S207)、前記交点が前記閉領
域平面により取り囲まれる閉領域内にあるか否かを判断
する(S208)ことによって、当たり判定を行う。
Description
【0001】
【発明の属する技術分野】本発明は、たとえばモニタデ
ィスプレイ上の仮想的な空間内に移動体と対象物とを表
示させてゲームを行うゲーム装置、及び移動体と対象物
との当たり判定方法並びに当たり判定プログラムを記録
した記録媒体に関する。
ィスプレイ上の仮想的な空間内に移動体と対象物とを表
示させてゲームを行うゲーム装置、及び移動体と対象物
との当たり判定方法並びに当たり判定プログラムを記録
した記録媒体に関する。
【0002】
【従来の技術】近年、仮想三次元空間で移動するキャラ
クタ(移動体)を表示するようにした種々のビデオゲー
ムが提供されるに至っている。このようなビデオゲーム
において、仮想三次元空間における地面、山や川等の地
形は、移動を伴わない非移動体として表現されている。
通常、地形のような非移動体は、多角形状を有するポリ
ゴンを複数組み合わせて構成されている。
クタ(移動体)を表示するようにした種々のビデオゲー
ムが提供されるに至っている。このようなビデオゲーム
において、仮想三次元空間における地面、山や川等の地
形は、移動を伴わない非移動体として表現されている。
通常、地形のような非移動体は、多角形状を有するポリ
ゴンを複数組み合わせて構成されている。
【0003】そして、この非移動体が表現されている空
間内で、プレイヤの操作に応じてキャラクタが移動する
ことによりゲームが進行する。また、ゲーム進行中にお
いて、キャラクタが非移動体に接触した際には、そのタ
イミングでのモーション表示の変更や効果音の発生によ
りゲームが演出され、ゲームに対する興趣性が高められ
る。
間内で、プレイヤの操作に応じてキャラクタが移動する
ことによりゲームが進行する。また、ゲーム進行中にお
いて、キャラクタが非移動体に接触した際には、そのタ
イミングでのモーション表示の変更や効果音の発生によ
りゲームが演出され、ゲームに対する興趣性が高められ
る。
【0004】したがって、モーション表示や効果音の発
生に際しては、これに先んじてキャラクタが非移動体に
接触したか否かの判定、つまり当たり判定を行う必要が
ある。かかる当たり判定は、キャラクタ等の移動体の画
像データと地形等の非移動体の画像データとを比較する
ことにより行っていた。
生に際しては、これに先んじてキャラクタが非移動体に
接触したか否かの判定、つまり当たり判定を行う必要が
ある。かかる当たり判定は、キャラクタ等の移動体の画
像データと地形等の非移動体の画像データとを比較する
ことにより行っていた。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うに移動体の画像データと非移動体の画像データとの比
較により当たり判定を行うと、判定の条件が大まかとな
って不適切な判定がなされ、プレイヤに違和感を与えて
しまう場合が生ずる。例えば、地面と水面とが連続する
背景上でキャラクタが動作する場合、当たり判定が大ま
かであると、キャラクタが水面上に移動したにも拘わら
ず、水面下に没することなく水面上に位置し続けるシー
ンが生ずる等である。
うに移動体の画像データと非移動体の画像データとの比
較により当たり判定を行うと、判定の条件が大まかとな
って不適切な判定がなされ、プレイヤに違和感を与えて
しまう場合が生ずる。例えば、地面と水面とが連続する
背景上でキャラクタが動作する場合、当たり判定が大ま
かであると、キャラクタが水面上に移動したにも拘わら
ず、水面下に没することなく水面上に位置し続けるシー
ンが生ずる等である。
【0006】しかも近年のビデオゲームでは、ゲームの
興味性をより高める上で、キャラクタの高速移動が不可
欠であることから、このキャラクタの高速移動に応じて
当たり判定も高速に行うことが要求されつつある。しか
るに、移動体の画像データと非移動体の画像データとの
比較により当たり判定を行うと、画像データ自体のデー
タ量が膨大であることに起因して判定処理に時間を要し
てしまい、キャラクタの高速移動に応じた高速での当た
り判定を行うことができない。
興味性をより高める上で、キャラクタの高速移動が不可
欠であることから、このキャラクタの高速移動に応じて
当たり判定も高速に行うことが要求されつつある。しか
るに、移動体の画像データと非移動体の画像データとの
比較により当たり判定を行うと、画像データ自体のデー
タ量が膨大であることに起因して判定処理に時間を要し
てしまい、キャラクタの高速移動に応じた高速での当た
り判定を行うことができない。
【0007】本発明は、このような従来の課題に鑑みて
なされたものであり、当たり判定を高速かつ正確に行う
ことのできるゲーム装置、及び当たり判定方法並びに当
たり判定プログラムを記録した記録媒体を提供すること
を目的とするものである。
なされたものであり、当たり判定を高速かつ正確に行う
ことのできるゲーム装置、及び当たり判定方法並びに当
たり判定プログラムを記録した記録媒体を提供すること
を目的とするものである。
【0008】
【課題を解決するための手段】前記課題を解決するため
に請求項1記載の発明にあっては、仮想空間上の移動体
と、複数のポリゴンで形成された対象物との当たりを判
定するゲーム装置であって、前記対象物を形成する複数
のポリゴンの中から、判定対象のポリゴンを特定する特
定手段と、前記移動体の移動ベクトルが、前記特定手段
で特定されたポリゴンが含まれる平面を通過するか否か
を判定する第1判定手段と、前記第1判定手段で前記移
動体の移動ベクトルが通過すると判定された場合、前記
移動体の移動ベクトルと前記特定手段で特定されたポリ
ゴンが含まれる平面との交点が、当該ポリゴン内にある
か否かを判定する第2判定手段とを備える。
に請求項1記載の発明にあっては、仮想空間上の移動体
と、複数のポリゴンで形成された対象物との当たりを判
定するゲーム装置であって、前記対象物を形成する複数
のポリゴンの中から、判定対象のポリゴンを特定する特
定手段と、前記移動体の移動ベクトルが、前記特定手段
で特定されたポリゴンが含まれる平面を通過するか否か
を判定する第1判定手段と、前記第1判定手段で前記移
動体の移動ベクトルが通過すると判定された場合、前記
移動体の移動ベクトルと前記特定手段で特定されたポリ
ゴンが含まれる平面との交点が、当該ポリゴン内にある
か否かを判定する第2判定手段とを備える。
【0009】すなわち、先ず特定手段により、対象物を
形成する複数のポリゴンの中から判定対象とするポリゴ
ンを特定し、次に、この特定されたポリゴンが含まれる
平面を移動体の移動ベクトルが通過するか否かを、第1
判定手段により判定する。そして、この第1判定手段に
より移動体の移動ベクトルが、前記ポリゴンが含まれる
平面を移動通過すると判定した場合には、第2判定手段
により、前記移動体の移動ベクトルと前記平面との交点
が、前記ポリゴン内にあるかを判定し、この移動体の移
動ベクトルと前記平面との交点が、前記ポリゴン内にあ
れば、当該ポリゴンに移動体が当たったものとする。
形成する複数のポリゴンの中から判定対象とするポリゴ
ンを特定し、次に、この特定されたポリゴンが含まれる
平面を移動体の移動ベクトルが通過するか否かを、第1
判定手段により判定する。そして、この第1判定手段に
より移動体の移動ベクトルが、前記ポリゴンが含まれる
平面を移動通過すると判定した場合には、第2判定手段
により、前記移動体の移動ベクトルと前記平面との交点
が、前記ポリゴン内にあるかを判定し、この移動体の移
動ベクトルと前記平面との交点が、前記ポリゴン内にあ
れば、当該ポリゴンに移動体が当たったものとする。
【0010】また、請求項2記載のゲーム装置にあって
は、前記第1判定手段は、前記特定手段で特定されたポ
リゴンが含まれる平面を表す平面方程式ax+by+c
z+d=0を用いて、前記移動体の移動ベクトルの始
点、終点における当該平面方程式の左辺が異符号関係に
ある場合に、当該移動ベクトルが当該平面を通過すると
判定する。但し、(a,b,c)は前記特定手段で特定
されたポリゴンが含まれる平面の法線ベクトル、(x,
y,z)は移動体の移動ベクトルの始点又は終点の座標
である。つまり、たとえば、移動ベクトルの始点におけ
る前記平面方程式の左辺の値が“>0”であり、終点に
おける左辺の値が“<0”のように、前記平面方程式の
左辺の値が異符号であれば、移動ベクトルの始点、終点
は前記平面に対してそれぞれ表裏の関係にあり、よっ
て、移動ベクトルは当該平面を通過したと判定し得る。
は、前記第1判定手段は、前記特定手段で特定されたポ
リゴンが含まれる平面を表す平面方程式ax+by+c
z+d=0を用いて、前記移動体の移動ベクトルの始
点、終点における当該平面方程式の左辺が異符号関係に
ある場合に、当該移動ベクトルが当該平面を通過すると
判定する。但し、(a,b,c)は前記特定手段で特定
されたポリゴンが含まれる平面の法線ベクトル、(x,
y,z)は移動体の移動ベクトルの始点又は終点の座標
である。つまり、たとえば、移動ベクトルの始点におけ
る前記平面方程式の左辺の値が“>0”であり、終点に
おける左辺の値が“<0”のように、前記平面方程式の
左辺の値が異符号であれば、移動ベクトルの始点、終点
は前記平面に対してそれぞれ表裏の関係にあり、よっ
て、移動ベクトルは当該平面を通過したと判定し得る。
【0011】また、請求項3記載のゲーム装置にあって
は、前記第2判定手段は、前記移動体の移動ベクトルと
前記特定手段で特定されたポリゴンが含まれる平面との
交点を算出し、その交点が当該ポリゴン内にあるか否か
を判定する。すなわち、第1判定手段により、移動体の
移動ベクトルが前記特定手段で特定されたポリゴンが含
まれる平面を通過すると判定され、かつ、第2判定手段
により、移動体の移動ベクトルと前記特定されたポリゴ
ンが含まれる平面との交点がポリゴン内にあると判定さ
れれば、移動体は当該ポリゴンに当たったとすることが
できる。しかし、第1判定手段により、移動体の移動ベ
クトルが前記特定手段で特定されたポリゴンが含まれる
平面を通過すると判定されても、第2判定手段により、
移動体の移動ベクトルと前記特定されたポリゴンが含ま
れる平面との交点がポリゴン内にないと判定されれば、
移動体は当該ポリゴンに当たってはいないとすることが
できる。
は、前記第2判定手段は、前記移動体の移動ベクトルと
前記特定手段で特定されたポリゴンが含まれる平面との
交点を算出し、その交点が当該ポリゴン内にあるか否か
を判定する。すなわち、第1判定手段により、移動体の
移動ベクトルが前記特定手段で特定されたポリゴンが含
まれる平面を通過すると判定され、かつ、第2判定手段
により、移動体の移動ベクトルと前記特定されたポリゴ
ンが含まれる平面との交点がポリゴン内にあると判定さ
れれば、移動体は当該ポリゴンに当たったとすることが
できる。しかし、第1判定手段により、移動体の移動ベ
クトルが前記特定手段で特定されたポリゴンが含まれる
平面を通過すると判定されても、第2判定手段により、
移動体の移動ベクトルと前記特定されたポリゴンが含ま
れる平面との交点がポリゴン内にないと判定されれば、
移動体は当該ポリゴンに当たってはいないとすることが
できる。
【0012】また、請求項4記載のゲーム装置にあって
は、前記第2判定手段は、前記移動体の移動ベクトルと
前記特定手段で特定されたポリゴンが含まれる平面との
交点が、当該ポリゴンに垂直な平面で構成される閉領域
内に存在する場合に、当該交点が当該ポリゴン内にある
と判定する。つまり、ポリゴンに垂直な面で取り囲まれ
る閉領域内に、移動体の移動ベクトルとポリゴンが含ま
れる平面との交点があれば、当該交点はポリゴン上にあ
るとすることができる。
は、前記第2判定手段は、前記移動体の移動ベクトルと
前記特定手段で特定されたポリゴンが含まれる平面との
交点が、当該ポリゴンに垂直な平面で構成される閉領域
内に存在する場合に、当該交点が当該ポリゴン内にある
と判定する。つまり、ポリゴンに垂直な面で取り囲まれ
る閉領域内に、移動体の移動ベクトルとポリゴンが含ま
れる平面との交点があれば、当該交点はポリゴン上にあ
るとすることができる。
【0013】また、請求項5記載のゲーム装置にあって
は、前記第2判定手段は、前記特定手段で特定されたポ
リゴンに垂直な平面の平面方程式ax+by+cz+d
=0を用いて、前記移動体の移動ベクトルと前記特定手
段で特定されたポリゴンが含まれる平面との交点におけ
る当該平面方程式の左辺が全て同符号関係にある場合、
前記移動体の移動ベクトルと前記特定手段で特定された
ポリゴンが含まれる平面との交点が前記閉領域内に存在
すると判定する。但し、(a,b,c)は前記特定手段
で特定されたポリゴンに垂直な平面の法線ベクトル、
(x,y,z)は前記移動体の移動ベクトルと前記特定
手段で特定されたポリゴンが含まれる平面との交点の座
標である。したがって、例えばポリゴンが三角形であれ
ば、各辺上において当該ポリゴンに垂直な三つの面の各
平面方程式を用いることにより、また、ポリゴンが四角
形であれば、各辺上においてポリゴンに垂直な四つの面
の各平面方程式を用いることにより、画像データに比べ
て遙かに少ないデータ量で高速かつ正確に当たり判定を
なし得る。
は、前記第2判定手段は、前記特定手段で特定されたポ
リゴンに垂直な平面の平面方程式ax+by+cz+d
=0を用いて、前記移動体の移動ベクトルと前記特定手
段で特定されたポリゴンが含まれる平面との交点におけ
る当該平面方程式の左辺が全て同符号関係にある場合、
前記移動体の移動ベクトルと前記特定手段で特定された
ポリゴンが含まれる平面との交点が前記閉領域内に存在
すると判定する。但し、(a,b,c)は前記特定手段
で特定されたポリゴンに垂直な平面の法線ベクトル、
(x,y,z)は前記移動体の移動ベクトルと前記特定
手段で特定されたポリゴンが含まれる平面との交点の座
標である。したがって、例えばポリゴンが三角形であれ
ば、各辺上において当該ポリゴンに垂直な三つの面の各
平面方程式を用いることにより、また、ポリゴンが四角
形であれば、各辺上においてポリゴンに垂直な四つの面
の各平面方程式を用いることにより、画像データに比べ
て遙かに少ないデータ量で高速かつ正確に当たり判定を
なし得る。
【0014】また、請求項6記載のゲーム装置にあって
は、前記平面方程式ax+by+cz+d=0を構成す
る各係数(a,b,c)及び定数(d)を予め記憶する
記憶手段をさらに備える。したがって、記憶手段から係
数(a,b,c)及び定数(d)を読み出して、平面方
程式に代入する極めて容易な処理により、高速での当た
り判定が可能となる。
は、前記平面方程式ax+by+cz+d=0を構成す
る各係数(a,b,c)及び定数(d)を予め記憶する
記憶手段をさらに備える。したがって、記憶手段から係
数(a,b,c)及び定数(d)を読み出して、平面方
程式に代入する極めて容易な処理により、高速での当た
り判定が可能となる。
【0015】また、請求項7記載のゲーム装置にあって
は、前記特定手段は、前記移動体の移動ベクトルが、前
記特定手段で特定されたポリゴンが含まれる平面を通過
しないと前記第1判定手段で判定された場合、判定対象
のポリゴンを変更する。つまり、第1判定手段の判定結
果が否定的であれば、第2判定手段による判定を行うこ
となく、即時に次のポリゴンを特定手段により特定し
て、第1判定手段による判定を開始する。よって、移動
体が当たるポリゴンを発見(判定)するまでに要する処
理が短縮化して、当たり判定が高速化する。
は、前記特定手段は、前記移動体の移動ベクトルが、前
記特定手段で特定されたポリゴンが含まれる平面を通過
しないと前記第1判定手段で判定された場合、判定対象
のポリゴンを変更する。つまり、第1判定手段の判定結
果が否定的であれば、第2判定手段による判定を行うこ
となく、即時に次のポリゴンを特定手段により特定し
て、第1判定手段による判定を開始する。よって、移動
体が当たるポリゴンを発見(判定)するまでに要する処
理が短縮化して、当たり判定が高速化する。
【0016】また、請求項8記載のゲーム装置にあって
は、前記対象物は、仮想空間内で移動を伴わない非移動
体である。したがって、移動体と非移動体との当たり判
定を高速かつ正確に行われることにより、たとえば移動
体であるキャラクタが非移動体である水面上に移動した
にも拘わらず、水面下に没することなく水面上に位置し
続ける違和感のあるシーンが生ずることがない。
は、前記対象物は、仮想空間内で移動を伴わない非移動
体である。したがって、移動体と非移動体との当たり判
定を高速かつ正確に行われることにより、たとえば移動
体であるキャラクタが非移動体である水面上に移動した
にも拘わらず、水面下に没することなく水面上に位置し
続ける違和感のあるシーンが生ずることがない。
【0017】また、請求項9記載のゲーム装置にあって
は、前記非移動体は、縦横に配列された複数のブロック
からなり、各ブロック内に前記ポリゴンが複数配置され
て構成されたものであって、前記特定手段は、前記移動
体の移動ベクトルの端点が位置するブロックを特定する
第1特定手段と、前記第1特定手段により特定されたブ
ロック内に配置されたポリゴンの中から判定対象ポリゴ
ンを特定する第2特定手段とからなる。したがって、予
め第1特定手段により、複数のブロックの中からいずれ
かのブロックが特定された後、第2特定手段によりポリ
ゴンが特定されることから、第1判定手段が判定を行う
ポリゴンの数が限定され、その結果当たり判定を完了す
るまでに要する時間が短縮化して、処理が高速化する。
は、前記非移動体は、縦横に配列された複数のブロック
からなり、各ブロック内に前記ポリゴンが複数配置され
て構成されたものであって、前記特定手段は、前記移動
体の移動ベクトルの端点が位置するブロックを特定する
第1特定手段と、前記第1特定手段により特定されたブ
ロック内に配置されたポリゴンの中から判定対象ポリゴ
ンを特定する第2特定手段とからなる。したがって、予
め第1特定手段により、複数のブロックの中からいずれ
かのブロックが特定された後、第2特定手段によりポリ
ゴンが特定されることから、第1判定手段が判定を行う
ポリゴンの数が限定され、その結果当たり判定を完了す
るまでに要する時間が短縮化して、処理が高速化する。
【0018】また、請求項10記載のゲーム装置にあっ
ては、前記第1特定手段は、前記移動体の移動ベクトル
の大きさを判定し、その判定された移動ベクトルの大き
さによって異なる数のブロックを特定する。したがっ
て、移動体の移動ベクトルの大きさに応じた最小限の数
のブロックのみが第1特定手段により特定されることに
よって処理対象となるブロックが限定され、その結果、
当たり判定を完了するまでに要する時間が短縮化する。
ては、前記第1特定手段は、前記移動体の移動ベクトル
の大きさを判定し、その判定された移動ベクトルの大き
さによって異なる数のブロックを特定する。したがっ
て、移動体の移動ベクトルの大きさに応じた最小限の数
のブロックのみが第1特定手段により特定されることに
よって処理対象となるブロックが限定され、その結果、
当たり判定を完了するまでに要する時間が短縮化する。
【0019】また、請求項11〜20に記載するステッ
プでコンピュータに処理を実行させることにより、請求
項1〜10に記載する発明と同様の効果を得ることが可
能となる。よって、記載されるステップを汎用コンピュ
ータや汎用ゲーム装置などのハードウェアを用いて実行
することにより、これらのハードウェアで本発明のゲー
ム技術が容易に実施できるようになる。
プでコンピュータに処理を実行させることにより、請求
項1〜10に記載する発明と同様の効果を得ることが可
能となる。よって、記載されるステップを汎用コンピュ
ータや汎用ゲーム装置などのハードウェアを用いて実行
することにより、これらのハードウェアで本発明のゲー
ム技術が容易に実施できるようになる。
【0020】また、請求項21〜30記載の発明によれ
ば、記録媒体に含まれるプログラムをコンピュータに読
み込ませることで請求項1〜10に記載するゲーム装置
を実現できる。したがって、記録媒体によってこれをソ
フトウェア商品として装置と独立して容易に配布、販売
することができるようになる。また、汎用コンピュータ
や汎用ゲーム装置などのハードウェアを用いてこのソフ
トウェアを使用することにより、これらのハードウェア
で本発明のゲーム技術が容易に実施できるようになる。
ば、記録媒体に含まれるプログラムをコンピュータに読
み込ませることで請求項1〜10に記載するゲーム装置
を実現できる。したがって、記録媒体によってこれをソ
フトウェア商品として装置と独立して容易に配布、販売
することができるようになる。また、汎用コンピュータ
や汎用ゲーム装置などのハードウェアを用いてこのソフ
トウェアを使用することにより、これらのハードウェア
で本発明のゲーム技術が容易に実施できるようになる。
【0021】
【発明の実施の形態】以下、本発明の実施の形態を図に
従って説明する。なお、以下の説明では、一例として本
発明を家庭用ゲーム機に適用した場合について述べる。
従って説明する。なお、以下の説明では、一例として本
発明を家庭用ゲーム機に適用した場合について述べる。
【0022】図1は、本発明の一実施の形態におけるゲ
ームシステムの全体構成を示す図である。ゲームシステ
ム51は、大別して、ゲームシステム51の主たる機能
を有するゲーム装置本体52と、ゲーム装置本体52に
対する操作指示のための入力を行うコントローラ53
と、後述するゲームに関する処理を実現するためのプロ
グラムや画像データ、サウンドデータなどを格納するC
D−ROM(Compact Disc Read Only Memory )54
と、ゲームの途中経過データやゲーム環境設定データな
どのゲームデータを保存するメモリカード55と、ゲー
ム装置本体52からの映像信号や音声信号に基づいてゲ
ーム内容に応じた映像表示やサウンド出力を行うモニタ
ディスプレイ56とから構成されている。
ームシステムの全体構成を示す図である。ゲームシステ
ム51は、大別して、ゲームシステム51の主たる機能
を有するゲーム装置本体52と、ゲーム装置本体52に
対する操作指示のための入力を行うコントローラ53
と、後述するゲームに関する処理を実現するためのプロ
グラムや画像データ、サウンドデータなどを格納するC
D−ROM(Compact Disc Read Only Memory )54
と、ゲームの途中経過データやゲーム環境設定データな
どのゲームデータを保存するメモリカード55と、ゲー
ム装置本体52からの映像信号や音声信号に基づいてゲ
ーム内容に応じた映像表示やサウンド出力を行うモニタ
ディスプレイ56とから構成されている。
【0023】ゲーム装置本体52には、その上面に、C
D−ROM54をセットするためのディスクホルダ6
1、ディスクホルダ61を開くためのオープンボタン6
2、電源ボタン63およびリセットボタン64が設けら
れている。さらにゲーム装置本体52の前面には、コン
トローラ53やメモリカード55を装着するためのスロ
ット部65が設けられている。このスロット部65を介
してコントローラ53やメモリカード55がゲーム装置
本体52に着脱自在に装着される。
D−ROM54をセットするためのディスクホルダ6
1、ディスクホルダ61を開くためのオープンボタン6
2、電源ボタン63およびリセットボタン64が設けら
れている。さらにゲーム装置本体52の前面には、コン
トローラ53やメモリカード55を装着するためのスロ
ット部65が設けられている。このスロット部65を介
してコントローラ53やメモリカード55がゲーム装置
本体52に着脱自在に装着される。
【0024】また、ゲーム装置本体52の後面には、A
V(Audio and Visual)ケーブル57を接属するAV出
力部(図示省略)が設けられている。このAVケーブル
57を介してゲーム装置本体52とモニタディスプレイ
56とが接続される。モニタディスプレイ56は、CR
T(Cathode Ray Tube)などにより構成されている。
V(Audio and Visual)ケーブル57を接属するAV出
力部(図示省略)が設けられている。このAVケーブル
57を介してゲーム装置本体52とモニタディスプレイ
56とが接続される。モニタディスプレイ56は、CR
T(Cathode Ray Tube)などにより構成されている。
【0025】図2は、図1のゲーム装置本体とその周辺
の回路構成を示すブロック図である。ゲーム装置本体5
2は、CPU(Central Processing Unit;中央演算処
理ユニット)101、GTE(Geometric Transform En
gine ;グラフィックスデータ生成プロセッサ)10
2、周辺デバイス103、メインメモリ104、OS−
ROM(Operating System ROM)105、MDEC(Mo
tion DECoder;データ伸張エンジン)106、PIO
(Parallel Input Output;拡張パラレルポート)10
7、SIO(Serial Input Output ;拡張シリアルポー
ト)108、GPU(Graphics Processing Unit ;グ
ラフィックス描画処理プロセッサ)109、フレームバ
ッファ110、SPU(Sound Processing Unit;サウ
ンド再生処理プロセッサ)111、サウンドバッファ1
12、CD−ROMドライブ113、CD−ROMデコ
ーダ114、CD−ROMバッファ115および通信デ
バイス116から構成されている。
の回路構成を示すブロック図である。ゲーム装置本体5
2は、CPU(Central Processing Unit;中央演算処
理ユニット)101、GTE(Geometric Transform En
gine ;グラフィックスデータ生成プロセッサ)10
2、周辺デバイス103、メインメモリ104、OS−
ROM(Operating System ROM)105、MDEC(Mo
tion DECoder;データ伸張エンジン)106、PIO
(Parallel Input Output;拡張パラレルポート)10
7、SIO(Serial Input Output ;拡張シリアルポー
ト)108、GPU(Graphics Processing Unit ;グ
ラフィックス描画処理プロセッサ)109、フレームバ
ッファ110、SPU(Sound Processing Unit;サウ
ンド再生処理プロセッサ)111、サウンドバッファ1
12、CD−ROMドライブ113、CD−ROMデコ
ーダ114、CD−ROMバッファ115および通信デ
バイス116から構成されている。
【0026】また、CPU101、周辺デバイス10
3、メインメモリ104、OS−ROM105、MDE
C106、PIO107、SIO108、GPU10
9、SPU111、CD−ROMデコーダ114および
通信デバイス116は、バス100を介して互いに接続
されている。
3、メインメモリ104、OS−ROM105、MDE
C106、PIO107、SIO108、GPU10
9、SPU111、CD−ROMデコーダ114および
通信デバイス116は、バス100を介して互いに接続
されている。
【0027】CPU101は、OS−ROM105に格
納されているOS(オペレーティングシステム)や、C
D−ROM54から読み出されてメインメモリ104に
展開されるプログラムやデータなどに基づいてゲーム装
置本体52の各部を制御する。
納されているOS(オペレーティングシステム)や、C
D−ROM54から読み出されてメインメモリ104に
展開されるプログラムやデータなどに基づいてゲーム装
置本体52の各部を制御する。
【0028】具体的にはCPU101は、CD−ROM
54からゲームプログラムや三次元モデルのモデリング
データなどを読み出してメインメモリ104に転送す
る。また、同様にしてCD−ROM54からカラールッ
クアップテーブル(CLUT:Color Look−Up Table)
やテクスチャパターンデータなどを読み出してフレーム
バッファ110に転送し、GPU109に画像の描画を
指示する。
54からゲームプログラムや三次元モデルのモデリング
データなどを読み出してメインメモリ104に転送す
る。また、同様にしてCD−ROM54からカラールッ
クアップテーブル(CLUT:Color Look−Up Table)
やテクスチャパターンデータなどを読み出してフレーム
バッファ110に転送し、GPU109に画像の描画を
指示する。
【0029】これに応じてGPU109は、GTE10
2で求められた座標データや色情報、フレームバッファ
110に展開されたCLUTやテクスチャパターンデー
タなどに基づいてモデリング処理やレンダリング処理な
どを行う。そして、三次元モデルを配置して構成した仮
想三次元空間における任意領域の二次元投影画像をフレ
ームバッファ110上に描画する。その後、この画像デ
ータに同期信号を付加するなどして映像信号としてモニ
タディスプレイ56に出力する。これによりモニタディ
スプレイ56の画面上にはゲーム内容に応じた映像が表
示される。
2で求められた座標データや色情報、フレームバッファ
110に展開されたCLUTやテクスチャパターンデー
タなどに基づいてモデリング処理やレンダリング処理な
どを行う。そして、三次元モデルを配置して構成した仮
想三次元空間における任意領域の二次元投影画像をフレ
ームバッファ110上に描画する。その後、この画像デ
ータに同期信号を付加するなどして映像信号としてモニ
タディスプレイ56に出力する。これによりモニタディ
スプレイ56の画面上にはゲーム内容に応じた映像が表
示される。
【0030】また、CPU101は、CD−ROM54
からサウンドデータを読み出してメインメモリ104や
SPU111に転送し、SPU111にサウンドの再生
を指示する。これに応じてSPU111は、これらのサ
ウンドデータについて変調処理や再生処理などを適宜実
行する。加えて、このサウンド再生データをCD−RO
Mデコーダ114から転送されたオーディオ再生データ
と重ね合わせて音声信号としてモニタディスプレイ56
に出力する。これによりモニタディスプレイ56の内臓
スピーカ(図示省略)からはゲーム内容に応じたBGM
(BackGroud Music)や効果音などが出力される。
からサウンドデータを読み出してメインメモリ104や
SPU111に転送し、SPU111にサウンドの再生
を指示する。これに応じてSPU111は、これらのサ
ウンドデータについて変調処理や再生処理などを適宜実
行する。加えて、このサウンド再生データをCD−RO
Mデコーダ114から転送されたオーディオ再生データ
と重ね合わせて音声信号としてモニタディスプレイ56
に出力する。これによりモニタディスプレイ56の内臓
スピーカ(図示省略)からはゲーム内容に応じたBGM
(BackGroud Music)や効果音などが出力される。
【0031】また、CPU101は、発振器(図示省
略)から供給されるタイミング信号に基づいてクロック
信号を生成する。そして、このクロック信号を内蔵する
タイマカウンタ(図示省略)によって計数することで時
間の計時処理を行う。
略)から供給されるタイミング信号に基づいてクロック
信号を生成する。そして、このクロック信号を内蔵する
タイマカウンタ(図示省略)によって計数することで時
間の計時処理を行う。
【0032】GTE102はCPU101に接続され、
CPU101のコプロセッサとして動作する。このGT
E102は、CPU101からの演算要求に応じて固定
小数点形式の行列やベクトルの演算処理を行う。この演
算処理には、たとえば、三次元モデルを構成する各三次
元座標データについて、移動、回転、拡大、縮小などの
座標計算や二次元座標データへの透視変換計算、仮想的
に設定された光源の種類やその光源からの距離や角度、
視点位置などに応じて各部の輝度を計算する輝度計算な
どが含まれる。
CPU101のコプロセッサとして動作する。このGT
E102は、CPU101からの演算要求に応じて固定
小数点形式の行列やベクトルの演算処理を行う。この演
算処理には、たとえば、三次元モデルを構成する各三次
元座標データについて、移動、回転、拡大、縮小などの
座標計算や二次元座標データへの透視変換計算、仮想的
に設定された光源の種類やその光源からの距離や角度、
視点位置などに応じて各部の輝度を計算する輝度計算な
どが含まれる。
【0033】周辺デバイス103は、割り込み制御やD
MA(Direct Memory Access )転送に関する制御など
を行う。メインメモリ104は、CPU101が実行す
るプログラムやその実行のために必要となるデータなど
が格納されるメモリである。このメインメモリ104の
メモリ構成や格納データなどについては後述する。OS
−ROM105は、OSカーネルやブートローダなど、
ゲーム装置本体52の基本制御を行うOSが格納されて
いる。
MA(Direct Memory Access )転送に関する制御など
を行う。メインメモリ104は、CPU101が実行す
るプログラムやその実行のために必要となるデータなど
が格納されるメモリである。このメインメモリ104の
メモリ構成や格納データなどについては後述する。OS
−ROM105は、OSカーネルやブートローダなど、
ゲーム装置本体52の基本制御を行うOSが格納されて
いる。
【0034】MDEC106は、圧縮画像の伸張処理を
行う。具体的には、JPEG(Joint Photographic Cod
ing Experts Group)方式やMPEG(Moving Picture
Expert Group)方式などの静止画および動画の圧縮画像
データに対して、ハフマン符号化(Huffman coding )
のデコード処理、逆量子化処理、IDCT(InversedDi
screte Cosine Translation;逆離散コサイン変換)演
算などを行い、圧縮画像データを伸張する。また、PI
O107はパラレルデータ用の拡張ポートであり、SI
O108はシリアルデータ用の拡張ポートである。
行う。具体的には、JPEG(Joint Photographic Cod
ing Experts Group)方式やMPEG(Moving Picture
Expert Group)方式などの静止画および動画の圧縮画像
データに対して、ハフマン符号化(Huffman coding )
のデコード処理、逆量子化処理、IDCT(InversedDi
screte Cosine Translation;逆離散コサイン変換)演
算などを行い、圧縮画像データを伸張する。また、PI
O107はパラレルデータ用の拡張ポートであり、SI
O108はシリアルデータ用の拡張ポートである。
【0035】GPU109は、CPU101とは独立し
て動作するサブプロセッサである。このGPU109
は、CPU101からの描画指示に従ってGTE102
で求められた座標データや色情報、フレームバッファ1
10に展開されたCLUTやテクスチャパターンデータ
などに基づいて、複数のポリゴンによって構成される三
次元モデルのモデリング処理やレンダリング処理などを
行う。そして、三次元モデルを配置して構成した仮想三
次元空間における任意領域の二次元投影画像をフレーム
バッファ110上に描画する。なお、ポリゴンとは、三
次元モデルを構成する図形の最小単位であり、三角形
(三角ポリゴン)や四角形(四角ポリゴン)などの多角
形平面からなるものである。
て動作するサブプロセッサである。このGPU109
は、CPU101からの描画指示に従ってGTE102
で求められた座標データや色情報、フレームバッファ1
10に展開されたCLUTやテクスチャパターンデータ
などに基づいて、複数のポリゴンによって構成される三
次元モデルのモデリング処理やレンダリング処理などを
行う。そして、三次元モデルを配置して構成した仮想三
次元空間における任意領域の二次元投影画像をフレーム
バッファ110上に描画する。なお、ポリゴンとは、三
次元モデルを構成する図形の最小単位であり、三角形
(三角ポリゴン)や四角形(四角ポリゴン)などの多角
形平面からなるものである。
【0036】また、GPU109は、このようにして描
画した画像データ、あるいはメインメモリ104から転
送された画像データに同期信号を付加するなどして映像
信号を生成し、モニタディスプレイ56に出力する。
画した画像データ、あるいはメインメモリ104から転
送された画像データに同期信号を付加するなどして映像
信号を生成し、モニタディスプレイ56に出力する。
【0037】フレームバッファ110はデュアルポート
RAMによって構成され、GPU109により描画され
る画像データ、あるいはメインメモリ104から転送さ
れる画像データを格納する描画領域と、モニタディスプ
レイ56に表示する画像データを格納する表示領域とを
有する。この描画領域と表示領域は映像表示を行う際の
フィールドレートに応じてGPU109により交互に切
り替えられる。
RAMによって構成され、GPU109により描画され
る画像データ、あるいはメインメモリ104から転送さ
れる画像データを格納する描画領域と、モニタディスプ
レイ56に表示する画像データを格納する表示領域とを
有する。この描画領域と表示領域は映像表示を行う際の
フィールドレートに応じてGPU109により交互に切
り替えられる。
【0038】また、この他にフレームバッファ110に
は、色指定のために参照するカラールックアップテーブ
ル(CLUT)や、テクスチャマッピング用のテクスチ
ャパターンデータなどが格納される。
は、色指定のために参照するカラールックアップテーブ
ル(CLUT)や、テクスチャマッピング用のテクスチ
ャパターンデータなどが格納される。
【0039】SPU111は、CPU101とは独立し
て動作するサブプロセッサである。このSPU111
は、CPU101からのサウンド再生指示に従ってサウ
ンドバッファ112に格納されたADPCM(Adaptive
Differential Pulse Code modulation)形式のサウン
ドデータに対して音量調整処理や、ピッチ変換、音程調
整、エンベロープ、リバーブなどの各種変調処理を適宜
実行する。加えてその再生処理を行い、音声信号として
モニタディスプレイ56に出力する。
て動作するサブプロセッサである。このSPU111
は、CPU101からのサウンド再生指示に従ってサウ
ンドバッファ112に格納されたADPCM(Adaptive
Differential Pulse Code modulation)形式のサウン
ドデータに対して音量調整処理や、ピッチ変換、音程調
整、エンベロープ、リバーブなどの各種変調処理を適宜
実行する。加えてその再生処理を行い、音声信号として
モニタディスプレイ56に出力する。
【0040】また、SPU111は、CD−ROMデコ
ーダ114から転送されたオーディオ再生データをSP
U111で再生したサウンド再生データと重ね合わせて
音声信号としてモニタディスプレイ56に出力する。
ーダ114から転送されたオーディオ再生データをSP
U111で再生したサウンド再生データと重ね合わせて
音声信号としてモニタディスプレイ56に出力する。
【0041】サウンドバッファ112は、CPU101
によりメインメモリ104から転送されたADPCM形
式のサウンドデータなどを一時的に格納するメモリであ
る。また、このサウンドバッファ112は、SPU11
1がリバーブ処理を行う際に作業領域として使用した
り、加工用のサウンドデータなどをメインメモリ104
へ転送する際のバッファとしても使用される。
によりメインメモリ104から転送されたADPCM形
式のサウンドデータなどを一時的に格納するメモリであ
る。また、このサウンドバッファ112は、SPU11
1がリバーブ処理を行う際に作業領域として使用した
り、加工用のサウンドデータなどをメインメモリ104
へ転送する際のバッファとしても使用される。
【0042】CD−ROMドライブ113は、CD−R
OM54の駆動制御を行い、CD−ROM54に格納さ
れている符号化されたデータを読み取る。CD−ROM
デコーダ114は、CD−ROMドライブ113がCD
−ROM54から読み取ったデータをデコードするとと
もにエラー訂正処理などを行い、デコードしたプログラ
ムやデータをメインメモリ104やSPU111などに
転送する。また、CD−ROMドライブ113は内部音
源およびミキサ(共に図示省略)を備え、オーディオデ
ータの再生機能を有する。CD−ROMバッファ115
は、転送用データを一時的に格納するメモリである。
OM54の駆動制御を行い、CD−ROM54に格納さ
れている符号化されたデータを読み取る。CD−ROM
デコーダ114は、CD−ROMドライブ113がCD
−ROM54から読み取ったデータをデコードするとと
もにエラー訂正処理などを行い、デコードしたプログラ
ムやデータをメインメモリ104やSPU111などに
転送する。また、CD−ROMドライブ113は内部音
源およびミキサ(共に図示省略)を備え、オーディオデ
ータの再生機能を有する。CD−ROMバッファ115
は、転送用データを一時的に格納するメモリである。
【0043】通信デバイス116には、コントローラ5
3およびメモリカード55が接続される。この通信デバ
イス116は、コントローラ53およびメモリカード5
5とゲーム装置本体52の各部、たとえばCPU101
やメインメモリ104との間のデータ転送を制御する。
3およびメモリカード55が接続される。この通信デバ
イス116は、コントローラ53およびメモリカード5
5とゲーム装置本体52の各部、たとえばCPU101
やメインメモリ104との間のデータ転送を制御する。
【0044】コントローラ53は、プレイヤからの操作
入力に応じた各種操作信号を通信デバイス116を介し
てゲーム装置本体52に送出する入力デバイスである。
このコントローラ53には、スタートボタンや方向キー
など複数の入力ボタンが設けられているが、さらに、3
Dジョイスティックやレバーを設けるようにしてもよ
い。またメモリカード55はフラッシュメモリによって
構成され、ゲームデータを格納する。
入力に応じた各種操作信号を通信デバイス116を介し
てゲーム装置本体52に送出する入力デバイスである。
このコントローラ53には、スタートボタンや方向キー
など複数の入力ボタンが設けられているが、さらに、3
Dジョイスティックやレバーを設けるようにしてもよ
い。またメモリカード55はフラッシュメモリによって
構成され、ゲームデータを格納する。
【0045】なお、このゲーム装置本体52において、
メインメモリ104と、フレームバッファ110、サウ
ンドバッファ112、CD−ROMバッファ115、M
DEC106との間では、画像表示やサウンド出力など
に際して大量の画像データやサウンドデータの転送を行
う必要がある。このため、データ転送を高速で行うため
に、CPU101を介さずに周辺デバイス103の制御
下において直接両者間でデータ転送を行う、いわゆるD
MA転送が行われる。
メインメモリ104と、フレームバッファ110、サウ
ンドバッファ112、CD−ROMバッファ115、M
DEC106との間では、画像表示やサウンド出力など
に際して大量の画像データやサウンドデータの転送を行
う必要がある。このため、データ転送を高速で行うため
に、CPU101を介さずに周辺デバイス103の制御
下において直接両者間でデータ転送を行う、いわゆるD
MA転送が行われる。
【0046】以下の説明では、理解を容易にするため
に、CPU101が実行する処理には、実際にはGTE
102、GPU109、SPU111が実行する処理を
含むものとする。また処理プログラムは、CPU101
の制御の下、処理の進行状況に応じて順次CD−ROM
54から読み出されてメインメモリ104に転送される
が、以下の説明ではCD−ROM54からの読み出し、
メインメモリ104の転送について詳細な説明は省略す
る。
に、CPU101が実行する処理には、実際にはGTE
102、GPU109、SPU111が実行する処理を
含むものとする。また処理プログラムは、CPU101
の制御の下、処理の進行状況に応じて順次CD−ROM
54から読み出されてメインメモリ104に転送される
が、以下の説明ではCD−ROM54からの読み出し、
メインメモリ104の転送について詳細な説明は省略す
る。
【0047】また、この実施の形態において、CPU1
01は、特定手段、第1判定手段、第2判定手段の機能
を有する。
01は、特定手段、第1判定手段、第2判定手段の機能
を有する。
【0048】図3は、本実施の形態のゲームの一場面の
モニタディスプレイ56に表示された表示画面300を
示す図である。表示画面300内には、仮想三次元空間
内の山303、川304、地面306などの複数のポリ
ゴンで構成された対象物である地形(非移動体)や、人
間を模倣した主キャラクタ305(移動体)が表示され
ている。各ポリゴンには、それぞれテクスチャが貼り付
けられて表示画面300に描画されている。また主キャ
ラクタ305は、コントローラ53からの移動指示に応
じて、仮想三次元空間内を移動するようになっている。
モニタディスプレイ56に表示された表示画面300を
示す図である。表示画面300内には、仮想三次元空間
内の山303、川304、地面306などの複数のポリ
ゴンで構成された対象物である地形(非移動体)や、人
間を模倣した主キャラクタ305(移動体)が表示され
ている。各ポリゴンには、それぞれテクスチャが貼り付
けられて表示画面300に描画されている。また主キャ
ラクタ305は、コントローラ53からの移動指示に応
じて、仮想三次元空間内を移動するようになっている。
【0049】また、図4(a)は、図3に示した地形の
一部分を斜め上から眺めた図である。仮想三次元空間の
xz平面上に設けられた複数のブロック302で構成さ
れている。各ブロック302内には、地形を構成するポ
リゴン301が複数配置されている。本実施の形態で
は、各ブロック302は四角形の形状を有しており、各
ブロック302内におけるx,z座標の最小点が各ブロ
ック302の基準点307になっている(図4
(b))。
一部分を斜め上から眺めた図である。仮想三次元空間の
xz平面上に設けられた複数のブロック302で構成さ
れている。各ブロック302内には、地形を構成するポ
リゴン301が複数配置されている。本実施の形態で
は、各ブロック302は四角形の形状を有しており、各
ブロック302内におけるx,z座標の最小点が各ブロ
ック302の基準点307になっている(図4
(b))。
【0050】次に、CPU101によりCD−ROM5
4から読み出され、メインメモリ104に格納されるプ
ログラムやデータについて説明する。図5は、メインメ
モリ104のメモリ構成を示す図である。同図に示すよ
うにメインメモリ104は、プログラム格納領域104
a、キャラクタデータ格納領域104b、関連データ領
域104c、及び音響効果領域104dなどを有する。
4から読み出され、メインメモリ104に格納されるプ
ログラムやデータについて説明する。図5は、メインメ
モリ104のメモリ構成を示す図である。同図に示すよ
うにメインメモリ104は、プログラム格納領域104
a、キャラクタデータ格納領域104b、関連データ領
域104c、及び音響効果領域104dなどを有する。
【0051】プログラム格納領域104aにはCPU1
01が実行するプログラムが格納される。キャラクタデ
ータ格納領域104bには、移動体である主キャラクタ
305の画像データであるキャラクタ画像データが格納
されるのみならず、コントローラ53での方向キーの操
作により、該コントローラ53から送出される操作信号
に対応する主キャラクタ305の例えば1/60秒毎に
おける移動量及び移動方向を表す移動ベクトルが方向毎
に格納される。仮想三次元空間のx,y,z軸方向毎の
ベクトル成分(x,y,z)が格納される。また、主キ
ャラクタ305以外に敵キャラクタが存在する場合等、
キャラクタが複数ある場合には、操作信号に対応するキ
ャラクタの移動ベクトルが各キャラクタ毎であって各方
向毎に格納され、さらには、鉄砲の弾丸等のコントロー
ラ53から送出される操作信号とは無関係に移動する移
動体の移動ベクトルも、必要に応じてCD−ROM54
から読み出されて格納される。
01が実行するプログラムが格納される。キャラクタデ
ータ格納領域104bには、移動体である主キャラクタ
305の画像データであるキャラクタ画像データが格納
されるのみならず、コントローラ53での方向キーの操
作により、該コントローラ53から送出される操作信号
に対応する主キャラクタ305の例えば1/60秒毎に
おける移動量及び移動方向を表す移動ベクトルが方向毎
に格納される。仮想三次元空間のx,y,z軸方向毎の
ベクトル成分(x,y,z)が格納される。また、主キ
ャラクタ305以外に敵キャラクタが存在する場合等、
キャラクタが複数ある場合には、操作信号に対応するキ
ャラクタの移動ベクトルが各キャラクタ毎であって各方
向毎に格納され、さらには、鉄砲の弾丸等のコントロー
ラ53から送出される操作信号とは無関係に移動する移
動体の移動ベクトルも、必要に応じてCD−ROM54
から読み出されて格納される。
【0052】関連データ領域104cは、図6に示すよ
うに、ヘッダー部401、ブロック情報部402、平面
方程式d部403、法線部404、ブロック内ポリゴン
インデックス部405、三角ポリゴン部406、及び四
角ポリゴン部407で構成されている。ヘッダー部40
1には、図4に示したx−z平面上の各ブロック302
の基準点307であるx,z座標の最小値等が各ブロッ
ク302毎に記憶されている。ブロック情報部402に
は、各ブロック302毎にそれに含まれるポリゴンの数
が記憶されているとともに、ブロック内ポリゴンインデ
ックス部405における各ポリゴンに対応するインデッ
クスの識別番号(アドレスデータ)が記憶されている。
うに、ヘッダー部401、ブロック情報部402、平面
方程式d部403、法線部404、ブロック内ポリゴン
インデックス部405、三角ポリゴン部406、及び四
角ポリゴン部407で構成されている。ヘッダー部40
1には、図4に示したx−z平面上の各ブロック302
の基準点307であるx,z座標の最小値等が各ブロッ
ク302毎に記憶されている。ブロック情報部402に
は、各ブロック302毎にそれに含まれるポリゴンの数
が記憶されているとともに、ブロック内ポリゴンインデ
ックス部405における各ポリゴンに対応するインデッ
クスの識別番号(アドレスデータ)が記憶されている。
【0053】なお、各ブロック302には、移動体の最
小移動ベクトルの大きさに当たる各ブロック302の周
囲範囲に含まれるポリゴンが予め余分に登録されてい
る。
小移動ベクトルの大きさに当たる各ブロック302の周
囲範囲に含まれるポリゴンが予め余分に登録されてい
る。
【0054】平面方程式係数d部403には、各ポリゴ
ン301を含む平面、当該ポリゴンに垂直な平面の平面
方程式ax+by+cz+d=0における係数dのデー
タが記憶されている。法線部404には、各ポリゴン3
01を含む平面、当該ポリゴンに垂直な平面の平面方程
式ax+by+cz+dにおける法線ベクトルn=
(a,b,c)のデータが記憶されている。ブロック内
ポリゴンインデックス部405には、仮想空間内の全て
のポリゴン301に関して、三角ポリゴン部406、四
角ポリゴン部407に記憶されている各ポリゴン301
の識別番号(アドレスデータ)が記憶されている。
ン301を含む平面、当該ポリゴンに垂直な平面の平面
方程式ax+by+cz+d=0における係数dのデー
タが記憶されている。法線部404には、各ポリゴン3
01を含む平面、当該ポリゴンに垂直な平面の平面方程
式ax+by+cz+dにおける法線ベクトルn=
(a,b,c)のデータが記憶されている。ブロック内
ポリゴンインデックス部405には、仮想空間内の全て
のポリゴン301に関して、三角ポリゴン部406、四
角ポリゴン部407に記憶されている各ポリゴン301
の識別番号(アドレスデータ)が記憶されている。
【0055】なお、この識別番号は、仮想空間内におい
て低い位置(y座標値の小さい)のポリゴン301から
順番に記憶されており、よって、識別番号順にポリゴン
301に対する処理を行うと、仮想空間内において低い
位置のポリゴン301から順次後述する当たり判定の処
理が行われるようになっている。
て低い位置(y座標値の小さい)のポリゴン301から
順番に記憶されており、よって、識別番号順にポリゴン
301に対する処理を行うと、仮想空間内において低い
位置のポリゴン301から順次後述する当たり判定の処
理が行われるようになっている。
【0056】また、三角ポリゴン部406には、三角ポ
リゴン毎に、当該三角ポリゴンを含む平面の法線データ
n、係数dを識別するための識別番号データ、当該三角
ポリゴンに垂直な平面の法線データn、係数dを識別す
るための識別番号データ及び当該ポリゴンの材質(土、
水等)を示す材質コードが、各々ポリゴン毎に記憶され
ている。四角ポリゴン部407には、同様に四角ポリゴ
ン毎に、当該四角ポリゴンを含む平面の法線データn、
係数dを識別するための識別番号データ、当該四角ポリ
ゴンに垂直な平面の法線データn、係数dを識別するた
めの識別番号データ及び当該ポリゴンの材質(土、水
等)を示す材質コード各ポリゴン毎に記憶されている。
リゴン毎に、当該三角ポリゴンを含む平面の法線データ
n、係数dを識別するための識別番号データ、当該三角
ポリゴンに垂直な平面の法線データn、係数dを識別す
るための識別番号データ及び当該ポリゴンの材質(土、
水等)を示す材質コードが、各々ポリゴン毎に記憶され
ている。四角ポリゴン部407には、同様に四角ポリゴ
ン毎に、当該四角ポリゴンを含む平面の法線データn、
係数dを識別するための識別番号データ、当該四角ポリ
ゴンに垂直な平面の法線データn、係数dを識別するた
めの識別番号データ及び当該ポリゴンの材質(土、水
等)を示す材質コード各ポリゴン毎に記憶されている。
【0057】また、音響効果領域104dには、及び効
果音などのサウンドデータが格納される。
果音などのサウンドデータが格納される。
【0058】以上の構成にかかる本実施の形態におい
て、ゲームが開始されるとCPU101は、メインメモ
リ104に情報を格納する領域を確保し、これにより図
3に示したように、メインメモリ104にプログラム領
域104a、キャラクタ領域104b、関連データ領域
104c、音響効果領域104d等が確保されることと
なる。そして、ゲーム開始要求があると、開始するゲー
ムに必要な情報をCD−ROM54からメインメモリ1
04に読み込み、CPU101は、この読み込まれたゲ
ームプログラムに基づき、その地点における地形と主キ
ャラクタ305の画像がモニタディスプレイ56の表示
画面に表示させる。プレイヤは、モニタディスプレイ5
6に表示された画像を基にしてコントローラ53の方向
キーを操作し、主キャラクタ305を仮想三次元空間内
で移動させていく。
て、ゲームが開始されるとCPU101は、メインメモ
リ104に情報を格納する領域を確保し、これにより図
3に示したように、メインメモリ104にプログラム領
域104a、キャラクタ領域104b、関連データ領域
104c、音響効果領域104d等が確保されることと
なる。そして、ゲーム開始要求があると、開始するゲー
ムに必要な情報をCD−ROM54からメインメモリ1
04に読み込み、CPU101は、この読み込まれたゲ
ームプログラムに基づき、その地点における地形と主キ
ャラクタ305の画像がモニタディスプレイ56の表示
画面に表示させる。プレイヤは、モニタディスプレイ5
6に表示された画像を基にしてコントローラ53の方向
キーを操作し、主キャラクタ305を仮想三次元空間内
で移動させていく。
【0059】次に、主キャラクタ305が地形などの非
移動体(対象物)と接触したか否かを判定する当たり判
定の処理の流れを図7〜8に従って説明する。
移動体(対象物)と接触したか否かを判定する当たり判
定の処理の流れを図7〜8に従って説明する。
【0060】すなわち、プレイヤのコントローラ53で
の方向キー操作による移動指示入力があるまで待機し
(S101)、移動指示入力があったならば、移動ベク
トルの大きさが“20h未満”“20h以上80h未
満”のいずれであるかを判定する(S102)。このと
き、S102において移動ベクトルの大きさを判定する
対象は、主キャラクタ305に限らず、敵キャラクタや
鉄砲の弾丸の移動ベクトルも判定する。また、本実施の
形態におけるゲームにおいて、主キャラクタ305及び
敵キャラクタの移動ベクトルは“20h未満”であり、
弾丸の移動ベクトルは“80h未満”である。
の方向キー操作による移動指示入力があるまで待機し
(S101)、移動指示入力があったならば、移動ベク
トルの大きさが“20h未満”“20h以上80h未
満”のいずれであるかを判定する(S102)。このと
き、S102において移動ベクトルの大きさを判定する
対象は、主キャラクタ305に限らず、敵キャラクタや
鉄砲の弾丸の移動ベクトルも判定する。また、本実施の
形態におけるゲームにおいて、主キャラクタ305及び
敵キャラクタの移動ベクトルは“20h未満”であり、
弾丸の移動ベクトルは“80h未満”である。
【0061】なお、このS102では、移動ベクトルの
大きさを“20h未満”と“20h以上80h未満”の
2種類の範囲で判定するようにしているが、判定範囲の
値及び判定範囲の種類数はこれに限ることなく、ゲーム
内容に応じて適宜設定されることは勿論である。
大きさを“20h未満”と“20h以上80h未満”の
2種類の範囲で判定するようにしているが、判定範囲の
値及び判定範囲の種類数はこれに限ることなく、ゲーム
内容に応じて適宜設定されることは勿論である。
【0062】そして、移動ベクトルの大きさが“20h
未満”であり、移動ベクトルの値が小さい主キャラクタ
305又は敵キャラクタの移動である場合には、ヘッダ
ー部401を参照し当該移動ベクトルの始点のx,z座
標を含むブロック302のみを判別する(S103)。
しかし、移動ベクトルの大きさが“20h以上80h未
満”であり、移動ベクトルの値が大きい弾丸の移動であ
る場合には、当該移動ベクトルの始点及び終点x,z座
標を含むブロック302を判別する(S104)。した
がって、移動ベクトルの大きさが“20h未満”である
主キャラクタ305又は敵キャラクタの移動である場合
には、一つのブロック302のみが、移動ベクトルの大
きさが“20h以上80h未満”となる弾丸の移動であ
る場合には、二つのブロック302が、次の判定ブロッ
クの確定処理(S105)で確定(特定)されることと
なる。できる限り当たり判定対象のポリゴン数を減らし
て処理を高速化するためである。
未満”であり、移動ベクトルの値が小さい主キャラクタ
305又は敵キャラクタの移動である場合には、ヘッダ
ー部401を参照し当該移動ベクトルの始点のx,z座
標を含むブロック302のみを判別する(S103)。
しかし、移動ベクトルの大きさが“20h以上80h未
満”であり、移動ベクトルの値が大きい弾丸の移動であ
る場合には、当該移動ベクトルの始点及び終点x,z座
標を含むブロック302を判別する(S104)。した
がって、移動ベクトルの大きさが“20h未満”である
主キャラクタ305又は敵キャラクタの移動である場合
には、一つのブロック302のみが、移動ベクトルの大
きさが“20h以上80h未満”となる弾丸の移動であ
る場合には、二つのブロック302が、次の判定ブロッ
クの確定処理(S105)で確定(特定)されることと
なる。できる限り当たり判定対象のポリゴン数を減らし
て処理を高速化するためである。
【0063】なお、前述のように、各ブロック302の
周囲には、最小移動ベクトルの大きさに当たる範囲に含
まれるポリゴンが余分に登録されている。したがって、
この余分なポリゴンが登録されているので、始点と終点
とが異なるブロックに含まれる移動ベクトルであって
も、その大きさが“20h”よりも小さい場合には、終
点が余分に登録されたポリゴン内に収まる。よって、S
103では、一つのブロック302のみが特定されるこ
ととなる。
周囲には、最小移動ベクトルの大きさに当たる範囲に含
まれるポリゴンが余分に登録されている。したがって、
この余分なポリゴンが登録されているので、始点と終点
とが異なるブロックに含まれる移動ベクトルであって
も、その大きさが“20h”よりも小さい場合には、終
点が余分に登録されたポリゴン内に収まる。よって、S
103では、一つのブロック302のみが特定されるこ
ととなる。
【0064】このようにして、一つ又は二つのブロック
302を特定したならば、図6をもって説明した関連デ
ータ領域104cのブロック情報部402を参照するこ
とにより、判定した一つ又は二つのブロック302に属
する各ポリゴン301のポリゴン情報を取得する(S1
06)。引き続き、この取得したポリゴン情報に基づ
き、判定ブロック内のポリゴン総数N、すなわち、一つ
のブロック302のみを特定した場合には、当該ブロッ
ク302に属するポリゴン301の数N、二つのブロッ
ク302を特定した場合には、二つのブロック302に
属するポリゴン301合計数Nを取得する(S10
7)。
302を特定したならば、図6をもって説明した関連デ
ータ領域104cのブロック情報部402を参照するこ
とにより、判定した一つ又は二つのブロック302に属
する各ポリゴン301のポリゴン情報を取得する(S1
06)。引き続き、この取得したポリゴン情報に基づ
き、判定ブロック内のポリゴン総数N、すなわち、一つ
のブロック302のみを特定した場合には、当該ブロッ
ク302に属するポリゴン301の数N、二つのブロッ
ク302を特定した場合には、二つのブロック302に
属するポリゴン301合計数Nを取得する(S10
7)。
【0065】次に、ブロック内ポリゴンインデックス部
405の記憶データを参照した後(S108)、当たり
判定処理を実行する(S109)。この当たり判定処理
(S109)は、図8に示すフローチャートに従って行
われ、先ず判定ブロックに属するいずれかのポリゴン3
01を特定する(S201)。
405の記憶データを参照した後(S108)、当たり
判定処理を実行する(S109)。この当たり判定処理
(S109)は、図8に示すフローチャートに従って行
われ、先ず判定ブロックに属するいずれかのポリゴン3
01を特定する(S201)。
【0066】ここで、この実施の形態においては、非移
動体は図3に示したように山303、川304、地面3
06等で構成される地形であり、移動体は人間を模倣し
たキャラクタ305であって専ら歩行により移動するオ
ブジェクトである。したがって、この専ら歩行により移
動するキャラクタ305は、仮想空間内において低い位
置で移動する場合が圧倒的に多いものと想定される。一
方、前述のように、各ポリゴン301の識別番号は、仮
想空間内において低い位置(y座標値の小さい)から順
番に記憶されている。そこで、このS201でポリゴン
301を特定するに際しては、当たりポリゴンをより早
期に発見すべく、当たり判定の対象となっている判定ブ
ロックに属するポリゴン301のうち、最も識別番号が
若いものを特定する。また、この当たり判定処理を繰り
返し実行する際にもS201では、判定ブロックに属す
る残るポリゴン301のうち、最も識別番号が若いもの
を特定する。
動体は図3に示したように山303、川304、地面3
06等で構成される地形であり、移動体は人間を模倣し
たキャラクタ305であって専ら歩行により移動するオ
ブジェクトである。したがって、この専ら歩行により移
動するキャラクタ305は、仮想空間内において低い位
置で移動する場合が圧倒的に多いものと想定される。一
方、前述のように、各ポリゴン301の識別番号は、仮
想空間内において低い位置(y座標値の小さい)から順
番に記憶されている。そこで、このS201でポリゴン
301を特定するに際しては、当たりポリゴンをより早
期に発見すべく、当たり判定の対象となっている判定ブ
ロックに属するポリゴン301のうち、最も識別番号が
若いものを特定する。また、この当たり判定処理を繰り
返し実行する際にもS201では、判定ブロックに属す
る残るポリゴン301のうち、最も識別番号が若いもの
を特定する。
【0067】そして、この最も識別番号の若いポリゴン
301を特定したならば、前述のS108で参照したブ
ロック内ポリゴンインデックス部405でのインデック
スデータに基づき、三角ポリゴン部406又は四角ポリ
ゴン部407から、特定した判定ポリゴンを含む平面の
法線データnを読み出すとともに(S202)、同平面
の係数データdを読み出す(S203)。さらに、三角
ポリゴン部406又は四角ポリゴン部407から、閉領
域平面の法線データn、つまり前記判定ポリゴンの各辺
上において当該ポリゴンに垂直であって、これを取り囲
む複数の平面の法線データnを読み出す(S204)。
したがって、三角ポリゴンであれば三つの平面、四角ポ
リゴンであれば四つの平面の法線データnを読み出した
後、これら平面(閉領域平面)の係数データdを読み出
す(S205)。
301を特定したならば、前述のS108で参照したブ
ロック内ポリゴンインデックス部405でのインデック
スデータに基づき、三角ポリゴン部406又は四角ポリ
ゴン部407から、特定した判定ポリゴンを含む平面の
法線データnを読み出すとともに(S202)、同平面
の係数データdを読み出す(S203)。さらに、三角
ポリゴン部406又は四角ポリゴン部407から、閉領
域平面の法線データn、つまり前記判定ポリゴンの各辺
上において当該ポリゴンに垂直であって、これを取り囲
む複数の平面の法線データnを読み出す(S204)。
したがって、三角ポリゴンであれば三つの平面、四角ポ
リゴンであれば四つの平面の法線データnを読み出した
後、これら平面(閉領域平面)の係数データdを読み出
す(S205)。
【0068】以上のS201〜S205までの処理によ
り、以降で行う判定ポリゴンに対する当たり判定に必要
なデータが全て揃うこととなる。すなわち、図9(a)
に示すように、三角形状のポリゴン301が特定された
ならば、このポリゴン301を含む平面308の法線デ
ータnと係数データdに基づき、当該平面308の平面
方程式ax+by+cz+d=0が得られることとな
る。また、同図(b)に示すように、このポリゴン30
1の各辺において当該ポリゴン301に垂直であって、
これを取り囲む複数の平面309、310、311の法
線データnと係数データdに基づき、各平面309、3
10、311平面方程式ax+by+cz+d=0が得
られることとなる。各平面309、310、311の各
平面で囲まれた内側(ポリゴン301側)の領域を閉領
域とする。
り、以降で行う判定ポリゴンに対する当たり判定に必要
なデータが全て揃うこととなる。すなわち、図9(a)
に示すように、三角形状のポリゴン301が特定された
ならば、このポリゴン301を含む平面308の法線デ
ータnと係数データdに基づき、当該平面308の平面
方程式ax+by+cz+d=0が得られることとな
る。また、同図(b)に示すように、このポリゴン30
1の各辺において当該ポリゴン301に垂直であって、
これを取り囲む複数の平面309、310、311の法
線データnと係数データdに基づき、各平面309、3
10、311平面方程式ax+by+cz+d=0が得
られることとなる。各平面309、310、311の各
平面で囲まれた内側(ポリゴン301側)の領域を閉領
域とする。
【0069】そこで、引き続き判定ポリゴンに対する当
たり判定を開始する。この当たり判定に際しては先ず、
判定ポリゴンを含む平面に対して、移動ベクトルの始点
が表であってかつ終点が裏の関係にあるか否かを判断す
る(S206)。
たり判定を開始する。この当たり判定に際しては先ず、
判定ポリゴンを含む平面に対して、移動ベクトルの始点
が表であってかつ終点が裏の関係にあるか否かを判断す
る(S206)。
【0070】つまり、図9(c)に示すように、法線ベ
クトルn312を有するax+by+cz+d=0とい
う平面に対して、正領域(表)ならax+by+cz+
d>0、平面上ならax+by+cz+d=0、負領域
(裏)ならax+by+cz+d<0となる。前記ポリ
ゴンを含む平面308の平面方程式ax+by+cz+
d=0のx、y、zに移動ベクトルVMの始点Sの座
標、終点Eの座標を代入して演算することにより、前記
判断を行う。ここで、移動ベクトルVMの始点Sの座標
(x1,y1,z1)は、移動体の位置座標であり、終
点Eの座標(x2,y2,z2)は、コントローラ53
からの操作信号に対応する移動ベクトルVMを始点の座
標から演算した座標である。
クトルn312を有するax+by+cz+d=0とい
う平面に対して、正領域(表)ならax+by+cz+
d>0、平面上ならax+by+cz+d=0、負領域
(裏)ならax+by+cz+d<0となる。前記ポリ
ゴンを含む平面308の平面方程式ax+by+cz+
d=0のx、y、zに移動ベクトルVMの始点Sの座
標、終点Eの座標を代入して演算することにより、前記
判断を行う。ここで、移動ベクトルVMの始点Sの座標
(x1,y1,z1)は、移動体の位置座標であり、終
点Eの座標(x2,y2,z2)は、コントローラ53
からの操作信号に対応する移動ベクトルVMを始点の座
標から演算した座標である。
【0071】そして、S206での判断の結果、図示の
ように判定ポリゴンを含む平面308に対して、移動ベ
クトルVMの始点Sが表であってかつ終点Eが裏の関係
にあった場合には、判定ポリゴンを含む平面308と移
動ベクトルVMの交点を算出する(S207)。
ように判定ポリゴンを含む平面308に対して、移動ベ
クトルVMの始点Sが表であってかつ終点Eが裏の関係
にあった場合には、判定ポリゴンを含む平面308と移
動ベクトルVMの交点を算出する(S207)。
【0072】すなわち、平面ax+by+cz+d=0
と始点(x1,y1,z1)終点(x2,y2,z3)
を有する移動ベクトル
と始点(x1,y1,z1)終点(x2,y2,z3)
を有する移動ベクトル
【数1】 との交点は、 t=−(x1a+y1b+z1c+d)/(ax2+b
y2+cz3) tを以下に代入すると、 x=x1+x2t y=y1+y2t z=z1+z2t となり、交点(x,y,z)が算出される。
y2+cz3) tを以下に代入すると、 x=x1+x2t y=y1+y2t z=z1+z2t となり、交点(x,y,z)が算出される。
【0073】次に、この交点が前記閉領域平面により取
り囲まれる閉領域内にあるか否かを判断する(S20
8)。
り囲まれる閉領域内にあるか否かを判断する(S20
8)。
【0074】すなわち、図9(c)をもって前述したよ
うに、ax+by+cz+d=0という平面に対して、
正領域(表)なら、ax+by+cz+d>0、平面上
ならax+by+cz+d=0、負領域(裏)ならax
+by+cz+d<0であることによって判断する。よ
って、同図(d)に示すように、三角形状のポリゴン3
01であれば当該ポリゴン301に垂直であってこれを
取り囲む三つの平面309、310、311(四角ポリ
ゴンであれば当該ポリゴンに垂直であってこれを取り囲
む四つの平面)に対して、前記交点(x,y,z)が正
領域(表)、平面上、負領域(裏)のいずれにあるかを
チェックする。そして、交点が全ての平面に対して正領
域(表)あるか、若しくは全ての面に対して負領域
(裏)にあれば、当該交点は閉領域内312にあるとす
ることができ、そうでない場合には、当該交点は閉領域
内にないこととなる。
うに、ax+by+cz+d=0という平面に対して、
正領域(表)なら、ax+by+cz+d>0、平面上
ならax+by+cz+d=0、負領域(裏)ならax
+by+cz+d<0であることによって判断する。よ
って、同図(d)に示すように、三角形状のポリゴン3
01であれば当該ポリゴン301に垂直であってこれを
取り囲む三つの平面309、310、311(四角ポリ
ゴンであれば当該ポリゴンに垂直であってこれを取り囲
む四つの平面)に対して、前記交点(x,y,z)が正
領域(表)、平面上、負領域(裏)のいずれにあるかを
チェックする。そして、交点が全ての平面に対して正領
域(表)あるか、若しくは全ての面に対して負領域
(裏)にあれば、当該交点は閉領域内312にあるとす
ることができ、そうでない場合には、当該交点は閉領域
内にないこととなる。
【0075】しかし、S206及びS208での判断の
結果、判定ポリゴンを含む平面に対して、移動ベクトル
の始点が表であってかつ終点が裏の関係にあり、交点が
閉領域内にあるという条件を満たしている場合には、当
たり判定を行って(S209)、このとき判定対象とな
っている判定ポリゴンを当たりポリゴンとして決定す
る。引き続き、移動ベクトルの交点(x,y,z)の位
置にキャラクタを移動させる(S211)。
結果、判定ポリゴンを含む平面に対して、移動ベクトル
の始点が表であってかつ終点が裏の関係にあり、交点が
閉領域内にあるという条件を満たしている場合には、当
たり判定を行って(S209)、このとき判定対象とな
っている判定ポリゴンを当たりポリゴンとして決定す
る。引き続き、移動ベクトルの交点(x,y,z)の位
置にキャラクタを移動させる(S211)。
【0076】図10は、主キャラクタ305のジャンプ
時の移動における当たり判定処理を簡易的に説明する図
である。主キャラクタ305には、常に鉛直下向きの仮
想重力ベクトルVGが設定されている。図10に示すよ
うに、主キャラクタ305がコントローラ53からの移
動指示に基づき、→→→と移動する場合におい
て、コントローラ53からの移動指示に基づく移動ベク
トルVDに、仮想重力ベクトルVGが合成され、合成ベ
クトルVMが算出される。の時点でこの当たり判定処
理が行われたとすると、合成ベクトルVMと、地面30
6との交点A位置が当たり判定されるとともに、交点A
位置に主キャラクタ305が移動されることとなる
()。
時の移動における当たり判定処理を簡易的に説明する図
である。主キャラクタ305には、常に鉛直下向きの仮
想重力ベクトルVGが設定されている。図10に示すよ
うに、主キャラクタ305がコントローラ53からの移
動指示に基づき、→→→と移動する場合におい
て、コントローラ53からの移動指示に基づく移動ベク
トルVDに、仮想重力ベクトルVGが合成され、合成ベ
クトルVMが算出される。の時点でこの当たり判定処
理が行われたとすると、合成ベクトルVMと、地面30
6との交点A位置が当たり判定されるとともに、交点A
位置に主キャラクタ305が移動されることとなる
()。
【0077】そして、このキャラクタ移動処理を行った
ならば、ポリゴン処理(S212)を実行する。すなわ
ち、三角ポリゴン部406又は四角ポリゴン部407に
記憶されている当たりと判定されたポリゴンの材質を示
す材質情報に応じて、当該ポリゴンが水であれば水に沈
むモーション表示を行い、あるいは当たりに伴う効果音
の発生を行う。
ならば、ポリゴン処理(S212)を実行する。すなわ
ち、三角ポリゴン部406又は四角ポリゴン部407に
記憶されている当たりと判定されたポリゴンの材質を示
す材質情報に応じて、当該ポリゴンが水であれば水に沈
むモーション表示を行い、あるいは当たりに伴う効果音
の発生を行う。
【0078】他方、S206とS208とのうち少なく
とも1つがYESとならない場合には、レジスタnの値
を1つだけインクリメントした後(S210)、図7の
フローチャートにおいて「n>N」の判断を行って、判
定ブロック内の全てのポリゴンに対して当たり判定処理
を行ったか否かをチェックする(S110)。n<Nの
場合は、判定ブロックに属する次の識別番号のポリゴン
を判定ポリゴンとして、S201からの処理を繰り返
す。このチェックの結果、判定ブロック内の全てのポリ
ゴンに対して当たり判定処理を終了して「n=N」とな
った場合、すなわち図9に示した主キャラクタ305が
→→→と移動する場合において、あるいは
の時点でこの当たり判定処理が行われた場合には、S1
10からS111に進んで、不当たりと判定する。しか
る後に、ゲームが継続する限り、S111からS101
に戻ってこのS101からの処理を繰り返しながらゲー
ムを進行する。
とも1つがYESとならない場合には、レジスタnの値
を1つだけインクリメントした後(S210)、図7の
フローチャートにおいて「n>N」の判断を行って、判
定ブロック内の全てのポリゴンに対して当たり判定処理
を行ったか否かをチェックする(S110)。n<Nの
場合は、判定ブロックに属する次の識別番号のポリゴン
を判定ポリゴンとして、S201からの処理を繰り返
す。このチェックの結果、判定ブロック内の全てのポリ
ゴンに対して当たり判定処理を終了して「n=N」とな
った場合、すなわち図9に示した主キャラクタ305が
→→→と移動する場合において、あるいは
の時点でこの当たり判定処理が行われた場合には、S1
10からS111に進んで、不当たりと判定する。しか
る後に、ゲームが継続する限り、S111からS101
に戻ってこのS101からの処理を繰り返しながらゲー
ムを進行する。
【0079】なお、本実施の形態ではS206の処理に
おいて、判定ポリゴンを含む平面の平面方程式ax+b
y+cz+d=0を用い、移動ベクトルの始点が表であ
って、かつ終点が裏の関係にあるか否かを判断するよう
にした。しかし、このとき判定ポリゴンを含む平面の法
線ベクトルも読み取ってあるので、S206の処理の前
にこの法線ベクトルi(a,b,c)と、移動ベクトル
j(d,e,f)とから両者の内積の計算を行い、両者
が同じ向きで当該平面と交わる可能性がなければad+
be+cf>0、垂直ならad+be+cf=0、違う
向きで当該平面に交わる可能性があるならad+be+
cf<0であることに基づき、当たり判定の効率化を図
るようにしてもよい。
おいて、判定ポリゴンを含む平面の平面方程式ax+b
y+cz+d=0を用い、移動ベクトルの始点が表であ
って、かつ終点が裏の関係にあるか否かを判断するよう
にした。しかし、このとき判定ポリゴンを含む平面の法
線ベクトルも読み取ってあるので、S206の処理の前
にこの法線ベクトルi(a,b,c)と、移動ベクトル
j(d,e,f)とから両者の内積の計算を行い、両者
が同じ向きで当該平面と交わる可能性がなければad+
be+cf>0、垂直ならad+be+cf=0、違う
向きで当該平面に交わる可能性があるならad+be+
cf<0であることに基づき、当たり判定の効率化を図
るようにしてもよい。
【0080】なお、本実施の形態においては、移動体の
操作指示はコントローラ53の方向キーで行っていた
が、これに限定されるものではない。3Dジョイスティ
ックやレバーでもよいし、キーボードのボタン押下によ
る移動体の操作指示でもよい。
操作指示はコントローラ53の方向キーで行っていた
が、これに限定されるものではない。3Dジョイスティ
ックやレバーでもよいし、キーボードのボタン押下によ
る移動体の操作指示でもよい。
【0081】なお、本実施の形態においては、移動体と
地形などの移動を伴わない非移動体との当たりを判定す
る処理について説明しているが、移動体同士の当たり判
定にも本発明を適用することができる。
地形などの移動を伴わない非移動体との当たりを判定す
る処理について説明しているが、移動体同士の当たり判
定にも本発明を適用することができる。
【0082】また、本実施の形態においては、家庭用ゲ
ーム機をプラットホームとして本発明を実現した場合に
ついて述べた。しかし、本発明は、パーソナルコンピュ
ータなどの汎用コンピュータやアーケードゲーム機、あ
るいは携帯電話、携帯情報端末、カーナビゲーション等
の通信端末をプラットホームとして実現してもよい。さ
らに、本実施の形態では、本発明を実現するためのプロ
グラムやデータをCD−ROMに格納し、このCD−R
OMを記録媒体として用いた。しかしながら、記録媒体
はCD−ROMに限定されるものではなく、磁気ディス
クやROMカードなどコンピュータが読み取り可能なそ
の他の磁気的、光学的記録媒体あるいは半導体メモリで
あってもよい。
ーム機をプラットホームとして本発明を実現した場合に
ついて述べた。しかし、本発明は、パーソナルコンピュ
ータなどの汎用コンピュータやアーケードゲーム機、あ
るいは携帯電話、携帯情報端末、カーナビゲーション等
の通信端末をプラットホームとして実現してもよい。さ
らに、本実施の形態では、本発明を実現するためのプロ
グラムやデータをCD−ROMに格納し、このCD−R
OMを記録媒体として用いた。しかしながら、記録媒体
はCD−ROMに限定されるものではなく、磁気ディス
クやROMカードなどコンピュータが読み取り可能なそ
の他の磁気的、光学的記録媒体あるいは半導体メモリで
あってもよい。
【0083】加えて、本発明を実現するためのプログラ
ムやデータは、ゲーム機やコンピュータに対して着脱的
なCD−ROMなどのメディアにより提供される形態に
限定されず、あらかじめゲーム機やコンピュータのメモ
リにプレインストールしてある形態であってもよい。ま
た、本発明を実現するためのプログラムやデータは、通
信回線などを介して接続された他の機器から受信してメ
モリに記録する形態であってもよい。さらには、通信回
線などを介して接続された他の機器側のメモリに上記プ
ログラムやデータを記録し、このプログラムやデータを
通信回線などを介して使用する形態であってもよい。
ムやデータは、ゲーム機やコンピュータに対して着脱的
なCD−ROMなどのメディアにより提供される形態に
限定されず、あらかじめゲーム機やコンピュータのメモ
リにプレインストールしてある形態であってもよい。ま
た、本発明を実現するためのプログラムやデータは、通
信回線などを介して接続された他の機器から受信してメ
モリに記録する形態であってもよい。さらには、通信回
線などを介して接続された他の機器側のメモリに上記プ
ログラムやデータを記録し、このプログラムやデータを
通信回線などを介して使用する形態であってもよい。
【0084】
【発明の効果】以上説明したように本発明は、複数のポ
リゴンの中からいずれかを特定し、第1判定手段によ
り、この特定したポリゴンが含まれる平面を移動体の移
動ベクトルが通過するか否かを判定し、通過すると判定
された場合には、第2判定手段により、移動体の移動ベ
クトルと前記平面との交点が、前記ポリゴン内にあるか
を判定して、当たり判定を行うようにした。よって、幾
何学的に明らかなデータである移動ベクトルや平面デー
タを用いることから、画像データ同士を比較する従来の
当たり判定のように、判定の条件が大まかとなることが
なく、正確に当たり判定を行うことができる。また、画
像データの比較に基づき当たり判定を行う場合よりも、
用いるデータが圧倒的に少ないことから、高速に判定を
行うことができ、したがって、より高速かつ正確に当た
り判定を行うことが可能となる。
リゴンの中からいずれかを特定し、第1判定手段によ
り、この特定したポリゴンが含まれる平面を移動体の移
動ベクトルが通過するか否かを判定し、通過すると判定
された場合には、第2判定手段により、移動体の移動ベ
クトルと前記平面との交点が、前記ポリゴン内にあるか
を判定して、当たり判定を行うようにした。よって、幾
何学的に明らかなデータである移動ベクトルや平面デー
タを用いることから、画像データ同士を比較する従来の
当たり判定のように、判定の条件が大まかとなることが
なく、正確に当たり判定を行うことができる。また、画
像データの比較に基づき当たり判定を行う場合よりも、
用いるデータが圧倒的に少ないことから、高速に判定を
行うことができ、したがって、より高速かつ正確に当た
り判定を行うことが可能となる。
【0085】また、ポリゴンが含まれる平面を表す平面
方程式ax+by+cz+d=0を用い、移動体の移動
ベクトルの始点、終点が当該平面に対してそれぞれ表裏
の関係にある場合に、移動ベクトルが前記平面を通過す
ると判定するようにしたことから、移動ベクトルが前記
平面を通過するか否かの判定処理に用いるデータ量が少
なくて済み、処理速度を一層高めることができる。
方程式ax+by+cz+d=0を用い、移動体の移動
ベクトルの始点、終点が当該平面に対してそれぞれ表裏
の関係にある場合に、移動ベクトルが前記平面を通過す
ると判定するようにしたことから、移動ベクトルが前記
平面を通過するか否かの判定処理に用いるデータ量が少
なくて済み、処理速度を一層高めることができる。
【0086】また、移動体の移動ベクトルと特定された
ポリゴンが含まれる平面との交点が、当該ポリゴンに垂
直な平面で構成される閉領域内に存在するか否かによ
り、移動体の移動ベクトルと前記平面との交点がポリゴ
ン内にあるか否かを判定するようにしたことから、平面
に関するデータのみつまり単一種のデータのみを用い
て、交点がポリゴン内にあるか否かの判定を行うことが
できる。
ポリゴンが含まれる平面との交点が、当該ポリゴンに垂
直な平面で構成される閉領域内に存在するか否かによ
り、移動体の移動ベクトルと前記平面との交点がポリゴ
ン内にあるか否かを判定するようにしたことから、平面
に関するデータのみつまり単一種のデータのみを用い
て、交点がポリゴン内にあるか否かの判定を行うことが
できる。
【0087】また、特定されたポリゴンに垂直な平面の
平面方程式ax+by+cz+d=0を用いて、移動体
の移動ベクトルとポリゴンが含まれる平面との交点が前
記閉領域に存在するか否かを判定するようにしたことか
ら、この判定を少ないデータ量で高速に行うことができ
る。
平面方程式ax+by+cz+d=0を用いて、移動体
の移動ベクトルとポリゴンが含まれる平面との交点が前
記閉領域に存在するか否かを判定するようにしたことか
ら、この判定を少ないデータ量で高速に行うことができ
る。
【0088】また、非移動体を形成するポリゴン毎に、
当該ポリゴンが含まれる平面及び当該ポリゴンに垂直な
複数の平面の平面方程式における各係数及び定数を予め
記憶した記憶手段を備える構成としたことから、これら
係数や定数を読み出す極めて簡単な処理により判定が可
能となり、よって、処理の簡単化に伴って高速での当た
り判定が可能となる。
当該ポリゴンが含まれる平面及び当該ポリゴンに垂直な
複数の平面の平面方程式における各係数及び定数を予め
記憶した記憶手段を備える構成としたことから、これら
係数や定数を読み出す極めて簡単な処理により判定が可
能となり、よって、処理の簡単化に伴って高速での当た
り判定が可能となる。
【0089】また、第1判定手段で前記移動体の移動ベ
クトルが、特定されたポリゴンが含まれる平面を通過し
ないと判定された場合、つまり、第1判定手段の判定結
果が否定的であれば、第2判定手段による判定を行うこ
となく、即時に次のポリゴンを特定手段により特定し
て、第1判定手段による判定を開始するようにしたこと
から、移動体が当たるポリゴンを発見(判定)するまで
に要する処理が短縮化し、これにより当たり判定の高速
化を図ることができる。
クトルが、特定されたポリゴンが含まれる平面を通過し
ないと判定された場合、つまり、第1判定手段の判定結
果が否定的であれば、第2判定手段による判定を行うこ
となく、即時に次のポリゴンを特定手段により特定し
て、第1判定手段による判定を開始するようにしたこと
から、移動体が当たるポリゴンを発見(判定)するまで
に要する処理が短縮化し、これにより当たり判定の高速
化を図ることができる。
【0090】また、仮想空間上の移動体と非移動体との
当たり判定を行うようにしたことから、この当たり判定
を高速かつ正確に行われることにより、キャラクタが水
面上に移動したにも拘わらず、水面下に没することなく
水面上に位置し続ける違和感のあるシーンの発生を解消
することができる。
当たり判定を行うようにしたことから、この当たり判定
を高速かつ正確に行われることにより、キャラクタが水
面上に移動したにも拘わらず、水面下に没することなく
水面上に位置し続ける違和感のあるシーンの発生を解消
することができる。
【0091】また、予め複数のブロックの中からいずれ
かのブロックを特定した後に、ポリゴンを特定するよう
にしたことから、判定を行うポリゴンの数が限定するこ
とができ、その結果当たり判定を完了するまでに要する
時間を短縮化して、判定処理の高速化を図ることができ
る。
かのブロックを特定した後に、ポリゴンを特定するよう
にしたことから、判定を行うポリゴンの数が限定するこ
とができ、その結果当たり判定を完了するまでに要する
時間を短縮化して、判定処理の高速化を図ることができ
る。
【0092】また、移動体の移動ベクトルの大きさに応
じて、異なる数のブロックを特定するようにしたことか
ら、移動体の移動ベクトルの大きさに応じた最小限の数
のブロックのみを特定して処理対象となるポリゴンを限
定することができ、その結果当たり判定を完了するまで
に要する時間を短縮化して、判定処理の高速化を図るこ
とができる。
じて、異なる数のブロックを特定するようにしたことか
ら、移動体の移動ベクトルの大きさに応じた最小限の数
のブロックのみを特定して処理対象となるポリゴンを限
定することができ、その結果当たり判定を完了するまで
に要する時間を短縮化して、判定処理の高速化を図るこ
とができる。
【0093】
【図1】本発明の一実施の形態を適用したゲームシステ
ムの全体構成を示す斜視図である。
ムの全体構成を示す斜視図である。
【図2】図1のゲーム装置本体とその周辺の回路構成を
示すブロック図である。
示すブロック図である。
【図3】本実施の形態の表示例を示す図である。
【図4】(a)はブロックとポリゴンとの関係を示す斜
視図であり、(b)はブロックの基準点を示す図であ
る。
視図であり、(b)はブロックの基準点を示す図であ
る。
【図5】メインメモリのメモリ構成を示す図である。
【図6】メインメモリにおける関連データ領域の構成を
示す図である。
示す図である。
【図7】移動体と対象物が接触したか否かを判定する処
理の流れを示すフローチャートである。
理の流れを示すフローチャートである。
【図8】図7のフローチャートにおける当たり判定処理
の詳細を示すフローチャートである。
の詳細を示すフローチャートである。
【図9】当たり判定の手順を示す説明図である。
【図10】主キャラクタの動きと移動ベクトル及び当た
り判定との関係を示す説明図である。
り判定との関係を示す説明図である。
101 CPU 301 ポリゴン 302 ブロック 303 山 304 川 305 主キャラクタ 306 地面 307 ブロックの基準点 308 ポリゴン301を含む平面 309 ポリゴン301の各辺において、ポリゴン3
01に垂直な平面 310 ポリゴン301の各辺において、ポリゴン3
01に垂直な平面 311 ポリゴン301の各辺において、ポリゴン3
01に垂直な平面
01に垂直な平面 310 ポリゴン301の各辺において、ポリゴン3
01に垂直な平面 311 ポリゴン301の各辺において、ポリゴン3
01に垂直な平面
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 2C001 BA00 BA02 BA05 BB00 BB10 BC00 BC01 BC03 CB01 CB06 CC02 CC08 5B050 AA10 BA08 BA09 EA04 EA24 EA28 FA02 9A001 BB02 BB03 BB04 DD12 DD13 GG11 HH18 HH26 HH29 HH30 JJ76 KK45
Claims (30)
- 【請求項1】 仮想空間上の移動体と、複数のポリゴン
で形成された対象物との当たりを判定するゲーム装置で
あって、 前記対象物を形成する複数のポリゴンの中から、判定対
象のポリゴンを特定する特定手段と、 前記移動体の移動ベクトルが、前記特定手段で特定され
たポリゴンが含まれる平面を通過するか否かを判定する
第1判定手段と、 前記第1判定手段で前記移動体の移動ベクトルが通過す
ると判定された場合、前記移動体の移動ベクトルと前記
特定手段で特定されたポリゴンが含まれる平面との交点
が、当該ポリゴン内にあるか否かを判定する第2判定手
段とを備えることを特徴とするゲーム装置。 - 【請求項2】 前記第1判定手段は、前記特定手段で特
定されたポリゴンが含まれる平面を表す平面方程式ax
+by+cz+d=0を用いて、前記移動体の移動ベク
トルの始点、終点における当該平面方程式の左辺が異符
号関係にある場合に、当該移動ベクトルが当該平面を通
過すると判定することを特徴とする請求項1記載のゲー
ム装置。但し、(a,b,c)は前記特定手段で特定さ
れたポリゴンが含まれる平面の法線ベクトル、(x,
y,z)は移動体の移動ベクトルの始点又は終点の座
標。 - 【請求項3】 前記第2判定手段は、前記移動体の移動
ベクトルと前記特定手段で特定されたポリゴンが含まれ
る平面との交点を算出し、その交点が当該ポリゴン内に
あるか否かを判定することを特徴とする請求項2記載の
ゲーム装置。 - 【請求項4】 前記第2判定手段は、前記移動体の移動
ベクトルと前記特定手段で特定されたポリゴンが含まれ
る平面との交点が、当該ポリゴンに垂直な平面で構成さ
れる閉領域内に存在する場合に、当該交点が当該ポリゴ
ン内にあると判定することを特徴とする請求項3記載の
ゲーム装置。 - 【請求項5】 前記第2判定手段は、前記特定手段で特
定されたポリゴンに垂直な平面の平面方程式ax+by
+cz+d=0を用いて、前記移動体の移動ベクトルと
前記特定手段で特定されたポリゴンが含まれる平面との
交点における当該平面方程式の左辺が全て同符号関係に
ある場合、前記移動体の移動ベクトルと前記特定手段で
特定されたポリゴンが含まれる平面との交点が前記閉領
域内に存在すると判定することを特徴とする請求項4記
載のゲーム装置。但し、(a,b,c)は前記特定手段
で特定されたポリゴンに垂直な平面の法線ベクトル、
(x,y,z)は前記移動体の移動ベクトルと前記特定
手段で特定されたポリゴンが含まれる平面との交点の座
標。 - 【請求項6】 前記平面方程式ax+by+cz+d=
0を構成する各係数(a,b,c)及び定数(d)を予
め記憶する記憶手段をさらに備えることを特徴とする請
求項2又は5記載のゲーム装置。 - 【請求項7】 前記特定手段は、前記移動体の移動ベク
トルが、前記特定手段で特定されたポリゴンが含まれる
平面を通過しないと前記第1判定手段で判定された場
合、判定対象のポリゴンを変更することを特徴とする請
求項1から6のいずれかに記載のゲーム装置。 - 【請求項8】 前記対象物は、仮想空間内で移動を伴わ
ない非移動体であることを特徴とする請求項1から7の
いずれかに記載のゲーム装置。 - 【請求項9】 前記非移動体は、縦横に配列された複数
のブロックからなり、各ブロック内に前記ポリゴンが複
数配置されて構成されたものであって、 前記特定手段は、前記移動体の移動ベクトルの端点が位
置するブロックを特定する第1特定手段と、 前記第1特定手段により特定されたブロック内に配置さ
れたポリゴンの中から判定対象ポリゴンを特定する第2
特定手段とからなることを特徴とする請求項8記載のゲ
ーム装置。 - 【請求項10】 前記第1特定手段は、前記移動体の移
動ベクトルの大きさを判定し、その判定された移動ベク
トルの大きさによって異なる数のブロックを特定するこ
とを特徴とする請求項9記載のゲーム装置。 - 【請求項11】 仮想空間上の移動体と、複数のポリゴ
ンで形成された対象物との当たりを判定するコンピュー
タゲームの当たり判定方法であって、 前記対象物を形成する複数のポリゴンの中から、判定対
象のポリゴンを特定する第1ステップと、 前記移動体の移動ベクトルが、前記第1ステップで特定
されたポリゴンが含まれる平面を通過するか否かを判定
する第2ステップと、 前記第2ステップで前記移動体の移動ベクトルが通過す
ると判定された場合、前記移動体の移動ベクトルと前記
第1ステップで特定されたポリゴンが含まれる平面との
交点が、当該ポリゴン内にあるか否かを判定する第3ス
テップとを含むことを特徴とする当たり判定方法。 - 【請求項12】 前記第2ステップでは、前記第1ステ
ップで特定されたポリゴンが含まれる平面を表す平面方
程式ax+by+cz+d=0を用いて、前記移動体の
移動ベクトルの始点、終点における当該平面方程式の左
辺が異符号関係にある場合に、当該移動ベクトルが当該
平面を通過すると判定することを特徴とする請求項11
記載の当たり判定方法。但し、(a,b,c)は前記第
1ステップで特定されたポリゴンが含まれる平面の法線
ベクトル、(x,y,z)は移動体の移動ベクトルの始
点又は終点の座標。 - 【請求項13】 前記第3ステップでは、前記移動体の
移動ベクトルと前記第1ステップで特定されたポリゴン
が含まれる平面との交点を算出し、その交点が当該ポリ
ゴン内にあるか否かを判定することを特徴とする請求項
12記載の当たり判定方法。 - 【請求項14】 前記第3ステップでは、前記移動体の
移動ベクトルと前記第1ステップで特定されたポリゴン
が含まれる平面との交点が、当該ポリゴンに垂直な平面
で構成される閉領域内に存在する場合に、当該交点が当
該ポリゴン内にあると判定することを特徴とする請求項
13記載の当たり判定方法。 - 【請求項15】 前記第3ステップでは、前記第1ステ
ップで特定されたポリゴンに垂直な平面の平面方程式a
x+by+cz+d=0を用いて、前記移動体の移動ベ
クトルと前記第1ステップで特定されたポリゴンが含ま
れる平面との交点における当該平面方程式の左辺が全て
同符号関係にある場合、前記移動体の移動ベクトルと前
記第1ステップで特定されたポリゴンが含まれる平面と
の交点が前記閉領域内に存在すると判定することを特徴
とする請求項14記載の当たり判定方法。但し、(a,
b,c)は前記第1ステップで特定されたポリゴンに垂
直な平面の法線ベクトル、(x,y,z)は前記移動体
の移動ベクトルと前記第1ステップで特定されたポリゴ
ンが含まれる平面との交点の座標。 - 【請求項16】 前記平面方程式ax+by+cz+d
=0を構成する各係数(a,b,c)及び定数(d)を
予め記憶させる第4ステップをさらに含むことをを特徴
とする請求項12又は15記載の当たり判定方法。 - 【請求項17】 前記第1ステップは、前記移動体の移
動ベクトルが、前記第1ステップで特定されたポリゴン
が含まれる平面を通過しないと前記第2ステップで判定
された場合、判定対象のポリゴンを変更することを特徴
とする請求項11から16のいずれかに記載の当たり判
定方法。 - 【請求項18】 前記対象物は、仮想空間内で移動を伴
わない非移動体であることを特徴とする請求項11から
17のいずれかに記載の当たり判定方法。 - 【請求項19】 前記非移動体は、縦横に配列された複
数のブロックからなり、各ブロック内に前記ポリゴンが
複数配置されて構成されたものであって、 前記第1ステップは、前記移動体の移動ベクトルの端点
が位置するブロックを特定する第4ステップと、 前記第4ステップにより特定されたブロック内に配置さ
れたポリゴンの中から判定対象ポリゴンを特定する第5
ステップとからなることを特徴とする請求項18記載の
当たり判定方法。 - 【請求項20】 前記第4ステップは、前記移動体の移
動ベクトルの大きさを判定し、その判定された移動ベク
トルの大きさによって異なる数のブロックを特定するこ
とを特徴とする請求項19記載の当たり判定方法。 - 【請求項21】 仮想空間上の非移動体と、複数のポリ
ゴンで形成された対象物との当たりを判定するコンピュ
ータゲームの当たり判定方法を実現するプログラムを記
録した記録媒体であって、 前記対象物を形成する複数のポリゴンの中から、判定対
象のポリゴンを特定する第1手順と、 前記移動体の移動ベクトルが、前記第1手順で特定され
たポリゴンが含まれる平面を通過するか否かを判定する
第2手順と、 前記第2手順で前記移動体の移動ベクトルが通過すると
判定された場合、前記移動体の移動ベクトルと前記第1
手順で特定されたポリゴンが含まれる平面との交点が、
当該ポリゴン内にあるか否かを判定する第3手順とをコ
ンピュータに実行させるためのプログラムを記録した記
録媒体。 - 【請求項22】 前記第2手順では、前記第1手順で特
定されたポリゴンが含まれる平面を表す平面方程式ax
+by+cz+d=0を用いて、前記移動体の移動ベク
トルの始点、終点における当該平面方程式の左辺が異符
号関係にある場合に、当該移動ベクトルが当該平面を通
過すると判定することを特徴とする請求項21記載の記
録媒体。但し、(a,b,c)は前記第1手順で特定さ
れたポリゴンが含まれる平面の法線ベクトル、(x,
y,z)は移動体の移動ベクトルの始点又は終点の座
標。 - 【請求項23】 前記第3手順は、前記移動体の移動ベ
クトルと前記第1手順で特定されたポリゴンが含まれる
平面との交点を算出し、その交点が当該ポリゴン内にあ
るか否かを判定することを特徴とする請求項22記載の
記録媒体。 - 【請求項24】 前記第3手順では、前記移動体の移動
ベクトルと前記第1手順で特定されたポリゴンが含まれ
る平面との交点が、当該ポリゴンに垂直な平面で構成さ
れる閉領域内に存在する場合に、当該交点が当該ポリゴ
ン内にあると判定することを特徴とする請求項23記載
の記録媒体。 - 【請求項25】 前記第3手順では、前記第1手順で特
定されたポリゴンに垂直な平面の平面方程式ax+by
+cz+d=0を用いて、前記移動体の移動ベクトルと
前記第1手順で特定されたポリゴンが含まれる平面との
交点における当該平面方程式の左辺が全て同符号関係に
ある場合、前記移動体の移動ベクトルと前記第1手順で
特定されたポリゴンが含まれる平面との交点が前記閉領
域内に存在すると判定することを特徴とする請求項24
記載の記録媒体。但し、(a,b,c)は前記第1手順
で特定されたポリゴンに垂直な平面の法線ベクトル、
(x,y,z)は前記移動体の移動ベクトルと前記第1
手順で特定されたポリゴンが含まれる平面との交点の座
標。 - 【請求項26】 前記平面方程式ax+by+cz+d
=0を構成する各係数(a,b,c)及び定数(d)を
予め記憶させる第4手順をさらに含むことを特徴とする
請求項22又は25記載の記録媒体。 - 【請求項27】 前記第1手順は、前記移動体の移動ベ
クトルが、前記第1手順で特定されたポリゴンが含まれ
る平面を通過しないと前記第2手順で判定された場合、
判定対象のポリゴンを変更することを特徴とする請求項
21から26のいずれかに記載の記録媒体。 - 【請求項28】 前記対象物は、仮想空間内で移動を伴
わない非移動体であることを特徴とする請求項21から
27のいずれかに記載の記録媒体。 - 【請求項29】 前記非移動体は、縦横に配列された複
数のブロックからなり、各ブロック内に前記ポリゴンが
複数配置されて構成されたものであって、 前記第1手順は、前記移動体の移動ベクトルの端点が位
置するブロックを特定する第4手順と、 前記第4手順により特定されたブロック内に配置された
ポリゴンの中から判定対象ポリゴンを特定する第5手順
とからなることを特徴とする請求項28記載の記録媒
体。 - 【請求項30】 前記第4手順は、前記移動体の移動ベ
クトルの大きさを判定し、その判定された移動ベクトル
の大きさによって異なる数のブロックを特定することを
特徴とする請求項29記載の記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10377451A JP2000200362A (ja) | 1998-12-28 | 1998-12-28 | ゲ―ム装置、及び当たり判定方法並びに当たり判定プログラムを記録した記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10377451A JP2000200362A (ja) | 1998-12-28 | 1998-12-28 | ゲ―ム装置、及び当たり判定方法並びに当たり判定プログラムを記録した記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000200362A true JP2000200362A (ja) | 2000-07-18 |
Family
ID=18508835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10377451A Pending JP2000200362A (ja) | 1998-12-28 | 1998-12-28 | ゲ―ム装置、及び当たり判定方法並びに当たり判定プログラムを記録した記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000200362A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009015793A (ja) * | 2007-07-09 | 2009-01-22 | Nintendo Co Ltd | 画像処理プログラムおよび画像処理装置 |
JP2010086431A (ja) * | 2008-10-01 | 2010-04-15 | Namco Bandai Games Inc | プログラム、情報記憶媒体及びゲーム装置 |
JP2013012811A (ja) * | 2011-06-28 | 2013-01-17 | Square Enix Co Ltd | 近接通過音発生装置 |
EP4005651A4 (en) * | 2020-01-20 | 2022-11-30 | Tencent Technology (Shenzhen) Company Limited | METHOD AND APPARATUS FOR CONTROLLING VIRTUAL CHARACTERS IN A VIRTUAL ENVIRONMENT, AS WELL AS APPARATUS AND MEDIUM |
-
1998
- 1998-12-28 JP JP10377451A patent/JP2000200362A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009015793A (ja) * | 2007-07-09 | 2009-01-22 | Nintendo Co Ltd | 画像処理プログラムおよび画像処理装置 |
JP2010086431A (ja) * | 2008-10-01 | 2010-04-15 | Namco Bandai Games Inc | プログラム、情報記憶媒体及びゲーム装置 |
JP2013012811A (ja) * | 2011-06-28 | 2013-01-17 | Square Enix Co Ltd | 近接通過音発生装置 |
EP4005651A4 (en) * | 2020-01-20 | 2022-11-30 | Tencent Technology (Shenzhen) Company Limited | METHOD AND APPARATUS FOR CONTROLLING VIRTUAL CHARACTERS IN A VIRTUAL ENVIRONMENT, AS WELL AS APPARATUS AND MEDIUM |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100823786B1 (ko) | 표시장치, 표시방법, 및, 프로그램을 기록한 컴퓨터 판독 가능한 정보기록매체 | |
US7636087B2 (en) | Program, information storage medium, image generation system, and image generation method | |
US6454653B1 (en) | Game apparatus, game display control method, and computer-readable storage medium | |
US20060046844A1 (en) | Video game device and image processing program | |
WO2006093146A1 (ja) | ゲーム装置、ゲーム制御方法、情報記録媒体、ならびに、プログラム | |
JP2000308759A (ja) | ビデオゲームのキャラクタを制御する方法、ビデオゲーム装置、及び記録媒体 | |
JP4672072B2 (ja) | 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置 | |
JP3707995B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP2002095868A (ja) | ビデオゲーム装置、キャラクタ行動制御方法及びキャラクタ行動制御プログラムが記録された可読記録媒体 | |
EP1249784B1 (en) | Method, device, computer program and computer readable means for judging impacts between three dimensional models and moving objects in an artificial three dimensional space | |
JP4508918B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP4530314B2 (ja) | ゲームシステム、情報記憶媒体及び圧縮データの生成方法 | |
JP3542795B1 (ja) | 模擬実験装置、模擬実験方法、ならびに、プログラム | |
JP3597792B2 (ja) | 3次元画像処理方法、装置、3次元画像処理プログラム及びビデオゲーム装置 | |
JP2000200362A (ja) | ゲ―ム装置、及び当たり判定方法並びに当たり判定プログラムを記録した記録媒体 | |
JP3564440B2 (ja) | 動画像生成プログラム、動画像生成方法及び装置 | |
US6518967B1 (en) | Game apparatus, game method, and computer-readable storage medium | |
JP4012948B2 (ja) | ゲーム装置、コンピュータ読み取り可能な記録媒体、およびゲーム画像の光表現方法 | |
JP3223170B2 (ja) | ゲーム装置及び画像生成方法並びに画像生成プログラムを記録した記録媒体 | |
JPH10165648A (ja) | 当たり判定装置,及びコンピュータプログラムを記録した媒体 | |
JP3614340B2 (ja) | ゲームシステム及び情報記憶媒体 | |
JP2005122479A (ja) | プログラム、情報記憶媒体及び画像生成装置 | |
JP2004303034A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4229318B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4624527B2 (ja) | ゲームシステム及び情報記憶媒体 |