JP3583995B2 - エンタテインメント装置、記憶媒体およびオブジェクト表示方法 - Google Patents
エンタテインメント装置、記憶媒体およびオブジェクト表示方法 Download PDFInfo
- Publication number
- JP3583995B2 JP3583995B2 JP2001012278A JP2001012278A JP3583995B2 JP 3583995 B2 JP3583995 B2 JP 3583995B2 JP 2001012278 A JP2001012278 A JP 2001012278A JP 2001012278 A JP2001012278 A JP 2001012278A JP 3583995 B2 JP3583995 B2 JP 3583995B2
- Authority
- JP
- Japan
- Prior art keywords
- camera
- virtual
- moving
- target object
- dimensional world
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、操作装置を介して受け付けた利用者の操作内容にしたがい仮想的な3次元世界中を移動するオブジェクトを、仮想的なカメラで撮影することで得られる動画像を作成し、表示装置の表示画面上に表示する技術に関する。
【0002】
【従来の技術】
近年、3次元グラフィックアニメーションを利用して、フライトシミュレーションやドライブシミュレーションなどを行うことが可能な、テレビゲーム機などのエンタテインメント装置が普及している。
【0003】
この種のエンタテインメント装置では、操作者は、当該装置に接続された操作装置を使用して、飛行機、自動車などを表すオブジェクトを操作し、仮想的な3次元世界中を移動させることができる。当該エンタテインメント装置は、この3次元世界中を移動するオブジェクトを仮想的なカメラで撮影することで得られる動画像を生成し、当該装置に接続された表示装置の表示画面に表示する。
【0004】
ところで、従来のフライトシミュレーションやドライブシミュレーションなどを行うことが可能なエンタテイメント装置では、仮想的なカメラをオブジェクトとの相対的な位置関係で一義的(固定的)に定まる位置に設定している。
【0005】
図15は、従来のこの種のエンタテイメント装置におけるオブジェクト(飛行機を表すオブジェクト)901と仮想的なカメラ902との位置関係を説明するための図である。ここで、図15(a)は、3次元世界中に配置されたオブジェクト901と仮想的なカメラ902を、真上(Z軸の無限遠方)から見下ろした様子を示しており、図15(b)は、3次元世界中に配置されたオブジェクト901と仮想的なカメラ902を、真横(X軸の無限遠方)から見た様子を示している。なお、これらの図では3次元世界中に配置された地図構成要素の図示を省略している。
【0006】
図示するように、従来のフライトシミュレーションやドライブシミュレーションなどを行うことが可能なエンタテイメント装置では、たとえば、オブジェクト901を通過する、当該オブジェクト901の移動方向に沿った線903において、オブジェクト901から所定距離Lだけ後方の位置より所定距離Hだけ上方の位置(カメラ設置点A)や、オブジェクト901の位置(カメラ設置点B)に、仮想的なカメラ902を設置し、当該カメラ902が、当該オブジェクト901より前方の線903上の任意の点を向くように、当該カメラの視線方向を設定している。
【0007】
図16は、図15に示すようにして配置された仮想的なカメラ902からオブジェクト901を撮影した場合に得られる映像を示した図である。ここで、図16(a)は、図15において仮想的なカメラ902をカメラ設置点Aに設定した場合に、当該カメラ902により得られる映像の一例を示しており、図16(b)は、図15において仮想的なカメラ902をカメラ設置点Bに設定した場合に、当該カメラ902により得られる映像の一例を示している。
【0008】
【発明が解決しようとする課題】
さて、上述したように、従来のフライトシミュレーションやドライブシミュレーションなどを行うことが可能なエンタテイメント装置では、仮想的なカメラをオブジェクトとの相対的な位置関係で一義的(固定的)に定まる位置に設定しているため、以下のような問題が生ずる。
【0009】
すなわち、現実の世界において、自動車を運転したり飛行機を操縦する場合、移動速度を上げれば、通常、より広い範囲で遠方まで、周囲に注意を払う必要が生ずる。
【0010】
しかしながら、上述したように、従来のフライトシミュレーションやドライブシミュレーションなどを行うことが可能なエンタテイメント装置では、仮想的なカメラの配置位置がオブジェクト位置との関係で一義的に定まるため、当該カメラに収められる(つまり表示装置の表示画面に表示される)オブジェクト周囲の映像は、仮想的な3次元世界中におけるオブジェクトの移動速度にかかわらず、一定である。このため、操作者にとって、オブジェクトの移動速度を上げたときに、相対的に視界が狭くなるため、極端に操作が難くなるという傾向がある。
【0011】
なお、この問題は、操作者が操作装置に入力したパラメータにより特定される移動速度を、3次元世界中を移動するオブジェクトの移動速度にそのまま反映させず、前記パラメータにより特定される移動速度よりも低い移動速度(たとえば、パラメータにより特定される移動速度に1未満の所定の係数を乗算した値)で、オブジェクトが3次元世界中を移動するように設定することで、解決できるかもしれない。しかしながら、この場合、3次元世界中を移動するオブジェクトの移動速度を、前記パラメータにより特定される移動速度よりも極端に低くすると、操作者は、表示装置の表示画面に表示された動画像から、所望のスピード感を得ることができなくなり、十分に楽しむことができない。
【0012】
そこで、本発明は、仮想的な3次元世界中を移動するオブジェクトを仮想的なカメラで撮影することで得られる動画像を、表示装置の表示画面上に表示するエンタテインメント装置において、表示装置の表示画面に表示された動画像から所望のスピード感を得ることができるようにすることを課題とする。
【0013】
また、フライトシミュレーションやドライブシミュレーションなどの、操作者が操作装置を用いて仮想的な3次元世界中を移動するオブジェクトを操作することのできるエンタテイメント装置において、オブジェクトを操作する楽しみを十分に享受できるようにすることを課題とする。具体的には、オブジェクトの移動速度を上げた場合でも、極端に操作が難くなることを防ぎつつ、所望のスピード感を得ることができるようにする。
【0014】
【課題を解決するための手段】
前記課題達成のために、本発明では、仮想的な3次元世界中を移動するオブジェクト(たとえば飛行機や自動車を表すオブジェクト)を仮想的なカメラで撮影することで得られる動画像を作成し、表示装置の表示画面上に表示するエンタテインメント装置において、前記オブジェクトと前記仮想的なカメラとの前記3次元世界中における位置関係を、前記3次元世界中における前記オブジェクトの移動速度を考慮して決定する。
【0015】
たとえば、前記オブジェクトの移動速度が大きくなるほど、前記仮想的なカメラが前記オブジェクトの移動方向に対して当該オブジェクトの後方へ遠ざかるよう決定する。
【0016】
このようにすれば、操作者が、本発明のエンタテインメント装置に接続された操作装置を用いて前記オブジェクトの移動速度を上げた場合、移動速度の増加分に応じて、前記仮想的なカメラに収められる(つまり表示装置の表示画面に表示される)オブジェクト周囲の映像が広くなる。したがって、オブジェクトの移動速度を上げたときに、極端に操作が難くなるという問題を解決できる。
【0017】
また、オブジェクトの移動速度は、当該オブジェクトの当該オブジェクト周囲に配置された地図構成要素に対する相対速度として、表示装置の表示画面に表示される動画像に反映されるため、オブジェクトの移動速度の増加分に応じて、仮想的なカメラに収められるオブジェクト周囲の映像が広くなっても、前記動画像から得られるスピード感は失われない。
【0018】
なお、本発明において、前記カメラ設定手段は、前記仮想的なカメラが、前記オブジェクトの移動方向に対して当該オブジェクトの前方に設定された前記3次元世界中の仮想的な点であるカメラ参照点を向くように、当該カメラの視線方向を設定するものでもよい。
【0019】
たとえば、前記オブジェクトの移動速度に関連した値が大きくなるほど、前記カメラ参照点が前記オブジェクトの移動方向に対してより前方へ移動するように、前記カメラ参照点を設定するようにしてもよい。
【0020】
このようにすれば、操作者が、本発明のエンタテインメント装置に接続された操作装置を用いて前記オブジェクトの移動速度を上げた場合、移動速度の増加分に応じて、前記仮想的なカメラに収められる(つまり表示装置の表示画面に表示される)オブジェクト周囲の映像がより遠方にまで広がる。
【0021】
【発明の実施の形態】
以下、本発明の一実施形態について説明する。
【0022】
まず、本発明の一実施形態に係るエンタテインメント装置のハードウエア構成について説明する。
【0023】
図1に本発明の一実施形態に係るエンタテインメント装置の外観を示す。
【0024】
このエンタテインメント装置は、たとえば、CD−ROMやDVD−ROMの光ディスク等に記憶されているゲームプログラムを読み出して、操作者(プレイヤ)からの指示に応じて実行するものである。なお、ゲームの実行とは、主として、プレイヤからの指示に応じて、このエンタテインメント装置に接続された表示装置(テレビなど)の表示画面上に表示されている操作対象オブジェクト(たとえば、飛行機や自動車などを表すオブジェクト)を動かし、これに伴い動画像の表示や音声を制御して、ゲームを進行することをいう。
【0025】
図示するように、エンタテインメント装置1の本体2は、その中央部にテレビゲーム等のアプリケーションプログラムやマルチメディアデータを供給するための記録媒体であるCD−ROMやDVD−ROM等の光ティスクが装着されるディスク装着部3と、ゲームをリセットするためのリセットスイッチ4と、電源スイッチ5と、光ディスクの装着を操作するためのディスク操作スイッチ6と、たとえば2つのスロット部7A、7Bと、を備えている。
【0026】
スロット部7A、7Bには、2つの操作装置20を接続することができ、2人のプレイヤが対戦ゲームや競争ゲームなどを行うことができる。また、このスロット部7A、7Bには、ゲームデータをセーブ(記憶)したり、読み出すことができるメモリカード装置26や、本体2と切り離してゲームを実行できる携帯用電子機器100を装着することができる。
【0027】
操作装置20は、第1、第2の操作部21、22と、Lボタン23Lと、Rボタン23Rと、スタートボタン24と、選択ボタン25を有し、さらに、アナログ操作が可能なアナログ操作部31、32と、これら操作部31、32の操作モードを選択するモード選択スイッチ33と、選択された操作モードを表示するための表示部34を有している。
【0028】
アナログ操作部31、32は、図2に示すように、所定の支点aを通る所定の軸bに対し、支点aを中心にして傾倒可能に且つ傾倒した状態で回転可能に構成された操作軸31a、32aを有する。操作装置20は、操作軸31a、32aの軸bに対する傾きとその傾き方向を検知し、これらから定まるX−Y座標上の座標値に応じた信号を出力する。この座標値は、図3に示すように、Y(垂直)方向の値は操作軸31a、32aの上下方向の傾きに応じて「0」〜「255」の256段階の値で表現され、X(水平)方向の値は、操作軸31a、32aの左右方向の傾きに応じて「0」〜「255」の256段階の値で表現される。
【0029】
次に、図4に、エンタテインメント装置1の構成を示す。
【0030】
図示するように、このエンタテインメント装置1は、中央処理装置(CPU:CentRal Processing Unit)51およびその周辺装置等からなる制御系50と、フレームバッファ63に描画を行なう画像処理装置(GPU:Graphic Processing Unit)62等からなるグラフィックシステム60と、楽音・効果音等のオーディオ信号を生成する音声処理装置(SPU:Soud Processing Unit)71等からなるサウンドシステム70と、アプリケーションプログラムやマルチメディアデータが記録されている光ディスクの制御を行なう光ディスク制御部80と、プレイヤからの指示が入カされる操作装置20からの信号およびゲームの設定等を記憶するメモリカード26や携帯用電子機器100からのデータの入出力を制御する通信制御部90と、上記の各部が接続されているバスBUS等を備えている。
【0031】
制御系50は、CPU51と、割り込み制御やダイレクトメモリアクセス(DMA:Direct Memory Access)転送の制御等を行なう周辺装置制御部52と、ランダムアクセスメモリ(RAM:Random Access Memory)からなるメインメモリ(主記憶装置)53と、メインメモリ53やグラフィックシステム60やサウンドシステム70等の管理を行なう、いわゆるオペレーティングシステム等のプログラムが格納されたリードオンリーメモリ(ROM:Read Only Memory)54と、を備えている。
【0032】
CPU51は、ROM54に記録されているオペレーティングシステムを実行することにより、このエンタテインメント装置1の全体を制御するもので、たとえばRISC−CPUからなる。
【0033】
そして、このエンタテインメント装置1は、電源が投入されると、制御系50のCPU51がROM54に記憶されているオペレーティングシステムを実行する。これにより、CPU51が、グラフィックシステム60やサウンドシステム70等の制御を行なうようになっている。
【0034】
また、オペレーティングシステムが実行されると、CPU51は、動作確認等のエンタテインメント装置1全体の初期化を行った後、光ディスク制御部80を制御して、光ディスクに記録されているゲーム等のアプリケーションプログラムを実行する。このゲーム等のプログラムの実行により、CPU51は、プレイヤからの入力に応じてグラフィックシスデム60やサウンドシステム70等を制御して、画像の表示や効果音・楽音の発生を制御する。
【0035】
また、グラフィックシステム60は、座標変換等の処理を行なうジオメトリトランスファエンジン(GTE:Geometry Transfer Engine)61と、CPU51からの描画指示に従って描画を行なうGPU62と、このGPU62により描画された画像を記憶するフレームバッファ63と、離散コサイン変換等の直交変換により圧緒されて符号化された画像データを復号する画像デコーダ64と、を備えている。
【0036】
GTE61は、たとえば複数の演算を並列に実行する並列演算機構を備え、座標変換などの行列あるいはベクトル等の演算を行なう。具体的には、このGTE61は、たとえば、光ディスクに記録されているゲーム等のアプリケーションプログラムがいわゆる3Dグラフィックを利用する場合に、三角形状のポリゴンの集合で仮想的な3次元オブジェクトを構成する。そして、この3次元オブジェクトを仮想的なカメラで撮影することにより得られる画像を生成するための諸計算、すなわち、レンダリングを行う場合における透視変換(3次元オブジェクトを構成する各ポリゴンの頂点を仮想的なカメラスクリーン上に投影した場合における座標値の計算)などを行う。
【0037】
次に、GPU62は、CPU51からの命令に従って、必要に応じてGTE61を利用しながら、フレームバッファ63に対して3次元オブジェクトのレンダリングを行って、画像を作成する。そして、作成した画像を表すビデオ信号を出力する。なお、レンダリングに用いる隠線、隠面消去の手法としては、Zバッファ法、スキャンライン法、レイトレーシング法などを使用する。陰影付けを行うシェーディングの手法としては、フラットシェーディング、グーローシェーディング、レイトレーシング法などを使用する。また、3次元オブジェクトの表面の表面材質や模様を表現する手法としてはテクスチャマッピングなどを使用する。
【0038】
次に、フレームバッファ63は、いわゆるデュアルポートRAMからなり、GPU62のレンダリングあるいはメインメモリからの転送と、表示のための読み出しとを同時に行なうことができるようになっている。また、このフレームバッファ63には、レンダリング、表示のための読み出しが行われる画像領域の他に、前記テクスチャマッピングなどに用いられるテクスチャが記憶されるテクスチヤ領域が設けられている。
【0039】
次に、画像デコーダ64は、CPU51からの制御により、メインメモリ53に記憶されている静止画あるいは動画の画像データを復号して、メインメモリ53に記憶する。また、この再生された画像データは、GPU62を介してフレームバッファ63に記憶することにより、上述のGPU62によってレンダリングされる画像の背景として使用することができるようになっている。
【0040】
次に、サウントシステム70は、CPU51からの指示に基づいて、楽音・効果音等のオーディオ信号を出力するSPU71と、このSPU71により波形データ等が記録されるサウンドバッファ72を備えている。
【0041】
SPU71は、適応予測符号化(ADPCM:Adaptive Differential PCM)された音声データを再生するADPCM復号機能と、サウンドバッファ72に記憶されている波形データを再生することにより、効果音等のオーディオ信号を再生し出力する再生機能と、サウンドバッファ72に記憶されている波形データを変調させて再生する変調機能等を備えている。このような機能を備えることによって、このサウンドシステム70は、CPU51からの指示によりサウンドバッファ72に記憶された波形データに基づき楽音・効果音等のオーディオ信号を発生する、いわゆるサンプリング音源として使用することができるように構成されている。
【0042】
次に、光ディスク制御部80は、光ディスクに記録されたプログラムやデータ等を再生する光ディスク装置81と、例えばエラー訂正符号(ECC:Error Correction Code)が付加されて記録されているプログラムやデータ等を復号するデコーダ82と、光ディスク装置81からのデータを一時的に記憶することにより、光ディスクからのデータの読み出しを高速化するバッファ83を備えている。デコーダ82には、サブCPU84が接続されている。
【0043】
なお、光ティスク装置81で読み出される、光ディスクに記録されている音声データとしては、上述のADPCMデータの他にオーディオ信号をアナログ/デジタル変換したいわゆるPCMデータがある。ADPCMデータは、デコーダ82で復号された後、上述のSPU71に供拾され、SPU71でデジタル/アナログ変換等の処理が施された後、このエンタテインメント装置1に接続されたオーディオ機器などの音響装置から楽音・効果音等として出力される。また、PCMデータは、SPU71でデジタル/アナログ変換等の処理が施された後、同様に、音響装置から楽音・効果音等として出力される。
【0044】
次に、通信制御部90は、バスBUSを介してCPU51との通信の制御を行なう通信制御機91を備えている。通信制御機91には、プレイヤからの指示を入カする操作装置20が接続される操作装置接続部12と、ゲームの設定データ等を記憶する補助記憶装置としてメモリカード26や携帯用電子機器100が接続されるメモリカード挿入部8A、8Bが設けられている。
【0045】
操作装置接続部12に接続された操作装置20は、プレイヤからの指示を入力するために、通信制御機91からの指示に従って、前記各ボタンや操作部の状態を、同期式通信により、通信制御機91に送信する。そして、通信制御機91は、操作装置20の前記各ボタンや操作部の状態をCPU51に送信する。
【0046】
これにより、プレイヤからの指示がCPU51に入カされ、CPU51は、実行しているゲームプログラム等に基づいて、プレイヤからの指示に従った処理を行なう。具体的には、制御系70の他の各部およびグラフィックシステム60と連携して、操作対象オブジェクトを含む画像を生成し、表示装置の表示画面に表示させる。そして、操作装置20に入力されたプレイヤからの指示にしたがい、操作対象オブジェクトの表示位置や姿勢などを変えた画像(必要に応じてその背景も変える)を順次生成し、表示装置の表示画面に表示させることで、あたかも、操作装置20に入力されたプレイヤの操作内容に応じて、操作対象オブジェクトが操作されるように、動画像を生成する。また、必要に応じて、サウントシステム70と連携し、音声装置より出力する音声や音楽を制御する。
【0047】
ここで、メインメモリ53、GPU62、画像デコーダ64およびデコーダ82等の間では、プログラムの読み出し、画像の表示あるいは描画等を行なう際に、画像データを高速に転送する必要がある。そこで、このエンタテインメント装置1では、上述のようにCPU51を介ざずに周辺装置制御部52からの制御によりメインメモリ53、GPU62、画像デコーダ64およびデコーダ82等の間で直接データの転送を行なう、いわゆるDMA転送を行なうことができるようになっている。これにより、データ転送によるCPU51の負荷を低減させることができ、高速なデータの転送を行なうことができる。
【0048】
また、CPU51は、実行しているゲームの設定データ等を記憶する必要があるときに、その記憶するデータを通信制御機91に送信し、通信制御機91は、CPU51からのデータをメモリカード挿入部8Aまたは8Bのスロットに装着されたメモリカード26や携帯用電子機器100に書き込む。
【0049】
ここで、通信制御機91には、電気的な破壊を防止するための保護回路が内蔵されている。メモリカード26や携帯用電子機器100は、バスBUSから分離されており、装置本体の電源を入れた状態で、着脱することができる。従って、メモリカード26や携帯用電子機器100の記憶容量が足りなくなった場合等に、装置本体の電源を遮断することなく、新たなメモリカードなどを挿着できる。このため、バツクアップする必要があるゲームデータが失われてしまうことなく、新たなメモリカードを装着して、必要なデータを新たなメモリカードに書き込むことができる。
【0050】
なお、パラレルI/Oインタフェース(PIO)96、および、シリアルI/Oインタフェース(SIO)97は、メモリカード26や携帯用電子機器100と、エンタテインメント装置1とを接続するためのインタフェースである。
【0051】
以上、エンタテインメント装置1のハードウエア構成について説明した。
【0052】
次に、上記構成のエンタテインメント装置1において、CPU51が、ディスク装着部3に装着された光ディスクから読み出されたアプリケーションプログラムを実行することで、実現されるフライトシミュレーションゲームについて説明する。
【0053】
なお、ここで、フライトシミュレーションゲームとは、プレイヤが、エンタテインメント装置1に接続された操作装置20を使用して、飛行機を表す操作対象オブジェクトを操作し、仮想的な3次元世界中を移動させることで、飛行機の操縦を仮想的に体験することができるゲームである。エンタテインメント装置1は、この3次元世界中を移動する操作対象オブジェクトを仮想的なカメラで撮影することで得られるCGアニメーション画像を生成し、当該エンタテインメント装置1に接続された表示装置の表示画面に表示する。
【0054】
まず、光ディスクのデータ構成について説明する。
【0055】
図5は、ディスク装着部3に装着される光ディスク85のデータ構成を説明するための図である。
【0056】
図示するように、光ディスク85には、フライトシミュレーションゲームを実現するためのアプリケーションプログラム(PG)501と、オブジェクトデータ(DA)502や地図データベース(DB)503を含む各種データが記録されている。
【0057】
オブジェクトDA502には、フライトシミュレーションゲームにおいて、プレイヤが操作装置20を用いて操作する操作対象オブジェクト(飛行機を表すオブジェクト)の、3次元形状やテクスチャなどを特定するために必要な各種情報が格納されている。地図DB503には、フライトシミュレーションゲームにおいて、操作対象オブジェクトが移動する仮想的な3次元世界中の地形を特定する様々な地図構成要素の情報が格納されている。
【0058】
次に、エンタテインメント装置1上に構築される、フライトシミュレーションゲームを実現するためのソフトウエア構成について説明する。
【0059】
図6は、エンタテインメント装置1上に構築されるフライトシミュレーションゲームを実現するためのソフトウエア構成を示した図である。なお、この図に示す各構成要素は、光ディスク制御部80によりディスク装着部3に装着された光ディスク85から読み出され、メインメモリ53上にロードされたアプリケーションPG501を、CPU51が実行することにより、プロセスとして具現化される。
【0060】
図6において、操作内容受付部801は、操作装置20に入力されたプレイヤの指示にしたがい、仮想的な3次元世界中を移動する操作対象オブジェクトの移動速度や移動方向を決定する。この処理は定期的に行われる。
【0061】
ここで、操作対象オブジェクトの移動速度は、たとえば、操作装置20の第1、2の操作部21、22、Lボタン23LおよびRボタン23Rのうちのいずれかに、スロットルと同じ機能を持たせることで決定する。
【0062】
すなわち、スロットルと同じ機能を持たせたボタンの検知信号が操作装置20から出力されているときは、スロットルオンと判断し、当該ボタンの検知信号が出力されたいないときはスロットルオフと判断する。そして、スロットルオンと判断された場合は、前回決定した操作対象オブジェクトの移動速度に、予め定められたスロットルオンに応じた加速度と前回移動速度を決定してからのスロットルオンの継続時間より求まる速度を加算することで、操作対象オブジェクトの移動速度を決定する。一方、スロットルオフと判断された場合は、前回決定した操作対象オブジェクトの移動速度に、予め定められたスロットルオフに応じた減速度と前回移動速度を決定してからのスロットルオフの継続時間より求まる速度を減算することで、操作対象オブジェクトの移動速度を決定する。
【0063】
また、操作対象オブジェクトの移動方向は、たとえば操作装置20の操作軸31a、32aに、操縦かんと同じ機能を持たせることで決定する。
【0064】
すなわち、操作軸31a、32aに加えられた操作により、操作装置20から出力されたX−Y座標上の座標値に応じた信号のX座標成分の値に応じて、操作対象オブジェクトが表す飛行機の左右の傾きを決定し、Y座標成分の値に応じて、当該飛行機の機首の上下を決定する。
【0065】
具体的には、図3において、X座標成分の値が128〜255の場合は、その値が大きいほど飛行機が右に大きく傾き、X座標成分の値が0〜126の場合は、その値が小さいほど飛行機が左に大きく傾くものとする。そして、X座標成分の値が127の場合は飛行機の左右への傾きなしとする。また、Y座標成分の値が128〜255の場合は、その値が大きいほど飛行機の機首を大きく上げ、Y座標成分の値が0〜126の場合は、値が小さいほど飛行機の機首を大きく下げるものとする。そして、Y座標成分の値が127の場合は飛行機の機首の上下はなしとする。
【0066】
そして、操作内容受付部801は、操作装置20から出力されたX−Y座標上の座標値に応じた信号により特定される、操作対象オブジェクトが表す飛行機の左右の傾きおよび機首の上下より、前回決定した操作対象オブジェクトの移動方向に対する相対的な移動方向の変化分を求め、これを前回決定した操作対象オブジェクトの移動方向に加算する。これにより、当該操作対象オブジェクトの移動方向を決定する。
【0067】
ところで、現実の世界において、操縦かんを用いて、飛行機を完全な旋回飛行状態に移行させる行為は、非常に高度な操縦が要求される。このため、操作装置20の操作軸31a、32aに、操縦かんと同じ機能をそのまま持たせるのでは、不慣れなプレイヤにとって、操作対象オブジェクトの操作が難し過ぎて、十分にフライトシミュレーションゲームを楽しめなくなるかもしれない。
【0068】
そこで、本実施形態では、操作対象受付部801に、操作軸31a、32aに加えられた操作により、操作装置20から出力された信号が示すX−Y座標上の座標値が、所定の範囲にある場合、操作内容受付部801は、操作対象オブジェクトに所定の動作(現実の世界において、操縦が困難と思われる動作)を行わせるものと判断させている。そして、操作対象オブジェクトの移動方向が、当該動作を行うために要求される方向となるように決定している。図3に示す例では、操作内容受付部801は、X−Y座標上の座標値がX座標値≧240、Y座標値≦15の場合は、操作対象オブジェクトに右回りの急旋回飛行を行わせるものと判断し、X座標値≦15、Y座標値≦15の場合は、操作対象オブジェクトに左回りの急旋回飛行を行わせるものと判断している。そして、操作対象オブジェクトの移動方向を、当該飛行を行うのに要求される方向に決定している。
【0069】
たとえば、右上回りの急旋回飛行を行うものと判断した場合は、操作対象オブジェクトが表す飛行機を右に45度傾かせ、当該飛行機の機首を45度挙げたものとし、前回決定した操作対象オブジェクトの移動方向から当該操作対象オブジェクトの移動方向を決定する。左回りの急旋回飛行を行うものと判断した場合は、前記飛行機を左に45度傾かせ、前記飛行機の機首を45度挙げたものとし、前回決定した操作対象オブジェクトの移動方向から当該操作対象オブジェクトの移動方向を決定する。
【0070】
次に、図6において、オブジェクト位置算出部802は、仮想的な3次元世界中における操作対象オブジェクトの位置と姿勢を算出する処理を、定期的に行う。
【0071】
具体的には、前回算出した操作対象オブジェクトの位置および姿勢と、操作内容受付部801で決定された操作対象オブジェクトの最新の移動速度から、現時点での操作対象オブジェクトの位置を算出する。また、操作内容受付部801で決定された操作対象オブジェクトの最新の移動方向にしたがって、現時点での操作対象オブジェクトの姿勢を算出する。
【0072】
3次元地図作成部803は、オブジェクト位置算出部802で算出された操作対象オブジェクトの位置周辺に配置される地図構成要素を、光ディスク85に格納された地図DB503から直接読み出し、あるいは、光ディスク85から読み出され、一旦メインメモリ53などに格納された地図DB503から読み出し、3次元世界中に配置する。これにより、操作対象オブジェクトの位置周辺に展開される地形を生成する。
【0073】
なお、3次元地図作成部803における地形生成処理は、必ずしも、オブジェクト位置算出部802で操作対象オブジェクトの位置が算出される毎に行う必要はない。たとえば、オブジェクト位置算出部802で操作対象オブジェクトの位置が複数回算出される毎に行うようにしてもよい。この場合、オブジェクト位置算出部802における複数回の操作対象オブジェクト位置算出処理で当該操作対象オブジェクトが移動可能な範囲(これは、予め設定されている操作対象オブジェクトの最大移動速度などから推定可能である)を考慮し、当該範囲周辺に配置される地図構成要素を地図DB503から読み出して、3次元世界中に配置すればよい。
【0074】
オブジェクト配置部804は、3次元地図作成部803により地形が展開された3次元世界中において、光ディスク85に格納されたオブジェクトDA502によりその3次元形状など特定される操作対象オブジェクトを、オブジェクト位置算出部802で算出した最新の操作対象オブジェクトの位置に配置する。この際、操作対象オブジェクトの姿勢が、オブジェクト位置算出部802で算出した最新の操作対象オブジェクトの姿勢となるように、操作対象オブジェクトを配置する。
【0075】
なお、3次元地図作成部803やオブジェクト配置部804は、図4において、たとえば、CPU51がGTE61を利用することで実現される。
【0076】
カメラ配置部805は、3次元地図作成部803およびオブジェクト配置部804により地形および操作対象オブジェクトが配置された3次元世界から2次元画像を生成するために用いられる、仮想的なカメラの配置位置(つまり視点)と向き(つまり視線方向と視線方向を軸としたカメラの傾き)を設定する処理を行う。この処理は、オブジェクト位置算出部802で操作対象オブジェクトの位置や姿勢が算出される毎に行う。以下に、カメラ配置部805における、仮想的なカメラの配置位置と向きの具体的な設定処理の一例について説明する。
【0077】
図7〜図9は、本実施形態における操作対象オブジェクト601と仮想的なカメラ608との位置関係を説明するための図である。
【0078】
ここで、図7は、3次元世界中に配置されたオブジェクト601と仮想的なカメラ609を、真上(Z軸の無限遠方)から見下ろした様子を示しており、図8は、3次元世界中に配置されたオブジェクト601と仮想的なカメラ609を、真横(X軸の無限遠方)から見た様子を示している。また、図9は、3次元世界中に配置されたオブジェクト601と仮想的なカメラ609を、真横(Y軸の無限遠方)から見た様子を示している。なお、これらの図では、3次元世界中に配置された地図構成要素の図示を省略している。
【0079】
(1)仮想的なカメラの配置位置(カメラ設置点)
図7〜図9に示すように、カメラ配置部805は、仮想的なカメラ609の配置位置であるカメラ設置点606を、下記の条件▲1▼−▲3▼を満たす位置に設定する。
【0080】
▲1▼:オブジェクト位置算出部802で新たに算出された操作対象オブジェクト601の位置602を通過する、操作内容受付部801で新たに算出された操作対象オブジェクト601の移動方向に沿った線603上の、位置602より距離Kだけ後方の位置より、所定値Hだけ上方の位置に、カメラ追跡点604を設定する。
【0081】
▲2▼:カメラ追跡点604および前回算出したカメラ設置点606’間の距離Lを、所定値Mで割ることで得られる距離L/Mだけ、前回算出したカメラ設置点606’からカメラ追跡点604に近づく位置に、カメラ設置点606を設定する。したがって、カメラ設置点606と前回算出したカメラ設置点606’とカメラ追跡点604は、以下の関係を満たす。
【0082】
▲3▼:上記▲1▼において、距離Kは、操作内容受付部801で新たに算出された操作対象オブジェクト601の移動速度が大きくなるほど短くなるように(すなわち、カメラ追跡点604が操作対象オブジェクト601に近づくように)設定する。たとえば、操作対象オブジェクト601の移動速度がAのときのKをkとし、以下の式を満たすように設定する。
【0083】
K=k−a(B−A)
ここで、Bは操作内容受付部801で新たに算出された操作対象オブジェクトの移動速度、aは所定の係数である。係数aは、上記▲2▼に示した所定値Mとの関係において、以下の条件を満たすように設定する。
【0084】
すなわち、カメラ追跡点604は、操作対象オブジェクト601の移動速度が大きくなるほど操作対象オブジェクト601に近づくけれども、カメラ設置点606は、操作対象オブジェクト601の移動速度が大きくなるほど、操作対象オブジェクト601から遠ざかるように、つまり、操作対象オブジェクト601の移動方向に対してより後方へ移動するように、係数aと所定値Mを設定する。
【0085】
なお、初期状態(ゲーム開始時)において、カメラ設置点606は、操作対象オブジェクト601との相対的な位置関係で固定的に定まる所定位置に設定するようにすればよい。
【0086】
(2)カメラの向き(カメラ視線方向)
図7〜図9に示すように、カメラ配置部805は、カメラ設置点606に設置された仮想的なカメラ609が、カメラ参照点607を向くように、カメラ視線方向610を設定する。カメラ配置部805は、カメラ参照点607を、下記の条件▲1▼−▲2▼を満たす位置に設定する。
【0087】
▲1▼:オブジェクト位置算出部802で新たに算出された操作対象オブジェクトの位置602を通過する、操作内容受付部801で新たに算出された操作対象オブジェクトの移動方向に沿った線603上の、位置602より距離Jだけ前方の位置に、カメラ参照点607を設定する。
【0088】
▲2▼:上記▲1▼において、距離Jは、操作内容受付部801で新たに算出された操作対象オブジェクト601の移動速度が大きくなるほど長くなるように(すなわち、カメラ参照点607が操作対象オブジェクト601から遠ざかるように)設定する。たとえば、操作対象オブジェクト601の移動速度がAのときのJをjとし、以下の式を満たすように設定する。
【0089】
J=j+b(B−A)
ここで、Bは操作内容受付部801で新たに算出された操作対象オブジェクトの移動速度、bは所定の係数である。
【0090】
(3)カメラの向き(カメラ視線方向を軸としたカメラの傾き)
図9に示すように、操作対象オブジェクト601が線603を軸として左右に傾いている場合(すなわち、操作内容受付部801で操作対象オブジェクト601が表す飛行機を左右に傾かせる操作内容を受け付けた場合)には、その傾きに応じて、仮想的なカメラ608を、カメラ視線方向610を軸として回動させる。そして、操作対象オブジェクト601が線603を軸として回転した場合は、仮想的なカメラ608を、カメラ視線方向610を軸として回転させる。
【0091】
図10、11は、本実施形態において、操作対象オブジェクト601の動きに対し、仮想的なカメラ608がどのように振舞うかを説明するための図である。
【0092】
ここで、図10は、操作対象オブジェクト601が速度一定で直進状態から右回り旋回状態へ移行した場合における、操作対象オブジェクト601と仮想的なカメラ608の関係を示しており、図11は、操作対象オブジェクト601が直進状態において移動速度を徐々に増加させた場合における、操作対象オブジェクト601と仮想的なカメラ608の関係を示している。なお、両図とも、操作対象オブジェクト601と仮想的なカメラ608を、真上(Z軸の無限遠方)から見下ろした様子を示しており、これらの図では、3次元世界中に配置された地図構成要素の図示を省略している。
【0093】
図12は、図10に示すようにして配置された仮想的なカメラ609で撮影した場合に得られる映像の一例を示した図である。ここで、図12(a)は、図10において、操作対象オブジェクト601が(a)の位置にあるときに仮想的なカメラ609で撮影される映像を、図12(b)は、操作対象オブジェクト601が(b)の位置にあるときに仮想的なカメラ609で撮影される映像を、そして、図12(c)は、操作対象オブジェクト601が(c)の位置にあるときに仮想的なカメラ609で撮影される映像を、それぞれ示している。また、図12(d)は、図10において、操作対象オブジェクト601が(d)の位置にあるときに仮想的なカメラ609で撮影される映像を、図12(e)は操作対象オブジェクト601が(e)の位置にあるときに仮想的なカメラ609で撮影される映像を、それぞれ示している。
【0094】
図13は、図11に示すようにして配置された仮想的なカメラ609で撮影した場合に得られる映像の一例を示した図である。ここで、図13(a)は、図11において、操作対象オブジェクト601が(a)の位置にあるときに仮想的なカメラ609で撮影される映像を、図13(b)は、操作対象オブジェクト601が(b)の位置にあるときに仮想的なカメラ609で撮影される映像を、そして、図13(c)は、操作対象オブジェクト601が(c)の位置にあるときに仮想的なカメラ609で撮影される映像を、それぞれ示している。
【0095】
図10および図12から明らかなように、上記の(1)−(3)に満たす条件を満足するように仮想的なカメラ609の配置位置と向きを設定することにより、カメラ設置点606には、前回算出されたカメラ設置点606’が考慮されるため、仮想的なカメラ609は、操作対象オブジェクト601の動きに対し、少し遅れて操作対象オブジェクト601の後ろを追従するように振舞う。また、操作対象オブジェクト601が、移動方向を軸として回動した(左右に傾いた)場合、仮想的なカメラ609も、それに応じて、カメラ視線方向610を軸として回動する。
【0096】
また、図11および図13から明らかなように、上記の(1)−(3)に満たす条件を満足するように仮想的なカメラ609の配置位置と向きを設定することにより、仮想的なカメラ609は、操作対象オブジェクト601の移動速度が大きくなるほど、操作対象オブジェクト601から遠ざかる方向に移動することになる。また、カメラ視線方向610は、操作対象オブジェクト601の移動速度が大きくなるほど、操作対象オブジェクト601の前方に向けられる。
【0097】
図6に戻って説明を続ける。
【0098】
画像生成部806は、3次元地図作成部803およびオブジェクト配置部804により地形および操作対象オブジェクトが配置された3次元世界を、カメラ配置部805にて配置位置および視線方向が設定された仮想的なカメラで撮影することで得られる2次元画像を生成する。具体的には、仮想的なカメラの配置位置を視点とし、当該カメラの向きを視線方向として、かつ、操作対象オブジェクト601の移動方向を軸とした左右に傾きに応じて、仮想的なカメラ609を、カメラ視線方向610を軸として回動させて、仮想的なカメラスクリーン上に、3次元世界中にある操作対象オブジェクトや地図構成物を投影する処理(レンダリング)を行うことで2次元画像を生成する。
【0099】
表示制御部807は、画像生成部806で生成された2次元画像をビデオ信号に変換し、本エンタテインメント装置1に接続された表示装置に出力する。
【0100】
なお、画像生成部806や表示制御部807は、図4において、たとえば、CPU51がGTE61およびGPU62を利用することで実現される。
次に、エンタテインメント装置1上に構築される、フライトシミュレーションゲームを実現するためのソフトウエア構成の動作について説明する。
【0101】
図14は、エンタテインメント装置1上に構築される、フライトシミュレーションゲームを実現するためのソフトウエア構成の動作を説明するためのフロー図である。
【0102】
まず、操作内容受付部801は、操作対象オブジェクト601の移動速度を算出する(ステップS1001)。具体的には、操作装置20の、スロットルの役割を持たせたボタンの検知信号を検知することで、前回移動速度を算出してからのスロットルのオン・オフ時間を測定する。そして、前回算出した移動速度に、測定したスロットルオンの時間と予め定められた加速度より求まる速度を加算し、および/または、測定したスロットルオフの時間と予め定められた減速度より求まる速度を減算し、操作対象オブジェクト601の移動速度を算出する。
【0103】
次に、操作内容受付部801は、操作対象オブジェクト601の移動方向を算出する(ステップS1002〜S1004)。
【0104】
具体的には、操作装置20の、操縦かんの役割を持たせた操作軸31a、32aに加えられた操作により、操作装置20から出力される信号が示すX−Y座標上の座標値が、所定範囲内にあるか否かを調べる(ステップS1002)。たとえば、図3に示す例では、X−Y座標上の座標値がX座標値≧240、Y座標値≦15の範囲、あるいは、X座標値≦15、Y座標値≦15の範囲にあるか否かを調べる。
【0105】
所定範囲内にある場合は、操作対象オブジェクト601に所定の動作を行わせるものとし、操作対象オブジェクト601の移動方向が、当該動作を行うために要求される方向となるように決定する(ステップS1003)。たとえば、図3に示す例では、X−Y座標上の座標値がX座標値≧240、Y座標値≦15の場合は、操作対象オブジェクトに右回りの急旋回飛行を行わせるものと判断し、前回算出した操作対象オブジェクト601の移動方向から、操作対象オブジェクト601が表す飛行機を右に45度傾かせ、当該飛行機の機首を45度挙げたものとし、当該操作対象オブジェクト601の移動方向を算出する。X座標値≦15、Y座標値≦15の場合は、操作対象オブジェクト601に左回りの急旋回飛行を行わせるものと判断し、前回算出した操作対象オブジェクト601の移動方向から、前記飛行機を左に45度傾かせ、前記飛行機の機首を45度挙げたものとし、当該操作対象オブジェクト601の移動方向を決定する。
【0106】
一方、所定範囲内にない場合は、操作軸31a、32aに加えられた操作により、操作装置20から出力される信号が示すX−Y座標上の座標値に応じて、操作対象オブジェクト601が表す飛行機の左右の傾き、および、当該飛行機の機首の上下を決定する。そして、前記飛行機を、前回算出した操作対象オブジェクト601の移動方向から、前記決定した角度だけ上下左右させたものとし、当該操作対象オブジェクト601の移動方向を決定する(ステップS1004)。
【0107】
次に、オブジェクト位置算出部802は、仮想的な3次元世界中における操作対象オブジェクト601の位置と姿勢を算出する(ステップS1005)。
【0108】
具体的には、前回算出した操作対象オブジェクトの位置および姿勢と、操作内容受付部801で算出された操作対象オブジェクト601の最新の移動速度から、現時点での操作対象オブジェクト601の位置を算出する。また、操作内容受付部801で決定された操作対象オブジェクト601の最新の移動方向にしたがって、現時点での操作対象オブジェクト601の姿勢を算出する。
【0109】
次に、3次元地図作成部803は、地図更新の必要があるか否かを調べる(ステップS1006)。たとえば、ステップS1005における操作対象オブジェクト601の位置の算出処理がN回行われる毎に地図を更新する場合は、カウンタを設け、カウント値がNに達したか否かを調べる。Nに達した場合は、更新の必要ありと判断し、カウント値をリセットして、ステップS1007に進む。一方、カウント値がNに達していない場合は、カウント値を1つインクリメントして、ステップS1008に進む。
【0110】
ステップS1007では、3次元地図地図作成部803は、ステップS1005において、オブジェクト位置算出部802により算出された操作対象オブジェクトの位置周辺に配置される地図構成要素を地図DB503から読み出し、3次元世界中に配置する。これにより、操作対象オブジェクトの位置周辺に展開される地形を展開する。
【0111】
ステップS1008では、オブジェクト配置部804は、ステップS1007において、3次元地図地図作成部803により地形が展開された3次元世界中において、オブジェクトDA502によりその3次元形状など特定される操作対象オブジェクト601を、ステップS1005において、オブジェクト位置算出部802により算出した操作対象オブジェクトの位置に配置する。この際、操作対象オブジェクトの姿勢が、ステップS1005において、オブジェクト位置算出部802により算出した操作対象オブジェクトの姿勢となるように、操作対象オブジェクトを配置する。
【0112】
次に、カメラ配置部805は、先に図7〜図13を用いて説明した要領にしたがい、ステップS1007、S1008において、3次元地図地図作成部803およびオブジェクト配置部804により、地形および操作対象オブジェクト601が配置された3次元世界から、2次元画像を生成するために用いられる、仮想的なカメラ609の配置位置と向きを設定する処理を行う(ステップS1009)。
【0113】
上記のようにして、3次元世界中に操作対象オブジェクト601および操作対象オブジェクト601周辺の地形が配置され、この3次元世界中に配置された操作対象オブジェクト601および操作対象オブジェクト601周辺の地形を撮影する仮想的なカメラ609の配置位置と向きが設定されると、画像生成部806は、この仮想的なカメラ609の配置位置を視点とし、当該カメラ609の向きを視線方向として、かつ、操作対象オブジェクト601の移動方向を軸とした左右に傾きに応じて、仮想的なカメラ609を、カメラ視線方向610を軸として回動させて、この3次元世界中に配置された操作対象オブジェクト601および操作対象オブジェクト601を、仮想的なカメラスクリーン上に投影するレンダリング処理を行う。これにより、2次元画像を生成する(ステップS1010)。
【0114】
それから、表示制御部807は、ステップS1010において、画像生成部806により生成された2次元画像をビデオ信号に変換し、本エンタテインメント装置1に接続された表示装置に出力する(ステップS1011)。
【0115】
上述した図14に示すフローを繰り返し行うことにより、本エンタテインメント装置1は、操作装置20を介して受け付けたプレイヤの操作内容にしたがい仮想的な3次元世界中を移動する操作対象オブジェクト601を、仮想的なカメラ609で撮影することで得られる動画像を、本エンタテインメント装置1に接続された表示装置の表示画面上に表示する。
【0116】
以上、本発明の実施形態について説明した。
【0117】
本実施形態によれば、仮想的なカメラ609の配置位置であるカメラ設置点606に、前回算出されたカメラ設置点606’が考慮されるため、仮想的なカメラ609は、操作対象オブジェクト601の動きに対し、少し遅れて操作対象オブジェクト601の後ろを追従するように振舞う。また、操作対象オブジェクト601が移動方向を軸として回動した場合には、仮想的なカメラ609も、それに応じて、カメラ視線方向を軸として回動する。
【0118】
このため、プレイヤは、操作装置20を用いて操作する操作対象オブジェクト601の仮想的な3次元世界中における振る舞いを、表示画面を通して把握することが容易となる。したがって、フライトシミュレーションゲームの臨場感が増し、娯楽性が向上する。
【0119】
また、本実施形態によれば、仮想的なカメラ609は、操作対象オブジェクト601の移動速度が大きくなるほど、操作対象オブジェクト601から遠ざかる方向に移動することになる。
【0120】
このため、プレイヤが、操作装置20を用いて操作対象オブジェクト601の移動速度を上げた場合、移動速度の増加分に応じて、仮想的なカメラ609に収められる(つまり表示装置の表示画面に表示される)オブジェクト周囲の映像が広くなる。したがって、操作対象オブジェクト601の移動速度を上げたときに、極端に操作が難くなることを防ぐことができる。
【0121】
なお、操作対象オブジェクト601の移動速度は、当該オブジェクト601の当該オブジェクト周囲に配置された地形に対する相対速度として、表示装置の表示画面に表示される動画像に反映されるため、操作対象オブジェクト601の移動速度の増加分に応じて、仮想的なカメラ609に収められるオブジェクト周囲の映像が広くなっても、動画像から得られるスピード感は失われない。
【0122】
さらに、本実施形態では、仮想的なカメラ609のカメラ視線方向610は、操作対象オブジェクト601の移動速度が大きくなるほど、操作対象オブジェクト601の前方に向けられる。
【0123】
このため、プレイヤが、操作装置20を用いて操作対象オブジェクト601の移動速度を上げた場合、移動速度の増加分に応じて、仮想的なカメラ609に収められるオブジェクト周囲の映像がより遠方にまで広がる。したがって、操作対象オブジェクト601の移動速度を上げたときに、極端に操作が難くなることをさらに効率よく防ぐことができる。
【0124】
くわえて、本実施形態では、操作対象オブジェクト609が表す飛行機の左右の傾きや機首の上下を、操作装置20の操作軸31a、32aに加えられた操作により、操作装置20から出力されたX−Y座標上の座標値に応じて決定している。そして、前記X−Y座標値が所定の範囲にある場合、操作対象オブジェクト601、所定の動作(たとえば、急旋回などの、現実の世界において操縦が困難と思われる動作)を行わせるものと判断させ、操作対象オブジェクト601の移動方向が、当該動作を行うために要求される方向となるように決定している。
【0125】
このようにすることで、操作装置20の操作軸31a、32aに、操縦かんと同じ機能をそのまま持たせる場合に比べ、操作対象オブジェクト601の操作を簡単にすることができる。したがって、不慣れなプレイヤにとっても、十分にフライトシミュレーションゲームを楽しむことができる。
【0126】
なお、本発明は、上記の実施形態に限定されるものではなく、その要旨の範囲内で様々な変形が可能である。
【0127】
上記の実施形態では、仮想的なカメラ609の配置位置であるカメラ設置点606に、前回算出されたカメラ設置点606’が考慮されるように設定している。しかしながら、本発明はこれに限定されない。カメラ設置点606は、少なくとも1つ前に算出されたカメラ設置点を考慮して設定するものであればよい。
【0128】
たとえば、1つ前に算出されたカメラ設置点606’およびカメラ追跡点604間の距離Lを所定値Mで割ることで得られる距離L/Mだけ、前記カメラ設置点606’およびカメラ追跡点604間の中間点からカメラ追跡点604へ近づく位置に、カメラ設置点606を設定するようにしてもよい。
【0129】
あるいは、1つ前に算出されたカメラ設置点606’と2つ前に算出されたカメラ設置点606”との中間点およびカメラ追跡点604間の距離Lを所定値Mで割ることで得られる距離L/Mだけ、前記中間点からカメラ追跡点604へ近づく位置に、カメラ設置点606を設定するようにしてもよい。
【0130】
また、上記の実施形態では、本エンタテインメント装置1を用いてフライトシミュレーションゲームを行う場合を例にとり説明したが、本発明はこれに限定されない。たとえば、本エンタテインメント装置1を用いて、ドライブシミュレーションゲームなどの、操作装置20を介して受け付けたプレイヤの操作内容にしたがい仮想的な3次元世界中の操作対象オブジェクトの移動させることが可能な、様々なテレビゲームを行う場合に適用可能である。
【0131】
なお、本エンタテインメント装置1を用いてドライブシミュレーションゲームを行う場合、操作軸31a、32aに加えられた操作により操作装置20から出力された信号が示すX−Y座標上の座標値が所定の範囲にある場合、操作内容受付部801は、操作対象オブジェクトに急回転などの、現実の世界において、操縦が困難と思われる動作を行わせるものと判断させ、操作対象オブジェクトの移動方向が、当該動作を行うために要求される方向となるように決定すればよい。
【0132】
また、本発明における、仮想的なカメラ609の配置位置や向きの設定方法は、テレビゲームのみならず、仮想的な3次元世界中を移動する表示オブジェクトを仮想的なカメラで撮影することで動画像を生成する装置に広く適用可能である。
【0133】
また、エンタテインメント装置1の外観およびハードウエア構成は、図1、図2および図4に示したものに限定されない。エンタテインメント装置1は、たとえば、CPUと、メモリと、ハードディスク装置などの外部記憶装置と、CD−ROMやDVD−ROMなどの可搬性を有する記憶媒体からデータを読み取る読取装置と、キーボードやマウスなどの入力装置と、ディスプレイなどの表示装置と、インターネットなどのネットワークを介して通信を行うためのデータ通信装置と、上述した各装置間のデータ送受を司るインターフェースといった、一般的な電子計算機の構成を有するものであってもよい。
【0134】
また、エンタテインメント装置1上に、図6に示すソフトウエア構成を構築するためのプログラムや、3次元世界中に配置する地図構成要素および操作対象オブジェクトの3次元形状などを特定するための各種データは、読取装置を介して、可搬性を有する記憶媒体から読み出され、メモリや外部記憶装置に記憶されるようにしてもよいし、あるいは、データ通信装置を介して、ネットワークからダウンロードされ、メモリや外部記憶装置に記憶されるようにしてもよい。
【0135】
【発明の効果】
以上のように、本発明によれば、仮想的な3次元世界中を移動するオブジェクトを仮想的なカメラで撮影することで得られる動画像を表示する場合に、表示画面に表示された動画像からスピード感を得ることができる。
【0136】
特に、フライトシミュレーションやドライブシミュレーションなどの、操作者が操作装置を用いて仮想的な3次元世界中を移動するオブジェクトを操作することのできるエンタテイメント装置において、オブジェクトの移動速度を上げた場合でも、極端に操作が難くなることを防ぎつつスピード感を得ることができる。
【図面の簡単な説明】
【図1】本発明の一実施形態が適用されたエンタテインメント装置1および操作装置20の外観例を示した図である。
【図2】図1に示す操作装置20を示した図である。
【図3】図2に示す操作装置20の操作軸31a、32aを用いて入力できる値を説明するための図である。
【図4】図1に示すエンタテインメント装置1のハードウエア構成例を示す図である。
【図5】エンタテインメント装置1のディスク装着部3に装着される光ディスク85のデータ構成を説明するための図である。
【図6】図4に示すエンタテインメント装置1上に構築される、フライトシミュレーションゲームを実現するためのソフトウエア構成を示した図である。
【図7】図6に示すカメラ配置部805によって3次元世界中に配置される仮想的なカメラ608と操作対象オブジェクト601との位置関係を説明するための図である。
【図8】図6に示すカメラ配置部805によって3次元世界中に配置される仮想的なカメラ608と操作対象オブジェクト601との位置関係を説明するための図である。
【図9】図6に示すカメラ配置部805によって3次元世界中に配置される仮想的なカメラ608と操作対象オブジェクト601との位置関係を説明するための図である。
【図10】操作対象オブジェクト601の動きに対し、図6に示すカメラ配置部805によって3次元世界中に配置される仮想的なカメラ608がどのように振舞うかを説明するための図である。
【図11】操作対象オブジェクト601の動きに対し、図6に示すカメラ配置部805によって3次元世界中に配置される仮想的なカメラ608がどのように振舞うかを説明するための図である。
【図12】図10に示すようにして配置された仮想的なカメラ609で撮影した場合に得られる映像の一例を示した図である。
【図13】図11に示すようにして配置された仮想的なカメラ609で撮影した場合に得られる映像の一例を示した図である。
【図14】図6に示した、エンタテインメント装置1上に構築されるフライトシミュレーションゲームを実現するためのソフトウエア構成の動作を説明するためのフロー図である。
【図15】従来のフライトシミュレーションゲームを行うエンタテイメント装置におけるオブジェクト(飛行機を表すオブジェクト)901と仮想的なカメラ902との位置関係を説明するための図である。
【図16】図15に示すようにして配置された仮想的なカメラ902からオブジェクト901を撮影した場合に得られる映像を示した図である。
【符号の説明】
1…エンタテインメント装置
2…本体
3…ディスク装着部
4…リセットスイッチ
5…電源スイッチ
6…ディスク操作スイッチ
7A,7B…スロット部
8A,8B…メモリカード挿入部
12…操作装置接続部
20…操作装置
21,22…操作部
23L…Lボタン
23R…Rボタン
24…スタートボタン
25…選択ボタン
26…メモリカード
31,32…アナログ操作部
31a,32a…操作軸
33…モード選択スイッチ
34…表示部
50…制御系
51…中央処理装置(CPU:Central Prosessing Unit)
52…周辺装置制御部
53…メインメモリ
54…ROM
60…グラフィックシステム
61…ジオメトリトランスファエンジン(GTE:Geometry Transfer Engine)
62…画像処理装置(GPU:Graphic Processing Unit)
63…フレームバッファ
64…画像デコーダ
70…サウンドシステム
71…音声処理装置(SPU:Sound Processing Unit)
72…サウンドバッファ
73…スピーカ
80…光ディスク制御部
81…光ディスク装置
82…デコーダ
83…バッファ
84…サブCPU
90…通信制御部
91…通信制御機
100…携帯用電子機器
501…アプリケーションプログラム
502…オブジェクトデータ
503…地図データベース
601…操作対象オブジェクト
609…仮想的なカメラ
801…操作内容受付部
802…オブジェクト位置算出部
803…3次元地図作成部
804…オブジェクト配置部
805…カメラ配置部
806…画像生成部
807…表示制御部
Claims (8)
- 操作装置を介して受け付けた操作者の操作内容にしたがい仮想的な3次元世界中を移動するオブジェクトを仮想的なカメラで撮影することで得られる動画像を、表示装置の表示画面上に表示させるエンタテインメント装置であって、
前記オブジェクトと前記仮想的なカメラとの前記3次元世界中における位置関係を、前記3次元世界中における前記オブジェクトの移動速度を考慮して決定するカメラ設定手段を有し、
前記カメラ設定手段は、
前記仮想的なカメラが、前記オブジェクトの移動方向に対して当該オブジェクトの前方に設定された前記3次元世界中の仮想的な点であるカメラ参照点を向くように、当該カメラの視線方向を設定すると共に、前記オブジェクトの移動速度が大きくなるほど、前記カメラ参照点が前記オブジェクトの移動方向に対してより前方へ移動するように、前記カメラ参照点を設定すること
を特徴とするエンタテインメント装置。 - 請求項1記載のエンタテインメント装置であって、
前記カメラ設定手段は、
前記オブジェクトと前記仮想的なカメラとの前記3次元世界中における位置関係を、前記オブジェクトの移動速度が大きくなるほど、前記仮想的なカメラが前記オブジェクトの移動方向に対して当該オブジェクトの後方へ遠ざかるよう決定すること
を特徴とするエンタテインメント装置。 - 請求項1または2記載のエンタテインメント装置であって、
前記カメラ設定手段は、
前記オブジェクトの移動方向を軸とした回動に応じて、前記仮想的なカメラを、前記カメラの視線方向を軸として回動させること
を特徴とするエンタテインメント装置。 - 電子計算機に読み取られ実行されるプログラムを記憶した記憶媒体であって、
前記プログラムは、前記電子計算機に読み取られて実行されることで、
当該電子計算機に接続された操作装置を介して受け付けた操作者の操作内容にしたがい仮想的な3次元世界中を移動するオブジェクトを仮想的なカメラで撮影することで得られる動画像を、表示装置の表示画面上に表示させる手段を、当該電子計算機上に構築するものであり、
前記表示させる手段は、
前記オブジェクトと前記仮想的なカメラとの前記3次元世界中における位置関係を、前記3次元世界中における前記オブジェクトの移動速度を考慮して決定するカメラ設定手段を有し、
前記カメラ設定手段は、
前記仮想的なカメラが、前記オブジェクトの移動方向に対して当該オブジェクトの前方に設定された前記3次元世界中の仮想的な点であるカメラ参照点を向くように、当該カメラの視線方向を設定すると共に、前記オブジェクトの移動速度が大きくなるほど、前記カメラ参照点が前記オブジェクトの移動方向に対してより前方へ移動するように、前記カメラ参照点を設定すること
を特徴とする記憶媒体。 - 請求項4記載の記憶媒体であって、
前記カメラ設定手段は、
前記オブジェクトと前記仮想的なカメラとの前記3次元世界中における位置関係を、前記オブジェクトの移動速度が大きくなるほど、前記仮想的なカメラが前記オブジェクトの移動方向に対して当該オブジェクトの後方へ遠ざかるよう決定すること
を特徴とする記憶媒体。 - 請求項4または5記載の記憶媒体であって、
前記カメラ設定手段は、
前記オブジェクトの移動方向を軸とした回動に応じて、前記仮想的なカメラを、前記カメラの視線方向を軸として回動させること
を特徴とする記憶媒体。 - 表示装置の表示画面上に、仮想的な3次元世界中を移動するオブジェクトを仮想的なカメラで撮影することで得られる動画像を表示する、オブジェクト表示方法であって、
前記3次元世界中における前記オブジェクトの移動速度を考慮して、当該オブジェクトと前記仮想的なカメラとの前記3次元世界中における位置関係を決定するステップを有し、
前記ステップは、
前記仮想的なカメラが、前記オブジェクトの移動方向に対して当該オブジェクトの前方に設定された前記3次元世界中の仮想的な点であるカメラ参照点を向くように、当該カメラの視線方向を設定すると共に、前記オブジェクトの移動速度が大きくなるほど、前記カメラ参照点が前記オブジェクトの移動方向に対してより前方へ移動するように、前記カメラ参照点を設定すること
を特徴とするオブジェクト表示方法。 - 電子計算機に読み取られ実行されるプログラムであって、
前記プログラムは、記憶装置に格納され、前記電子計算機に読み取られて実行されることで、
当該電子計算機に接続された操作装置を介して受け付けた操作者の操作内容にしたがい仮想的な3次元世界中を移動するオブジェクトを仮想的なカメラで撮影することで得られる動画像を、表示装置の表示画面上に表示させる手段を、当該電子計算機上に構築するものであり、
前記表示させる手段は、
前記オブジェクトと前記仮想的なカメラとの前記3次元世界中における位置関係を、前記3次元世界中における前記オブジェクトの移動速度を考慮して決定するカメラ設定手段を有し、
前記カメラ設定手段は、
前記仮想的なカメラが、前記オブジェクトの移動方向に対して当該オブジェクトの前方に設定された前記3次元世界中の仮想的な点であるカメラ参照点を向くように、当該カメラの視線方向を設定すると共に、前記オブジェクトの移動速度が大きくなるほど、前記カメラ参照点が前記オブジェクトの移動方向に対してより前方へ移動するように、前記カメラ参照点を設定すること
を特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001012278A JP3583995B2 (ja) | 2000-01-21 | 2001-01-19 | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000012809 | 2000-01-21 | ||
JP2000-12809 | 2000-01-21 | ||
JP2001012278A JP3583995B2 (ja) | 2000-01-21 | 2001-01-19 | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001273525A JP2001273525A (ja) | 2001-10-05 |
JP3583995B2 true JP3583995B2 (ja) | 2004-11-04 |
Family
ID=26583919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001012278A Expired - Fee Related JP3583995B2 (ja) | 2000-01-21 | 2001-01-19 | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3583995B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4148868B2 (ja) * | 2003-10-08 | 2008-09-10 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
JP4040609B2 (ja) * | 2004-07-14 | 2008-01-30 | 株式会社テクノブレイン | 移動体シミュレーション装置及び移動体シミュレーションプログラム |
JP4789145B2 (ja) * | 2006-01-06 | 2011-10-12 | サミー株式会社 | コンテンツ再生装置及びコンテンツ再生プログラム |
JP4799269B2 (ja) * | 2006-05-19 | 2011-10-26 | 株式会社ソニー・コンピュータエンタテインメント | 画像処理装置及びプログラム |
US8619080B2 (en) * | 2008-09-08 | 2013-12-31 | Disney Enterprises, Inc. | Physically present game camera |
JP5443129B2 (ja) * | 2009-10-29 | 2014-03-19 | 株式会社バンダイナムコゲームス | プログラム及びネットワークシステム |
JP5957121B1 (ja) * | 2015-05-15 | 2016-07-27 | グリー株式会社 | ゲームプログラム、ゲーム制御方法、及び情報処理装置 |
JP6128538B2 (ja) * | 2016-03-09 | 2017-05-17 | グリー株式会社 | ゲームプログラム、ゲーム制御方法、及び情報処理装置 |
-
2001
- 2001-01-19 JP JP2001012278A patent/JP3583995B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001273525A (ja) | 2001-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6670957B2 (en) | Entertainment apparatus, storage medium and object display method | |
EP0844587B1 (en) | Image processor, image processing method, game machine and recording medium | |
US6781598B1 (en) | Entertainment apparatus, image generation method, and storage medium | |
US6413163B1 (en) | Video game machine, method for switching viewpoint on game screen of video game, and computer-readable recording medium containing game-screen-viewpoint switching program | |
JP4704622B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
US20090058856A1 (en) | Image generating apparatus, method of generating image, program, and recording medium | |
US6762746B2 (en) | Entertainment apparatus, storage medium and operation method of manipulating object | |
JP4187182B2 (ja) | 画像生成システム、プログラム及び情報記憶媒体 | |
US7094153B2 (en) | Virtual space control method | |
EP1213044B1 (en) | Video game system, character action control method, and readable storage medium storing character action control program | |
JP3747050B1 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP3249955B2 (ja) | 画像生成システム及び情報記憶媒体 | |
JP3583995B2 (ja) | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 | |
US6989832B2 (en) | Entertainment apparatus, storage medium and object display method | |
JP3786670B1 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
US6769988B1 (en) | Entertainment unit, recording medium and method for setting its parameters | |
JP3602835B2 (ja) | ビデオゲーム装置およびその制御方法ならびにゲームプログラム | |
EP1036581B1 (en) | Image creating method and apparatus, recording medium for recording image creating program, and video game machine | |
JP3583994B2 (ja) | エンタテインメント装置、記憶媒体およびオブジェクト表示方法 | |
JP2002304640A (ja) | 3次元画像処理方法、装置、3次元画像処理プログラム及びビデオゲーム装置 | |
JP5054908B2 (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
JP2006087944A (ja) | ゲーム装置 | |
JP2001269485A (ja) | エンタテインメント装置、記憶媒体および表示オブジェクトの操作方法 | |
US20020075275A1 (en) | Storage medium storing display control program, entertainment apparatus, and display control program | |
JP2005322057A (ja) | プログラム、情報記憶媒体および画像生成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040427 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040604 |
|
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: 20040720 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040730 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3583995 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070806 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080806 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090806 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100806 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110806 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120806 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120806 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130806 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |