JP2004005024A - 情報処理プログラム - Google Patents
情報処理プログラム Download PDFInfo
- Publication number
- JP2004005024A JP2004005024A JP2002157602A JP2002157602A JP2004005024A JP 2004005024 A JP2004005024 A JP 2004005024A JP 2002157602 A JP2002157602 A JP 2002157602A JP 2002157602 A JP2002157602 A JP 2002157602A JP 2004005024 A JP2004005024 A JP 2004005024A
- Authority
- JP
- Japan
- Prior art keywords
- cursor
- camera
- projection plane
- dimensional space
- game
- 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
Images
Abstract
【課題】3次元空間内のオブジェクトをカメラとの距離に関係なく、表示画面上では一定の速度で移動するように、3次元空間におけるオブジェクトの移動を制御すること。
【解決手段】S402では、ゲーム空間における現在のカーソルの位置P’を示すデータに対してカメラの画角、投影面のサイズ、カメラと投影面との距離などを示すパラメータに基づいて透視変換を行い、位置P’に対応するゲーム空間における位置Pを求める。そしてS403では、入力された移動量を位置Pに加算し、カーソルの移動後の投影面上における位置Qを求める。次にS404では、カメラの位置と位置Qとを結ぶ直線と最初に接する(交差を含む)点の位置を位置Q’として求める。そしてS405では、位置Q’にカーソルを移動させる。
【選択図】 図4
【解決手段】S402では、ゲーム空間における現在のカーソルの位置P’を示すデータに対してカメラの画角、投影面のサイズ、カメラと投影面との距離などを示すパラメータに基づいて透視変換を行い、位置P’に対応するゲーム空間における位置Pを求める。そしてS403では、入力された移動量を位置Pに加算し、カーソルの移動後の投影面上における位置Qを求める。次にS404では、カメラの位置と位置Qとを結ぶ直線と最初に接する(交差を含む)点の位置を位置Q’として求める。そしてS405では、位置Q’にカーソルを移動させる。
【選択図】 図4
Description
【0001】
【発明の属する技術分野】
本発明は、コンピュータに、仮想の3次元空間に設けられたオブジェクトの移動制御を行わせる情報処理プログラムに関するものである。
【0002】
【従来の技術】
仮想の3次元空間内に3次元モデルを生成し、ユーザの見ているディスプレイに表示するといった技術は、ゲームやCAD等の分野で広く利用されている。そのゲームやCAD等で、表示されている3次元モデル、もしくは3次元モデルがポリゴンにより構成されている場合、任意のポリゴンを指示する方法としてカーソルを表示する必要がある。従来ではこのカーソルの表示、そして移動方法として例えば、3次元モデル、もしくは2次元の画像としてのカーソルを3次元空間に配置し、ユーザからの移動指示入力により、設定された速度で3次元空間内を移動させていた。
【0003】
【発明が解決しようとする課題】
しかし上記方法でカーソルを表示、移動させる場合、以下のような問題がある。例えば3次元空間において、カーソルを一定の速度で移動させる場合、視点とカーソルとの距離が小さいほど、ディスプレイ上(投影面上)の移動速度は速く見え、視点とカーソルとの距離が大きいほど、ディスプレイ上の移動速度は遅く見える。よって、ユーザがディスプレイ上におけるカーソルの所望の移動速度を設定しても、カーソルと視点位置との距離に応じてその移動速度が異なり、ディスプレイ上における所望の移動速度が得られないことになる。
【0004】
本発明はこのような点を考慮して成されたものであり、3次元空間内のオブジェクトをカメラとの距離に関係なく、表示画面上では一定の速度で移動するように、3次元空間におけるオブジェクトの移動を制御する情報処理プログラムを提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の情報処理プログラムは以下の構成を備える。
【0006】
すなわち、コンピュータに、仮想の3次元空間に設けられたオブジェクトの移動制御を行わせる情報処理プログラムであって、
3次元空間におけるオブジェクトの位置を投影面に投影し、当該投影面における当該オブジェクトの位置を求める第1の位置計算工程と、
所定の入力装置から入力された前記オブジェクトの移動量を当該第1の位置計算工程で求めた前記オブジェクトの位置に加算し、加算後の前記オブジェクトの前記投影面上における位置を求める第2の位置計算工程と、
前記3次元空間における仮想のカメラの位置と当該第2の位置計算工程で求めた位置とを結ぶ直線と前記3次元空間内で接触する点のうち、最も当該カメラの位置に近い点の位置を求める第3の位置計算工程と、
当該第3の位置計算工程で求めた位置に前記オブジェクトを移動させる移動制御工程と
をコンピュータに実行させる。
【0007】
また、前記第1の位置計算工程では、3次元空間におけるオブジェクトの位置を示すデータに対して、前記カメラの画角、前記投影面のサイズ、前記カメラと前記投影面との距離を含むパラメータを用いた透視変換を行うことで、前記投影面における前記オブジェクトの位置を求めることを特徴とする。
【0008】
また、前記オブジェクトは、カーソルであることを特徴とする。
【0009】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態について詳細に説明する。
【0010】
[第1の実施形態]
図1に本実施形態におけるゲーム装置の基本構成を示す。101はCPUで、RAM102にロードされたゲームプログラムやゲームデータを用いてゲームの進行処理を行ったり、後述のカーソルの移動制御処理を行う。また、ROM103に格納された本装置全体の制御を行うプログラムや、本装置の設定データなどを用いて本装置の起動やその後の制御を行う。
【0011】
102はRAMで、CPU101が各処理を行うために使用するワークエリアを備えると共に、処理対象のデータを一時的に記憶したり、記憶媒体ドライブ106からロードされたゲームプログラムやゲームデータを記憶するエリアも備える。103はROMで、上述の通り、本装置全体の制御を行うプログラムや、本装置の設定データなどを格納する。104は操作部で、自キャラクタやカーソルなどを移動させる方向指示ボタンや、決定やキャンセルなどを入力するためのボタン群を備える。
【0012】
105は表示部で、CRTや液晶画面などにより構成されており、ゲーム画面を表示する。106は記憶媒体ドライブで、CD−ROMやDVD−ROMなどの後述の記憶媒体からゲームプログラムやゲームデータを読み込み、必要に応じてRAM102に出力する。107は記憶媒体で、CD−ROMやDVD−ROMなどにより構成されており、ゲームプログラム108やゲームデータ109を格納する。108はゲームプログラムで、ゲームの進行を制御するプログラムや、後述のカーソルの移動制御処理を行うプログラムを含む。109はゲームデータで、自キャラクタやカーソルを含む各種のキャラクタやゲームフィールドの3次元モデルのデータを含む。なお本実施形態ではカーソルを3次元モデルにて表現するが、これに限定されるものではなく、2次元の画像であっても良い。
【0013】
110はサウンド処理部で、ゲームデータに含まれる効果音やバックグラウンドミュージックなどのデータをD/A変換し、アナログ信号に変換するD/A変換器と、D/A変換器により変換されたアナログ信号を音として外部に出力するスピーカとで構成されている。111は上記各部をつなぐバスである。
【0014】
よって以上の構成を備えるゲーム装置により、仮想の3次元空間(以下、ゲーム空間と呼称することがある)において3次元モデルを生成し、表示部105に表示することができる。以下の説明では、本ゲーム装置によりゲーム空間内にキャラクタを表現する3次元モデルを生成し、更にカーソルを表現する3次元モデルを生成し、同空間に設けられた仮想のカメラ(ユーザの同空間における視点)から見える画像を表示部105に表示する場合について説明する。
【0015】
上記構成を備えるゲーム装置によって、後述のカーソルの移動制御処理を行うが、まず、ゲーム空間内で一定の速度で移動するカーソルが、移動する位置と仮想カメラの位置(ユーザの視点位置)との距離に応じて、その移動速度の上記表示部105における見え方について説明する。
【0016】
図2は、上記カメラと、カメラから夫々異なる距離に配置したキャラクタとしての一辺の長さがLの立方体の3次元モデルとの位置関係を横から見た図である。同図において200は上記カメラで、201,202,203は夫々上記キャラクタとしての3次元モデルで、以下の説明ではこの3次元モデルとして立方体を用いるが、この形状に限定されるものではない。夫々の立方体において対応する一辺CD、EF、GHの長さは夫々Lである。また205は投影面で、投影面205に公知の方法で透視変換された、ゲーム空間及び同空間内に配置された3次元モデル(2次元モデルがあればそれも含む)が表示部105に表示されることになる。
【0017】
3次元モデル201の一辺CDの長さはゲーム空間内ではLであるが、この一辺CDの長さLが投影面205に投影された場合、その長さはLen(AB’’)となり(Len(X)は線分Xの長さを示すものとする)、L≠Len(AB’’)となる。また3次元モデル202の一辺EFの長さはゲーム空間内ではLであるが、この一辺EFの長さLが投影面205に投影された場合、その長さはLen(AB’)となり、L≠Len(AB’)<Len(AB’’)となる。すなわち、3次元モデル202は3次元モデル201よりもカメラ200から遠い位置に配置されているので、ゲーム空間では一辺の長さが同じでも投影面ではより短い長さとなる。
【0018】
また、3次元モデル203の一辺GHの長さはゲーム空間内ではLであるが、この一辺GHの長さLが投影面205に投影された場合、その長さはLen(AB)となり、L≠Len(AB)<Len(AB’)<Len(AB’’)となる。すなわち、3次元モデル203は3次元モデル202よりもカメラ200から遠い位置に配置されているので、ゲーム空間では一辺の長さが同じでも投影面ではより短い長さとなる。よって同図を用いた以上の説明により、3次元モデルの対応する一辺の長さが上記ゲーム空間で同じ長さであったとしても、カメラから遠い位置に配置されているほど、投影面に投影されるその長さは短くなることがわかる。
【0019】
ここで例えば上記ゲーム空間内にカーソルを示す3次元モデルを配置し、上記3つの3次元モデルの一辺の両端間をゲーム空間における一定速度vで移動する場合を考える。このカーソルは一定速度vで移動するわけであるから、上記各一辺CD、EF、GHの両端間を移動する(例えば一辺CD上を移動する場合、点Cの位置から点Dの位置まで移動)に要する時間は同じである。しかしユーザは、投影面205に投影された画像を見るのであるから、投影面上でより短い長さの一辺の両端間を移動するカーソルほど、投影面では遅く見える。
【0020】
このように、カーソルが移動する位置とカメラとの距離に応じてカーソルの投影面上における速度が異なってしまう。よってこの問題に対処するための本実施形態におけるカーソルの移動制御方法について、以下説明する。
【0021】
図3は、本実施形態におけるカーソルの移動制御処理を説明するための図で、図2と同じ部分については同じ番号を付けており、その説明を省略する。同図においてSはx−z平面と平行の基準面であって、本実施形態ではy=0における平面とするが、これに限定されるものではなく、例えばゲーム空間にyの値が負となるような起伏がある場合、その最小のyの値以下のyの値における基準面を設けても良い。
【0022】
カーソルはゲーム空間に存在し、同空間におけるカーソルの初期位置を点A’で示す。また、点Aはこの点A’の位置を投影面に投影した位置を示す。また、ユーザから操作部104を用いて指示されるカーソルの移動速度v(移動量)は投影面上におけるカーソルの移動速度であるものとする。これにより、入力された移動量vを現在のカーソルの投影面上の位置に加算し、カーソルの位置を更新することで、カーソルは常に一定の移動量で投影面上を移動することになり、ユーザの見る表示部105上でもカーソルは一定の速度で移動するように見える。しかし、実際にカーソルはゲーム空間内に存在するので、本実施形態のカーソルの移動制御処理では、投影面上における移動先の位置に対応するゲーム空間における位置を求め、求めた位置にカーソルを移動させる処理を行う。
【0023】
まず、点A’の位置にあるカーソルの投影面上における位置(点Aが示す位置)を求める。求める方法は、カメラ200の画角、投影面205のサイズ、カメラ200と投影面205との距離などを示すパラメータに基づいて公知の透視変換などにより求めることができる。そして操作部104を用いて入力された移動量を点Aの位置に加算することで投影面における点Bの位置を求める。そして、カメラ200の位置と点Bの位置とを結ぶ直線と平面Sとの交点(点B’)を求める。この交点が即ち、投影面上の点Bに対応するゲーム空間における点の位置を示す。そして点B’の位置にカーソル移動させる。
【0024】
以上の処理を行うことで、投影面上の移動速度が一定となるように、カーソルをゲーム空間において移動させることができる。また、図2に示した3次元モデルの一辺上を同様に移動させる場合、例えば一辺CD上を点Cの位置から点Dの位置までカーソルを移動させる場合、点Cの位置から点Aの位置は上記透視変換により求めることができ、入力された移動量から点B’’の位置は上記加算処理により求めることができ、点Dの位置はカメラ200の位置と点B’’の位置とを結ぶ直線と接触する点のうち、最もカメラに近い点を計算する事で求めることができる。
【0025】
図4に、本実施形態におけるカーソルの移動制御処理のフローチャートを示す。なお、同図のフローチャートに従った処理は、ゲーム本体の処理から、カーソルを移動させるためのサブルーチンとしてCPU101により実行される。
【0026】
まずステップS401において、ゲーム空間における現在のカーソルの位置P’を求める。そしてステップS402では、ステップS401で求めた位置P’を示すデータに対してカメラの画角、投影面のサイズ、カメラと投影面との距離などを示すパラメータに基づいて透視変換を行うことで、位置P’に対応する投影面上における位置Pを求める。そしてステップS403では、操作部104を用いて入力された移動量を位置Pに加算することで、カーソルの移動後の投影面上における位置Qを求める。次にステップS404では、カメラの位置と位置Qとを結ぶ直線と最初に接する(交差を含む)点の位置を位置Q’として求める。そしてステップS405では、ステップS404で求めた位置Q’にカーソルを移動させる。以上、同図に示した処理を終えると、メインのゲーム処理にリターンする。
【0027】
[第2の実施形態]
第1の実施形態ではゲームにおけるカーソルの移動制御処理について説明したが、使用用途はこれに限定されるものではなく、他にも例えばCADに適用しても良い。また、操作部104を用いて入力される移動量は常に一定でなくとも良く、例えば、移動量を指示するボタンの押下量によって、アナログに指示する移動量を変化させても良い。
【0028】
[第3の実施形態]
以上の処理(例えば図4に示したフローチャートの一部、もしくは全部に従った処理)をプログラムとしてCD−R、ROMやDVD−ROM、MO等の記憶媒体に記憶させ、この記憶媒体に記憶されているプログラムをコンピュータに読み込ませる(インストール、もしくはコピーさせる)ことで、このコンピュータに以上の処理を実行させることができる。よって、この記憶媒体も本発明の範疇にあることは明白である。
【0029】
【発明の効果】
以上の説明により、本発明によって、3次元空間内のオブジェクトをカメラとの距離に関係なく、表示画面上では一定の速度で移動するように、3次元空間におけるオブジェクトの移動を制御することができる。
【図面の簡単な説明】
【図1】本発明の実施形態におけるゲーム装置の基本構成を示すブロック図である。
【図2】カメラと、カメラから夫々異なる距離に配置したキャラクタとしての一辺の長さがLの立方体の3次元モデルとの位置関係を横から見た図である。
【図3】本発明の実施形態におけるカーソルの移動制御処理を説明するための図でる。
【図4】本発明の実施形態におけるカーソルの移動制御処理のフローチャートである。
【発明の属する技術分野】
本発明は、コンピュータに、仮想の3次元空間に設けられたオブジェクトの移動制御を行わせる情報処理プログラムに関するものである。
【0002】
【従来の技術】
仮想の3次元空間内に3次元モデルを生成し、ユーザの見ているディスプレイに表示するといった技術は、ゲームやCAD等の分野で広く利用されている。そのゲームやCAD等で、表示されている3次元モデル、もしくは3次元モデルがポリゴンにより構成されている場合、任意のポリゴンを指示する方法としてカーソルを表示する必要がある。従来ではこのカーソルの表示、そして移動方法として例えば、3次元モデル、もしくは2次元の画像としてのカーソルを3次元空間に配置し、ユーザからの移動指示入力により、設定された速度で3次元空間内を移動させていた。
【0003】
【発明が解決しようとする課題】
しかし上記方法でカーソルを表示、移動させる場合、以下のような問題がある。例えば3次元空間において、カーソルを一定の速度で移動させる場合、視点とカーソルとの距離が小さいほど、ディスプレイ上(投影面上)の移動速度は速く見え、視点とカーソルとの距離が大きいほど、ディスプレイ上の移動速度は遅く見える。よって、ユーザがディスプレイ上におけるカーソルの所望の移動速度を設定しても、カーソルと視点位置との距離に応じてその移動速度が異なり、ディスプレイ上における所望の移動速度が得られないことになる。
【0004】
本発明はこのような点を考慮して成されたものであり、3次元空間内のオブジェクトをカメラとの距離に関係なく、表示画面上では一定の速度で移動するように、3次元空間におけるオブジェクトの移動を制御する情報処理プログラムを提供することを目的とする。
【0005】
【課題を解決するための手段】
本発明の目的を達成するために、例えば本発明の情報処理プログラムは以下の構成を備える。
【0006】
すなわち、コンピュータに、仮想の3次元空間に設けられたオブジェクトの移動制御を行わせる情報処理プログラムであって、
3次元空間におけるオブジェクトの位置を投影面に投影し、当該投影面における当該オブジェクトの位置を求める第1の位置計算工程と、
所定の入力装置から入力された前記オブジェクトの移動量を当該第1の位置計算工程で求めた前記オブジェクトの位置に加算し、加算後の前記オブジェクトの前記投影面上における位置を求める第2の位置計算工程と、
前記3次元空間における仮想のカメラの位置と当該第2の位置計算工程で求めた位置とを結ぶ直線と前記3次元空間内で接触する点のうち、最も当該カメラの位置に近い点の位置を求める第3の位置計算工程と、
当該第3の位置計算工程で求めた位置に前記オブジェクトを移動させる移動制御工程と
をコンピュータに実行させる。
【0007】
また、前記第1の位置計算工程では、3次元空間におけるオブジェクトの位置を示すデータに対して、前記カメラの画角、前記投影面のサイズ、前記カメラと前記投影面との距離を含むパラメータを用いた透視変換を行うことで、前記投影面における前記オブジェクトの位置を求めることを特徴とする。
【0008】
また、前記オブジェクトは、カーソルであることを特徴とする。
【0009】
【発明の実施の形態】
以下添付図面を参照して、本発明を好適な実施形態について詳細に説明する。
【0010】
[第1の実施形態]
図1に本実施形態におけるゲーム装置の基本構成を示す。101はCPUで、RAM102にロードされたゲームプログラムやゲームデータを用いてゲームの進行処理を行ったり、後述のカーソルの移動制御処理を行う。また、ROM103に格納された本装置全体の制御を行うプログラムや、本装置の設定データなどを用いて本装置の起動やその後の制御を行う。
【0011】
102はRAMで、CPU101が各処理を行うために使用するワークエリアを備えると共に、処理対象のデータを一時的に記憶したり、記憶媒体ドライブ106からロードされたゲームプログラムやゲームデータを記憶するエリアも備える。103はROMで、上述の通り、本装置全体の制御を行うプログラムや、本装置の設定データなどを格納する。104は操作部で、自キャラクタやカーソルなどを移動させる方向指示ボタンや、決定やキャンセルなどを入力するためのボタン群を備える。
【0012】
105は表示部で、CRTや液晶画面などにより構成されており、ゲーム画面を表示する。106は記憶媒体ドライブで、CD−ROMやDVD−ROMなどの後述の記憶媒体からゲームプログラムやゲームデータを読み込み、必要に応じてRAM102に出力する。107は記憶媒体で、CD−ROMやDVD−ROMなどにより構成されており、ゲームプログラム108やゲームデータ109を格納する。108はゲームプログラムで、ゲームの進行を制御するプログラムや、後述のカーソルの移動制御処理を行うプログラムを含む。109はゲームデータで、自キャラクタやカーソルを含む各種のキャラクタやゲームフィールドの3次元モデルのデータを含む。なお本実施形態ではカーソルを3次元モデルにて表現するが、これに限定されるものではなく、2次元の画像であっても良い。
【0013】
110はサウンド処理部で、ゲームデータに含まれる効果音やバックグラウンドミュージックなどのデータをD/A変換し、アナログ信号に変換するD/A変換器と、D/A変換器により変換されたアナログ信号を音として外部に出力するスピーカとで構成されている。111は上記各部をつなぐバスである。
【0014】
よって以上の構成を備えるゲーム装置により、仮想の3次元空間(以下、ゲーム空間と呼称することがある)において3次元モデルを生成し、表示部105に表示することができる。以下の説明では、本ゲーム装置によりゲーム空間内にキャラクタを表現する3次元モデルを生成し、更にカーソルを表現する3次元モデルを生成し、同空間に設けられた仮想のカメラ(ユーザの同空間における視点)から見える画像を表示部105に表示する場合について説明する。
【0015】
上記構成を備えるゲーム装置によって、後述のカーソルの移動制御処理を行うが、まず、ゲーム空間内で一定の速度で移動するカーソルが、移動する位置と仮想カメラの位置(ユーザの視点位置)との距離に応じて、その移動速度の上記表示部105における見え方について説明する。
【0016】
図2は、上記カメラと、カメラから夫々異なる距離に配置したキャラクタとしての一辺の長さがLの立方体の3次元モデルとの位置関係を横から見た図である。同図において200は上記カメラで、201,202,203は夫々上記キャラクタとしての3次元モデルで、以下の説明ではこの3次元モデルとして立方体を用いるが、この形状に限定されるものではない。夫々の立方体において対応する一辺CD、EF、GHの長さは夫々Lである。また205は投影面で、投影面205に公知の方法で透視変換された、ゲーム空間及び同空間内に配置された3次元モデル(2次元モデルがあればそれも含む)が表示部105に表示されることになる。
【0017】
3次元モデル201の一辺CDの長さはゲーム空間内ではLであるが、この一辺CDの長さLが投影面205に投影された場合、その長さはLen(AB’’)となり(Len(X)は線分Xの長さを示すものとする)、L≠Len(AB’’)となる。また3次元モデル202の一辺EFの長さはゲーム空間内ではLであるが、この一辺EFの長さLが投影面205に投影された場合、その長さはLen(AB’)となり、L≠Len(AB’)<Len(AB’’)となる。すなわち、3次元モデル202は3次元モデル201よりもカメラ200から遠い位置に配置されているので、ゲーム空間では一辺の長さが同じでも投影面ではより短い長さとなる。
【0018】
また、3次元モデル203の一辺GHの長さはゲーム空間内ではLであるが、この一辺GHの長さLが投影面205に投影された場合、その長さはLen(AB)となり、L≠Len(AB)<Len(AB’)<Len(AB’’)となる。すなわち、3次元モデル203は3次元モデル202よりもカメラ200から遠い位置に配置されているので、ゲーム空間では一辺の長さが同じでも投影面ではより短い長さとなる。よって同図を用いた以上の説明により、3次元モデルの対応する一辺の長さが上記ゲーム空間で同じ長さであったとしても、カメラから遠い位置に配置されているほど、投影面に投影されるその長さは短くなることがわかる。
【0019】
ここで例えば上記ゲーム空間内にカーソルを示す3次元モデルを配置し、上記3つの3次元モデルの一辺の両端間をゲーム空間における一定速度vで移動する場合を考える。このカーソルは一定速度vで移動するわけであるから、上記各一辺CD、EF、GHの両端間を移動する(例えば一辺CD上を移動する場合、点Cの位置から点Dの位置まで移動)に要する時間は同じである。しかしユーザは、投影面205に投影された画像を見るのであるから、投影面上でより短い長さの一辺の両端間を移動するカーソルほど、投影面では遅く見える。
【0020】
このように、カーソルが移動する位置とカメラとの距離に応じてカーソルの投影面上における速度が異なってしまう。よってこの問題に対処するための本実施形態におけるカーソルの移動制御方法について、以下説明する。
【0021】
図3は、本実施形態におけるカーソルの移動制御処理を説明するための図で、図2と同じ部分については同じ番号を付けており、その説明を省略する。同図においてSはx−z平面と平行の基準面であって、本実施形態ではy=0における平面とするが、これに限定されるものではなく、例えばゲーム空間にyの値が負となるような起伏がある場合、その最小のyの値以下のyの値における基準面を設けても良い。
【0022】
カーソルはゲーム空間に存在し、同空間におけるカーソルの初期位置を点A’で示す。また、点Aはこの点A’の位置を投影面に投影した位置を示す。また、ユーザから操作部104を用いて指示されるカーソルの移動速度v(移動量)は投影面上におけるカーソルの移動速度であるものとする。これにより、入力された移動量vを現在のカーソルの投影面上の位置に加算し、カーソルの位置を更新することで、カーソルは常に一定の移動量で投影面上を移動することになり、ユーザの見る表示部105上でもカーソルは一定の速度で移動するように見える。しかし、実際にカーソルはゲーム空間内に存在するので、本実施形態のカーソルの移動制御処理では、投影面上における移動先の位置に対応するゲーム空間における位置を求め、求めた位置にカーソルを移動させる処理を行う。
【0023】
まず、点A’の位置にあるカーソルの投影面上における位置(点Aが示す位置)を求める。求める方法は、カメラ200の画角、投影面205のサイズ、カメラ200と投影面205との距離などを示すパラメータに基づいて公知の透視変換などにより求めることができる。そして操作部104を用いて入力された移動量を点Aの位置に加算することで投影面における点Bの位置を求める。そして、カメラ200の位置と点Bの位置とを結ぶ直線と平面Sとの交点(点B’)を求める。この交点が即ち、投影面上の点Bに対応するゲーム空間における点の位置を示す。そして点B’の位置にカーソル移動させる。
【0024】
以上の処理を行うことで、投影面上の移動速度が一定となるように、カーソルをゲーム空間において移動させることができる。また、図2に示した3次元モデルの一辺上を同様に移動させる場合、例えば一辺CD上を点Cの位置から点Dの位置までカーソルを移動させる場合、点Cの位置から点Aの位置は上記透視変換により求めることができ、入力された移動量から点B’’の位置は上記加算処理により求めることができ、点Dの位置はカメラ200の位置と点B’’の位置とを結ぶ直線と接触する点のうち、最もカメラに近い点を計算する事で求めることができる。
【0025】
図4に、本実施形態におけるカーソルの移動制御処理のフローチャートを示す。なお、同図のフローチャートに従った処理は、ゲーム本体の処理から、カーソルを移動させるためのサブルーチンとしてCPU101により実行される。
【0026】
まずステップS401において、ゲーム空間における現在のカーソルの位置P’を求める。そしてステップS402では、ステップS401で求めた位置P’を示すデータに対してカメラの画角、投影面のサイズ、カメラと投影面との距離などを示すパラメータに基づいて透視変換を行うことで、位置P’に対応する投影面上における位置Pを求める。そしてステップS403では、操作部104を用いて入力された移動量を位置Pに加算することで、カーソルの移動後の投影面上における位置Qを求める。次にステップS404では、カメラの位置と位置Qとを結ぶ直線と最初に接する(交差を含む)点の位置を位置Q’として求める。そしてステップS405では、ステップS404で求めた位置Q’にカーソルを移動させる。以上、同図に示した処理を終えると、メインのゲーム処理にリターンする。
【0027】
[第2の実施形態]
第1の実施形態ではゲームにおけるカーソルの移動制御処理について説明したが、使用用途はこれに限定されるものではなく、他にも例えばCADに適用しても良い。また、操作部104を用いて入力される移動量は常に一定でなくとも良く、例えば、移動量を指示するボタンの押下量によって、アナログに指示する移動量を変化させても良い。
【0028】
[第3の実施形態]
以上の処理(例えば図4に示したフローチャートの一部、もしくは全部に従った処理)をプログラムとしてCD−R、ROMやDVD−ROM、MO等の記憶媒体に記憶させ、この記憶媒体に記憶されているプログラムをコンピュータに読み込ませる(インストール、もしくはコピーさせる)ことで、このコンピュータに以上の処理を実行させることができる。よって、この記憶媒体も本発明の範疇にあることは明白である。
【0029】
【発明の効果】
以上の説明により、本発明によって、3次元空間内のオブジェクトをカメラとの距離に関係なく、表示画面上では一定の速度で移動するように、3次元空間におけるオブジェクトの移動を制御することができる。
【図面の簡単な説明】
【図1】本発明の実施形態におけるゲーム装置の基本構成を示すブロック図である。
【図2】カメラと、カメラから夫々異なる距離に配置したキャラクタとしての一辺の長さがLの立方体の3次元モデルとの位置関係を横から見た図である。
【図3】本発明の実施形態におけるカーソルの移動制御処理を説明するための図でる。
【図4】本発明の実施形態におけるカーソルの移動制御処理のフローチャートである。
Claims (3)
- コンピュータに、仮想の3次元空間に設けられたオブジェクトの移動制御を行わせる情報処理プログラムであって、
3次元空間におけるオブジェクトの位置を投影面に投影し、当該投影面における当該オブジェクトの位置を求める第1の位置計算工程と、
所定の入力装置から入力された前記オブジェクトの移動量を当該第1の位置計算工程で求めた前記オブジェクトの位置に加算し、加算後の前記オブジェクトの前記投影面上における位置を求める第2の位置計算工程と、
前記3次元空間における仮想のカメラの位置と当該第2の位置計算工程で求めた位置とを結ぶ直線と前記3次元空間内で接触する点のうち、最も当該カメラの位置に近い点の位置を求める第3の位置計算工程と、
当該第3の位置計算工程で求めた位置に前記オブジェクトを移動させる移動制御工程と
をコンピュータに実行させるための情報処理プログラム。 - 前記第1の位置計算工程では、3次元空間におけるオブジェクトの位置を示すデータに対して、前記カメラの画角、前記投影面のサイズ、前記カメラと前記投影面との距離を含むパラメータを用いた透視変換を行うことで、前記投影面における前記オブジェクトの位置を求めることを特徴とする請求項1に記載の情報処理プログラム。
- 前記オブジェクトは、カーソルであることを特徴とする請求項1または2に記載の情報処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002157602A JP2004005024A (ja) | 2002-05-30 | 2002-05-30 | 情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002157602A JP2004005024A (ja) | 2002-05-30 | 2002-05-30 | 情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004005024A true JP2004005024A (ja) | 2004-01-08 |
Family
ID=30428466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002157602A Pending JP2004005024A (ja) | 2002-05-30 | 2002-05-30 | 情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004005024A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119453A1 (ja) * | 2008-03-26 | 2009-10-01 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラム |
-
2002
- 2002-05-30 JP JP2002157602A patent/JP2004005024A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009119453A1 (ja) * | 2008-03-26 | 2009-10-01 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲーム処理方法、情報記録媒体、ならびに、プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5089079B2 (ja) | プログラム、情報記憶媒体及び画像生成システム | |
US7536655B2 (en) | Three-dimensional-model processing apparatus, three-dimensional-model processing method, and computer program | |
JP4177381B2 (ja) | 画像生成方法、画像生成装置、および画像生成プログラム | |
JP2004267247A (ja) | 3次元ビデオゲーム装置、3次元ビデオゲームにおける仮想カメラの制御方法、並びにプログラム及び記録媒体 | |
JP2007102503A (ja) | 画像生成装置及び方法、プログラム、並びに記録媒体 | |
JP2002042165A (ja) | 画像生成装置、方法および記録媒体 | |
JP3926307B2 (ja) | 3次元画像描画装置及び方法、プログラム、並びに記録媒体 | |
JP2010035978A (ja) | ゲームプログラムおよびゲーム装置 | |
JP3363137B2 (ja) | 当たり判定方法、その装置、当たり判定処理プログラムを記録したコンピュータ読み取り可能な記録媒体及びビデオゲーム装置 | |
JP2007180935A (ja) | 音声処理装置、音声処理方法、ならびに、プログラム | |
JP2003022452A (ja) | 画像処理装置および立体形状表示プログラム | |
JP2005182207A (ja) | 画像描画装置及び方法、プログラム並びに記録媒体 | |
JP3428562B2 (ja) | オブジェクトの動きを処理する方法および記録媒体、並びに、ゲーム装置 | |
JP2009223904A (ja) | 画像生成装置及び方法、プログラム、並びに記録媒体 | |
JP2002222435A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JPH11146978A (ja) | 3次元ゲーム装置及び情報記憶媒体 | |
US8926427B2 (en) | Video game with screen flip and dual sets of collision data | |
JP2004005024A (ja) | 情報処理プログラム | |
JP2003168135A (ja) | 画像表示プログラム、画像表示方法及びビデオゲーム装置 | |
JP2009251887A (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP2005046282A (ja) | ゲーム装置、コンピュータの制御方法及びプログラム | |
JP4508776B2 (ja) | 画像処理プログラムおよび画像処理装置 | |
JP2000279642A (ja) | ゲーム装置、ゲーム方法、コンピュータ読取可能な記録媒体 | |
JP4229316B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
JP4467590B2 (ja) | 描画装置、描画方法、および描画プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041224 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050617 |