説明

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

【課題】仮想カメラに追従するヒット判定エリアを用いた好適なヒット演算処理を実現できるプログラム、情報記憶媒体、ゲーム装置及びサーバシステム等の提供。
【解決手段】ゲーム装置は、操作情報を取得する操作情報取得部と、取得された操作情報に基づいて、移動体のヒット演算処理を行うヒット演算部と、ヒット演算処理の結果に基づいて、移動体の移動演算処理を行う移動体演算部と、仮想カメラの制御を行う仮想カメラ制御部と、オブジェクト空間内において仮想カメラから見える画像を生成する画像生成部を含む。ヒット演算部は、仮想カメラの移動に追従するヒット判定エリアを仮想カメラの前方側に設定し、移動体演算部は、ヒット判定タイミングにおけるヒット判定エリアと移動体との位置関係情報に基づいて、ヒット後の移動体の移動演算処理を行う。

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

【図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


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