説明

プログラム、情報記憶媒体、ゲームシステム

【課題】プレーヤにとって視認し易い表示画像を生成することができるプログラム、情報記憶媒体、ゲームシステムを提供すること。
【解決手段】物体に光を照射し、当該物体の反射光を受光する入力部の入力画像を取得し、入力画像に基づいて特定される入力部から物体までの距離に基づいて、仮想空間におけるオブジェクトの大きさを制御し、オブジェクトを含む表示画像を生成する処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、ゲームシステムに関する。
【背景技術】
【0002】
従来から、フィットネスゲームに関するゲームシステムが存在する(例えば、特許文献1参照)。例えば、このようなゲームシステムは、プレーヤに動きを指示する画像を表示部に表示させる処理を行っている。
【0003】
しかし、従来のゲームシステムでは、実空間におけるプレーヤの位置によって、表示画像に表示されるオブジェクトを確認することが難しい場合があった。例えば、実空間において表示部から遠くにプレーヤが位置する場合には、表示部の近くに位置する場合よりもオブジェクトが小さく見えてしまう。フィットネスゲームでは、身体を動かすための空間がある程度必要になるため、表示部から距離をおいてしまうことが多く、表示画像において指示される指示内容を確認することが難しくなる傾向にあった。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−207619
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、上記課題に鑑みてなされたものであり、プレーヤにとって視認し易い表示画像を生成することができるプログラム、情報記憶媒体、ゲームシステムを提供することにある。
【課題を解決するための手段】
【0006】
(1)本発明は、表示部に表示させる表示画像を生成する処理を行うプログラムであって、物体に光を照射し、当該物体の反射光を受光する入力部の入力画像を取得する取得部と、入力画像に基づいて特定される前記入力部から前記物体までの距離に基づいて、仮想空間におけるオブジェクトの大きさを制御するオブジェクト制御部と、前記オブジェクトを含む表示画像を生成する処理を行う画像生成部として、コンピュータを機能させるプログラムに関する。また、本発明は、上記プログラムを記憶した情報記憶媒体、上記各部として構成するゲームシステムに関係する。
【0007】
本発明によれば、入力画像に基づいて特定される入力部から物体までの距離に基づいて、仮想空間におけるオブジェクトの大きさを制御するので、プレーヤにとって視認し易い表示画像を生成することができる。
【0008】
(2)本発明のプログラム、情報記憶媒体及びゲームシステムは、前記オブジェクト制御部が、前記距離が長くなるにつれて、前記オブジェクトをスケーリングする倍率を拡大するようにしてもよい。本発明は、プレーヤが入力部から遠くに位置するにつれて、オブジェクトを拡大して表示されるので、視認し易い表示画像を生成することができる。
【0009】
(3)本発明のプログラム、情報記憶媒体及びゲームシステムは、前記オブジェクト制御部が、前記距離が短くなるにつれて、前記オブジェクトをスケーリングする倍率を縮小させるようにしてもよい。本発明は、プレーヤが入力部の近くに位置するにつれて、オブジェクトを縮小して表示されるので、入力部の近くにいてもプレーヤが視認し易い適切な大きさのオブジェクトを含む表示画像を生成することができる。
【0010】
(4)本発明のプログラム、情報記憶媒体及びゲームシステムは、前記オブジェクト制御部が、時間経過に応じて変化させる前記オブジェクトのスケーリング倍率値の変化度合いを、前記距離に基づいて制御するようにしてもよい。本発明によれば、時間経過に応じて変化させるオブジェクトのスケーリング倍率値の変化度合いを、距離に基づいて制御するので、プレーヤにとって、見やすい変化度合いでオブジェクトの大きさを変化させることができる。
【0011】
(5)本発明のプログラム、情報記憶媒体及びゲームシステムは、前記画像生成部は、複数のオブジェクトを含む表示画像を生成する処理を行い、前記オブジェクト制御部が、所定のオブジェクトに対して、前記距離に基づくオブジェクトの大きさを制御するようにしてもよい。
【0012】
本発明によれば、所定のオブジェクトに対して、入力画像に基づいて特定される当該入力部と当該物体との距離に基づくオブジェクトの大きさを制御するので、例えば、プレーヤにとって必要な情報であるオブジェクトを制御対象とすれば、そのオブジェクトについて視認し易い画像を生成できる。
【0013】
(6)本発明のプログラム、情報記憶媒体及びゲームシステムは、入力部の入力を判定する処理を行う判定部として、コンピュータを更に機能させ、前記判定部が、前記距離に基づいて、前記入力を判定する処理を行うようにしてもよい。
【0014】
本発明によれば、入力画像に基づいて特定される物体の位置と入力部との距離に基づいて入力判定処理を行うので、プレーヤにとって適切な入力処理を行うことができる。例えば、プレーヤが入力部から遠ざかるにつれて、難易度を低くするように入力判定処理を行えば、プレーヤにとって納得できる入力判定処理を行うことができる。
【0015】
(7)本発明のプログラム、情報記憶媒体及びゲームシステムは、前記仮想空間において、前記オブジェクトを移動させる処理を行う移動処理部として、コンピュータを更に機能させ、前記移動処理部が、前記距離に基づいて、前記オブジェクトを移動させる移動速度を制御するようにしてもよい。
【0016】
本発明によれば、入力画像に基づいて特定される物体の位置と入力部との距離に基づいて、オブジェクトを移動させる移動速度を制御するので、適切な移動速度で移動するオブジェクトを含む表示画像を提供することができる。
【0017】
例えば、プレーヤが入力部から遠ざかるにつれてオブジェクトの移動速度を減速するようにすれば、オブジェクトを視認しやすくすることができる。
【0018】
(8)本発明のプログラム、情報記憶媒体及びゲームシステムは、仮想3次元空間における仮想カメラの位置を制御する仮想カメラ制御部として、コンピュータを更に機能させ、前記仮想カメラ制御部が、前記距離に基づいて、前記仮想カメラの位置を制御し、前記画像生成部が、前記仮想カメラから見える画像を前記表示画像として生成する処理を行うようにしてもよい。本発明によれば、入力画像に基づいて特定される当該入力部から当該物体までの距離に仮想カメラの位置を制御するので、プレーヤにとって、見やすい適切な画像を提供することができる。例えば、プレーヤが入力部から遠ざかるにつれて、仮想カメラがオブジェクトに近づくように仮想カメラの位置を制御すれば、透視投影変換処理によりオブジェクトが拡大して見えるようになり、プレーヤにとって見やすい画像を生成することができる。
【0019】
(9)本発明のプログラム、情報記憶媒体及びゲームシステムは、仮想3次元空間における仮想カメラの画角を制御する仮想カメラ制御部として、コンピュータを更に機能させ、前記仮想カメラ制御部が、前記距離に基づいて、前記仮想カメラの画角を制御し、前記画像生成部が、前記仮想カメラから見える画像を前記表示画像として生成する処理を行うようにしてもよい。
【0020】
本発明によれば、入力画像に基づいて特定される入力部から物体までの距離に基づいて仮想カメラの画角を制御するので、プレーヤにとって見やすい適切な画像を生成することができる。例えば、プレーヤが入力部に近づくにつれて、画角を広げるズームアウトの制御を行い、プレーヤが入力部から遠ざかるにつれて、画角を狭めるズームインの制御を行う。このようにすれば、プレーヤが入力部に近づくにつれて、オブジェクトが縮小されて見えるような表示画像を生成することができ、また、プレーヤが入力部から遠ざかるにつれて、オブジェクトが拡大して見るような表示画像を生成することができるので、結果的にプレーヤにとって見やすい適切な画像を生成することができる。
【0021】
(10)本発明のプログラム、情報記憶媒体及びゲームシステムは、仮想3次元空間における仮想カメラの視線方向を制御する仮想カメラ制御部として、コンピュータを更に機能させ、前記仮想カメラ制御部が、入力画像に基づいて特定される前記物体と当該入力部との位置関係に基づいて、前記仮想カメラの視線方向を制御し、前記画像生成部が、前記仮想カメラから見える画像を前記表示画像として生成する処理を行うようにしてもよい。
【0022】
本発明によれば、入力画像に基づいて特定される物体と入力部との位置関係に基づいて、仮想カメラの視線方向を制御するので、プレーヤにとって見やすい適切な表示画像を生成することができる。また、本発明によれば、プレーヤが表示部を見る方向で、仮想カメラの視線方向を制御することができ、現実感のある表示画像を提供することができる。
【0023】
(11)本発明のプログラム、情報記憶媒体及びゲームシステムは、前記仮想空間において、前記オブジェクトを配置させる処理を行う配置部として、コンピュータを更に機能させ、前記配置部が、入力画像に基づいて特定される前記物体と前記入力部との位置関係に基づいて、前記仮想空間における前記オブジェクトの配置位置を決定するようにしてもよい。本発明によれば、仮想空間においてプレーヤが見やすい適切な位置に配置されるオブジェクトの表示画像を提供することができる。
【0024】
(12)本発明のプログラム、情報記憶媒体及びゲームシステムは、前記仮想空間において、前記オブジェクトを移動させる処理を行う移動処理部として、コンピュータを更に機能させ、前記移動処理部が、入力画像に基づいて特定される前記物体と前記入力部との位置関係に基づいて、前記オブジェクトを移動させる移動方向を制御するようにしてもよい。
【0025】
本発明によれば、入力画像に基づいて特定される物体と入力部との位置関係に基づいて、オブジェクトを移動させる移動方向を制御するので、プレーヤが見やすい適切な移動方向で移動するオブジェクトを含む表示画像を生成することができる。
【図面の簡単な説明】
【0026】
【図1】本実施形態の第1のゲームシステムの説明図。
【図2】本実施形態の第1のゲームシステムで使用されるコントローラの一例を示す説明図。
【図3】本実施形態の第1のゲームシステムで使用されるコントローラを用いて行われるポインティング指示の原理説明図。
【図4】本実施形態の第1のゲームシステムの機能ブロック図。
【図5】ゲーム画面の一例を示す説明図。
【図6】本実施形態の入力判定処理の説明図。
【図7】本実施形態の入力判定処理の説明図。
【図8】本実施形態の入力判定処理の説明図。
【図9】本実施形態の入力判定処理の説明図。
【図10】図10(A)〜(C)は、本実施形態の入力定義情報の説明図。
【図11】本実施形態の判定情報の説明図。
【図12】本実施形態の判定情報の説明図。
【図13】本実施形態のオブジェクトを含む画像生成に関する説明図。
【図14】本実施形態のオブジェクトを含む画像生成に関する説明図。
【図15】本実施形態のオブジェクトを含む画像生成に関する説明図。
【図16】本実施形態の第1の実施形態のフローチャート図。
【図17】本実施形態の第2のゲームシステムの説明図。
【図18】本実施形態の第2のゲームシステムの機能ブロック図。
【図19】図19(A)(B)は、本実施形態の入力部に入力される入力画像の説明図。
【図20】本実施形態の深度センサの説明図。
【図21】本実施形態の深度センサの説明図。
【図22】本実施形態の実空間における物体の位置と入力部の位置関係を示す説明図。
【図23】図23(A)(B)は、ゲーム画面の一例を示す説明図。
【図24】本実施形態の実空間における物体の位置と入力部の位置関係を示す説明図。
【図25】図25(A)(B)は、仮想カメラ制御を説明するための図。
【図26】図26(A)(B)は、仮想カメラ制御を説明するための図。
【図27】本実施形態の第2の実施形態のフローチャート図。
【図28】本実施形態の実空間における物体の位置と入力部の位置関係を示す説明図。
【図29】図29(A)(B)は、ゲーム画面の一例を示す説明図。
【図30】本実施形態の実空間における物体の位置と入力部の位置関係を示す説明図。
【図31】図31(A)(B)は、仮想カメラ制御を説明するための図。
【図32】本実施形態の応用例におけるゲーム画面の一例を示す図。
【図33】本実施形態の応用例におけるゲーム画面の一例を示す図。
【図34】図34(A)〜(D)は、本実施形態の第2のゲームシステムの詳細な説明図。
【発明を実施するための形態】
【0027】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。以下の実施形態では、本発明をゲームシステムに適用する場合を例に取り説明する。
【0028】
1.第1の実施形態
1−1.第1のゲームシステム
図1は、第1の実施形態における第1のゲームシステム(第1の画像生成システム、第2の入力判定システム)の概略外観図である。本実施形態の第1のゲームシステムは、ゲーム画像を表示させる表示部90と、ゲーム処理等を行うゲーム機10(ゲーム機本体)と、プレーヤPが両手に把持して位置、向きを任意に変更可能な第1のコントローラ20A、第2のコントローラ20B(入力部の一例)とを含む。なお、図1の例では、ゲーム機10と各コントローラ20A、20Bとの間では無線通信により種々の情報を送受信する。
【0029】
図2は、本実施形態のコントローラ20の概略外観図である。コントローラ20には、十字キー271とボタン272が設けられている。さらに、コントローラ20には、コントローラの傾きや動きに応じて変化する情報を検出する物理センサとして加速度センサ210を備える。
【0030】
本実施形態の加速度センサ210は、3軸加速度センサ210として形成され、3軸それぞれの加速度ベクトルを検出する。つまり、加速度センサ210は、コントローラにかかる3軸それぞれについて、一定時間における速度及び向きの変化を、加速度ベクトルとして検出する。
【0031】
例えば、図1に示すように、プレーヤPが第1、第2のコントローラ20A、20Bを把持しながらコントローラを動すと、各コントローラ自体の傾き、動きを変化することになる。そして、各コントローラは、傾き、動きに応じて変化する加速度ベクトルを検出して、ゲーム機10に加速度ベクトルを無線送信し、ゲーム機10では、各コントローラ自体の加速度ベクトルに基づいて、所与の処理を行う。
【0032】
また、コントローラ20には、表示画面91上の任意の位置を指示(ポインティング)する指示機能が設けられている。
【0033】
このため、図1に示すように、表示部90の周囲には、表示画面91と関連付けた位置に基準位置認識体として一対の光源30R、30Lが配置されている。ここでは、表示部90の上辺に沿って所定間隔で一対の光源30R、30Lが配置され、非可視光である赤外線が物体(被写体)にむけて投射される。また、図2に示すように、コントローラ20の前面側には、コントローラ前方を撮像する撮像部220が設けられている。
【0034】
コントローラ20による表示画面91内の指示位置を求める手法を、図3を用いて説明する。まず、図3に示す矩形の領域は、撮像部220(イメージセンサ)が取得した撮像画像PAである。撮像画像PAは、コントローラ20の位置、向きに応じた画像となる。まず、撮像画像PAに含まれる光源30Rを撮像した領域RA、光源30Lを撮像した領域LAのそれぞれの位置RP、LPを求める。なお、位置RP、LPは、撮像画像PAにおける2次元座標系(XY軸の座標系)によって特定できる位置座標である。一対の光源30R、30Lの距離と、表示画面91と関連付けた一対の光源30R、30Lの相対位置は予め判明している。従って、ゲーム機10は、求められた位置RP、LPの座標から、コントローラ20を用いた表示画面91内における指示位置(ポインティング位置)を求めることができる。
【0035】
すなわち、本実施形態では、撮像画像PAの原点Oをコントローラ20が指示する指示位置として求める。この指示位置は、撮像画像PAの原点Oと、撮像画像PAにおける特定位置RP、LPと、撮像画像PAにおける表示画面91に対応する領域である表示画面領域DAとの相対的な位置関係から求める。
【0036】
図3の例では、特定位置RP、LPが、撮像領域PAの中央よりもやや上方において、撮像領域PAの基準線LX(X軸)に対して時計回りにθ°回転された状態で形成されている。従って、図3の例では、原点Oは表示画面領域DAの右下部の所定位置に対応させることができ、表示画面91上における撮像部220を用いたコントローラ20の指示位置の座標を求めることができる。
【0037】
基準位置認識体は、コントローラのゲーム画面内の指示位置が特定できるものであればよい。光源は、必ずしも2個必要ではなく、表示画面91との相対位置関係が特定できる形状をしたものであればよく、その数は1個又は3個以上でもよい。
【0038】
1−2.構成
図4は、第1の実施形態の第1のゲームシステムの機能ブロック図の一例である。なお第1のゲームシステムでは、図1の各部を全て含む必要はなく、その一部を省略した構成としてもよい。第1のゲームシステムは、ゲーム機10と、コントローラ20(入力部の一例)と、表示部(表示装置)90、スピーカー92、光源30R、30Lとを含む。
【0039】
光源30R、30Lは、非可視光である赤外線を発光する例えばLEDであり、表示部90に関連付けられて配置される。なお、本実施形態は、光源30Rと光源30Lとの距離は所定間隔を有するように設置されている。
【0040】
コントローラ20は、加速度センサ210、撮像部220、スピーカー230、振動部240、マイコン250、通信部260によって構成されている。
【0041】
本実施形態では、入力部の一例としてコントローラ20を挙げているが、例えば、画像入力部、音入力部、加圧センサを入力部としてもよい。
【0042】
加速度センサ210は、3軸(X軸、Y軸、Z軸)の加速度を検出する。すなわち、加速度センサ210は、上下方向(Y軸方向)、左右方向(X軸方向)、及び、前後方向(Z軸方向)の加速度を検出することができる。なお、加速度センサ210は、5msec(5ミリ秒)毎に加速度を検出している。また、加速度センサは、1軸、2軸、6軸の加速度を検出するものであってもよい。なお、加速度センサから検出された加速度は、通信部260によってゲーム機10に送信される。
【0043】
撮像部220は、赤外線フィルタ222、レンズ224、撮像素子(イメージセンサ)226、画像処理回路228を含む。赤外線フィルタ222は、コントローラの前方に配置され、表示部90に関連付けられて配置されている光源30R、30Lから入射する光から赤外線のみを通過させる。レンズ224は、赤外線フィルタ222を透過した赤外線を集光して撮像素子226へ出射する。撮像素子226は、例えば、CMOSセンサやCCDのような固体撮像素子であり、レンズ224が集光した赤外線を撮像して撮像画像を生成する。撮像素子226で生成された撮像画像は、画像処理回路228で処理される。例えば、撮像素子226から得られた撮像画像を処理して高輝度部分を検知し、撮像画像における光源の位置情報(特定位置)を検出する。また、検出した位置情報は、通信部260によって、ゲーム機10に送信される。
【0044】
スピーカー230は、ゲーム機10から通信部260を介して取得した音を出力する。本実施形態では、ゲーム機10から送信された確認音、効果音を出力する。
【0045】
振動部(バイブレータ)240は、ゲーム機10から送信された振動信号を受信して、振動信号に基づいて作動する。
【0046】
マイコン(マイクロコンピュータ)250は、受信したゲーム機10からのデータに応じて、音を出力する制御や、バイブレータを作動させる制御を行う。また、加速度センサ210が検出した加速度を通信部260を介してゲーム機に送信させる処理を行ったり、撮像部220によって検出された位置情報を、通信部260を介してゲーム機10に送信させる処理を行う。
【0047】
通信部260は、アンテナ、無線モジュールを含み、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、ゲーム機10とデータを無線で送信受信する。なお、本実施形態の通信部260は、加速度センサ210によって検出された加速度や撮像部220において検出した位置情報等を、4msec、6msecの交互の間隔でゲーム機10に送信している。なお、通信部260は、ゲーム機10と通信ケーブルで接続し、当該通信ケーブルを介して情報の送受信を行うようにしてもよい。
【0048】
なお、コントローラ20は、十字キー271、ボタン272の他、レバー(アナログパッド)、マウス、タッチパネル型ディスプレイなどの操作子を更に設けてもよい。また、コントローラ20は、コントローラ自体にかかる角速度を検出するジャイロセンサを備えていてもよい。
【0049】
次に、本実施形態のゲーム機10について説明する。本実施形態のゲーム機10は、記憶部170、処理部100、情報記憶媒体180、通信部196によって構成される。
【0050】
記憶部170は、処理部100や通信部196などのワーク領域となるもので、その機能はRAM(VRAM)などのハードウェアにより実現できる。
【0051】
特に、本実施形態の記憶部170は、主記憶部171、描画バッファ172、判定情報記憶部173、音データ記憶部174を含む。描画バッファ172は、画像生成部120において生成された画像を記憶する。
【0052】
また、判定情報記憶部173には、判定情報が記憶される。判定情報は、楽曲データの再生時間にあわせて、タイミング判定部114Aで判定処理を行うための、基準開始・終了タイミングや、基準開始から終了までの期間を示す基準判定期間(判定期間の一例)、及び、予備開始・終了タイミングや、予備開始から終了までの期間を示す予備判定期間(判定期間の一例)を含む。例えば、判定情報記憶部173は、再生開始時点を0とした場合における再生時間に合わせて、基準判定期間の基準開始・終了タイミング、予備判定期間の予備開始・終了タイミングを記憶する。
【0053】
また、判定情報記憶部173に記憶される判定情報は、入力情報判定部114Bで判定処理を行うための、各判定処理に対応する入力定義情報を含む。入力定義情報は、各判定処理の判定期間に対応づけて、x、y、z各軸の複数の加速度値の集合(定義加速度群)とすることができる。
【0054】
なお、予備判定期間に対応する基準判定期間の終了タイミングに合わせて、予備判定期間が終了するようにしてもよい。また、第1の基準開始タイミングから開始する第1の基準判定期間と、第1の基準開始タイミングの後に発生する第2の基準開始タイミングから開始する第2の基準判定期間とが、互いに重複しないように定義されている場合には、第1の基準判定期間に対応する予備判定期間は、第2の基準開始タイミングよりも前に終了するようにしてもよい。
【0055】
また、音データ記憶部174は、楽曲データや効果音などを記憶する。
【0056】
そして、処理部100は、この情報記憶媒体180に格納されるプログラムから読み出されたデータに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0057】
通信部196は、ネットワーク(インターネット)を介して他のゲーム機と通信することができる。その機能は、各種プロセッサまたは通信用ASIC、ネットワーク・インタフェース・カードなどのハードウェアや、プログラムなどにより実現できる。また、通信部196は、有線、無線いずれの通信も行うことができる。
【0058】
また、通信部196は、アンテナ、無線モジュールを含み、例えばBluetooth(ブルートゥース;登録商標)の技術を用いて、コントローラ20の通信部260を介して、コントローラ20とデータを送受信する。例えば、通信部196は、確認音、効果音等の音データ、及び、振動信号を、コントローラに送信し、コントローラ20において、加速度センサや撮像画像センサによって検出された情報(加速度ベクトル値や、ポインティング位置など)を、4msec、6msecの交互の間隔で受信する。
【0059】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラムは、サーバが有する、記憶部、情報記憶媒体からネットワークを介して情報記憶媒体180(または、記憶部170)に配信するようにしてもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲に含まれる。
【0060】
処理部100(プロセッサ)は、コントローラ20から受信した情報や情報記憶媒体180から記憶部170に展開されたプログラム等に基づいて、ゲーム処理、画像生成処理、或いは音制御の処理を行う。
【0061】
本実施形態の処理部100は、種々のゲーム処理を行う。例えば、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、ゲーム終了条件が満たされた場合にゲームを終了する処理、最終ステージをクリアした場合にはエンディングを進行させる処理を行う。また、処理部100は、音データ記憶部174に記憶されている楽曲データを再生する処理を行う。
【0062】
また、本実施形態の処理部100は、取得部110、配置部111、移動・動作処理部112、オブジェクト制御部113、判定部114、画像生成部120、音制御部130として機能する。
【0063】
取得部110は、入力部(コントローラ20)からの入力情報を取得する処理を行う。例えば、加速度センサ210から検出された3軸の加速度値を取得する。
【0064】
配置部111は、オブジェクトを仮想空間(仮想3次元空間(オブジェクト空間)、仮想2次元空間)に配置する処理を行う。例えば、配置部111は、キャラクタ、指示オブジェクトの他に、建物、球場、車、樹木、柱、壁、マップ(地形)などの表示物を、仮想空間に配置する処理を行う。ここで仮想空間とは、仮想的なゲーム空間であり、例えば、仮想3次元空間の場合、ワールド座標系、仮想カメラ座標系のように、3次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
【0065】
例えば、配置部111は、ワールド座標系にオブジェクト(ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブで構成されるオブジェクト)を配置する。また、例えば、ワールド座標系でのオブジェクトの位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y、Z)にその回転角度(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。なお、配置部111は、スケーリングされたオブジェクトを仮想空間に配置する処理を行ってもよい。
【0066】
移動・動作処理部112は、仮想空間にあるオブジェクトの移動・動作演算を行う。すなわち入力部から受け付けた入力情報、プログラム(移動・動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトを仮想空間内で移動させたり、オブジェクトを動作(モーション、アニメーション)させたりする処理を行う。具体的には、オブジェクトの移動情報(移動速度、移動加速度、位置、向きなど)や動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求める処理を行う。なお、フレームは、オブジェクトの移動・動作処理や画像生成処理を行う時間の単位である。
【0067】
なお、移動・動作処理部112は、仮想2次元空間においてオブジェクトを移動させる場合には、オブジェクト(例えば、指示マーク)を、所与の移動方向に所定の移動速度で移動させる制御を行うようにしてもよい。
【0068】
オブジェクト制御部113は、オブジェクトの大きさを制御する処理を行う。例えば、オブジェクト制御部113は、予めモデリングされた(倍率1の大きさの)オブジェクトについて、スケーリング(拡大或いは縮小)する処理を行う。また、オブジェクト制御部113は、時間経過に応じてオブジェクトをスケーリングする倍率を変化させる処理を行う。
【0069】
より具体的に説明すると、オブジェクト制御部113は、基準判定期間の開始タイミングから終了タイミングにかけてオブジェクトの倍率を1倍から2倍に変化させて、変化させた倍率に基づいてオブジェクトをスケーリングする処理を行う。なお、オブジェクト制御部113は、時間経過に応じて変化させるオブジェクトのスケーリングの倍率を変化させる変化度合を制御するようにしてもよい。例えば、基準判定期間の開始タイミングから終了タイミングにかけて、オブジェクトの倍率を1倍から2倍に変化させるように制御してもよいし、オブジェクトの倍率を1倍から3倍に変化させるように制御してもよい。
【0070】
判定部114は、タイミング判定部114A、入力情報判定部114Bを含む。
【0071】
タイミング判定部114Aは、基準開始タイミングと入力開始タイミングとが一致しているか否かを判定する処理を行う。また、タイミング判定部114Aは、基準開始タイミングに基づいて定義された、基準開始タイミングとは異なる予備開始タイミングと入力開始タイミングとが一致しているか否かを判定する処理を行う。
【0072】
また、タイミング判定部114Aは、互いに異なる複数の予備開始タイミングが、基準開始タイミングに対応づけられている場合には、複数の予備開始タイミングそれぞれと、入力開始タイミングとが一致しているか否かを判定する処理を行う。つまり、複数の予備開始タイミングそれぞれのタイミングにおいて、当該予備開始タイミングと入力開始タイミングとが一致しているか否かを判定する処理を行う。なお、複数の予備開始タイミングのうち少なくとも1つのタイミングにおいて、当該予備開始タイミングと入力開始タイミングとが一致しているか否かを判定する処理を行ってもよい。また、複数の予備開始タイミングのうちいずれか1つのタイミングにおいて、当該予備開始タイミングと入力開始タイミングとが一致しているか否かを判定する処理をおこなってもよい。
【0073】
また、タイミング判定部114Aは、基準開始タイミングと入力開始タイミングとが一致している場合に、基準判定期間の終了タイミングと入力終了タイミングとが一致しているか否かを判定する処理を行い、予備開始タイミングと入力開始タイミングとが一致している場合に、予備判定期間の終了タイミングと入力終了タイミングとが一致しているか否かを判定する処理を行う。
【0074】
入力情報判定部114Bは、基準開始タイミングから所与の基準判定期間に入力された入力情報と入力定義情報とが一致しているか否かを判定する処理を行う。なお、基準開始タイミングと入力開始タイミングとが一致している場合に、基準開始タイミングから所与の基準判定期間に入力された入力情報と入力定義情報とが一致しているか否かを判定する処理を行うようにしてもよい。
【0075】
また、入力情報判定部114Bは、予備開始タイミングから所与の予備判定期間に入力された入力情報と入力定義情報とが一致しているか否かを判定する処理を行う。なお、予備開始タイミングと入力開始タイミングとが一致している場合に、予備開始タイミングから所与の予備判定期間に入力された入力情報と入力定義情報とが一致しているか否かを判定する処理を行うようにしてもよい。
【0076】
また、入力情報判定部114Bは、互いに異なる複数の予備開始タイミングが、基準開始タイミングに対応づけられている場合に、タイミング判定部114Aにおいて入力開始タイミングと一致していると判定された予備開始タイミングから所与の予備判定期間に入力された入力情報と入力定義情報とが一致しているか否かを判定する処理を行う。
【0077】
また、入力情報判定部114Bは、互いに異なる複数の入力定義情報が、基準判定期間に対応づけられている場合には、タイミング判定部114Aにおいて基準開始タイミングと入力開始タイミングとが一致している場合に、基準開始タイミングから基準判定期間に入力された入力情報と、複数の入力定義情報の少なくとも1つと一致しているか否かを判定する処理を行う。
【0078】
入力情報判定部114Bは、互いに異なる複数の入力定義情報が、予備判定期間に対応づけられている場合には、予備開始タイミングと入力開始タイミングとが一致している場合に、当該予備開始タイミングから予備判定期間に入力された入力情報と、複数の入力定義情報の少なくとも1つと一致しているか否かを判定する処理を行う。
【0079】
また、複数の加速度からなる定義加速度群を、入力定義情報としている場合には、入力情報判定部114Bは、次のように処理を行う。つまり、入力情報判定部114Bは、基準開始タイミングと入力開始タイミングとが一致している場合に、基準判定期間に入力部から検出される複数の加速度からなる加速度群と、定義加速度群とが一致しているか否かを判定する処理を行い、予備開始タイミングと入力開始タイミングとが一致している場合に、予備判定期間に入力部から検出される複数の加速度からなる加速度群と、定義加速度群とが一致しているか否かを判定する処理を行うようにしてもよい。
【0080】
また、移動軌跡を定義した移動定義軌跡を、前記入力定義情報としている場合には、入力情報判定部114Bは、次のように処理を行う。つまり、入力情報判定部114Bは、基準開始タイミングと入力開始タイミングとが一致している場合に、基準判定期間に入力部から検出される移動軌跡と、移動定義軌跡とが一致しているか否かを判定する処理を行い、予備開始タイミングと入力開始タイミングとが一致している場合に、予備判定期間に入力部から検出される入力移動軌跡と、移動定義軌跡とが一致しているか否かを判定する処理を行うようにしてもよい。
【0081】
また、画像間における特徴点の移動量及び移動方向を定義した移動定義ベクトルを、入力定義情報としている場合には、入力情報判定部114Bは、次のように処理を行う。つまり、入力情報判定部114Bは、基準開始タイミングと入力開始タイミングとが一致している場合に、基準判定期間に入力部から取得される複数の入力画像間における移動ベクトルと、移動定義ベクトルとが一致しているか否かを判定する処理を行い、予備開始タイミングと入力開始タイミングとが一致している場合に、予備判定期間に入力部から取得される複数の入力画像間における移動ベクトルと、移動定義ベクトルとが一致しているか否かを判定する処理を行うようにしてもよい。
【0082】
画像生成部120は、処理部100で行われる種々の処理の結果に基づいて描画処理を行い、これにより画像を生成し、表示部90に出力する。例えば、本実施形態の画像生成部120は、基準開始タイミングと基準判定期間とを指示する画像を生成する。
【0083】
画像生成部120は、オブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理(頂点シェーダによるシェーディング)が行われる。なお頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
【0084】
頂点処理では、頂点処理プログラム(頂点シェーダプログラム、第1のシェーダプログラム)に従って、頂点の移動処理や、座標変換、例えばワールド座標変換、視野変換(カメラ座標変換)、クリッピング処理、透視変換(投影変換)、ビューポート変換等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。
【0085】
そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(ピクセルシェーダによるシェーディング、フラグメント処理)が行われる。ピクセル処理では、ピクセル処理プログラム(ピクセルシェーダプログラム、第2のシェーダプログラム)に従って、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ172(ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。これにより、オブジェクト空間内において仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
【0086】
なお頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現される。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、従来のハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
【0087】
そして画像生成部120は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
【0088】
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理が行われる。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)は、記憶部170に保存される。
【0089】
テクスチャマッピングは、記憶部170に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングするための処理である。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部170からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出す。そして、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
【0090】
隠面消去処理としては、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行うことができる。すなわちオブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照する。そして参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
【0091】
αブレンディング(α合成)は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)のことである。
【0092】
例えば、αブレンディングでは、これから画像バッファ172に描画する描画色(上書きする色)C1と、既に画像バッファ172(レンダリングターゲット)に描画されている描画色(下地の色)C2とを、α値に基づいて線形合成処理を行う。つまり、最終的な描画色をCとすると、C=C1*α+C2*(1−α)によって求めることができる。
【0093】
なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
【0094】
音制御部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、スピーカー92に出力する。
【0095】
なお、本実施形態の端末は、1人のプレーヤのみがプレイできるシングルプレーヤモード、或いは、複数のプレーヤがプレイできるマルチプレーヤモードでゲームプレイできるように制御してもよい。例えば、マルチプレーヤモードで制御する場合には、ネットワークを介して他の端末とデータを送受信してゲーム処理を行うようにしてもよいし、1つの端末が、複数の入力部からの入力情報に基づいて処理を行うようにしてもよい。
【0096】
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などのハードウェアにより実現できる。
【0097】
表示部90は、処理部100により生成された画像を出力するものであり、その機能は、CRTディスプレイ、LCD(液晶ディスプレイ)、OELD(有機ELディスプレイ)、PDP(プラズマディスプレイパネル)、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などのハードウェアにより実現できる。
【0098】
スピーカー92は、音制御部130により再生する音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどのハードウェアにより実現できる。なお、スピーカー92は、表示部に備えられたスピーカーとしてもよい。例えば、テレビ(家庭用テレビジョン受像機)を表示部としている場合には、テレビのスピーカーとすることができる。
【0099】
1−3.第1の実施形態の概要
第1の実施形態では、図5に示すように、空手の動きを指示させるための指示オブジェクトOB1を含む画像を表示部90に表示させる処理を行う。つまり、指示オブジェクトOB1は、コントローラ20を把持したプレーヤに対しての実空間内におけるコントローラ20の移動態様を指示するオブジェクトである。
【0100】
そして、プレーヤは、表示部90に表示された指示画像を見ながら、両手それぞれに把持するコントローラ20A、20Bを実空間内で移動させることによって、プレーヤ自身が空手の技を実演するようなフィットネス運動を行うことができる。
【0101】
本実施形態では、空手の1つの動き(例えば、「左腕半回転」の動き)を入力判定処理の1単位とし、複数の空手の動きを予め定義している。また、本実施形態では、1つの動き(例えば、「左腕半回転」)について基準判定期間を設け、基準判定期間の開始タイミング(基準開始タイミング)と、入力開始タイミングとが一致しているか否か、基準判定期間中に入力された入力情報で特定される動作が、特定の動き(例えば、「左腕半回転」)をしているか否か、基準判定期間の終了タイミング(基準終了タイミング)と入力終了タイミングとが一致しているか否かを判定する処理を行う。
【0102】
また、本実施形態では、図5に示すように、ゲーム画面内に、両手にコントローラを持ったキャラクタCが、プレーヤに対して手本となる空手の動きを指示する。また、本実施形態では、ゲームの進行に伴い、プレーヤが持つコントローラ20の移動態様を指示する指示オブジェクトOB1を含む画像を生成する。指示オブジェクトは、移動軌跡を線で移動方向を矢印で示し、基準判定期間中の移動スピードを、移動タイミングマークA1で示している。図5の例では、指示オブジェクトOB1、移動タイミングマークA1によって、プレーヤの左腕を半回転させる動きを指示している。
【0103】
なお、本実施形態では、時間経過に応じて、順次、空手の動きについて入力判定処理を行う。なお、図5に示すように、基準開始タイミングに先立って、次回の動きを示す予告指示オブジェクトOB2を含む画像を生成して表示する。
【0104】
また、本実施形態では、仮想3次元空間に、キャラクタCを配置させて、仮想カメラから見える画像を生成し、生成された画像上に、2次元の指示オブジェクトOB1、予告指示オブジェクトOB2、移動タイミングマークA1、A2を合成し、表示画像を生成している。
【0105】
1−4.入力判定処理の詳細
本実施形態のゲーム機10は、コントローラ20の加速度センサ210から検出された加速度値を、入力情報として取得し、入力情報に基づいて入力判定処理(入力評価処理)を行う。つまり、プレーヤが、画像で指示した空手の動きを行っているか否かを判断する。本実施形態の入力判定処理の詳細について説明する。
【0106】
なお、図5の例では、右手に把持するコントローラ20Aの入力判定処理に対応づけて右側に指示オブジェクトを表示し、左手に把持するコントローラ20Bの入力判定処理に対応づけて左側に指示オブジェクトを表示している。このように、本実施形態では、2つのコントローラ20に対応づけて入力判定処理を行っているが、以下では、説明の便宜上、1つのコントローラに対する入力判定処理について説明する。
【0107】
1−4−1.タイミング判定
本実施形態では、基準開始タイミングが到来すると、コントローラ20から取得した加速度ベクトルに基づいて、基準開始タイミングと入力開始タイミングとが一致しているか否かを判定する処理を行う。
【0108】
例えば、図6に示すように、本実施形態では、所定周期で加速度センサで検出されたx、y、z各軸の加速度値を取得する。
【0109】
そして、本実施形態では、基準開始タイミングBSにおいて取得したx、y、z各軸の加速度値が、基準開始タイミングBSに対応する加速度値(加速度値域)と照合し、基準開始タイミングと入力開始タイミングとが一致しているか否かを判定する処理を行う。
【0110】
例えば、基準開始タイミングBSにおいて取得したx、y、z各軸の加速度値が、基準開始タイミングBSに対応する加速度値である場合には、基準開始タイミングと入力開始タイミングとが一致していると判定し、基準開始タイミングBSにおいて取得したx、y、z各軸の加速度値が、基準開始タイミングBSに対応する加速度値でない場合には、不一致と判定する。
【0111】
また、本実施形態では、基準終了タイミングBEにおいても、基準開始タイミングと同じように、入力終了タイミングIEとが一致しているか否かを判定する処理を行う。
【0112】
1−4−2.入力情報判定
本実施形態では、図6に示すように、基準判定期間BPの基準開始タイミングBSと、入力開始タイミングISとが一致している場合に、基準判定期間BPにおいて入力された入力情報IDが、予め定めた入力定義情報MDと一致しているか否かを判定する処理を行う。言い換えると、プレーヤがコントローラを移動させた移動態様と、画面に表示される指示内容の移動態様とが一致しているか否かを判定する。なお、入力定義情報MDは、基準判定期間BPの時間経過に応じて入力されるべきx、y、z軸の加速度値の集合(定義加速度群)である。
【0113】
本実施形態では、基準判定期間BPの所定周期で(各フレームにおいて)加速度センサによって検出されたx、y、z各軸の複数の加速度からなる加速度群と、入力定義情報の加速度群とを照合し、基準判定期間BPにおいて、入力情報が入力定義情報と一致しているか否かを判定する処理を行う。
【0114】
例えば、基準判定期間BPにおいて、入力定義情報MDの加速度群のうち、加速度センサによって検出された加速度と入力定義情報MDの加速度と一致していると判定された割合が、60%以上である場合に、この基準判定期間BPにおいて、入力情報と、入力定義情報とが一致していると判定してもよい。
【0115】
1−4−3.予備開始タイミング
ところで、図7に示すように、プレーヤが、コントローラ20を遅く振ってしまった場合、入力開始タイミングISと、基準開始タイミングBSとが僅差でずれてしまい、入力開始タイミングが「不一致」であると判定されてしまうことがある。また、プレーヤが、コントローラ20を早く振ってしまった場合においても、同様に入力開始タイミングと基準開始タイミングとが「不一致」であると判定されてしまうことがある。
【0116】
かかる場合、プレーヤにとってみれば、入力のタイミング判定と基準開始タイミングとを合わせることが難しいと感じてしまい、強い不満を与えてしまうおそれがある。そこで、本実施形態では、図8に示すように、基準開始タイミングBSに対応する、複数の予備開始タイミングPS1、PS2、PS3を用意し、基準開始タイミングBSとずれても、予備開始タイミングPS1、PS2、PS3のいずれかと入力開始タイミングISとが一致していれば、入力タイミングが「一致」すると判定する処理を行っている。
【0117】
つまり、本実施形態では、1つの動き(例えば、「左腕半回転」)について基準判定期間BPだけでなく、複数の予備判定期間PP1、PP2、PP3を設けている。そして、基準判定期間BPの基準開始タイミングBS、予備判定期間PP1の予備開始タイミングPS1、予備判定期間PP2の予備開始タイミングPS2、予備判定期間PP3の予備開始タイミングPS3のうち、いずれかのタイミングと、入力開始タイミングISとが一致しているか否かを判定する処理を行う。そして、いずれかのタイミングと入力開始タイミングISとが一致している場合には、そのタイミングから終了タイミングまでの入力情報IEが、入力定義情報MDと一致しているか否かを判定する処理を行う。
【0118】
例えば、図8に示すように、1つの動きの入力判定処理において、入力開始タイミングISが、予備判定期間PP3の予備開始タイミングPS3と一致していれば、基準判定期間BPの基準開始タイミングBSと入力開始タイミングISとが一致していなくても、「一致」と判定する。
【0119】
このようにすれば、入力開始タイミング判定に余裕を持たせることができるので、プレーヤはコントローラ20を振るタイミングが少し早まったり、或いは、少し遅れたりしても柔軟に入力タイミング判定を行うことができる。
【0120】
なお、本実施形態では、複数の動きの入力判定処理を行うので、各予備判定期間が、他の入力判定処理に影響を及ぼさないようにする必要がある。つまり、図9に示すように、第1の入力判定処理の基準判定期間BPaに対応する予備判定期間PP1a、PP2a、PP3aの各予備終了タイミングPE1a、PE2a、PE3aは、基準判定期間BPaの終了タイミングBEaに合わせる。本実施形態では、各予備終了タイミングPE1a、PE2a、PE3aは、基準判定期間BPaの終了タイミングBEaと同じタイミングにしているが、必ずしも同じでなくてもよい。
【0121】
例えば、各予備終了タイミングPE1a、PE2a、PE3aは、第2次の入力判定処理の基準判定期間BPbの開始タイミングBSbよりも前であって、基準判定期間BPbに対応する各予備開始タイミングPS1b、PS2b、PS3bよりも前であればよい。
【0122】
別の言い方をすれば、各予備開始タイミングPS1b、PS2b、PS3bは、第1の入力判定処理の基準判定期間BPaの終了タイミングBEaよりも後であって、基準判定期間BPaに対応する各予備終了タイミングPE1a、PE2a、PE3aよりも後であればよい。
【0123】
このようにすれば、一の入力判定処理が他の入力判定処理に影響を及ぼさないようにすることができる。
【0124】
なお、基準開始・終了タイミング、予備開始・終了タイミング、基準判定期間、予備判定期間は、再生する楽曲データの再生開始時点からの経過時間によって定義される。例えば、楽曲データの再生開始時点を0としたときの経過時間によって定義される。
【0125】
なお、本実施形態では、予め基準開始タイミングと入力開始タイミングとのずれ期間を計測し、ずれ期間に基づいて、予備開始タイミング、予備判定期間を設定してもよい。例えば、図7に示すように、基準開始タイミングBSと入力開始タイミングISとのずれ期間ZPを取得する。そして、基準開始タイミングBSから、期間ZPずれたタイミングを予備判定期間PPの開始タイミングPSとして設定する。このように、開始タイミングPS、予備判定期間PPを、ずれ期間ZPに応じて設定することによって、プレーヤの癖などを考慮した予備開始タイミングを設定することができる。
【0126】
なお、本実施形態では、複数の基準判定期間それぞれについて、当該基準判定期間に対応する予備判定期間を期間ZPに基づいて設定するようにしてもよい。
【0127】
1−4−4.複数の入力定義情報
本実施形態では、図10に示すように、1つの入力判定処理において、複数の入力定義情報MD1、MD2、MD3をあらかじめ定義してもよい。このようにすれば、入力情報判定において一致する機会を高めることができる。
【0128】
1−4−5.判定情報
本実施形態では、図11に示すように、1つの入力判定処理それぞれのIDに対応づけて、基準判定期間(基準開始・終了タイミング)、予備判定期間1(予備開始・終了タイミング)、予備判定期間2(予備開始・終了タイミング)、予備判定期間3(予備開始・終了タイミング)、入力定義情報を、判定情報記憶部173に記憶して管理する。
【0129】
例えば、ID=1の入力判定処理を行う場合には、基準開始タイミングBSa、予備開始タイミングPS1a、予備開始タイミングPS2a、予備開始タイミングPS3aのいずれかのタイミングで、入力開始タイミングが一致しているか否かを判定する。そして、いずれかのタイミングと入力開始タイミングとが一致している場合には、その一致していると判定されたタイミングから開始する判定期間中の入力情報と、入力定義情報MD1a、MD2a、MD3aのいずれかと一致しているか否かを判定する処理を行う。
【0130】
このようにすれば、より高い確率で、入力タイミング判定が一致していると判定され、より高い確率で、入力情報が一致していると判定されることになり、プレーヤが満足する入力判定処理を提供できるようになる。
【0131】
1−4−6.画像生成処理
本実施形態の画像生成部120は、図5に示すように、ゲームの進行に伴い、プレーヤが持つコントローラ20の入力定義情報MD1に対応する指示内容を示す、指示オブジェクトOB1及び移動タイミングマークA1を含む画像を生成する処理を行う。
【0132】
本実施形態では、例えば、図12に示すように、指示オブジェクトOB1は、基準判定期間BPの基準開始タイミングBSにおいて、移動タイミングマークA1が移動軌跡の開始位置(移動軌跡の一端側)に位置させるように制御する。そして、基準判定期間BP中、移動軌跡に沿って移動タイミングマークA1が移動方向に移動し、基準終了タイミングBEに、移動タイミングマークA1が移動軌跡の終了位置(移動軌跡の他端側)に位置するように制御する。つまり、基準開始タイミングBSから終了タイミングBEにかけて、移動タイミングマークA1を移動軌跡に沿って、移動方向に向け移動させるように制御する。
【0133】
これにより、プレーヤは、基準判定期間BPの基準開始タイミングBS及び移動終了タイミングBEを知ることができる。また、基準判定期間BPにかけて、入力定義情報MD1に対応するコントローラ20を移動させる移動軌跡および移動方向を知ることができる。
【0134】
また、本実施形態では、キャラクタCの動きも、入力定義情報MD(指示オブジェクトOB1の移動軌跡)に連動して動くように動作制御を行うようにしてもよい。
【0135】
1−5.オブジェクトのスケーリング
本実施形態では、オブジェクトの指示内容を簡易に視認できるようにするために、オブジェクトを時間経過に応じてオブジェクトをスケーリングする処理を行う。
【0136】
1−5−1.予告期間のスケーリング
図13に示すように、本実施形態では、基準判定期間BP以前に予告期間(DTからBSまでの期間)を設け、基準開始タイミングに先立って指示する予告指示オブジェクトOB1aを含む画像を生成する。そして、基準開始タイミングBSが到来すると、予告指示オブジェクトOB1aから指示オブジェクトOB1に切り替える。このようにすれば、プレーヤは、事前に、基準開始タイミングの到来、次の動きの移動軌跡を把握することができる。また、予告指示オブジェクトOB1aから指示オブジェクトOB1に切り替わるタイミングが入力開始タイミングであるので、入力開始タイミングを把握しやすくなる。
【0137】
また、図13に示すように、予告指示オブジェクトOB1aは、予告期間の時間経過に応じて、スケーリング(拡大)するようにしてもよい。例えば、予めモデリングされた予告指示オブジェクトOB1aの倍率を1倍とすると、予告期間の開始タイミングDTでは大きさ0.5倍にし、予告期間の終了タイミング(基準開始タイミング)BSで大きさ1倍になるように、時間経過に応じてスケーリングする倍率を変化させる。
【0138】
そして、時間経過に応じて変化する倍率に基づいて予告指示オブジェクトOB1aをスケーリングする。このようにすれば、予告指示オブジェクトOB1aが最大の大きさになったタイミングが入力開始タイミングであるので、プレーヤは入力開始タイミングをことを瞬時に把握することができる。なお、予告移動タイミングマークA1aも、予告指示オブジェクトOB1aの倍率に応じてスケーリングしてもよい。
【0139】
1−5−2.判定期間のスケーリング
また、本実施形態では、図14に示すように、基準判定期間BPの時間経過に応じて、指示オブジェクトOB1を拡大するようにしてもよい。例えば、予めモデリングされた指示オブジェクトOB1の倍率を1倍とすると、基準開始タイミングBSで大きさ1倍にし、基準終了タイミングBEで大きさ1.5倍になるように、時間経過に応じてスケーリングする倍率を変化させる。そして、時間経過に応じて変化する倍率に基づいて、指示オブジェクトOB1をスケーリングする。なお、移動タイミングマークA1も、指示オブジェクトOB1の倍率に応じてスケーリングしてもよい。このようにすれば、基準判定期間BP中に入力すべき動作を容易に認識することができる。
【0140】
図15は、実空間において奥行き方向(Z方向)の動作(例えば奧から手前に動かす動作)を指示するための指示オブジェクトOB3及び移動タイミングマークA3の例を示す。例えば、図15に示すように、基準判定期間BPの時間経過に応じて、指示オブジェクトOB3、移動タイミングマークA3のスケーリング倍率を1倍から1.5倍に増加させる。そして、基準判定期間BPの時間経過に応じて増加する倍率に基づいて、指示オブジェクトOB3、移動タイミングマークA3をスケーリング(拡大)する。このようにすれば、奥行き方向の指示がより極端に表現することができるので、プレーヤは容易に奥行き方向の動作を確認することができる。
【0141】
なお、本実施形態の指示オブジェクトは2次元のオブジェクトであるが、これを3次元オブジェクトに適用してもよい。
【0142】
例えば、仮想カメラから見て、奥行き方向に(例えば奥から手前に)動かす内容を示す指示オブジェクトを、3次元仮想空間に配置して画像を生成する場合には、基準判定期間BPの基準開始タイミングBSで、1倍の倍率でスケーリングされた指示オブジェクトを配置する。そして、基準判定期間BPの時間経過に応じて倍率を増加させて、増加させた倍率に基づきスケーリングする。そして、基準判定期間BPの終了タイミングBEで1.5倍の倍率で指示オブジェクトをスケーリングする。このようにすれば、仮想カメラの視線方向(奥行き方向)に対応する動きを指示する場合には、奥行き方向の指示を極端に表すことができるので、プレーヤは容易に奥行き方向の動作を確認することができる。
【0143】
1−6.入力判定処理の流れ
本実施形態において、1つの動作における入力判定処理の流れについて、図16を用いて説明する。まず、基準開始タイミング及び予備開始タイミングのいずれか1つのタイミングと、入力開始タイミングとが一致しているか否かを判定する(ステップS1)。例えば、図8を例にとると、時間経過に応じて、予備開始タイミングPS1、基準開始タイミングBS、予備開始タイミングPS2、予備開始タイミングPS3のいずれかのタイミングと、入力部から入力された入力開始タイミングと一致したかを判定する。
【0144】
そして、入力開始タイミングと基準開始タイミングとが一致している場合(ステップS1のY)、プレーヤのスコアを加算する処理を行う(ステップS2)。
【0145】
次に、入力情報と入力定義情報とが一致しているか否かを判定する(ステップS3)。例えば、複数の入力定義情報MD1、MD2、MD3のうちいずれか1つの入力定義情報と入力情報とが一致している場合には、一致していると判定する。
【0146】
なお、入力開始タイミング判定において、基準開始タイミングBS、予備開始タイミングPS1、予備開始タイミングPS2、予備開始タイミングPS3のうち、一致したと判定されたタイミングから開始する判定期間に入力された入力情報と、複数の入力定義情報MD1、MD2、MD3とを比較して判定する。例えば、図8の例によれば、予備開始タイミングPS3と入力開始タイミングISとが一致したと判定されるので、予備判定期間PP3において入力された入力情報と、入力定義情報MD1、MD2、MD3とを比較して判定する。
【0147】
そして、入力情報と入力定義情報とが一致していると判定されると(ステップS3のY)、プレーヤのスコアを加算する処理を行う(ステップS4)。
【0148】
最後に、入力終了タイミングと、判定期間による終了タイミングとが一致しているか否かを判定する(ステップS5)。例えば、図8の例によれば、判定期間は予備期間PP3となるので、予備終了タイミングPE3と、入力終了タイミングIEとが一致したか否かを判定する。
【0149】
そして、入力終了タイミングと、判定期間による終了タイミングとが一致していると判定されると(ステップS5のY)、プレーヤのスコアを加算する処理を行う(ステップS6)。
【0150】
1−7.応用例
(1)本実施形態では、コントローラ20から入力される十字キー271、ボタン272の信号を入力情報として、入力判定処理を行うようにしてもよい。例えば、基準判定期間に、所定の組み合わせによる複数の信号(十字キーの上、下、右、右などの信号の組み合わせ)を検出することが入力定義情報として予め定義されている場合には、基準開始タイミングに、最初の信号(上)が入力されたか否かを判定し、基準終了タイミングまでの基準判定期間に入力定義情報に合わせて入力信号が入力されたか否かを判定し、基準終了タイミングに、最後の信号(右)が入力されたか否かを判定するようにしてもよい。
【0151】
(2)本実施形態では、プレーヤの接触位置を検出するためのタッチパネルとが積層されたタッチパネル型ディスプレイや、ポインティングデバイスなどの入力部に応用してもよい。つまり、本実施形態では、判定期間(基準判定期間又は予備判定期間)に入力されるべき移動軌跡を定義した移動定義軌跡を、入力定義情報とする。
【0152】
そして、タッチパネル型ディスプレイや、ポインティングデバイスなどで検出された2次元の移動軌跡を入力情報とし、基準開始タイミングと入力開始タイミングとが一致している場合に、基準判定期間に入力部から検出される移動軌跡と、移動定義軌跡とが一致しているか否かを判定する処理を行ってもよい。また、予備開始タイミングと入力開始タイミングとが一致している場合に、予備判定期間に入力部から検出される入力移動軌跡と、移動定義軌跡とが一致しているか否かを判定する処理を行うようにしてもよい。
【0153】
2.第2の実施形態
次に、本実施形態の第2の実施形態について説明する。なお、第2の実施形態は、第1の実施形態を応用したものである。第2の実施形態では、第1の実施形態と共通する点について説明を省略し、第1の実施形態と相違する点や第2の実施形態で追加した点等について説明する。
【0154】
2−1.第2のゲームシステム
図17は、第2の実施形態における第2のゲームシステム(第2の画像生成システム、第2の入力判定システム)の概略外観図である。本実施形態の第2のゲームシステムは、ゲーム画像を表示させる表示部90と、ゲーム処理等を行うゲーム機50(ゲーム機本体)と、入力部60とを含む。そして、図17に示すように、表示部90(表示画面91)の周囲には、表示部90(表示画面91)と関連付けた位置に入力部60が配置されている。例えば、入力部60は、表示部90(表示画面91)の下部に配置してもよいし、表示部90(表示画面91)の上部に配置してもよい。
【0155】
第2のゲームシステムは、プレーヤPの手や体の動きを認識することができる入力部60(センサの一例)を備えている。この入力部60は、発光部610、深度センサ620、RGBカメラ630、音入力部640(マルチアレイマイクロフォン)とを備え、プレーヤP(物体)と非接触で、実空間におけるプレーヤPの手や体の3次元の位置や、形の情報をとらえることができる。第2の実施形態では、この入力部60を用いた第2のゲームシステムの処理例について説明する。
【0156】
2−2.構成
図18は、第2のゲームシステムの機能ブロック図の一例である。なお、第1のゲームシステムの構成例との共通する点については説明を省略し、第1のゲームシステムの構成例と相違する点について説明する。なお、第2のゲームシステムでは、図18の各部を全て含む必要はなく、その一部を省略した構成としてもよい。
【0157】
第2のゲームシステムは、ゲーム機50と、入力部60と、表示部90、スピーカー92を含む。
【0158】
入力部60は、発光部610、深度センサ620、RGBカメラ630、音入力部640、処理部650、記憶部660によって構成されている。
【0159】
発光部610は、光を物体(プレーヤ、被写体)に照射する処理を行う。例えば、発光部610は、LEDなどの発光素子による赤外線などの光を対象の物体に照射する。
【0160】
深度センサ620は、物体から反射光を受光する受光部を有する。深度センサ620は、発光部610が発光しているときに受光した光量と、発光部610が発光していないときに受光した光量の差をとることによって、発光部610から照射される物体の反射光を取り出す処理を行う。つまり、深度センサ620は、図19(A)に示すように、発光部610から照射される物体の反射光を取り出した反射光画像(入力画像の一例)を、所定単位時間で(例えば、1/60秒単位で)、記憶部660に出力する処理を行う。反射光画像は画素単位で、入力部60から物体までの距離(深度値)を取得することができる。
【0161】
RGBカメラ630は、物体(プレーヤP)から発した光をレンズなどの光学系によって撮像素子の受光平面に結像させ、その像の光による明暗を電荷の量に光電変換し、それを順次読み出して電気信号に変換する。そして、RGB化(カラー化)されたRGB画像(入力画像の一例)を記憶部660に出力する処理を行う。例えば、図19(B)に示すようなRGB画像を生成する。RGBカメラ630は、所定単位時間で(例えば、1/60秒単位で)、記憶部660に出力する処理を行う。
【0162】
なお、深度センサ620とRGBカメラ630とは、共通の受光部から光を受光するようにしてもよい。かかる場合、2つの受光部を有していてもよい。また、深度センサ620用の受光部と、RGBカメラ630用の受光部とをそれぞれ異ならせてもよい。
【0163】
音入力部640は、音声認識処理を行うものであり、例えばマルチアレイマイクロフォンとすることができる。
【0164】
処理部650は、発光部610に発光するタイミングを指示したり、深度センサ620によって出力された反射光画像や、RGBカメラ630で撮像されたRGB画像を、ゲーム機50に送信する処理などを行う。
【0165】
記憶部660は、深度センサ620によって出力された反射光画像や、RGBカメラ630によって出力されたRGB画像を逐次記憶する。
【0166】
次に、本実施形態のゲーム機50について説明する。本実施形態のゲーム機50は、記憶部570、処理部500、情報記憶媒体580、通信部596によって構成される。
【0167】
特に、第2のゲームシステムの判定情報記憶部573に記憶される入力定義情報は、判定期間中に入力画像(反射光画像、RGB画像)の特徴点の移動ベクトル(動きベクトル)を判定するための、予め定義した移動ベクトル(動きベクトル)を記憶する。
【0168】
そして、処理部500は、この情報記憶媒体580に格納されるプログラムから読み出されたデータに基づいて本実施形態の種々の処理を行う。即ち、情報記録媒体580には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
【0169】
通信部596は、ネットワーク(インターネット)を介して他のゲーム機と通信することができる。その機能は、各種プロセッサまたは通信用ASIC、ネットワーク・インタフェース・カードなどのハードウェアや、プログラムなどにより実現できる。
【0170】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラムは、サーバが有する、記憶部、情報記憶媒体からネットワークを介して情報記憶媒体580(または、記憶部570)に配信するようにしてもよい。このようなサーバの情報記憶媒体の使用も本発明の範囲に含まれる。
【0171】
処理部500(プロセッサ)は、入力部60から受信した情報や情報記憶媒体580から記憶部570に展開されたプログラム等に基づいて、ゲーム処理、画像生成処理、或いは音制御の処理を行う。
【0172】
特に、第2のゲームシステムの処理部500は、取得部510、配置部511、移動・動作処理部512、オブジェクト制御部513、判定部514、画像生成部520、音制御部530として機能する。
【0173】
第2の実施形態の取得部510は、入力部60から反射光画像、RGB画像などの入力画像情報を取得する処理を行う。
【0174】
配置部511は、入力画像(反射光画像及びRGB画像の少なくとも一方)に基づいて特定される物体と入力部60との位置関係に基づいて、仮想空間におけるオブジェクトの配置位置を決定する。
【0175】
移動・動作処理部512の移動処理部は、入力画像に基づいて特定される入力部60と物体との距離に基づいて、オブジェクトを移動させる移動速度を制御するようにしてもよい。
【0176】
オブジェクト制御部513は、入力画像に基づいて特定される入力部60と物体との距離に基づいて、仮想空間におけるオブジェクトの大きさを制御する。例えばオブジェクト制御部513は、この距離が短くなるにつれて、オブジェクトをスケーリングする倍率を縮小させたり、或いは、この距離が長くなるにつれて、オブジェクトをスケーリングする倍率を拡大させる。
【0177】
また、オブジェクト制御部513、時間経過に応じて変化させるオブジェクトのスケーリングする倍率値の変化度合いを、入力画像に基づいて特定される入力部60と物体との距離に基づいて制御するようにしてもよい。
【0178】
判定部514は、タイミング判定部514A、入力情報判定部514Bを含む。タイミング判定部514Aは、入力画像に基づいて特定される特徴点(特定領域)の移動量、移動方向を示す移動ベクトルが、予め定義された判定期間(基準判定期間、予備判定期間A)の開始タイミングに対応する移動ベクトルと一致しているか否かを判定する。
【0179】
入力情報判定部514Bは、判定期間中に取得した、入力画像に基づいて特定される特徴点(特定領域)の移動量、移動方向を示す移動ベクトル(移動ベクトル群)が、予め定義された判定期間(基準判定期間、予備判定期間A)の移動ベクトル(移動定義ベクトル群)と一致しているか否かを判定する処理を行う。
【0180】
なお、タイミング判定部514A、入力判定部514Bは、入力画像に基づいて特定される入力部60と物体との距離に基づいて難易度を調整して判定処理を行うようにしてもよい。
【0181】
仮想カメラ制御部515は、仮想3次元空間における仮想カメラの位置を制御する。仮想カメラ制御部515は、入力画像(反射光画像)に基づいて特定される当該入力部60と物体との距離に基づいて、仮想カメラの位置を制御してもよい。また、仮想カメラ制御部515は、この距離に基づいて、仮想カメラの画角を制御してもよい。また、仮想カメラ制御部515は、反射光画像に基づいて特定される物体の位置と入力部60との位置関係に基づいて、仮想カメラの視線方向を制御してもよい。
【0182】
2−3.入力部の説明
第2のゲームシステムの入力部60は、深度センサ620と、RGBカメラ630とを備え、コントローラなどの入力機器を必要とせず、物体(プレーヤ、プレーヤの手など)の物体を画像処理することにより入力を受け付けることができる。これにより、従来にはない様々なゲーム処理を行うことができる。まず、入力部60の深度センサ620、RGBカメラ630について説明する。
【0183】
2−3−1.深度センサ
本実施形態の深度センサ620について、図20を用いて説明する。まず、図20に示すように、入力部60が備える発光部610は、タイミング信号にしたがって時間的に強度変動する光を発光する。発光される光は、光源の前方に位置するプレーヤP(物体)に照射される。
【0184】
そして、深度センサ620は、発光部610が発光した光の反射光を受光する。つまり、深度センサ620は、反射光の空間的な強度分布を抽出した反射像画像を生成する。例えば、深度センサ620は、発光部610が発光しているときに受光した光量と、発光部610が発光していないときに受光した光量の差をとることによって、発光部610からの光の物体による反射光を取り出して反射光画像を得る。この反射光画像の各画素の値は、深度センサ620の入力部60の位置GPから物体までの距離(深度値)に対応する。なお、入力部60の位置GPは、深度センサ620の位置、深度センサ60が備える受光位置と同義である。
【0185】
例えば、図20の例では、プレーヤPの手の部分が入力部60の位置GPに最も近くにあるので、図19(A)に示すようなプレーヤPの手を示す領域が、もっとも受光量多い部分(高輝度部分)となる反射像画像を得ることになる。
【0186】
本実施形態では、反射光画像の各画素について、輝度値(受光量、画素値)が所定値以上である画素を、入力部60の位置GPに近い画素として抽出する。例えば、反射光画像の階調が256階調であれば、所定値(例えば200)以上の画素を、高輝度の部分として抽出する。
【0187】
この深度センサで得られる反射光画像は、物体までの距離(深度値)に関係する。つまり、図21に示すように、入力部60の位置GPから1メートル離れたところでプレーヤPが位置する場合は、位置GPから2メートル離れたところでプレーヤPが位置する場合よりも、反射光画像の手の領域部分が高輝度となる(受光量が多くなる)。また、入力部60の位置GPから2メートル離れたところでプレーヤPが位置する場合は、位置GPから3メートル離れたところでプレーヤPが位置する場合よりも、反射光画像の手の領域部分が高輝度となる(受光量が多くなる)。
【0188】
このような原理に基づき、本実施形態では、反射光画像で高輝度部分として抽出された画素の輝度値に基づいて、実空間におけるプレーヤPの位置を算出する。例えば、反射光画像のうち、輝度値が最も高い画素を特徴点とし、特徴点の輝度値に基づいて位置GPからプレーヤPまでの距離を算出する。なお、特徴点は、予め用意された形状パターンや移動ベクトル等に基づいて特定される手の領域の重心画素としてもよい。なお、反射光画像において高輝度部分が広い場合には、高輝度部分が狭い場合よりも例えば物体が入力部の近くに存在すると判定することもできる。
【0189】
また、本実施形態では、反射光画像に基づいて、入力部60を基準とする実空間における物体の位置を特定することができる。例えば、反射光画像の中心に、特徴点がある場合には、物体が入力部60の光源の発射方向上に位置しているものと特定できる。また、特徴点が反射光画像の上部にある場合には、入力部60を基準に物体が上部にあるものと特定できる。また、特徴点が反射光画像の下部にある場合には、入力部60を基準に物体が下部にあるものと特定できる。また、特徴点が反射光画像の左部にある場合には、入力部60を基準に(入力部の正面(光源側)からみて)物体が右部にあるものと特定できる。また、特徴点が反射光画像の左部にある場合には、入力部60を基準に物体が(入力部の正面(光源側)からみて)右部にあるものと特定できる。このように、本実施形態では、反射光画像に基づいて、物体と入力部60との位置関係を特定できる。
【0190】
また、本実施形態では、反射光画像に基づいて、実空間における物体の移動方向を特定することができる。例えば、反射光画像の中心に特徴点があり、当該特徴点の輝度値が高くなる場合、物体が入力部60の光源方向に近づいているものと特定できる。また、特徴点が反射光画像の上部から下部に移動している場合には、入力部60を基準に物体が上部から下部に移動しているものと特定できる。また、特徴点が反射光画像の左部から右部に移動している場合には、入力部60を基準に物体が右部から左部に移動しているものと特定できる。このように、本実施形態では、反射光画像に基づいて、入力部60を基準に物体の移動方向を特定できる。
【0191】
なお、物体の反射光は、入力部60の位置GPから物体の距離が大きくなるにつれ大幅に減少する。例えば、反射光画像の1画素あたりの受光量は、物体までの距離の2乗に反比例して小さくなる。したがって、プレーヤPが入力部60から20メートル程離れて位置する場合には、プレーヤPからの反射光はほぼ無視できるくらいに受光量が小さくなり、プレーヤPを特定できるような高輝度部分を抽出することができない。かかる場合には、入力がないものとして制御してもよい。また、高輝度部分を抽出することができない場合には、スピーカーから警告音を出力するようにしてもよい。
【0192】
2−3−2.RGBカメラの説明
本実施形態は、RGBカメラ(撮影部)630によりRGB画像を入力情報として取得する。RGB画像は、反射光画像に対応しているため、物体の移動ベクトル(動きベクトル)や形状領域の抽出処理の精度を高めることができる。
【0193】
本実施形態では、例えば、描画のフレームレート(例えば60fpsfpsは、Frame Per Secondの略)に応じて、RGBカメラからデジタル化されたRGB画像を取得する。そして、RGBカメラ630によって撮影された動画像を構成する2枚の画像間における特徴点の移動量、移動方向を示す移動ベクトル(動きベクトル)を算出する。ここで、画像の特徴点は、コーナー検出やエッジ抽出よって求めることができる1又は複数の画素である。また、移動ベクトルは、前画像における特徴点(特徴点を含む領域でもよい)が現画像において、どの方向にどの程度移動するかを示すベクトルであり、いわゆるオプティカルフローである。オプティカルフローは、例えば、勾配法やブロックマッチング法によって求めることができる。本実施形態では、例えば、撮影された画像からエッジ抽出によってプレーヤPの輪郭線、手の輪郭線を検出し、検出した輪郭線の画素の移動ベクトルを求めている。
【0194】
そして、本実施形態では、特徴点の移動量が所定移動量以上になった場合に、入力があったと判定する。そして、特徴点の移動ベクトルと、予め用意された移動定義ベクトルとをマッチングし、プレーヤPの手の領域を抽出する処理を行う。また、本実施形態では、RGBカメラ630によって取得したRGB画像の各画素のRGBカラー値に基づいて、物体を抽出する処理を行うようにしてもよい。
【0195】
また、本実施形態では、深度センサ620によって、入力部60からの物体までの距離(深度値)を特定でき、反射光画像やRGB画像の2次元平面上において高輝度部分の特徴点の位置座標(X、Y)、特徴点の移動ベクトルを抽出できる。したがって、入力部60から物体までの距離(Z)と、反射光画像及びRGB画像の位置座標(X、Y)とに基づいて、実空間における入力部60を基準とする物体の位置Qを特定できる。
【0196】
2−4.オブジェクト制御
本実施形態では、入力部60によって得られた入力画像(反射光画像、RGB画像)に基づいて、表示部に表示させる表示画像を生成する処理を行う。詳細を以下に述べる。
【0197】
2−4−1.オブジェクトの大きさを制御する手法
まず、本実施形態では、反射光画像に基づいて算出された、入力部60の位置GPから物体までの距離Lに基づいて、仮想空間に配置するオブジェクトの大きさを制御する処理を行う。
【0198】
例えば、図22に示すように、入力部60の位置GPから物体までの距離L1が所定距離LD以下(L1≦LD)である場合には、指示オブジェクトOB1や、移動タイミングマークA1、予告指示オブジェクトOB2、移動タイミングマークA2、キャラクタCなどのオブジェクトを予め決められた倍率(例えば倍率1)でスケーリングして画像を生成する。例えば、表示画像は図23(A)が表示される。
【0199】
一方、図24に示すように、入力部60の位置GPから物体までの距離L2が所定距離LDより大きい(L1≦LD<L2)である場合は、距離L1の場合よりも、オブジェクトをスケーリングする倍率を増加させる。例えば、図23(B)に示すように、オブジェクトを2倍の倍率でスケーリングして画像を生成する。
【0200】
つまり、本実施形態では、入力部60の位置GPから物体までの距離Lの変化に応じて、オブジェクトのスケーリング倍率を制御している。例えば、距離Lが短くになるにつれて、オブジェクトのスケーリング倍率を小さくし、距離Lが長くなるにつれてキャラクタCのスケーリング倍率を大きくする。
【0201】
なお、本実施形態では、所定間隔(例えば描画のフレームレート(60fps))で反射光画像を取得するので、リアルタイムに入力部60の位置GPから物体までの距離Lを算出することができる。したがって、本実施形態では、リアルタイムに距離Lの変化に応じて、オブジェクトをスケーリングするための倍率を制御するようにしてもよい。
【0202】
なお、本実施形態では、記憶部570に、予めモデリングされたオブジェクトを1倍として記憶している。また、記憶部570には、オブジェクト制御対象(スケーリング対象)となるオブジェクト、オブジェクト制御対象(スケーリング対象)とはならないオブジェクトとを、それぞれ識別して記憶する。
【0203】
より具体的には、オブジェクト制御対象となるキャラクタC、指示オブジェクトOB1、予告指示オブジェクトOB2、移動タイミングマークA1、A2については制御フラグを「1」とし、オブジェクト制御対象とはならないスコアS1、S2などのオブジェクトの制御フラグを「0」として、各オブジェクトのIDに対応づけて記憶する。
【0204】
そして、制御フラグが「1」であるオブジェクトについて、オブジェクトを距離Lに基づいてスケーリング倍率を算出し、算出された倍率に基づいてオブジェクトをスケーリングする処理を行う。このようにすれば、プレーヤにとって必要な情報となるオブジェクトについて、スケーリング対象とすることができて有益である。なお、本実施形態では、入力評価判定を行うために入力を指示するオブジェクトを、オブジェクト制御対象としている。
【0205】
以上のように、本実施形態では、入力部60の位置GPから物体までの距離Lに基づいて、オブジェクトの大きさを制御するので、プレーヤPにとって適切な大きさのオブジェクトを含む表示画像を生成することができる。例えば、プレーヤPが入力部60から遠ざかっても、オブジェクト、キャラクタが拡大して表示されるようになるので、入力判定で求められる指示内容を容易に確認することができる。また、プレーヤPが入力部60に近づくと、指示オブジェクトOB1、キャラクタCが縮小して表示されるようになるので、適切なサイズのオブジェクトで指示内容を容易に確認することができる。
【0206】
なお、本実施形態では、タイミング判定や、入力情報判定の入力判定結果に基づいて、オブジェクトの大きさを制御するようにしてもよい。つまり、入力部60から物体までの距離Lと、入力判定結果とに基づいてオブジェクトの大きさを制御するようにしてもよい。
【0207】
例えば、判定期間の開始タイミング(基準開始タイミング又は予備開始タイミング)と入力開始タイミングとが一致している場合には、オブジェクトをスケーリングする倍率を距離Lに基づいて制御し(例えば2倍)、判定期間の基準タイミングと入力開始タイミングとが一致していない場合には、オブジェクトをスケーリングする倍率を距離Lに基づいて算出された倍率を更に増加させる(例えば3倍)にする。このようにすれば、入力タイミング判定に誤りが生じやすいプレーヤに対して、更に、オブジェクトを視認し易くすることができる。
【0208】
また、判定期間(基準判定期間又は予備判定期間)に入力される入力情報が、入力定義情報と一致している場合には、オブジェクトをスケーリング倍率を距離Lに基づいて制御し(例えば2倍)、入力情報が入力定義情報と一致していない場合には、オブジェクトをスケーリングする倍率を距離Lに基づいて算出された倍率を更に増加させる(例えば3倍)にする。このようにすれば、プレーヤはオブジェクトを視認しやすくなり、判定期間において入力情報が一致していると判定される可能性を高めることができる。
【0209】
また、プレーヤのスコアS1が、所定スコア値以上である場合には、オブジェクトをスケーリングする倍率を距離Lに基づいて算出し、プレーヤのスコアS1が、所定スコア値よりも低い場合には、オブジェクトをスケーリングする倍率を、距離Lに基づいて算出する倍率よりも増加させた倍率にする。このようにすれば、プレーヤは高得点を狙いやすくなり、プレーヤのレベルにあったサイズでオブジェクトを制御することができる。
【0210】
2−4−2.スケーリング倍率値の変化度合い
本実施形態では、例えば、図13、図14で示すように予告期間や基準判定期間の時間経過に応じて、指示オブジェクトOB1を拡大する処理を行っている。例えば、基準判定期間の拡大処理を例にとると、予めモデリングされた指示オブジェクトOB1の倍率を1倍とすると、基準開始タイミングBSで大きさ1倍にし、基準終了タイミングBEで大きさ1.5倍になるように、時間経過に応じてスケーリングする倍率を変化させる。そして、時間経過に応じて変化する倍率に基づいて、指示オブジェクトOB1をスケーリングする。
【0211】
そこで、本実施形態では、予告期間や基準判定期間の時間経過に応じて変化させる指示オブジェクトのスケーリング倍率値の変化度合いを、反射光画像に基づいて特定される物体と入力部60との距離に基づいて制御する。
【0212】
例えば、図22に示すように、入力部60の位置GPから物体までの距離L1が所定距離LD以下(L1≦LD)である場合には、指示オブジェクトOB1を「1倍」から「2倍」の変化度合い(1〜2の値域)で、時間経過に応じてスケーリング倍率を変化させる。
【0213】
一方、図24に示すように、入力部60の位置GPから物体までの距離L2が所定距離LDより大きい(L1≦LD<L2)である場合は、距離L1の場合よりも、変化度合いを大きくする。例えば、指示オブジェクトOB1を「1倍」から「3倍」の変化度合い(1〜3の値域)で、時間経過に応じてスケーリング倍率を変化させる。このようにすれば、入力部60から遠くに位置している場合であっても、プレーヤは予告期間や、判定期間を容易に確認することができる。
【0214】
2−5.仮想カメラ制御
本実施形態では、反射光画像に基づいて算出された、入力部60の位置GPから物体までの距離L、物体の位置Qに基づいて、仮想カメラの位置、画角を制御してもよい。
【0215】
なお、本実施形態では、所定間隔に応じて、リアルタイムに距離Lを算出することができる。したがって、本実施形態では、リアルタイムに、距離Lに基づいて、仮想カメラの位置、画角を制御してもよい。
【0216】
2−5−1.視点位置の制御
本実施形態において、仮想カメラVCの視点位置を制御する手法について説明する。例えば、図22に示すように、入力部60の位置GPと物体(プレーヤP)までの距離がL1(L1≦LD)である場合において、図25(A)に示すように、仮想3次元空間において、仮想カメラVCを位置DP1に配置させる。
【0217】
そして、図24に示すように、入力部60の位置GPと物体までの距離LがL2(L1≦LD<L2)である場合は、図25(B)に示すように、距離L=L1の場合よりも、仮想カメラVCの位置を視線方向CVに向かって移動させた位置DP2に配置させる。
【0218】
例えば、DP1に位置する仮想カメラVCの前方の視野範囲内にキャラクタCが定位置にある場合には、仮想カメラVCを位置DP1から位置DP2に移動させることによって、生成される表示画像においてキャラクタCが拡大して表示するように見える。つまり、透視投影変換処理によって、キャラクタCが拡大して見えるようになり、プレーヤにとって適切な大きさのオブジェクトを含む表示画像を生成することができる。
【0219】
2−5−2.画角の制御
本実施形態において、仮想カメラVCの画角を制御する手法について説明する。例えば、図22に示すように、入力部60の位置GPと物体(プレーヤP)までの距離がL1(L1≦LD)である場合において、図26に示すように、仮想カメラの画角がθ1に設定されていたとする。
【0220】
そして、図24に示すように、入力部60の位置GPと物体(プレーヤP)までの距離LがL2(L1≦LD<L2)である場合は、図26(B)に示すように、距離L=L1の場合よりも、仮想カメラVCの画角をθ2にして、画角を狭くする。つまり、視野を縮小させる処理を行う(ズームインする)。このようにすれば、キャラクタCが拡大して見えるようになり、プレーヤにとって、見やすい画像を提供することができる。逆に、距離LがL2からL1になると、画角を広くすることによって視野を広げる処理を行う(ズームアウトする)。このようにすれば、キャラクタCが縮小して見えるようになり、プレーヤにとって、見やすい画像を提供することができる。
【0221】
2−6.入力判定処理
第2の実施形態では、反射光画像、RGB画像に基づいて入力タイミング、入力情報(移動ベクトル(動きベクトル)、移動軌跡)を特定し、入力判定処理を行う。
【0222】
例えば、反射光画像及びRGB画像による動画像の画像間の移動ベクトルの移動量が所定量以上であって、移動方向が予め定めた移動定義ベクトルに一致している場合に、入力があると判断する。
【0223】
また、反射光画像、RGB画像に基づいて特定される特徴点(特定領域)の移動量、移動方向を示す移動ベクトルが、予め定義された判定期間(基準判定期間又は予備判定期間A)の開始タイミングに対応する移動ベクトルと一致しているか否かを判定することによって、入力開始タイミングISと判定期間の開始タイミング(例えば基準開始タイミングBS)とが一致していると判定する。
【0224】
また、判定期間(基準判定期間又は予備判定期間)に取得した、入力画像(反射光画像、RGB画像)に基づいて特定される特徴点(特定領域)の移動量、移動方向を示す移動ベクトル(3つ以上の入力画像において各画像間における特徴点(特定領域)を抽出する場合には、移動ベクトル群)が、予め定義された判定期間(基準判定期間又は予備判定期間)の画像間における特徴点の移動定義ベクトル(3つ以上の画像において各画像間における特徴点の移動を定義する場合には移動定義ベクトル群)と一致しているか否かを判定する処理を行うことによって、判定期間に入力された入力情報と、入力定義情報MDとが一致しているか否かを判定する。
【0225】
また、第2の実施形態においても、図8に示すように、基準開始タイミングBSに対応する、複数の予備開始タイミングPS1、PS2、PS3を定義し、いずれかと入力開始タイミングISとが一致しているか否かを判定する。例えば、複数の予備開始タイミングそれぞれのタイミングにおいて、予備開始タイミングと入力開始タイミングとが一致しているか否かを判定し、PS1、PS2、PS3のうちいずれかの予備開始タイミングと入力開始タイミングとが一致しているか否かを判定する。
【0226】
ところで、第2の実施形態では、入力部60の位置GPから物体までの距離Lに応じて、入力のタイミング判定処理の難易度を調整してもよい。例えば、図22に示すように、位置GPから物体までの距離がL1(L1≦LD)である場合は、基準開始タイミングBSに対応する予備開始タイミングはPS1のみにし、図24に示すように、位置GPから物体までの距離がL2(L1≦LD<L2)である場合は、基準開始タイミングBSに対応する予備開始タイミングはPS1、PS2、PS3にする。つまり、物体と入力部60の位置GPとの距離が長くなるにつれて、予備基準タイミングを増加させてタイミング判定の難易度を低くし、物体が入力部60に近づくほど、タイミング判定の難易度を高くする。
【0227】
第2の実施形態では、入力部60の位置GPから物体までの距離に応じて、入力情報判定処理の難易度を調整してもよい。例えば、図22に示すように、位置GPから物体までの距離LがL1(L1≦LD)である場合は、基準判定期間あるいは予備判定期間に入力される入力情報が、入力定義情報MD1のみに一致しているか否かを判定し、図24に示すように、位置GPから物体までの距離L2(L1≦LD<L2)である場合は、基準判定期間あるいは予備判定期間に入力される入力情報が、入力定義情報MD1、MD2、MD3のいずれかと一致しているか否かを判定する。つまり、物体と入力部60の位置GPとの距離が長くなるにつれて、入力定義情報を増加させて入力情報判定の難易度を低くし、物体が入力部60に近づくほど、入力情報判定の難易度を高くする。
【0228】
つまり、プレーヤPが入力部60から遠ざかるにつれて、プレーヤは指示オブジェクトを視認することが難しくなり、また、反射光画像やRGB画像に基づき抽出される特徴点の精度が落ちてしまう。このように、プレーヤPが入力部60から遠ざかると、プレーヤにとって不利になりやすいので、本実施形態では入力判定処理の難易度を調整するようにしている。
【0229】
なお、本実施形態では、所定間隔(例えば描画のフレームレート(60fps))に応じて、リアルタイムに距離Lを取得することができる。したがって、本実施形態では、リアルタイムに距離Lに基づいて、入力情報判定処理の難易度を調整してもよい。
【0230】
2−7.第2の実施形態の処理の流れ
第2の実施形態の処理の流れについて、図27を用いて説明する。まず、入力部60からプレーヤまでの距離を取得する処理を行う(ステップS10)。次に、入力部60からプレーヤまでの距離に基づいて、仮想空間における指示オブジェクトの大きさを決定する処理を行う(ステップS11)。そして、決定された大きさの指示オブジェクトに基づいて画像を生成する処理を行う(ステップS12)。
【0231】
2−8.応用例
2−8−1.第1の応用例
本実施形態では、反射光画像に基づいて、物体と入力部60との位置関係を特定できるので、第1の応用例では、物体と入力部との位置関係に基づく処理例について説明する。
【0232】
(1)オブジェクトの配置位置
本実施形態では、反射光画像に基づいて特定される物体と入力部60との位置関係に基づいて、仮想空間におけるオブジェクトの配置位置を決めてもよい。例えば、図28に示すように、プレーヤPが入力部60の位置GPに対して左側に位置している場合には、反射像画像の高輝度部分が反射像画像中心より右側で抽出される。したがって、プレーヤPが入力部60に対して左側に位置していると特定できる。そして、本実施形態では、図29(A)に示すように、オブジェクトを、画面の中心より左側に移動させて配置させる。
【0233】
また、図30に示すように、プレーヤPが入力部60の位置GPに対して右側に位置している場合には、反射像画像の高輝度部分が反射像画像中心より左側で抽出される。したがって、プレーヤPが入力部60に対して右側に位置していると特定できる。そして、本実施形態では、図29(B)に示すように、オブジェクトを、画面の中心より右側に移動させて配置させる。
【0234】
このようにすれば、入力画像に基づいて特定される物体と入力部60との位置関係に基づいて、仮想空間におけるオブジェクトの配置位置を決めることができるので、プレーヤにとって見やすい位置に配置されるオブジェクトの表示画像を提供することができる。なお、本実施形態では、リアルタイムにオブジェクトの配置位置を決めてもよい。
【0235】
(2)移動方向
本実施形態では、反射光画像に基づいて特定される物体と入力部60との位置関係に基づいて、仮想空間におけるオブジェクト移動方向を制御するようにしてもよい。例えば、図28の例では、反射像画像に基づき、プレーヤPが入力部60に対して左側に位置していると特定できる。したがって、本実施形態では、オブジェクトを、画面の中心より左側に移動させるようにしてもよい。
【0236】
また、図30の例では、反射像画像に基づき、プレーヤPが入力部60に対して右側に位置していると特定できる。したがって、本実施形態では、オブジェクトを画面の中心より右側に移動させるようにしてもよい。
【0237】
このようにすれば、入力画像に基づいて特定される物体と入力部60との位置関係に基づいて、仮想空間におけるオブジェクトの移動方向を決めることができるので、プレーヤにとって見やすい位置に配置されるオブジェクトの表示画像を提供することができる。なお、本実施形態では、リアルタイムにオブジェクトの配置位置を決めてもよい。
【0238】
(3)視線方向
本実施形態では、反射光画像に基づいて特定される物体と入力部60との位置関係に基づいて、仮想空間における仮想カメラの視線方向を制御するようにしてもよい。
【0239】
例えば、図31(A)(B)に示すように、反射光画像やRGB画像に基づき特定されるプレーヤPの位置Qから入力部60の位置GPに向かうベクトルRVを求め、ベクトルRVに基づいて、仮想カメラの視線方向CVを制御するようにしてもよい。つまり、仮想カメラの視線方向CVを、ベクトルRVの方向に追従させるようにする。このようにすれば、プレーヤ自身から入力部60を結ぶ方向で、仮想3次元空間における仮想カメラの視線方向CVを制御することができるので現実味を感じる表示画像を提供することができる。
【0240】
2−8−2.第2の応用例
本実施形態は、楽曲データの再生処理にあわせて、入力タイミング判定を行う音楽ゲームに応用してもよい。例えば、楽曲データの基準タイミングに合わせて、プレーヤが擬似的・仮想的に太鼓等の打楽器を叩く入力を行い、楽曲データのリズムに合わせた演奏を行うことが可能なゲームシステムに応用してもよい。
【0241】
図32は、表示部190に表示される表示画像の一例を示す。具体的に、本実施形態では、楽曲データの再生処理に連動して、ゲーム空間において、基準タイミングそれぞれに対応する指示マークOB5、OB6を移動経路上において移動させる処理を行う。つまり、指示マークOB5、OB6が基準タイミングにおいて固定的な所定位置Oに位置するように移動させる処理を行う。そして、基準タイミングと、プレーヤの入力タイミングとを比較して、プレーヤの入力判定処理を行う。
【0242】
本実施形態では、判定基準オブジェクトOB4、指示マークOB5、OB6を含む領域Iの大きさを、入力画像に基づき特定される物体と入力部60との距離Lに基づいて制御してもよい。例えば、距離Lが長くなるほど、領域Iをスケーリングする倍率を増加させ、距離Lが短くなるほど、領域Iをスケーリングする倍率を減少させる。
【0243】
また、本実施形態では、指示マークOB5、OB6の移動速度vを、入力画像に基づき特定される物体と入力部60との距離Lに基づいて制御してもよい。
【0244】
例えば、図22に示すように、入力部60の位置GPから物体までの距離がL1(L1≦LD)である場合は、指示マークOB5、OB6の移動速度をv1(0<v1)に設定する。一方、図24に示すように、入力部60の位置GPから物体までの距離がL2(L1≦LD<L2)である場合は、指示マークOB5、OB6の移動速度をv2(0<v2<v1)とする。つまり、プレーヤが入力部60から離れるほど指示マークOB5、OB6の移動速度を遅くする。このようにすれば、プレーヤが入力部60から離れて位置している場合にも、基準タイミングの到来を認識することができる。
【0245】
また、本実施形態では、本実施形態では、反射光画像に基づいて特定される物体と入力部60との位置関係に基づいて、指示マークの移動方向を制御するようにしてもよい。
【0246】
例えば、図28の例では、反射像画像に基づき、プレーヤPが入力部60に対して左側に位置していると特定できる。したがって、図32に示すように、指示マークOB5、OB6の移動方向を左方向にして移動させる。
【0247】
また、図30の例では、反射像画像に基づき、プレーヤPが入力部60に対して右側に位置していると特定できる。したがって、本実施形態では、図33に示すように、指示マークOB5、OB6の移動方向を右方向にして移動させる。
【0248】
このようにすれば、入力画像に基づいて特定される物体と入力部60との位置関係に基づいて、仮想空間におけるオブジェクトの移動方向を決めることができるので、プレーヤにとって見やすい位置に配置される指示マークOB5、OB6を含む表示画像を生成することができる。
【0249】
2−9.第2のゲームシステムの詳細説明
本実施形態の第2のゲームシステムのプレーヤのモーション(動き)について詳細に説明する。例えば、図34(A)に示すように、深度カメラ620によって、発光部から照射された物体の反射光を受光した反射光画像(赤外線の反射結果)を取得する。
【0250】
そして、図34(B)に示すように、反射光画像から、人物のシルエット(形状)を切り出す処理を行う。そして、図34(C)に示すように、予め記憶部660等で記憶されている複数のボーン(スケルトン、骨格)と、シルエットとを照合し、最もシルエットに合致するボーンを設定する。図34(D)の例では、シルエットが、ボーンBO1、BO2、BO3のうち、ボーンBO1と最も合致すると判断され、ボーンBO1の動きを演算する処理を行う。つまり、ボーンBO1の動きを、プレーヤPの動作とする処理を行なう。本実施形態では、各フレーム毎に、ボーンを特定しプレーヤPの動作を取得する処理を行っている。
【0251】
なお、本実施形態では、腕のボーン、足のボーンのように、人物を構成する部位単位で処理を行ってもよい。かかる場合は、部位単位で予め複数のボーンを定義し、部位単位で、抽出されたシルエットが複数のボーンのうちいずれと合致するかを判定してもよい。
【符号の説明】
【0252】
10 ゲーム機、
20、20A、20B コントローラ、
30L、30R 光源、
90 表示部、91 表示画面、92 スピーカー、
100 処理部、110 取得部、111 配置部、112 移動・動作処理部、
113 オブジェクト制御部、114 判定部、114A タイミング判定部、
114B 入力情報判定部、120 画像生成部、130 音制御部、
170 記憶部、171 主記憶部、172 描画バッファ、173 判定情報記憶部、
174 音データ記憶部、180 情報記憶媒体、196 通信部、
210 加速度センサ、220 撮像部、222 赤外線フィルタ、224 レンズ、
226 撮像素子、228 画像処理部、230 スピーカー、240 振動部、
250 マイコン、260 通信部、
50 ゲーム機、60 入力部、500 処理部、
510 取得部、511 配置部、512 移動・動作処理部、
513 オブジェクト制御部、514 判定部、514A タイミング判定部、
514B 入力情報判定部、515 仮想カメラ制御部、
520 画像生成部、530 音制御部、
570 記憶部、571 主記憶部、572 描画バッファ、573 判定情報記憶部、
574 音データ記憶部、580 情報記憶媒体、596 通信部、
610 発光部、611 光源、620 深度センサ、630 RGBカメラ、
650 処理部、660 記憶部、
P 物体(プレーヤ)、
C キャラクタ、
OB1 指示オブジェクト、
OB2 予告指示オブジェクト、
A1、A2 移動タイミングマーク、
S1、S2 スコア、
BP、BPa、BPb 基準判定期間、
BS 基準開始タイミング、予告期間の終了タイミング
BE 基準終了タイミング、
IP 入力期間、IS 入力開始タイミング、IE 入力終了タイミング、
ZP ズレ期間(期間)
PP、PP1、PP2、PP3 予備判定期間、
PP1a、PP2a、PP3a 予備判定期間、
PP1b、PP2b、PP3b 予備判定期間、
PS、PS1、PS2、PS3 予備開始タイミング、
PS1a、PS2a、PS3a 予備開始タイミング、
PS1b、PS2b、PS3b 予備開始タイミング、
PE、PE1、PE2、PE3 予備終了タイミング、
PE1a、PE2a、PE3a 予備終了タイミング、
PE1b、PE2b、PE3b 予備終了タイミング、
MD、MD1、MD2、MD3 入力定義情報、
DT 予告期間の開始タイミング、
GP 入力部の位置、
Q、Q1、Q2、Q3、Q4 物体(プレーヤ)の位置、
L、L1、L2 入力部の位置から物体までの距離、
V1、V2 入力部から物体へ向く方向、
BV 入射方向(照射方向)、
VC 仮想カメラ、
DP、DP1、DP2 仮想カメラの位置(視点)、CV 視線方向、
OP オブジェクトの位置、
RV 物体から入力部へ向く方向、
θ1、θ2 画角、OB4 判定基準オブジェクト、OB5、OB6 指示マーク、
BO1、BO2、BO3 ボーン

【特許請求の範囲】
【請求項1】
表示部に表示させる表示画像を生成する処理を行うプログラムであって、
物体に光を照射し、当該物体の反射光を受光する入力部の入力画像を取得する取得部と、
入力画像に基づいて特定される前記入力部から前記物体までの距離に基づいて、仮想空間におけるオブジェクトの大きさを制御するオブジェクト制御部と、
前記オブジェクトを含む表示画像を生成する処理を行う画像生成部として、コンピュータを機能させることを特徴とするプログラム。
【請求項2】
請求項1において、
前記オブジェクト制御部が、
前記距離が長くなるにつれて、前記オブジェクトをスケーリングする倍率を拡大することを特徴とするプログラム。
【請求項3】
請求項1又は2において、
前記オブジェクト制御部が、
前記距離が短くなるにつれて、前記オブジェクトをスケーリングする倍率を縮小させることを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記オブジェクト制御部が、
時間経過に応じて変化させる前記オブジェクトのスケーリング倍率値の変化度合いを、前記距離に基づいて制御することを特徴とするプログラム。
【請求項5】
請求項1〜4のいずれかにおいて、
前記画像生成部は、
複数のオブジェクトを含む表示画像を生成する処理を行い、
前記オブジェクト制御部が、
所定のオブジェクトに対して、前記距離に基づくオブジェクトの大きさを制御することを特徴とするプログラム。
【請求項6】
請求項1〜5のいずれかにおいて、
入力部の入力を判定する処理を行う判定部として、コンピュータを更に機能させ、
前記判定部が、
前記距離に基づいて、前記入力を判定する処理を行うことを特徴とするプログラム。
【請求項7】
請求項1〜6のいずれかにおいて、
前記仮想空間において、前記オブジェクトを移動させる処理を行う移動処理部として、コンピュータを更に機能させ、
前記移動処理部が、
前記距離に基づいて、前記オブジェクトを移動させる移動速度を制御することを特徴とするプログラム。
【請求項8】
請求項1〜7のいずれかにおいて、
仮想3次元空間における仮想カメラの位置を制御する仮想カメラ制御部として、コンピュータを更に機能させ、
前記仮想カメラ制御部が、
前記距離に基づいて、前記仮想カメラの位置を制御し、
前記画像生成部が、
前記仮想カメラから見える画像を前記表示画像として生成する処理を行うことを特徴とするプログラム。
【請求項9】
請求項1〜8のいずれかにおいて、
仮想3次元空間における仮想カメラの画角を制御する仮想カメラ制御部として、コンピュータを更に機能させ、
前記仮想カメラ制御部が、
前記距離に基づいて、前記仮想カメラの画角を制御し、
前記画像生成部が、
前記仮想カメラから見える画像を前記表示画像として生成する処理を行うことを特徴とするプログラム。
【請求項10】
請求項1〜9のいずれかにおいて、
仮想3次元空間における仮想カメラの視線方向を制御する仮想カメラ制御部として、コンピュータを更に機能させ、
前記仮想カメラ制御部が、
入力画像に基づいて特定される前記物体と前記入力部との位置関係に基づいて、前記仮想カメラの視線方向を制御し、
前記画像生成部が、
前記仮想カメラから見える画像を前記表示画像として生成する処理を行うことを特徴とするプログラム。
【請求項11】
請求項1〜10のいずれかにおいて、
前記仮想空間において、前記オブジェクトを配置させる処理を行う配置部として、コンピュータを更に機能させ、
前記配置部が、
入力画像に基づいて特定される前記物体と前記入力部との位置関係に基づいて、前記仮想空間における前記オブジェクトの配置位置を決定することを特徴とするプログラム。
【請求項12】
請求項1〜11のいずれかにおいて、
前記仮想空間において、前記オブジェクトを移動させる処理を行う移動処理部として、コンピュータを更に機能させ、
前記移動処理部が、
入力画像に基づいて特定される前記物体と前記入力部との位置関係に基づいて、前記オブジェクトを移動させる移動方向を制御することを特徴とするプログラム。
【請求項13】
コンピュータ読み取り可能な情報記憶媒体であって、請求項1〜12のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項14】
表示部に表示させる表示画像を生成する処理を行うゲームシステムであって、
物体に光を照射し、当該物体の反射光を受光する入力部の入力画像を取得する取得部と、
入力画像に基づいて特定される前記入力部から前記物体までの距離に基づいて、仮想空間におけるオブジェクトの大きさを制御するオブジェクト制御部と、
前記オブジェクトを含む表示画像を生成する処理を行う画像生成部とを含むことを特徴とするゲームシステム。

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

【図18】
image rotate

【図20】
image rotate

【図21】
image rotate

【図23】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図29】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図2】
image rotate

【図17】
image rotate

【図19】
image rotate

【図22】
image rotate

【図24】
image rotate

【図28】
image rotate

【図30】
image rotate

【図34】
image rotate


【公開番号】特開2011−154574(P2011−154574A)
【公開日】平成23年8月11日(2011.8.11)
【国際特許分類】
【出願番号】特願2010−16083(P2010−16083)
【出願日】平成22年1月27日(2010.1.27)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】