(57)【要約】【課題】  所期の視点位置及び／又は視線方向の制御（カメラワーク）を容易に実現することができる３次元画像処理装置を提供すること。【解決手段】  仮想３次元空間５０に設定される複数の基準座標Ｒｎにそれぞれ対応づけて、仮想３次元空間５０に設定された複数の基準ベクトルＶｎをそれぞれ特定する複数の基準ベクトルデータを記憶する基準ベクトルデータ記憶手段と、仮想３次元空間５０に設定される注視点座標と複数の基準座標Ｒｎに基づいて、基準ベクトルデータ記憶手段に記憶される基準ベクトルデータから１又は複数を選択する基準ベクトルデータ選択手段と、選択される１又は複数の基準ベクトルデータにより特定される基準ベクトルに基づいて基礎ベクトルを算出する基礎ベクトル算出手段と、該基礎ベクトルに基づいて視点の位置座標又は視線方向のうち少なくとも一方を算出する視点情報算出手段と、を含む。【選択図】        図５
2005100184.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間を所与の視点位置から所与の視線方向を見た様子を表す画像を表示する画像処理装置であって、
前記仮想３次元空間に設定される複数の基準座標にそれぞれ対応づけて、前記仮想３次元空間に設定された複数の基準ベクトルをそれぞれ特定する複数の基準ベクトルデータを記憶する基準ベクトルデータ記憶手段と、
前記仮想３次元空間に設定される注視点座標と前記複数の基準座標に基づいて、前記基準ベクトルデータ記憶手段に記憶される基準ベクトルデータから１又は複数を選択する基準ベクトルデータ選択手段と、
選択される１又は複数の基準ベクトルデータにより特定される基準ベクトルに基づいて基礎ベクトルを算出する基礎ベクトル算出手段と、
該基礎ベクトルに基づいて前記視点の位置座標又は前記視線方向のうち少なくとも一方を算出する視点情報算出手段と、
を含むことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記基準ベクトルデータ選択手段により選択される基準ベクトルデータに対応づけられた前記基準座標と前記注視点座標とに基づいて基準ベクトル合成比を算出する基準ベクトル合成比算出手段をさらに含み、
前記基礎ベクトル算出手段は、前記基準ベクトルデータ選択手段により選択される基準ベクトルデータにより特定される基準ベクトルを、前記基準ベクトル合成比算出手段により算出される基準ベクトル合成比にて合成することにより、前記基礎ベクトルを算出する
ことを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記視点情報算出手段は、前記注視点座標から前記基礎ベクトルにより示される方向に移動した位置座標を前記視点の位置座標として算出する
ことを特徴とする画像処理装置。
【請求項４】
請求項３に記載の画像処理装置において、
前記基準ベクトルデータ選択手段により選択される基準ベクトルの大きさに基づいて基礎距離を算出する基礎距離算出手段をさらに含み、
前記視点情報算出手段は、該基礎距離に基づいて前記視点の位置座標を算出する
ことを特徴とする画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記基準ベクトルデータ選択手段により選択される基準ベクトルデータに対応づけられた前記基準座標と前記注視点座標とに基づいて距離合成比を算出する距離合成比算出手段をさらに含み、
前記基礎距離算出手段は、前記基準ベクトルデータ選択手段により選択される基準ベクトルデータの大きさを、前記距離合成比算出手段により算出される距離合成比にて合成することにより、前記基礎距離を算出する
ことを特徴とする画像処理装置。
【請求項６】
請求項４又は５に記載の画像処理装置において、
前記視点情報算出手段は、前記注視点座標と前記視点座標との距離を前記基礎距離の範囲内に制限する手段を含む
ことを特徴とする画像処理装置。
【請求項７】
仮想３次元空間に設定される複数の基準座標にそれぞれ対応づけて、前記仮想３次元空間に設定された複数の基準ベクトルをそれぞれ特定する複数の基準ベクトルデータを記憶する基準ベクトルデータ記憶手段を用いて、前記仮想３次元空間を所与の視点から所与の視線方向を見た様子を表す画像を表示する画像処理方法であって、
前記仮想３次元空間に設定される注視点座標と前記複数の基準座標に基づいて、前記基準ベクトルデータ記憶手段に記憶される基準ベクトルデータから１又は複数を選択する基準ベクトルデータ選択ステップと、
選択される１又は複数の基準ベクトルデータにより特定される基準ベクトルに基づいて基礎ベクトルを算出する基礎ベクトル算出ステップと、
該基礎ベクトルに基づいて前記視点の位置座標又は前記視線方向のうち少なくとも一方を算出する視点情報算出ステップと、
を含むことを特徴とする画像処理方法。
【請求項８】
仮想３次元空間を所与の視点から所与の視線方向を見た様子を表す画像を表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記仮想３次元空間に設定される複数の基準座標にそれぞれ対応づけて、前記仮想３次元空間に設定された複数の基準ベクトルをそれぞれ特定する複数の基準ベクトルデータを記憶する基準ベクトルデータ記憶手段、
前記仮想３次元空間に設定される注視点座標と前記複数の基準座標に基づいて、前記基準ベクトルデータ記憶手段に記憶される基準ベクトルデータから１又は複数を選択する基準ベクトルデータ選択手段、
選択される１又は複数の基準ベクトルデータにより特定される基準ベクトルに基づいて基礎ベクトルを算出する基礎ベクトル算出手段、及び
該基礎ベクトルに基づいて前記視点の位置座標又は前記視線方向のうち少なくとも一方を算出する視点情報算出手段
として前記コンピュータを機能させるための命令を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元画像処理装置、３次元画像処理方法及びプログラムに関し、特に、仮想３次元空間内における視点位置及び視線方向を制御する技術に関する。
【背景技術】
【０００２】
仮想３次元空間に各種オブジェクトを配置して、該仮想３次元空間において所与の視点位置から所与の視線方向を見た様子を画像表示する、例えばゲーム機等として構成された３次元画像処理装置が知られている。こうした装置においては、操作手段を備え、該操作手段によるユーザ操作に応じて仮想３次元空間内で操作対象オブジェクトを移動させ、そのオブジェクトに視点位置及び視線方向を従動させるものがある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のように移動するオブジェクトに視点位置及び視線方向を従動させる場合、それらを周囲の状況に合った最善なものに制御することは非常に困難であり、従来の視点位置及び視線方向の制御は単調なものが多かった。
【０００４】
本発明は上記課題に鑑みてなされたものであって、その目的は、所期の視点位置及び／又は視線方向の制御（カメラワーク）を容易に実現することができる３次元画像処理装置、３次元画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明に係る３次元画像処理装置は、仮想３次元空間を所与の視点位置から所与の視線方向を見た様子を表す画像を表示する画像処理装置であって、前記仮想３次元空間に設定される複数の基準座標にそれぞれ対応づけて、前記仮想３次元空間に設定された複数の基準ベクトルをそれぞれ特定する複数の基準ベクトルデータを記憶する基準ベクトルデータ記憶手段と、前記仮想３次元空間に設定される注視点座標と前記複数の基準座標に基づいて、前記基準ベクトルデータ記憶手段に記憶される基準ベクトルデータから１又は複数を選択する基準ベクトルデータ選択手段と、選択される１又は複数の基準ベクトルデータにより特定される基準ベクトルに基づいて基礎ベクトルを算出する基礎ベクトル算出手段と、該基礎ベクトルに基づいて前記視点の位置座標又は前記視線方向のうち少なくとも一方を算出する視点情報算出手段と、を含むことを特徴とする。
【０００６】
また、本発明に係る３次元画像処理方法は、仮想３次元空間に設定される複数の基準座標にそれぞれ対応づけて、前記仮想３次元空間に設定された複数の基準ベクトルをそれぞれ特定する複数の基準ベクトルデータを記憶する基準ベクトルデータ記憶手段を用いて、前記仮想３次元空間を所与の視点から所与の視線方向を見た様子を表す画像を表示する画像処理方法であって、前記仮想３次元空間に設定される注視点座標と前記複数の基準座標に基づいて、前記基準ベクトルデータ記憶手段に記憶される基準ベクトルデータから１又は複数を選択する基準ベクトルデータ選択ステップと、選択される１又は複数の基準ベクトルデータにより特定される基準ベクトルに基づいて基礎ベクトルを算出する基礎ベクトル算出ステップと、該基礎ベクトルに基づいて前記視点の位置座標又は前記視線方向のうち少なくとも一方を算出する視点情報算出ステップと、を含むことを特徴とする。
【０００７】
さらに、本発明に係るプログラムは、仮想３次元空間を所与の視点から所与の視線方向を見た様子を表す画像を表示する画像処理装置としてコンピュータを機能させるためのプログラムであって、前記仮想３次元空間に設定される複数の基準座標にそれぞれ対応づけて、前記仮想３次元空間に設定された複数の基準ベクトルをそれぞれ特定する複数の基準ベクトルデータを記憶する基準ベクトルデータ記憶手段、前記仮想３次元空間に設定される注視点座標と前記複数の基準座標に基づいて、前記基準ベクトルデータ記憶手段に記憶される基準ベクトルデータから１又は複数を選択する基準ベクトルデータ選択手段、選択される１又は複数の基準ベクトルデータにより特定される基準ベクトルに基づいて基礎ベクトルを算出する基礎ベクトル算出手段、及び該基礎ベクトルに基づいて前記視点の位置座標又は前記視線方向のうち少なくとも一方を算出する視点情報算出手段として前記コンピュータを機能させるための命令を含むことを特徴とするプログラムである。
【０００８】
本発明では、複数の基準ベクトルデータが記憶されている。基準ベクトルデータは、それぞれ仮想３次元空間に設定された基準ベクトルを特定するデータである。基準ベクトルデータは、各基準ベクトルの始点座標及び終点座標の組であってもよい。この場合、始点座標又は終点座標を基準座標に一致させてもよい。
【０００９】
そして、本発明では、仮想３次元空間に設定される注視点座標と複数の基準座標とに基づいて、それら基準ベクトルデータから１又は複数が選択される。基準ベクトルデータが選択されると、それら基準ベクトルデータに基づいて基礎ベクトルが算出される。
【００１０】
その後、基礎ベクトルに基づいて視点の位置座標又は視線方向が算出される。このとき、注視点座標から基礎ベクトルにより示される方向に移動した位置座標を視点の位置座標として算出してもよい。
【００１１】
本発明によれば、仮想３次元空間の状況に合わせて基準座標及び基準ベクトルデータを任意に複数設定し、それを記憶手段に記憶させておくことにより、複雑な情報処理を必要とすることなく、所期の視点位置及び／又は視線方向の制御を容易に実現することができるようになる。
【００１２】
本発明の一態様では、選択される基準ベクトルデータに対応づけられた基準座標と注視点座標とに基づいて基準ベクトル合成比を算出して、選択される基準ベクトルデータにより特定される基準ベクトルを、この基準ベクトル合成比にて合成することにより、基礎ベクトルを算出するようにしてもよい。こうすれば、視点位置や視線方向を連続的に変化させることができる。
【００１３】
また、本発明の一態様では、前記基準ベクトルデータ選択手段により選択される基準ベクトルの大きさに基づいて基礎距離を算出する基礎距離算出手段をさらに含み、前記視点情報算出手段は、該基礎距離に基づいて前記視点の位置座標を算出する。こうすれば、基準ベクトルの大きさも視線制御に利用することができる。
【００１４】
この態様では、前記基準ベクトルデータ選択手段により選択される基準ベクトルデータに対応づけられた前記基準座標と前記注視点座標とに基づいて距離合成比を算出する距離合成比算出手段をさらに含み、前記基礎距離算出手段は、前記基準ベクトルデータ選択手段により選択される基準ベクトルデータの大きさを、前記距離合成比算出手段により算出される距離合成比にて合成することにより、前記基礎距離を算出するようにしてもよい。こうすれば、視点位置を連続的に変化させることができる。
【００１５】
また、前記視点情報算出手段は、前記注視点座標と前記視点座標との距離を前記基礎距離の範囲内に制限する手段を含むようにしてもよい。こうすれば、基準ベクトルの大きさを視点と注視点との最大距離として用いて、視点位置が注視点から離れすぎないようにすることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の好適な実施の形態について図面に基づき詳細に説明する。
【００１７】
図１は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。同図に示すゲーム装置１０は、モニタ１８及びスピーカ２２に接続された家庭用ゲーム機１１に、情報記憶媒体たるＤＶＤ−ＲＯＭ２５及びメモリカード２８が装着され、さらにモニタ１８及びスピーカ２２が接続されることによって構成されている。モニタ１８には家庭用テレビ受像器が用いられ、スピーカ２２にはその内蔵スピーカが用いられる。また、ここではプログラムを家庭用ゲーム機１１に供給するためにＤＶＤ−ＲＯＭ２５を用いるが、ＣＤ−ＲＯＭやＲＯＭカード等、他のあらゆる情報記憶媒体を用いるようにしてもよい。また、インターネット等のデータ通信網を介して遠隔地からプログラムを家庭用ゲーム機１１に供給するようにしてもよい。
【００１８】
家庭用ゲーム機１１は、マイクロプロセッサ１４、画像処理部１６、主記憶２６、入出力処理部３０、音声処理部２０、コントローラ３２及びＤＶＤ−ＲＯＭ再生部２４を含んで構成される公知のコンピュータゲームシステムである。マイクロプロセッサ１４、画像処理部１６、主記憶２６及び入出力処理部３０は、バス１２によって相互データ通信可能に接続されており、入出力処理部３０には、コントローラ３２、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４及びメモリカード２８が接続されている。コントローラ３２以外の家庭用ゲーム機１１の各構成要素は筐体内に収容されている。
【００１９】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステム、ＤＶＤ−ＲＯＭ２５から読み出されるプログラム、及びメモリカード２８から読み出されるセーブデータに基づいて、家庭用ゲーム機１１の各部を制御し、プレイヤにゲームを提供する。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。また、主記憶２６は、例えばＲＡＭを含んで構成されるものであり、ＤＶＤ−ＲＯＭ２５から読み出されたプログラムやメモリカード２８から読み出されたセーブデータが必要に応じて書き込まれる。また、主記憶２６は、マイクロプロセッサ１４の作業用としても用いられる。画像処理部１６はＶＲＡＭを含んで構成されており、マイクロプロセッサ１４から送られる画像データを受け取って、それに基づいてＶＲＡＭ上にゲーム画面を描画するとともに、その内容をビデオ信号に変換して所定のタイミングでモニタ１８に出力する。
【００２０】
入出力処理部３０は、マイクロプロセッサ１４が、コントローラ３２、音声処理部２０、ＤＶＤ−ＲＯＭ再生部２４及びメモリカード２８にアクセスするためのインタフェースである。音声処理部２０はサウンドバッファを含んで構成されており、ＤＶＤ−ＲＯＭ２５から読み出され、該サウンドバッファに記憶されたゲーム音楽、ゲーム効果音、メッセージ等の各種音声データを再生してスピーカ２２から出力する。ＤＶＤ−ＲＯＭ再生部２４は、マイクロプロセッサ１４からの指示に従ってＤＶＤ−ＲＯＭ２５に記録されたプログラムを読み取る。コントローラ３２は、プレイヤが各種ゲーム操作の入力をするための汎用操作入力手段である。また、メモリカード２８は、不揮発性メモリ（例えばＥＥＰＲＯＭ等）を含んでおり、家庭用ゲーム機１１に対して脱着可能に構成されている。このメモリカード２８には、各種ゲームのセーブデータ等が記憶される。
【００２１】
図２は、コントローラ３２の一例を示す図である。同図に示すコントローラ３２は汎用ゲームコントローラであり、同図（ａ）に示すように、表面に方向キー３４，スタートキー３６、セレクトキー３７、ボタン３８Ｘ，３８Ｙ，３８Ａ，３８Ｂを備えており、同図（ｂ）に示すように、奥側側面に、さらにボタン３９Ｌ，３９Ｒ，４１Ｌ，４１Ｒを備えている。すなわち、コントローラ３２の奥側側面には、表面側左右にボタン４１Ｌ，４１Ｒがそれぞれ備えられており、裏面側左右にボタン３９Ｌ，３９Ｒがそれぞれ備えられている。方向キー３４は十字形状を有しており、通常はキャラクタやカーソルの移動方向を設定するのに用いられる。スタートキー３６は三角形状を有する小型の押しボタンであり、通常はゲームのスタートやゲームの強制終了などに用いられる。ボタン３８Ｘ，３８Ｙ，３８Ａ，３８Ｂ，３９Ｌ，３９Ｒ，４１Ｌ，４１Ｒは、その他のゲーム操作に用いられる。
【００２２】
また、このコントローラ３２には振動子３５が内蔵されている。振動子３５は、例えば圧電素子、或いは偏心重り付きのモータ等によって構成されるものであり、マイクロプロセッサ１４からコントローラ３２に供給される振動オン命令に応じて動作し、コントローラ３２を振動させるようになっている。また、マイクロプロセッサ１４からコントローラ３２に供給される振動オフ命令に応じて動作を停止し、コントローラ３２の振動を停止させるようになっている。
【００２３】
以下、以上説明したゲーム装置１０を用いて、本発明の一実施形態に係る３次元画像処理、特に視点位置及び視線方向の制御を実現する技術について説明する。
【００２４】
図３は、仮想３次元空間の一例を示す斜視図である。本実施形態では、ゲーム装置１０の主記憶２６に仮想３次元空間が構築され、該空間を所与の視点から見た様子がモニタ１８に表示されるようになっている。同図に示すように、仮想３次元空間５０には、ＺＸ平面に平行な矩形平板状の通路オブジェクト５４が配置されている。該通路オブジェクト５４の両側部には壁面オブジェクト５２，５６が立設されている。そして、通路オブジェクト５４上にゲームキャラクタオブジェクト６０が配置されており、コントローラ３２からの指示入力に基づいて、該ゲームキャラクタオブジェクト６０は通路オブジェクト５４上を移動するようになっている。
【００２５】
このゲーム装置１０では、仮想３次元空間５０に、ゲームキャラクタオブジェクト６０に従動する視点Ｃが設定されるようになっている。また、ゲームキャラクタ６０の前方には注視点Ｆが設定されるようになっている。そして、視点Ｃから注視点Ｆを見た様子が所定の画角にて画像化され、この画像がモニタ１８に表示されるようになっている。図４は、こうしてモニタ１８に表示されるゲーム画面の一例を示す図である。同図に示すゲーム画面例では、注視点Ｆの周囲に配置された通路オブジェクト５４、壁面オブジェクト５６、ゲームキャラクタオブジェクト６０の一部が表示されている。
【００２６】
このゲーム装置１０は、仮想３次元空間５０に複数の基準座標及び基準ベクトルが予め設定されており、これら基準座標及び基準ベクトルと、注視点Ｆの座標とに基づいて、視点Ｃの位置及び視線方向が決定されるようになっている。
【００２７】
図５は、仮想３次元空間５０に設定された基準ベクトルを示す図である。同図に示すように、このゲーム装置１０では、仮想３次元空間５０に不可視の基準ベクトルＶｎ（ｎ＝１，２，３，〜）が設定されている。各基準ベクトルＶｎは、始点Ｐｎの座標と終点Ｒｎの座標により特定されており、これらの始点Ｐｎの座標と終点Ｒｎの座標との組が基準ベクトルデータテーブルとしてＤＶＤ−ＲＯＭ２５に格納されている。また、各基準ベクトルデータは基準座標に対応づけられている。ここでは、各基準座標は、基準ベクトルＶｎの終点Ｒｎの座標として、各基準ベクトルＶｎに対応づけられている。ＤＶＤ−ＲＯＭ２５に格納された基準ベクトルデータは必要に応じてＤＶＤ−ＲＯＭ再生部２４により読み出され、主記憶２６に複写されるようになっている。
【００２８】
図６は、ＤＶＤ−ＲＯＭ２５に格納された基準ベクトルデータテーブルの一例を示す図である。同図に示すように、基準ベクトルデータのテーブルは、各基準ベクトルを識別する番号（ＮＯ．）と、その基準ベクトルの始点の座標（座標値）と、終点の座標（座標値）と、を対応づけて記憶するものである。
【００２９】
ここでは、図５に示すように、通路オブジェクト５４の中心線の所定距離（仮想３次元空間５０内における尺度にて１メートル程度）上方には、直線又は折れ線状のスプライン６４が仮想的に設定されており、このスプライン６４上に基準ベクトルＶｎの終点Ｒｎが設定されている。さらに、通路オブジェクト５４における壁面オブジェクト５２側の部位の上方、スプライン６４よりも高い位置には、スプライン６４に並行するスプライン６２が仮想的に設定されており、このスプライン６２上に基準ベクトルＶｎｎの始点Ｐｎが設定されている。
【００３０】
また、通路オブジェクト５４における壁面オブジェクト５２側の縁部には進入制限領域６６が設定されている。ＤＶＤ−ＲＯＭ２５には、この進入制限領域６６を特定するデータが格納されており、ゲーム装置１０では、このデータにより特定される領域内にゲームキャラクタオブジェクト６０が進入することを制限している。こうして、不自然な視線方向にてゲーム画面が表示されないようにしている。
【００３１】
ここで、基準座標（ここでは終点Ｒｎの座標）及び基準ベクトルＶｎに基づき、視点Ｃの位置及び視線方向を決定する手順について詳細に説明する。
【００３２】
図７は、基準座標及び基準ベクトルＶｎに基づき、基礎ベクトルを算出する処理を説明する図であり、仮想３次元空間５０を上方から見た様子を示している。同図に示すように、ゲーム装置１０では、まず注視点Ｆをスプライン６４に対して垂直に下ろした位置である、位置Ｆ’を算出する。なお、注視点Ｆは、ゲームキャラクタオブジェクト６０に従動するものであり、コントローラ３２に備えられた方向キーの操作内容に基づき、ゲームキャラクタオブジェクト６０の前方等に配置されるものである。
【００３３】
そして、位置Ｆ’を囲む（位置Ｆ’に最も近い）、２つの終点Ｒ（ここでは、終点Ｒａと終点Ｒｂとする）を選出し、それらの座標（基準座標）を取得する。すなわち、終点（基準位置）Ｒａと終点（基準位置）Ｒｂは、終点Ｒの中から、位置Ｆ’と各終点Ｒとの距離に基づいて選出されるものであり、ここでは位置Ｆ’に近い順に２つが選出される。その後、次式（１）に従って基準ベクトル合成比αを算出する。この基礎ベクトル合成比αは、後に説明するように距離合成比としても用いられる。
【００３４】
【数１】
2005100184.tif 000003
【００３５】
ここで、ＲｂＦ’は基準位置Ｒｂと位置Ｆ’との距離であり、Ｆ’Ｒａは位置Ｆ’と基準位置Ｒａとの距離である。
【００３６】
次に、以上のようにして選出される基準位置Ｒａ及び基準位置Ｒｂにそれぞれ対応する、基準ベクトルＶａ及び基準ベクトルＶｂを選出し、それら及び上記基準ベクトル合成比αを次式（２）に代入することにより、基礎ベクトルＶを算出する。
【００３７】
【数２】
2005100184.tif 000004
【００３８】
ここで、矢印を冠した記号は、すべてベクトル量であることを示している。
【００３９】
次に、次式（３）により基礎ベクトルを単位化し、単位基礎ベクトルｅＶを求める。
【００４０】
【数３】
2005100184.tif 000005
【００４１】
ここで、絶対値記号で囲われたベクトルＸは、ベクトルＸの大きさを表している。
【００４２】
次に、選出される基準ベクトルＶａと基準ベクトルＶｂの大きさ、及び基準ベクトル合成比αを次式（４）に代入することにより、最大視点距離ＬＭを算出する。最大視点距離ＬＭは、注視点Ｆと視点Ｃとの距離Ｌの最大値であり、このゲーム装置１０では、この距離を最大視点距離ＬＭ内に制限する処理を行うようにしている。
【００４３】
【数４】
2005100184.tif 000006
【００４４】
その後、視点Ｃの座標（ベクトルＯＣ；Ｏは仮想３次元空間の原点）を次式（５）に従って算出する。
【００４５】
【数５】
2005100184.tif 000007
【００４６】
ここで、距離Ｌは次式（６）により決定されるものである。
【００４７】
【数６】
2005100184.tif 000008
【００４８】
このゲーム装置１０では、原則として、こうして算出される視点Ｃの位置から基礎ベクトルＶの方向を見た様子を画像化し、この画像をモニタ１８に表示している。ただし、例外として、式（５）により算出される視点Ｃの位置が注視点Ｆから見て、壁面オブジェクト５２の裏面側にあるときには、壁面オブジェクト５２上（或いはそれよりも通路オブジェクト５２側）に移動させた位置Ｃ’を視点の位置とするようにしている。
【００４９】
すなわち、図８に示すように、式（５）により算出される視点Ｃと注視点Ｆとが壁面オブジェクト５２に対して同じ側にある場合には、その視点Ｃの位置から基礎ベクトルＶの方向を見た様子を画像化し、この画像をモニタ１８に表示している。一方、図９に示すように、式（５）により算出される視点Ｃと注視点Ｆとが壁面オブジェクト５２に対して互いに逆側にある場合には、視点Ｃと注視点Ｆとを結ぶ直線と壁面オブジェクト５２との交点Ｍを算出して、該交点Ｍから仮想３次元空間５０の上方に移動した点Ｃ’に視点位置を変更し、この点Ｃ’から注視点Ｆに向かう方向を視線方向としている。そして、点Ｃ’から該視線方向を見た様子を画像化し、この画像をモニタ１８に表示している。なお、交点Ｍと点Ｃ’との距離は、式（５）により算出される視点Ｃと交点Ｍとの距離に等しくされている。すなわち、補正後の視点Ｃである点Ｃ’は、次式（７）に従って算出される。
【００５０】
【数７】
2005100184.tif 000009
【００５１】
ここで、ベクトルｅＹは、仮想３次元空間５０のＹ方向（正方向）の単位ベクトルである。
【００５２】
以下、以上説明した視点位置及び視線方向の制御処理について、フロー図に沿って、さらに詳細に説明する。
【００５３】
図１０及び図１１は、ゲーム装置１０による視点位置及び視線方向算出ルーチンを示すフロー図である。同フロー図に示される処理は、所定時間（例えば１／６０秒）ごとに実行されるものであり、この処理で算出される視点位置座標及び視線方向を用いて、仮想３次元空間５０に係る画像が生成され、モニタ１８に表示される。また、同フロー図に示される処理は、ＤＶＤ−ＲＯＭ２５に格納されたプログラムをマイクロプロセッサ１４が実行することにより、ゲーム装置１０において実現されるものである。
【００５４】
この処理では、まず注視点Ｆをスプライン６４に垂直に下ろし、垂線の足の位置Ｆ’を算出する（Ｓ１０１）。スプライン６４（の数式）は、基準ベクトルデータに基づいて算出してもよいし、予めＤＶＤ−ＲＯＭ２５に格納しておいてもよい。次に、基準ベクトルテーブルを読み出し、そこに記憶された基準ベクトルデータにより特定される基準ベクトルから、この位置Ｆ’に最も近い基準ベクトル及びその次に近い基準ベクトルを選出する（Ｓ１０２）。そして、式（１）に従って、基準ベクトル合成比（距離合成比）αを算出するとともに（Ｓ１０３）、式（２）に従って、基礎ベクトルＶを算出する（Ｓ１０４）。
【００５５】
次に、式（３）〜（６）に基づいて、視点Ｃの座標（ベクトルＯＣ）を算出する（Ｓ１０５）。そして、こうして算出される視点Ｃと注視点Ｆとが壁面オブジェクト５２に対して互いに逆側であるか否かを判断する（Ｓ１０６）。同じ側であれば、以降のＳ１０７乃至Ｓ１１０の処理をスキップし、処理を終了する。この場合、図示しない画像表示処理では、Ｓ１０５で算出した座標を視点座標とし、Ｓ１０４で算出した基礎ベクトルを視線方向とし、これらのデータを用いて仮想３次元空間５０を見た様子を画像化し、モニタ１８に表示させる。
【００５６】
一方、視点Ｃと注視点Ｆとが壁面オブジェクト５２に対して互いに逆側であれば、次に、Ｓ１０５で算出された視点Ｃ（仮視点）と注視点Ｆとを結ぶ直線と、壁面オブジェクト５２との交点Ｍを算出する（Ｓ１０７）。さらに、交点ＭとＳ１０５で算出された視点Ｃとの距離を算出する（Ｓ１０８）。そして、式（７）に基づいて、修正後の視点Ｃ（視点Ｃ’を算出する（Ｓ１０９）。さらに、視点Ｃ’から注視点Ｆに向かうベクトルを修正後の視線方向ベクトルとして算出し（Ｓ１１０）、処理を終了する。この場合、図示しない画像表示処理では、Ｓ１０９で算出した座標を視点座標とし、Ｓ１１０で算出したベクトルを視線方向とし、これらのデータを用いて仮想３次元空間５０を見た様子を画像化し、モニタ１８に表示させる。
【００５７】
以上説明したゲーム装置１０によれば、仮想３次元空間５０に任意に基礎ベクトルＶｎを設定しておくことにより、仮想３次元空間５０の周囲の状況に応じた、好適な視点位置及び視線方向にて、該空間を表す画像をモニタ１８に表示させることができる。
【００５８】
なお、本発明は上記実施形態に限定されるものではなく、本発明の範囲内で当業者は種々の変形実施をすることができる。例えば、以上の説明では、基準ベクトルＶｎを特定するデータとして、それらの始点及び終点座標をＤＶＤ−ＲＯＭ２５に記憶しておくようにしたが、方向及び大きさを含むベクトルデータとして記憶しておくようにしてもよい。また、本発明は業務用ゲーム機、携帯用ゲーム機、パーソナルコンピュータなど、あらゆるコンピュータにて実施することができる。
【図面の簡単な説明】
【００５９】
【図１】本発明の一実施形態に係るゲーム装置のハードウェア構成図である。
【図２】コントローラの（ａ）正面図及び（ｂ）平面図である。
【図３】仮想３次元空間の一例を示す斜視図である。
【図４】ゲーム画面の一例を示す図である。
【図５】仮想３次元空間に設定された基準ベクトルを示す図である。
【図６】基礎ベクトルの算出手順を説明する仮想３次元空間の平面図である。
【図７】仮想３次元空間の側面図である。
【図８】仮想３次元空間の側面図である。
【図９】基準ベクトルデータテーブルを示す図である。
【図１０】視点位置及び視線方向算出処理を示すフロー図である。
【図１１】視点位置及び視線方向算出処理を示すフロー図である。
【符号の説明】
【００６０】
１０  ゲーム装置、１１  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  画像処理部、１８  モニタ、２０  音声処理部、２２  スピーカ、２４  ＤＶＤ−ＲＯＭ再生部、２５  ＤＶＤ−ＲＯＭ、２６  主記憶、２８  メモリカード、３０  入出力処理部、３２  コントローラ、３４  方向キー、３５  振動子、３６  スタートキー、３７  セレクトキー、３８，３９，４１  ボタン、５０  仮想３次元空間（ゲーム空間、オブジェクト空間）、５２，５６  壁面オブジェクト、５４  通路オブジェクト、６０  ゲームキャラクタオブジェクト、６２，６４  スプライン。
【図１】
2005100184.tif 000010
【図２】
2005100184.tif 000011
【図３】
2005100184.tif 000012
【図４】
2005100184.tif 000013
【図５】
2005100184.tif 000014
【図６】
2005100184.tif 000015
【図７】
2005100184.tif 000016
【図８】
2005100184.tif 000017
【図９】
2005100184.tif 000018
【図１０】
2005100184.tif 000019
【図１１】
2005100184.tif 000020