説明

ゲーム装置、ゲーム装置の制御方法、及びプログラム

【課題】ゲームプレイ中におけるプレイヤの位置のずれの対処を図ること。
【解決手段】位置取得部82は、プレイヤ100を撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置とプレイヤ100との間隔に関する深度情報と、に基づいて、3次元空間におけるプレイヤ100の位置に関する3次元位置情報を生成する位置情報生成手段から3次元位置情報を取得する。判定部84は、3次元空間におけるプレイヤ100の位置が判定対象空間内に含まれるか否かを判定する。ゲーム処理実行部86は、判定手段の判定結果に基づいてゲーム処理を実行する。判定対象空間変更部88は、3次元空間におけるプレイヤ100の位置が判定対象空間内に含まれないと判定された場合、3次元空間におけるプレイヤ100の位置に基づいて、判定対象空間の位置を変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置、ゲーム装置の制御方法、及びプログラムに関する。
【背景技術】
【0002】
プレイヤをカメラで撮影した画像を用いたゲームが知られている。例えば、特許文献1には、プレイヤを撮影した画像と、予め記憶された参考ゲーム画像と、を合成してモニタに表示させることにより、ゲームにおいてプレイヤがすべき動きを理解させる技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−287830号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、プレイヤを撮影した画像に加えて、赤外線センサを用いて得られる距離情報(例えば、プレイヤと赤外線センサとの距離)を用いたゲームが検討されている。例えば、プレイヤを撮影した画像及び距離情報に基づいてプレイヤの位置や動作が判別可能になる。
【0005】
このようなゲームでは、プレイヤは体を動かしてゲームをプレイするため、プレイヤの立ち位置がずれることがあり、プレイヤが周りの障害物にぶつかってしまう可能性がある。そこで、プレイヤが所定の範囲から出ないようにカメラの撮影範囲を狭くすることも考えられる。しかし、この場合、プレイヤが撮影範囲から出やすくなってしまうので、プレイヤのゲームプレイに支障をきたす可能性がある。
【0006】
本発明は、上記課題に鑑みてなされたものであって、その目的は、ゲームプレイ中におけるプレイヤの位置のずれの対処を図ることが可能になるゲーム装置、ゲーム装置の制御方法、及びプログラムを提供することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明に係るゲーム装置は、プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、3次元空間における前記プレイヤの位置に関する3次元位置情報を生成する位置情報生成手段から前記3次元位置情報を取得する位置取得手段と、前記3次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定手段と、前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行手段と、前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記3次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更手段と、を含むことを特徴とする。
【0008】
また、本発明に係るゲーム装置の制御方法は、プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、3次元空間における前記プレイヤの位置に関する3次元位置情報を生成する位置情報生成手段から前記3次元位置情報を取得する位置取得ステップと、前記3次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定ステップと、前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行ステップと、前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記3次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更ステップと、を含むことを特徴とする。
【0009】
また、本発明に係るプログラムは、プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、3次元空間における前記プレイヤの位置に関する3次元位置情報を生成する位置情報生成手段から前記3次元位置情報を取得する位置取得手段、前記3次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定手段、前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行手段、前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記3次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更手段、を含むゲーム装置としてコンピュータを機能させる。
【0010】
また、本発明に係る情報記憶媒体は、上記のプログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0011】
本発明によれば、ゲームプレイ中におけるプレイヤの位置のずれの対処を図ることが可能になる。
【0012】
また、本発明の一態様では、前記判定対象空間変更手段は、前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれない状態が基準期間にわたって継続したか否かを判定する手段と、前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれない状態が前記基準期間にわたって継続した場合、前記判定対象空間の位置を変更する手段と、を含む、ことを特徴とする。
【0013】
また、本発明の一態様では、ゲームキャラクタと、他の領域よりも明度が高く設定された注目領域と、を含むゲーム画面を表示手段に表示させる表示制御手段を含み、前記表示制御手段は、前記ゲームキャラクタの表示位置と前記注目領域の表示位置との位置関係を、前記3次元空間における前記プレイヤの位置と前記判定対象空間との位置関係に基づいて制御する手段を含む、ことを特徴とする。
【0014】
また、本発明の一態様では、第1のゲームキャラクタと第2のゲームキャラクタとを含むゲーム画面を表示手段に表示させる表示制御手段を含み、前記表示制御手段は、前記第1のゲームキャラクタの表示位置と前記第2のゲームキャラクタの表示位置との位置関係を、前記3次元空間における前記プレイヤの位置と前記判定対象空間との位置関係に基づいて制御する手段を含む、ことを特徴とする。
【図面の簡単な説明】
【0015】
【図1】位置検出装置、ゲーム装置、及びプレイヤの位置関係を示す図である。
【図2】CCDカメラによって生成される撮影画像の一例を示す図である。
【図3】赤外線センサによるプレイヤの深度の測定方法を説明するための図である。
【図4】赤外線センサによって得られる深度画像の一例を示す図である。
【図5】位置検出装置により生成される3次元位置情報の一例を示す図である。
【図6】3次元位置情報によって特定されるプレイヤの位置を示す図である。
【図7】位置検出装置により撮影される空間を示す図である。
【図8】ゲーム装置において表示されるゲーム画面の一例を示す図である。
【図9】プレイヤが判定対象空間の外に出た場合、ゲーム装置において表示されるゲーム画面の一例を示す図である。
【図10】Xw−Zw平面から位置検出装置及びプレイヤを見た図である。
【図11】判定対象空間からプレイヤが外れた場合に表示されるゲーム画面の一例である。
【図12】Xw−Yw平面から位置検出装置及びプレイヤを見た図である。
【図13】判定対象空間からプレイヤが外れた場合に表示されるゲーム画面の一例である。
【図14】位置検出装置のハードウェア構成を示す図である。
【図15】ゲーム装置のハードウェア構成を示す図である。
【図16】ゲーム装置において実現される機能群を示す機能ブロック図である。
【図17】基準動作情報の一例を示す図である。
【図18】動作判定基準情報の一例を示す図である。
【図19】ゲーム装置において実行される処理の一例を示すフロー図である。
【図20】変更された判定対象空間を示す図である。
【図21】ゲーム画面に含まれる画像の表示位置が変更された場合を示す図である。
【図22】ゲーム画面の他の一例を示す図である。
【図23】ゲーム画面の一例を示す図である。
【図24】ゲーム画面の一例を示す図である。
【図25】ゲーム画面に含まれる画像の表示位置が変更された場合を示す図である。
【発明を実施するための形態】
【0016】
[1.実施形態1]
以下、本発明の実施形態の一例について図面に基づき詳細に説明する。本発明の実施形態に係るゲーム装置は、例えば家庭用ゲーム機(据置型ゲーム機)、携帯ゲーム機、携帯電話機、携帯情報端末(PDA)又はパーソナルコンピュータ等によって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【0017】
[1−1.全体の概要]
図1は、位置検出装置1、ゲーム装置20、及びプレイヤ100の位置関係を示す図である。図1に示すように、プレイヤ100は、例えば、位置検出装置1の前方に位置する。位置検出装置1とゲーム装置20とは、データ通信可能に接続される。また、プレイヤ100は、例えば、家具Fが配置されたリビングルームでゲームをプレイする。
【0018】
位置検出装置1は、プレイヤ100を撮影して得られる画像と、位置検出装置1とプレイヤ100との距離に関する情報と、に基づいてプレイヤ100の位置に関する情報を生成する。例えば、位置検出装置1は、プレイヤ100の体を構成する複数の部位(例えば、頭や肩等)のそれぞれに対応する3次元座標を検出する。
【0019】
ゲーム装置20は、プレイヤ100の位置に関する情報を位置検出装置1から取得する。ゲーム装置20は、例えば、3次元空間におけるプレイヤ100の立ち位置を示す3次元座標を位置検出装置1から取得する。ゲーム装置20は、この3次元座標の変化に基づいてゲームの制御を行う。
【0020】
プレイヤ100に対応する3次元座標の変化は、プレイヤ100の動作に対応する。例えば、プレイヤ100が右手を上げる動作をした場合、このプレイヤ100の右ひじ及び右手に対応する3次元座標が、主に変化する。
【0021】
[1−2.位置検出装置の動作]
次に、位置検出装置1がプレイヤ100の位置に関する情報(3次元位置情報)を生成する処理について説明する。図1に示すように、位置検出装置1は、例えば、CCDカメラ2、赤外線センサ3、複数のマイクロフォンを含むマイク4等を備える。本実施形態においては、CCDカメラ2及び赤外線センサ3から得られる情報に基づいてプレイヤ100の3次元位置情報が生成される。
【0022】
CCDカメラ2は、CCDイメージセンサを備えた公知のカメラである。CCDカメラ2は、プレイヤ100を撮影する。CCDカメラ2は、例えば、所定時間毎(例えば1/60秒毎)にプレイヤ100を撮影した静止画像(例えば、RGBデジタル画像)を生成する。以降、CCDカメラ2により生成される静止画像を撮影画像という。撮影画像には、CCDカメラ2に対応する視野内に配置された物体が含まれる。
【0023】
図2は、CCDカメラ2によって生成される撮影画像の一例を示す図である。図2に示すように、撮影画像には、例えば、プレイヤ100が含まれる。なお、説明の簡略化のため図2では省略しているが、CCDカメラ2の視野内に家具Fやリビングルームの床や壁等が含まれている場合、撮影画像には、これらが含まれる。
【0024】
撮影画像には、互いに直行するXs軸、Ys軸が設定される。例えば、撮影画像の左上を、原点Os(0,0)とする。また例えば、撮影画像の右下を、座標Pmax(Xmax,Ymax)とする。撮影画像に対応する各画素の位置は、それぞれの画素に割り当てられる2次元座標(Xs−Ys座標)によって特定される。
【0025】
赤外線センサ3は、例えば、赤外線発光素子及び赤外線受光素子(例えば、赤外線ダイオード)から構成される。赤外線センサ3は、赤外線光を照射して得られる反射光を検出する。赤外線センサ3は、この反射光の検出結果に基づいて被写体(例えば、プレイヤ100)の深度を測定する。
【0026】
被写体の深度とは、測定基準位置(例えば、赤外線センサ3の赤外線受光素子の位置)と被写体の位置との距離間隔である。測定基準位置とは、プレイヤ100の位置の深度(奥行き)を測定する際の基準となる位置である。測定基準位置は、位置検出装置1の位置と関連付けられる所定の位置であればよい。赤外線センサ3は、例えば、赤外線を照射してから反射光を受光するまでの飛行時間(TOF:Time of Flight)に基づいてプレイヤ100の深度を測定する。
【0027】
図3は、赤外線センサ3によるプレイヤ100の深度の測定方法を説明するための図である。図3に示すように、赤外線センサ3から所定間隔でパルス状の赤外線光が照射される。赤外線センサ3から照射された赤外線光は、赤外線センサ3の発光位置を中心点として球状に広がる。
【0028】
赤外線センサ3から照射された赤外線光は、例えば、プレイヤ100の体や、リビングルームに配置された他の物体(例えば、家具Fや壁等)の表面に当たる。これらの表面に当たった赤外線光は、反射する。反射した赤外線光は、赤外線センサ3の赤外線受光素子により検出される。即ち、赤外線センサ3は、照射した赤外線に対して位相が180度反転した反射光を検出する。
【0029】
例えば、図3に示すように、プレイヤ100が両手を前に突き出している場合、突き出された両手は、プレイヤ100の胴体よりも赤外線センサ3に近い。つまり、プレイヤ100の両手によって反射される赤外線光の飛行時間は、プレイヤ100の胴体によって反射される赤外線光の飛行時間よりも短い。
【0030】
赤外線センサ3が赤外線光を照射してから反射光を検出するまでの時間(つまり、飛行時間)と、赤外線の速度と、を乗算して半分で割った値は、測定基準位置とプレイヤ100との距離間隔(即ち、深度)に相当する。このようにして、赤外線センサ3は、プレイヤ100の深度を測定することができる。
【0031】
また、赤外線センサ3は、反射した赤外線光から得られる深度差を検出することにより、被写体(プレイヤ100)の輪郭を検知することもできる。
【0032】
具体的には、上記のように、赤外線センサ3が赤外線光の反射光を受信する、ということは、この場所に物体が配置されていることを意味する。この物体の後方に他の物体が配置されていなければ、この物体と、この物体の周囲と、の深度差は大きくなる。つまり、例えば、プレイヤ100に赤外線光が反射されて得られる深度と、プレイヤ100の後方にある壁に赤外線光が反射されて得られる深度と、の深度差は大きいので、深度差が所定値よりも大きい箇所をつなぎ合わせることによって、物体の輪郭を検知することができる。
【0033】
なお、物体の輪郭を検出する方法は、上記の例に限られない。他にも例えば、CCDカメラ2によって得られる撮影画像の各画素の輝度に基づいて輪郭を検知するようにしてもよい。この場合も、例えば、画素間の輝度差が大きい箇所をつなぎ合わせることによって物体の輪郭を検出することができる。
【0034】
なお、赤外線センサ3に戻ってきた光は、所定のフィルタリング処理が施されるようにしてもよい。つまり、赤外線センサ3が発した赤外線光に対応する反射光のみが、光検知センサによって検知されるようにして、ノイズが低減されるようにしてもよい。
【0035】
上記のようにして検出されるプレイヤ100の深度に関する情報(深度情報)は、例えば、深度画像として表現される。本実施形態においては、深度情報が、グレースケールの深度画像(例えば、256ビットのグレースケールの画像データ)として表現される例を挙げて説明する。
【0036】
図4は、赤外線センサ3によって得られる深度画像の一例を示す図である。図4に示すように、例えば、赤外線センサ3に近い物体は明るく(輝度が高く)、遠い物体は暗く(輝度が低く)表現される。例えば、深度画像が256ビットのグレースケールの画像データとして表される場合、プレイヤ100の深度は、深度画像の輝度(画素値)に対応する。即ち、例えば、プレイヤ100の深度が2センチ異なる毎に深度画像が1ビット異なる。この場合、赤外線センサ3は、被写体の深度を2センチ単位で検出することが可能であることを示す。
【0037】
図3に示すように、プレイヤ100が両手を突き出している場合、突き出された両手は、プレイヤ100の胴体よりも、赤外線センサ3に近い。つまり、プレイヤ100の両手は、胴体よりも深度が小さい。したがって、図4に示すように、プレイヤ100の両手に対応する画素は、胴体に対応する画素よりも明るく(輝度が高く)表現される。
【0038】
本実施形態においては、赤外線センサ3は、CCDカメラ2と同様に所定時間毎(例えば1/60秒毎)に、深度画像を生成する。CCDカメラ2により得られる撮影画像と、赤外線センサ3により得られる深度画像と、に基づいてプレイヤ100の位置に関する3次元位置情報が生成される。
【0039】
例えば、CCDカメラ2により得られる撮影画像(RGBデータ)に、深度画像が示す深度情報(D:Depth)が合算された合成画像(RGBDデータ)が生成される。即ち、合成画像は、画素ごとに、色情報(RGBそれぞれの明度)と深度情報とを含む。
【0040】
なお、合成画像が生成される際には、CCDカメラ2と赤外線センサ3との位置間隔に基づいて、撮影画像と深度画像との少なくとも一方の位置が補正される。例えば、CCDカメラ2と赤外線センサ3が水平方向に2センチ離れている場合、深度画像の各画素の座標を、2センチに対応する画素数だけ移動させることによって、位置の補正が行われる。
【0041】
この合成画像に基づいて3次元位置情報が生成される。本実施形態においては、3次元位置情報が、プレイヤ100の体の各部位(例えば、頭や肩等)に対応する3次元座標である例を挙げて説明する。
【0042】
具体的には、例えば、次のようにして3次元位置情報が生成される。
【0043】
まず、先述のように、深度画像に基づいてプレイヤ100の輪郭に対応する画素が特定される。プレイヤ100の輪郭によって囲まれる画素は、プレイヤ100の体に対応する画素である。
【0044】
次いで、撮影画像のうち、上記の輪郭によって囲まれた画素の色情報(RGBの明度)が参照される。撮影画像の色情報に基づいて、プレイヤ100の体の各部位に対応する画素が特定される。この特定方法としては、例えば、比較画像(教師画像)との比較によって画像の中から対象物(即ち、プレイヤ100の体の各部位)を抽出するパターンマッチング法等、公知の手法を適用可能である。
【0045】
他にも例えば、撮影画像の各画素の色情報の変化から体の各部位の速度ベクトルを算出し、物体の運動を表すオプティカルフロー(例えば、勾配法又はフィルタリング法)等に基づいて各画素の動きベクトルを検出し、プレイヤ100の頭の位置や両肘の位置等に対応する画素が特定されるようにしてもよい。
【0046】
上記のようにして特定された画素の画素値(RGBD値)に基づいて、プレイヤ100の頭や両ひじ等の3次元座標が算出される。例えば、この画素値に対して所定の行列変換処理が施されることによって、3次元座標が生成される。この行例変換処理は、例えば、3Dグラフィックにおけるワールド座標−スクリーン座標の2つの座標系の変換処理と同様の行例演算によって実行される。つまり、画素の色情報を示すRGB値と奥行きを示すD値と、が所定の行列式に代入されることにより、この画素の3次元座標が算出される。即ち、プレイヤ100の各部位の3次元座標が算出される。
【0047】
なお、画素値(RGBD値)から画素に対応する3次元座標が算出される方法は、公知の手法を適用可能であり、この算出方法は、上記の例に限られない。他にも例えば、ルックアップテーブルを用いて座標変換が行われるようにしてもよい。
【0048】
図5は、位置検出装置1により生成される3次元位置情報の一例を示す図である。図5に示すように、3次元位置情報は、例えば、プレイヤ100の各部位と、3次元座標と、が対応付けられて格納される。
【0049】
図6は、3次元位置情報によって特定されるプレイヤ100の位置を示す図である。本実施形態では、例えば、位置検出装置1に対応する所定位置(例えば、測定基準位置)を原点Owとする。例えば、原点Owは、赤外線センサ3の測定基準位置に対応する3次元座標である。なお、原点Owの位置は、プレイヤ100がいる3次元空間のどこに設定されてもよい。例えば、撮影画像の原点Osに対応する3次元座標が、原点Owとして設定されるようにしてもよい。
【0050】
図6に示すように、本実施形態では、例えば、プレイヤ100の頭P1、首P2、右肩P3、左肩P4、右ひじP5、左ひじP6、右手P7、左手P8、胸P9、腰P10、右ひざP11、左ひざP12、右かかとP13、左かかとP14、右つま先P15、左つま先P16に対応する3次元座標が、3次元位置情報として取得される例を挙げて説明する。
【0051】
なお、3次元位置情報によって示されるプレイヤ100の体の部位は、プレイヤの骨格のうちで予め定められた部位のものであってよい。例えば、この部位は、先述したパターンマッチング法によって特定可能な体の部位であればどこでもよい。
【0052】
本実施形態においては、先述のように、所定間隔で生成される撮影画像と深度画像とに基づいて、所定間隔毎(例えば、1/60秒毎)に3次元位置情報が生成される。生成された3次元位置情報は、所定時間毎に位置検出装置1からゲーム装置20に対して送信される。
【0053】
ゲーム装置20は、位置検出装置1から送信される3次元位置情報を受信して、この3次元位置情報に基づいてプレイヤ100の体の位置を把握する。つまり、プレイヤ100が踊ったりボールを蹴ったりする動作をすると、この動作に対応するように3次元位置情報が変化するので、この3次元位置情報の変化に基づき、ゲーム装置20はプレイヤの動きを把握する。詳細は後述するが、ゲーム装置20は、3次元位置情報に基づいてプレイヤの体の動きを把握してゲームを実行する。
【0054】
次に、位置検出装置1がプレイヤ100を検知することができる空間(以降、検知可能空間60という。)について説明する。
【0055】
図7は、位置検出装置1により撮影される空間を示す図である。図7に示すように、検知可能空間60(図7の破線で囲まれた空間)は、例えば、CCDカメラ2の視野内のうちの所定空間となる。CCDカメラ2の視野は、例えば、CCDカメラ2の視線方向と画角とに基づいて決定される。
【0056】
検知可能空間60は、位置検出装置1により撮影される空間(つまり、視野内の空間)のうちでプレイヤ100を正確に捉えることができる空間である。
【0057】
例えば、位置検出装置1とプレイヤ100との距離が近すぎる場合(例えば、1メートル以内)、位置検出装置1は、プレイヤ100の全身を撮影することができない。この場合、撮影画像(図2)に例えばプレイヤ100の頭や足等が含まれなくなると、位置検出装置1は、正確な3次元位置情報を取得することができなくなる。したがって、CCDカメラ2の視野内の空間であっても、位置検出装置1との距離が比較的近い空間は、検知可能空間60には含まれない。
【0058】
また例えば、位置検出装置1とプレイヤ100との距離が遠すぎる場合(例えば、5メートル以上)、赤外線が減衰するため、位置検出装置1は、反射光を検出することができない。この場合、位置検出装置1は、正確な深度情報を取得することができなくなる。したがって、CCDカメラ2の視野内の空間であっても、位置検出装置1との距離が比較的遠い空間は、検知可能空間60には含まれない。
【0059】
また例えば、プレイヤ100の立ち位置が、水平方向(例えば、Yw軸方向)にずれている場合、位置検出装置1は、プレイヤ100の全身を撮影することができない。この場合、プレイヤ100の右半身や左半身が撮影画像(図2)から切れてしまい、位置検出装置1は、正確な3次元位置情報を取得することができなくなる。したがって、CCDカメラ2の視野内の空間であっても、水平方向の両端部に近い空間は、検知可能空間60には含まれない。
【0060】
図7に示すように、検知可能空間60は、例えば、CCDカメラ2の視野内の空間から上記のそれぞれの空間を除いた空間である。即ち、検知可能空間60とは、その内部にプレイヤ100が立っている場合、位置検出装置1が正確な3次元位置情報を生成することができる空間である。検知可能空間60の広さ(体積)、形状、及び位置は、例えば、ゲーム作成者によって予め定められていてよいし、位置検出装置1を設置する部屋の状況に応じて変更されるようにしてもよい。
【0061】
本実施形態では、検知可能空間60の内部に判定対象空間70が設定される。図7に示すように、例えば、判定対象空間70は、位置検出装置1に対応する検知可能空間60の内部の所定の位置に設定される。また、判定対象空間70は、判定対象空間70を配置すべき位置を特定するための代表点71を含む。
【0062】
判定対象空間70とは、プレイヤ100がいるべき空間を定義するためのものである。判定対象空間70の広さ(体積)や形状は、例えば、ゲーム作成者によって予め定められていてよい。一方、判定対象空間70の位置は、詳細は後述するが、例えば、プレイヤ100の位置によって変更される。
【0063】
ここで、図7に示す判定対象空間70の意義について説明する。先述のように、検知可能空間60内にプレイヤ100がいる場合には、原則として、ゲーム装置20は、プレイヤ100の動作を検出することができる。
【0064】
しかしながら、プレイヤ100は、検知可能空間60内を自由に動くことができない場合がある。例えば、図1に示すように、プレイヤ100が自宅のリビングルーム等でゲームをプレイする場合である。
【0065】
図1に示すように、リビングルームには、机や椅子等の家具Fやリビングルームの壁等が配置されている。また、リビングルームには、他のプレイヤ100やゲームを観戦する人がいる場合もある。つまり、実際にプレイヤ100がゲームをプレイする場合、検知可能空間60の内部には、種々の障害物が配置されていることが多く、このような場合、検知可能空間60内をプレイヤは自由に動くことができない。
【0066】
また、プレイヤ100がゲームプレイに夢中になった場合、プレイヤ100は、周りの障害物の存在に気付かない可能性がある。即ち、プレイヤ100は、障害物があるにも関わらずに体を動かして、障害物に体をぶつけてしまう可能性がある。また、複数のプレイヤ100が同時にプレイをする場合、互いに体を動かしてゲームプレイをするので、これらのプレイヤ100同士がぶつかってしまう可能性がある。
【0067】
そこで、本実施形態では、検知可能空間60の内部に判定対象空間70を設定し、この判定対象空間70内で、プレイヤにゲームをプレイさせるようにしている。すなわち、プレイヤ100が判定対象空間70の中でゲームをプレイする限り、このプレイヤ100が他のプレイヤ100や障害物にぶつかる可能性を軽減することができるようにしている。したがって、判定対象空間70は、障害物にぶつかる可能性が低い安全な空間を、プレイヤ100に案内する役割を果たす。
【0068】
プレイヤ100は、通常、周囲の家具Fを自分の立ち位置から遠ざけて、周囲の安全を確認してからゲームのプレイを開始する。そこで、判定対象空間70の位置は、例えば、ゲーム開始時(又は、ゲーム開始直前もしくは直後)のプレイヤ100の位置に基づいて決定される。例えば、判定対象空間70の位置は、ゲーム開始時(又は、ゲーム開始直前もしくは直後)において、プレイヤ100が立っている場所を含むように設定される。
【0069】
このように設定された判定対象空間70の内部にプレイヤ100が居続ければ、机や椅子等の障害物が周りにない可能性が高いので、プレイヤ100は、より安全にゲームをプレイすることができる。
【0070】
なお、判定対象空間70の位置の設定方法は、上記の例に限られない。例えば、CCDカメラ2の視線方向の延長上が、判定対象空間70の初期の位置として設定されるようにしてもよい。この場合には、プレイヤ100を、位置検出装置1に向かい合う位置(例えば、テレビの中央付近の位置)に立たせてゲームをプレイさせることができる。
【0071】
なお、以上説明した例では、プレイヤ100を一人としたが、ゲームをプレイするプレイヤ100は複数人であってもよい。プレイヤ100が複数人である場合、上記と同様の処理によって、各プレイヤ100の3次元位置情報が生成される。即ち、プレイヤ100の輪郭の個数に基づいて、位置検出装置1は、プレイヤ100の人数を把握することができる。複数のプレイヤ100のそれぞれに対応する画素に対して上記と同様の処理が実行されることによって、複数のプレイヤ100の3次元位置情報を生成することができる。
【0072】
また、位置検出装置1により撮影される撮影画像からプレイヤ100を認識する際に、所定の高さ(例えば、1メートル)以下の物体を排除するようにしてもよい。つまり、プレイヤ100が床に座っていて、座高が所定の高さ以下である等は、プレイヤ100を正確に検出することができない可能性があるので、この場合には、プレイヤ100を検出しないようにしてもよい。
【0073】
このように、判定対象空間70にいるプレイヤ100の3次元位置情報に基づいてゲームが実行される。以降、このゲームの一例について説明する。
【0074】
[1−3.ゲーム装置で実行されるゲーム]
本実施形態においては、ゲーム装置20が、3次元位置情報に基づいてプレイヤの立ち位置や動作を把握してダンスゲームを実行する例を挙げて説明する。
【0075】
例えば、ゲーム装置20は、ゲーム画面50に含まれるゲームキャラクタの動きに合わせてプレイヤ100が踊るゲームを実行する。このゲームにおいては、プレイヤ100は、例えば、所定の立ち位置から動かずにゲームをプレイすることが望まれる。そこで、本実施形態において表示されるゲーム画面50によれば、プレイヤ100が判定対象空間70から外れた場合に、判定対象空間70に戻るように誘導することができるようにしている。
【0076】
図8は、ゲーム装置20において表示されるゲーム画面50の一例を示す図である。図8に示すように、ゲーム画面50は、例えば、ゲームキャラクタ51、スポットライト52、スポットライト52によって照らされた領域であるスポットライト領域53、メッセージ54を含む。本実施形態におけるゲームでは、原則として、ゲームキャラクタ51は、スポットライト領域53(注目領域)内に立って踊る。
【0077】
スポットライト領域53の明度(輝度)は、他の領域の明度よりも高い(明るい)。一方、スポットライト領域53外の領域の明度は、スポットライト領域53の明度よりも低い(暗い)。即ち、ゲームキャラクタ51がスポットライト領域53外に移動した場合、ゲームキャラクタ51は見えにくくなる。
【0078】
ゲームキャラクタ51は、体の各部を動かし、プレイヤ100が行うべき踊りの動作を案内する役割を果たす。ゲームキャラクタ51の体の動きに合わせて、プレイヤ100は位置検出装置1の前で踊ることになる。
【0079】
例えば、ゲームキャラクタ51が右足を前に踏み出したら、同様にプレイヤ100も右足を前に踏み出す。また例えば、ゲームキャラクタ51が左手を上げる動作をしたら、同様にプレイヤ100も左手を上げる動作をする。ゲームキャラクタ51の動作に合わせてプレイヤ100が体を動かすことができた場合には、例えば「GOOD」等のメッセージ54がゲーム画面50に表示される。
【0080】
また、プレイヤ100が判定対象空間70からはみ出た場合、ゲーム画面50には、その旨を示すメッセージ54が表示される。
【0081】
図9は、プレイヤ100が判定対象空間70からはみ出した場合、ゲーム装置20において表示されるゲーム画面50の一例を示す図である。図9に示すように、例えば「CAUTION」等のメッセージ54がゲーム画面50に表示される。つまり、プレイヤ100が、比較的安全な判定対象空間70の外に出てしまっているので、注意を促すメッセージ54が表示される。
【0082】
また、このとき、スポットライト領域53の表示位置を、位置検出装置1の判定対象空間70に対応するようにしてもよい。以降では、この例について説明する。つまり、プレイヤ100が判定対象空間70の内部にいた場合、ゲームキャラクタ51は、明度の高い位置に配置される。即ち、この場合、ゲームキャラクタ51は、スポットライト領域53の上に配置される。
【0083】
一方、プレイヤ100が判定対象空間70からはみ出た場合、ゲームキャラクタ51は、明度の低い位置に配置される。即ち、この場合、ゲームキャラクタ51は、スポットライト領域53外部の領域上に配置される。
【0084】
図10は、Xw−Zw平面から(即ち、横から)位置検出装置1及びプレイヤ100を見た図である。図10は、プレイヤ100がダンスをしながら後方に移動してしまった場合を示す。図10に示すように、プレイヤ100は、後方に移動したことにより、判定対象空間70から外れている。
【0085】
プレイヤ100が、このまま気付かずにゲームプレイをすると、プレイヤ100の後方にあるソファ等の家具にぶつかる可能性がある。そこで、プレイヤ100に対して、前方に移動して判定対象空間70の内部に戻るように誘導するようなゲーム画面50が表示される。
【0086】
図11は、判定対象空間70からプレイヤ100が外れた場合に表示されるゲーム画面50の一例である。図11のゲーム画面50は、図9の位置にプレイヤ100が立っていた場合に表示される。図11に示すように、スポットライト領域53外の領域(例えば、後方の所定位置)にゲームキャラクタ51が表示される。先述のように、スポットライト領域53外の領域は、明度が低く設定されている。
【0087】
つまり、比較的暗い領域にゲームキャラクタ51が表示されるので、プレイヤ100は、ゲームキャラクタ51が見えにくくなる。このような場合、プレイヤ100は、ゲームキャラクタ51を、明るくて見やすいスポットライト領域53に移動させるように、前方に移動することが考えられる。つまり、位置検出装置1から見て判定対象空間70の後方にプレイヤ100が外れた場合、ゲームキャラクタ51の位置をスポットライト領域53外に移動させることによって、判定対象空間70に向かってプレイヤ100を移動させるように誘導することができる。
【0088】
図12は、Xw−Yw平面から(即ち、上から)位置検出装置1及びプレイヤ100を見た図である。図12は、プレイヤ100がダンスをして水平方向(例えば、Yw軸方向)に移動した場合を示す。図12に示すように、例えば、プレイヤ100が水平方向にずれており、判定対象空間70から外れている。
【0089】
図13は、判定対象空間70からプレイヤ100が外れた場合に表示されるゲーム画面50の一例である。図13に示すゲーム画面50は、図12の位置にプレイヤ100が立っていた場合に表示される。
【0090】
つまり、比較的暗い領域にゲームキャラクタ51が表示されるので、プレイヤ100は、ゲームキャラクタ51が見えにくくなる。プレイヤ100は、ゲームキャラクタ51を、明るくて見やすいスポットライト領域53に移動させるように、左側に移動する。つまり、判定対象空間70の後方にプレイヤ100が外れた場合、判定対象空間70に向かってプレイヤ100を移動させるように誘導することができる。
【0091】
上記のように、例えば、ゲームキャラクタ51の動きに合わせてプレイヤ100が踊るようなダンスゲームでは、ゲームプレイ中にプレイヤ100の立ち位置が徐々に変わってしまうことがある。つまり、プレイヤ100が、ゲームの開始時に周囲の安全を確認しても、ゲームに熱中した場合、プレイヤ100が障害物に近づいてしまう可能性がある。そこで、ゲーム装置20は、プレイヤ100の立ち位置を案内するための判定対象空間70を設定することによって、プレイヤ100に立ち位置を案内することができる。
【0092】
ところで、プレイヤ100が判定対象空間70の外に出た場合、図11又は図13に示すように、ゲームキャラクタ51の位置をスポットライト領域53外に移動させると、ゲームキャラクタ51が見えづらくなる。確かに、プレイヤ100を安全な位置を案内することもできるが、実際には、判定対象空間70外の領域に障害物が配置されていないこともある。即ち、判定対象空間70を初期の位置に固定することによって、プレイヤ100がゲームをプレイしづらくなるという不都合が生じるおそれがある。以下、この不都合も解決する技術についての詳細な処理を説明する。
【0093】
まず、位置検出装置1及びゲーム装置20の構成について詳細に説明する。
【0094】
[1−4.位置検出装置の構成]
図14は、位置検出装置1のハードウェア構成を示す図である。図14に示すように、位置検出装置1は、マイクロプロセッサ10、記憶部11、撮影部12、深度測定部13、音声処理部14、通信インタフェース部15から構成される。位置検出装置1の各構成要素は、バス16によってデータ送受信可能に接続される。
【0095】
マイクロプロセッサ10は、記憶部11に記憶されるオペレーティングシステム、各種プログラムに基づいて位置検出装置1の各部を制御する。
【0096】
記憶部11は、オペレーティングシステムや撮影部12、深度測定部13を動作させるためのプログラム、各種パラメータを記憶する。また、記憶部11は、撮影画像及び深度画像に基づいて3次元位置情報を生成するためのプログラムを記憶する。
【0097】
撮影部12は、CCDカメラ2等から構成される。撮影部12は、例えば、プレイヤ100の撮影画像を生成する。
【0098】
深度測定部13は、赤外線センサ3等から構成される。深度測定部13は、例えば、赤外線センサ3により得られる飛行時間に基づいて深度画像を生成する。
【0099】
マイクロプロセッサ10は、先述のように、撮影部12により生成される撮影画像と、深度測定部13により生成される深度画像と、に基づいて、3次元位置情報を生成する。マイクロプロセッサ10は、撮影画像に基づいてプレイヤ100の各部(例えば、頭P1〜左つま先P16)に対応する画素の位置を特定する。
【0100】
次いで、マイクロプロセッサ10は、この特定された画素のRGBD値に基づいて座標変換処理を実行して3次元座標を算出する。この座標変換処理は、先述のように、行列演算に基づいた処理である。これらの一連の処理によって、3次元位置情報(図5)が、所定時間毎(例えば、1/60秒毎)に生成される。
【0101】
音声処理部14は、マイク4等から構成される。例えば、音声処理部14は、複数のマイクロフォン(例えば、3つ)に基づいて検出した音声のずれ時間に基づいて、プレイヤ100が音声を発した位置を特定することができる。また、音声処理部14のマイク4としては、CCDカメラ2の視線方向にある発音源からの音を検知する単一指向性のマイクを適用可能である。
【0102】
通信インタフェース部15は、ゲーム装置20に対して3次元位置情報等の各種データを送信するためのインタフェースである。
【0103】
[1−5.ゲーム装置の構成]
図15は、ゲーム装置20のハードウェア構成を示す図である。図15に示すように、本実施形態に係るゲーム装置20は、家庭用ゲーム機21、表示部40、音声出力部41、光ディスク42、及びメモリカード43を含む。表示部40及び音声出力部41は、家庭用ゲーム機21に接続される。例えば、家庭用テレビ受像機が表示部40として用いられる。また例えば、家庭用テレビ受像機に内蔵されたスピーカが、音声出力部41として用いられる。
【0104】
光ディスク42及びメモリカード43は情報記憶媒体であり、家庭用ゲーム機21に装着される。
【0105】
家庭用ゲーム機21は、公知のコンピュータゲームシステムである。図15に示すように、家庭用ゲーム機21は、バス22、マイクロプロセッサ23、主記憶24、画像処理部25、音声処理部26、光ディスク再生部27、メモリカードスロット28、通信インタフェース(I/F)29、コントローラインタフェース(I/F)30、及びコントローラ31を含む。コントローラ31以外の構成要素は家庭用ゲーム機21の筐体内に収容される。
【0106】
バス22は、アドレス及びデータを家庭用ゲーム機21を構成する各部でやり取りするためのものである。即ち、マイクロプロセッサ23、主記憶24、画像処理部25、音声処理部26、光ディスク再生部27、メモリカードスロット28、通信インタフェース29、及びコントローラインタフェース30は、バス22によって相互データ通信可能に接続される。
【0107】
マイクロプロセッサ23は、図示しないROMに格納されるオペレーティングシステムや、光ディスク42又はメモリカード43から読み出されるプログラムに基づいて、各種情報処理を実行する。
【0108】
主記憶24は、例えばRAMを含む。主記憶24には、光ディスク42又はメモリカード43から読み出されたプログラム及びデータが必要に応じて書き込まれる。主記憶24は、マイクロプロセッサ23の作業用としても用いられる。
【0109】
また、主記憶24には、所定時間毎に位置検出装置1から受信する3次元位置情報が記憶される。マイクロプロセッサ23は、主記憶24に記憶された3次元位置情報に基づいてゲームの制御を行う。
【0110】
画像処理部25は、VRAMを含む。画像処理部25は、マイクロプロセッサ23から送信される画像データに基づいてVRAM上にゲーム画面50を描画する。画像処理部25は、このゲーム画面50をビデオ信号に変換し、所定のタイミングで表示部40に出力する。
【0111】
音声処理部26は、サウンドバッファを含む。音声処理部26は、光ディスク42からサウンドバッファに読み出された各種音声データ(ゲーム音楽、ゲーム効果音、メッセージ等)を、音声出力部41から出力する。
【0112】
光ディスク再生部27は、光ディスク42に記録されたプログラムやデータを読み取る。本実施形態では、家庭用ゲーム機21にプログラムやデータを供給するために光ディスク42を用いる例を挙げて説明するが、他にも例えば、他の情報記憶媒体(例えば、メモリカード43等)を用いるようにしてもよい。また、インターネットなどのデータ通信網を介してプログラムやデータが、家庭用ゲーム機21に供給されるようにしてもよい。
【0113】
メモリカードスロット28は、メモリカード43を装着するためのインタフェースである。メモリカード43は、不揮発性メモリ(例えばEEPROMなど)を含む。メモリカード43は、例えば、セーブデータなどの各種ゲームデータを記憶する。
【0114】
通信インタフェース29は、インターネットなどの通信ネットワークに通信接続するためのインタフェースである。
【0115】
コントローラインタフェース30は、コントローラ31と無線接続又は有線接続するためのインタフェースである。コントローラインタフェース30としては、例えばBluetooth(登録商標)インタフェース規格に則ったインタフェースが適用される。なお、コントローラインタフェース30は、コントローラ31を有線接続するためのインタフェースとしてもよい。
【0116】
[1−6.ゲーム装置で実現される機能]
図16は、ゲーム装置20において実現される機能群を示す機能ブロック図である。図16に示すように、ゲーム装置20では、ゲームデータ記憶部80、位置取得部82、判定部84、ゲーム処理実行部86、判定対象空間変更部88、表示制御部90が実現される。これらの機能は、マイクロプロセッサ23が、光ディスク42から読み出されたプログラムに従って動作することにより、実現される。
【0117】
[1−6−1.ゲームデータ記憶部]
ゲームデータ記憶部80は、主記憶24及びメモリカード43を主として実現される。ゲームデータ記憶部80は、ゲームを実行するために必要な情報を記憶する。例えば、ゲームデータ記憶部80は、ゲームキャラクタ51が体を動かす様子を示すアニメーション情報を記憶する。
【0118】
また例えば、ゲームデータ記憶部80は、プレイヤ100が行うべき動作を識別するための基準動作情報を記憶する。
【0119】
図17は、基準動作情報の一例を示す図である。図17に示すように、基準動作情報は、動作をすべきタイミングを示す時間情報と、プレイヤ100が行うべき動作を識別する情報が格納される。時間情報は、例えば、ゲームが開始されてからの経過時間を示す。図17に示すデータ格納例では、例えば、時間tにおいては、プレイヤ100が右足を前に出す動作をすべきことを示している。
【0120】
先述のように、ゲームキャラクタ51は、プレイヤ100が行うべき動作を案内するための役割を果たすので、時間tが訪れると、ゲームキャラクタ51は右足を前に出すような動作を行う。アニメーション情報は、図17に示す基準動作情報に対応するように作成されている。即ち、基準動作情報に格納された時間情報が示す時間が訪れるたびに、アニメーション情報に基づいてゲームキャラクタ51が所定のアニメーション動作を行う。
【0121】
また例えば、ゲームデータ記憶部80は、3次元位置情報に基づいてプレイヤの動作が判定されるための条件となる動作判定基準情報を記憶する。
【0122】
図18は、動作判定基準情報の一例を示す図である。図18に示すように、動作判定基準情報には、例えば、プレイヤ100の体の動きを識別する情報と、3次元位置情報が満たすべき判定基準と、が対応付けられて格納される。判定基準は、例えば、プレイヤ100の各部位の3次元座標の変化量、変化方向、変化の速度等である。即ち例えば、判定基準は、プレイヤ100の各部位の動きベクトル(3次元ベクトル)が満たすべき条件である。
【0123】
動作判定基準情報に格納された体の動きが「右足を前に出す」である場合、例えば、右かかとP13と右つま先P15の3次元座標の変化量、変化方向、及び変化速度に対応する条件が、この体の動きに対応付けられている。この場合、右かかとP13と右つま先P15の3次元座標の変化量、変化方向、及び変化速度が、動作判定基準情報に格納された条件を満たせば、プレイヤ100が右足を前に出したと判定される。
【0124】
プレイヤ100の他の動作(例えば、右手でパンチをする等)についても同様に、3次元位置情報が示す3次元座標が動作判定基準情報に格納された条件を満たすか否かに基づいてプレイヤ100の動作が判別される。即ち、本実施形態においては、判定基準情報は、プレイヤ100の踊りを判別するための情報が格納されたものである。なお、判定基準情報は、ゲーム装置20の図示しないROM等に記憶されていてもよい。
【0125】
また、ゲームデータ記憶部80は、例えば、判定対象空間70を特定するための判定対象空間情報を記憶する。例えば、判定対象空間70の形状が図7に示すような四角錘台である場合、判定対象空間70の各辺の長さ、及び代表点71の位置を示す情報が記憶される。つまり、これらの情報に基づいて、判定対象空間70の位置が特定される。また、判定対象空間70の各辺の長さは、予め定められた値であってよい。
【0126】
例えば、プレイヤ100がゲームを開始する際に、代表点71の初期位置が決定される。例えば、判定対象空間70の位置は、ゲームが開始される場合のプレイヤ100の位置が含まれるように決定される。即ち例えば、ゲーム開始時のプレイヤ100の立ち位置に対応するように代表点71が決定される。他にも例えば、代表点71は、CCDカメラ2の視線方向上の点であってもよい。
【0127】
なお、判定対象空間情報となりうる情報は、上記の例に限られない。判定対象空間情報は、判定対象空間70の位置及び大きさを特定可能な情報であればよい。例えば、判定対象空間70の形状が四角錘台である場合、判定対象空間情報は、判定対象空間70の上面の左上頂点と右下頂点、及び、下面の左上頂点と右下頂点を示す情報、及び、代表点71を示す情報であってもよい。
【0128】
また、ゲームデータ記憶部80は、検知可能空間60を特定するための情報を記憶する。この情報は、判定対象空間情報と同様に、検知可能空間60の位置と大きさを特定可能な情報であればよい。
【0129】
[1−6−2.位置取得部]
位置取得部82は、マイクロプロセッサ23を主として実現される。位置取得部82は、プレイヤ100を撮影する位置検出装置(撮影部12)から得られる撮影画像と、深度測定手段(深度測定部13)の測定基準位置とプレイヤ100との間隔に関する深度情報と、に基づいて、3次元空間におけるプレイヤ100の位置に関する3次元位置情報を生成する位置情報生成手段(マイクロプロセッサ10)から3次元位置情報(図5)を取得する。
【0130】
本実施形態の場合、位置取得部82は、位置検出装置1のマイクロプロセッサ10(位置情報生成手段)によって生成される3次元位置情報を取得する。
【0131】
[1−6−3.判定部]
判定部84は、マイクロプロセッサ23を主として実現される。判定部84は、3次元空間におけるプレイヤ100の位置が、判定対象空間70内に含まれるか否かを判定する。例えば、3次元位置情報に含まれる3次元座標のうちの何れか一つが、判定対象空間70に含まれていない場合、3次元位置情報に対応するプレイヤの位置が、位置検出装置1の判定対象空間70内に含まれないと判定される。
【0132】
なお、判定部84による判定方法は、3次元位置情報と、判定対象空間70とに基づいた方法であればよく、判定部84の判定方法は、これに限られない。例えば、3次元位置情報が示すプレイヤ100の複数の部位(例えば、16個)のうちの複数(例えば、3個)に対応する3次元座標が、判定対象空間70の外にある場合に、プレイヤ100の位置が、判定対象空間70に含まれない、と判定されるようにしてもよい。
【0133】
[1−6−4.ゲーム処理実行部]
ゲーム処理実行部86は、マイクロプロセッサ23を主として実現される。ゲーム処理実行部86は、判定部84の判定結果に基づいてゲーム処理を実行する。ゲーム処理実行部86の動作の詳細については後述する(図19のS105,S106、S108参照)。
【0134】
[1−6−5.判定対象空間変更部]
判定対象空間変更部88は、マイクロプロセッサ23を主として実現される。判定対象空間変更部88は、3次元空間におけるプレイヤ100の位置が判定対象空間70内に含まれないと判定された場合、3次元空間におけるプレイヤ100の位置に基づいて、判定対象空間70の位置を変更する。判定対象空間変更部88の動作の詳細については後述する(図19のS108,S109参照)。
【0135】
[1−6−6.表示制御部]
表示制御部90は、マイクロプロセッサ23を主として実現される。表示制御部90は、ゲーム画面50を表示部40に表示する。本実施形態においては、表示制御部90は、ゲームキャラクタ51と、他の領域よりも明度が高く設定された注目領域(スポットライト領域53)と、を含むゲーム画面50を表示手段(表示部40)に表示させる。
【0136】
また、表示制御部90は、ゲームキャラクタ51の表示位置と注目領域の表示位置との位置関係を、3次元空間におけるプレイヤ100の位置と判定対象空間70との位置関係に基づいて制御する手段を含む。表示制御部90の動作の詳細については後述する(図19のS102参照)。
【0137】
[1−7.ゲーム装置において実行される処理]
図19は、ゲーム装置20において実行される処理の一例を示すフロー図である。図19の処理は、マイクロプロセッサ23が、光ディスク42から読み出されたプログラムに従って動作することにより実行される。図19の処理は、例えば、所定時間毎(例えば、1/60秒毎)に実行される。
【0138】
図19に示すように、まず、マイクロプロセッサ23(位置取得部82)は、プレイヤ100の3次元位置情報を取得する(S101)。
【0139】
マイクロプロセッサ23(表示制御部90)は、ゲーム画面50に表示されるゲームキャラクタ51の位置を変更する(S102)。S102においては、例えば、プレイヤ100の3次元位置情報と代表点71との位置関係に基づいてゲームキャラクタ51の表示位置が変更される。例えば、プレイヤ100の3次元位置情報に含まれる腰P10の3次元座標と、代表点71との位置関係が判断される。具体的には、判定対象空間70の代表点71からプレイヤの腰P10の3次元座標への方向D及び距離L(図7)が取得される。
【0140】
次いで、ゲームキャラクタ51の表示位置と、スポットライト領域53の誘導位置55と、の位置関係が、プレイヤの腰P10の3次元座標と、判定対象空間70の代表点71と、の位置関係に対応する位置関係となるように、ゲームキャラクタ51の表示位置が変更される。
【0141】
例えば、図11及び図13に示すように、スポットライト領域53の誘導位置55から、上記方向Dに対応する方向Dsに、上記距離Lに対応する距離Lsだけ移動した位置57に、ゲームキャラクタ51の表示位置が変更される。方向Ds及び距離Lsは、例えば、方向D又は距離Lと所定の数式とに基づいて算出される。所定の数式は、例えば、3次元のベクトルを2次元に変換するための所定の行例(例えば、射影行列)であってよい。
【0142】
また、誘導位置55は、ゲームキャラクタ51を誘導する位置であり、代表点71に対応する位置である。例えば、誘導位置55は、スポットライト領域53の中心点から上に所定距離の位置である。
【0143】
S102における処理によって、ゲームキャラクタ51の表示位置が制御される。即ち、プレイヤ100は、ゲーム画面50に表示されるゲームキャラクタ51とスポットライト領域53との位置関係を参照することによって、プレイヤ100の体の位置が判定対象空間70からはみ出しているか否かを把握できるようになる。
【0144】
その結果、プレイヤは、自らの立ち位置を修正できるようになる。また、スポットライト領域53外にゲームキャラクタ51が移動した場合、ゲームキャラクタ51が見えにくくなるため、プレイヤは、ゲームキャラクタ51がスポットライト領域53内に位置するように、自分の立ち位置を無意識のうちに修正することが考えられる。このようにゲームキャラクタ51の表示位置を制御することによって、プレイヤが自分の立ち位置を無意識のうちに修正するように図ることも可能になる。
【0145】
図19に戻り、マイクロプロセッサ23(表示制御部90)は、ゲーム画面50に表示されるゲームキャラクタ51の姿勢をアニメーションデータに基づいて更新する(S103)。
【0146】
マイクロプロセッサ23(判定部84)は、3次元位置情報が示すプレイヤ100の体の少なくとも一つの位置が判定対象空間70外であるか否かを判定する(S104)。S104における判定は、例えば、3次元位置情報と判定対象空間情報とが比較されることによって行われる。つまり、例えば、3次元位置情報に含まれる3次元座標(図5)が、判定対象空間70(図7)の内部にあるか否かに基づいて判定される。
【0147】
プレイヤの位置が判定対象空間70外でない場合(S104;N)、即ち、プレイヤ100に対応する全ての位置が判定対象空間70内である場合、マイクロプロセッサ23(ゲーム処理実行部86)は、ゲームキャラクタ51の体の動きに合わせてプレイヤ100が体を動かしたか否かを判定する(S105)。
【0148】
S105においては、プレイヤ100が、ゲームキャラクタ51が行う動作(体の動き)と類似の動作を行ったか否かが判定される。この判定は、例えば、3次元位置情報、基準動作情報(図17)、及び判定基準情報(図18)に基づいて実行される。
【0149】
基準動作情報が図17に示すデータ格納例である場合、例えば、時間tにおいてゲームキャラクタ51が右足を前方に踏み出すことを示している。この場合、ゲームキャラクタ51が右足を前方に踏み出すタイミング(以下「基準タイミング」と呼ぶ。)において、プレイヤが右足を前に踏み出したか否かが判定される。基準タイミングは、例えば、基準動作情報に格納された時間(例えば、時間t)を含む所定期間内のタイミングである。
【0150】
ここで、「所定期間」とは、例えば、基準タイミングの所定時間前の開始タイミングから、基準タイミングから所定時間後の終了タイミングまでの期間である。上記所定期間内にプレイヤ100が右足を前に踏み出した場合、ゲームキャラクタ51の足の動きに合わせてプレイヤが足を動かしたと判定される。即ち、ゲームキャラクタ51の動きに合わせてプレイヤ100が動作したと判定される。先述のように、プレイヤ100が右足を前に踏み出したか否かは、判定基準情報(図18)に基づいて判別される。
【0151】
ゲームキャラクタ51の動きに合わせてプレイヤ100が動作したと判定された場合(S105;Y)、マイクロプロセッサ23(ゲーム処理実行部86)は、例えば「GOOD」等のメッセージ54をゲーム画面50に表示する(S106)。
【0152】
一方、ゲームキャラクタ51の動きに合わせてプレイヤ100が動作したと判定されない場合(S105;N)、マイクロプロセッサ23は、S106のようなメッセージを表示させずに処理を終了する。
【0153】
一方、プレイヤの体の少なくとも一つの位置が判定対象空間70外である場合(S104;Y)、マイクロプロセッサ23(ゲーム処理実行部86)は、例えば「CAUTION」等のメッセージ54をゲーム画面50に表示する(S107)。
【0154】
マイクロプロセッサ23(判定対象空間変更部88)は、プレイヤの体の少なくとも一つの位置が判定対象空間70外である状態が基準期間(例えば3秒間)にわたって継続したか否かを判定する(S108)。
【0155】
プレイヤの体の少なくとも一つの位置が判定対象空間70外である状態が基準期間にわたって継続した場合(S108;Y)、マイクロプロセッサ23(判定対象空間変更部88)は、判定対象空間70の位置を変更する(S109)。
【0156】
S109においては、例えば、3次元位置情報の腰P10の3次元座標が参照される。次いで、判定対象空間70の代表点71がプレイヤの腰P10に対応する3次元座標と一致するようにして、判定対象空間70の位置が変更される。
【0157】
図20は、変更された判定対象空間70を示す図である。図20に示すように、プレイヤ100の腰P10の位置と代表点71とが一致するように、判定対象空間70の位置が変更される。
【0158】
なお、S109における判定対象空間70の位置の変更方法は、3次元位置情報が示すプレイヤ100の位置に基づいて、プレイヤ100の位置が判定対象空間70に含まれるようにすればよく、この変更方法は、上記の例に限られない。他にも例えば、3次元位置情報に含まれる3次元座標の平均値と代表点71とが一致するように判定対象空間70の位置が変更されるようにしてもよい。
【0159】
例えば、プレイヤ100が障害物に近づいた場合には、所定時間以内に気づいて元の位置に戻ることが考えられる。つまり、上記のように、変更前の判定対象空間70からプレイヤ100がはみ出した状態が所定時間継続した場合、現在のプレイヤ100の立ち位置周辺には、障害物がない可能性が高いと考えられる。つまり、この場合には、プレイヤ100がゲームプレイを継続できるように、図19に示すように、プレイヤの体の位置が判定対象空間70内に含まれるように、判定対象空間70の位置が変更される。
【0160】
一方、プレイヤの体の少なくとも一つの位置が判定対象空間70外である状態が基準期間にわたって継続していない場合(S108;N)、マイクロプロセッサ23は、処理を終了する。即ち、この場合、マイクロプロセッサ23は、プレイヤ100の体の動きに基づいて「GOOD」等のメッセージ54を表示する処理が行われない。つまり、プレイヤ100がダンスの動作をしても反応しないため、プレイヤ100に判定対象空間70にいないことを理解させることもできる。
【0161】
[1−8.実施形態のまとめ]
以上に説明したゲーム装置20では、プレイヤ100が判定対象空間70にいるか否かに基づいて、「CAUTION」等のメッセージ54を表示させたり、プレイヤ100の動作を検出しないようにしてゲーム処理を実行する。また、3次元空間におけるプレイヤ100の位置に基づいて判定対象空間70の位置が変更されるので、判定対象空間70にいるようにプレイヤ100を誘導しつつ、プレイヤ100がゲームプレイを継続できるように判定対象空間70を変更することができる。
【0162】
先述のように、ゲーム開始時(又は、ゲーム開始直前もしくは直後)は、プレイヤ100は、周囲の安全を確認することが考えられるので、この位置にプレイヤ100を誘導することによって、プレイヤ100が障害物や他のプレイヤ100にぶつかってしまう可能性を軽減できる。したがって、プレイヤ100は、体を動かすようなゲームであっても安全にプレイすることができる。
【0163】
また、プレイヤ100の体の位置と、判定対象空間70の位置と、の位置関係に基づいて、ゲームキャラクタ51の表示位置と、スポットライト領域53の表示位置と、の位置関係が制御される。例えば、プレイヤ100の体の位置が判定対象空間70から外れている場合には、ゲームキャラクタ51がスポットライト領域53外に位置するようになる(図11、図13参照)。
【0164】
ゲーム装置20によれば、プレイヤ100は、ゲーム画面50に表示されるゲームキャラクタ51とスポットライト領域53との位置関係を参照することによって、プレイヤ100の体の位置が判定対象空間70から外れているか否かを把握できるようになる。その結果、ゲームプレイ中にプレイヤ100の立ち位置が変わったような場合に、プレイヤ100は、立ち位置が変わってしまったことを知ることができるようになる。即ち、プレイヤ100は、自らの立ち位置を修正できるようになる。
【0165】
また、スポットライト領域53外にゲームキャラクタ51が移動した場合、ゲームキャラクタ51が見えにくくなる。つまり、プレイヤ100は、ゲームキャラクタ51がスポットライト領域53内に位置するように、自分の立ち位置を無意識のうちに修正しようとすることが考えられる。このように、ゲーム装置20によれば、プレイヤ100が、自分の立ち位置を無意識のうちに修正するように図ることも可能になる。
【0166】
また、ゲーム装置20では、プレイヤ100の体の少なくとも一つの位置が判定対象空間70外である状態が基準期間(例えば3秒間)にわたって継続した場合、プレイヤ100の体の位置が判定対象空間70内に含まれるように、判定対象空間70の位置が変更される(図20参照)。
【0167】
ゲーム装置20の上記の処理によれば、ゲームプレイ中にプレイヤ100の立ち位置が変わり、プレイヤ100の体の少なくとも一つの部位の位置が判定対象空間70外になった状態において、仮にプレイヤ100が立ち位置を修正しなくても、ゲームを進行できるようになる。先述のように、プレイヤ100が判定対象空間70の外にいる状態が基準期間にわたって継続した場合、プレイヤ100の立ち位置周辺には障害物がない可能性が高いので、判定対象空間70の位置を変更してもプレイヤ100の安全を保障することができる。
【0168】
また例えば、プレイヤの体の何れかの位置が、瞬間的に判定対象空間70外になった場合にも判定対象空間70の位置を変更してしまうと、却ってプレイヤが戸惑ってしまうおそれがある。この点、ゲーム装置20ではそのような戸惑いをプレイヤに感じさせないようにすることができる。
【0169】
[2.変形例]
なお、本発明は以上に説明した実施形態に限定されるものではない。
【0170】
[2−1.第1変形例]
図19のS102では、ゲームキャラクタ51の表示位置とスポットライト領域53の誘導位置55との位置関係が、プレイヤ100の位置(例えば、腰P10の3次元座標)と、判定対象空間70の代表点71と、の位置関係に対応する位置関係となるように、スポットライト領域53(及び、スポットライト52)の表示位置が変更されるようにしてもよい。つまり、ゲームキャラクタ51を動かさずに、スポットライト領域53を動かすようにしてもよい。
【0171】
または、ゲームキャラクタ51の表示位置とスポットライト領域53の誘導位置55との位置関係が、プレイヤ100の位置(例えば、腰P10の3次元座標)と、判定対象空間70の代表点71と、の位置関係に対応する位置関係となるように、ゲームキャラクタ51と、スポットライト領域53(及び、スポットライト52)と、の両方の表示位置が変更されるようにしてもよい。
【0172】
また、ゲームキャラクタ51やスポットライト領域53等の相対的な位置を変更させずに、ゲームキャラクタ51の表示位置をゲーム画面50の右側や左側等に移動させるようにしてもよい。即ち例えば、ゲーム画面50が、仮想ゲーム空間を仮想カメラから見た様子を示す画面である場合、この仮想カメラの位置が変更されることによって、上記のようにゲームキャラクタ51の表示位置が変更する。
【0173】
図21は、ゲーム画面50に含まれる画像の表示位置が変更された場合を示す図である。図21に示すゲーム画面50は、例えば、プレイヤ100が位置検出装置1に対して判定対象空間70の右側に移動した場合に表示される。仮想カメラの位置が左側に変更されることにより、例えば、ゲーム画面50の中央付近に位置していたゲームキャラクタ51が、ゲーム画面50の中心点から見て右側に移動する。
【0174】
また例えば、領域50aのように、ゲーム画面50の左端部付近が黒く表示される。領域50aの幅と位置は、例えば、代表点71とプレイヤ100の腰P10との距離Lと方向Dに基づいて決定される。プレイヤ100は、ゲーム画面50の左端部付近の領域50aには、何も表示されないように見えることになる。この場合、プレイヤ100は、ゲームキャラクタ51の表示位置を元に戻そうとして、左側に移動することが考えられる。即ち、このゲーム画面50によれば、判定対象空間70の内側にプレイヤ100を案内することができる。
【0175】
このようにゲーム画面50の表示制御がなされることによって、ゲーム画面50に含まれる画像(ゲームキャラクタ51等)のそれぞれの相対的な位置を変えることなく、プレイヤ100に立ち位置がずれていることを案内することができる。なお、上記では、仮想カメラの位置が変更される場合を説明したが、仮想カメラの視線方向や画角が変更されることによってプレイヤ100の立ち位置を案内するようにしてもよい。
【0176】
[2−2.第2変形例]
また、ゲーム画面50は、プレイヤ100の立ち位置と判定対象空間70の代表点71との表示位置との位置関係が案内されるようにすればよく、ゲーム画面50の例は、本実施形態の例に限られない。
【0177】
図22は、ゲーム画面50の他の一例を示す図である。図22に示すゲーム画面50には、プレイヤ100に対応するプレイヤキャラクタ51a(第1のゲームキャラクタ)と、インストラクターキャラクタ51b(第2のゲームキャラクタ)と、が表示されている。
【0178】
この場合、例えば、プレイヤ100は、インストラクターキャラクタ51bの動きに合わせて体を動かす。そして、プレイヤキャラクタ51aが、プレイヤ100の動きに基づいて動作する。実施形態と同様に、プレイヤ100の動作がうまくいった場合、「GOOD」等のメッセージ54が表示される。
【0179】
なお、プレイヤキャラクタ51a及びインストラクターキャラクタ51bが同じ動きを行い、プレイヤ100が、プレイヤキャラクタ51a及びインストラクターキャラクタ51bの動きに合わせて体を動かすようにしてもよい。
【0180】
この第2変形例では、プレイヤキャラクタ51aとインストラクターキャラクタ51bとの位置関係が、プレイヤ100の位置と、判定対象空間70と、の位置関係に基づいて変更される。例えば、プレイヤ100の位置が、判定対象空間70内に含まれている場合、図22に示すように、プレイヤキャラクタ51aがインストラクターキャラクタ51bの略正面に表示される。
【0181】
一方、例えば、図10に示すようにプレイヤ100の位置が判定対象空間70から外れている場合、例えば、図23に示すように、プレイヤキャラクタ51aが、インストラクターキャラクタ51bから遠くにずれた位置に表示される。また、「CAUTION」等のメッセージ54が表示される。
【0182】
また例えば、図12に示すようにプレイヤ100の位置が判定対象空間70から外れている場合、例えば、図24に示すように、プレイヤキャラクタ51aが、インストラクターキャラクタ51bから横に大きくずれた位置に表示される。
【0183】
第2変形例では、例えば、図17のS102の処理と類似の処理が実行される。即ち、プレイヤキャラクタ51aの表示位置とインストラクターキャラクタ51bの表示位置との位置関係が、プレイヤ100の位置と、判定対象空間70の代表点71と、の位置関係に対応する位置関係となるように、プレイヤキャラクタ51a及びインストラクターキャラクタ51bの少なくとも一方の表示位置が変更される。
【0184】
例えば、まず、プレイヤ100の腰P10の3次元座標が参照される。次いで、プレイヤ100の腰P10の3次元座標と、判定対象空間70の代表点71と、の位置関係が判断される。例えば、プレイヤ100の腰P10の3次元座標と、判定対象空間70の代表点71と、の差が取得される。具体的には、判定対象空間70の代表点71からプレイヤ100の腰P10の3次元座標への方向D及び距離Lが取得される。
【0185】
その後、プレイヤキャラクタ51aの表示位置とインストラクターキャラクタ51bの表示位置との位置関係が、プレイヤ100の腰P10の3次元座標と、判定対象空間70の代表点71と、の位置関係に対応する位置関係となるように、プレイヤキャラクタ51aの表示位置が変更される。例えば、図23及び図24に示すように、インストラクターキャラクタ51bの真正面に設定される基本位置56から、上記方向Dに対応する方向Dsに、上記距離Lに対応する距離Lsだけ移動した位置57に、プレイヤキャラクタ51aの表示位置が変更される。
【0186】
第2変形例によれば、プレイヤ100は、プレイヤキャラクタ51aとインストラクターキャラクタ51bとの位置関係を参照することによって、プレイヤ100の体の位置が判定対象空間70から外れているか否かを把握できるようになる。その結果、ゲームプレイ中にプレイヤ100の立ち位置が変わったような場合、プレイヤ100は、立ち位置が変わってしまったことを知ることができるようになり、プレイヤ100は、自らの立ち位置を修正できるようになる。即ち、プレイヤ100は、判定対象空間70内の比較的安全な場所でゲームをプレイすることができる。
【0187】
なお、プレイヤキャラクタ51aの位置がインストラクターキャラクタ51bの正面からずれている場合や遠く離れている場合、一般的に、プレイヤ100は、プレイヤキャラクタ51aの位置がインストラクターキャラクタ51bの正面となるようにしようとすることが考えられる。
【0188】
即ち、プレイヤキャラクタ51aの位置がインストラクターキャラクタ51bの正面からずれている場合や遠く離れている場合、プレイヤ100は、インストラクターキャラクタ51bの動きを真似しにくくなると考えられる。つまり、プレイヤ100は、プレイヤキャラクタ51aの位置がインストラクターキャラクタ51bの正面となるように、自分の立ち位置を無意識のうちに修正すると考えられる。
【0189】
以上に説明したようにプレイヤキャラクタ51aとインストラクターキャラクタ51bとの位置関係が制御されることによって、プレイヤ100が、自分の立ち位置を無意識のうちに修正するように図ることも可能になる。
【0190】
また、第2変形例においても、図21のような表示制御がなされるようにしてもよい。つまり、プレイヤキャラクタ51aとインストラクターキャラクタ51bの相対的な位置を変更させずに、プレイヤキャラクタ51aとインストラクターキャラクタ51bの表示位置をゲーム画面50の右側や左側等に移動させるようにしてもよい。この場合も、図21に示す場合と同様に、例えば、仮想カメラの位置が変更されることによって、上記のようにプレイヤキャラクタ51aとインストラクターキャラクタ51bの表示位置が変更する。
【0191】
図25は、ゲーム画面50に含まれる画像の表示位置が変更された場合を示す図である。図25に示すゲーム画面50は、例えば、プレイヤ100が位置検出装置1に対して判定対象空間70の右側に移動した場合に表示される。仮想カメラの位置が左側に変更されることにより、例えば、ゲーム画面50の中央付近に位置していたプレイヤキャラクタ51aとインストラクターキャラクタ51bが、ゲーム画面50の中心点から見て右側に移動する。
【0192】
また例えば、図21と同様に、領域50aが表示される。この場合、プレイヤ100は、プレイヤキャラクタ51aとインストラクターキャラクタ51bの表示位置を元に戻そうとして、左側に移動することが考えられる。即ち、このゲーム画面50によれば、判定対象空間70の内側にプレイヤ100を案内することができる。
【0193】
[2−3.その他の変形例]
なお、本発明は、以上説明した実施形態及び変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【0194】
(1)例えば、プレイヤ100の位置を示す3次元位置情報を図5に示すデータ格納例を挙げて説明したが、位置検出装置1から送信される3次元位置情報は、プレイヤ100の位置(例えば、立ち位置)を識別できる情報であればよく、このデータ格納例は、図5の例に限られない。他にも例えば、プレイヤ100の基準点(例えば、頭に対応する点)から体の各部までの距離と方向を示す情報等であってもよい。
【0195】
(2)また例えば、上記では、撮影画像と深度情報(深度画像)とに基づいて3次元位置情報を生成する位置情報生成手段が位置検出装置1に含まれる例を挙げて説明したが、位置情報生成手段は、ゲーム装置20であってもよい。つまり、ゲーム装置20は、位置検出装置1から撮影画像と深度画像とを受信し、これらに基づいて3次元位置情報を生成するようにしてもよい。
【0196】
(3)また例えば、上記では、3次元位置情報に基づいてプレイヤ100の動作を解析する方法として、図18に示す動作判定基準情報とプレイヤ100の各部位の3次元座標の変化量、変化方向、変化の速度等とを比較する例を挙げて説明した。プレイヤ100の動作の解析方法は、3次元位置情報に基づいたものであればよく、この解析方法は、上記の例に限られない。他にも例えば、3次元位置情報に含まれる3次元座標が、所定の数式に代入されることによって得られる値に基づいてプレイヤ100の動作が解析されるようにしてもよい。
【0197】
(4)また例えば、複数のプレイヤ100がゲームをプレイする場合、それぞれのプレイヤ100に対応する判定対象空間70が互いに重畳しないように制御されるようにしてもよい。例えば、2人のプレイヤ100がゲームをプレイする場合、3次元位置情報には、2人分の3次元座標が含まれる。一方のプレイヤ100の腰P10の3次元座標に代表点71が移動するように判定対象空間70を変更させると変更後の判定対象空間70と他方のプレイヤ100の判定対象空間70とが重畳する場合には、互いにぶつかる可能性があるので、この変更をしないように制御されるようにしてもよい。
【0198】
つまり、ゲーム装置20が実行するゲームが複数のプレイヤ100によってプレイされる場合、判定対象空間変更部88は、一方のプレイヤ100に対応する判定対象空間70の位置を変更させると他方のプレイヤ100に対応する判定対象空間70に重畳する場合、当該変更を制限する手段を含む、ようにしてもよい。
【0199】
(5)また、第1変形例及び第2変形例では、表示制御部90が表示位置を制御する際に参照されるプレイヤ100の位置と判定対象空間70との位置関係の基準点を、それぞれ腰P10の3次元座標と代表点71とした。表示制御部90は、プレイヤ100に対応する3次元位置情報と判定対象空間70の位置を識別する情報とに基づいて表示位置を制御するか否かを決定するようにすればよく、比較される情報は、上記の例に限られない。例えば、3次元位置情報に含まれる3次元座標の平均値と判定対象空間70の内部の任意の一点とが比較されるようにしてもよい。
【0200】
(6)また、本実施形態においては、プレイヤ100の深度を測定する方法を、赤外線光の飛行時間に基づいて算出する例を挙げて説明したが、この測定方法は、本実施形態の例に限られない。他にも例えば、三角測量を行なう方法や、3次元レーザースキャニングを行なう方法等を適用可能である。また、深度情報を深度画像として取得する例を挙げて説明したが、深度情報はこれに限られない。深度情報は、プレイヤ100の深度を識別する情報であればよく、例えば、深度情報は、飛行時間を示す値であってもよい。
【0201】
(7)また、判定対象空間70を、図7に示すような形状を例に挙げて説明したが、判定対象空間70の形状は、これに限られない。判定対象空間70は、プレイヤ100がいるべき位置を特定できる形状であればよく、例えば、判定対象空間70は、球状であってもよい。この場合、ゲームデータ記憶部80には、判定対象空間70の代表点71(例えば、球の中心点)と、球の半径を識別する情報が記憶される。
【0202】
(8)また、本実施形態においては、判定対象空間70の広さをそのままにして、位置のみを変更させるようにしたが、判定対象空間70の広さが変更されることにより、判定対象空間70の位置が変更されるようにしてもよい。即ち、プレイヤ100が判定対象空間70からはみ出した状態が所定時間継続した場合、このはみ出した方向に判定対象空間70が拡大されるようにして、判定対象空間70の位置が変更されるようにしてもよい。
【0203】
(9)また例えば、本実施形態においては、ゲーム装置20が、3次元位置情報に基づいてプレイヤ100の動作を判定するようにしたが、位置検出装置1が、プレイヤ100の動作を判定するようにしてもよい。この場合、位置検出装置1に判定基準情報(図18)が記憶される。つまり、プレイヤ100の動作が位置検出装置1によって判定され、この判定結果を示す情報のみがゲーム装置20に対して送信される。
【0204】
(10)また、プレイヤ100が判定対象空間70からはみ出した場合、表示制御部90が行う表示制御処理は、本実施形態や変形例(図11、図13、図21、図23、図24、図25)に限られない。プレイヤ100が判定対象空間70からはみ出した旨を、プレイヤ100に対して伝えることができるような表示制御が行われればよい。例えば、判定対象空間70の全体と、ゲーム画面50の表示領域全体と、が対応していてもよい。即ち、判定対象空間70からプレイヤ100がはみ出した場合、ゲームキャラクタ51がゲーム画面50から見えなくなるようにしてもよい。
【0205】
(11)他にも例えば、表示制御部90は、プレイヤ100が判定対象空間70にいない場合、ゲーム画面50に含まれる画像に対して所定の画像処理を行うようにしてもよい。即ち、例えば、プレイヤ100の注視対象であるゲームキャラクタ51に対してノイズ処理を行い、見えづらくなるようにしてもよい。
【0206】
(12)また、本実施形態においては、ゲーム装置20が実行するゲームとしてダンスゲームを例に挙げて説明した。ゲーム装置20が実行するゲームは、プレイヤ100の動作を検出してゲーム処理が実行されるものであればよく、実行されるゲームの種類は、これに限られない。他にも例えば、サッカーゲーム等のスポーツゲームであってもよいし、格闘ゲーム等であってもよい。
【符号の説明】
【0207】
1 位置検出装置、2 CCDカメラ、3 赤外線センサ、4 マイク、10 マイクロプロセッサ、11 記憶部、12 撮影部、13 深度測定部、14 音声処理部、15 通信インタフェース部、16,22 バス、20 ゲーム装置、21 家庭用ゲーム機、23 マイクロプロセッサ、24 主記憶、25 画像処理部、26 音声処理部、27 光ディスク再生部、28 メモリカードスロット、29 通信インタフェース、30 コントローラインタフェース、31 コントローラ、40 表示部、41 音声出力部、42 光ディスク、43 メモリカード、50 ゲーム画面、50a 領域、51 ゲームキャラクタ、51a プレイヤキャラクタ、51b インストラクターキャラクタ、52 スポットライト、53 スポットライト領域、54 メッセージ、55 誘導位置、56 基本位置、57 位置、60 検知可能空間、70 判定対象空間、71 代表点、80 ゲームデータ記憶部、82 位置取得部、84 判定部、86 ゲーム処理実行部、88 判定対象空間変更部、90 表示制御部、100 プレイヤ、P1 頭、P2 首、P3 右肩、P4 左肩、P5 右ひじ、P6 左ひじ、P7 右手、P8 左手、P9 胸、P10 腰、P11 右ひざ、P12 左ひざ、P13 右かかと、P14 左かかと、P15 右つま先、P16左つま先、F 家具、Ow,Os 原点、Pmax 座標、D,Ds 方向、L,Ls 距離。

