説明

プログラム、情報記憶媒体、ゲーム装置及びサーバシステム

【課題】モーションセンサを有効活用したヒット演算処理を実現できるプログラム、情報記憶媒体、ゲーム装置及びサーバシステム等の提供。
【解決手段】ゲーム装置は、操作情報を取得する操作情報取得部と、移動体のヒット演算処理を行うヒット演算部と、ヒット演算処理の結果に基づいて、移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部を含む。操作情報取得部は、モーションセンサからのモーション検出情報を操作情報として取得する。移動体演算部は、モーション検出情報に基づいて、移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、ヒット判定タイミング前でのプレーヤの動き情報に基づいて、ヒット後の移動体の移動演算処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、ゲーム装置及びサーバシステム等に関する。
【背景技術】
【0002】
従来より、球技ゲームを仮想的にプレイすることができるゲーム装置が知られている。テニスゲームを例にとれば、プレーヤは自身のプレーヤキャラクタを操作し、相手キャラクタが打ったボールをラケットで打ち返すことで、テニスゲームを楽しむ。このようなテニスゲームの従来技術としては例えば特許文献1に開示される技術がある。
【0003】
しかしながら、従来のテニスゲーム等の球技ゲームでは、プレーヤの実際の動きを、ボールを打ち返すストローク動作に反映させることができず、プレーヤの仮想現実感を今ひとつ高めることができなかった。
【0004】
また、従来の球技ゲームは、三人称視点でのゲーム画像を生成するゲームが殆どであり、一人称視点でのゲーム画像を生成するゲームは少なかった。このため、プレーヤが実際のスポーツに近い動きを行いながら様々な方向を見ることで、周囲に広がるフィールドやスポーツプレイの臨場感を体感することが難しかった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−29646号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の幾つかの態様によれば、モーションセンサを有効活用したヒット演算処理を実現できるプログラム、情報記憶媒体、ゲーム装置及びサーバシステム等を提供できる。
【課題を解決するための手段】
【0007】
本発明の一態様は、操作情報を取得する操作情報取得部と、移動体のヒット演算処理を行うヒット演算部と、前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含み、前記操作情報取得部は、モーションセンサからのモーション検出情報を前記操作情報として取得し、前記移動体演算部は、前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うゲーム装置に関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0008】
本発明の一態様によれば、モーションセンサからのモーション検出情報により、ヒット判定タイミング前でのプレーヤの動き情報が検出される。そして、検出されたプレーヤの動き情報に基づいて、ヒット後の移動体の移動演算処理が行われる。このようにすれば、ヒット判定タイミング前でのプレーヤの動き情報をモーションセンサにより検出して、ヒット後の移動体の移動演算処理に反映させることが可能になるため、モーションセンサを有効活用したヒット演算処理を実現できる。
【0009】
また本発明の一態様では、前記仮想カメラ制御部は、前記モーション検出情報に基づいて、前記仮想カメラの視線方向を制御してもよい。
【0010】
このようにすれば、モーション検出情報により検出されたプレーヤの動き情報を、ヒット後の移動体の移動演算処理に反映させながら、仮想カメラの視線方向についても、モーション検出情報に応じて変化させることが可能になる。
【0011】
また本発明の一態様では、前記モーションセンサは携帯型ゲーム装置に設けられるセンサであり、前記操作情報取得部は、前記プレーヤが前記携帯型ゲーム装置を動かすことで得られた前記モーション検出情報を、前記モーションセンサから取得し、前記仮想カメラ制御部は、前記携帯型ゲーム装置の動きに応じて前記仮想カメラの視線方向が変化するように前記仮想カメラを制御してもよい。
【0012】
このようにすれば、プレーヤが携帯型ゲーム装置を動かすと、その動きがモーションセンサにより検出され、携帯型ゲーム装置の動きに応じて仮想カメラの視線方向が変化するようになり、携帯型ゲーム装置の表示部に映る画像も変化するようになる。
【0013】
また本発明の一態様では、水平方向に沿った軸をX軸とし、鉛直方向に沿った軸をY軸とした場合に、前記仮想カメラ制御部は、前記携帯型ゲーム装置を前記Y軸回りで回転させる操作が行われた場合に、前記仮想カメラの視線方向を、前記Y軸に対応するカメラ座標系のYC軸回りで回転させる制御を行い、前記ヒット演算部は、前記携帯型ゲーム装置を前記Y軸回りで回転させる操作が行われた場合には、前記Y軸回りの回転に対応する動作を前記プレーヤが行ったとして、前記ヒット演算処理を行ってもよい。
【0014】
このようにすれば、携帯型ゲーム装置をY軸回りで回転させる操作が行われると、その操作に連動させて、仮想カメラの視線方向を変化させることが可能になると共に、Y軸回りの回転操作に対応する動作のヒット演算処理を実行できるようになる。
【0015】
また本発明の一態様では、前記仮想カメラ制御部は、前記携帯型ゲーム装置を前記X軸回りで回転させる操作が行われた場合に、前記仮想カメラの視線方向を、前記X軸に対応するカメラ座標系のXC軸回りで回転させる制御を行い、前記ヒット演算部は、前記携帯型ゲーム装置を前記X軸回りで回転させる操作が行われた場合に、前記X軸回りの回転に対応する動作を前記プレーヤが行ったとして、前記ヒット演算処理を行ってもよい。
【0016】
このようにすれば、携帯型ゲーム装置をX軸回りで回転させる操作が行われると、その操作に連動させて、仮想カメラの視線方向を変化させることが可能になると共に、X軸回りの回転操作に対応する動作のヒット演算処理を実行できるようになる。
【0017】
また本発明の一態様では、前記操作情報取得部は、前記操作情報として、前記プレーヤが入力した第1の操作情報と第2の操作情報を取得し、前記仮想カメラ制御部は、前記第1の操作情報に基づいて、前記仮想カメラの視線方向を制御し、前記第2の操作情報に基づいて、前記仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御してもよい。
【0018】
このようにすれば、モーションセンサによるモーション検出情報により、仮想カメラの視線方向を制御し、方向指示部による方向指示情報により、仮想カメラの視点位置の移動を制御できるようになる。そして、モーション検出情報に基づき仮想カメラの視線方向を変化させながら、ヒット演算処理等を行うことが可能になる。なお、第1の操作情報が方向指示情報であり、第2の操作情報がモーション検出情報であってもよい。この場合には第1の操作情報である方向指示情報に基づいて、仮想カメラの視線方向が制御され、第2の操作情報であるモーション検出情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動が制御されることになる。
【0019】
また本発明の一態様では、前記仮想カメラ制御部は、前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合に、前記仮想カメラから前記移動体に向かう方向である第1の方向と、前記モーション検出情報により特定される方向である第2の方向との間の第3の方向に、前記仮想カメラの視線方向を向ける制御を行ってもよい。
【0020】
このようにすれば、モーション検出情報により仮想カメラの視線方向を変化させた場合にも、プレーヤの視野範囲内に移動体の画像が適切に入るようになり、プレーヤのゲーム操作性や視認性の向上が可能になる。
【0021】
また本発明の一態様では、前記仮想カメラ制御部は、前記移動体がヒットされた後に、前記移動体の移動先側に前記仮想カメラの視線方向を向ける制御を行ってもよい。
【0022】
このようにすれば、プレーヤは、移動体の移動先を、仮想カメラにより映し出される画像を見ながら確認できるようになる。
【0023】
また本発明の一態様では、前記ヒット演算部は、前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合には、前記移動体のヒット判定処理を行うための判定基準面を、前記仮想カメラに近づく方向に移動させてもよい。
【0024】
このようにすれば、ヒット判定タイミング前にプレーヤの動き情報が検出された場合には、判定基準面が仮想カメラに近づく方向に移動するようになるため、プレーヤは、ヒット操作のためのタイミングを合わせやすくなり、プレーヤの操作性を向上できる。
【0025】
また本発明の一態様では、前記移動体演算部は、前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合には、前記動き情報が検出されなかった場合に比べて強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【0026】
このようにすれば、ヒット判定タイミング前にプレーヤの動き情報が検出されると、動き情報が検出されない場合に比べて強いヒット強さでヒットされて移動体が移動するようになる。
【0027】
また本発明の一態様では、前記移動体演算部は、前記ヒット判定タイミング前での前記動き情報で表される前記プレーヤの動き量が大きいほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【0028】
このようにすれば、プレーヤの動き量が大きいほど強いヒット強さでヒットされて移動体が移動するようになり、プレーヤの動き量の大きさを移動体の移動演算処理に反映できるようになる。
【0029】
また本発明の一態様では、前記ヒット演算部は、前記移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも1つに基づいて、前記ヒット強さパラメータを設定してもよい。
【0030】
このような各種情報に基づきヒット強さパラメータを設定すれば、これらの情報に応じて移動体がヒットされた時のヒット強さが変化するようになり、より多彩なヒット演算処理等を実現できる。
【0031】
また本発明の一態様では、前記ヒット演算部は、前記ヒット判定タイミング前での前記動き情報で表される前記プレーヤの動き量が判定基準値を超えたか否かを判定し、前記移動体演算部は、前記プレーヤの動き量が判定基準値の超えた場合に、前記ヒット判定タイミング前での前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【0032】
このようにすれば、例えばプレーヤの動き量が微少であるのに、この動き量が検出されて移動体のヒット強さが変化してしまうような事態を抑止できる。
【0033】
また本発明の一態様では、前記ヒット演算部は、前記移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも1つに基づいて、前記判定基準値を設定してもよい。
【0034】
このような各種情報に基づき判定基準値を設定すれば、これらの情報に応じて、プレーヤの動き量を検出する際の判定基準値が変化するようになり、より多彩なヒット演算処理等を実現できる。
【0035】
また本発明の一態様では、前記ヒット演算部は、前記仮想カメラの移動に追従するヒット判定エリアを前記仮想カメラの前方側に設定し、前記移動体演算部は、ヒット判定タイミングにおける前記ヒット判定エリアと前記移動体との位置関係情報に基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【0036】
このようにすれば、仮想カメラの移動に追従するヒット判定エリアと移動体との位置関係に応じて、ヒット後の移動体の移動状態(軌道、速度等)が変化するようになり、仮想カメラに追従するヒット判定エリアを用いた好適なヒット演算処理を実現できる。
【0037】
また本発明の一態様では、前記移動体演算部は、前記ヒット判定タイミングでの前記ヒット判定エリアにおける前記移動体の位置情報に基づいて、ヒット後の前記移動体の移動演算処理を行ってもよい。
【0038】
このようにすれば、ヒット判定タイミングでのヒット判定エリアにおける移動体の位置情報に応じて、ヒット後の移動体の移動状態が変化するようになり、ヒット判定エリアを用いた好適なヒット演算処理を実現できる。
【0039】
また本発明の一態様では、前記ヒット判定タイミングにおける前記移動体及び前記仮想カメラの少なくとも一方の状態を特定する情報を、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報として記憶部に記録する処理を行う記録処理部を含んでもよい(記録処理部としてコンピュータを機能させてもよい)。
【0040】
このようにすれば、リプレイ時や通信対戦時において、例えばスムーズなモーション再生のプレーヤキャラクタを表示することが可能になり、リプレイ時に表示される画像や、通信対戦において相手プレーヤ等に表示される画像の品質の向上を図れる。
【0041】
また本発明の他の態様は、操作情報を取得する操作情報取得部と、移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部とを含み、前記操作情報取得部は、モーションセンサからのモーション検出情報を前記操作情報として取得し、前記仮想カメラ制御部は、前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第1の方向と、前記モーション検出情報により特定される方向である第2の方向との間の第3の方向に、前記仮想カメラの視線方向を向ける制御を行うゲーム装置に関係する。また本発明は、上記各部としてコンピュータを機能させるプログラム、又は該プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体に関係する。
【0042】
本発明の他の態様によれば、モーションセンサからのモーション検出情報によりプレーヤの動き情報が検出された場合に、仮想カメラの視線方向が、オブジェクトに向かう方向である第1の方向とモーション検出情報により特定される方向である第2の方向の間の第3の方向に向くように制御される。従って、モーション検出情報により仮想カメラの視線方向を変化させた場合にも、プレーヤの視野範囲内にオブジェクトの画像が適切に入るようになり、プレーヤのゲーム操作性や視認性の向上が可能になる。
【0043】
また本発明の他の態様では、前記オブジェクトは、プレーヤキャラクタの部位又は所持物のヒット対象となる移動体、或いは前記プレーヤのプレイ対象となるキャラクタであってもよい。
【0044】
このようにすれば、モーション検出情報により仮想カメラの視線方向を変化させた場合にも、プレーヤキャラクタの部位又は所持物のヒット対象である移動体の画像や、プレーヤのプレイ対象となるキャラクタの画像が、例えばプレーヤの視野範囲内に適切に入るようになる。
【0045】
また本発明の他の態様は、操作情報を取得する操作情報取得部と、移動体のヒット演算処理を行うヒット演算部と、前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成するための画像生成用データを生成する画像生成用データ生成部とを含み、前記操作情報取得部は、モーションセンサからのモーション検出情報を前記操作情報として取得し、前記移動体演算部は、前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うサーバシステムに関係する。
【0046】
また本発明の他の態様は、操作情報を取得する操作情報取得部と、移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において前記仮想カメラから見える画像を生成するための画像生成用データを生成する画像生成用データ生成部とを含み、前記操作情報取得部は、モーションセンサからのモーション検出情報を前記操作情報として取得し、前記仮想カメラ制御部は、前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第1の方向と、前記モーション検出情報により特定される方向である第2の方向との間の第3の方向に、前記仮想カメラの視線方向を向ける制御を行うサーバシステムに関係する。
【図面の簡単な説明】
【0047】
【図1】本実施形態のゲーム装置の構成例。
【図2】本実施形態のサーバシステムの構成例。
【図3】図3(A)、図3(B)は本実施形態が適用される携帯型ゲーム装置の構成例。
【図4】図4(A)〜図4(C)はモーションセンサを用いた仮想カメラの視線方向の制御手法の説明図。
【図5】図5(A)〜図5(C)は方向指示部を用いた仮想カメラの移動制御手法の説明図。
【図6】本実施形態により実現されるテニスゲームの説明図。
【図7】図7(A)、図7(B)は本実施形態の手法の説明図。
【図8】図8(A)、図8(B)も本実施形態の手法の説明図。
【図9】図9(A)、図9(B)はプレーヤが携帯型ゲーム装置をY軸回りで回転させる動作を行った場合の仮想カメラの制御手法の説明図。
【図10】プレーヤが携帯型ゲーム装置をY軸回りで回転させる動作を行った場合に生成されるゲーム画像の例。
【図11】図11(A)、図11(B)はプレーヤが携帯型ゲーム装置をX軸回りで回転させる動作を行った場合の仮想カメラの制御手法の説明図。
【図12】プレーヤが携帯型ゲーム装置をX軸回りで回転させる動作を行った場合に生成されるゲーム画像の例。
【図13】図13(A)、図13(B)は仮想カメラにヒット判定エリアを追従させる手法の説明図。
【図14】図14(A)〜図14(C)はヒット判定エリア内でのボールのX、Y座標に基づきヒット強さパラメータを設定する手法の説明図。
【図15】ヒット判定エリア内でのボールのX、Y座標に基づきヒット強さパラメータを設定する手法の説明図。
【図16】図16(A)〜図16(C)はヒット判定エリア内でのボールのZ座標に基づきヒット方向パラメータを設定する手法の説明図。
【図17】図17(A)、図17(B)は本実施形態により生成されるゲーム画像の例。
【図18】図18(A)、図18(B)はボールに向かう第1の方向とモーションセンサで特定される第2の方向の間の第3の方向に仮想カメラの視線方向を向ける手法の説明図。
【図19】図19(A)、図19(B)はヒット後にボールの移動先側に仮想カメラの視線方向を向ける手法の説明図。
【図20】図20(A)、図20(B)はヒット判定前にプレーヤの動きが検出された場合にヒット判定処理の判定基準面を仮想カメラ側に移動させる手法の説明図。
【図21】図21(A)、図21(B)はプレーヤの動き量によるヒット強さパラメータの設定手法の説明図。
【図22】動き量の判定基準値の設定手法の説明図。
【図23】ヒット判定タイミングにおけるボールや仮想カメラの状態を特定する情報を、リプレイ時又は通信対戦時のモーション再生用情報として記録する手法の説明図。
【図24】図24(A)、図24(B)は他の球技ゲームへの本実施形態の適用例を説明する図。
【図25】図25(A)、図25(B)は球技ゲーム以外のゲームへの本実施形態の適用例を説明する図。
【図26】本実施形態の詳細な処理を説明するフローチャート。
【図27】本実施形態の詳細な処理を説明するフローチャート。
【図28】本実施形態の詳細な処理を説明するフローチャート。
【発明を実施するための形態】
【0048】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0049】
1.構成
図1に本実施形態のゲーム装置(画像生成システム、ゲームシステム)のブロック図の例を示す。なお、本実施形態のゲーム装置の構成は図1に限定されず、その構成要素(各部)の一部を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0050】
操作部160は、プレーヤが操作データを入力するためのものであり、その機能は、方向指示キー、操作ボタン、アナログスティック、レバー、各種センサ(角速度センサ、加速度センサ等)、マイク、或いはタッチパネル型ディスプレイなどにより実現できる。
【0051】
操作部160のモーションセンサは、ゲームコントローラや携帯型ゲーム装置などの機器の動きを検出するものであり、このような機器の動きを検出することでプレーヤの操作モーションなどを検出できる。このモーションセンサは、例えば加速度センサ、角速度センサ(ジャイロセンサ)や、カメラの画像センサなどの種々のセンサにより実現できる。加速度センサは直交3軸方向の各加速度情報を検出する。具体的には互いに直交する座標軸をX軸、Y軸、Z軸とした場合に、X軸方向に沿った第1の加速度情報、Y軸方向に沿った第2の加速度情報、Z軸方向に沿った第3の加速度情報を検出して、センサ検出情報として出力する。この加速度センサは、例えばMEMS構造のピエゾ抵抗型や静電容量型のセンサなどにより実現できる。また角速度センサは、所定の回転軸回りの角速度情報を検出するセンサである。具体的に角速度センサは、直交3軸での角速度情報を検出するセンサであり、X軸、Y軸、Z軸回りでの角速度情報を検出する。例えばX軸回りの回転角度をα、Y軸回りの回転角度をβ、Z軸回りの回転角度をγとすると、これらのα、β、γについての角速度を検出して、センサ検出情報として出力する。この角速度センサは例えばMEMS構造の多軸角速度センシングジャイロスコープなどにより実現できる。モーションセンサとして画像センサ(CCD、CMOSセンサ等)を用いた場合には、画像センサにより撮像された撮像画像の画素の動き情報などにより、ゲームコントローラや携帯型ゲーム装置などの機器の動きを検出すればよい。
【0052】
なおモーションセンサは、ゲーム装置に内蔵されるものであってもよいし、ゲーム装置のオプションの外付け部品として用意されるものであってもよい。
【0053】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(DRAM、VRAM)などにより実現できる。そしてゲームプログラムや、ゲームプログラムの実行に必要なゲームデータは、この記憶部170に保持される。
【0054】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(DVD、CD等)、HDD(ハードディスクドライブ)、或いはメモリ(ROM等)などにより実現できる。処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータ(操作部、処理部、記憶部、出力部を備える装置)を機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0055】
表示部190は、本実施形態により生成された画像を出力するものであり、その機能は、LCD、有機ELディスプレイ、CRT、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。音出力部192は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【0056】
補助記憶装置194(補助メモリ、2次メモリ)は、記憶部170の容量を補うために使用される記憶装置であり、SDメモリーカード、マルチメディアカードなどのメモリーカードなどにより実現できる。
【0057】
通信部196は、有線や無線のネットワークを介して外部(例えば他のゲーム装置、サーバ、ホスト装置)との間で通信を行うものであり、その機能は、通信用ASIC又は通信用プロセッサなどのハードウェアや、通信用ファームウェアにより実現できる。
【0058】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、サーバ(ホスト装置)が有する情報記憶媒体からネットワーク及び通信部196を介して情報記憶媒体180(あるいは記憶部170、補助記憶装置194)に配信してもよい。このようなサーバ(ホスト装置)による情報記憶媒体の使用も本発明の範囲内に含めることができる。
【0059】
処理部100(プロセッサ)は、操作部160からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。処理部100は記憶部170をワーク領域として各種処理を行う。この処理部100の機能は、各種プロセッサ(CPU、GPU等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
【0060】
処理部100は、操作情報取得部102、ゲーム演算部104、オブジェクト空間設定部106、仮想カメラ制御部108、ヒット演算部110、移動体演算部112、記録処理部114、画像生成部120、音生成部130を含む。なおこれらの一部の構成要素を省略したり、他の構成要素を追加するなどの種々の変形実施が可能である。
【0061】
操作情報取得部102は、プレーヤの操作情報を取得する。例えばプレーヤが操作部160を用いて各種操作を行うと、その操作情報を取得する。例えば携帯型ゲーム装置にモーションセンサが内蔵されている場合には、プレーヤが携帯型ゲーム装置を動かすと、携帯型ゲーム装置に内蔵されたモーションセンサが、その動きを検出する。或いは、プレーヤが、操作部160であるゲームコントローラを動かした場合に、ゲームコントローラに内蔵されたモーションセンサからのモーション検出情報を、操作情報として取得してもよい。そして操作情報取得部102は、モーションセンサからのモーション検出情報を、操作情報として取得する。取得された操作情報は記憶部170に一時的に保存される。
【0062】
ゲーム演算部104はゲーム演算処理を行う。ここでゲーム演算としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。
【0063】
オブジェクト空間設定部106は、複数のオブジェクトが配置されるオブジェクト空間の設定処理を行う。例えば、キャラクタ(人、動物、ロボット、車、船舶、飛行機等)、ボール、マップ(地形)、建物、コース(道路)、樹木、壁などの表示物を表す各種オブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェイスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間に配置設定する処理を行う。即ちワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。具体的には、記憶部170のオブジェクトデータ記憶部172には、オブジェクト(パーツオブジェクト)の位置、回転角度、移動速度、移動方向等のデータであるオブジェクトデータがオブジェクト番号に対応づけて記憶される。オブジェクト空間設定部106は、例えば各フレーム毎にこのオブジェクトデータを更新する処理などを行う。
【0064】
仮想カメラ制御部108は、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点、基準仮想カメラ)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置、視線方向あるいは画角を制御する処理)を行う。
【0065】
ヒット演算部110はヒット演算処理を行う。例えばヒット判定処理やヒット演算パラメータの設定処理やヒット演出処理などを行う。ヒット演算部110の詳細については後述する。
【0066】
移動体演算部112は、キャラクタやボール等の移動体を移動させるための演算処理を行う。また移動体(移動体オブジェクト)を動作させるための演算処理も行う。即ち操作部160によりプレーヤが入力した操作情報や、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、移動体(オブジェクト、モデルオブジェクト)をオブジェクト空間内で移動させたり、移動体を動作(モーション、アニメーション)させる処理を行う。具体的には、移動体の移動情報(位置、回転角度、速度、或いは加速度)や動作情報(パーツオブジェクトの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、移動体の移動・動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。
【0067】
記録処理部114は、モーション再生用情報の記録処理を行う。モーション再生用情報はモーション再生用情報記憶部174に記憶される。記録処理部114の詳細については後述する。
【0068】
画像生成部120は、処理部100で行われる種々の処理(ゲーム処理、シミュレーション処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部190に出力する。具体的には、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、或いは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ(プリミティブ面の頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)が作成される。そして、この描画データ(プリミティブ面データ)に基づいて、透視変換後(ジオメトリ処理後)のオブジェクト(1又は複数プリミティブ面)を、描画バッファ178(フレームバッファ、ワークバッファ等のピクセル単位で画像情報を記憶できるバッファ)に描画する。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、描画処理は頂点シェーダ処理やピクセルシェーダ処理等により実現することができる。
【0069】
なお、画像生成部120が、いわゆる立体視用の画像を生成するようにしてもよい。この場合には、基準となる仮想カメラの位置とカメラ間距離を用いて、左眼用仮想カメラ(第1の視点用仮想カメラ)と右眼用仮想カメラ(第2の視点用仮想カメラ)を配置設定する。そして画像生成部120が、オブジェクト空間内において左眼用仮想カメラから見える左眼用画像(第1視点画像)と、オブジェクト空間内において右眼用仮想カメラから見える右眼用画像(第2視点画像)を生成する。そしてこれらの左眼用画像、右眼用画像を用いて、眼分離眼鏡方式や、レンチキュラなどを用いた裸眼方式などにより、立体視を実現すればよい。
【0070】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部192に出力する。
【0071】
そして本実施形態では、操作情報取得部102がプレーヤの操作情報を取得する。またヒット演算部110は、移動体のヒット演算処理を行い、移動体演算部112は、ヒット演算処理の結果に基づいて、移動体の移動演算処理を行う。例えばヒット演算部110は、移動体がヒット体(ラケット、手、バット等)によってヒットされたか否かを判定するヒット判定処理を行い、移動体演算部112は、ヒット判定処理の結果に基づいて、ヒット後の移動体をヒット方向に移動させる移動演算処理を行う。そして仮想カメラ制御部108が、仮想カメラの制御を行い、画像生成部120が、オブジェクト空間内において仮想カメラから見える画像を生成する。
【0072】
具体的には操作情報取得部102は、モーションセンサからのモーション検出情報(加速度情報、角速度情報、画像情報等)を操作情報として取得する。なおプレーヤが操作部160を操作することで得られる情報を操作情報として取得してもよい。そして移動体演算部112は、取得されたモーション検出情報に基づいて、移動体のヒット判定タイミング前でのプレーヤの動き情報を検出する。即ちヒット判定タイミング前にプレーヤが携帯型ゲーム装置を動かすなどの動きを行うと、その動き情報が、モーションセンサからのモーション検出情報に基づいて検出される。そして移動体演算部112は、ヒット判定タイミング前でのプレーヤの動き情報に基づいて、ヒット後の移動体の移動演算処理を行う。例えば、プレーヤの動き情報に基づいて、移動体のヒット強さパラメータなどのヒット演算パラメータが設定され、設定されたヒット演算パラメータに基づいて、ヒット後の移動体の移動演算処理が行われる。この移動演算処理では、例えばボール等の移動体の軌道(移動軌道)を所与のアルゴリズムやテーブルデータなどに基づき求める演算処理が行われる。
【0073】
このように本実施形態では、モーションセンサからのモーション検出情報に基づいて、移動体のヒット判定タイミング前(ヒット前)でのプレーヤの動き情報が検出され、検出された動き情報に基づきヒット後の移動体の移動演算処理が行われる。例えば、この動き情報に基づいて、移動体のヒット強さ等が設定されて、ヒット後の移動体が移動するようになる。従って、モーションセンサを有効活用したヒット演算処理を実現できる。
【0074】
ここで移動体(プレイ対象物)は、例えば球技ゲームにおけるボールである。但し、移動体は球技ゲームにおけるボールには限定されない。例えばヒット判定タイミングにおけるプレーヤの動き情報に基づくヒット演算処理によりヒット後に移動するようなオブジェクトであれば、移動体として種々のオブジェクトを想定できる。
【0075】
またヒット判定タイミングは、ヒット判定の基準となるタイミングである。例えばヒット判定タイミングは、操作部160(操作ボタン等)をプレーヤが操作したタイミングである。或いは、プレーヤが操作部160を操作することで、プレーヤキャラクタ(表示又は非表示のプレーヤキャラクタ)が動作する場合に、ヒット判定タイミングは、そのプレーヤキャラクタの所持物(ラケット、バット等)や部位(手、足等)がボール等の移動体にヒットしたと想定されるタイミングであってもよい。
【0076】
またプレーヤの動き情報は、ヒット判定タイミング前でのプレーヤの動き量を表す情報である。例えばヒット判定タイミング前でのプレーヤの動き量が判定基準値(判定基準となる動き量)を超えた場合に、ヒット判定タイミング前にプレーヤが動いたと判定し、その時の動き量(動きベクトル等)がプレーヤの動き情報として取得される。
【0077】
また仮想カメラ制御部108は、取得されたモーション検出情報に基づいて、仮想カメラの視線方向を制御する。例えばモーション検出情報により検出されたプレーヤの動き方向や動き量に応じて、仮想カメラの視線方向を変化させる。例えばモーションセンサにより右方向側、左方向側へのプレーヤの動き(携帯型ゲーム装置の動き)が検出された場合には、各々、右方向側、左方向側に仮想カメラの視線方向を変化させる。またモーションセンサにより上方向側、下方向側へのプレーヤの動き(携帯型ゲーム装置の動き)が検出された場合には、各々、上方向側、下方向側に仮想カメラの視線方向を変化させる。
【0078】
また、例えばモーションセンサは携帯型ゲーム装置に設けられるセンサであり、操作情報取得部102は、プレーヤが携帯型ゲーム装置を動かすことで得られたモーション検出情報を、モーションセンサから取得する。なおモーションセンサはゲームコントローラに設けられるセンサであってもよく、この場合には、操作情報取得部102は、プレーヤがゲームコントローラを動かすことで得られたモーション検出情報を、モーションセンサから取得する。また携帯型ゲーム装置が、ゲームカートリッジ等のゲーム情報記憶媒体の脱着が自在である場合に、モーションセンサは、ゲームカートリッジ等のゲーム情報記憶媒体に実装されるものであってもよい。
【0079】
そして仮想カメラ制御部108は、携帯型ゲーム装置の動きに応じて仮想カメラの視線方向が変化するように仮想カメラを制御する。例えばプレーヤが携帯型ゲーム装置を、水平方向に沿った軸であるX軸回りでロールさせる操作を行った場合には、仮想カメラの視線方向を上下方向に変化させる。また携帯型ゲーム装置を、鉛直方向に沿った軸であるY軸回りでロールさせる操作を行った場合には、仮想カメラの視線方向を左右方向に変化させる。
【0080】
また水平方向に沿った軸をX軸とし、鉛直方向に沿った軸をY軸としたとする。すると、仮想カメラ制御部108は、携帯型ゲーム装置をY軸回りで回転させる操作が行われた場合には、仮想カメラの視線方向を、Y軸に対応するカメラ座標系のYC軸回りで回転させる制御を行う。そしてヒット演算部110は、携帯型ゲーム装置をY軸回りで回転させる操作が行われた場合には、Y軸回りの回転に対応する動作をプレーヤが行ったとして、ヒット演算処理を行う。例えばY軸回りの回転に対応するテークバック動作等の準備動作をプレーヤが行ったとして、ヒット演算処理を行う。具体的には、このようなテークバック動作等の準備動作がヒット判定タイミング前(ヒット前)に行われた場合には、準備動作が行われなかった場合に比べて、例えばヒット強さを強くしたりヒット方向を異ならせたりするなどのヒット演算処理を行う。
【0081】
また仮想カメラ制御部108は、携帯型ゲーム装置をX軸回りで回転させる操作が行われた場合には、仮想カメラの視線方向を、X軸に対応するカメラ座標系のXC軸回りで回転させる制御を行う。そしてヒット演算部110は、携帯型ゲーム装置をX軸回りで回転させる操作が行われた場合に、X軸回りの回転に対応する動作をプレーヤが行ったとして、ヒット演算処理を行う。例えばX軸回りの回転に対応するテークバック動作等の準備動作をプレーヤが行ったとして、準備動作が行われなかった場合に比べて、例えばヒット強さを強くしたりヒット方向を異ならせたりするなどのヒット演算処理を行う。
【0082】
また操作情報取得部102は、操作情報として、プレーヤが入力した第1の操作情報と第2の操作情報を取得する。例えばモーションセンサからのモーション検出情報を第1の操作情報として取得し、操作部160の方向指示部(方向指示キー、アナログティック)からの方向指示情報を第2の操作情報として取得する。
【0083】
そして仮想カメラ制御部108は、第1の操作情報に基づいて、仮想カメラの視線方向を制御し、第2の操作情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御する。例えば第1の操作情報であるモーション検出情報に基づいて、仮想カメラの視線方向を制御し、第2の操作情報である方向指示情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御する。この場合の第1の操作情報に基づく仮想カメラの視線方向の制御は、第1の操作情報に基づきプレーヤキャラクタの向く方向(視線方向)を制御し、プレーヤキャラクタの向く方向に追従するように仮想カメラの視線方向を制御する場合であってもよい。また第2の操作情報に基づく仮想カメラの視点位置の移動の制御は、第2の操作情報に基づいてプレーヤキャラクタの移動を制御し、プレーヤキャラクタの移動に追従するように仮想カメラの視点位置の移動を制御する場合であってもよい。また、逆に、第1の操作情報が方向指示情報であり、第2の操作情報がモーション検出情報であってもよい。この場合には、方向指示情報に基づいて、仮想カメラの視線方向が制御され、モーション検出情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動が制御されることになる。
【0084】
また、仮想カメラから移動体に向かう方向を第1の方向とし、モーション検出情報により特定される方向を第2の方向としたとする。すると仮想カメラ制御部108は、ヒット判定タイミング前でのプレーヤの動き情報が検出された場合に、第1の方向と第2の方向の間の第3の方向に、仮想カメラの視線方向を向ける制御を行ってもよい。即ち、モーションセンサによりプレーヤの動きが検出された場合に、仮想カメラの視線方向を、モーション検出情報により特定される第2の方向には向けずに、仮想カメラから移動体に向かう方向である第1の方向と第2の方向との間(中間)の第3の方向に向けるようにする。このようにすることで、モーション検出情報により仮想カメラの視線方向を変化させた場合にも、プレーヤの視野範囲内に移動体の画像が適切に入るようになり、プレーヤのゲーム操作性や視認性を向上できる。
【0085】
なおこの場合の第1の方向は、仮想カメラからボール等の移動体へと向かう方向には限定されず、仮想カメラからオブジェクトに向かう方向とすることができる。即ち仮想カメラ制御部108は、モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、仮想カメラからオブジェクトに向かう方向である第1の方向と、モーション検出情報により特定される第2の方向との間の第3の方向に、仮想カメラの視線方向を向ける制御を行う。このようなオブジェクトとしては、プレーヤキャラクタの部位又は所持物のヒット対象となる移動体や、プレーヤのプレイ対象となるキャラクタなどを想定できる。
【0086】
また仮想カメラ制御部108は、移動体がヒットされた後に、移動体の移動先側に仮想カメラの視線方向を向ける制御を行ってもよい。例えば移動体の移動先に追従するように、仮想カメラの視線方向を変化させる制御を行う。なお、このように移動体の移動先側に仮想カメラの視線方向を向ける制御を行った後、所与の期間が経過した場合に、モーション検出情報で特定される方向側に向くように、仮想カメラの視線方向を戻す制御を行ってもよい。
【0087】
またヒット演算部110は、ヒット判定タイミング前でのプレーヤの動き情報が検出された場合には、移動体のヒット判定処理を行うための判定基準面を、仮想カメラに近づく方向に移動させる制御を行ってもよい。例えばジャストタイミングの位置を表す判定基準面を、仮想カメラから見て手前側に移動させる。こうすることで、テークバック動作等の準備動作により、仮想カメラの視線方向が、モーション検出情報で特定される方向側に向いた場合にも、移動体のヒット判定処理を適切に実行できるようになる。
【0088】
また移動体演算部112は、ヒット判定タイミング前でのプレーヤの動き情報が検出された場合には、動き情報が検出されなかった場合に比べて強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の移動体の移動演算処理を行う。例えばヒット判定タイミング前でのプレーヤの動き情報が検出されなかった場合には、ヒット強さパラメータを、第1のヒット強さに設定する。一方、ヒット判定タイミング前でのプレーヤの動き情報が検出された場合には、ヒット強さパラメータを、第1のヒット強さよりも強い第2のヒット強さに設定する。そして、例えばプレーヤの動き情報が検出されなかった場合よりも速い速度でヒット後に移動体が移動するように、移動体の移動演算処理を行う。
【0089】
更に具体的には移動体演算部112は、ヒット判定タイミング前での動き情報で表されるプレーヤの動き量が大きいほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の移動体の移動演算処理を行う。例えばプレーヤがテークバック動作等の準備動作として大きな動きをした場合には、小さな動きの場合よりも、強いヒット強さに設定して、より速い速度でヒット後に移動体が移動するように移動演算処理を行う。
【0090】
この場合にヒット演算部110は、ヒット判定タイミング前での動き情報で表されるプレーヤの動き量が判定基準値を超えたか否かを判定してもよい。即ち、ヒット判定タイミング前でのプレーヤの動き量が、判定基準となる動き量を超えたか否かを判定する。
【0091】
そして移動体演算部112は、プレーヤの動き量が判定基準値の超えた場合に、ヒット判定タイミング前での動き情報に基づいて、ヒット後の移動体の移動演算処理を行う。例えば動き量が判定基準値以下である場合には、動き情報に基づくヒット後の移動体の移動演算処理は行わずに、動き量が判定基準値を超えた場合に限って、ヒット判定タイミング前での動き情報に基づく移動体の移動演算処理を行う。このようにすることで、プレーヤの微少な動きで、ヒット演算処理等が頻繁に行われてしまう事態を抑止できる。
【0092】
ここで判定基準値は種々の情報に基づき設定できる。例えばヒット演算部110は、移動体をヒットするヒット体の情報(ラケットやバットの種類等)、ゲームの環境状態情報(ゲームフィールドや天候などの環境状態等)、ゲームの難易度設定情報(難易度のレベルの情報等)、プレーヤキャラクタの情報(プレーヤキャラクタに付随する能力、体力等の各種のパラメータ情報等)、及びプレーヤのゲーム成績情報(過去のゲーム実績等)の少なくとも1つに基づいて、判定基準値を設定してもよい。
【0093】
なお、ヒット演算部110は、移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも1つに基づいて、ヒット強さパラメータを設定するようにしてもよい。
【0094】
またヒット演算部110は、仮想カメラの移動に追従するヒット判定エリアを設定する。例えばヒット判定エリアを仮想カメラの前方側に設定する。例えばオブジェクト空間内において仮想カメラがX、Y、Z軸方向に移動すると、それに追従してヒット判定エリアもX、Y、Z軸方向に移動する。そして移動体演算部112は、ヒット判定タイミングにおけるヒット判定エリアと移動体との位置関係情報に基づいて、ヒット後の移動体の移動演算処理を行う。例えば、この位置関係情報に基づいて、移動体のヒット強さパラメータやヒット方向パラメータなどのヒット演算パラメータが設定され、設定されたヒット演算パラメータに基づいて、ヒット後の移動体の移動演算処理が行われる。
【0095】
ここでヒット演算パラメータは、ヒット後の移動体の移動演算処理を行うために使用されるパラメータであり、ヒット強さやヒット方向などを設定するためのパラメータである。またヒット強さパラメータは、移動体のヒット度合い(ヒット速度、ヒット加速度)を表すパラメータであり、ヒット方向パラメータは、ヒット後の移動体の移動方向を設定するためのパラメータである。
【0096】
またヒット判定エリア(ヒット判定ボリューム)は、移動体のヒット判定処理を行うためのエリアであり、例えば3次元形状のエリアである。なおヒット判定エリアとしては、例えば直方体(立方体を含む)、円柱、円錐等の種々の形状のエリアを想定できる。また、場合によってはヒット判定エリアを2次元形状のエリアとすることも可能である。
【0097】
また移動体のヒット判定処理は、ボール等の移動体とヒット体(ラケット、バット、プレーヤキャラクタの部位等)とがヒットしたか否かを判定するための処理である。この場合に、ヒット体は実際に表示されるオブジェクトであってもよいし、非表示のオブジェクトであってもよい。
【0098】
また仮想カメラの移動にヒット判定エリアが追従するとは、例えば仮想カメラの視点位置の並進移動に追従するようにヒット判定エリアが移動することである。例えば仮想カメラが前後左右に移動すると、それに連動してヒット判定エリアが前後左右に移動する。例えばヒット判定エリアは仮想カメラの前方側に設定される。具体的には仮想カメラの視線方向に沿った視軸に直交するようにヒット判定エリアが設定される。そして仮想カメラから見える画像が表示される画面の右端や左端の領域が、移動体がヒット可能な領域になるように、ヒット判定エリアが設定される。なお仮想カメラは、プレーヤが操作するプレーヤキャラクタに追従するように移動してもよい。この場合のプレーヤキャラクタは、その全部又は一部の部位がゲーム画像に実際に表示されるキャラクタであってもよいし、ゲーム画像に表示されない仮想的なキャラクタであってもよい。
【0099】
またヒット判定エリアと移動体との位置関係情報は、例えばヒット判定エリアと移動体との相対的な位置情報や方向情報などである。また仮想カメラから見える画像として一人称視点の画像を生成する場合には、ラケット、ボール、手、足等のヒット体を表示するようにしてもよい。
【0100】
また移動体演算部112は、ヒット判定タイミングでのヒット判定エリアにおける移動体の位置情報に基づいて、ヒット後(ヒット判定タイミング後)の移動体の移動演算処理を行う。ここでヒット判定エリアにおける移動体の位置情報とは、例えばヒット判定エリアのローカル座標系での位置情報である。但し絶対座標系やカメラ座標系での位置情報とする変形実施も可能である。
【0101】
具体的にはヒット判定エリアでの水平方向に沿った軸をX軸とし、鉛直方向に沿った軸をY軸としたとする。ここでX軸、Y軸としては例えばヒット判定エリアのローカル座標系等のX軸、Y軸とすることができる。この場合に移動体演算部112は、ヒット判定タイミングでの移動体のX座標情報(X座標を実質的に表す情報)及びY座標情報(Y座標を実質的に表す情報)の少なくとも一方に基づき設定されたヒット強さパラメータに基づいて、ヒット後の移動体の移動演算処理を行う。例えばX座標情報やY座標情報で表されるX座標やY座標に応じてヒット強さが異なるヒット強さパラメータが設定され、設定されたヒット強さパラメータを用いて、ヒット後の移動体の移動演算処理を行う。具体的には移動体演算部112は、X軸、Y軸で規定されるXY平面において仮想カメラから遠ざかるほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の移動体の移動演算処理を行う。例えば当該XY平面において、仮想カメラの前方の位置(視軸上の位置、原点)ではヒット強さが最も弱くなり、当該前方の位置から遠ざかるほど(X軸又はY軸において遠ざかるほど)、ヒット強さが強くなるように、ヒット強さパラメータを設定する。このようにすることで、画面の中心ではヒット強さが弱くなり、画面の左端、右端、上端等に近づくほど、ヒット強さが強くなるようなヒット強さパラメータを設定できるようになる。なおヒット強さパラメータは、ヒット後の移動体の速度や加速度を設定するためのパラメータであれば十分であり、ヒット強さが強い設定の場合には、移動体の速度(加速度)が速くなり、ヒット強さが弱い設定の場合には、移動体の速度(加速度)が遅くなる。
【0102】
またヒット判定タイミングでの水平方向に沿った軸をX軸とし、鉛直方向に沿った軸をY軸とし、X軸及び前記Y軸に直交する軸をZ軸としたとする。ここでX軸、Y軸、Z軸としては例えばヒット判定エリアのローカル座標系等のX軸、Y軸、Z軸とすることができる。この場合に移動体演算部112は、ヒット判定タイミングでの移動体のZ座標情報(Z座標を実質的に表す情報)に基づき設定されたヒット方向パラメータに基づいて、ヒット後(ヒット判定タイミング後)の移動体の移動演算処理を行う。即ち、ヒット判定タイミングでの移動体のZ座標情報で表されるZ座標が、Z軸において奥側か手前側かに応じて、ヒット後の移動体のヒット方向が異なるように、移動体の移動演算処理を行う。
【0103】
具体的には移動体演算部112は、ヒット判定タイミングにおいて判定基準面の位置に移動体が位置していた場合には、第1の方向側に、ヒット後の移動体を移動させる。ここで第1の方向側は、例えば正面方向であり、仮想カメラの視軸に沿った方向である。また移動体演算部112は、ヒット判定タイミングにおいて判定基準面面よりもZ軸において奥側に移動体が位置していた場合には、第1の方向に対して左方向側及び右方向側のいずれか一方側である第2の方向側に、ヒット後の移動体を移動させる。例えばヒット判定エリアの右側領域(画面の右側領域)で移動体がヒットされ、且つZ軸において判定基準面面よりも奥側に移動体が位置していた場合(テニスのフォアハンドストロークで早振りの場合)には、正面方向である第1の方向を基準として例えば左方向側に、移動体を移動させる。またヒット判定エリアの左側領域(画面の左領域)で移動体がヒットされ、且つZ軸において判定基準面面よりも奥側に移動体が位置していた場合(バックハンドストロークで早振りの場合)には、第1の方向を基準として例えば右方向側に、移動体を移動させる。
【0104】
一方、移動体演算部112は、ヒット判定タイミングにおいて判定基準面面よりもZ軸において手前側に移動体が位置していた場合には、第1の方向に対して一方側とは異なる他方側である第3の方向側に、ヒット後の移動体を移動させる。例えばヒット判定エリアの右側領域で移動体がヒットされ、且つZ軸において判定基準面面よりも手前側に移動体が位置していた場合(フォアハンドストロークで振り遅れの場合)には、正面方向である第1の方向を基準として例えば右方向側に、移動体を移動させる。またヒット判定エリアの左側領域で移動体がヒットされ、且つZ軸において判定基準面面よりも手前側に移動体が位置していた場合(バックハンドストロークで振り遅れの場合)には、第1の方向を基準として例えば左方向側に、移動体を移動させる。
【0105】
また移動体演算部112は、プレーヤが操作するプレーヤキャラクタの所持物又はプレーヤキャラクタを、ヒット判定タイミングにおけるヒット判定エリアと移動体との位置関係情報に基づいて制御する。即ち、ヒット判定タイミングにおけるヒット判定エリアと移動体との位置関係情報に基づいて移動体の移動演算処理を行う場合に、これに連動してプレーヤが操作するプレーヤキャラクタの所持物又はプレーヤキャラクタを制御する。例えば、プレーヤキャラクタの所持物(ラケット、バット等)を、ヒット判定エリアと移動体との位置関係情報で決まる方向に移動させたり、プレーヤキャラクタを、ヒット判定エリアと移動体との位置関係情報で特定されるモーションで動作させる。
【0106】
また記録処理部114は、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報を記憶部170(モーション再生用情報記憶部174)に記録する処理を行う。具体的には、ヒット判定タイミングにおける移動体及び仮想カメラの少なくとも一方の状態を特定する情報を、モーション再生用情報として記録する処理を行う。そして移動体演算部112は、プレーヤの過去のプレイ等を再現して表示部190に表示するリプレイ時には、記録されたモーション再生用情報に基づいて公知のモーション再生処理を行う。これにより表示部190にリプレイ画像が表示されるようになる。また通信対戦時には、他のプレーヤのモーション再生用情報を通信部196を介して受信し、受信した他のプレーヤのモーション再生用情報に基づいてモーション再生処理を行うことで、他のプレーヤに対応するキャラクタを動作させる。また、自身のプレーヤキャラクタのモーション再生用情報は、通信部196を介して他のプレーヤのゲーム装置(サーバシステム)に送信され、このモーション再生用情報に基づき動作するプレーヤキャラクタの画像が、他のプレーヤのゲーム装置において表示される。なお移動体の状態を特定する情報は、例えば、移動体のヒットイベントが起こったか否かや、どのような種類のヒットイベントが起こったかや、移動体がどのようなヒット強さでどのようなヒット方向にヒットされたかなどを特定する情報である。また仮想カメラの状態を特定する情報は、ヒット判定タイミングやその前後における仮想カメラの視線方向や視点位置の情報などである。
【0107】
なお本実施形態の手法はサーバシステムにより実現してもよい。図2にサーバシステムにより実現する場合の構成例を示す。
【0108】
サーバシステム500は、端末装置TM1〜TMnとネットワーク510を介して通信接続される。例えばサーバシステム500はホストであり、端末装置TM1〜TMnはクライアントである。サーバシステム500は例えば1又は複数のサーバ(認証サーバ、ゲームサーバ、通信サーバ、課金サーバ等)により実現できる。ネットワーク510(配信網、通信回線)は、例えばインターネットや無線LAN等を利用した通信路であり、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLANの他、電話通信網やケーブル網や無線LAN等の通信網を含むことができる。また通信方法については有線/無線を問わない。
【0109】
端末装置TM1〜TMnは、例えば携帯型ゲーム装置、据え置き型の家庭用ゲーム装置、或いは業務用ゲーム装置等により実現される。携帯型ゲーム装置は専用のゲーム装置であってもよいし、携帯電話機や携帯型情報端末などのゲームプログラムの実行が可能な汎用の装置であってもよい。
【0110】
サーバシステム500は、処理部600、記憶部670、情報記憶媒体680、通信部696を含む。処理部600は、操作情報取得部602、ゲーム演算部604、オブジェクト空間設定部606、仮想カメラ制御部608、ヒット演算部610、移動体演算部612、記録処理部614、画像生成用データ生成部620、音生成用データ生成部630を含む。なおこれらの各部(各ブロック)の機能、動作等は、図1の各部(各ブロック)と同様である。
【0111】
例えばサーバシステム500の操作情報取得部602は、操作情報を取得し、ヒット演算部610は、移動体のヒット演算処理を行い、移動体演算部612は、ヒット演算処理の結果に基づいて、移動体の移動演算処理を行う。そして仮想カメラ制御部608は、仮想カメラの制御を行い、画像生成用データ生成部620は、オブジェクト空間内におい仮想カメラから見える画像を生成するための画像生成用データを生成する。
【0112】
そして操作情報取得部602は、モーションセンサからのモーション検出情報を操作情報として取得する。また移動体演算部612は、モーション検出情報に基づいて、移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、ヒット判定タイミング前でのプレーヤの動き情報に基づいて、ヒット後の移動体の移動演算処理を行う。また仮想カメラ制御部608は、モーション検出情報に基づいて、仮想カメラの視線方向を制御する。また操作情報取得部602は、操作情報として、プレーヤが入力した第1の操作情報と第2の操作情報を取得し、仮想カメラ制御部608は、第1の操作情報に基づいて、仮想カメラの視線方向を制御し、第2の操作情報に基づいて、仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御する。更に記録処理部614は、ヒット判定タイミングにおける移動体及び仮想カメラの少なくとも一方の状態を特定する情報を、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報として、例えば記憶部670に記録する処理を行う。
【0113】
なお、画像を生成するための画像生成用データとは、本実施形態の手法により生成された画像をTM1〜TMnの各端末装置において表示するためのデータであり、画像データそのものであってもよいし、各端末装置が画像を生成するために使用する各種データ(オブジェクトデータ、制御結果データ、判定結果データ又は表示画面の設定データ等)であってもよい。例えばサーバシステム500が、各端末装置の操作部からの操作情報を取得し、各種の制御処理や各種の判定処理を行い、画像を生成して、TM1〜TMnの各端末装置に配信(ストリーム配信等)する場合には、上述の画像生成用データは画像データそのものになる。一方、サーバシステム500が、各端末装置の操作部からの操作情報を取得し、各種の制御処理や各種の判定処理を行い、その制御結果や判定結果に基づいてTM1〜TMnの各端末装置が画像を生成する場合には、上述の画像生成用データは、制御結果データや判定結果データやオブジェクトデータなどになる。音生成用データ生成部630が生成する音生成用データについても同様である。
【0114】
なお操作情報取得部602、ゲーム演算部604、オブジェクト空間設定部606、仮想カメラ制御部608、ヒット演算部610、移動体演算部612、記録処理部614、画像生成用データ生成部620、音生成用データ生成部630、記憶部670、情報記憶媒体680、通信部696等の詳細な機能、動作は図1で上述に説明したものと同様であるため、詳細な説明は省略する。
【0115】
2.本実施形態の手法
次に本実施形態の手法について具体的に説明する。なお、以下では本実施形態の手法をテニスゲームに適用した場合について主に説明するが、本実施形態の手法が適用されるゲームはテニスゲームに限定されず、例えばバレーボール、バトミントン、野球、サッカー、アメリカンフットボールなどの種々の球技ゲームや、球技ゲーム以外の種々のゲーム(アクションゲーム、ロールプレイングゲーム、音楽ゲーム、ミニゲーム等)にも適用できる。
【0116】
2.1 ヒット判定タイミング前の動き情報に基づくヒット演算処理
従来のテニスゲームでは、プレーヤに対応するプレーヤキャラクタをコート上に配置し、プレーヤは、操作部の方向指示キーや操作ボタンを用いてプレーヤキャラクタを操作してテニスゲームを楽しむ。
【0117】
しかしながら、このような従来のテニスゲームの手法では、プレーヤの実際の動きを、ボールを打ち返すストローク動作に反映させることができず、プレーヤの仮想現実感を今ひとつ高めることができなかった。また、従来のテニスゲームでは、コートのベースラインの後ろ側の位置に固定配置された仮想カメラから見た三人称視点の画像を生成する場合が殆どであったため、実際にテニス選手となってコート上を駆け回ってボールを打つというようなリアルな感覚を、プレーヤに体感させることが難しかった。
【0118】
そこで本実施形態では、モーションセンサからのモーション検出情報を操作情報として取得し、このモーション検出情報に基づいて、ボール(広義には移動体)のヒット判定タイミング前でのプレーヤの動き情報を検出する。そして、このヒット判定タイミング前でのプレーヤの動き情報に基づいて、ヒット後のボールの移動演算処理を行う。例えばヒット判定タイミング前でのプレーヤの動き情報が検出された場合には、テークバック動作等の準備動作が行われたと判断する。そして、動き情報が検出されなかった場合に比べて強いヒット強さで、ボールが打ち返されるようにボールの移動演算処理を行う。こうすることで、プレーヤのリアルな動きを、ボールを打ち返すストローク動作等に反映させることが可能になり、プレーヤの仮想現実感を高めることが可能になる。
【0119】
また、例えばコートのベースラインの後ろ側に固定配置された仮想カメラの視点ではなく、実際のテニス選手の視点に追従するような仮想カメラの視点での画像を生成する。一例としてはテニス選手の視点での一人称視点の画像を生成する。この場合に例えばラケットやテニス選手の腕等の部位を画面上に表示してもよい。
【0120】
そして、このような視点での画像を生成しながら、例えば画面の真ん中付近でボールを捕らえてヒットすれば、弱い当たりのストロークになり、画面の右端でボールをヒットすれば強い当たりのフォアハンドストロークになるような処理を行う。また画面の左端でボールをヒットすれば強い当たりのバックハンドストロークになるような処理を行う。こうすることで、あたかも実際のテニス選手となってコート上を駆け回ってボールを打っているようなリアルな感覚をプレーヤに体感させることができ、従来のテニスゲームに比べてプレーヤの仮想現実感を大幅に向上できる。
【0121】
次に本実施形態の手法について更に具体的に説明する。以下では、仮想カメラの視線方向等を制御する手法として、携帯型ゲーム装置に設けられたモーションセンサを用いる手法を例にとり説明する。
【0122】
図3(A)、図3(B)に、本実施形態の手法が適用される携帯型ゲーム装置の構成例を示す。この携帯型ゲーム装置は、メイン表示部190Mとサブ表示部190Sを有する。サブ表示部190Sは、例えばタッチパネル方式の液晶ディスプレイにより実現され、ゲーム装置の筐体10に設けられる。メイン表示部190Mは、サブ表示部190Sよりも例えば画素数が多いディスプレイとなっており、例えば液晶ディスプレイなどにより実現される。なお、メイン表示部190Mは、例えば裸眼の立体視画像を表示できるディスプレイになっており、ゲーム画像が立体視で表示される。
【0123】
携帯型ゲーム装置の筐体10と筐体20は回動自在に設けられており、筐体10には、方向指示キー12、アナログスティック(ジョイスティック)14、操作ボタン16が設けられている。また図3(B)に示すように、筐体20の背面側(メイン表示部190Mの反対側)には第1、第2のカメラCM1、CM2が設けられている。これらの第1、第2のカメラCM1、CM2を用いて被写体を撮影することで、視差のある左眼用画像と右眼用画像を得ることが可能になり、立体視表示が可能になる。
【0124】
更に携帯型ゲーム装置には図示しないモーションセンサ(6軸センサ)が内蔵されている。そして、プレーヤが携帯型ゲーム装置を手に持って動かした場合に、このモーションセンサを用いることで、図3(A)のX軸、Y軸、Z軸方向での加速度や、X軸回り、Y軸回り、Z軸回りでの角速度を検出できる。これによりX軸、Y軸、Z軸方向での並進移動操作や、X軸回り、Y軸回り、Z軸回りでの回転角度(ロール操作、ロール角度)を検出できるようになる。なお、X軸(広義には第1の座標軸)は水平方向(表示部の画面の水平方向)に沿った軸であり、Y軸(広義には第2の座標軸)は鉛直方向(表示部の画面の鉛直方向)に沿った軸であり、Z軸(広義には第3の座標軸)はX軸、Y軸に直交する方向(奥行き方向)である。
【0125】
次に、モーション検出情報に基づく仮想カメラの視線方向の制御について、図4(A)〜図4(C)を用いて詳細に説明する。本実施形態ではモーションセンサからのモーション検出情報を第1の操作情報として取得し、この第1の操作情報であるモーション検出情報に基づいて、仮想カメラの視線方向を制御する。
【0126】
例えば図4(A)のD1、D2に示すように、プレーヤは、携帯型ゲーム装置(ゲームコントローラ)をX軸回りに回転(ロール)させる操作を行うことができる。この場合には、モーションセンサの角速度センサにより、このX軸回りでの回転操作(ロール操作)が検出される。
【0127】
そして図4(A)のD1に示すように、X軸において反時計回り(回転軸の正の側から見て反時計回り。負方向の回転)に携帯型ゲーム装置を回転(ロール)させた場合には、図4(B)のE1に示すように、カメラ座標系のXC軸において反時計回りに仮想カメラVCの視線方向VLが回転する。これにより、仮想カメラVCの視線方向VLを、例えば後述するようなスマッシュ(或いはサーブ)に好適な視線方向に設定できるようになる。
【0128】
一方、図4(A)のD2に示すように、X軸において時計回り(回転軸の正の側から見て時計回り。正方向の回転)で携帯型ゲーム装置を回転させた場合には、図4(B)のE2に示すように、カメラ座標系のXC軸において時計回りに仮想カメラVCの視線方向VLが回転する。
【0129】
また図4(A)のD3、D4に示すように、プレーヤが、携帯型ゲーム装置をY軸回りに回転させた場合には、モーションセンサの角速度センサにより、このY軸回りでの回転操作が検出される。
【0130】
そして図4(A)のD3に示すように、Y軸において反時計回りに携帯型ゲーム装置を回転させた場合には、図4(C)のE3に示すように、カメラ座標系のYC軸において反時計回りに仮想カメラVCの視線方向VLが回転するようになる。これにより、仮想カメラVCの視線方向VLを、例えばバックハンドストローク(右利きの場合)に好適な視線方向に設定できるようになる。
【0131】
一方、図4(A)のD4に示すように、Y軸において時計回りに携帯型ゲーム装置を回転させた場合には、図4(C)のE4に示すように、カメラ座標系のYC軸において時計回りに仮想カメラVCの視線方向VLが回転するようになる。これにより、仮想カメラVCの視線方向VLを、例えばフォアハンドストローク(右利きの場合)に好適な視線方向に設定できるようになる。
【0132】
なお、モーションセンサとして、角速度センサ等ではなく、画像センサを用いて、携帯型ゲーム装置の回転操作を検出し、仮想カメラの視線方向等を制御してもよい。即ちカメラの撮像センサによる撮像画像を用いて、携帯型ゲーム装置の回転操作を検出して、仮想カメラの視線方向等を制御する。例えば図3(B)に示すようなカメラCM1、CM2により携帯型ゲーム装置の周りの風景を撮影し、得られたカメラCM1、CM2の撮像画像に対して画像処理を行うことで、撮像画像の画素の動き情報から携帯型ゲーム装置の回転操作を検出する。このようにすれば、携帯型ゲーム装置が有する画像センサをモーションセンサとして用い、携帯型ゲーム装置の回転操作を検出して、仮想カメラの視線方向等を制御できるようになる。
【0133】
次に、方向指示情報に基づく仮想カメラの視点位置等の移動の制御について、図5(A)〜図5(C)を用いて詳細に説明する。本実施形態では、方向指示部からの方向指示情報を第2の操作情報として取得し、第2の操作情報である方向指示情報に基づいて、仮想カメラの視点位置の移動(プレーヤキャラクタの移動)を制御する。
【0134】
例えば図5(A)や図5(B)のB1〜B4に示すように、方向指示部である方向指示キー12やアナログスティック14(ジョイスティック)を用いて上下左右方向の方向指示操作が行われたとする。この場合には、指示された方向に対応する方向に、仮想カメラVCの視点位置(プレーヤキャラクタの位置)を移動させる。
【0135】
具体的には、図5(A)や図5(B)のB1〜B4に示すような方向指示が行われた場合には、図5(C)のC1〜C4に示す方向に仮想カメラVCを移動させる。
【0136】
例えば方向指示キー12やアナログスティック14などの方向指示部により、図5(A)、図5(B)のB1、B2に示すように上下方向の方向指示が行われた場合には、図5(C)のC1、C2に示すように、仮想カメラVCを前後方向に移動させる。一方、図5(A)、図5(B)のB3、B4に示すように左右方向の方向指示が行われた場合には、図5(C)のC3、C4に示すように、仮想カメラVCを左右方向に移動させる。
【0137】
以上のようにモーション検出情報に基づき仮想カメラの視線方向を制御し、方向指示情報に基づいて仮想カメラの視点位置の移動を制御することで、携帯型ゲーム装置を用いた一人称視点画像の生成に好適な仮想カメラの制御手法を実現できる。
【0138】
例えば図6に本実施形態により実現されるテニスゲームの例を示す。本実施形態では図6に示すように、プレーヤが携帯型ゲーム装置を所持して、表示部に表示されるゲーム画像を見ながらテニスゲームを楽しむ。そして図4(A)のD1〜D4に示すようにプレーヤが携帯型ゲーム装置を動かすと、この動きがモーションセンサにより検出され、携帯型ゲーム装置の動きに連動して、図4(B)、図4(C)に示すように仮想カメラVCの視線方向VLが変化するようになる。またプレーヤが図5(A)、図5(B)に示すように携帯型ゲーム装置の方向指示キー12やアナログスティック14などの方向指示部を操作すると、図5(C)に示すように仮想カメラVCの視点位置が移動する。
【0139】
従って、プレーヤは、方向指示部を操作することで、あたかも実際のテニス選手になったかのような感覚でコート上を走り回ることができる。また携帯型ゲーム装置を左右方向や上下方向に動かすことで視線方向を変化させて、相手キャラクタが打ったボールを視野範囲に収めて、ボールを打ち返すことが可能になる。これにより、コートのベースラインの後方に仮想カメラが固定配置されていた従来のテニスゲームに比べて、プレーヤの仮想現実感を格段に向上することができる。
【0140】
そして本実施形態ではこのような仮想カメラの制御手法での画像を生成する際のヒット後のボールの移動演算手法として、以下に説明する手法を採用している。
【0141】
まず本実施形態では、モーションセンサからのモーション検出情報を操作情報として取得し、ヒット判定タイミング前でのプレーヤの動き情報を検出する。そして、検出されたプレーヤの動き情報に基づいて、ヒット後のボールBLの移動演算処理を行う。
【0142】
具体的には、ボールBLのヒット判定タイミング前にプレーヤが携帯型ゲーム装置を動かすと、ヒット判定タイミング前の携帯型ゲーム装置の動きを、モーション検出情報に基づき検出する。例えば図7(A)のH1に示すように、プレーヤがヒット判定タイミング前に携帯型ゲーム装置をY軸回りで回転させる操作を行うと、この携帯型ゲーム装置のY軸回りでの回転の動きが、モーション検出情報により検出される。
【0143】
そして、このようにヒット判定タイミング前に携帯型ゲーム装置のY軸回りでの回転の動きが検出されると、図7(B)のH2に示すように、仮想カメラVCの視線方向VLを、Y軸に対応するカメラ座標系のYC軸回りで回転させる。また、このY軸回りの回転に対応する動作をプレーヤが行ったとして、ヒット演算処理を行う。テニスゲームを例にとればフォアハンドストロークのテークバック動作をプレーヤが行ったとして、ボールBLをラケットRKによりフォアハンドストロークで打ち返すヒット演算処理を行う。具体的には、ヒット判定タイミング前に、このようなY軸回りでの回転の動きが検出された場合には、プレーヤがテークバック動作(広義には準備動作)を行ったと判断し、このような動きが検出されなかった場合に比べて強いヒット強さのフォアハンドストロークで、ボールBLが打ち返されるようにする。
【0144】
また図8(A)のH3に示すように、プレーヤがヒット判定タイミング前に携帯型ゲーム装置をX軸回りで回転させる操作を行うと、この携帯型ゲーム装置のX軸回りでの回転の動きが、モーション検出情報により検出される。
【0145】
そして、このようにヒット判定タイミング前に携帯型ゲーム装置のX軸回りでの回転の動きが検出されると、図8(B)のH4に示すように、仮想カメラVCの視線方向VLを、X軸に対応するカメラ座標系のXC軸回りで回転させる。また、このX軸回りの回転に対応する動作をプレーヤが行ったとして、ヒット演算処理を行う。テニスゲームを例にとればスマッシュのテークバック動作をプレーヤが行ったとして、ボールBLをラケットRKによりスマッシュで打ち返すヒット演算処理を行う。具体的には、ヒット判定タイミング前に、このようなX軸回りでの回転の動きが検出された場合には、プレーヤがテークバック動作を行ったと判断し、このような動きが検出されなかった場合に比べて強いヒット強さのスマッシュで、ボールBLが打ち返されるようにする。
【0146】
例えば図9(A)では、プレーヤは、ボールをヒットする前に、携帯型ゲーム装置を右側に振っている。即ちプレーヤは、携帯型ゲーム装置をあたかもラケットのように振りかぶって、テークバック動作を行っている。そうすると、このプレーヤのテークバック動作の動きが、携帯型ゲーム装置に内蔵されるモーションセンサにより検出される。そして、モーションセンサからのモーション検出情報に基づいて、図9(B)に示すように仮想カメラVCの視線方向VLが変化して、右側に向くようになる。
【0147】
図10は、プレーヤがこのようなテークバック動作を行った場合に生成されるゲーム画像の例である。プレーヤが携帯型ゲーム装置を右側に振ると、図9(B)のように仮想カメラVCの視線方向VLも右側に向くように変化するため、図10に示すような右横側を見るゲーム画像が生成されるようになる。
【0148】
そして、このようにボールBLのヒット前に、プレーヤが携帯型ゲーム装置を用いてテークバック動作を行い、ボールBLがヒットされたと判定されると、より強いヒット強さでボールBLが打ち返されるようになる。即ち、プレーヤがテークバック動作を行い、その後のヒット判定タイミングにおいて、後述するヒット判定処理の詳細で説明するようにボールBLがヒット判定エリアの例えば右端付近に位置すると判定されると、テークバック動作を行わない場合よりも強いヒット強さでボールが打ち返され、より速い速度でボールが相手側のコートに飛んで行くようになる。
【0149】
このようにすれば、プレーヤは、ヒット前にテークバック動作を行って、画面の右端や左端でボールBLを打ち返せば、より速い速度でボールBLを打ち返すことが可能になり、実際のテニスと同様のショット感覚をプレーヤに与えることが可能になる。なお、図10では、プレーヤ(右利き)が携帯型ゲーム装置を右側に振るテークバック動作を行って、画面の右端でボールBLを打ち返すことで、強いフォアハンドストロークでボールBLが打ち返されている。これとは逆に、プレーヤが携帯型ゲーム装置を左側に振るテークバック動作を行って、画面の左端でボールBLを打ち返すことで、強いバックハンドストロークでボールBLが打ち返されるようになる。
【0150】
また図11(A)では、プレーヤは、ボールをヒットする前に、携帯型ゲーム装置を上側に振り上げている。即ちプレーヤは、携帯型ゲーム装置をあたかもラケットのように上に振り上げて、スマッシュのテークバック動作を行っている。そうすると、このプレーヤの動きが、携帯型ゲーム装置に内蔵されるモーションセンサにより検出される。そして、モーションセンサからのモーション検出情報に基づいて、図11(B)に示すように仮想カメラVCの視線方向が変化して、上側に向くようになる。
【0151】
図12は、プレーヤがこのようなスマッシュのテークバック動作を行った場合に生成されるゲーム画像の例である。プレーヤが携帯型ゲーム装置を上側に振り上げると、図11(B)のように仮想カメラVCの視線方向も上側に向くため、図12に示すような上側を見るゲーム画像が生成されるようになる。
【0152】
そして、このようにボールBLのヒット前に、プレーヤが携帯型ゲーム装置を用いてスマッシュのテークバック動作を行い、ボールBLがヒットされたと判定されると、強いヒット強さのスマッシュでボールBLが打ち返されるようになる。即ち、プレーヤがスマッシュのテークバック動作を行い、その後のヒット判定タイミングにおいて、ボールBLがヒット判定エリアの例えば上端付近に位置すると判定されると、スマッシュのテークバック動作を行わない場合よりも強いヒット強さでボールが打ち返され、より速い速度でボールが相手側のコートに飛んで行くようになる。
【0153】
このようにすれば、プレーヤは、ヒット前にスマッシュのテークバック動作を行って、画面の上端でボールBLを打ち返せば、より速い速度のスマッシュでボールBLが打ち返されるようになり、実際のテニスと同様のショット感覚をプレーヤに与えることが可能になる。
【0154】
次に本実施形態のヒット判定処理の詳細について説明する。本実施形態では図13(A)、図13(B)に示すように、仮想カメラVCの例えば前方側にヒット判定エリアHARを設定する。そして図13(A)、図13(B)に示すように、仮想カメラVCの移動に追従するように、ヒット判定エリアHARについても移動させる。
【0155】
例えば図13(A)では、図5(A)〜図5(C)で説明したように方向指示部からの方向指示情報に基づいて、仮想カメラVCが右方向に移動している。この場合には仮想カメラVCの前方側に設定されたヒット判定エリアHARも右方向に移動する。
【0156】
また図13(B)では、方向指示部からの方向指示情報に基づいて、仮想カメラVCが右上方向に移動している。この場合には仮想カメラVCの前方側に設定されたヒット判定エリアHARも右上方向に移動する。このようにヒット判定エリアHARは仮想カメラVCの移動に連動して移動する。
【0157】
このようにヒットエリアHARの移動制御を行うことで、プレーヤが、自身の目の前に飛んで来るボールを打ち返すことができるテニスゲームを実現できるようになる。
【0158】
具体的には図14(A)において、例えばヒット判定タイミングにおいてヒット判定エリアHAR内にボールBL(広義には移動体)が位置していた場合には、ボールBLはプレーヤのラケット(広義にはヒット体)によりヒットされたと判定する。この場合にヒット判定タイミングは、例えばプレーヤが操作部160を用いてショットの操作を行ったタイミングである。或いは、ヒット判定タイミングは、このようなショット操作を行うことで、プレーヤキャラクタ(表示又は非表示のプレーヤキャラクタ)がショットモーションを行い、そのショットモーションの中でプレーヤキャラクタがボールを打ったと想定されるタイミングであってもよい。
【0159】
そして本実施形態では、このようなヒット判定タイミングでのヒット判定エリアHARにおけるボールBL(移動体)の位置情報に基づいて、ボールのヒット移動演算処理を行う。例えば図14(A)に示すようにヒット判定エリアHARでの水平方向に沿った軸をX軸とし、鉛直方向に沿った軸をY軸とし、X軸及びY軸に直交する軸をZ軸としたとする。この場合にはヒット判定タイミングでのボールBLのX座標情報やY座標情報に基づいて、ボールBLのヒット強さを設定する。
【0160】
例えば図14(A)では、ヒット判定タイミングにおいてボールBLは、ヒット判定エリアHARの真ん中付近に位置している。即ちボールBLは仮想カメラVCの正面に位置しており、図6等に示すゲーム画像においては画面の中心付近にボールBLが表示されるようになる。例えば仮想カメラVCの正面に対応する位置をX軸、Y軸の原点とした場合には、図14(A)のボールBLのX座標は仮想カメラVC(原点)に近い位置になる。このような場合には、ヒット強さを弱くして、遅い速度でボールBLが打ち返されるように、ボールBLの移動演算処理を行う。
【0161】
また図14(B)では、ヒット判定タイミングにおいてボールBLは、ヒット判定エリアHARの右端付近に位置している。即ち、ヒット判定タイミングにおいてボールBLは仮想カメラVCの右側に位置しており、ゲーム画像においては画面の右端付近にボールBLが表示されるようになる。即ちボールBLのX座標は仮想カメラVCから正方向側に遠い位置になる。このような場合には、ヒット強さを強くして、速い速度でボールBLが打ち返されるように、ボールBLの移動演算処理を行う。具体的には右利きプレーヤの場合には強いフォアハンドストロークでボールBLが打ち返されるようにする。
【0162】
また図14(C)では、ヒット判定タイミングにおいてボールBLは、ヒット判定エリアHARの左端付近に位置している。即ち、ヒット判定タイミングにおいてボールBLは仮想カメラVCの左側に位置しており、ゲーム画像においては画面の左端付近にボールBLが表示されるようになる。即ちボールBLのX座標は仮想カメラVCから負方向側に遠い位置になる。このような場合には、ヒット強さを強くして、速い速度でボールBLが打ち返されるように、ボールBLの移動演算処理を行う。具体的には右利きプレーヤの場合には強いバックハンドストロークでボールBLが打ち返されるようにする。
【0163】
図15は、ヒット判定エリア内でのボールBLのX座標XB、Y座標YBに基づくヒット強さパラメータPSの設定手法を説明する図である。図15に示すようにヒット強さパラメータPSは、ボールBLの座標XB、YBの関数F(XB、YB)で表される。そしてボールBLが例えばXY平面の原点から遠ざかるにつれて、ヒット強さパラメータPSで表されるヒット強さは強くなる。即ちXY平面において仮想カメラVCから遠ざかるほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後のボールBLの移動演算処理が行われる。なお、例えばY座標YBが大きい場合には、スマッシュが行われたとして、強いスマッシュショットでボールBLが打ち返されるような移動演算処理が行われる。但し、ボールBLのX座標XBのみに基づいて、或いはY座標YBのみに基づいて、ヒット強さパラメータPSを設定するようにしてもよい。
【0164】
また本実施形態では、ヒット判定タイミングでのボールのZ座標情報に基づき設定されたヒット方向パラメータに基づいて、ヒット後の移動体の移動演算処理を行う。
【0165】
例えば図16(A)において、ヒット判定エリアHARに設定された判定基準面RSは、例えばジャストタイミングの位置を表す面となっている。そしてヒット判定タイミングにおいて判定基準面RSの位置にボールBLが位置していた場合には、図16(A)に示すように正面方向である第1の方向DR1側に、ヒット後のボールBLを移動させる。即ちヒット判定タイミングはジャストタイミングであると判定して、正面方向にボールBLが打ち返されるようにする。
【0166】
また図16(B)では、ヒット判定タイミングにおいて判定基準面面RSよりもZ軸において奥側にボールBLが位置している。この場合には、第1の方向DR1に対して左方向側(広義には第1の方向に対して左方向側及び右方向側のいずれか一方側)である第2の方向DR2側に、ヒット後のボールBLを移動させる。即ち、ヒット判定タイミングはジャストタイミングよりも早いタイミングであると判定して、左方向側にボールBLが打ち返されるようにする。例えば右利きの場合には早振りのフォアハンドストロークでボールBLが打ち返されるようになる。
【0167】
また図16(C)では、ヒット判定タイミングにおいて判定基準面面RSよりもZ軸において手前側にボールBLが位置している。この場合には、第1の方向DR1に対して右方向側(広義には第1の方向に対して一方側とは異なる他方側)である第3の方向DR3側に、ヒット後のボールBLを移動させる。即ち、ヒット判定タイミングはジャストタイミングよりも遅いタイミングであると判定して、右方向側にボールBLが打ち返されるようにする。例えば右利きの場合には振り遅れのフォアハンドストロークでボールBLが打ち返されるようになる。
【0168】
以上のようにすることで、ヒット判定タイミングでのボールのZ座標情報に基づき設定されたヒット方向で、ヒット後のボールBLを移動させることが可能になる。
【0169】
図17(A)、図17(B)は、本実施形態により生成されるゲーム画像の例である。図17(A)は、図14(A)のようにヒット判定タイミングにおいてヒット判定エリアHARの真ん中付近にボールBLが位置していた場合のゲーム画像の例であり、ボールBLは画面の真ん中付近に表示されている。この場合には、弱いショットでボールBLが打たれたと判定され、ボールBLが遅い速度で打ち返されるゲーム画像が生成されるようになる。
【0170】
図17(B)は、図14(B)のようにヒット判定タイミングにおいてヒット判定エリアHARの右端付近にボールBLが位置していた場合のゲーム画像の例であり、ボールBLは画面の右端付近に表示されている。この場合には、強いフォアハンドショットでボールBLが打たれたと判定され、ボールBLが速い速度で打ち返されるゲーム画像が生成されるようになる。
【0171】
なお図17(A)、図17(B)では、ボールBLのヒット位置に対応する位置にラケットRKを表示している。例えば図17(A)では、ボールBLが画面の真ん中付近でヒットされているため、ラケットRKは画面の真ん中付近に表示され、図17(B)では、ボールBLが画面の右端付近でヒットされているため、ラケットRKは画面の右端付近に表示される。このようにすることで、図17(A)、図17(B)のような一人称視点の画像であっても、ボールBLが打ち返された位置をプレーヤは容易に把握できるようになる。
【0172】
このように本実施形態では、画面の真ん中付近でボールが打ち返された場合には、弱いショットになり、腕を伸ばした位置に相当する画面の右端や左端付近でボールが打ち返された場合には、強いショットになる。つまり体の正面でボールを捕らえるボディショットの場合には、弱いショットになり、腕を伸ばして体の右側や左側でしっかりとボールを捕らえた場合には、強いショットになる。従って、プレーヤは、正面に来たボールを左右に回り込んで打ち返すことで速いショットを打てるようになり、実際のテニスのようなリアルなショット感覚をプレーヤに与えることが可能になる。
【0173】
以上のように本実施形態によれば、プレーヤは、方向指示部により仮想カメラを移動させると共に携帯型ゲーム装置を動かすことで視線方向を変化させて、コート上でボールを追うことができる。そしてプレーヤは、携帯型ゲーム装置を動かして、テークバック動作を行うことで、ボールを速い速度で打ち返すことが可能になる。また画面の右端や左端や上端でボールを捕らえてヒットすることで、画面上のヒット位置に対応したストロークでボールを打ち返すことが可能になる。従って、実際のスポーツに近い動きを行いながら、様々な方向で見てボールを追いかけてボールを打ち返すことが可能になる。これにより、プレーヤは、周囲に広がるフィールドやスポーツのプレイの臨場感を体感することができ、これまでにない仮想現実感を実現できるゲームの提供が可能になる。
【0174】
2.2 仮想カメラ及び判定基準面の制御
次に仮想カメラや判定基準面の種々の制御手法について説明する。本実施形態では図9(A)に示すようにプレーヤが携帯型ゲーム装置を動かすと、図9(B)に示すように仮想カメラの視線方向が変化し、図10に示すようなゲーム画像が生成される。
【0175】
しかしながら、モーション検出情報のみに基づいて仮想カメラの視線方向を変化させると、ボールがプレーヤの視野範囲から外れてしまい、ボールを打ち返す時に、ボールがゲーム画像に映らなくなってしまう事態が生じる。このような事態が生じると、プレーヤがボールBLを打ち返すのが難しくなり、プレーヤのゲーム操作性が悪化する。
【0176】
そこで本実施形態では、モーション検出情報だけではなく、移動体であるボールへの方向も反映させて、仮想カメラの視線方向を設定することが望ましい。
【0177】
具体的には図18(A)、図18(B)において、第1の方向DQ1は、仮想カメラVCからボールBL(移動体)に向かう方向である。例えばこの第1の方向DQ1は、仮想カメラVCの視点位置とボールBLの位置(中心位置、代表位置)を結ぶ方向になる。
【0178】
第2方向DQ2は、モーション検出情報により特定される方向である。例えば図9(A)においてプレーヤが携帯型ゲーム装置をθ度だけ回転したことがモーション検出情報により検出された場合には、第2の方向DQ2も、初期方向である正面方向をθ度だけ回転させた方向になる。例えばプレーヤが、正面を向いた状態からθ=90度だけ右側又は左側に携帯型ゲーム装置を回転させると、第2の方向DQ2は初期方向である正面方向を、90度だけ右側又は左側に回転させた方向になる。
【0179】
そして第3の方向DQ3は、これらの第1の方向DQ1と第2の方向DQ2の間の方向になる。例えば第3の方向DQ3は、第1の方向DQと第2の方向DQ2の中間方向に設定される。そして図18(A)、図18(B)では、第1、第2の方向DQ1、DQ2の間の方向である第3の方向DQ3にその視線方向VLが向くように、仮想カメラVCの視線方向VLが制御される。
【0180】
このようにすれば、仮想カメラVCの視線方向VLは、モーション検出情報に基づき特定される第2の方向DQ2よりも、ボールBLへの方向である第1の方向DQ1側に向くようになる。これより、モーション検出情報のみに基づき仮想カメラVCの視線方向VLを変化させることでボールBLがプレーヤの視野範囲から外れてしまうような事態の発生を抑制できる。従って、モーション検出情報に基づき仮想カメラVCの視線方向VLを変化させた場合にも、プレーヤがボールBLを打ち返すのが難しくなるのが抑制され、プレーヤのゲーム操作性を向上できる。
【0181】
なお図18(A)、図18(B)では、第1の方向DQ1は仮想カメラVCからボールBL(広義には、プレーヤキャラクタの部位又は所持物のヒット対象となる移動体)に向かう方向になっている。しかしながら、後述するように、他のゲームへの適用例の場合には、第1の方向DQ1は、仮想カメラVCから、プレーヤのプレイ対象となるキャラクタに向かう方向などであってもよい。
【0182】
また図19(A)、図19(B)では、ボールBLとラケットRKがヒットしたと判定されて、ボールBLがヒット方向にヒットされている。このようにボールBLがヒットされた場合には図19(B)に示すように、ボールBL(移動体)がヒットされた後に、ボールBLの移動先側に仮想カメラVCの視線方向VLを向ける制御を行ってもよい。即ち、ヒットされて飛んで行くボールBLがその視野範囲から外れないように、仮想カメラVCの視線方向VLをボールBLの方に向ける。
【0183】
こうすることで、プレーヤは、自身が打ったボールBLが、相手コートのどの位置・方向に飛んで行ったのかを、例えば携帯型ゲーム装置の表示部に映し出されるゲーム画像を見ながら確認できるようになる。
【0184】
即ち図9(A)に示すようにプレーヤが携帯型ゲーム装置を右側に回転させることで、図9(B)に示すように仮想カメラVCの視線方向が変化した場合に、何ら処理を施さないと、ボールBLがヒットされた後も、図10に示すような視線方向のゲーム画像が、携帯型ゲーム装置の表示部に表示されることになる。
【0185】
しかしながら、ボールBLがヒットされると、図10に示すような視線方向のゲーム画像では、その視野範囲内からボールBLが消えてしまい、プレーヤは、ボールBLの移動先を確認できなくなってしまう。
【0186】
この点、図19(B)に示すように、ヒットされて飛んで行くボールBLの方に仮想カメラVCの視線方向VLを向ければ、プレーヤはボールBLの移動先を確認できるようになり、プレーヤのゲーム操作性を向上できる。
【0187】
なお図19(B)に示すようにボールBLの飛んで行く方向に仮想カメラVCの視線方向VLを向けた後、所与の期間が経過した場合に、仮想カメラVCの視線方向VLを元の方向(例えば図19(A)の方向)に戻すことが望ましい。このようにすれば、ボールBLがヒットされて所与の期間が経過するまでの間は、仮想カメラVCの視線方向VLがボールBLの方向に向くことで、プレーヤはボールBLが移動して行く様子を確認できる。そして所与の期間が経過すると、プレーヤが携帯型ゲーム装置を回転させた方向に対応する元の方向に、視線方向VLが戻るようになるため、仮想カメラVCの視線方向を、プレーヤの意思を反映させた方向に再設定することが可能になる。
【0188】
また図10のような視線方向の画像でのヒット判定処理を容易化するために、図20(A)、図20(B)に示すような手法を採用してもよい。
【0189】
即ち図20(A)、図20(B)では、ヒット判定タイミング前でのプレーヤの動き情報が検出されると、ボールBL(移動体)のヒット判定処理を行うための判定基準面RSを、仮想カメラVCに近づく方向に移動させている。この判定基準面RSは、ヒット判定の基準となる面であり、例えば図16(A)〜図16(C)で説明したようにジャストタイミングの位置を表す面である。具体的には、ヒット判定タイミングにおいてボールBLが判定基準面RSに位置していた場合には、ボールBLのヒットタイミングはジャストタイミングであると判定され、例えばボールBLは正面方向である真っ直ぐの方向に飛ぶようになる。
【0190】
そしてプレーヤが携帯型ゲーム装置を回転させることで図10に示すような横向きの視線方向のゲーム画像が表示される場合に、図20(A)のような判定基準面RSの設定でヒット判定処理を行うと、プレーヤがボールBLを打ち返す操作が難しくなってしまう。即ち図20(A)のようにジャストタイミングに対応する判定基準面RSが仮想カメラVCの前方の遠い位置にあると、図12のゲーム画像を見ながらプレーヤが、ボールBLのショット操作を行うタイミングを、判定基準面RSのジャストタイミングに合わせるのが難しくなってしまう。
【0191】
この点、図20(B)では、ヒット判定タイミング前でのプレーヤの動き情報が検出されると、判定基準面RSが、仮想カメラVCに近づく方向に移動する。即ち仮想カメラVCから見て手前側に判定基準面RSが移動する。具体的には、図20(A)、図20(B)に示すように、判定基準面RSと仮想カメラVCとの距離LRCが短くなる。従って、図10においてボールBLが、よりラケットRKに近づいたタイミングがジャストタイミングになるため、プレーヤは、ショット操作のタイミングを、判定基準面RSのジャストタイミングに容易に合わせることが可能になる。従って、プレーヤのゲーム操作を容易化でき、プレーヤは、より現実世界に近いショットの感覚で、ボールBLを打ち返すことが可能になる。
【0192】
2.3 ヒット強さパラメータの設定
次に本実施形態のヒット強さパラメータの設定手法について説明する。
【0193】
本実施形態では、ヒット判定タイミング前でのプレーヤの動き情報が検出されると、動き情報が検出されなかった場合に比べて強いヒット強さになるように、ヒット強さパラメータを設定して、ボールBLの移動演算処理を行う。更に具体的には、ヒット判定タイミング前でのプレーヤの動き量が大きいほど強いヒット強さになるように、ヒット強さパラメータを設定する。
【0194】
例えば図21(A)に、プレーヤの動き量に対するヒット強さパラメータのヒット強さの設定例を示す。図21(A)に示すように、ヒット判定タイミング前に検出されたプレーヤの動き量が大きいほど、ボールBLのヒット強さも大きくなる。
【0195】
即ち図9(A)において、プレーヤによる携帯型ゲーム装置の回転量が大きかった場合には、大きなテークバック動作が行われたと判断する。従って、プレーヤの動き量が大きかったと判定して、図21(A)に示すようにヒット強さも大きくする。こうすることで、ヒット後にボールBLは速い速度で相手コート側に飛んで行くようになる。
【0196】
一方、図9(A)において、プレーヤによる携帯型ゲーム装置の回転量が小さかった場合には、小さなテークバック動作が行われたと判断する。従って、プレーヤの動き量が小さかったと判定して、図21(A)に示すようにヒット強さも小さくする。こうすることで、ヒット後にボールBLは遅い速度で相手コート側に飛んで行くようになる。
【0197】
このように、プレーヤの動き量に応じてボールBLのヒット強さを変化させれば、テークバック動作の動き量の大小に応じて、ヒット後のボールBLの速度等も変化するようになり、より多彩でリアルなゲーム画像の生成が可能になる。
【0198】
また例えば図21(B)に示すように本実施形態では、ヒット判定タイミング前でのプレーヤの動き量が、判定基準値VTRFを超えたか否かを判定してもよい。そしてプレーヤの動き量が判定基準値VTRFの超えた場合に、ヒット判定タイミング前での動き情報に基づくボールBLの移動演算処理を行うようにする。即ち、プレーヤの動き量が判定基準値VTRFの超えない場合には、動き情報に基づくボールBLの移動演算処理は行われないようになる。従って、例えばプレーヤが携帯型ゲーム装置を微少に動かした場合に、この動きが検出されてしまい、ボールBLのヒット強さが変化してしまう事態を抑止できる。即ち、プレーヤの動きが小さい場合には、その小さな動きによってはボールBLのヒット強さは変化せず、プレーヤの動きが大きい場合に、その大きな動きによってボールBLのヒット強さが変化するようになる。従って、雑音等が原因で、プレーヤの動きに応じたヒット強さの設定処理に誤り等が生じてしまう事態を抑止できる。従って、ゲームの安定性や操作性を大幅に向上できるようになる。
【0199】
なおこの場合の判定基準値VTRFの設定手法としては、種々の手法を想定できる。例えばボールBLをヒットするラケットRK等のヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも1つに基づいて、この判定基準値VTRFを設定してもよい。
【0200】
例えば図22に判定基準値VTRFの設定テーブルの例を示す。図22では、プレーヤの過去成績(広義にはゲーム成績情報)、ラケット性能(広義にはヒット体の情報)、コートサーフェスや天候(広義にはゲームの環境状態情報)、難易度設定、キャラクタ能力(広義にはプレーヤキャラクタの情報)に基づいて、判定基準値VTRFが設定される。
【0201】
このようにすれば、例えばラケットの性能やキャラクタの能力に応じて、図21(B)の判定基準値VTRFが変化するようになる。従って、例えばラケットの性能やキャラクタの性能が高い場合には、携帯型ゲーム装置の少ない回転量の動きであっても、その動きがテークバック動作であると判定されて、強いヒット強さのショットが打たれるようになり、より多彩でリアルなゲーム表現が可能になる。
【0202】
なお図22に示す情報(ゲーム成績情報、ヒット体の情報、ゲームの環境状態情報、プレーヤキャラクタの情報)に基づいて、ヒット強さパラメータ(ヒット演算パラメータ)の値を設定してもよい。例えば図22に示す情報に基づいて、ヒット強さパラメータの例えば初期値を設定する。例えば過去成績が高かったり、ラケット性能等が高い場合には、ヒット強さパラメータの初期値を、高い値(強いヒットの値)に設定する。そして図7(A)〜図12等で説明したように、ボールのヒット前に、プレーヤがテークバック動作等の準備動作を行うと、この初期値を更に増加させる処理が行われ、より強いヒット強さでボールがヒットされるようになる。このような各種情報に基づいてヒット強さパラメータを設定すれば、これらの情報に応じて、ボールがヒットされた時の速さ等が変化するようになり、より多彩でリアルなゲーム表現が可能になる。
【0203】
2.4 モーション再生用情報
さて、図6等のように一人称視点のゲーム画像を生成した場合でも、例えばプレーヤが過去の自身のゲームプレイを鑑賞するリプレイ時や、他のプレーヤとの通信対戦時には、プレーヤに対応するプレーヤキャラクタの画像を生成して表示することが望ましい。例えばリプレイ時には、プレーヤキャラクタの画像を生成して表示することで、プレーヤは、自身に対応するプレーヤキャラクタがゲームプレイ中にどのような動きをしていたかを振り返ることが可能になり、効果的なリプレイ画像の生成が可能になる。また、通信対戦時には、他のプレーヤが見ている画面の画像の中に、プレーヤが操作するプレーヤキャラクタの画像を生成して表示することで、そのプレーヤキャラクタと実際に戦っているというプレイ感覚を、他のプレーヤに与えることが可能になる。
【0204】
ところが、例えば図4(A)〜図4(C)に示すようにモーションセンサからのモーション検出情報に基づいて仮想カメラVCの視線方向VL等を制御した場合に、プレーヤキャラクタの実際の動きは非常にぎこちない動作になっている可能性がある。また一人称視点の画像で1人でプレーヤがプレイしている場合には、プレーヤキャラクタのモーションは生成しなくても済むため、プレーヤキャラクタのモーションが存在していない場合もあり得る。
【0205】
そこで本実施形態では図23に示すように、ヒット判定タイミング(ヒット判定タイミングを含む所定期間)におけるボールBL(移動体)及び仮想カメラVCの少なくとも一方の状態を特定する情報を、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報として、記憶部170のモーション再生用情報記憶部174に記録する処理を行う。そしてリプレイ時や通信対戦時には、記録されたモーション再生用情報に基づいて、プレーヤに対応するプレーヤキャラクタのモーション再生処理を行うようにする。
【0206】
例えば図9(B)、図11(B)に示すような仮想カメラVCの状態でボールBLがヒットされた場合には、この状態を特定する情報を、モーション再生用情報として記録する。例えばヒット判定タイミングやヒット判定タイミングを含む期間での仮想カメラVCの視線方向や視点位置等の情報を、モーション再生用情報として記録する。或いは、テークバック動作が行われて仮想カメラVCの視線方向が横に向いた状態でボールBLがヒットされたとか、仮想カメラVCの視線方向が上に向いた状態でボールBLがヒットされたとかなどを表すイベント情報を、モーション再生用情報として記録する。
【0207】
また図14(A)〜図14(C)や図16(A)〜図16(C)に示すようなボールBLとヒット判定エリアHARの位置関係の状態でボールBLがヒットされた場合には、この状態を特定する情報を、モーション再生用情報として記録する。例えばヒット判定エリアHAR内でのボールBLの位置情報等を、モーション再生用情報として記録する。或いは、ヒット判定エリアHARの右側でボールBLがヒットされたとか、ヒット判定エリアHARの左側でボールBLがヒットされたとかなどを表すイベント情報を、モーション再生用情報として記録する。或いは、正面にボールBLが来て弱いストロークが行われたとか、強打のフォアハンドストロークが行われたとか、強打のバックハンドストロークが行われたとかなどを表すイベント情報を、モーション再生用情報として記録してもよい。
【0208】
そしてリプレイや通信対戦でのモーション再生時には、記録されたモーション再生用情報に基づいて、プレーヤキャラクタのモーション再生処理を行う。例えば図9(B)のような状態情報がモーション再生用情報として記録されていた場合には、リプレイ時や通信対戦時には、テークバックした強打のフォアハンドストロークをプレーヤキャラクタに行わせるモーション再生処理を実行する。また図11(B)のような状態情報がモーション再生用情報として記録されていた場合には、リプレイ時や通信対戦時には、スマッシュをプレーヤキャラクタに行わせるモーション再生処理を実行する。また図14(A)のような状態情報がモーション再生用情報として記録されていた場合には、リプレイ時や通信対戦時には、正面にボールBLが来て弱いストロークをプレーヤキャラクタに行わせるモーション再生処理を実行する。また図14(B)、図14(C)のような状態情報がモーション再生用情報として記録されていた場合には、リプレイ時や通信対戦時には、各々、強打のフォアハンド、強打のバックハンドのストロークをプレーヤキャラクタに行わせるモーション再生処理を実行する。
【0209】
このようにすれば、モーション検出情報に基づいて仮想カメラの視線方向等を制御することで、プレーヤキャラクタの実際の動きがぎこちない動作になっている場合等においても、リプレイ時や通信対戦時において、スムーズなモーション再生のプレーヤキャラクタを表示することが可能になる。従って、リプレイ時に表示される画像や、通信対戦において相手プレーヤの表示部に表示される画像の品質等を向上できるようになる。
【0210】
なお、以上では本実施形態の手法をテニスゲームに適用した場合について説明したが、本実施形態の手法は、テニスゲーム以外の種々の球技ゲーム等に適用可能である。
【0211】
例えば図24(A)、図24(B)は、本実施形態の手法をバレーボールゲームに適用した例である。図24(A)、図24(B)では、プレーヤは、相手コートから返球されたボールBLを画面内に捕らえて、レシーブする。そして、上げられたトスをスパイクする場合には、図11(A)のように携帯型ゲーム装置を上側に向けて、図24(B)に示すように、上空に飛んでいるボールBLを画面内に捕らえて、スパイクの指示操作を行う。この場合に、ヒット判定タイミングの前に、携帯型ゲーム装置を上側に向けてジャンプのテークバックを行うことで、より強烈なスパイクが相手側のコートに打ち返されるようになる。また例えば画面の右端でボールBLを捕らえてスパイクを行えば、強いヒット強さでボールBLがヒットされるようになる。
【0212】
更に本実施形態の手法は、テニスやバレーボールのゲーム以外にも、卓球、バトミントン、野球、サッカー、バスケットボール、アメリカンフットボール等の種々のゲームに適用できる。また球技ゲーム以外のアクションゲーム、音楽ゲーム等の種々の分野のゲームに本実施形態の手法を適用することも可能である。
【0213】
例えば図25(A)は本実施形態の手法をボクシングゲームに適用した場合のゲーム画像の例である。
【0214】
例えばプレーヤがパンチ操作を行うヒット判定タイミング前に、図9(A)に示すようにプレーヤが携帯型ゲーム装置を右側に回転させると、右パンチの準備動作が行われる。そしてプレーヤがパンチを指示するパンチ操作を行うと、図25(A)において右手グローブGRRによる強烈なパンチが相手キャラクタCHEにヒットするようになる。同様に、プレーヤがパンチ操作を行うヒット判定タイミング前に、プレーヤが携帯型ゲーム装置を左側に回転させると、左パンチの準備動作が行われる。そしてプレーヤがパンチ操作を行うと、左手グローブGRLによる強烈なパンチが相手キャラクタCHEにヒットするようになる。
【0215】
なお図25(A)のボクシングゲームでのパンチ動作については種々の変形実施が可能である。例えば携帯型ゲーム装置のLボタンにジャブのパンチを割り当て、Rボタンにストレートのパンチを割り当てる。そしてプレーヤが携帯型ゲーム装置を回転させずにLボタン、Rボタンを押すと、各々、ジャブ、ストレートのパンチが繰り出される。一方、プレーヤが携帯型ゲーム装置を左側に回転させる準備動作を行った後に、Lボタンを押すと、左のフックパンチが繰り出される。またプレーヤが携帯型ゲーム装置を右側に回転させる準備動作を行った後に、Rボタンを押すと、右のフックのパンチが繰り出される。また携帯型ゲーム装置を下側に回転させる準備動作を行った後に、LボタンやRボタンでパンチ操作を行うと、アッパーのパンチが繰り出される。
【0216】
このようにすれば図25(A)に示すような一人称視点のボクシングゲームにおいて、これまでにないリアルなパンチ操作が可能になり、プレーヤの仮想現実感を向上できる。
【0217】
なお図25(B)は、図25(A)のようなゲームにおける仮想カメラVCの視線方向VLの制御手法を示す図である。
【0218】
図25(B)において、第1の方向DQ1は、仮想カメラVCからキャラクタCHEに向かう方向である。例えばこの第1の方向DQ1は、仮想カメラVCの視点位置とキャラクタCHEの位置(代表位置)を結ぶ方向になる。一方、第2方向DQ2は、モーション検出情報により特定される方向である。
【0219】
そして第3の方向DQ3は、これらの第1の方向DQ1と第2の方向DQ2の間の方向になり、図25(B)では、第1、第2の方向DQ1、DQ2の間の方向である第3の方向DQ3にその視線方向VLが向くように、仮想カメラVCの視線方向VLが制御される。
【0220】
このようにすれば、仮想カメラVCの視線方向VLは、モーション検出情報に基づき特定される第2の方向DQ2よりも、キャラクタCHEの方向である第1の方向DQ1側に向くようになる。従って、モーション検出情報のみに基づいて仮想カメラVCの視線方向VLを変化させることでキャラクタCHEがプレーヤの視野範囲から外れてしまうような事態が発生するのを抑止できる。従って、図25(A)に示すようなゲームに好適な仮想カメラVCの視線方向VLの制御手法を提供できるようになる。
【0221】
2.5 詳細な処理例
次に本実施形態の詳細な処理例について図26、図27、図28のフローチャートを用いて説明する。
【0222】
図26は本実施形態の仮想カメラ制御処理の詳細を説明するためのフローチャートである。
【0223】
まずフレーム更新(例えば1/60秒)のタイミングであるか否かを判断する(ステップS1)。そしてフレーム更新である場合には、方向指示部からの方向指示情報やモーションセンサからのモーション検出情報を取得する(ステップS2、S3)。
【0224】
次に、図5(A)〜図5(C)で説明したように、取得された方向指示情報に基づいて、仮想カメラの視点位置を移動させる処理を行う(ステップS4)。また図13(A)、図13(B)で説明したように、仮想カメラの移動に追従させて、ヒット判定エリアを移動させる処理を行う(ステップS5)。
【0225】
次に、図4(A)〜図4(C)で説明したように、取得されたモーション検出情報に基づいて、携帯型ゲーム装置の回転角度情報を取得する(ステップS6)。そして、取得された回転角度情報に基づいて、仮想カメラの視線方向をYC軸回り、XC軸回りで回転させる処理を行う(ステップS7)。
【0226】
図27は、ヒット判定タイミング前のプレーヤの動き情報の検出処理の詳細を説明するためのフローチャートである。
【0227】
まず、モーションセンサにより取得されたモーション検出情報に基づいて、プレーヤの動き情報を取得する(ステップS11)。そして図21(B)で説明したように、プレーヤの動き量が判定基準値VTRFを超えたか否かを判定する(ステップS12)。そして動き量が判定基準値VTRFを超えた場合には、特殊動作フラグをセットする(ステップS13)。
【0228】
図27は本実施形態のヒット演算処理の詳細を説明するためのフローチャートである。
【0229】
まず、ヒット判定タイミングか否かを判断する(ステップS21)。そして、ヒット判定タイミングであると判断された場合には、ボールがヒット判定エリア内に位置するか否かを判断し(ステップS22)、ヒット判定エリア内に位置していた場合には、ボールがヒットされたと判定する(ステップS23)。
【0230】
次に、ヒット判定エリア内でのボールの位置情報を取得する(ステップS24)。また、ラケット性能、コートサーフェス、天候、難易度設定、キャラクタ能力等に基づいて、ヒット演算パラメータの初期値を設定する(ステップS25)。
【0231】
次に、特殊動作フラグがセットされているか否かを判断する(ステップS26)。例えばプレーヤが携帯型ゲーム装置を大きく動かして、判定基準値VTRFを超えると、図26のステップS13で特殊動作フラグがセットされる。そして、特殊動作フラグがセットされていると判断された場合には、ヒット判定エリア内でのボールのX座標XB、Y座標YBと、図26のステップS11で取得されたプレーヤの動き量とに基づいて、ボールのヒット強さパラメータを設定する(ステップS27)。即ち、特殊動作フラグがセットされて、プレーヤがテークバック動作等の特殊動作を行ったと判断されたため、ヒット判定エリア内でのボールのX座標XB、Y座標YBのみならず、プレーヤの動き量も反映させて、ボールのヒット強さパラメータを設定する。例えばプレーヤの動き量が大きければ、図21(A)、図21(B)に示すように、強いヒット強さに設定される。
【0232】
一方、ステップS26で特殊動作フラグがセットされていないと判断された場合には、ヒット判定エリア内でのボールのX座標XB、Y座標YBに基づいて、ボールのヒット強さパラメータを設定する(ステップS28)。即ち、この場合には、プレーヤがテークバック動作等の特殊動作を行っていないと判断されたため、ヒット判定エリア内でのボールのX座標XB、Y座標YBのみに基づいて、ボールのヒット強さパラメータを設定する。
【0233】
次に、ヒット判定エリア内でのボールのZ座標ZBに基づいて、ボールのヒット方向パラメータを設定する(ステップS29)。そして、設定されたヒット強さパラメータやヒット方向パラメータなどのヒット演算パラメータに基づいて、ヒット後のボールの移動処理を行う(ステップS30)。
【0234】
なお、上記のように本実施形態について詳細に説明したが、本発明の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、このような変形例はすべて本発明の範囲に含まれるものとする。例えば、明細書又は図面において、少なくとも一度、より広義または同義な異なる用語(移動体、ラケット等)と共に記載された用語(ボール、ヒット体等)は、明細書又は図面のいかなる箇所においても、その異なる用語に置き換えることができる。また、移動体のヒット演算処理、移動体の移動演算処理、仮想カメラの制御処理、ヒット判定エリアの設定処理、ヒット判定処理等も本実施形態で説明したものに限定されず、これらと均等な手法・処理も本発明の範囲に含まれる。また本発明は種々のゲームに適用できる。また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話機等の種々のゲーム装置に適用できる。例えばゲーム装置は、ゲームのプログラムがインストールされて実行される携帯電話機や携帯型情報端末であってもよい。
【符号の説明】
【0235】
VC 仮想カメラ、VL 視線方向、BL ボール(移動体)、
HAR ヒット判定エリア、RS 判定基準面、DR1〜DR3 第1〜第3の方向、
DQ1〜DQ3 第1〜第3の方向、CHP プレーヤキャラクタ、RK ラケット、
10、20 筐体、12 方向指示キー、14 アナログスティック、
16 操作ボタン、100 処理部、102 操作情報取得部、104 ゲーム演算部、
106 オブジェクト空間設定部、108 仮想カメラ制御部、110 ヒット演算部、
112 移動体演算部、114 記録処理部、120 画像生成部、130 音生成部、
160 操作部、170 記憶部、172 オブジェクトデータ記憶部、
174 モーション再生用情報記憶部、178 描画バッファ、180 情報記憶媒体、
190 表示部、192 音出力部、194 補助記憶装置、196 通信部、
500 サーバシステム、510 ネットワーク、TM1〜TMn 端末装置、
600 処理部、602 操作情報取得部、604 ゲーム演算部、
606 オブジェクト空間設定部、608 仮想カメラ制御部、610 ヒット演算部、
612 移動体演算部、614 記録処理部、
620 画像生成用データ生成部、630 音生成用データ生成部

【特許請求の範囲】
【請求項1】
操作情報を取得する操作情報取得部と、
移動体のヒット演算処理を行うヒット演算部と、
前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記移動体演算部は、
前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項2】
請求項1において、
前記仮想カメラ制御部は、
前記モーション検出情報に基づいて、前記仮想カメラの視線方向を制御することを特徴とするプログラム。
【請求項3】
請求項2において、
前記モーションセンサは携帯型ゲーム装置に設けられるセンサであり、
前記操作情報取得部は、
前記プレーヤが前記携帯型ゲーム装置を動かすことで得られた前記モーション検出情報を、前記モーションセンサから取得し、
前記仮想カメラ制御部は、
前記携帯型ゲーム装置の動きに応じて前記仮想カメラの視線方向が変化するように前記仮想カメラを制御することを特徴とするプログラム。
【請求項4】
請求項3において、
水平方向に沿った軸をX軸とし、鉛直方向に沿った軸をY軸とした場合に、
前記仮想カメラ制御部は、
前記携帯型ゲーム装置を前記Y軸回りで回転させる操作が行われた場合に、前記仮想カメラの視線方向を、前記Y軸に対応するカメラ座標系のYC軸回りで回転させる制御を行い、
前記ヒット演算部は、
前記携帯型ゲーム装置を前記Y軸回りで回転させる操作が行われた場合には、前記Y軸回りの回転に対応する動作を前記プレーヤが行ったとして、前記ヒット演算処理を行うことを特徴とするプログラム。
【請求項5】
請求項4において、
前記仮想カメラ制御部は、
前記携帯型ゲーム装置を前記X軸回りで回転させる操作が行われた場合に、前記仮想カメラの視線方向を、前記X軸に対応するカメラ座標系のXC軸回りで回転させる制御を行い、
前記ヒット演算部は、
前記携帯型ゲーム装置を前記X軸回りで回転させる操作が行われた場合に、前記X軸回りの回転に対応する動作を前記プレーヤが行ったとして、前記ヒット演算処理を行うことを特徴とするプログラム。
【請求項6】
請求項2乃至5のいずれかにおいて、
前記操作情報取得部は、
前記操作情報として、前記プレーヤが入力した第1の操作情報と第2の操作情報を取得し、
前記仮想カメラ制御部は、
前記第1の操作情報に基づいて、前記仮想カメラの視線方向を制御し、前記第2の操作情報に基づいて、前記仮想カメラの視点位置の移動又はプレーヤキャラクタの移動を制御することを特徴とするプログラム。
【請求項7】
請求項2乃至6のいずれかにおいて、
前記仮想カメラ制御部は、
前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合に、前記仮想カメラから前記移動体に向かう方向である第1の方向と、前記モーション検出情報により特定される方向である第2の方向との間の第3の方向に、前記仮想カメラの視線方向を向ける制御を行うことを特徴とするプログラム。
【請求項8】
請求項2乃至7のいずれかにおいて、
前記仮想カメラ制御部は、
前記移動体がヒットされた後に、前記移動体の移動先側に前記仮想カメラの視線方向を向ける制御を行うことを特徴とするプログラム。
【請求項9】
請求項1乃至8のいずれかにおいて、
前記ヒット演算部は、
前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合には、前記移動体のヒット判定処理を行うための判定基準面を、前記仮想カメラに近づく方向に移動させることを特徴とするプログラム。
【請求項10】
請求項1乃至9のいずれかにおいて、
前記移動体演算部は、
前記ヒット判定タイミング前での前記プレーヤの前記動き情報が検出された場合には、前記動き情報が検出されなかった場合に比べて強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項11】
請求項10において、
前記移動体演算部は、
前記ヒット判定タイミング前での前記動き情報で表される前記プレーヤの動き量が大きいほど強いヒット強さに設定されたヒット強さパラメータに基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項12】
請求項10又は11において、
前記ヒット演算部は、
前記移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも1つに基づいて、前記ヒット強さパラメータを設定することを特徴とするプログラム。
【請求項13】
請求項1乃至12のいずれかにおいて、
前記ヒット演算部は、
前記ヒット判定タイミング前での前記動き情報で表される前記プレーヤの動き量が判定基準値を超えたか否かを判定し、
前記移動体演算部は、
前記プレーヤの動き量が判定基準値の超えた場合に、前記ヒット判定タイミング前での前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項14】
請求項13において、
前記ヒット演算部は、
前記移動体をヒットするヒット体の情報、ゲームの環境状態情報、ゲームの難易度設定情報、プレーヤキャラクタの情報、及びプレーヤのゲーム成績情報の少なくとも1つに基づいて、前記判定基準値を設定することを特徴とするプログラム。
【請求項15】
請求項1乃至14のいずれかにおいて、
前記ヒット演算部は、
前記仮想カメラの移動に追従するヒット判定エリアを前記仮想カメラの前方側に設定し、
前記移動体演算部は、
ヒット判定タイミングにおける前記ヒット判定エリアと前記移動体との位置関係情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項16】
請求項15において、
前記移動体演算部は、
前記ヒット判定タイミングでの前記ヒット判定エリアにおける前記移動体の位置情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするプログラム。
【請求項17】
請求項1乃至16のいずれかにおいて、
前記ヒット判定タイミングにおける前記移動体及び前記仮想カメラの少なくとも一方の状態を特定する情報を、リプレイ時又は通信対戦時のプレーヤキャラクタのモーション再生用情報として記憶部に記録する処理を行う記録処理部として、
コンピュータを機能させることを特徴とするプログラム。
【請求項18】
操作情報を取得する操作情報取得部と、
移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部として、
コンピュータを機能させ、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記仮想カメラ制御部は、
前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第1の方向と、前記モーション検出情報により特定される方向である第2の方向との間の第3の方向に、前記仮想カメラの視線方向を向ける制御を行うことを特徴とするプログラム。
【請求項19】
請求項18において、
前記オブジェクトは、プレーヤキャラクタの部位又は所持物のヒット対象となる移動体、或いは前記プレーヤのプレイ対象となるキャラクタであることを特徴とするプログラム。
【請求項20】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1乃至19のいずれかに記載のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項21】
操作情報を取得する操作情報取得部と、
移動体のヒット演算処理を行うヒット演算部と、
前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部と、
を含み、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記移動体演算部は、
前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするゲーム装置。
【請求項22】
操作情報を取得する操作情報取得部と、
移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成する画像生成部と、
を含み、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記仮想カメラ制御部は、
前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第1の方向と、前記モーション検出情報により特定される方向である第2の方向との間の第3の方向に、前記仮想カメラの視線方向を向ける制御を行うことを特徴とするゲーム装置。
【請求項23】
操作情報を取得する操作情報取得部と、
移動体のヒット演算処理を行うヒット演算部と、
前記ヒット演算処理の結果に基づいて、前記移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成するための画像生成用データを生成する画像生成用データ生成部と、
を含み、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記移動体演算部は、
前記モーション検出情報に基づいて、前記移動体のヒット判定タイミング前でのプレーヤの動き情報を検出し、前記ヒット判定タイミング前での前記プレーヤの前記動き情報に基づいて、ヒット後の前記移動体の移動演算処理を行うことを特徴とするサーバシステム。
【請求項24】
操作情報を取得する操作情報取得部と、
移動体の移動演算処理を行う移動体演算部と、
仮想カメラの制御を行う仮想カメラ制御部と、
オブジェクト空間内において前記仮想カメラから見える画像を生成するための画像生成用データを生成する画像生成用データ生成部と、
を含み、
前記操作情報取得部は、
モーションセンサからのモーション検出情報を前記操作情報として取得し、
前記仮想カメラ制御部は、
前記モーション検出情報に基づいてプレーヤの動き情報が検出された場合に、前記仮想カメラからオブジェクトに向かう方向である第1の方向と、前記モーション検出情報により特定される方向である第2の方向との間の第3の方向に、前記仮想カメラの視線方向を向ける制御を行うことを特徴とするサーバシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate


【公開番号】特開2012−181616(P2012−181616A)
【公開日】平成24年9月20日(2012.9.20)
【国際特許分類】
【出願番号】特願2011−42976(P2011−42976)
【出願日】平成23年2月28日(2011.2.28)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】