(57)【要約】【課題】移動体の移動速度が頻繁に変化するような場合であっても、仮想カメラの位置を移動体の位置に基づいて好適に制御できるようになる画像処理装置を提供すること。【解決手段】画像処理装置は、仮想３次元空間内を移動する移動体を仮想カメラから見た様子を表す画像を生成する。画像処理装置では、移動体の位置に基づいて基礎位置が更新される（Ｓ１０２）。なお、この場合、更新前の基礎位置から移動体の位置までの距離と、基礎位置の前回更新時における、更新前の基礎位置から移動体の位置までの距離と、に基づいて、基礎位置が更新される。また、基礎位置に基づいて仮想カメラの状態が更新される（Ｓ１０３）。【選択図】図４
2010046219.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間内を移動する移動体を仮想カメラから見た様子を表す画像を生成する画像処理装置において、
前記移動体の位置に基づいて基礎位置を更新する基礎位置更新手段と、
前記基礎位置に基づいて前記仮想カメラの状態を更新する仮想カメラ制御手段と、
を含み、
前記基礎位置更新手段は、更新前の基礎位置から前記移動体の位置までの距離と、前記基礎位置の前回更新時における、更新前の基礎位置から前記移動体の位置までの距離と、に基づいて、前記基礎位置を更新する、
ことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記基礎位置更新手段は、
前記基礎位置を更新するための第１のベクトルを取得する手段であって、更新前の基礎位置から前記移動体の位置への方向及び距離に対応する第２のベクトルと、前記基礎位置の前回更新時において取得された前記第１のベクトルと、を所定の割合で合成することによって、前記第１のベクトルを取得する手段と、
前記基礎位置を、更新前の基礎位置と、前記第１のベクトルと、に基づいて更新する手段と、を含み、
前記所定の割合は、前記第２のベクトルに対応する割合が、前記基礎位置の前回更新時において取得された前記第１のベクトルの割合よりも小さく設定される、
ことを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記画像処理装置は、前記移動体を用いて行われるスポーツのゲームを実行するゲーム装置であり、
前記基礎位置更新手段は、前記移動体を保持する選手キャラクタのパラメータに基づいて、前記所定の割合を制御する、
ことを特徴とする画像処理装置。
【請求項４】
請求項２に記載の画像処理装置において、
前記画像処理装置は、前記移動体を用いて行われるスポーツのゲームを実行するゲーム装置であり、
前記基礎位置更新手段は、前記移動体を保持する選手キャラクタ又は前記移動体の位置に基づいて、前記所定の割合を制御する、
ことを特徴とする画像処理装置。
【請求項５】
仮想３次元空間内を移動する移動体を仮想カメラから見た様子を表す画像を生成する画像処理方法において、
前記移動体の位置に基づいて基礎位置を更新する基礎位置更新ステップと、
前記基礎位置に基づいて前記仮想カメラの状態を更新する仮想カメラ制御ステップと、
を含み、
前記基礎位置更新ステップは、更新前の基礎位置から前記移動体の位置までの距離と、前記基礎位置の前回更新時における、更新前の基礎位置から前記移動体の位置までの距離と、に基づいて、前記基礎位置を更新する、
ことを特徴とする画像処理方法。
【請求項６】
仮想３次元空間内を移動する移動体を仮想カメラから見た様子を表す画像を生成する画像処理装置としてコンピュータを機能させるためのプログラムであって、
前記移動体の位置に基づいて基礎位置を更新する基礎位置更新手段、及び、
前記基礎位置に基づいて前記仮想カメラの状態を更新する仮想カメラ制御手段、
として前記コンピュータを機能させ、
前記基礎位置更新手段は、更新前の基礎位置から前記移動体の位置までの距離と、前記基礎位置の前回更新時における、更新前の基礎位置から前記移動体の位置までの距離と、に基づいて、前記基礎位置を更新する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
仮想３次元空間内を移動する移動体を仮想カメラから見た様子を表す画像を画面に表示する画像処理装置が知られている。例えば、このような画像処理装置としては、ボールやパックなどの移動体を用いて行われるスポーツのゲームを実行するスポーツゲーム装置が知られている。このようなスポーツゲーム装置では、仮想３次元空間内を移動するボールやパックなどを仮想カメラから見た様子を表す画像がゲーム画面に表示される。
【０００３】
上記のような画像処理装置では、移動体が画面に表示されるように、仮想カメラを移動体に追従させる場合がある。例えば、上記のようなスポーツゲーム装置では、選手キャラクタがドリブル動作を行う場合、選手キャラクタに仮想カメラを追従させると、ボールがゲーム画面に表示されなくなってしまう場合があるため、仮想カメラをボールに追従させることが行われる。
【０００４】
【特許文献１】特開２００７−１６７１４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
仮想カメラを移動体に追従させる場合、下記のような不都合が生じる場合があった。例えばサッカーゲーム装置では、選手キャラクタがドリブル動作を行っている場合、ボールが頻繁に蹴り出されるため、ボールの移動速度が頻繁に変化する。このため、仮想カメラがボールに追従する場合には仮想カメラの移動速度も頻繁に変化してしまい、ユーザがゲーム画面を見難くなってしまう場合があった。特に、仮想カメラがボールに近づいた状態では、ボールや仮想カメラの移動量が大きくなってしまうため、ユーザがゲーム画面を見難くなってしまう場合があった。
【０００６】
本発明は上記課題に鑑みてなされたものであって、その目的は、移動体の移動速度が頻繁に変化するような場合であっても、仮想カメラの位置を移動体の位置に基づいて好適に制御できるようになる画像処理装置、画像処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る画像処理装置は、仮想３次元空間内を移動する移動体を仮想カメラから見た様子を表す画像を生成する画像処理装置において、前記移動体の位置に基づいて基礎位置を更新する基礎位置更新手段と、前記基礎位置に基づいて前記仮想カメラの状態を更新する仮想カメラ制御手段と、を含み、前記基礎位置更新手段は、更新前の基礎位置から前記移動体の位置までの距離と、前記基礎位置の前回更新時における、更新前の基礎位置から前記移動体の位置までの距離と、に基づいて、前記基礎位置を更新する。
【０００８】
また、本発明に係る画像処理方法は、仮想３次元空間内を移動する移動体を仮想カメラから見た様子を表す画像を生成する画像処理方法において、前記移動体の位置に基づいて基礎位置を更新する基礎位置更新ステップと、前記基礎位置に基づいて前記仮想カメラの状態を更新する仮想カメラ制御ステップと、を含み、前記基礎位置更新ステップは、更新前の基礎位置から前記移動体の位置までの距離と、前記基礎位置の前回更新時における、更新前の基礎位置から前記移動体の位置までの距離と、に基づいて、前記基礎位置を更新する。
【０００９】
また、本発明に係るプログラムは、仮想３次元空間内を移動する移動体を仮想カメラから見た様子を表す画像を生成する画像処理装置としてコンピュータを機能させるためのプログラムであって、前記移動体の位置に基づいて基礎位置を更新する基礎位置更新手段、及び、前記基礎位置に基づいて前記仮想カメラの状態を更新する仮想カメラ制御手段、として前記コンピュータを機能させ、前記基礎位置更新手段は、更新前の基礎位置から前記移動体の位置までの距離と、前記基礎位置の前回更新時における、更新前の基礎位置から前記移動体の位置までの距離と、に基づいて、前記基礎位置を更新することを特徴とするプログラムである。
【００１０】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１１】
本発明によれば、移動体の移動速度が変化するような場合であっても、仮想カメラの位置を移動体の位置に基づいて好適に制御できるようになる。
【００１２】
また本発明の一態様では、前記基礎位置更新手段は、前記基礎位置を更新するための第１のベクトルを取得する手段であって、更新前の基礎位置から前記移動体の位置への方向及び距離に対応する第２のベクトルと、前記基礎位置の前回更新時において取得された前記第１のベクトルと、を所定の割合で合成することによって、前記第１のベクトルを取得する手段と、前記基礎位置を、更新前の基礎位置と、前記第１のベクトルと、に基づいて更新する手段と、を含むようにしてもよい。前記所定の割合は、前記第２のベクトルに対応する割合が、前記基礎位置の前回更新時において取得された前記第１のベクトルの割合よりも小さく設定されるようにしてもよい。
【００１３】
また本発明の一態様では、前記画像処理装置は、前記移動体を用いて行われるスポーツのゲームを実行するゲーム装置であってもよい。前記基礎位置更新手段は、前記移動体を保持する選手キャラクタのパラメータに基づいて、前記所定の割合を制御するようにしてもよい。
【００１４】
また本発明の一態様では、前記画像処理装置は、前記移動体を用いて行われるスポーツのゲームを実行するゲーム装置であってもよい。前記基礎位置更新手段は、前記移動体を保持する選手キャラクタ又は前記移動体の位置に基づいて、前記所定の割合を制御するようにしてもよい。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。ここでは、画像処理装置の一態様であるゲーム装置に本発明を適用した例について説明する。本実施形態に係るゲーム装置は、例えば家庭用ゲーム機（据置型ゲーム機）、携帯ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）、パーソナルコンピュータ、又はサーバコンピュータなどを用いて実現される。ここでは、本実施形態に係るゲーム装置を家庭用ゲーム機を用いて実現する場合について説明する。
【００１６】
［１．ゲーム装置の構成］
図１は、本実施形態に係るゲーム装置１０（画像処理装置）の全体構成を示す図である。図１に示すように、ゲーム装置１０は、家庭用ゲーム機１１、モニタ３２、スピーカ３４、及び光ディスク３６（情報記憶媒体）を含む。モニタ３２及びスピーカ３４は家庭用ゲーム機１１に接続される。モニタ３２としては例えば家庭用テレビ受像機が用いられ、スピーカ３４としては例えば家庭用テレビ受像機に内蔵されたスピーカが用いられる。
【００１７】
家庭用ゲーム機１１はコンピュータゲームシステムであり、バス１２、マイクロプロセッサ１４、主記憶１６、画像処理部１８、入出力処理部２０、音声処理部２２、光ディスク読み取り部２４、ハードディスク２６、通信インタフェース２８、及びコントローラ３０を含む。
【００１８】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステムや、光ディスク３６から読み出されるプログラムに基づいて、家庭用ゲーム機１１の各部を制御する。主記憶１６は例えばＲＡＭを含み、光ディスク３６から読み出されたプログラム及びデータが必要に応じて主記憶１６に書き込まれる。主記憶１６はマイクロプロセッサ１４の作業用メモリとしても用いられる。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするために用いられる。
【００１９】
画像処理部１８はＶＲＡＭを含み、マイクロプロセッサ１４から供給される画像データに基づいてＶＲＡＭ上にゲーム画面を描画する。ＶＲＡＭ上に描画されたゲーム画面はビデオ信号に変換され、所定のタイミングでモニタ３２に出力される。
【００２０】
入出力処理部２０はマイクロプロセッサ１４が音声処理部２２、光ディスク読み取り部２４、ハードディスク２６、通信インタフェース２８、及びコントローラ３０にアクセスするためのインタフェースである。音声処理部２２はサウンドバッファを含み、光ディスク３６からサウンドバッファに読み出された各種音声データ（例えばゲーム音楽、ゲーム効果音、メッセージなど）をスピーカ３４から出力する。通信インタフェース２８は、家庭用ゲーム機１１を通信ネットワークに有線又は無線接続するためのインタフェースである。
【００２１】
光ディスク読み取り部２４は光ディスク３６に記録されたプログラムやデータを読み取る。なお、ここではプログラムやデータを家庭用ゲーム機１１に供給するために光ディスク３６を用いるが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。また、例えばインターネットなどの通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。ハードディスク２６は一般的なハードディスク装置（補助記憶装置）である。光ディスク３６に記憶されることとして説明するプログラム及びデータはハードディスク２６に記憶されていてもよい。
【００２２】
コントローラ３０はユーザが各種ゲーム操作を入力するための汎用操作入力手段である。コントローラ３０は、例えば、方向指示操作に用いられる方向ボタン（十字ボタン）又は操作レバー（操作スティック）と、方向指示操作以外の操作に用いられるボタンと、を含む。複数のコントローラ３０を家庭用ゲーム機１１に接続することが可能である。入出力処理部２０は一定周期毎（例えば１／６０秒ごと）にコントローラ３０の操作状態をスキャンし、そのスキャン結果を表す操作信号をバス１２を介してマイクロプロセッサ１４に渡す。マイクロプロセッサ１４はその操作信号に基づいてユーザのゲーム操作を判定する。なお、コントローラ３０は家庭用ゲーム機１１に有線接続されてもよいし、無線接続されてもよい。
【００２３】
ゲーム装置１０では、例えばボール又はパックなどの移動物体を用いて行われるスポーツのゲームが実行される。ここでは、サッカーゲームがゲーム装置１０で実行される場合を想定する。
【００２４】
［２．仮想３次元空間］
ゲーム画面を生成するために仮想３次元空間が主記憶１６に構築される。図２は仮想３次元空間の一例を示す。図２に示すように、仮想３次元空間４０には、サッカーフィールドを表すオブジェクトであるフィールド４２が配置される。フィールド４２には例えばゴールライン４４、タッチライン４６、及びハーフウェイライン４８が表される。また、フィールド４２上には、サッカーのゴールを表すオブジェクトであるゴール５０と、サッカー選手を表すオブジェクトである選手キャラクタ５２と、サッカーボールを表すオブジェクトであるボール５４と、が配置される。いずれか一方のチームに対応づけられたゴール５０内にボール５４が移動すると、他方のチームの得点イベントが発生する。図２では省略されているが、フィールド４２上には２２体の選手キャラクタ５２が配置される。
【００２５】
選手キャラクタ５２とボール５４とが近づくと、所定条件の下、その選手キャラクタ５２とボール５４とが関連づけられる。この場合、選手キャラクタ５２の移動動作はドリブル動作になる。選手キャラクタ５２にボール５４が関連づけられた状態のことを「選手キャラクタ５２がボール５４を保持している」というように記載する。
【００２６】
仮想３次元空間４０には仮想カメラ５６が設定される。仮想３次元空間４０を仮想カメラ５６から見た様子を表すゲーム画面がモニタ３２に表示される。図３はゲーム画面の一例を示す。本実施形態では、ボール５４がゲーム画面に表示されるように、仮想カメラ５６の位置や視線方向５８がボール５４の位置に基づいて設定される。以下、仮想カメラ５６の位置や視線方向５８をボール５４の位置に基づいて好適に設定するための技術について説明する。
【００２７】
［３．ゲーム装置で実行される処理］
図４はゲーム装置１０で所定時間（例えば１／６０秒）ごとに実行される処理の一例を示すフロー図である。マイクロプロセッサ１４は、光ディスク３６から読み出されたプログラムに従って、図４に示す処理を実行する。
【００２８】
図４に示すように、まず、マイクロプロセッサ１４は選手キャラクタ５２やボール５４の状態（位置など）を更新する（Ｓ１０１）。例えば、ユーザが操作している選手キャラクタ５２がドリブル動作を行っている場合、選手キャラクタ５２やボール５４の位置がユーザの方向指示操作に基づいて更新される。
【００２９】
その後、マイクロプロセッサ１４（基礎位置更新手段）は基礎位置をボール５４の位置に基づいて取得する（Ｓ１０２）。後述するように、基礎位置は、仮想カメラ５６の位置や視線方向５８の制御の基礎とされる位置である。第ｎ番目のフレームにおける基礎位置Ｐｎは下記の式（１）〜（４）によって算出される。なお、「Ｂｎ」は第ｎ番目のフレームにおけるボール５４の位置を示し、「＊」は乗算演算子を示す。また、「ｋ」は０＜ｋ＜０．５を満足する一定の係数である。係数ｋの値は、ｋの値が（１−ｋ）の値よりも小さくなるように設定される。本実施形態の場合、係数ｋの値は０．１である。図５は下記の式（１）〜（４）について説明するための図である。
【００３０】
Ｖｎ＝（Ｂｎ−Ｐｎ−１）＊ｋ＋Ｖｎ−１＊（１−ｋ）  ・・・  （１）
Ｐｎ＝Ｖｎ＊ｋ＋Ｐｎ−１  ・・・  （２）
Ｖ１＝０  ・・・  （３）
Ｐ１＝Ｂ１  ・・・  （４）
【００３１】
ベクトルＶｎ（第１のベクトル）は、直前のフレーム（第ｎ−１番目のフレーム）における基礎位置Ｐｎ−１から、現在のフレーム（第ｎ番目のフレーム）におけるボール５４の位置ＢｎへのベクトルＰＢｎ（第２のベクトル）と、直前のフレームにおいて取得されたベクトルＶｎ−１と、を所定の割合（ｋ：１−ｋ）で合成することによって得られるベクトルである。係数ｋの値が０．１である場合、ベクトルＰＢｎとベクトルＶｎ−１とを１：９の割合で合成することによってベクトルＶｎが得られる。上記の式（２）に示すように、ベクトルＶｎは、現在のフレームにおける基礎位置Ｐｎを取得するための基礎とされる。具体的には、現在のフレームにおける基礎位置Ｐｎは、直前のフレームにおける基礎位置Ｐｎ−１から、ベクトルＶｎが示す方向に、ベクトルＶｎに係数ｋを乗じることによって得られるベクトルが示す距離だけ移動した位置に設定される。
【００３２】
基礎位置が取得された後、マイクロプロセッサ１４（仮想カメラ制御手段）はその基礎位置に基づいて仮想カメラ５６の状態（位置や視線方向５８など）を更新する（Ｓ１０３）。例えば、基礎位置と、仮想カメラ５６の位置及び視線方向５８と、が所定の関係を有するように、仮想カメラ５６の位置や視線方向５８が設定される。図６はＳ１０３の処理の一例について説明するための図である。図６に示す例では、仮想カメラ５６の位置が、位置ＱからＹｗ軸正方向に所定距離ｈだけ移動した位置Ｒに設定されている。位置Ｑは、基礎位置ＰからＺｗ軸負方向に所定距離ｄだけ移動した位置である。また図６に示す例では、仮想カメラ５６の視線方向５８が、視線方向５８をフィールド４２上に投影することによって得られる方向５８ａがＺｗ軸方向と一致し、かつ、視線方向５８とＹｗ軸負方向との間の角度が所定角度θとなるように設定される。なお、基礎位置Ｐと仮想カメラ５６の位置及び視線方向５８との関係は図６に示したものに限られない。
【００３３】
仮想カメラ５６の位置や視線方向５８が決定された後、マイクロプロセッサ１４はゲーム画面６０を更新する（Ｓ１０４）。すなわち、仮想カメラ５６から仮想３次元空間４０を見た様子を表す画像が生成され、その画像がゲーム画面６０に表示される。
【００３４】
［４．まとめ］
以上に説明したゲーム装置１０によれば、仮想カメラ５６の制御の基礎とされる基礎位置（Ｐｎ）が、更新前の基礎位置（Ｐｎ−１）からボール５４の現在位置（Ｂｎ）までの距離と、基礎位置の前回更新時における、更新前の基礎位置（Ｐｎ−２）からボール５４の位置（Ｂｎ−１）までの距離と、に基づいて更新され、その結果として、下記に説明するように、ボール５４の移動速度が変化するような場合であっても、仮想カメラ５６をボール５４の位置に基づいて好適に制御できるようになる。
【００３５】
例えば、ある方向に向かって移動するボール５４の移動速度が遅い速度から速い速度に大きく変化した場合を想定する。この場合、現在のフレームにおけるボール５４の移動量が大きくなるため、直前のフレームにおける基礎位置Ｐｎ−１から、現在のフレームにおけるボール５４の位置ＢｎへのベクトルＰＢｎは大きくなる。また、この場合、直前のフレームにおけるボール５４の移動量は小さいため、二つ前のフレームにおける基礎位置Ｐｎ−２から、直前のフレームにおけるボール５４の位置Ｂｎ−１へのベクトルＰＢｎ−１は小さく、その結果、直前のフレームにおいて得られたベクトルＶｎ−１も小さい。この点、本実施形態では、基礎位置Ｐの決定の基礎とされるベクトルＶｎは上記の式（１）によって得られるため、ベクトルＶｎ−１が小さければ、ベクトルＰＢｎが大きくても、ベクトルＶｎはそれ程大きくならない。その結果、基礎位置Ｐ及び仮想カメラ５６の移動量の増加が抑えられる。仮想カメラ５６の移動速度が大きく変化してしまうと、ユーザがゲーム画面６０を見難くなってしまう場合があるが、ゲーム装置１０によれば、ボール５４の移動速度が遅い速度から速い速度に大きく変化しても、仮想カメラ５６の移動速度はそれ程変化しないため、ユーザがゲーム画面６０を見難くならないように図ることが可能になる。
【００３６】
なお、ボール５４の移動速度が遅い速度から速い速度に大きく変化した後、ボール５４の移動速度が速い速度である状態が継続すると、ベクトルＶｎの大きさは徐々に大きくなっていく。このため、基礎位置Ｐ及び仮想カメラ５６の移動量も徐々に大きくなっていく。仮想カメラ５６の移動速度が大きく変化してしまうと、ユーザがゲーム画面６０を見難くなってしまう場合があるが、ゲーム装置１０によれば、仮想カメラ５６の移動速度は徐々に速くなっていくため、ユーザがゲーム画面６０を見難くならないように図ることが可能になる。
【００３７】
また例えば、ある方向に向かって移動するボール５４の移動速度が速い速度から遅い速度に大きく変化した場合を想定する。この場合、現在のフレームにおけるボール５４の移動量が小さくなるため、直前のフレームにおける基礎位置Ｐｎ−１から、現在のフレームにおけるボール５４の位置ＢｎへのベクトルＰＢｎは小さくなる。また、この場合、直前のフレームにおけるボール５４の移動量は大きいため、二つ前のフレームにおける基礎位置Ｐｎ−２から、直前のフレームにおけるボール５４の位置Ｂｎ−１へのベクトルＰＢｎ−１は大きく、その結果、直前のフレームにおいて得られたベクトルＶｎ−１も大きい。この点、本実施形態では、基礎位置Ｐの決定の基礎とされるベクトルＶｎは上記の式（１）によって得られるため、ベクトルＰＢｎが小さくても、ベクトルＶｎ−１が大きければ、ベクトルＶｎはそれ程小さくならない。その結果、基礎位置Ｐや仮想カメラ５６の移動量の減少が抑えられる。仮想カメラ５６の移動速度が大きく変化してしまうと、ユーザがゲーム画面６０を見難くなってしまう場合があるが、ゲーム装置１０によれば、ボール５４の移動速度が速い速度から遅い速度に大きく変化しても、仮想カメラ５６の移動速度はそれ程変化せず、ユーザがゲーム画面６０を見難くならないように図ることが可能になる。
【００３８】
なお、ボール５４の移動速度が速い速度から遅い速度に大きく変化した後、ボール５４の移動速度が遅い速度である状態が継続すると、ベクトルＶｎは徐々に小さくなっていく。このため、基礎位置Ｐ及び仮想カメラ５６の移動量も徐々に小さくなっていく。仮想カメラ５６の移動速度が大きく変化してしまうと、ユーザがゲーム画面６０を見難くなってしまう場合があるが、ゲーム装置１０によれば、仮想カメラ５６の移動速度は徐々に遅くなっていくため、ユーザがゲーム画面６０を見難くならないように図ることが可能になる。
【００３９】
ところで、仮想カメラ５６をボール５４に完全に追従させた場合、すなわち、仮想カメラ５６とボール５４の位置関係が一定である場合、ボール５４はゲーム画面６０内の一定位置（例えば中心位置）に表示される。この場合、ゲーム画面６０内でボール５４は動かなくなってしまい、ユーザが違和感を感じてしまう場合がある。この点、ゲーム装置１０では、基礎位置Ｐとボール５４との位置関係が一定にならないため、仮想カメラ５６とボール５４との位置関係も一定にならず、上記のような不都合が生じないように図ることが可能になる。
【００４０】
［５．変形例］
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【００４１】
［５−１．第１変形例］
例えば、いずれかの選手キャラクタ５２がドリブル動作を行っている場合、その選手キャラクタ５２のパラメータの値に基づいて、上記の式（１）及び（２）における係数ｋの値を変化させるようにしてもよい。
【００４２】
例えば、ドリブル動作を行う選手キャラクタ５２の疲労度を示す疲労度パラメータの値に基づいて、係数ｋの値を変化させるようにしてもよい。この場合、疲労度パラメータの値と、係数ｋの値と、を対応づけてなる係数データが光ディスク３６に記憶される。係数データはテーブル形式のデータであってもよいし、数式形式のデータであってもよい。例えば、係数データでは、ドリブル動作を行う選手キャラクタ５２の疲労度が高い場合の係数ｋの値（例えば０．２）が、疲労度が低い場合の係数ｋの値（例えば０．１）よりも大きくなるように設定される。このようにした場合、ドリブル動作を行う選手キャラクタ５２の疲労度が高い場合には、疲労度が低い場合に比べて、選手キャラクタ５２がボール５４を蹴り出す場合（すなわち、ボール５４の移動速度が速くなる場合）のベクトルＶｎが大きくなる。この場合、基礎位置Ｐの移動量が大きくなり、仮想カメラ５６の移動量も大きくなる。つまり、ボール５４の移動量と仮想カメラ５６の移動量との差が小さくなり、ゲーム画面６０内に表されるボール５４の移動量が小さくなる。その結果、選手キャラクタ５２のドリブル動作が疲労によって遅くなったとユーザに感じさせることが可能になる。
【００４３】
また例えば、ドリブル動作を行う選手キャラクタ５２のドリブル能力の高さを示すドリブルパラメータの値に基づいて、係数ｋの値を変化させるようにしてもよい。この場合、ドリブルパラメータの値と、係数ｋの値と、を対応づけてなる係数データが光ディスク３６に記憶される。この係数データでは、ドリブル動作を行う選手キャラクタ５２のドリブル能力が高い場合の係数ｋの値（例えば０．１）が、ドリブル能力が低い場合の係数ｋの値（例えば０．２）よりも小さくなるように設定される。このようにした場合、ドリブル動作を行う選手キャラクタ５２のドリブル能力が高い場合には、ドリブル能力が低い場合に比べて、選手キャラクタ５２がボール５４を蹴り出す場合（すなわち、ボール５４の移動速度が速くなる場合）のベクトルＶｎが小さくなる。この場合、基礎位置Ｐの移動量が小さくなり、仮想カメラ５６の移動量も小さくなる。つまり、ボール５４の移動量と仮想カメラ５６の移動量との差が大きくなり、ゲーム画面６０内に表されるボール５４の移動量が大きくなる。その結果、ドリブル能力が低い選手キャラクタ５２に比べて、ドリブル能力が高い選手キャラクタ５２のドリブル動作は速いとユーザに感じさせることが可能になる。
【００４４】
［５−２．第２変形例］
例えば、いずれかの選手キャラクタ５２がドリブル動作を行っている場合、その選手キャラクタ５２（又はボール５４）の位置に基づいて、上記の式（１）及び（２）における係数ｋの値を変化させるようにしてもよい。
【００４５】
この第２変形例では、選手キャラクタ５２（又はボール５４）の位置に関する条件と、係数ｋの値と、を対応づけてなる係数データが光ディスク３６に記憶される。そして、上記の式（１）及び（２）では、ドリブル動作を行う選手キャラクタ５２（又はボール５４）の位置が満足する条件に対応づけられた係数ｋが用いられる。第２変形例では、例えば、複数の領域がフィールド４２に設定され、係数データは、それら複数の領域の各々に係数ｋを対応づけてなるデータになる。そして、上記の式（１）及び（２）では、ドリブル動作を行う選手キャラクタ５２（又はボール５４）が位置する領域に対応づけられた係数ｋが用いられる。
【００４６】
例えば、係数データでは、タッチライン４６付近の領域に対応づけられる係数ｋの値（例えば０．１）が、それ以外の領域に対応づけられる係数ｋの値（例えば０．２）よりも小さく設定される。このようにした場合、選手キャラクタ５２がタッチライン４６付近の領域内をドリブルする場合には、それ以外の領域内をドリブルする場合に比べて、選手キャラクタ５２がボール５４を蹴り出す場合（すなわち、ボール５４の移動速度が速くなる場合）のベクトルＶｎが小さくなる。この場合、基礎位置Ｐの移動量が小さくなり、仮想カメラ５６の移動量も小さくなる。つまり、ボール５４の移動量と仮想カメラ５６の移動量との差が大きくなり、ゲーム画面６０内に表されるボール５４の移動量が大きくなる。その結果、選手キャラクタ５２がタッチライン４６付近の領域内をドリブルする場合には、それ以外の領域内をドリブルする場合に比べて、選手キャラクタ５２のドリブル動作が速いとユーザに感じさせることが可能になる。
【００４７】
［５−３．その他の変形例］
ゲーム装置１０で実行されるゲームはサッカーゲーム以外のスポーツゲームであってもよい。例えば、ボール（移動物体）を用いて行われるバスケットボールやアメリカンフットボールのゲームや、パック（移動物体）を用いて行われるアイスホッケーのゲームにも本発明は適用することができる。また、スポーツゲーム以外のゲームにも本発明は適用することができる。また、ゲーム装置１０以外の画像処理装置にも本発明は適用することができる。仮想３次元空間４０内を移動する移動体を仮想カメラ５６から見た様子を表す画面を表示する画像処理装置に本発明は適用することができる。
【図面の簡単な説明】
【００４８】
【図１】本実施形態に係るゲーム装置（画像処理装置）のハードウェア構成を示す図である。
【図２】仮想３次元空間の一例を示す図である。
【図３】ゲーム画面の一例を示す図である。
【図４】ゲーム装置が実行する処理を示すフロー図である。
【図５】基礎位置を取得するための式について説明するための図である。
【図６】仮想カメラの位置や視線方向を決定する処理の一例を説明するための図である。
【符号の説明】
【００４９】
１０  ゲーム装置、１１  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  主記憶、１８  画像処理部、２０  入出力処理部、２２  音声処理部、２４  光ディスク読み取り部、２６  ハードディスク、２８  通信インタフェース、３０  コントローラ、３２  モニタ、３４  スピーカ、３６  光ディスク、４０  仮想３次元空間、４２  フィールド、４４  ゴールライン、４６  タッチライン、４８  ハーフウェイライン、５０  ゴール、５２  選手キャラクタ、５４  ボール、５６  仮想カメラ、５８  視線方向、６０  ゲーム画面。
【図１】
2010046219.tif 000003
【図２】
2010046219.tif 000004
【図３】
2010046219.tif 000005
【図４】
2010046219.tif 000006
【図５】
2010046219.tif 000007
【図６】
2010046219.tif 000008