【特許請求の範囲】
【請求項1】
プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、3次元空間における前記プレイヤの位置に関する3次元位置情報を生成する位置情報生成手段から前記3次元位置情報を取得する位置取得手段と、
前記3次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定手段と、
前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行手段と、
前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記3次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更手段と、
を含むことを特徴とするゲーム装置。
【請求項2】
前記判定対象空間変更手段は、
前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれない状態が基準期間にわたって継続したか否かを判定する手段と、
前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれない状態が前記基準期間にわたって継続した場合、前記判定対象空間の位置を変更する手段と、を含む、
ことを特徴とする請求項1に記載のゲーム装置。
【請求項3】
ゲームキャラクタと、他の領域よりも明度が高く設定された注目領域と、を含むゲーム画面を表示手段に表示させる表示制御手段を含み、
前記表示制御手段は、前記ゲームキャラクタの表示位置と前記注目領域の表示位置との位置関係を、前記3次元空間における前記プレイヤの位置と前記判定対象空間との位置関係に基づいて制御する手段を含む、
ことを特徴とする請求項1又は2に記載のゲーム装置。
【請求項4】
第1のゲームキャラクタと第2のゲームキャラクタとを含むゲーム画面を表示手段に表示させる表示制御手段を含み、
前記表示制御手段は、前記第1のゲームキャラクタの表示位置と前記第2のゲームキャラクタの表示位置との位置関係を、前記3次元空間における前記プレイヤの位置と前記判定対象空間との位置関係に基づいて制御する手段を含む、
ことを特徴とする請求項1又は2に記載のゲーム装置。
【請求項5】
プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、3次元空間における前記プレイヤの位置に関する3次元位置情報を生成する位置情報生成手段から前記3次元位置情報を取得する位置取得ステップと、
前記3次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定ステップと、
前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行ステップと、
前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記3次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更ステップと、
を含むことを特徴とするゲーム装置の制御方法。
【請求項6】
プレイヤを撮影する撮影手段から得られる撮影画像と、深度測定手段の測定基準位置と前記プレイヤとの間隔に関する深度情報と、に基づいて、3次元空間における前記プレイヤの位置に関する3次元位置情報を生成する位置情報生成手段から前記3次元位置情報を取得する位置取得手段、
前記3次元空間における前記プレイヤの位置が判定対象空間内に含まれるか否かを判定する判定手段、
前記判定手段の判定結果に基づいてゲーム処理を実行するゲーム処理実行手段、
前記3次元空間における前記プレイヤの位置が前記判定対象空間内に含まれないと判定された場合、前記3次元空間における前記プレイヤの位置に基づいて、前記判定対象空間の位置を変更する判定対象空間変更手段、
を含むゲーム装置としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate


【公開番号】特開2011−189066(P2011−189066A)
【公開日】平成23年9月29日(2011.9.29)
【国際特許分類】
【出願番号】特願2010−59465(P2010−59465)
【出願日】平成22年3月16日(2010.3.16)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】