(57)【特許請求の範囲】
【請求項１】
仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画像を生成する画像処理装置において、
前記オブジェクトを移動させるオブジェクト制御手段と、
前記オブジェクトの移動に基づいて、前記仮想カメラを移動させる仮想カメラ制御手段と、
前記仮想空間を前記仮想カメラから見た様子を表す画像を生成する画像生成手段と、
を含み、
前記仮想カメラ制御手段は、
前記オブジェクトの移動方向に対応する方向を前記仮想カメラの移動方向として決定する移動方向決定手段と、
前記オブジェクトの移動が開始されてから待機時間が経過するまで、前記移動方向決定手段によって決定された移動方向への前記仮想カメラの移動を待機させる待機手段と、
前記待機時間が経過した場合、前記移動方向決定手段によって決定された移動方向に前記仮想カメラを加速させる加速手段と、を含み、
前記オブジェクトは、前記オブジェクトを移動させるための動作をキャラクタオブジェクトが行った結果として、前記仮想空間内を移動し、
前記待機手段は、前記キャラクタオブジェクトによって行われた、前記オブジェクトを移動させるための前記動作の種類に基づいて、前記待機時間を設定する待機時間設定手段を含む、
ことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記加速手段は、前記加速手段によって前記仮想カメラが加速される場合における上限速度を、前記オブジェクトの速度に基づいて設定する加速時上限速度設定手段を含み、前記仮想カメラの速度が該上限速度を超えないようにしつつ、前記仮想カメラを加速させることを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記加速時上限速度設定手段は、１よりも大きく、かつ、２以下である係数を前記オブジェクトの速度に乗じることによって得られる速度に基づいて、前記加速手段によって前記カメラが加速される場合における上限速度を設定することを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれかに記載の画像処理装置において、
前記仮想カメラ制御手段は、
前記加速手段によって前記仮想カメラが加速されている場合において、前記仮想カメラと前記オブジェクトとの位置関係が所定の位置関係になった場合、前記仮想カメラを減速させる減速手段を含み、
前記減速手段は、前記減速手段によって前記カメラが減速される場合における上限速度を、前記仮想カメラの速度が最も速かった時の前記仮想カメラの速度と、前記オブジェクトの速度と、に基づいて設定する減速時上限速度設定手段を含み、前記仮想カメラの速度が該上限速度を下回るようにしつつ、前記仮想カメラを減速させる、
ことを特徴とする画像処理装置。
【請求項５】
請求項４に記載の画像処理装置において、
前記減速時上限速度設定手段は、前記仮想カメラの速度が最も速かった時の前記仮想カメラの前記速度と、前記オブジェクトの現在の速度と、の中間値に基づいて、前記減速手段によって前記カメラが減速される場合における上限速度を設定することを特徴とする画像処理装置。
【請求項６】
請求項４又は５に記載の画像処理装置において、
前記所定の位置関係は、前記移動方向決定手段によって決定された移動方向に前記仮想カメラが移動する場合の前記仮想カメラの移動経路上に前記オブジェクトの位置を射影してなる射影位置と、前記仮想カメラの位置と、の間の距離に関する距離情報が基準値以内であるような位置関係であることを特徴とする画像処理装置。
【請求項７】
請求項４又は５に記載の画像処理装置において、
前記所定の位置関係は、前記移動方向決定手段によって決定された移動方向に前記仮想カメラが移動する場合の前記仮想カメラの移動経路上に前記オブジェクトの位置を射影してなる射影位置よりも前記仮想カメラの位置が前記仮想カメラの進行方向側にあり、かつ、前記仮想カメラと前記移動物体オブジェクトとの間の距離に関する距離情報が基準値以上であるような位置関係であることを特徴とする画像処理装置。
【請求項８】
仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画像を生成する画像処理装置の制御方法において、
前記オブジェクトを移動させるオブジェクト制御ステップと、
前記オブジェクトの移動に基づいて、前記仮想カメラを移動させる仮想カメラ制御ステップと、
前記仮想空間を前記仮想カメラから見た様子を表す画像を生成する画像生成ステップと、
を含み、
前記仮想カメラ制御ステップは、
前記オブジェクトの移動方向に対応する方向を前記仮想カメラの移動方向として決定する移動方向決定ステップと、
前記オブジェクトの移動が開始されてから待機時間が経過するまで、前記移動方向決定ステップにおいて決定された移動方向への前記仮想カメラの移動を待機させる待機ステップと、
前記待機時間が経過した場合、前記移動方向決定ステップにおいて決定された移動方向に前記仮想カメラを加速させる加速ステップと、を含み、
前記オブジェクトは、前記オブジェクトを移動させるための動作をキャラクタオブジェクトが行った結果として、前記仮想空間内を移動し、
前記待機ステップは、前記キャラクタオブジェクトによって行われた、前記オブジェクトを移動させるための前記動作の種類に基づいて、前記待機時間を設定する待機時間設定ステップを含む、
ことを特徴とする画像処理装置の制御方法。
【請求項９】
仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画像を生成する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記オブジェクトを移動させるオブジェクト制御手段、
前記オブジェクトの移動に基づいて、前記仮想カメラを移動させる仮想カメラ制御手段、及び、
前記仮想空間を前記仮想カメラから見た様子を表す画像を生成する画像生成手段、
として前記コンピュータを機能させ、
前記仮想カメラ制御手段は、
前記オブジェクトの移動方向に対応する方向を前記仮想カメラの移動方向として決定する移動方向決定手段と、
前記オブジェクトの移動が開始されてから待機時間が経過するまで、前記移動方向決定手段によって決定された移動方向への前記仮想カメラの移動を待機させる待機手段と、
前記待機時間が経過した場合、前記移動方向決定手段によって決定された移動方向に前記仮想カメラを加速させる加速手段と、を含み、
前記オブジェクトは、前記オブジェクトを移動させるための動作をキャラクタオブジェクトが行った結果として、前記仮想空間内を移動し、
前記待機手段は、前記キャラクタオブジェクトによって行われた、前記オブジェクトを移動させるための前記動作の種類に基づいて、前記待機時間を設定する待機時間設定手段を含む、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画面を表示部に表示させる画像処理装置が知られている。例えば、ゲーム装置が上記のような画像処理装置として知られている。例えば、サッカーゲームを実行するゲーム装置では、ゲーム空間内を移動するボール（ボールオブジェクト）及び選手キャラクタ（選手オブジェクト）を仮想カメラから見た様子を表すゲーム画面が表示される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１１０３２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のようなサッカーゲームでは、ボールがゲーム画面内に表示されるように、ボールの移動に基づいて仮想カメラの移動が制御される。この場合、ボールと仮想カメラとの位置関係が一定となるように、仮想カメラを移動させてしまうと、常にボールがゲーム画面内の同じ位置に表示されることになる。その結果、ユーザの目にはボールが仮想空間内を移動しているようには見えず、あたかも背景部分が移動しているかのように見えてしまい、ゲーム画面の表示が不自然であるとユーザが感じてしまう場合がある。
【０００５】
上記のような不自然さをユーザに感じさせないようにするための方法としては、例えば、シュートやパスが選手キャラクタによって行われた場合に、ボールの移動の開始に遅れて、仮想カメラの移動を開始させる方法が考えられる。すなわち、ボールの移動が開始された場合に、待機時間（例えば数フレーム）が経過した後に仮想カメラの移動を開始させる方法が考えられる。しかしながら、このような方法を採用する場合には、単に、仮想カメラの移動をボールの移動の開始に遅れて開始させるだけでなく、ボールの移動の仕方（例えば距離等）がユーザから見て分かりやすくなるように、仮想カメラの移動制御をさらに向上させる必要がある。具体的には、例えば、選手キャラクタによってボールが大きく蹴り出された場合に、ボールが大きく移動することがユーザから見て分かりやすくなるように、仮想カメラの移動制御を向上させる必要がある。
【０００６】
本発明は上記課題に鑑みてなされたものであって、その目的は、仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画面を表示部に表示させる場合における仮想カメラの移動制御を向上させることが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る画像処理装置は、仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画像を生成する画像処理装置において、前記オブジェクトを移動させるオブジェクト制御手段と、前記オブジェクトの移動に基づいて、前記仮想カメラを移動させる仮想カメラ制御手段と、前記仮想空間を前記仮想カメラから見た様子を表す画像を生成する画像生成手段と、を含み、前記仮想カメラ制御手段は、前記オブジェクトの移動方向に対応する方向を前記仮想カメラの移動方向として決定する移動方向決定手段と、前記オブジェクトの移動が開始されてから待機時間が経過するまで、前記移動方向決定手段によって決定された移動方向への前記仮想カメラの移動を待機させる待機手段と、前記待機時間が経過した場合、前記移動方向決定手段によって決定された移動方向に前記仮想カメラを加速させる加速手段と、を含み、前記オブジェクトは、前記オブジェクトを移動させるための動作をキャラクタオブジェクトが行った結果として、前記仮想空間内を移動し、前記待機手段は、前記キャラクタオブジェクトによって行われた、前記オブジェクトを移動させるための前記動作の種類に基づいて、前記待機時間を設定する待機時間設定手段を含むことを特徴とする。
【０００８】
また、本発明に係る画像処理装置の制御方法は、仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画像を生成する画像処理装置の制御方法において、前記オブジェクトを移動させるオブジェクト制御ステップと、前記オブジェクトの移動に基づいて、前記仮想カメラを移動させる仮想カメラ制御ステップと、前記仮想空間を前記仮想カメラから見た様子を表す画像を生成する画像生成ステップと、を含み、前記仮想カメラ制御ステップは、前記オブジェクトの移動方向に対応する方向を前記仮想カメラの移動方向として決定する移動方向決定ステップと、前記オブジェクトの移動が開始されてから待機時間が経過するまで、前記移動方向決定ステップにおいて決定された移動方向への前記仮想カメラの移動を待機させる待機ステップと、前記待機時間が経過した場合、前記移動方向決定ステップにおいて決定された移動方向に前記仮想カメラを加速させる加速ステップと、を含み、前記オブジェクトは、前記オブジェクトを移動させるための動作をキャラクタオブジェクトが行った結果として、前記仮想空間内を移動し、前記待機ステップは、前記キャラクタオブジェクトによって行われた、前記オブジェクトを移動させるための前記動作の種類に基づいて、前記待機時間を設定する待機時間設定ステップを含むことを特徴とする。
【０００９】
また、本発明に係るプログラムは、仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画像を生成する画像処理装置としてコンピュータを機能させるためのプログラムであって、前記オブジェクトを移動させるオブジェクト制御手段、前記オブジェクトの移動に基づいて、前記仮想カメラを移動させる仮想カメラ制御手段、及び、前記仮想空間を前記仮想カメラから見た様子を表す画像を生成する画像生成手段、として前記コンピュータを機能させ、前記仮想カメラ制御手段は、前記オブジェクトの移動方向に対応する方向を前記仮想カメラの移動方向として決定する移動方向決定手段と、前記オブジェクトの移動が開始されてから待機時間が経過するまで、前記移動方向決定手段によって決定された移動方向への前記仮想カメラの移動を待機させる待機手段と、前記待機時間が経過した場合、前記移動方向決定手段によって決定された移動方向に前記仮想カメラを加速させる加速手段と、を含み、前記オブジェクトは、前記オブジェクトを移動させるための動作をキャラクタオブジェクトが行った結果として、前記仮想空間内を移動し、前記待機手段は、前記キャラクタオブジェクトによって行われた、前記オブジェクトを移動させるための前記動作の種類に基づいて、前記待機時間を設定する待機時間設定手段を含むことを特徴とするプログラムである。
【００１０】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１１】
本発明によれば、仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画面を表示部に表示させる場合における仮想カメラの移動制御を向上させることが可能になる。
【００１２】
また本発明の一態様では、前記加速手段は、前記加速手段によって前記仮想カメラが加速される場合における上限速度を、前記オブジェクトの速度に基づいて設定する加速時上限速度設定手段を含み、前記仮想カメラの速度が該上限速度を超えないようにしつつ、前記仮想カメラを加速させるようにしてもよい。
【００１３】
また本発明の一態様では、前記加速時上限速度設定手段は、１よりも大きく、かつ、２以下である係数を前記オブジェクトの速度に乗じることによって得られる速度に基づいて、前記加速手段によって前記カメラが加速される場合における上限速度を設定するようにしてもよい。
【００１４】
また本発明の一態様では、前記仮想カメラ制御手段は、前記加速手段によって前記仮想カメラが加速されている場合において、前記仮想カメラと前記オブジェクトとの位置関係が所定の位置関係になった場合、前記仮想カメラを減速させる減速手段を含み、前記減速手段は、前記減速手段によって前記カメラが減速される場合における上限速度を、前記仮想カメラの速度が最も速かった時の前記仮想カメラの速度と、前記オブジェクトの速度と、に基づいて設定する減速時上限速度設定手段を含み、前記仮想カメラの速度が該上限速度を下回るようにしつつ、前記仮想カメラを減速させるようにしてもよい。
【００１５】
また本発明の一態様では、前記減速時上限速度設定手段は、前記仮想カメラの速度が最も速かった時の前記仮想カメラの前記速度と、前記オブジェクトの現在の速度と、の中間値に基づいて、前記減速手段によって前記カメラが減速される場合における上限速度を設定するようにしてもよい。
【００１６】
また本発明の一態様では、前記所定の位置関係は、前記移動方向決定手段によって決定された移動方向に前記仮想カメラが移動する場合の前記仮想カメラの移動経路上に前記オブジェクトの位置を射影してなる射影位置と、前記仮想カメラの位置と、の間の距離に関する距離情報が基準値以内であるような位置関係であるようにしてもよい。
【００１７】
また本発明の一態様では、前記所定の位置関係は、前記移動方向決定手段によって決定された移動方向に前記仮想カメラが移動する場合の前記仮想カメラの移動経路上に前記オブジェクトの位置を射影してなる射影位置よりも前記仮想カメラの位置が前記仮想カメラの進行方向側にあり、かつ、前記仮想カメラと前記移動物体オブジェクトとの間の距離に関する距離情報が基準値以上であるような位置関係であってもよい。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るゲーム装置のハードウェア構成を示す図である。
【図２】ゲーム空間の一例を示す図である。
【図３】ゲーム画面の一例を示す図である。
【図４】本発明の実施形態に係るゲーム装置の機能ブロック図である。
【図５】仮想カメラの移動方向の決定方法の一例について説明するための図である。
【図６】待機時間データの一例を示す図である。
【図７】ボールの移動が開始されてから待機時間が経過した場合のボールと仮想カメラとの位置関係の一例を示す図である。
【図８】仮想カメラとボールとの所定の位置関係の一例について説明するための図である。
【図９】仮想カメラとボールとの所定の位置関係の他の一例について説明するための図である。
【図１０】仮想カメラの減速が開始された後のボールと仮想カメラとの位置関係の一例を示す図である。
【図１１】ゲーム装置が実行する処理の一例を示すフロー図である。
【図１２】仮想カメラとボールとの所定の位置関係の他の一例について説明するための図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。以下では、画像処理装置の一態様であるゲーム装置に本発明を適用する場合について説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機（据置型ゲーム機）、携帯ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）、又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【００２０】
図１は、本発明の実施形態に係るゲーム装置のハードウェア構成を示す。図１に示すゲーム装置１０は、家庭用ゲーム機１１、表示部３２、音声出力部３４、及び光ディスク３６（情報記憶媒体）を含む。表示部３２及び音声出力部３４は家庭用ゲーム機１１に接続される。例えば家庭用テレビ受像機又は液晶ディスプレイ等が表示部３２として用いられ、例えば家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホン等が音声出力部３４として用いられる。
【００２１】
家庭用ゲーム機１１は公知のコンピュータシステムである。家庭用ゲーム機１１は、バス１２、制御部１４、主記憶１６、画像処理部１８、入出力処理部２０、音声処理部２２、光ディスクドライブ２４、ハードディスク２６、通信インタフェース２８、及びコントローラ３０を含む。
【００２２】
制御部１４は一又は複数のマイクロプロセッサを含む。制御部１４は、光ディスク３６から読み出されるプログラムに基づいて、各部の制御処理や情報処理を実行する。主記憶１６は例えばＲＡＭを含み、光ディスク３６から読み出されたプログラム及びデータが主記憶１６に書き込まれる。主記憶１６は制御部１４の作業用メモリとしても用いられる。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。
【００２３】
画像処理部１８はＶＲＡＭを含み、制御部１４から供給される画像データに基づいてＶＲＡＭ上に画面を描画する。ＶＲＡＭ上に描画された画面はビデオ信号に変換されて表示部３２に出力される。
【００２４】
入出力処理部２０は、制御部１４が音声処理部２２、光ディスクドライブ２４、ハードディスク２６、通信インタフェース２８、及びコントローラ３０にアクセスするためのインタフェースである。音声処理部２２はサウンドバッファを含み、光ディスク３６からサウンドバッファに読み出された音声データを音声出力部３４から出力する。通信インタフェース２８は、インターネット等の通信ネットワークに家庭用ゲーム機１１を有線又は無線接続するためのインタフェースである。
【００２５】
光ディスクドライブ２４は、光ディスク３６に記録されたプログラムやデータを読み取る。ここでは、プログラムやデータを家庭用ゲーム機１１に供給するために光ディスク３６を用いるが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。また、例えば通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。ハードディスク２６は一般的なハードディスク装置（補助記憶装置）である。なお、光ディスク３６に記憶されることとして説明するプログラムやデータはハードディスク２６に記憶されていてもよい。また、ハードディスク２６の代わりに、ソリッドステートドライブがゲーム装置１０に備えられるようにしてもよい。
【００２６】
コントローラ３０はユーザが操作を行うための操作部である。家庭用ゲーム機１１には複数のコントローラ３０を有線又は無線接続することが可能になっている。入出力処理部２０は一定周期毎（例えば１／６０秒ごと）にコントローラ３０の各操作部材の操作状態をスキャンし、そのスキャン結果を表す操作信号をバス１２を介して制御部１４に供給する。制御部１４は操作信号に基づいてユーザのゲーム操作を判定する。
【００２７】
ゲーム装置１０では各種ゲームが実行される。例えば、仮想空間内をオブジェクトが移動するゲームが実行される。
【００２８】
以下では、移動物体（例えばボール又はパック等）を用いて行われるスポーツ競技を模したゲームが実行される場合について説明する。具体的には、サッカーゲームが実行される場合の例について説明する。このサッカーゲームでは、ユーザが操作するユーザチーム（ユーザキャラクタグループ）と敵チーム（敵キャラクタグループ）との間のサッカーの試合が行われる。なお、敵チームを操作するのはコンピュータであってもよいし、他のユーザであってもよい。ただし、以下では、敵チームがコンピュータによって操作される場合について説明する。
【００２９】
サッカーゲームが実行される場合、仮想空間が主記憶１６に構築される。図２は仮想空間の一例を示す。図２に示す仮想空間４０は、互いに直交する３つの座標軸（Ｘｗ軸、Ｙｗ軸、及びＺｗ軸）が設定された仮想的な３次元空間である。仮想空間４０に配置されるオブジェクトの位置等はこれらの３つの座標軸によって示される。
【００３０】
図２に示すように、仮想空間４０には、サッカーフィールドを表すオブジェクトであるフィールド４２が配置される。フィールド４２上には２本のゴールライン４３Ａと２本のタッチライン４３Ｂとが表されている。２本のゴールライン４３Ａと２本のタッチライン４３Ｂとに囲まれた領域であるピッチ４５内でサッカーの試合が行われる。
【００３１】
また、フィールド４２上には、サッカーのゴールを表すオブジェクトであるゴール４４と、サッカーボールを表すオブジェクトであるボール４６（移動物体オブジェクト）と、ユーザチームに所属するサッカー選手を表すオブジェクトである選手キャラクタ４８と、敵チームに所属するサッカー選手を表すオブジェクトである選手キャラクタ５０と、が配置される。図２では省略されているが、フィールド４２上には、ユーザチームに所属する１１人の選手キャラクタ４８と、敵チームに所属する１１人の選手キャラクタ５０と、が配置される。
【００３２】
ゴール４４の一方はユーザチームに関連づけられ、他方は敵チームに関連づけられる。いずれか一方のチームに関連づけられたゴール４４内にボール４６が移動すると、他方のチームの得点イベントが発生する。
【００３３】
選手キャラクタ４８（５０）とボール４６とが近づくと、所定条件の下、その選手キャラクタ４８（５０）とボール４６とが関連づけられる。この場合、選手キャラクタ４８（５０）の移動動作はドリブル動作になる。以下では、選手キャラクタ４８（５０）にボール４６が関連づけられた状態のことを「選手キャラクタ４８（５０）がボール４６を保持している」というように記載する。
【００３４】
また、仮想空間４０には仮想カメラ５２（視点）が設定される。この仮想カメラ５２から見た仮想空間４０を表すゲーム画面が表示部３２に表示される。例えば、ボール４６が常にゲーム画面に表示されるように、仮想カメラ５２はボール４６の移動に基づいて移動する。
【００３５】
図３はゲーム画面の一例を示す。図３に示すゲーム画面には４人の選手キャラクタ４８Ａ，４８Ｂ，５０Ａ，５０Ｂが表示されている。そのうち、２人の選手キャラクタ４８Ａ，４８Ｂはユーザチームに所属する選手キャラクタ４８であり、残りの２人の選手キャラクタ５０Ａ，５０Ｂは敵チームに所属する選手キャラクタ５０である。
【００３６】
このサッカーゲームでは、ユーザチームに所属する選手キャラクタ４８のうちのいずれかがユーザの操作対象に設定される。図３に示すゲーム画面では選手キャラクタ４８Ａの頭上にカーソル５４が表示されている。カーソル５４は、ユーザの操作対象になっている選手キャラクタ４８を案内する役割を果たす。なお、ユーザの操作対象はユーザチームに所属する選手キャラクタ４８のうちで切り替えられる。
【００３７】
ユーザの操作対象になっている選手キャラクタ４８はユーザの操作に基づいて行動する。例えば、ユーザの操作対象になっている選手キャラクタ４８は、ユーザによって行われた方向指示操作によって指示された方向に移動する。ユーザチームに所属する選手キャラクタ４８のうちの、ユーザの操作対象になっていない選手キャラクタ４８はＡＩ（人工知能）に従って行動する。また、敵チームに所属する選手キャラクタ５０もＡＩに従って行動する。
【００３８】
以下、上記のサッカーゲームにおいて、ボール４６（移動物体オブジェクト）の移動に応じて仮想カメラ５２を好適に移動させるための技術について説明する。ここでは、特に、選手キャラクタ４８（５０）がショートパス、ロングパス、又はシュートを行ったことによってボール４６が蹴り出された場合に仮想カメラ５２をボール４６の移動に応じて好適に移動させるための技術について説明する。
【００３９】
図４は、ゲーム装置１０で実現される機能のうち、本発明に関連する機能ブロックを示す機能ブロック図である。図４に示すように、ゲーム装置１０は、データ記憶部６０、移動物体オブジェクト制御部６２、仮想カメラ制御部６４、及び画像生成部７９を含む。データ記憶部６０は例えば主記憶１６及び光ディスク３６によって実現され、その他の機能ブロックは制御部１４が光ディスク３６から読み出されたプログラムを実行することによって実現される。
【００４０】
まず、データ記憶部６０について説明する。データ記憶部６０は、仮想空間４０に配置される各オブジェクトに関するデータを記憶する。例えば、各オブジェクトのモデルデータがデータ記憶部６０に記憶される。また例えば、位置及び姿勢等が変化する動的オブジェクトの状態データ（位置、移動方向や、速度等）がデータ記憶部６０に記憶される。なお、本実施形態の場合、ボール４６や選手キャラクタ４８，５０が「動的オブジェクト」に相当している。さらに例えば、仮想カメラ５２の状態データ（位置、視線方向、及び画角等）もデータ記憶部６０に記憶される。
【００４１】
なお、以上の他、例えば、選手キャラクタ４８，５０のモーションデータ、選手キャラクタ４８，５０のパラメータデータ、両チームの得点状況を示す得点データや、試合の経過時間を示す経過時間データがデータ記憶部６０に記憶される。
【００４２】
移動物体オブジェクト制御部６２について説明する。移動物体オブジェクト制御部６２は移動物体オブジェクトを仮想空間４０内で移動させる。例えば、移動物体オブジェクトを移動させるための動作をキャラクタオブジェクトが行った場合に、移動物体オブジェクト制御部６２は移動物体オブジェクトを仮想空間４０内で移動させる。
【００４３】
本実施形態の場合、ボール４６が「移動物体オブジェクト」に相当している。例えば、ボール４６を移動させるための動作を選手キャラクタ４８（５０）が行った場合に、移動物体オブジェクト制御部６２はボール４６を仮想空間４０内で移動させる。「ボール４６を移動させるための動作」とは、ショートパス、ロングパス、シュート、又はクリア等である。なお、「クリア」とは、自チームのゴール４４付近にボール４６がある場合に失点を避けるべくボール４６を大きく蹴り出すことによってボール４６を自チームのゴール４４から遠ざける動作である。
【００４４】
仮想カメラ制御部６４について説明する。仮想カメラ制御部６４は移動物体オブジェクトの移動に基づいて仮想カメラを移動させる。仮想カメラ制御部６４は、移動方向決定部６６、待機部６８、加速部７２、及び減速部７６を含んでいる。以下、これらの機能ブロックについて説明する。
【００４５】
移動方向決定部６６について説明する。移動物体オブジェクトが移動を開始したり、移動物体オブジェクトの移動方向が変化したりする場合、移動方向決定部６６は、移動物体オブジェクトの移動方向に対応する方向を仮想カメラ５２の移動方向として決定する。
【００４６】
「移動物体オブジェクトの移動方向に対応する方向」とは、移動物体オブジェクトの移動方向と所定の相対関係を有する方向である。例えば、「移動物体オブジェクトの移動方向に対応する方向」とは、移動物体オブジェクトの移動方向と平行な方向である。また例えば、仮想カメラ５２の移動経路が予め定められている場合、「移動物体オブジェクトの移動方向に対応する方向」とは、移動物体オブジェクトの移動方向を仮想カメラ５２の移動経路上に射影することによって得られるような方向である（後述の図５参照）。
【００４７】
図５は仮想カメラ５２の移動方向の決定方法の一例について説明するための図である。図５はピッチ４５を真上から見た様子を表している。本実施形態の場合、図５に示すように、仮想カメラ５２はタッチライン４３Ｂ（言い換えればＸｗ軸方向）と平行に移動するようになっている。つまり、仮想カメラ５２の移動経路８０はタッチライン４３Ｂ（言い換えればＸｗ軸方向）と平行になっている。図５に示すように、移動方向決定部６６は、ボール４６の移動方向８２を仮想カメラ５２の移動経路８０上に射影することによって得られる方向８４を、仮想カメラ５２の移動方向として決定する。
【００４８】
待機部６８について説明する。待機部６８は、移動物体オブジェクトの移動が開始されてから待機時間が経過するまで、移動方向決定部６６によって決定された移動方向への仮想カメラ５２の移動（すなわち、移動物体オブジェクトの該移動に応じた仮想カメラ５２の移動）を待機させる。
【００４９】
待機部６８は待機時間設定部７０を含んでいる。移動物体オブジェクトを移動させるための動作をキャラクタオブジェクトが行った結果として移動物体オブジェクトが移動するような場合に、待機時間設定部７０は、キャラクタオブジェクトによって行われた、移動物体オブジェクトを移動させるための動作の種類に基づいて、待機時間を設定する。
【００５０】
本実施形態における待機時間設定部７０は、ボール４６を移動させるための動作を選手キャラクタ４８（５０）が行った場合に、選手キャラクタ４８（５０）によって行われた動作の種類に基づいて待機時間を設定する。
【００５１】
本実施形態の場合、選手キャラクタ４８（５０）によって行われた動作の種類に基づいて待機時間を設定するための待機時間データがデータ記憶部６０に記憶される。図６は待機時間データの一例を示している。図６に示す待機時間データは、ボール４６を移動させるための動作の種類と、待機時間と、の対応関係を示すデータになっている。この待機時間データでは、「ショートパス」又は「ロングパス」が行われた場合の待機時間が定められている。図６において、「Ｔ１」及び「Ｔ２」は所定の時間を示しており、「Ｔ２」は「Ｔ１」よりも長い時間を示している。図６に示す待機時間データでは、「ショートパス」よりもボール４６を遠くに移動させるための「ロングパス」の待機時間（Ｔ２）が、「ショートパス」の待機時間（Ｔ１）よりも長くなっている。すなわち、図６に示す待機時間データでは、ボール４６が大きく移動する可能性がある動作を選手キャラクタ４８（５０）が行う場合には待機時間が長くなるように設定されている。
【００５２】
待機時間設定部７０は、ボール４６を移動させるための動作を選手キャラクタ４８（５０）が行った場合に、選手キャラクタ４８（５０）によって行われた動作の種類と、上記の待機時間データと、に基づいて待機時間を設定する。すなわち、待機時間設定部７０は上記の待機時間データを参照し、選手キャラクタ４８（５０）によって行われた動作の種類に対応づけられた待機時間を取得する。そして、待機部６８は、ボール４６の移動が開始されてから（言い換えれば、ボール４６を移動させるための動作を選手キャラクタ４８（５０）が行ってから）、取得された待機時間が経過するまで、移動方向決定部６６によって決定された移動方向への仮想カメラ５２の移動を待機させる。
【００５３】
加速部７２について説明する。移動物体オブジェクトの移動が開始されてから待機時間が経過した場合、加速部７２は、移動方向決定部６６によって決定された移動方向に仮想カメラ５２を移動開始させる。加速部７２は、仮想カメラ５２の速度が第１上限速度を超えないようにしつつ、移動方向決定部６６によって決定された移動方向に仮想カメラ５２を加速させる。
【００５４】
加速部７２は加速時上限速度設定部７４を含んでいる。加速時上限速度設定部７４は移動物体オブジェクトの速度に基づいて第１上限速度を設定する。例えば、加速時上限速度設定部７４は、１よりも大きく、かつ、２以下のである係数を移動物体オブジェクトの速度に乗じることによって得られる速度に基づいて、第１上限速度を設定する。
【００５５】
以下、加速部７２及び加速時上限速度設定部７４の具体的な動作例について詳しく説明する。図７はボール４６の移動が開始されてから待機時間が経過した場合のボール４６と仮想カメラ５２との位置関係の一例を示している。本実施形態では、ボール４６の移動が開始されてから待機時間が経過した場合、加速部７２は、移動方向決定部６６によって決定された移動方向（方向８４）に仮想カメラ５２を移動開始させる。
【００５６】
例えば、加速部７２は仮想カメラ５２の速度（ＶＣ）を下記の式（１）に従って設定する。なお、下記の式（１）において、「ＶＣｏ」は仮想カメラ５２の初速度を示している。また、「Ａ１」は一定の加速度を示しており、「Ｔ」は仮想カメラ５２の移動が開始されてからの経過時間を示している。
ＶＣ＝ＶＣｏ＋Ａ１＊Ｔ  ・・・  （１）
【００５７】
仮想カメラ５２の初速度（ＶＣｏ）及び加速度（Ａ１）としては、仮想カメラ５２がボール４６に追いつき、かつ、追い越すことができるような初速度及び加速度が設定される。なお、「仮想カメラ５２がボール４６に追いつく」とは、例えば、移動方向決定部６６によって決定された移動方向に仮想カメラ５２が移動する場合の仮想カメラ５２の移動経路８０上にボール４６の現在の位置を射影してなる射影位置に仮想カメラ５２の位置が一致することを意味する。詳細については後述する（図８参照）。また、「仮想カメラ５２がボール４６を追い越す」とは、例えば、仮想カメラ５２の位置が上記の射影位置よりも仮想カメラ５２の進行方向側にあることを意味する。
【００５８】
また、加速時上限速度設定部７４は、仮想カメラ５２が加速される場合の上限速度である第１上限速度（Ｖ１ｍａｘ）を下記の式（２）に従って設定する。なお、下記の式（２）において、「Ｋ」は１よりも大きく、かつ２以下である係数を示している。例えば、「Ｋ」は「２」に設定される。また、「ＶＢ」はボール４６の現在速度を示している。より詳しくは、「ＶＢ」は、ボール４６の現在速度のＸｗ軸方向成分（すなわち、仮想カメラ５２の移動方向）を示している。
Ｖ１ｍａｘ＝Ｋ＊ＶＢ  ・・・  （２）
【００５９】
上記の式（１）によって算出された速度（ＶＣ）が、上記の式（２）によって算出された第１上限速度（Ｖ１ｍａｘ）を超える場合、加速部７２は仮想カメラ５２の速度を第１上限速度（Ｖ１ｍａｘ）に設定する。
【００６０】
減速部７６について説明する。加速部７２によって仮想カメラ５２が制御されている場合において、仮想カメラ５２と移動物体オブジェクトとの位置関係が所定の位置関係になった場合に、加速部７２による仮想カメラ５２の制御が中止される。この場合、減速部７６は、仮想カメラ５２を、仮想カメラ５２の速度が第２上限速度を下回るようにしつつ減速させる。
【００６１】
減速部７６は減速時上限速度設定部７８を含んでいる。減速時上限速度設定部７８は、仮想カメラ５２の速度が最も速かった時の仮想カメラ５２の速度と、移動物体オブジェクトの現在の速度と、に基づいて、第２上限速度を設定する。具体的には、減速時上限速度設定部７８は、仮想カメラ５２の速度が最も速かった時の仮想カメラ５２の速度と、移動物体オブジェクトの現在の速度と、の間の速度を第２上限速度として設定する。例えば、減速時上限速度設定部７８は、仮想カメラ５２の速度が最も速かった時の仮想カメラ５２の速度と、移動物体オブジェクトの現在の速度と、の中間値に基づいて、第２上限速度を設定する。より具体的には、減速時上限速度設定部７８は、仮想カメラ５２の速度が最も速かった時の仮想カメラ５２の速度と、移動物体オブジェクトの現在の速度と、の中間値を第２上限速度として設定する。
【００６２】
以下、減速部７６及び減速時上限速度設定部７８の具体的な動作例について詳しく説明する。
【００６３】
加速部７２によって仮想カメラ５２が制御されている場合、ゲーム装置１０は仮想カメラ５２とボール４６との位置関係が所定の位置関係になったか否かを判定する。「所定の位置関係」とは、例えば、仮想カメラ５２がボール４６に追いついたとみなすことができるような仮想カメラ５２とボール４６との位置関係である。
【００６４】
図８は「所定の位置関係」の一例を説明するための図である。図８において、符号４６Ａは、移動方向決定部６６によって決定された移動方向に仮想カメラ５２が移動する場合の仮想カメラ５２の移動経路８０上にボール４６の現在位置を射影してなる位置を示している。ゲーム装置１０は、この射影位置４６Ａと仮想カメラ５２の現在位置とが一致したか否かを判定する。射影位置４６Ａと仮想カメラ５２の現在位置とが一致した場合、ゲーム装置１０は仮想カメラ５２とボール４６との位置関係が所定の位置関係になったと判定する。
【００６５】
図９は「所定の位置関係」の他の一例を説明するための図である。ゲーム装置１０は、上記の射影位置４６Ａと仮想カメラ５２の現在位置との間の距離（Ｌ）が基準値以下になったか否かを判定するようにしてもよい。上記の距離（Ｌ）が基準値以下になった場合、ゲーム装置１０は仮想カメラ５２がボール４６に追いついたとみなすようにしてもよい。すなわち、上記の距離（Ｌ）が基準値以下になった場合、ゲーム装置１０は仮想カメラ５２とボール４６との位置関係が所定の位置関係になったと判定するようにしてもよい。なお、上記の基準値を零に設定すると、ゲーム装置１０は仮想カメラ５２とボール４６との位置関係が図８に示す位置関係になったか否かを判定することになる。
【００６６】
仮想カメラ５２とボール４６との位置関係が所定の位置関係になった場合、減速部７６は仮想カメラ５２の減速を開始させる。例えば、減速部７６は仮想カメラ５２の速度（ＶＣ）を下記の式（３）に従って設定する。なお、下記の式（３）において、「ＶＣｍａｘ」は、仮想カメラ５２の減速が開始される直前の仮想カメラ５２の速度（すなわち、仮想カメラ５２の速度が最も速くなった時の仮想カメラ５２の速度、さらに言い換えれば、仮想カメラ５２とボール４６との位置関係が所定の位置関係になった場合の仮想カメラ５２の速度）を示している。また、「Ａ２」は一定の減速度を示しており、「Ｔ」は仮想カメラ５２の減速が開始されてからの経過時間を示している。
ＶＣ＝ＶＣｍａｘ−Ａ２＊Ｔ  ・・・  （３）
【００６７】
また、減速時上限速度設定部７８は、仮想カメラ５２が減速される場合の上限速度である第２上限速度（Ｖ２ｍａｘ）を下記の式（４）に従って設定する。なお、下記の式（４）において、「ＶＢ」はボール４６の現在速度を示している。
Ｖ２ｍａｘ＝（ＶＣｍａｘ＋ＶＢ）／２  ・・・  （４）
【００６８】
上記の式（３）によって算出された速度（ＶＣ）が、上記の式（４）によって算出された第２上限速度（Ｖ２ｍａｘ）を超える場合、減速部７６は仮想カメラ５２の速度を第２上限速度（Ｖ２ｍａｘ）に設定する。
【００６９】
仮想カメラ５２とボール４６との位置関係が所定の位置関係になった時点（例えば、仮想カメラ５２がボール４６に追いついた時点）で仮想カメラ５２の速度はボール４６の速度よりも速いため、例えば図１０に示すように、仮想カメラ５２はボール４６を追い越すことになる。そして、仮想カメラ５２の速度がボール４６の速度以下に減速されるまでの間、仮想カメラ５２とボール４６との間の距離は徐々に大きくなる。しかし、仮想カメラ５２の速度がボール４６の速度未満まで減速されると、仮想カメラ５２とボール４６との間の距離は徐々に小さくなる。そして、仮想カメラ５２とボール４６との間の位置関係が所定の位置関係になった場合、仮想カメラ５２の減速は終了される。ここで、「所定の位置関係」とは、例えば、上記の射影位置４６Ａと仮想カメラ５２の現在位置との間の距離（Ｌ）が基準値以下であるような位置関係である。仮想カメラ５２の減速が終了された場合、仮想カメラ５２の制御方法は通常の制御方法となる。
【００７０】
画像生成部７９について説明する。画像生成部７９は、仮想空間４０内を移動する移動物体オブジェクトを仮想カメラ５２から見た様子を表す画像を生成する。すなわち、本実施形態の場合、画像生成部７９は、仮想空間４０内を移動するボール４６を仮想カメラ５２から見た様子を表す画像を生成する。
【００７１】
次に、ゲーム装置１０で実行される処理について説明する。ここでは、選手キャラクタ４８（５０）によってパスが行われた場合に実行される仮想カメラ５２の制御処理について説明する。図１１は、選手キャラクタ４８（５０）によってパスが行われた場合に実行される仮想カメラ５２の制御処理の一例を示すフロー図である。制御部１４が光ディスク３６から読み出されたプログラムに従って図１１に示す処理を実行することによって、制御部１４が仮想カメラ制御部６４として機能するようになる。なお、図１１に示す処理と並行して、ボール４６や各選手キャラクタ４８，５０の状態を更新したり、表示部３２に表示される画面を更新したりするための処理が所定時間（例えば１／６０秒）ごとに実行されることになる。
【００７２】
図１１に示すように、選手キャラクタ４８（５０）によってパスが行われた場合、まず、制御部１４（移動方向決定部６６）は仮想カメラ５２の移動方向を決定する（Ｓ１０１）。例えば図５において説明したように、制御部１４は、ボール４６の移動方向８２（すなわち、パス方向）を示すベクトルを仮想カメラ５２の移動経路８０上に射影することによって得られるベクトルが示す方向８４を、仮想カメラ５２の移動方向として決定する。
【００７３】
なお、ここでは、仮想カメラ５２が予め定められた移動経路８０上を移動することとしたが、仮想カメラ５２の移動経路は予め定められていなくてもよい。例えば、仮想カメラ５２はボール４６の移動方向と平行に移動するようにしてもよい。その場合、制御部１４は、ボール４６の移動方向を示すベクトルと平行なベクトルが示す方向を仮想カメラ５２の移動方向として決定する。
【００７４】
ステップＳ１０１の処理が実行された後、制御部１４（待機時間設定部７０）は、仮想カメラ５２の移動を開始するまでの待機時間を決定する（Ｓ１０２）。例えば、制御部１４は待機時間データ（図６）を参照し、選手キャラクタ４８（５０）によって行われたパスの種類に対応づけられた待機時間を取得する。なお、ステップＳ１０１及びステップＳ１０２の処理はどちらが先に実行されてもよい。
【００７５】
ステップＳ１０２の処理が実行された後、制御部１４（待機部６８）は、ボール４６の移動が開始されてから（言い換えれば、選手キャラクタ４８（５０）によってパスが行われてから）待機時間が経過したか否かを判定する（Ｓ１０３）。ここで用いられる「待機時間」はステップＳ１０２で決定された待機時間である。
【００７６】
待機時間が経過していないと判定された場合、制御部１４（待機部６８）は、後述のステップＳ１０４の処理を実行せずに、待機時間が経過したか否かの監視を続行する（Ｓ１０３）。一方、待機時間が経過したと判定された場合、制御部１４（加速部７２）は仮想カメラ５２の移動を開始させる（Ｓ１０４）。すなわち、制御部１４は、ステップＳ１０１で決定された移動方向に仮想カメラ５２を加速させる。
【００７７】
この場合、仮想カメラ５２の加速は、後述のステップＳ１０５において仮想カメラ５２がボール４６に追いついたと判定されるまでの間にわたって継続される。なお、この間、制御部１４は上記の式（１）に従って仮想カメラ５２の速度を設定し、該速度に基づいて仮想カメラ５２の位置を更新していく。また、この間、制御部１４（加速時上限速度設定部７４）は上記の式（２）に従って仮想カメラ５２の上限速度（第１上限速度）を設定する。そして、制御部１４は上記の式（１）に従って算出される速度がこの上限速度を超えるか否かを判定する。上記の式（１）に従って算出される速度がこの上限速度を超える場合、制御部１４は仮想カメラ５２の速度をこの上限速度に設定する。
【００７８】
仮想カメラ５２の移動が開始された後（すなわち、仮想カメラ５２の加速が開始された後）、制御部１４は仮想カメラ５２がボール４６に追いついたか否かを判定する（Ｓ１０５）。
【００７９】
例えば図８に示したように、制御部１４は、ボール４６の現在位置を仮想カメラ５２の移動経路８０上に射影してなる射影位置４６Ａと、仮想カメラ５２の現在位置と、が一致しているか否かを判定する。そして、射影位置４６Ａと仮想カメラ５２の現在位置とが一致している場合に、制御部１４は仮想カメラ５２がボール４６に追いついたと判定する。
【００８０】
または、例えば図９に示したように、制御部１４は、ボール４６の現在位置を仮想カメラ５２の移動経路８０上に射影してなる射影位置４６Ａと、仮想カメラ５２の現在位置と、の間の距離（Ｌ）が基準値以下であるか否かを判定するようにしてもよい。そして、該距離（Ｌ）が基準値以下である場合に、制御部１４は仮想カメラ５２がボール４６に追いついたと判定するようにしてもよい。
【００８１】
ステップＳ１０５において仮想カメラ５２がボール４６に追いついたと判定されなかった場合、制御部１４は、仮想カメラ５２がボール４６に追いついたか否かの監視を続行する（Ｓ１０５）。なお、この場合、仮想カメラ５２の加速も続行される。
【００８２】
一方、ステップＳ１０５において仮想カメラ５２がボール４６に追いついたと判定された場合、制御部１４は仮想カメラ５２の加速を中止させる。そして、制御部１４（減速部７６）は仮想カメラ５２を減速させる（Ｓ１０６）。この場合、制御部１４は上記の式（３）に従って仮想カメラ５２の速度を設定し、該速度に基づいて仮想カメラ５２の位置を更新していく。また、この間、制御部１４（減速時上限速度設定部７８）は上記の式（４）に従って仮想カメラ５２の上限速度（第２上限速度）を設定し、制御部１４は上記の式（３）に従って算出される速度がこの上限速度を超えるか否かを判定する。上記の式（３）に従って算出される速度がこの上限速度を超える場合、制御部１４は仮想カメラ５２の速度をこの上限速度に設定する。
【００８３】
仮想カメラ５２の減速は、仮想カメラ５２とボール４６との位置関係が所定の位置関係になるまで継続される。例えば、仮想カメラ５２とボール４６との間の距離が基準値以下になった場合に、仮想カメラ５２の減速は終了される。より詳しくは、上記の射影位置４６Ａと仮想カメラ５２の現在位置との間の距離（Ｌ）が基準値以下になった場合に仮想カメラ５２の減速が終了される。この場合、仮想カメラ５２の制御方法が通常の制御方法に戻る。以上で図１１に示す処理の説明を終了する。
【００８４】
以上説明したゲーム装置１０では、選手キャラクタ４８（５０）によってパスやシュートが行われた場合、ボール４６の移動の開始に遅れて、仮想カメラ５２の移動を開始させるようになっている。すなわち、ボール４６の移動が開始された場合、待機時間（例えば数フレーム）が経過した後に仮想カメラ５２の加速が開始され、仮想カメラ５２がボール４６に追いつくようになっている。
【００８５】
特にゲーム装置１０では、単に、仮想カメラ５２の移動をボール４６の移動の開始に遅れて開始させるだけでなく、仮想カメラ５２の移動制御をさらに向上させるための構成が実現されている。
【００８６】
すなわち、ゲーム装置１０では、選手キャラクタ４８（５０）が行った動作の種類に応じて、上記の待機時間が設定されるようになっている。具体的には、ボール４６が大きく移動する可能性がある動作を選手キャラクタ４８（５０）が行う場合には待機時間が長くなるようになっている（図６参照）。このため、例えば、選手キャラクタ４８（５０）がロングパスを行った場合には、待機時間が長く設定されることによって、仮想カメラ５２が加速し始める際のボール４６と仮想カメラ５２との間の距離が大きくなることから、ボール４６が大きく移動することがゲーム画面において強調されるようになる。その結果として、ボール４６が大きく移動することがユーザから見て分かりやすくなっている。
【００８７】
また、ゲーム装置１０では、仮想カメラ５２が加速される場合の上限速度がボール４６の速度に基づいて設定されるようになっており、その結果として、仮想カメラ５２がボール４６に追いつくまでの間（言い換えれば、仮想カメラ５２が加速される間）の仮想カメラ５２の動きが不自然にならないように担保されるようになっている。例えば、ボール４６の速度に比べて仮想カメラ５２が速くなりすぎてしまうと、仮想カメラ５２の動きが不自然であるとユーザが感じてしまう場合があるが、ゲーム装置１０によれば、仮想カメラ５２の上限速度がボール４６の速度に基づいて設定されることによって、上記のような不都合が生じないように図ることが可能になる。
【００８８】
さらに、ゲーム装置１０では、仮想カメラ５２がボール４６に追いついた場合に仮想カメラ５２が減速される。特にゲーム装置１０では、仮想カメラ５２が減速される場合の上限速度が仮想カメラ５２が最も速かった際の速度とボール４６の現在の速度とに基づいて設定されるようになっており、その結果として、仮想カメラ５２が減速される間の仮想カメラ５２の動きが不自然にならないように担保されるようになっている。
【００８９】
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【００９０】
例えば、以上に説明した実施形態では、仮想カメラ５２がボール４６に追いついた場合に仮想カメラ５２の減速が開始されるようになっていた（図８，９参照）。しかしながら、仮想カメラ５２がボール４６を追い越した場合に仮想カメラ５２の減速が開始されるようにしてもよい。すなわち、図１１のステップＳ１０５において、制御部１４は仮想カメラ５２がボール４６を追い越したか否かを判定するようにしてもよい。
【００９１】
制御部１４は、仮想カメラ５２とボール４６との位置関係が、仮想カメラ５２がボール４６を追い越したとみなすことができるような所定の位置関係となったか否かを判定することによって、仮想カメラ５２がボール４６を追い越したか否かを判定する。図１２はこの場合の「所定の位置関係」の一例を説明するための図である。例えば、ゲーム装置１０は、仮想カメラ５２の現在位置が上記の射影位置４６Ａよりも仮想カメラ５２の進行方向側にあり、かつ、上記の射影位置４６Ａと仮想カメラ５２の現在位置との間の距離（Ｌ）が基準値以上であるか否かを判定する。そして、仮想カメラ５２の現在位置が上記の射影位置４６Ａよりも仮想カメラ５２の進行方向側にあり、かつ、上記の射影位置４６Ａと仮想カメラ５２の現在位置との間の距離（Ｌ）が基準値以上である場合、ゲーム装置１０は仮想カメラ５２がボール４６を追い越したと判定する。
【００９２】
なお、上記の基準値は零に設定するようにしてもよい。この場合、ゲーム装置１０は、仮想カメラ５２の現在位置が上記の射影位置４６Ａよりも仮想カメラ５２の進行方向側にあるか否かを判定することになる。
【００９３】
また例えば、本発明はサッカーゲーム以外のスポーツゲームにも適用することができる。本発明は、移動物体（例えばボール又はパック等）を用いて行われるスポーツ競技を模したゲーム（例えばバスケットボールゲーム、アイスホッケーゲーム、又は野球ゲーム等）に適用することができる。また、本発明は上記のスポーツゲーム以外のゲームにも適用することができる。本発明は、仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表すゲーム画面が表示されるゲームに適用することができる。また、本発明はゲーム装置以外の画像処理装置にも適用することができる。本発明は、仮想空間内を移動するオブジェクトを仮想カメラから見た様子を表す画像を生成する画像処理装置に適用することができる。
【符号の説明】
【００９４】
１０  ゲーム装置、１１  家庭用ゲーム機、１２  バス、１４  制御部、１６  主記憶、１８  画像処理部、２０  入出力処理部、２２  音声処理部、２４  光ディスクドライブ、２６  ハードディスク、２８  通信インタフェース、３０  コントローラ、３２  表示部、３４  音声出力部、３６  光ディスク、４０  ゲーム空間、４２  フィールド、４３Ａ  ゴールライン、４３Ｂ  タッチライン、４４  ゴール、４５  ピッチ、４６  ボール、４８，４８Ａ，４８Ｂ，５０，５０Ａ，５０Ｂ  選手キャラクタ、５２  仮想カメラ、５４  カーソル、６０  データ記憶部、６２  移動物体オブジェクト制御部、６４  仮想カメラ制御部、６６  移動方向決定部、６８  待機部、７０  待機時間設定部、７２  加速部、７４  加速時上限速度設定部、７６  減速部、７８  減速時上限速度設定部、７９  画像生成部、８０  仮想カメラの移動経路、８２  ボールの移動方向、８４  仮想カメラの移動方向。
【図１】
0005325957.tif 000002
【図２】
0005325957.tif 000003
【図３】
0005325957.tif 000004
【図４】
0005325957.tif 000005
【図５】
0005325957.tif 000006
【図６】
0005325957.tif 000007
【図７】
0005325957.tif 000008
【図８】
0005325957.tif 000009
【図９】
0005325957.tif 000010
【図１０】
0005325957.tif 000011
【図１１】
0005325957.tif 000012
【図１２】
0005325957.tif 000013