(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023162168
(43)【公開日】2023-11-08
(54)【発明の名称】ゲームプログラム、ゲーム処理方法、及びゲーム装置
(51)【国際特許分類】
A63F 13/5375 20140101AFI20231031BHJP
A63F 13/213 20140101ALI20231031BHJP
A63F 13/25 20140101ALI20231031BHJP
A63F 13/428 20140101ALI20231031BHJP
A63F 13/44 20140101ALI20231031BHJP
A63F 13/52 20140101ALI20231031BHJP
A63F 13/655 20140101ALI20231031BHJP
A63F 13/814 20140101ALI20231031BHJP
G06T 19/00 20110101ALI20231031BHJP
【FI】
A63F13/5375
A63F13/213
A63F13/25
A63F13/428
A63F13/44
A63F13/52
A63F13/655
A63F13/814
G06T19/00 600
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023120495
(22)【出願日】2023-07-25
(62)【分割の表示】P 2020203591の分割
【原出願日】2020-12-08
(71)【出願人】
【識別番号】506113602
【氏名又は名称】株式会社コナミデジタルエンタテインメント
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(72)【発明者】
【氏名】岡村 憲明
(57)【要約】
【課題】簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内すること。
【解決手段】ゲームプログラムは、ユーザの頭部に装着することにより、ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置を用いてプレイ可能なゲームの処理を実行するコンピュータに、実空間の撮像映像を取得するステップと、撮像映像から実空間に対応する仮想空間を生成するステップと、仮想空間内の、ユーザに対応する基準位置に基づく位置に、ユーザの動作を指示する指示オブジェクトをユーザに視認可能に配置するステップと、少なくとも指示オブジェクトが配置された仮想空間を、実空間に対応付けて表示させるステップと、撮像映像からユーザの身体の少なくとも一部の動作を検出するステップと、検出された動作を、仮想空間内に配置された指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップと、を実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザの頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置を用いてプレイ可能なゲームの処理を実行するコンピュータに、
前記実空間を撮像した撮像映像を取得するステップと、
前記撮像映像から前記実空間に対応する仮想空間を生成するステップと、
前記仮想空間内の、前記ユーザに対応する基準位置に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ゲームのプレイ中に前記ユーザに視認可能に配置するステップと、
前記実空間に重畳されて前記指示オブジェクトが視認可能となるように、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させるステップと、
前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出するステップと、
前記検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップと、
を実行させるためのゲームプログラム。
【請求項2】
前記基準位置は、前記映像出力装置を装着している前記ユーザの位置に対応する前記仮想空間内における第1基準位置を含み、
前記第1基準位置は、前記仮想空間内の前記映像出力装置の位置に基づく、
請求項1に記載のゲームプログラム。
【請求項3】
前記配置するステップにおいて、
前記映像出力装置を装着している前記ユーザの向きに応じて、前記指示オブジェクトを配置する位置を前記仮想空間内の一部に制限する、
請求項2に記載のゲームプログラム。
【請求項4】
前記コンピュータに、
前記撮像映像から前記ユーザに対応する像を検出するステップ、
をさらに実行させ、
前記基準位置は、前記検出された前記ユーザに対応する像の前記仮想空間内における第2基準位置を含む、
請求項1に記載のゲームプログラム。
【請求項5】
前記コンピュータに、
前記撮像映像から前記ユーザに対応する像を検出するステップ、
をさらに実行させ、
前記基準位置は、前記検出された前記ユーザに対応する像の前記仮想空間内における第2基準位置を含む、
請求項2または請求項3に記載のゲームプログラム。
【請求項6】
前記配置するステップにおいて、
前記仮想空間内の前記第2基準位置に基づく位置に前記指示オブジェクトを配置する際に、前記第1基準位置に基づく位置に配置する前記指示オブジェクトの視認度を低減する、または前記第1基準位置に基づく位置に前記指示オブジェクトを配置しない、
請求項5に記載のゲームプログラム。
【請求項7】
前記検出された前記ユーザに対応する像は、対面に存在する鏡に映った前記ユーザの像であり、
前記配置するステップにおいて、
前記仮想空間内の前記第2基準位置に基づく位置に前記指示オブジェクトを配置する際に、前記第2基準位置に対する前後の向きを反転させる、
請求項4から請求項6のいずれか一項に記載のゲームプログラム。
【請求項8】
前記配置するステップにおいて、
前記仮想空間内の所定の位置に配置した前記指示オブジェクトを所定の判定位置へ向かって移動させ、
前記評価するステップにおいて、
前記仮想空間内で移動する前記指示オブジェクトが前記判定位置に到達したタイミングと前記判定位置に基づいて、前記検出された動作を評価する、
請求項1から請求項7のいずれか一項に記載のゲームプログラム。
【請求項9】
前記指示オブジェクトの種類によって前記ユーザに指示する動作の内容が異なる、
請求項1から請求項8のいずれか一項に記載のゲームプログラム。
【請求項10】
ユーザの頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置を用いてプレイ可能なゲームの処理を実行するコンピュータにより実行されるゲーム処理方法であって、
前記実空間を撮像した撮像映像を取得するステップと、
前記撮像映像から前記実空間に対応する仮想空間を生成するステップと、
前記仮想空間内の、前記ユーザに対応する基準位置に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ゲームのプレイ中に前記ユーザに視認可能に配置するステップと、
前記実空間に重畳されて前記指示オブジェクトが視認可能となるように、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させるステップと、
前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出するステップと、
前記検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップと、
を含むゲーム処理方法。
【請求項11】
ユーザの頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置を用いてプレイ可能なゲームの処理を実行するゲーム装置であって、
前記実空間を撮像した撮像映像を取得する取得部と、
前記取得部により取得された前記撮像映像から前記実空間に対応する仮想空間を生成する生成部と、
前記生成部により生成された前記仮想空間内の、前記ユーザに対応する基準位置に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ゲームのプレイ中に前記ユーザに視認可能に配置する配置部と、
前記実空間に重畳されて前記指示オブジェクトが視認可能となるように、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させる表示制御部と、
前記取得部により取得された前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出する検出部と、
前記検出部により検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価する評価部と、
を備えるゲーム装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラム、ゲーム処理方法、及びゲーム装置に関する。
【背景技術】
【0002】
音楽ゲームには、ユーザの身体の動きを検出して、ダンスの良し悪しを評価するダンスゲームがある。例えば、特許文献1には、ユーザ(プレイヤ)が楽曲に合わせて手や足を動かすことによって描くべき軌跡とタイミングを、ユーザの対面に表示されるゲーム画面に案内表示し、その案内表示を見ながらユーザが手や足を動かすダンスゲームについて開示されている。このダンスゲームは、例えば、家庭用のゲーム機でプレイすることができる。
【0003】
また、特許文献2には、同様に楽曲に合わせてゲーム画面に案内表示される指示に合わせて、実空間に配置されている操作パネルをユーザが足で踏む動作を行うダンスゲームについて開示されている。このダンスゲームは、実空間におけるユーザの足の踏む位置を判定するための操作パネルを足元に設置しておく必要があり、ゲームセンターなどの遊戯施設に設置される所謂アーケードゲームとして構成されている例である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012-196286号公報
【特許文献2】特開2016-193006号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した特許文献1に記載のゲームでは、ユーザがどのような身体の動き(軌跡)をどのタイミングでするべきかをゲーム画面で案内できるものの、実空間においてユーザが動作すべき位置(例えば、足の踏む位置)を指示するようなゲームには不向きであった。例えば、上述した特許文献2に記載のようなゲームを、足もとに操作パネルを設置することなく家庭用のゲーム機のような簡易な構成で実現しようとすると、ユーザは、実空間内においてどの位置に足を動かせば良いのか分かりづらく、直感的なプレイが困難な場合があった。
【0006】
本発明のいくつかの態様は、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内するゲームプログラム、ゲーム処理方法、及びゲーム装置を提供することを目的の一つとする。
【0007】
また、本発明の他の態様は、後述する実施形態に記載した作用効果を奏することを可能にするゲームプログラム、ゲーム処理方法、及びゲーム装置を提供することを目的の一つとする。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、本発明の一態様は、ユーザの頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置を用いてプレイ可能なゲームの処理を実行するコンピュータに、前記実空間を撮像した撮像映像を取得するステップと、前記撮像映像から前記実空間に対応する仮想空間を生成するステップと、前記仮想空間内の、前記ユーザに対応する基準位置に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置するステップと、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させるステップと、前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出するステップと、前記検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップと、を実行させるためのゲームプログラムである。
【0009】
また、本発明の一態様は、ユーザの頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置を用いてプレイ可能なゲームの処理を実行するコンピュータにより実行されるゲーム処理方法であって、前記実空間を撮像した撮像映像を取得するステップと、前記撮像映像から前記実空間に対応する仮想空間を生成するステップと、前記仮想空間内の、前記ユーザに対応する基準位置に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置するステップと、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させるステップと、前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出するステップと、前記検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップと、を含むゲーム処理方法である。
【0010】
また、本発明の一態様は、ユーザの頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置を用いてプレイ可能なゲームの処理を実行するゲーム装置であって、前記実空間を撮像した撮像映像を取得する取得部と、前記取得部により取得された前記撮像映像から前記実空間に対応する仮想空間を生成する生成部と、前記生成部により生成された前記仮想空間内の、前記ユーザに対応する基準位置に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置する配置部と、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させる表示制御部と、前記取得部により取得された前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出する検出部と、前記検出部により検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価する評価部と、を備えるゲーム装置である。
【図面の簡単な説明】
【0011】
【
図1】第1の実施形態に係るゲーム装置によるゲーム処理の概要を示す図。
【
図2】第1の実施形態に係る仮想空間の空間座標の定義を示す図。
【
図3】第1の実施形態に係るゲーム装置のハードウェア構成の一例を示すブロック図。
【
図4】第1の実施形態に係るゲーム装置の機能構成の一例を示すブロック図。
【
図5】第1の実施形態に係る指示オブジェクト配置処理の一例を示すフローチャート。
【
図6】第1の実施形態に係る指示オブジェクト表示処理の一例を示すフローチャート。
【
図7】第1の実施形態に係るプレイ評価処理の一例を示すフローチャート。
【
図8】第2の実施形態に係るゲーム装置によるゲーム処理の概要を示す図。
【
図9】第2の実施形態に係る仮想空間の空間座標の定義及びユーザ像の位置を示す図。
【
図10】第2の実施形態に係るゲーム装置の機能構成の一例を示すブロック図。
【
図11】第2の実施形態に係る指示オブジェクト配置処理の一例を示すフローチャート。
【
図12】第3の実施形態に係るゲームシステムのハードウェア構成の一例を示すブロック図。
【
図13】第3の実施形態に係るゲーム装置の機能構成の一例を示すブロック図。
【
図14】第4の実施形態に係るゲーム装置によるゲーム処理の概要を示す図。
【
図15】第4の実施形態に係るゲーム装置のハードウェア構成の一例を示すブロック図。
【
図16】第4の実施形態に係るゲーム装置の機能構成の一例を示すブロック図。
【
図17】第4の実施形態に係る指示オブジェクト配置処理の一例を示すフローチャート。
【
図18】第4の実施形態に係る指示オブジェクト表示処理の一例を示すフローチャート。
【
図19】第4の実施形態に係るプレイ評価処理の一例を示すフローチャート。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態について、図面を参照して説明する。
[第1の実施形態]
まず、本発明の第1の実施形態について説明する。
【0013】
〔ゲーム装置の概要〕
まず、本実施形態に係るゲーム装置で実行されるゲームの処理の一例について、その概要を説明する。本実施形態に係るゲーム装置は、典型的には家庭用のゲーム機を例示できるが、ゲームセンターなどの遊戯施設などで使用されてもよい。
【0014】
図1は、本実施形態に係るゲーム装置によるゲーム処理の概要を示す図である。この図は、ユーザUがゲーム装置10を用いてダンスゲーム(音楽ゲームの一例)をプレイするプレイ状況を俯瞰して示している。ゲーム装置10は、映像出力装置を含む構成である。映像出力装置は、映像をディスプレイに表示するものであってもよいし、映像を投影するものであってもよい。例えば、ゲーム装置10は、ユーザの頭部に装着することにより、ユーザに視認可能に映像を出力するとともに、実空間を視認可能なHMD(Head Mounted Display)として構成されている。
【0015】
図示するダンスゲームの例では、楽曲に合わせてHMDに表示される指示オブジェクトのタイミング及び位置に応じて、ユーザUが身体の少なくとも一部を動作させる。指示オブジェクトは、ユーザUが実空間で動作すべきタイミング及び位置の指示を案内するために表示されるオブジェクトである。本実施形態では、仮想空間に配置した指示オブジェクトを実空間に対応付けてHMDに表示することで、ユーザは、直感的なプレイが可能となる。
【0016】
例えば、ゲーム装置10は、実空間を光学的に視認可能なHMD(所謂、光学透過(光学シースルー)型HMD)として構成されている。ゲーム装置10は、ユーザの頭部に装着された状態で該ユーザの眼前に位置する透過型のディスプレイに、仮想空間に配置された指示オブジェクトを表示させる。これにより、ディスプレイを透過して視認可能な実空間に、ディスプレイに表示された指示オブジェクトが重畳された映像をユーザが視認可能となる。
【0017】
なお、ゲーム装置10は、網膜投影式の光学透過型HMDとして構成されてもよい。網膜投影式の場合、ゲーム装置10は、ユーザの網膜に直接的に映像を投影する映像投影装置をディスプレイに代えて備えている。ユーザの仮想空間に配置された指示オブジェクトは、網膜に直接的に投影されることで視認可能に表示される。
【0018】
また、ゲーム装置10は、実空間を撮像した映像をリアルタイムに表示させるHMD(所謂、ビデオ透過(ビデオシースルー)型HMD)として構成されてもよい。この場合、ゲーム装置10は、ユーザの頭部に装着された状態で該ユーザの眼前に位置するディスプレイに、実空間のリアルタイム映像を表示させるとともに、仮想空間に配置された指示オブジェクトをリアルタイム映像に重畳させて表示させる。
【0019】
ゲーム装置10は、ユーザUの頭部に装着されており、実空間のユーザUの視線方向を撮像した撮像映像から仮想空間を生成する。例えば、仮想空間は、床面(平面)に平行な互いに直交するX軸及びY軸と、床面(平面)に直交する垂直方向のZ軸とによるXYZの3次元座標空間で定義される。生成される仮想空間には、実空間内の物体の少なくとも一部(例えば、ユーザU、床、壁など)に対応する位置が含まれる。なお、以下の説明において、Z軸の方向として、天井へ向かう方向を上方向、床面へ向かう方向を下方向とも称する。
【0020】
ゲーム装置10は、この仮想空間内のユーザUの位置を基準位置として、当該基準位置に基づく位置(例えば、基準位置の周囲の所定の位置)に、ユーザの動作を指示する指示オブジェクトを配置する。例えば、指示オブジェクトには、判定オブジェクトと移動オブジェクトとが含まれる。判定オブジェクトは、ユーザの動作を評価する際の判定基準となる判定位置に配置される指示オブジェクトである。例えば、判定オブジェクトは、仮想空間においてZ座標では床面に対応する位置(高さ)、XY座標では基準位置(ユーザUの位置)の周囲(例えば、ユーザUが足を一歩踏み出すことで届く範囲)に配置される。図示する例では、基準位置(ユーザUの位置)に対して前方に判定オブジェクトHF、後方に判定オブジェクトHB、右方に判定オブジェクトHR、左方に判定オブジェクトHLがそれぞれ配置されている。ここで、基準位置(ユーザUの位置)と、基準位置に対する前方、後方、右方、及び左方とは、このダンスゲームのプレイ開始時点でイニシャライズした方向であり、プレイ中にユーザUの向きが変化しても固定である。
【0021】
移動オブジェクトは、仮想空間においてZ座標では天井側から出現し、床面に対応する位置(高さ)に配置されている判定オブジェクト(判定位置)へ向かって徐々に下方向へ移動する。出現位置は、例えばユーザUの頭部の位置(ゲーム装置10の位置)を基準に予め設定されていてもよいし、所定のルールに従って変化してもよい。移動オブジェクトNFは、判定オブジェクトHF(移動オブジェクトNFの判定位置)へ向かって移動する移動オブジェクトである。移動オブジェクトNBは、判定オブジェクトHB(移動オブジェクトNBの判定位置)へ向かって移動する移動オブジェクトである。移動オブジェクトNRは、判定オブジェクトHR(移動オブジェクトNRの判定位置)へ向かって移動する移動オブジェクトである。移動オブジェクトNLは、判定オブジェクトHL(移動オブジェクトNLの判定位置)へ向かって移動する移動オブジェクトである。
【0022】
各移動オブジェクトが徐々に移動して、それぞれの判定オブジェクト(判定位置)へ到達したタイミング及び位置が、ユーザUが操作すべきタイミング及び位置である、例えば、移動オブジェクトNFが判定オブジェクトHFへ到達したタイミングで、判定オブジェクトHFを足で踏む動作がユーザに求められる。移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置に基づいてユーザの動作が評価され、評価に応じて得点(スコア)が更新される。例えば、移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置とユーザの動作のタイミングと位置が一致すると判定されると得点が加算され、一致しないと判定されると得点が加算されない。例えば、このタイミングと位置が一致したか否かは、移動オブジェクトが判定オブジェクトへ到達したタイミングに対応する所定時間内(例えば、到達したタイミングの前後0.5秒以内など)に当該到達した位置に対応する判定領域内(例えば、判定オブジェクトHRの領域など)の少なくとも一部を、ユーザが足で踏む動作をしたか否かによって判定される。なお、移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置とユーザの動作のタイミングと位置との一致の度合いによって、加算される得点が変化してもよい。
【0023】
なお、
図1は、ユーザUが含まれる実空間と指示オブジェクトが含まれる仮想空間との対応関係を1つの図にまとめて示したものであり、ユーザUがプレイ中に視認可能なプレイ画面とは異なる。各指示オブジェクトは、実空間に存在するものではなく仮想空間のみに存在し、ゲーム装置10を介して視認可能になるものである。ユーザUが実際にプレイ中に視認可能な指示オブジェクトは、ゲーム装置10のディスプレイ部分を介して視認可能な視野(Fov:Field of view)の範囲内に存在するものである。この視野の中に含まれる指示オブジェクトがゲーム装置10(HMD)に表示されることにより、実空間に重畳されてユーザUに視認可能となる。なお、ゲーム装置10には、指示オブジェクト以外のゲームに関する表示情報(スコアや、プレイする楽曲の情報など)も表示される。
【0024】
図2は、本実施形態に係る仮想空間の空間座標の定義を示す図である。前述したように、本実施形態では、垂直方向の軸をZ軸とし、Z軸に直交する水平面で互いに直交する軸をX軸とY軸とする。また、このダンスゲームのプレイ開始時点でのイニシャライズで、ユーザUの位置に対応する基準位置K1(ゲーム装置10の位置に基づく第1基準位置の一例)が座標原点として定義され、且つX軸がユーザUの視線方向の軸として定義される。プレイ中は基準位置K1(座標原点)、X軸、Y軸及びZ軸は固定となる。Z軸を軸とした回転方向への変化をヨー方向(左右方向)への変化ともいい、Y軸を軸とした回転方向への変化をピッチ方向(上下方向)への変化ともいい、X軸を軸とした回転方向への変化をロール方向への変化ともいう。
【0025】
ゲーム装置10は、装着されているユーザUの頭部の向きが変化すると、内蔵する加速度センサなどを用いて各軸の回転方向(ヨー方向、ピッチ方向、ロール方向)の変化として検出する。ゲーム装置10は、検出した各軸の回転方向の変化に基づいて
図1に示す視野(Fov)を変化させ、仮想空間に含まれる指示オブジェクトの表示を変更する。これにより、ゲーム装置10は、ユーザUの頭部の向きが変化しても、視野の変化に応じて仮想空間に含まれる指示オブジェクトをディスプレイに表示させることができる。
なお、ヨー方向への変化を左右方向への変化、ピッチ方向への変化を上下方向への変化、ともいうことがある。
【0026】
なお、図示する基準位置K1は、一例であってこの位置に限定されるものではない。また、基準位置K1を空間座標の座標原点として定義したが、座標原点は他の位置に定義してもよい。
【0027】
〔ゲーム装置10のハードウェア構成〕
次に、本実施形態に係るゲーム装置10のハードウェア構成の概要を説明する。
図3は、本実施形態に係るゲーム装置10のハードウェア構成の一例を示すブロック図である。ゲーム装置10は、光学透過型HMDとして、撮像部11と、表示部12と、センサ13と、記憶部14と、CPU(Central Processing Unit)15と、通信部16と、音出力部17とを含んで構成されている。
【0028】
撮像部11は、ゲーム装置10(HMD)を頭部に装着して使用するユーザUの視線方向を撮像するカメラである。すなわち、撮像部11は、頭部に装着された状態で光軸が視線方向に対応するようにゲーム装置10(HMD)に設けられている。撮像部11は、単眼カメラでもよいし、デュアルカメラでもよい。撮像部11は、撮像した撮像映像を出力する。
【0029】
表示部12は、例えば、光学透過型HMDにおける透過型のディスプレイである。例えば、表示部12は、少なくとも指示オブジェクトを表示する。表示部12は、右眼用と左眼用の2つのディスプレイを備える構成としてもよいし、右眼用と左眼用の区別なく両眼で視認可能な1つのディスプレイを備える構成としてもよい。また、ゲーム装置10が網膜投影式の光学透過型HMDである場合、表示部12は、ユーザの網膜に直接的に映像を投影する映像投影装置である。
【0030】
なお、ゲーム装置10がビデオ透過型HMDである場合、表示部12は、実空間を光学的に視認不可能な透過しないディスプレイである。
【0031】
センサ13は、ゲーム装置10の方向に関する検知信号を出力するセンサである。例えば、センサ13は、物体の角度、角速度、角加速度等を検知するジャイロセンサである。なお、センサ13は、方向の変化を検知するセンサであってもよいし、方向そのものを検知するセンサであってもよい。例えば、センサ13は、ジャイロセンサに代えて又は加えて、加速度センサ、傾斜センサ、地磁気センサ等が含まれてもよい。
【0032】
記憶部14は、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)、ROM(Read-Only Memory)、Flash ROM、RAM(Random Access Memory)などを含み、このダンスゲームのプログラムやデータ、生成された仮想空間のデータ等を記憶する。
【0033】
CPU15は、ゲーム装置10が備える各部を制御する制御中枢として機能する。例えば、CPU15は、記憶部14に記憶されたゲームのプログラムを実行することで、ゲーム処理を実行し、
図1を参照して説明したように、実空間に対応する仮想空間を撮像映像から生成する処理、生成した仮想空間に指示オブジェクトを配置する処理、ユーザの動作を検出して指示オブジェクトのタイミング及び位置に基づいて評価する処理などを実行する。
【0034】
通信部16は、例えば、Bluetooth(登録商標)やWi-Fi(登録商標)等の無線通信を行う通信デバイス等を含んで構成される。なお、通信部16は、USB(Universal Serial Bus)等のデジタル入出力ポートや、映像入出力ポートなどを含んで構成されてもよい。
【0035】
音出力部17は、ダンスゲームのプレイ楽曲の演奏音やゲームの効果音などを出力する。例えば、音出力部17は、スピーカ、イヤフォン、ヘッドフォン、或いはそれらと接続可能な端子などを含んで構成されてもよい。なお、音出力部17は、Bluetooth(登録商標)などの無線通信を介して、外部のスピーカ、イヤフォン、ヘッドフォンなどに各種の音を出力してもよい。
【0036】
なお、上述したゲーム装置10が備える各ハードウェア構成は、バス(Bus)を介して相互に通信可能に接続されている。
【0037】
〔ゲーム装置10の機能構成〕
次に、
図4を参照して、ゲーム装置10の機能構成について説明する。
図4は、本実施形態に係るゲーム装置10の機能構成の一例を示すブロック図である。図示するゲーム装置10は、記憶部14に記憶されているプログラムをCPU15が実行することにより実現される機能構成として、制御部150を備えている。制御部150は、
図1及び
図2を参照して説明したダンスゲームの処理を実行する。例えば、制御部150は、映像取得部151と、仮想空間生成部152と、オブジェクト配置部154と、視線方向検出部155と、表示制御部156と、動作検出部157と、評価部158とを備えている。
【0038】
映像取得部151(取得部の一例)は、撮像部11により撮像された実空間の撮像映像を取得する。例えば、ゲーム装置10は、ダンスゲームのプレイ開始前に、ユーザUに対して所定の方向を見させる指示(例えば、上下左右を見回す指示)を行う。ゲーム装置10は、この指示を、例えば表示部12に表示させる。これにより、映像取得部151は、撮像部11により撮像された実空間におけるユーザUの周囲が撮像された撮像映像を取得する。
【0039】
仮想空間生成部152(生成部の一例)は、映像取得部151が取得した撮像映像から実空間に対応する仮想空間を生成する。例えば、仮想空間生成部152は、取得した撮像映像から実空間に存在する物体(床や、壁など)の位置を検出し、検出した物体(床や、壁など)の少なくとも一部の位置情報を含む3次元座標空間のデータを仮想空間のデータとして生成する。一例として、ユーザUの頭部に装着されているゲーム装置10自身の位置に基づいてユーザUに対応する基準位置K1(
図2参照)が、仮想空間(3次元座標空間)の座標原点として定義される。仮想空間生成部152は、ユーザUに対応する基準位置K1を座標原点とした仮想空間(3次元座標空間)内に、実空間に存在する物体(床や、壁など)に対応する位置情報を含む仮想空間データを生成する。仮想空間生成部152は、生成した仮想空間データを記憶部14に記憶させる。
【0040】
ここで、撮像映像から実空間に存在する物体(床や、壁など)の位置を検出する検出方法には、任意の公知の技術を適用することができる。例えば、撮像部11がデュアルカメラ(ステレオカメラ)である場合、左右それぞれのカメラの視差を利用して撮像映像を解析することにより物体(床や、壁など)の位置を検出してもよい。また、撮像部11が単眼カメラである場合、単眼カメラを規定の距離分ずらして2カ所から撮像した撮像映像を用いることで、デュアルカメラと同様に視差を利用した検出が可能である。また、このように映像解析に代えて又は加えて、レーザ光や音波などを用いて実空間に存在する物体(床や、壁など)の位置を検出してもよい。
【0041】
オブジェクト配置部154(配置部の一例)は、仮想空間内の、ユーザUに対応する基準位置K1に基づく位置に、ユーザUの動作を指示する指示オブジェクトをユーザUに視認可能に配置する。具体的には、オブジェクト配置部154は、床の位置に対応する仮想空間内の判定位置に判定オブジェクト(
図1の判定オブジェクトHF、HB、HR、HL参照)を配置する。また、オブジェクト配置部154は、楽曲に合わせて予め設定されたタイミングで移動オブジェクト(
図1の移動オブジェクトNF、NB、NR、NL参照)を仮想空間内の出現位置に配置し、上記判定オブジェクトへ向かって移動(配置する位置を変更)させる。オブジェクト配置部154は、指示オブジェクト(判定オブジェクト及び移動オブジェクト)を配置する際に、仮想空間内の配置する位置の座標情報に基づいて、記憶部14に記憶されている仮想空間データを更新する。
【0042】
視線方向検出部155は、センサ13から出力される検知信号に基づいて、ゲーム装置10の向き、すなわちユーザUの視線方向を検出する。なお、視線方向検出部155は、撮像部11により撮像された実空間の撮像映像を解析することにより、ゲーム装置10の向き、すなわちユーザUの視線方向を検出してもよい。例えば、視線方向検出部155は、撮像映像を解析することにより物体または物体のエッジの位置や傾きなどを検出し、検出結果に基づいてゲーム装置10の向き、すなわちユーザUの視線方向を検出してもよい。また、撮像映像の各フレームの物体または物体のエッジの位置や傾きなどを検出することにより、各フレーム間での物体または物体のエッジの位置や傾きなどの差分を検出し、検出結果に基づいてゲーム装置10の向き、すなわちユーザUの視線方向の変化を検出してもよい。なお、視線方向検出部155は、センサ13から出力される検知信号と実空間の撮像映像の解析との両方に基づいて、ゲーム装置10の向き、すなわちユーザUの視線方向を検出してもよい。
【0043】
表示制御部156は、記憶部14に記憶されている仮想空間データを参照して、少なくとも指示オブジェクトが配置された仮想空間を、実空間に対応付けて表示部12に表示させる。ここで、仮想空間を実空間に対応付けるとは、実空間に基づいて生成した仮想空間の座標と当該実空間の座標とを対応付けることを含む。表示制御部156は、仮想空間を表示させる際に、仮想空間における視点位置及び視線方向を、実空間におけるゲーム装置10(HMD)の位置及び向き、すなわちユーザUの位置及び方向に基づいて決定する。例えば、表示制御部156は、視線方向検出部155により検出されたユーザUの視線方向により定まる視野(Fov)の範囲(実空間の範囲)に対応する仮想空間の範囲に配置されている指示オブジェクトを表示部12に表示させる(
図1参照)。
【0044】
動作検出部157(検出部の一例)は、撮像映像からユーザUの身体の少なくとも一部の動作を検出する。例えば、動作検出部157は、ダンスゲームをプレイするユーザUの足の動作を検出する。なお、撮像映像からユーザUの身体の少なくとも一部(すなわち、認識対象)を認識する認識技術は、任意の公知の技術を適用することができる。例えば、動作検出部157は、認識対象の特徴情報(例えば、足の特徴情報)を用いて、撮像映像から認識対象の映像領域を認識する。動作検出部157は、撮像映像の各フレームから認識対象の映像領域を抽出してトラッキングすることにより認識対象の動作(例えば、足の動作)を検出する。
【0045】
評価部158は、動作検出部157により検出されたユーザUの身体の少なくとも一部の動作を、仮想空間内に配置された指示オブジェクトに基づくタイミング及び位置に基づいて評価する。例えば、評価部158は、移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置と、ユーザUの足の動作(判定オブジェクトを踏む動作)のタイミングと位置とを比較し、ユーザUの動作によるプレイを評価する。評価部158は、比較結果に基づいて両者のタイミングと位置が一致すると判定できる場合には得点(スコア)を加算し、一致しないと判定できる場合には得点を加算スコア)をしない。
【0046】
なお、評価部158は、移動オブジェクトが判定オブジェクトへ到達したタイミングでのユーザUの足の位置を判定オブジェクトの位置と比較することで、ユーザUの動作によるプレイを評価してもよい。
【0047】
〔指示オブジェクト配置処理の動作〕
次に、ゲーム装置10のCPU15が実行するダンスゲームの処理において、仮想空間を生成して指示オブジェクトを配置する指示オブジェクト配置処理の動作について説明する。
図5は、本実施形態に係る指示オブジェクト配置処理の一例を示すフローチャートである。
【0048】
まず、CPU15は、撮像部11が撮像した実空間の撮像映像を取得する(ステップS101)。例えば、CPU15は、ダンスゲームのプレイ開始前に、ユーザUに対して所定の方向を見させる指示(例えば、上下左右を見回す指示)を表示部12に表示させ、実空間におけるユーザUの周囲が撮像された撮像映像を取得する。
【0049】
次に、CPU15は、ステップS101で取得した撮像映像から実空間に対応する仮想空間を生成する(ステップS103)。例えば、CPU15は、撮像映像から実空間に存在する物体(床や、壁など)の位置を検出する。CPU15は、ユーザUに対応する基準位置K1を座標原点とした仮想空間(3次元座標空間)内に、検出した物体(床や、壁など)の少なくとも一部の位置情報を含む3次元座標空間の仮想空間データを生成する。そして、CPU15は、生成した仮想空間データを記憶部14に記憶させる。
【0050】
続いて、CPU15は、ダンスゲームのプレイ開始時点或いは開始の前に、床の位置に対応する仮想空間内の基準位置K1に基づく判定位置に判定オブジェクト(
図1の判定オブジェクトHF、HB、HR、HL参照)を配置する(ステップS105)。CPU15は、判定オブジェクトを配置する際に、記憶部14に記憶されている仮想空間データに、配置した判定オブジェクトの位置情報を追加する。
【0051】
また、CPU15は、ダンスゲームのプレイが開始されると、移動オブジェクトの出現トリガの有無を判定する(ステップS107)。出現トリガは、楽曲に合わせて予め設定されたタイミングで発生する。CPU15は、ステップS107において出現トリガがあったと判定した場合(YES)、ステップS109の処理へ進む。
【0052】
ステップS109において、CPU15は、仮想空間内の基準位置K1に基づく出現位置に移動オブジェクトを配置(
図1の移動オブジェクトNF、NB、NR、NLのいずれか一つまたは複数)し、判定位置(各移動オブジェクトに対応する判定オブジェクトの位置)へ向かって移動を開始させる。CPU15は、移動オブジェクトを配置する際に、記憶部14に記憶されている仮想空間データに、配置した移動オブジェクトの位置情報を追加する。また、CPU15は、配置した移動オブジェクトを移動させる際に、記憶部14に記憶されている仮想空間データに追加した移動オブジェクトの位置情報を更新する。そして、ステップS111の処理へ進む。一方、CPU15は、ステップS107において出現トリガが無いと判定した場合(NO)、ステップS109の処理を行わずに、ステップS111の処理へ進む。
【0053】
ステップS111において、CPU15は、移動オブジェクトが判定位置に到達したか否かを判定する。CPU15は、ステップS111において判定位置に到達したと判定(YES)した移動オブジェクトを仮想空間から消去する(ステップS113)。CPU15は、移動オブジェクトを仮想空間から消去する際に、消去する移動オブジェクトの位置情報を記憶部14に記憶されている仮想空間データから削除する。
【0054】
一方、CPU15は、ステップS111において判定位置に到達していないと判定(NO)した移動オブジェクトは引き続き判定位置へ向かって徐々に移動させる(ステップS115)。CPU15は、配置した移動オブジェクトを移動させる際に、記憶部14に記憶されている仮想空間データのうち、移動させる移動オブジェクトの位置情報を更新する。
【0055】
次に、CPU15は、ダンスゲームが終了したか否かを判定する(ステップS117)。例えば、CPU15は、プレイ中の楽曲が終了した場合にダンスゲームが終了したと判定する。CPU15は、ダンスゲームが終了していないと判定した場合(NO)、ステップS107の処理に戻る。一方、CPU15は、ダンスゲームが終了したと判定した場合(YES)、指示オブジェクト配置処理を終了する。
【0056】
なお、判定オブジェクトの配置と最初に出現する移動オブジェクトの配置との順番は同時でもよいし、判定オブジェクトの方が先でもよいし、逆に判定オブジェクトの方が後(最初に出現した移動オブジェクトが判定位置に到達するまでの間)でもよい。
【0057】
〔指示オブジェクト表示処理の動作〕
次に、ゲーム装置10のCPU15が実行するダンスゲームの処理において、仮想空間に配置された指示オブジェクトを表示する指示オブジェクト表示処理の動作について説明する。
図6は、本実施形態に係る指示オブジェクト表示処理の一例を示すフローチャートである。
【0058】
CPU15は、センサ13から出力される検知信号に基づいて、ユーザUの視線方向(ゲーム装置10の向き)を検出する(ステップS201)。
【0059】
CPU15は、記憶部14に記憶されている仮想空間データを参照して、ステップS201で検出した視線方向に基づく視野(Fov)の範囲(実空間の範囲)に対応する仮想空間を表示部12に表示させる。例えば、CPU15は、視線方向に基づく視野(Fov)の範囲に対応する仮想空間の範囲に配置されている指示オブジェクト(判定オブジェクト及び移動オブジェクト)を表示部12に表示させる(ステップS203)。これにより、表示部12に、楽曲に合わせて予め設定されたタイミングで移動オブジェクトが表示される。
【0060】
次に、CPU15は、ダンスゲームが終了したか否かを判定する(ステップS205)。例えば、CPU15は、プレイ中の楽曲が終了した場合にダンスゲームが終了したと判定する。CPU15は、ダンスゲームが終了していないと判定した場合(NO)、ステップS201の処理に戻る。一方、CPU15は、ダンスゲームが終了したと判定した場合(YES)、指示オブジェクト表示処理を終了する。
【0061】
〔プレイ評価処理の動作〕
次に、ゲーム装置10のCPU15が実行するダンスゲームの処理において、ユーザUの身体の少なくとも一部の動作によるプレイを評価するプレイ評価処理の動作について説明する。
図7は、本実施形態に係るプレイ評価処理の一例を示すフローチャートである。
【0062】
CPU15は、撮像部11が撮像した実空間の撮像映像を取得する(ステップS301)。次に、CPU15は、ステップS301で取得した撮像映像からユーザUの身体の少なくとも一部の動作を検出する(ステップS303)。例えば、CPU15は、ダンスゲームをプレイするユーザUの足の動作を検出する。
【0063】
そして、CPU15は、ステップS303において検出されたユーザUの身体の少なくとも一部(例えば、足)の動作を、仮想空間内に配置された指示オブジェクトに基づくタイミング及び位置に基づいて評価する(ステップS305)。例えば、CPU15は、移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置と、ユーザUの足の動作(判定オブジェクトを踏む動作)のタイミングと位置とを比較し、ユーザUの足の動作によるプレイを評価する。
【0064】
また、CPU15は、ステップS305における評価結果に基づいて、ゲームの得点(スコア)を更新する(ステップS307)。例えば、CPU15は、移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置と、ユーザUの足の動作(判定オブジェクトを踏む動作)のタイミングと位置とが一致すると判定できる場合には得点(スコア)を加算し、一致しないと判定できる場合には得点(スコア)を加算しない。
【0065】
次に、CPU15は、ダンスゲームが終了したか否かを判定する(ステップS309)。例えば、CPU15は、プレイ中の楽曲が終了した場合にダンスゲームが終了したと判定する。CPU15は、ダンスゲームが終了していないと判定した場合(NO)、ステップS301の処理に戻る。一方、CPU15は、ダンスゲームが終了したと判定した場合(YES)、プレイ評価処理を終了する。
【0066】
〔第1の実施形態のまとめ〕
以上説明してきたように、本実施形態に係るゲーム装置10は、ユーザUの頭部に装着することにより、ユーザUに視認可能に映像を出力するとともに実空間を視認可能なゲーム装置10(映像出力装置の一例)を用いてプレイ可能なゲームの処理を実行する。例えば、ゲーム装置10は、実空間を撮像した撮像映像を取得し、取得した撮像映像から実空間に対応する仮想空間を生成する。そして、ゲーム装置10は、仮想空間内の、ユーザUに対応する基準位置K1に基づく位置に、ユーザUの動作を指示する指示オブジェクトをユーザに視認可能に配置し、少なくとも指示オブジェクトが配置された仮想空間を、実空間に対応付けて表示させる。また、ゲーム装置10は、取得した撮像映像からユーザUの身体の少なくとも一部の動作を検出し、検出された動作を、仮想空間内に配置された指示オブジェクトに基づくタイミング及び位置に基づいて評価する。
【0067】
これにより、ゲーム装置10は、ユーザUの動作を指示する指示オブジェクトに基づくタイミング及び位置に基づいてユーザUの動作を評価するゲーム処理において、頭部に装着することで、指示オブジェクトを実空間に対応付けてユーザUに視認可能とするため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【0068】
例えば、基準位置K1は、ゲーム装置10(映像出力装置の一例)を装着しているユーザUの位置に対応する仮想空間内における第1基準位置であり、仮想空間内の透過型HMDの位置に基づく。例えば、基準位置K1は、実空間におけるユーザUの位置(透過型HMDの位置)に対応する仮想空間内における位置であり、仮想空間(3次元座標空間)の座標原点として定義される。
【0069】
これにより、ゲーム装置10は、ゲームをプレイするユーザUの位置を基準として、実空間に対応付けて指示オブジェクトを表示できるため、ユーザUに対する動作の指示にリアリティを感じさせることができ、より直感的なプレイが可能となる。
【0070】
また、ゲーム装置10は、仮想空間内の所定の位置(出現位置)に配置した指示オブジェクト(例えば、移動オブジェクト)を所定の判定位置(例えば、判定オブジェクトの位置)へ向かって移動させる。そして、ゲーム装置10は、仮想空間内で移動する指示オブジェクト(例えば、移動オブジェクト)が判定位置に到達したタイミングと判定位置に基づいて、撮像映像から検出されたユーザUの身体の少なくとも一部(例えば、足)の動作を評価する。
【0071】
これにより、ゲーム装置10は、ユーザUが指示通りの動作をできたか否かを、撮像映像を用いて評価することができる。
【0072】
なお、ゲーム装置10は、ユーザの視線方向に基づく視野の範囲内の指示オブジェクトしかユーザUは視認できないため、同時に前後左右(ユーザUの周囲360°)の指示オブジェクトを視認することはできない。そのため、ゲーム装置10は、ゲーム装置10(映像出力装置の一例)を装着しているユーザUの向きに応じて、指示オブジェクトを配置する位置を仮想空間内の一部に制限してもよい。例えば、ゲーム装置10は、イニシャライズ時点でのユーザU(基準位置K1)の向きに基づいて、前、右、及び左の指示オブジェクトのみを配置して、後方には指示オブジェクトを配置しないようにしてもよい。
【0073】
これにより、ゲーム装置10は、ユーザUの視野の範囲外(例えば、後方)に対しては動作すべき指示を行わないため、ユーザUはプレイ中に視野の範囲外(例えば、後方)を気にせずプレイすることができる。よって、ゲーム装置10は、プレイの難易度が高くなりすぎないようにすることができる。
【0074】
また、ゲーム装置10は、ユーザUの向きに応じて指示オブジェクトを配置する位置を仮想空間内の一部に制限する場合、ユーザUの向きに応じて当該制限する方向をプレイ中に変更してもよい。例えば、ゲーム装置10は、ユーザUが前方を向いているときには、ユーザU(基準位置K1)に対して前、右、及び左の指示オブジェクトのみを配置して、後方には指示オブジェクトを配置しないようにしてもよい。また、ゲーム装置10は、ユーザUが右方を向いた場合には、右方を向いた後のユーザU(基準位置K1)に対して前、右、及び左(右方を向く以前の右、前、及び後ろ)の指示オブジェクトのみを配置して、後方(右方を向く以前の左方)には指示オブジェクトを配置しないようにしてもよい。ユーザUが左方または後方を向いた場合も同様に、それぞれの反対方向(向きを変更する前の右方または前方)には、指示オブジェクトを配置しないようにしてもよい。
【0075】
これにより、ゲーム装置10は、ユーザUの向きの変化に追従して、ユーザUの視野の範囲外に対しては動作すべき指示を常に行わないため、プレイの難易度を抑制することができる。
【0076】
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。
第1の実施形態で説明した例では、実際にユーザUが視認可能な指示オブジェクトは、仮想空間に配置される指示オブジェクトのうちユーザUの視線方向に基づく視野の範囲に配置される指示オブジェクトに限られる。そのため、例えばユーザUの後方に指示オブジェクトが存在する場合、認識するのが困難なことがある。ゲーム性としては、この困難な要素を利用することもできるが、反面、初心者などにとってはプレイが難しくなってしまう懸念が考えられる。第1の実施形態では、ユーザUの向きに応じて、指示オブジェクトを配置する位置を仮想空間内の一部に制限することで困難性を抑制する構成としてもよいことを説明したが、その構成の場合にはプレイ中にユーザUに指示する動作の種類が少なくなってしまう。また、実際にユーザUがプレイする場合、ユーザUから見て下方に存在するユーザUの足と指示オブジェクトを見ながらプレイする必要があるため、ユーザUの身体の動作に悪影響を及ぼし、踊りにくくなってしまう懸念がある。そこで、本実施形態では、鏡を利用することで上記の懸念を解決する。
【0077】
図8は、本実施形態に係るゲーム装置によるゲーム処理の概要を示す図である。この図は、本実施形態に係るゲーム装置10Aを用いて、ユーザUがダンスゲームをプレイするプレイ状況を俯瞰して示している。本図は、
図1と同様に、ユーザUが含まれる実空間と指示オブジェクトが含まれる仮想空間との対応関係を1つの図にまとめて示したものであり、ユーザUがプレイ中に視認可能なプレイ画面とは異なる。
【0078】
図示する例において、ユーザUは、鏡MRに対面する位置でダンスゲームをプレイしている。仮想空間内のユーザUの周囲には、
図1と同様に、指示オブジェクト(判定オブジェクト及び移動オブジェクト)が配置されている。さらに、ユーザUの対面にある鏡MRにはユーザUが映っている。ここでは、鏡MRに映っているユーザUの虚像を「ユーザ像UK」と称する。ゲーム装置10Aは、鏡MRの方向を撮像した撮像映像からユーザUに対応するユーザ像UKを検出し、ユーザUの周囲に配置した指示オブジェクトが鏡MRに映っているかのように、検出したユーザ像UKの周囲にも指示オブジェクトを配置する。
【0079】
図9は、本実施形態に係る仮想空間の空間座標の定義及びユーザ像UKの位置を示す図である。この図は、
図2に示す仮想空間の空間座標の定義に、撮像映像から検出されたユーザ像UKの位置を加えた図である。仮想空間におけるユーザ像UKの位置に対応する基準位置K2(第2基準位置の一例)は、ユーザUの位置に対応する基準位置K1(例えば、座標原点)に対してX軸方向(視線方向)にある鏡MRの先(奥)の位置に検出される。例えば、鏡MRの鏡面がX軸と交わる位置を鏡面位置M1とすると、X軸方向において、基準位置K1から鏡面位置M1までの距離と鏡面位置M1から基準位置K2までの距離とが同一となるような位置に、基準位置K2が検出される。なお、基準位置K2は、ユーザ像UKの頭部の中心に相当する位置でもよいし、ユーザ像UKの重心に相当する位置でもよく、任意の位置に定義することができる。
【0080】
図8に戻り、ゲーム装置10Aは、撮像映像からユーザ像UKの映像領域(輪郭)と距離を検出し、ユーザUの位置に対応する基準位置K1とは別に、仮想空間内におけるユーザ像UKの位置に対応する基準位置K2を検出する。そして、ゲーム装置10Aは、基準位置K1及び基準位置K2のそれぞれに基づいて、基準位置K1及び基準位置K2のそれぞれの周囲に指示オブジェクトを配置する。このとき、ユーザ像UKは、鏡MRに映ったユーザUの虚像であるため、ユーザUに対して前後の向きが逆になる。そのため、ゲーム装置10Aは、基準位置K2(ユーザ像UKの位置)の周囲に配置する指示オブジェクトは、基準位置K1(ユーザUの位置)の周囲に配置する指示オブジェクトとは前後の向き(空間座標における前後の位置関係)を反転させて配置する。
【0081】
例えば、X軸において基準位置K1から基準位置K2へ向かう方向を正方向とすると、基準位置K1(ユーザUの位置)に対して前方に配置される判定オブジェクトHF及び移動オブジェクトNFは、基準位置K1に対してX軸の正方向に配置される。これに対し、基準位置K2(ユーザ像UKの位置)に対して前方に配置される判定オブジェクトHF´及び移動オブジェクトNF´は、基準位置K2に対してX軸の負方向に配置される。また、基準位置K1(ユーザUの位置)に対して後方に配置される判定オブジェクトHB及び移動オブジェクトNBは、基準位置K1に対してX軸の負方向に配置される。これに対し、基準位置K2(ユーザ像UKの位置)に対して後方に配置される判定オブジェクトHB´及び移動オブジェクトNB´は、基準位置K2に対してX軸の正方向に配置される。
【0082】
一方、基準位置K1(ユーザUの位置)に対して右方に配置される判定オブジェクトHR及び移動オブジェクトNRと、基準位置K2(ユーザ像UKの位置)に対して右方に配置される判定オブジェクトHR´及び移動オブジェクトNR´とは、それぞれの基準位置に対してY軸の同一方向(例えば正方向)に配置される。また、基準位置K1(ユーザUの位置)に対して左方に配置される判定オブジェクトHL及び移動オブジェクトNLと、基準位置K2(ユーザ像UKの位置)に対して左方に配置される判定オブジェクトHL´及び移動オブジェクトNL´とは、それぞれの基準位置に対してY軸の同一方向(例えば負方向)に配置される。また、基準位置K1に対して配置される指示オブジェクトと基準位置K2に対して配置される指示オブジェクトとの上方向及び下方向の位置関係も同一である。
【0083】
〔ゲーム装置10Aの構成〕
本実施形態に係るゲーム装置10Aは、第1の実施形態で説明したゲーム装置10と同様に、光学透過型HMDを含む装置であってもよいし、ビデオ透過型HMDを含む装置であってもよい。ここでは、第1の実施形態と同様に、ゲーム装置10Aは、光学透過型HMDであるとして説明する。ゲーム装置10Aのハードウェア構成は、
図3に示す構成例と同様であるためその説明を省略する。
【0084】
図10は、本実施形態に係るゲーム装置10Aの機能構成の一例を示すブロック図である。図示するゲーム装置10Aは、記憶部14に記憶されているプログラムをCPU15が実行することにより実現される機能構成として、制御部150Aを備えている。制御部150Aは、映像取得部151と、仮想空間生成部152と、ユーザ像検出部153Aと、オブジェクト配置部154Aと、視線方向検出部155と、表示制御部156と、動作検出部157と、評価部158とを備えている。この図において、
図4の各部に対応する構成には同一の符号を付しており、その説明を適宜省略する。ゲーム装置10Aの機能構成は、鏡MRに映っているユーザ像UKに対応する基準位置を検出するためのユーザ像検出部153Aが追加されている点が、
図4に示すゲーム装置10の機能構成と主に異なる。
【0085】
ユーザ像検出部153Aは、映像取得部151が取得した撮像映像からユーザUに対応するユーザ像UK(像の一例)を検出する。例えば、ユーザ像UKは、ユーザUの対面に存在する鏡MRに映ったユーザUの虚像であるユーザ像UKを検出する。この検出は、ユーザ像UKがダンスゲームをプレイするユーザUの虚像であることを認識する必要がある。認識方法としては、例えば、ユーザUの身体やユーザUの頭部に装着されているゲーム装置10A(HMD)などに識別可能なマーカー(印、標識など)を付け、ユーザ像検出部153Aは、このマーカーを撮像映像から検出することにより、ユーザUの虚像であることを認識してもよい。また、ユーザUに対して特定の動作(例えば、右手を上げ下げするなど)を指示することにより、ユーザ像検出部153Aは、その指示に応じた動作をする人物を撮像映像から検出することにより、ユーザUの虚像であることを認識してもよい。
【0086】
仮想空間生成部152は、撮像映像から検出した物体(床や、壁など)の少なくとも一部の位置情報に加え、ユーザ像UKの位置情報を含む3次元座標空間のデータを仮想空間のデータとして生成する。例えば、仮想空間生成部152は、撮像映像から実空間に存在する物体(床や、壁など)の位置を検出する。加えて、仮想空間生成部152は、ユーザ像検出部153Aにより検出されたユーザ像UKの位置(基準位置K2)を検出する。ユーザ像UKの位置の検出方法は、前述した実空間に存在する物体(床や、壁など)の位置の検出方法と同様に、カメラ(撮像部)の視差を利用する検出方法としてもよい。そして、仮想空間生成部152は、検出した物体(床や、壁など)の少なくとも一部の位置情報と基準位置K2の位置情報とを含む3次元座標空間のデータを仮想空間のデータとして生成する。なお、一例として、仮想空間(3次元座標空間)の座標原点は、第1の実施形態と同様にユーザUに対応する基準位置K1とする。仮想空間生成部152は、生成した仮想空間データを記憶部14に記憶させる。
【0087】
オブジェクト配置部154Aは、仮想空間内の、ユーザUに対応する基準位置K1に基づく位置に指示オブジェクトを配置するとともに、ユーザ像UKに対応する基準位置K2に基づく位置にも指示オブジェクトを配置する(
図8及び
図9参照)。また、オブジェクト配置部154Aは、仮想空間内の基準位置K2に基づく位置に指示オブジェクトを配置する際に、基準位置K2に対する前後の向きを反転させる。
【0088】
ここで、オブジェクト配置部154Aは、検出されたユーザ像UKが鏡MRに映っている像であるか否かは、上述した特定の動作(例えば、右手を上げ下げするなど)を指示することによって、その動作をする人物を撮像映像から検出して判定しても良い。また、オブジェクト配置部154Aは、予め選択可能に設定された鏡モード(鏡MRに映っている姿を見ながらプレイするモード)が選択されることによって、検出されたユーザ像UKが鏡MRに映っている像であると判定しても良い。
【0089】
表示制御部156は、例えばユーザUの視線方向が鏡MRの方向である場合、鏡MRの方向の視野の範囲に対応する仮想空間の範囲に配置されている指示オブジェクトを表示部12に表示させる。すなわち、表示制御部156は、鏡MRに映っているユーザ像UKに対応する基準位置K2に基づく位置に配置されている指示オブジェクトをユーザUが俯瞰して視認可能なように表示することができる。
【0090】
動作検出部157は、撮像映像から鏡MRに映っているユーザ像UKの身体の少なくとも一部の動作を検出することにより、ユーザUの身体の少なくとも一部の動作を検出する。
【0091】
評価部158は、動作検出部157により検出されたユーザ像UK(鏡MRに映っているユーザ像UK)の身体の少なくとも一部の動作を、ユーザ像UKに対応する基準位置K2に基づく位置に配置されている指示オブジェクトを用いて評価する。具体的には、評価部158は、ユーザ像UK(鏡MRに映っているユーザ像UK)の身体の少なくとも一部の動作を、鏡MRに映っているユーザ像UKに基づく位置に配置されている指示オブジェクトに基づくタイミング及び位置に基づいて評価する。すなわち、ユーザUは、下方に存在するユーザUの足と指示オブジェクトを見なくとも、鏡MRの方向を見ながらプレイすることできる。
【0092】
なお、
図8に示す例では、ユーザUに対応する基準位置K1に基づく位置とユーザ像UKに対応する基準位置K2に基づく位置との両方に指示オブジェクトが配置されているがこれに限定されるものではない。例えば、オブジェクト配置部154Aは、ユーザ像UKに対応する基準位置K2に基づく位置に指示オブジェクトが配置される場合には、ユーザUに対応する基準位置K1に基づく位置に指示オブジェクトを配置しなくてもよい。すなわち、基準位置K2に基づく位置に指示オブジェクトが表示される場合には、基準位置K1に基づく位置の指示オブジェクトが非表示となってもよい。これにより、ユーザUの周囲に表示される指示オブジェクトによって、鏡MRに表示された指示オブジェクトが隠れてしまうことが無くなり、指示オブジェクトの視認性を向上させることができる。
【0093】
また、オブジェクト配置部154Aは、基準位置K2に基づく位置に指示オブジェクトが配置される場合、基準位置K1に基づく位置に配置する指示オブジェクトを半透明にしたり縮小したりするなど、視認度を低減した目立ちにくい表示態様としてもよい。なお、指示オブジェクトの表示態様を変更する処理は、表示制御部156が行ってもよい。
【0094】
また、オブジェクト配置部154A(或いは、表示制御部156)は、鏡MRがユーザUの視野の範囲内にある場合にのみ、ユーザUの周囲の指示オブジェクトを非表示や半透明にし、鏡MRが視野の範囲外になった場合には、通常通りにユーザUの周囲の指示オブジェクトが表示されるようにしてもよい。これにより、鏡MRが視野の範囲外(例えば、ユーザUが鏡MRの方向とは反対方向を向いた場合)となった場合でも、指示オブジェクトを視認できるようになる。
【0095】
〔指示オブジェクト配置処理の動作〕
次に、ゲーム装置10AのCPU15が実行するダンスゲームの処理において、仮想空間を生成して指示オブジェクトを配置する指示オブジェクト配置処理の動作について説明する。ここで、ユーザU(基準位置K1)に対応する指示オブジェクト配置処理は、
図5に示す処理と同様であるため説明を省略し、鏡MRに映ったユーザ像UK(基準位置K2)に対応する指示オブジェクトを配置する場合の指示オブジェクト配置処理について説明する。
図11は、本実施形態に係る指示オブジェクト配置処理の一例を示すフローチャートである。
【0096】
まず、CPU15は、撮像部11により撮像された実空間の撮像映像を取得する(ステップS401)。例えば、CPU15は、ダンスゲームをプレイするユーザUの視線方向の鏡MRに映っているユーザ像UK(
図8参照)が含まれる撮像映像を取得する。
【0097】
次に、CPU15は、ステップS401で取得した撮像映像から、ダンスゲームをプレイするユーザUの虚像(ユーザ像UK)を検出する(ステップS403)。
【0098】
また、CPU15は、ステップS401で取得した撮像映像から実空間に対応する仮想空間を生成する(ステップS405)。例えば、CPU15は、撮像映像から実空間に存在する物体(床や、壁など)の位置と、ステップS403で検出されたユーザ像UKの位置(基準位置K2)とを検出し、検出した物体(床や、壁など)の少なくとも一部の位置情報と基準位置K2の位置情報とを含む3次元座標空間のデータを仮想空間のデータとして生成する。一例として、CPU15は、ユーザUに対応する基準位置K1を座標原点とした仮想空間(3次元座標空間)内に、検出した物体(床や、壁など)の少なくとも一部の位置情報と基準位置K2の位置情報とを含む仮想空間データを生成する。そして、CPU15は、生成した仮想空間データを記憶部14に記憶させる。
【0099】
続いて、CPU15は、ダンスゲームのプレイ開始時点或いは開始の前に、床の位置に対応する仮想空間内の基準位置K2に基づく判定位置に判定オブジェクト(
図8の判定オブジェクトHF´、HB´、HR´、HL´参照)を配置する(ステップS407)。CPU15は、判定オブジェクトを配置する際に、記憶部14に記憶されている仮想空間データに、配置した判定オブジェクトの位置情報を追加する。
【0100】
また、CPU15は、ダンスゲームのプレイが開始されると、移動オブジェクトの出現トリガの有無を判定する(ステップS409)。出現トリガは、楽曲に合わせて予め設定されたタイミングで発生する。CPU15は、ステップS409において出現トリガがあったと判定した場合(YES)、ステップS411の処理へ進む。
【0101】
ステップS411において、CPU15は、仮想空間内の基準位置K2に基づく出現位置に移動オブジェクト(
図8の移動オブジェクトNF´、NB´、NR´、NL´のいずれか一つまたは複数)を配置し、判定位置(各移動オブジェクトに対応する判定オブジェクトの位置)へ向かって移動を開始させる。CPU15は、移動オブジェクトを配置する際に、記憶部14に記憶されている仮想空間データに、配置した移動オブジェクトの位置情報を追加する。また、CPU15は、配置した移動オブジェクトを移動させる際に、記憶部14に記憶されている仮想空間データに追加した移動オブジェクトの位置情報を更新する。そして、ステップS413の処理へ進む。一方、CPU15は、ステップS409において出現トリガが無いと判定した場合(NO)、ステップS411の処理を行わずに、ステップS413の処理へ進む。
【0102】
ステップS413において、CPU15は、移動オブジェクトが判定位置に到達したか否かを判定する。CPU15は、判定位置に到達したと判定(YES)した移動オブジェクトを仮想空間から消去する(ステップS415)。CPU15は、移動オブジェクトを仮想空間から消去する際に、消去する移動オブジェクトの位置情報を記憶部14に記憶されている仮想空間データから削除する。
【0103】
一方、CPU15は、判定位置に到達していないと判定(NO)した移動オブジェクトは引き続き判定位置へ向かって徐々に移動させる(ステップS417)。CPU15は、移動オブジェクトを移動させる際に、記憶部14に記憶されている仮想空間データのうち、移動させる移動オブジェクトの位置情報を更新する。
【0104】
次に、CPU15は、ダンスゲームが終了したか否かを判定する(ステップS419)。例えば、CPU15は、プレイ中の楽曲が終了した場合にダンスゲームが終了したと判定する。CPU15は、ダンスゲームが終了していないと判定した場合(NO)、ステップS409の処理に戻る。一方、CPU15は、ダンスゲームが終了したと判定した場合(YES)、指示オブジェクト配置処理を終了する。
【0105】
なお、判定オブジェクトの配置と最初に出現する移動オブジェクトの配置との順番は同時でもよいし、判定オブジェクトの方が先でもよいし、逆に判定オブジェクトの方が後(最初に出現した移動オブジェクトが判定位置に到達するまでの間)でもよい。
【0106】
〔第2の実施形態のまとめ〕
以上説明したように、本実施形態に係るゲーム装置10Aは、実空間を撮像した撮像映像からユーザUに対応する虚像(像の一例)であるユーザ像UKをさらに検出する。そして、ゲーム装置10Aは、仮想空間内の、ユーザUに対応するユーザ像UKの基準位置K2に基づく位置に、ユーザUの動作を指示する指示オブジェクトをユーザに視認可能に配置する。
【0107】
これにより、ゲーム装置10Aは、頭部に装着することで、ユーザUの動作を指示する指示オブジェクトを、例えば鏡MRに映っているユーザUの虚像(ユーザ像UK)の周囲に表示させることができるため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。例えば、ゲーム装置10Aは、指示オブジェクトを配置する位置を仮想空間内の一部に制限なくともユーザ像UKの周囲(例えば、前後左右)に表示される指示オブジェクトを同時に俯瞰して視認可能となるため、プレイ中にユーザUに指示する動作の種類を多様化することができる。また、ゲーム装置10Aは、ユーザUが下方に存在する自身の足と指示オブジェクトを見なくとも、ユーザUに対面する鏡MRの方向を見ながらプレイすることできるため、踊りにくくならないようにすることができる。また、ゲーム装置10Aは、ゲームをプレイするユーザUの周囲と、例えば鏡MRに映っているユーザの虚像(ユーザ像UK)の周囲とのそれぞれに指示オブジェクトを表示させることで、ユーザがそれぞれの指示オブジェクトのうちプレイしやすい方を任意に選択しながらプレイできるようにすることができる。
【0108】
なお、鏡MRは、鏡の効果(鏡面反射)を有するものであれば、鏡以外であってもよい。例えば、夜間(屋外が暗い状態)に部屋を明るくして窓ガラスに対面する場所でユーザUがプレイすることにより、窓ガラスを鏡MRとして、窓ガラスに映るユーザUの虚像を利用してもよい。
【0109】
また、ゲーム装置10Aは、仮想空間内の基準位置K2に基づく位置(ユーザ像UKの周囲)に指示オブジェクトを配置する際に、基準位置K2に対する前後の向きを反転させる。これにより、ゲーム装置10Aは、鏡MRに映っているユーザ像UKの向きに対応して指示オブジェクトを表示できるため、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【0110】
なお、ゲーム装置10Aは、仮想空間内の基準位置K2に基づく位置(ユーザ像UKの周囲)に指示オブジェクトを配置する際に、基準位置K1に基づく位置(ユーザUの周囲)に配置する指示オブジェクトの視認度を低減してもよい。例えば、ゲーム装置10Aは、基準位置K1に基づく位置に配置する指示オブジェクトを半透明にしたり縮小したりするなど、視認度を低減した目立ちにくい表示態様としても良い。また、ゲーム装置10Aは、仮想空間内の基準位置K2に基づく位置(ユーザ像UKの周囲)に指示オブジェクトを配置する際に、基準位置K1に基づく位置(ユーザUの周囲)に指示オブジェクトを配置しなくてもよい。
【0111】
これにより、ゲーム装置10Aは、ユーザUの周囲に表示される指示オブジェクトによって鏡MRに表示された指示オブジェクトが隠れてしまわないようにすることができるため、指示オブジェクトの視認性を向上させることができる。
【0112】
なお、本実施形態では、ユーザUが鏡MRに映るユーザ像UK(自身の虚像)に対応付けて仮想空間に指示オブジェクトを配置する態様を説明したが、鏡MRに代えて、モニタ(表示装置)に表示されているユーザUの映像に対応付けて仮想空間に指示オブジェクトを配置する態様としてもよい。例えば、ゲーム装置10Aは、実空間におけるユーザUを撮像するカメラ(撮像装置)と、撮像された映像をリアルタイムに表示するモニタ(表示装置)とをユーザUの対面側にさらに備え、当該カメラで撮像したユーザUの映像をモニタに表示する。そして、ゲーム装置10Aは、鏡MRに映るユーザ像UK(自身の虚像)に代えて、モニタに表示されている映像からユーザUの映像を検出し、検出したユーザUの映像に対応付けて、仮想空間に指示オブジェクトを配置してもよい。この場合、モニタに表示されているユーザUの映像の位置が基準位置となる。なお、モニタに表示されるユーザUの映像は、ユーザUが鏡MRに映るユーザ像UKに対して左右の向きが逆になる。そのため、ゲーム装置10Aは、モニタに表示されるユーザUの映像対応付けて配置する指示オブジェクトは、ユーザUに対応付けて配置する指示オブジェクトに対して前後の向きに加えて左右の向き反転させる。
【0113】
また、本実施形態における鏡MRを利用して指示オブジェクトを配置するゲームモード、及び上記のモニタを利用して指示オブジェクトを配置するゲームモード、及び第1の実施形態で説明した、鏡及びモニタのどちらも利用しないで指示オブジェクトを配置するゲームモード(ゲーム装置10によるゲーム処理のモード)は、それぞれで指示オブジェクトの表示態様(指示オブジェクトを配置する際の基準位置や、前後または左右を反転させるか否か、など)が異なる。そのため、これらのゲームモードのうち2以上のゲームモードを有する場合(例えば、ゲーム装置10の構成とゲーム装置10Aの構成とを組み合わせた場合)、ダンスゲームの開始前に事前にユーザがどのモードを利用するのかを選択可能な構成としてもよい。そのようにすれば、鏡MRに映っているユーザ像UKやモニタに表示されているユーザUの映像の検出をスムーズに行うことができ、また誤認識も軽減できる。
【0114】
[第3の実施形態]
次に、本発明の第3の実施形態について説明する。
上記第1及び第2の実施形態では、ゲーム装置10(10A)が透過型HMDとして完結した一つの装置として構成されている例を説明したが、透過型HMDと有線または無線で接続される別の装置として構成されてもよい。
【0115】
図12は、本実施形態に係るゲーム装置10Cを含むゲームシステムのハードウェア構成の一例を示すブロック図である。ゲーム装置10Cは、映像出力装置を含まない構成である。図示するゲームシステム1Cは、ゲーム装置10Cと、映像出力装置としてのHMD20Cとを備えている。例えば、HMD20Cは、透過型HMDである。
【0116】
HMD20Cは、撮像部21Cと、表示部22Cと、センサ23Cと、記憶部24Cと、CPU25Cと、通信部26Cと、音出力部27Cとを備えている。撮像部21C、表示部22C、センサ23C、及び音出力部27Cのそれぞれは、
図3に示す撮像部11、表示部12、センサ13、及び音出力部17のそれぞれに対応する。記憶部24Cは、撮像部21Cが撮像した撮像映像のデータやゲーム装置10Cから取得した表示データ等を一時的に記憶する。また、記憶部24Cは、HMD20Cの制御に必要なプログラムなどを記憶する。CPU25Cは、HMD20Cが備える各部を制御する制御中枢として機能する。通信部26Cは、有線または無線通信を用いてゲーム装置10Cと通信する。HMD20Cは、撮像部21Cが撮像した撮像映像及びセンサ23Cの検知信号などを、通信部26Cを介してゲーム装置10Cへ送信する。また、HMD20Cは、ダンスゲームの表示データや音データなどを、通信部26Cを介してゲーム装置10Cから取得する。
【0117】
ゲーム装置10Cは、記憶部14Cと、CPU15Cと、通信部16Cとを備えている。記憶部14Cは、ダンスゲームのプログラムやデータ、生成された仮想空間のデータ等を記憶する。CPU15Cは、ゲーム装置10Cが備える各部を制御する制御中枢として機能する。例えば、CPU15Cは、記憶部14Cに記憶されたゲームのプログラムを実行することで、ゲーム処理を実行し、実空間に対応する仮想空間を撮像映像から生成する処理、生成した仮想空間に指示オブジェクトを配置する処理、ユーザの動作を検出して指示オブジェクトのタイミング及び位置に基づいて評価する処理などを実行する。通信部16Cは、有線または無線通信を用いてHMD20Cと通信する。ゲーム装置10Cは、HMD20Cの撮像部21Cが撮像した撮像映像及びセンサ23Cの検知信号などを、通信部16Cを介して取得する。また、ゲーム装置10Cは、ダンスゲームの表示データや音データなどを、通信部16Cを介してHMD20Cへ送信する。
【0118】
図13は、本実施形態に係るゲーム装置10Cの機能構成の一例を示すブロック図である。図示するゲーム装置10Cは、記憶部14Cに記憶されているプログラムをCPU15Cが実行することにより実現される機能構成として、制御部150Cを備えている。制御部150Cは、通信部16Cを介して、HMD20Cが備える各部(撮像部21C、表示部22C、センサ23C、及び音出力部27など)とデータをやり取りする点を除いて、
図4に示す制御部150または
図10に示す制御部150Aの構成と同様である。
【0119】
このように、ゲーム装置10Cは、外部装置としてのHMD20と通信する別の装置として構成されてもよい。なお、ゲーム装置10Cは、例えば、スマートフォン、PC(Personal Computer)、家庭用のゲーム機などを適用することができる。
【0120】
[第4の実施形態]
次に、本発明の第4の実施形態について説明する。
上記第1~第3の実施形態では、頭部に装着するHMDを用いる態様を説明したが、本実施形態ではHMDを用いない態様について説明する。
【0121】
図14は、本実施形態に係るゲーム装置によるゲーム処理の概要を示す図である。この図は、ユーザUがゲーム装置10Dを用いてダンスゲームをプレイするプレイ状況を俯瞰して示している。図示するゲーム装置10Dは、一例としてスマートフォンを適用した例である。本実施形態では、ゲーム装置10Dが備えているフロントカメラ11DAにより撮像されたユーザUの映像に対応付けて、仮想空間に配置した指示オブジェクトをゲーム装置10Dの表示部12Dまたはモニタ30Dに表示することで、ユーザは、直感的なプレイが可能となる。モニタ30Dは、ゲーム装置10Dと有線または無線で接続可能な外部の表示部(表示装置)である。例えば、モニタ30Dは、ゲーム装置10Dに設けられている表示部12Dよりも大画面のディスプレイを有するものが利用される。
【0122】
ゲーム装置10Dは、ユーザUを撮像した撮像映像からユーザUの映像領域を認識する。そして、ゲーム装置10Dは、仮想空間におけるユーザUの位置に対応する基準位置K3を定義し、基準位置K3に基づく位置に指示オブジェクトを配置した仮想空間(XYZの3次元空間)データを生成して、撮像映像に重畳して表示させる。なお、基準位置K3は、ユーザUの頭部の中心に相当する位置でもよいし、ユーザUの重心に相当する位置でもよく、任意の位置に定義することができる。
【0123】
図示する例では、ゲーム装置10Dの表示部12Dにも表示しているが、ゲーム装置10Dよりも大画面のモニタ30Dにも表示することで、ユーザUに対する指示オブジェクトの視認性がより高くなる。モニタ30Dの表示画面を参照して説明する。ユーザ映像UVは、撮像映像に含まれるユーザUの映像を示している。ユーザ映像UVの周囲には、仮想空間においてユーザUの基準位置K3に基づく位置に配置された指示オブジェクトが撮像映像に重畳された映像が表示される。
【0124】
例えば、フロントカメラ11DAで撮像された撮像映像は、鏡と同様に左右反転した映像とすることができる。モニタ30Dの画面に向かってユーザ映像UVの右側にはユーザUの右方への動作を指示する判定オブジェクトHR及び移動オブジェクトNRが表示され、ユーザ映像UVの左側にはユーザUの左方への動作を指示する判定オブジェクトHL及び移動オブジェクトNLが表示される。また、モニタ30Dの画面に向かってユーザ映像UVの手前側にはユーザUの前方への動作を指示する判定オブジェクトHF及び移動オブジェクトNFが表示され、ユーザ映像UVの後ろ側にはユーザUの後方への動作を指示する判定オブジェクトHB及び移動オブジェクトNBが表示される。
【0125】
このように、本実施形態では、
図8に示す鏡MRに映ったユーザ像UKの周囲に指示オブジェクトを表示させる場合と同様に、仮想空間に配置した指示オブジェクトをユーザUの映像に対応付けて表示させることができるため、直感的なプレイが可能なようにユーザが動作すべき内容を案内することが可能となる。
【0126】
なお、この指示オブジェクトの表示は、ゲーム装置10Dとモニタ30Dとのいずれか一方への表示としてもよい。
【0127】
〔ゲーム装置10Dのハードウェア構成〕
図15を参照して、ゲーム装置10Dのハードウェア構成について説明する。
図15は、本実施形態に係るゲーム装置10Dのハードウェア構成の一例を示すブロック図である。ゲーム装置10Dは、フロントカメラ11DA及びバックカメラ11DBの2つの撮像部と、表示部12Dと、センサ13Dと、記憶部14Dと、CPU15Dと、通信部16Dと、音出力部17Dと、映像出力部18Dとを備えている。
【0128】
フロントカメラ11DAは、ゲーム装置10Dの表示部12Dが設けられている面(表面)側に設けられており、表示部12Dに対面する方向を撮像する。バックカメラ11DBは、ゲーム装置10Dの表示部12Dが設けられている面の反対面(背面)側に設けられており、当該背面に対面する方向を撮像する。
【0129】
表示部12Dは、液晶ディスプレイ、有機ELディスプレイなどを含んで構成される。例えば、表示部12Dは、表示画面に対するタッチ操作を検知するタッチパネルとして構成されてもよい。
【0130】
センサ13Dは、ゲーム装置10Dの方向に関する検知信号を出力するセンサである。例えば、センサ13Dには、ジャイロセンサ、加速度センサ、傾斜センサ、地磁気センサ等のいずれか一つ又は複数のセンサが含まれてもよい。
【0131】
記憶部14Dは、例えば、EEPROM、ROM、Flash ROM、RAMなどを含み、このダンスゲームのプログラムやデータ、生成された仮想空間のデータ等を記憶する。
【0132】
CPU15Dは、ゲーム装置10Dが備える各部を制御する制御中枢として機能する。例えば、CPU15Dは、記憶部14Dに記憶されたゲームのプログラムを実行することで、ゲーム処理を実行し、
図14を参照して説明したように、ユーザUが撮像された撮像映像に、仮想空間に配置した指示オブジェクトを重畳して表示させる処理などを実行する。
【0133】
通信部16Dは、例えば、Bluetooth(登録商標)やWi-Fi(登録商標)等の無線通信を行う通信デバイス等を含んで構成されている。
【0134】
音出力部17Dは、ダンスゲームのプレイ楽曲の演奏音やゲームの効果音などを出力する。例えば、音出力部17は、スピーカや、イヤフォン及びヘッドフォンなどが接続されるフォン端子などを含んで構成されている。
【0135】
映像出力部18Dは、表示部12Dに表示させる映像を外部の表示装置(例えば、
図14に示すモニタ30D)に出力する映像出力端子を含んで構成されている。映像出力端子としては、映像出力以外の出力も含む兼用端子でもよいし、映像出力専用の端子でもよい。
【0136】
〔ゲーム装置10Dの機能構成〕
次に、
図16を参照して、ゲーム装置10Dの機能構成について説明する。
図16は、本実施形態に係るゲーム装置10Dの機能構成の一例を示すブロック図である。図示するゲーム装置10Dは、記憶部14Dに記憶されているプログラムをCPU15Dが実行することにより実現される機能構成として、制御部150Dを備えている。制御部150Dは、映像取得部151Dと、仮想空間生成部152Dと、ユーザ検出部153Dと、オブジェクト配置部154Dと、表示制御部156Dと、動作検出部157Dと、評価部158Dとを備えている。
【0137】
映像取得部151D(取得部の一例)は、フロントカメラ11DAにより撮像された実空間の撮像映像を取得する。例えば、映像取得部151Dは、
図14に示すように、ダンスゲームをプレイするユーザUが含まれる撮像映像を取得する。
【0138】
仮想空間生成部152D(生成部の一例)は、映像取得部151Dが取得した撮像映像から実空間に対応する仮想空間を生成する。例えば、仮想空間生成部152Dは、取得した撮像映像から実空間に存在する物体(床や、壁など)の位置を検出し、検出した物体(床や、壁など)の少なくとも一部の位置情報を含む3次元座標空間のデータを仮想空間のデータとして生成する。一例として、仮想空間生成部152Dは、このダンスゲームのプレイ開始時点でのイニシャライズで、ユーザ検出部153Dにより撮像映像から検出されたユーザUに対応する基準位置K3が、仮想空間(XYZの3次元座標空間)の座標原点として定義して、仮想空間データを生成する。プレイ中は、基準位置K3(座標原点)及びX軸、Y軸及びZ軸は固定となる。仮想空間生成部152Dは、生成した仮想空間データを記憶部14Dに記憶させる。
【0139】
ユーザ検出部153Dは、映像取得部151Dが取得した撮像映像からユーザUの映像を検出する。この検出は、撮像映像から検出された人物の映像がダンスゲームをプレイするユーザUの映像であることを認識する必要がある。ユーザUの映像であることを認識する方法としては、例えば、ユーザUの身体などに識別可能なマーカー(印、標識など)を付け、ユーザ検出部153Dは、このマーカーを撮像映像から検出することにより、ユーザUの映像であることを認識してもよい。また、ユーザUに対して特定の動作(例えば、右手を上げ下げするなど)を指示することにより、ユーザ検出部153Dは、その指示に応じた動作をする人物を撮像映像から検出することにより、ユーザUの映像であることを認識してもよい。
【0140】
オブジェクト配置部154D(配置部の一例)は、仮想空間内の、ユーザUに対応する基準位置K3に基づく位置に、指示オブジェクトをユーザUに視認可能に配置する。具体的には、オブジェクト配置部154Dは、床の位置に対応する仮想空間内の判定位置に判定オブジェクト(
図14の判定オブジェクトHF、HB、HR、HL参照)を配置する。また、オブジェクト配置部154Dは、楽曲に合わせて予め設定されたタイミングで移動オブジェクト(
図14の移動オブジェクトNF、NB、NR、NL参照)を仮想空間内の出現位置に配置し、上記判定オブジェクトへ向かって移動(配置する位置を変更)させる。オブジェクト配置部154Dは、指示オブジェクト(判定オブジェクト及び移動オブジェクト)を配置する際に、仮想空間内の配置する位置の座標情報に基づいて、記憶部14Dに記憶されている仮想空間データを更新する。
【0141】
表示制御部156Dは、映像取得部151Dが取得した撮像映像とオブジェクト配置部154Dにより仮想空間内に配置された指示オブジェクトの映像とを合成した合成映像を生成する。そして、表示制御部156Dは、生成した合成映像を表示部12Dに表示させる。また、表示制御部156Dは、生成した合成映像を映像出力部18Dから出力する。例えば、表示制御部156Dは、生成した合成映像を左右反転させて表示部12Dに表示させる。同様に、表示制御部156Dは、生成した合成映像を左右反転させて映像出力部18Dから出力する。
【0142】
動作検出部157D(検出部の一例)は、映像取得部151Dが取得した撮像映像からユーザUの身体の少なくとも一部の動作を検出する。例えば、動作検出部157Dは、ダンスゲームをプレイするユーザUの足の動作を検出する。動作検出部157Dは、撮像映像の各フレームから足の映像領域を抽出してトラッキングすることにより足の動作を検出する。
【0143】
評価部158Dは、動作検出部157Dにより検出されたユーザUの身体の少なくとも一部の動作を、仮想空間内に配置された指示オブジェクトに基づくタイミング及び位置に基づいて評価する。例えば、評価部158Dは、移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置と、ユーザUの足の動作(判定オブジェクトを踏む動作)のタイミングと位置とを比較し、ユーザUの動作によるプレイを評価する。評価部158Dは、比較結果に基づいて両者のタイミングと位置が一致すると判定できる場合には得点(スコア)を加算し、一致しないと判定できる場合には得点を加算スコア)をしない。
【0144】
なお、評価部158Dは、移動オブジェクトが判定オブジェクトへ到達したタイミングでのユーザUの足の位置を判定オブジェクトの位置と比較することで、ユーザUの動作によるプレイを評価してもよい。
【0145】
〔指示オブジェクト配置処理の動作〕
次に、ゲーム装置10DのCPU15Dが実行するダンスゲームの処理において、仮想空間を生成して指示オブジェクトを配置する指示オブジェクト配置処理の動作について説明する。
図17は、本実施形態に係る指示オブジェクト配置処理の一例を示すフローチャートである。
【0146】
まず、CPU15Dは、フロントカメラ11DAにより撮像された実空間の撮像映像を取得する(ステップS501)。例えば、CPU15は、
図14に示すように、ダンスゲームをプレイするユーザUが含まれる撮像映像を取得する。
【0147】
次に、CPU15Dは、ステップS501で取得した撮像映像から、ダンスゲームをプレイするユーザUの映像を検出する(ステップS503)。
【0148】
次に、CPU15Dは、ステップS501で取得した撮像映像から実空間に対応する仮想空間を生成する(ステップS505)。例えば、CPU15Dは、撮像映像から実空間に存在する物体(床や、壁など)の位置を検出し、検出した物体(床や、壁など)の少なくとも一部の位置情報を含む3次元座標空間のデータを仮想空間のデータとして生成する。一例として、CPU15Dは、ユーザ検出部153Dにより撮像映像から検出されたユーザUに対応する基準位置K3を座標原点とした仮想空間(3次元座標空間)内に、検出した物体(床や、壁など)の少なくとも一部の位置情報を含む仮想空間データを生成する。そして、CPU15Dは、生成した仮想空間データを記憶部14Dに記憶させる。
【0149】
続いて、CPU15Dは、ダンスゲームのプレイ開始時点或いは開始の前に、床の位置に対応する仮想空間内の基準位置K3に基づく判定位置に判定オブジェクト(
図14の判定オブジェクトHF、HB、HR、HL参照)を配置する(ステップS507)。CPU15Dは、判定オブジェクトを配置する際に、記憶部14Dに記憶されている仮想空間データに、配置した判定オブジェクトの位置情報を追加する。
【0150】
また、CPU15Dは、ダンスゲームのプレイが開始されると、移動オブジェクトの出現トリガの有無を判定する(ステップS509)。出現トリガは、楽曲に合わせて予め設定されたタイミングで発生する。CPU15Dは、ステップS509において出現トリガがあったと判定した場合(YES)、ステップS511の処理へ進む。
【0151】
ステップS511において、CPU15Dは、仮想空間内の基準位置K3に基づく出現位置に移動オブジェクト(
図14の移動オブジェクトNF、NB、NR、NLのいずれか一つまたは複数)を配置し、判定位置(各移動オブジェクトに対応する判定オブジェクトの位置)へ向かって移動を開始させる。CPU15Dは、移動オブジェクトを配置する際に、記憶部14Dに記憶されている仮想空間データに、配置した移動オブジェクトの位置情報を追加する。また、CPU15Dは、配置した移動オブジェクトを移動させる際に、記憶部14Dに記憶されている仮想空間データに追加した移動オブジェクトの位置情報を更新する。そして、ステップS513の処理へ進む。一方、CPU15Dは、ステップS509において出現トリガが無いと判定した場合(NO)、ステップS511の処理を行わずに、ステップS513の処理へ進む。
【0152】
ステップS513において、CPU15Dは、移動オブジェクトが判定位置に到達したか否かを判定する。CPU15Dは、判定位置に到達したと判定(YES)した移動オブジェクトを仮想空間から消去する(ステップS515)。CPU15Dは、移動オブジェクトを仮想空間から消去する際に、消去する移動オブジェクトの位置情報を記憶部14Dに記憶されている仮想空間データから削除する。
【0153】
一方、CPU15Dは、判定位置に到達していないと判定(NO)した移動オブジェクトは引き続き判定位置へ向かって徐々に移動させる(ステップS517)。CPU15Dは、移動オブジェクトを移動させる際に、記憶部14Dに記憶されている仮想空間データのうち、移動させる移動オブジェクトの位置情報を更新する。
【0154】
次に、CPU15Dは、ダンスゲームが終了したか否かを判定する(ステップS519)。例えば、CPU15Dは、プレイ中の楽曲が終了した場合にダンスゲームが終了したと判定する。CPU15Dは、ダンスゲームが終了していないと判定した場合(NO)、ステップS509の処理に戻る。一方、CPU15Dは、ダンスゲームが終了したと判定した場合(YES)、指示オブジェクト配置処理を終了する。
【0155】
なお、判定オブジェクトの配置と最初に出現する移動オブジェクトの配置との順番は同時でもよいし、判定オブジェクトの方が先でもよいし、逆に判定オブジェクトの方が後(最初に出現した移動オブジェクトが判定位置に到達するまでの間)でもよい。
【0156】
〔指示オブジェクト表示処理の動作〕
次に、ゲーム装置10DのCPU15Dが実行するダンスゲームの処理において、仮想空間に配置された指示オブジェクトを表示する指示オブジェクト表示処理の動作について説明する。本実施形態では、指示オブジェクトは、ユーザUが撮像された撮像映像に指示オブジェクトが重畳された合成映像として表示される。
図18は、本実施形態に係る指示オブジェクト表示処理の一例を示すフローチャートである。
【0157】
CPU15Dは、フロントカメラ11DAにより撮像された実空間の撮像映像を取得するとともに、仮想空間データを記憶部14Dから取得する(ステップS601)。
【0158】
そして、CPU15Dは、取得した撮像映像と仮想空間データに含まれる指示オブジェクトとを合成した合成映像を生成し、生成した合成映像を表示部12Dに表示させる(ステップS603)。また、CPU15Dは、生成した合成映像を映像出力部18Dへ出力し、映像出力部18Dに接続されているモニタ30Dに表示させる(ステップS603)。これにより、ユーザUが撮像された撮像映像に指示オブジェクトが重畳された合成映像がリアルタイムに表示部12D及びモニタ30Dに表示される。なお、CPU15Dは、表示部12D及びモニタ30Dのいずれか一方に合成映像を表示させてもよい。
【0159】
次に、CPU15Dは、ダンスゲームが終了したか否かを判定する(ステップS605)。例えば、CPU15Dは、プレイ中の楽曲が終了した場合にダンスゲームが終了したと判定する。CPU15Dは、ダンスゲームが終了していないと判定した場合(NO)、ステップS601の処理に戻る。一方、CPU15Dは、ダンスゲームが終了したと判定した場合(YES)、指示オブジェクト表示処理を終了する。
【0160】
〔プレイ評価処理の動作〕
次に、ゲーム装置10DのCPU15Dが実行するダンスゲームの処理において、ユーザUの身体の少なくとも一部の動作によるプレイを評価するプレイ評価処理の動作について説明する。
図19は、本実施形態に係るプレイ評価処理の一例を示すフローチャートである。
【0161】
CPU15Dは、フロントカメラ11DAにより撮像された実空間の撮像映像を取得する(ステップS701)。次に、CPU15Dは、ステップS701で取得した撮像映像からユーザUの身体の少なくとも一部の動作を検出する(ステップS703)。例えば、CPU15Dは、ダンスゲームをプレイするユーザUの足の動作を検出する。
【0162】
そして、CPU15Dは、ステップS703において検出されたユーザUの身体の少なくとも一部(例えば、足)の動作を、仮想空間内に配置された指示オブジェクトに基づくタイミング及び位置に基づいて評価する(ステップS705)。例えば、CPU15Dは、移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置と、ユーザUの足の動作(判定オブジェクトを踏む動作)のタイミングと位置とを比較し、ユーザUの足の動作によるプレイを評価する。
【0163】
また、CPU15Dは、ステップS705における評価結果に基づいて、ゲームの得点(スコア)を更新する(ステップS707)。例えば、CPU15Dは、移動オブジェクトが判定オブジェクトへ到達したタイミング及び位置と、ユーザUの足の動作(判定オブジェクトを踏む動作)のタイミングと位置とが一致すると判定できる場合には得点(スコア)を加算し、一致しないと判定できる場合には得点(スコア)を加算しない。
【0164】
次に、CPU15Dは、ダンスゲームが終了したか否かを判定する(ステップS709)。例えば、CPU15Dは、プレイ中の楽曲が終了した場合にダンスゲームが終了したと判定する。CPU15Dは、ダンスゲームが終了していないと判定した場合(NO)、ステップS701の処理に戻る。一方、CPU15Dは、ダンスゲームが終了したと判定した場合(YES)、プレイ評価処理を終了する。
【0165】
〔第4の実施形態のまとめ〕
以上説明したように、本実施形態に係るゲーム装置10Dは、実空間を撮像した撮像映像を取得し、取得した撮像映像から実空間に対応する仮想空間を生成する。そして、ゲーム装置10Dは、生成した仮想空間内の、ユーザに対応する基準位置K3に基づく位置に、ユーザUの動作を指示する指示オブジェクトをユーザUに視認可能に配置し、撮像映像と仮想空間内に配置された指示オブジェクトの映像とを合成した合成映像を表示部12D(表示部の一例)に表示させる。なお、ゲーム装置10Dは、上記合成映像をモニタ30D(表示部の一例)に表示させてもよい。また、ゲーム装置10Dは、取得した撮像映像からユーザUの身体の少なくとも一部の動作を検出し、検出された動作を、仮想空間内に配置された指示オブジェクトに基づくタイミング及び位置に基づいて評価する。
【0166】
これにより、ゲーム装置10Dは、ユーザUの動作を指示する指示オブジェクトに基づくタイミング及び位置に基づいてユーザUの動作を評価するゲーム処理において、ユーザUが撮像された映像に指示オブジェクトを合成した合成映像を視認可能にゲーム装置10D(例えば、スマートフォン)または外部接続されたモニタ30D(例えば、家庭用テレビ)に表示させるため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【0167】
例えば、ゲーム装置10Dは、上記合成映像を左右反転させて表示部12Dまたはモニタ30Dに表示させる。
【0168】
これにより、ゲーム装置10Dは、ユーザUが鏡を見ているのと同様の感覚で表示部12Dまたはモニタ30Dを見ながらプレイ可能なようにすることができる。
【0169】
また、ゲーム装置10は、仮想空間内の所定の位置(出現位置)に配置した指示オブジェクト(例えば、移動オブジェクト)を所定の判定位置(例えば、判定オブジェクトの位置)へ向かって移動させる。そして、ゲーム装置10は、仮想空間内で移動する指示オブジェクト(例えば、移動オブジェクト)が判定位置に到達したタイミングと判定位置に基づいて、撮像映像から検出されたユーザUの身体の少なくとも一部(例えば、足)の動作を評価する。
【0170】
これにより、ゲーム装置10Dは、ユーザUが指示通りの動作をできたか否かを、撮像映像を用いて評価することができる。
【0171】
[変形例]
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の実施形態において説明した各構成は、任意に組み合わせることができる。
【0172】
なお、上述の各実施形態において説明した指示オブジェクトは一例であって、ユーザUに動作を指示するものであれば、様々な態様とすることができる。例えば、指示オブジェクトの種類(態様)によってユーザUに指示する動作の内容が異なる。例えば、移動オブジェクトの厚み(Z軸方向の幅)を変えることで、移動オブジェクトの最下部が判定オブジェクトに到達してから移動オブジェクトの最上部が判定オブジェクトに到達するまでの時間が変化することから、判定オブジェクトを足で踏み続ける時間を移動オブジェクトの厚みで指示するようにしてもよい。移動オブジェクトは、移動先の判定オブジェクトの鉛直方向に出現するとは限らず、鉛直方向から外れた位置から出現してもよい。また、移動オブジェクトの移動方向及び判定オブジェクトの位置も任意に設定することができる。
【0173】
また、判定位置に判定オブジェクトが表示されなくてもよい。例えば、床面の位置が判定位置である場合、移動オブジェクトが床面に到達したタイミングと位置が、ユーザUの動作を指示する指示内容となる。例えば、移動オブジェクトが鉛直方向ではなく斜め方向(例えば、鉛直方向に対して45°傾いた方向)に一定の厚み(例えば、ユーザUの身長と同程度の長さ)を有する移動オブジェクトを、鉛直方向に床面(判定位置)へ向けて移動させた場合、移動オブジェクトの最下部が床面に到達したときのXY平面における位置から、移動オブジェクトの最上部が床面に到達したときのXY平面における位置まで、時間の経過とともに移動オブジェクトが床面に到達する位置が変化する。よって、斜め方向に一定の厚みを有する移動オブジェクトを用いて、足で踏む位置を移動させる指示を行ってもよい。
【0174】
また、判定位置は、床面に限定されるものではなく、例えば床面から天井の間の任意の位置に設定することができる。なお、判定位置とする高さは、ユーザUの身長を検出して、身長に応じて設定されてもよい。また、判定位置を設けずに、表示される移動オブジェクト自体がユーザUの動作を指示するものであってもよい。例えば、移動オブジェクトが出現したときの位置または移動しているときの位置とそのタイミングとが、ユーザUの動作を指示するものであってもよい。例えば、移動オブジェクトの移動の軌跡でユーザUの動作の軌跡(例えば、手の動作の軌跡)を指示してもよい。
【0175】
なお、第1から第2の実施形態で説明した透過型HMDとして構成されるゲーム装置10及びゲーム装置10Aに撮像部11が備えられている構成を説明したが、撮像部11は、ゲーム装置10及びゲーム装置10Aとは別の装置として、ダンスゲームをプレイするユーザUを撮像可能な別の場所に設置されてもよい。この場合、別の場所に設置された撮像部11を含む装置は、ゲーム装置10及びゲーム装置10Aと有線又は無線で通信接続される。また、第3の実施形態で説明したゲーム装置10CとHMD20Cとを備えるゲームシステム1Cでは、上記撮像部11に対応する構成である撮像部21CがHMD20Cに備えられている構成を説明したが、撮像部21Cも同様に、HMD20Cとは別の装置として、ダンスゲームをプレイするユーザUを撮像可能な別の場所に設置されてもよい。この場合、別の場所に設置された撮像部21Cを含む装置は、HMD20Cまたはゲーム装置10Cと有線又は無線で通信接続される。また、撮像部21Cは、ゲーム装置10Cに備えられてもよい。
【0176】
また、第4の実施形態で説明したゲーム装置10Dでは、撮像部として備えられているフロントカメラ11DAを用いて、ダンスゲームをプレイするユーザUを撮像する構成を説明したが、ゲーム装置10Dとは別の場所に設置された撮像部を含む装置を用いて、ユーザUを撮像する構成としてもよい。この場合、別の場所に設置された撮像部を含む装置は、ゲーム装置10Dと有線又は無線で通信接続される。
【0177】
また、上述の制御部150(150A、150C、150D)の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより制御部150(150A、150C、150D)としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0178】
また、上述の制御部150(150A、150C、150D)の一部または全部の機能を、LSI(Large Scale Integration)等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【0179】
また、上記実施形態では、ゲーム装置10(10A,10C、10D)が備える記憶部14(14C、14D)に記憶されるデータの少なくとも一部は、外部接続される記憶装置に記憶されてもよい。外部接続される記憶装置は、ゲーム装置10(10A,10C、10D)と有線又は無線で接続される記憶装置である。例えば、外部接続される記憶装置は、USB(Universal Serial Bus)や、無線LAN(Local Area Network)、有線LANなどで接続される記憶装置でもよいし、インターネットなどを介して接続される記憶装置(データサーバ)であってもよい。このインターネットなどを介して接続される記憶装置(データサーバ)は、クラウドコンピューティングを用いて利用されるものであってもよい。
【0180】
また、制御部150(150A、150C、150D)が備える各部の少なくとも一部に相当する構成は、インターネットなどを介して接続されるサーバが備えてもよい。例えば、ダンスゲームなどのゲームの処理がサーバで実行される、所謂クラウドゲームに上記実施形態を適用することもできる。
【0181】
なお、上記実施形態では、音楽ゲームの一例であるダンスゲームを例に説明したが、ダンスゲームに限られるものではない。例えば、楽曲に合わせて出現するオブジェクトに対する操作を行う音楽ゲーム全般に適用することができる。また、音楽ゲーム以外にも、所定のタイミングで出現するオブジェクトに対して、パンチやキック、払い落とす、或いは武器を使用して叩くなどの操作を行うようなゲームにも適用することができる。
【0182】
[付記]
以上の記載から本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために添付図面の参照符号を便宜的に括弧書きにて付記するが、それにより本発明が図示の態様に限定されるものではない。
【0183】
(付記A1)本発明の一態様に係るゲームプログラムは、ユーザ(U)の頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置(10、10A、20C)を用いてプレイ可能なゲームの処理を実行するコンピュータに、前記実空間を撮像した撮像映像を取得するステップ(S101、S301、S401)と、前記撮像映像から前記実空間に対応する仮想空間を生成するステップ(S103、S405)と、前記仮想空間内の、前記ユーザに対応する基準位置(K1、K2)に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置するステップ(S105、S109、S407、S411)と、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させるステップ(S203)と、前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出するステップ(S303)と、前記検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップ(S305)と、を実行させる。
【0184】
付記A1の構成によれば、ゲームプログラムは、ユーザの動作を指示する指示オブジェクトに基づくタイミング及び位置に基づいてユーザの動作を評価するゲーム処理において、HMDなどの映像出力装置を頭部に装着することで、指示オブジェクトを実空間に対応付けてユーザに視認可能とするため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【0185】
(付記A2)また、本発明の一態様は、付記A1に記載のゲームプログラムであって、前記基準位置は、前記映像出力装置(10、10A、20C)を装着している前記ユーザ(U)の位置に対応する前記仮想空間内における第1基準位置(K1)を含み、前記第1基準位置は、前記仮想空間内の前記映像出力装置の位置に基づく。
【0186】
付記A2の構成によれば、ゲームプログラムは、ゲームをプレイするユーザの位置を基準として、実空間に対応付けて指示オブジェクトを表示できるため、ユーザに対する動作の指示にリアリティを感じさせることができ、より直感的なプレイが可能となる。
【0187】
(付記A3)また、本発明の一態様は、付記A2に記載のゲームプログラムであって、前記配置するステップ(S105、S109、S407、S411)において、前記映像出力装置(10、10A、20C)を装着している前記ユーザ(U)の向きに応じて、前記指示オブジェクトを配置する位置を前記仮想空間内の一部に制限する。
【0188】
付記A3の構成によれば、ゲームプログラムは、ユーザの視野の範囲外(例えば、後方)に対しては動作すべき指示を行わないため、ユーザはプレイ中に視野の範囲外(例えば、後方)を気にせずプレイすることができ、プレイの難易度が高くなりすぎないようにすることができる。
【0189】
(付記A4)また、本発明の一態様は、付記A1に記載のゲームプログラムであって、前記コンピュータに、前記撮像映像から前記ユーザ(U)に対応する像(UK)を検出するステップ(S403)、をさらに実行させ、前記基準位置は、前記検出された前記ユーザに対応する像の前記仮想空間内における第2基準位置(K2)を含む。
【0190】
付記A4の構成によれば、ゲームプログラムは、HMDなどの映像出力装置を頭部に装着することで、ユーザの動作を指示する指示オブジェクトを、例えば鏡などに映っているユーザの虚像(ユーザ像UK)の周囲に表示させることができる、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。例えば、ゲームプログラムは、指示オブジェクトを配置する位置を仮想空間内の一部に制限しなくともユーザ像UKの周囲(例えば、前後左右)に表示される指示オブジェクトを同時に俯瞰して視認可能となるため、プレイ中にユーザに指示する動作の種類を多様化することができる。また、ゲームプログラムは、ユーザが下方に存在する自身の足と指示オブジェクトを見なくともユーザの動作に対する評価が可能となるため、踊りにくくならないようにすることができる。
【0191】
(付記A5)また、本発明の一態様は、付記A2または付記A3に記載のゲームプログラムであって、前記コンピュータに、前記撮像映像から前記ユーザ(U)に対応する(UK)を検出するステップ(S403)、をさらに実行させ、前記基準位置は、前記検出された前記ユーザに対応する像の前記仮想空間内における第2基準位置(K2)を含む。
【0192】
付記A5の構成によれば、ゲームプログラムは、HMDなどの映像出力装置を頭部に装着することで、ユーザの動作を指示する指示オブジェクトを、例えば鏡などに映っているユーザの虚像(ユーザ像UK)の周囲に表示させることができる、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。例えば、ゲームプログラムは、指示オブジェクトを配置する位置を仮想空間内の一部に制限しなくともユーザ像UKの周囲(例えば、前後左右)に表示される指示オブジェクトを同時に俯瞰して視認可能となるため、プレイ中にユーザに指示する動作の種類を多様化することができる。また、ゲームプログラムは、ユーザが下方に存在する自身の足と指示オブジェクトを見なくともユーザの動作に対する評価が可能となるため、踊りにくくならないようにすることができる。また、ゲームプログラムは、ゲームをプレイするユーザの周囲と、例えば鏡などに映っているユーザの虚像の周囲とのそれぞれに指示オブジェクトを表示させることで、ユーザがそれぞれの指示オブジェクトのうちプレイしやすい方を任意に選択しながらプレイできるようにすることができる。
【0193】
(付記A6)また、本発明の一態様は、付記A5に記載のゲームプログラムであって、前記配置するステップ(S105、S109、S407、S411)において、前記仮想空間内の前記第2基準位置(K2)に基づく位置に前記指示オブジェクトを配置する際に、前記第1基準位置(K1)に基づく位置に配置する前記指示オブジェクトの視認度を低減する、または前記第1基準位置(K1)に基づく位置に前記指示オブジェクトを配置しない。
【0194】
付記A6の構成によれば、ゲームプログラムは、第1基準位置(例えば、基準位置K1)に基づく位置(ユーザUの周囲)に表示される指示オブジェクトによって、第2基準位置(例えば、基準位置K2)に基づく位置(鏡MRに映ったユーザの虚像の周囲)に表示された指示オブジェクトが隠れてしまわないようにすることができるため、指示オブジェクトの視認性を向上させることができる。
【0195】
(付記A7)また、本発明の一態様は、付記A4から付記A6のいずれか一に記載のゲームプログラムであって、前記検出された前記ユーザ(U)に対応する像(UK)は、対面に存在する鏡(MR)に映った前記ユーザの像であり、前記配置するステップ(S105、S109、S407、S411)において、前記仮想空間内の前記第2基準位置(K2)に基づく位置に前記指示オブジェクトを配置する際に、前記第2基準位置に対する前後の向きを反転させる。
【0196】
付記A7の構成によれば、ゲームプログラムは、鏡に映っているユーザの虚像(ユーザ像UK)の向きに対応して指示オブジェクトを表示できるため、ユーザが鏡を見ながら直感的なプレイが可能なように、ユーザが動作すべき内容を案内することができる。
【0197】
(付記A8)また、本発明の一態様は、付記A1から付記A7のいずれか一に記載のゲームプログラムであって、前記配置するステップ(S105、S109、S407、S411)において、前記仮想空間内の所定の位置に配置した前記指示オブジェクトを所定の判定位置へ向かって移動させ、前記評価するステップ(S305)において、前記仮想空間内で移動する前記指示オブジェクトが前記判定位置に到達したタイミングと前記判定位置に基づいて、前記検出された動作を評価する。
【0198】
付記A8の構成によれば、ゲームプログラムは、ユーザが指示通りの動作をできたか否かを、撮像映像を用いて評価することができる。
【0199】
(付記A9)また、本発明の一態様は、付記A1から付記A8のいずれか一に記載のゲームプログラムであって、前記指示オブジェクトの種類によって前記ユーザ(U)に指示する動作の内容が異なる。
【0200】
付記A9の構成によれば、ゲームプログラムは、プレイでユーザが動作する内容を多様化することができ、興趣性の高いゲームを提供できる。
【0201】
(付記A10)また、本発明の一態様に係るゲーム処理方法は、ユーザ(U)の頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置(10、10A、20C)を用いてプレイ可能なゲームの処理を実行するコンピュータにより実行されるゲーム処理方法であって、前記実空間を撮像した撮像映像を取得するステップ(S101、S301、S401)と、前記撮像映像から前記実空間に対応する仮想空間を生成するステップ(S103、S405)と、前記仮想空間内の、前記ユーザに対応する基準位置(K1、K2)に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置するステップ(S105、S109、S407、S411)と、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させるステップ(S203)と、前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出するステップ(S303)と、前記検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップ(S305)と、を含む。
【0202】
付記A10の構成によれば、ゲーム処理方法は、ユーザの動作を指示する指示オブジェクトに基づくタイミング及び位置に基づいてユーザの動作を評価するゲーム処理において、HMDなどの映像出力装置を頭部に装着することで、指示オブジェクトを実空間に対応付けてユーザに視認可能とするため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【0203】
(付記A11)また、本発明の一態様に係るゲーム装置(10、10A、10C)は、ユーザ(U)の頭部に装着することにより、前記ユーザに視認可能に映像を出力するとともに実空間を視認可能な映像出力装置(10、10A、20C)を用いてプレイ可能なゲームの処理を実行するゲーム装置であって、前記実空間を撮像した撮像映像を取得する取得部(151、S101、S301、S401)と、前記取得部により取得された前記撮像映像から前記実空間に対応する仮想空間を生成する生成部(152、S103、S405)と、前記生成部により生成された前記仮想空間内の、前記ユーザに対応する基準位置(K1、K2)に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置する配置部(154、S105、S109、S407、S411)と、少なくとも前記指示オブジェクトが配置された前記仮想空間を、前記実空間に対応付けて表示させる表示制御部(156、S203)と、前記取得部により取得された前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出する検出部(157、S303)と、前記検出部により検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価する評価部(158、S305)と、を備える。
【0204】
付記A11の構成によれば、ゲーム装置は、ユーザの動作を指示する指示オブジェクトに基づくタイミング及び位置に基づいてユーザの動作を評価するゲーム処理において、HMDなどの映像出力装置を頭部に装着することで、指示オブジェクトを実空間に対応付けてユーザに視認可能とするため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【0205】
(付記B1)また、本発明の一態様に係るゲームプログラムは、コンピュータに、実空間を撮像した撮像映像を取得するステップ(S501、S701)と、前記撮像映像から前記実空間に対応する仮想空間を生成するステップ(S505)と、前記仮想空間内の、ユーザ(U)に対応する基準位置(K3)に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置するステップ(S507、S511)と、前記撮像映像と前記仮想空間内に配置された前記指示オブジェクトの映像とを合成した合成映像を表示部(12D、30D)に表示させるステップ(S603)と、前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出するステップ(S703)と、前記検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップ(S705)と、を実行させる。
【0206】
付記B1の構成によれば、ゲームプログラムは、ユーザの動作を指示する指示オブジェクトに基づくタイミング及び位置に基づいてユーザの動作を評価するゲーム処理において、ユーザが撮像された映像に指示オブジェクトを合成した合成映像を視認可能にスマートフォンや家庭用テレビなどの表示部に表示させるため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【0207】
(付記B2)また、本発明の一態様は、付記B1に記載のゲームプログラムであって、前記表示させるステップ(S603)において、前記合成映像を左右反転させて前記表示部(12D、30D)に表示させる。
【0208】
付記B2の構成によれば、ゲームプログラムは、ユーザが鏡を見ているのと同様の感覚で表示部(モニタ)を見ながらプレイ可能なようにすることができる。
【0209】
(付記B3)また、本発明の一態様は、付記B1または付記B2に記載のゲームプログラムであって、前記配置するステップ(S507、S511)において、前記仮想空間内の所定の位置に配置した前記指示オブジェクトを所定の判定位置へ向かって移動させ、前記評価するステップ(S705)において、前記仮想空間内で移動する前記指示オブジェクトが前記判定位置に到達したタイミングと前記判定位置に基づいて、前記検出された動作を評価する。
【0210】
付記B3の構成によれば、ゲームプログラムは、ユーザが指示通りの動作をできたか否かを、撮像映像を用いて評価することができる。
【0211】
(付記B4)また、本発明の一態様は、付記B1から付記B3のいずれか一に記載のゲームプログラムであって、前記指示オブジェクトの種類によって前記ユーザ(U)に指示する動作の内容が異なる。
【0212】
付記B4の構成によれば、ゲームプログラムは、プレイでユーザが動作する内容を多様化することができ、興趣性の高いゲームを提供できる。
【0213】
(付記B5)また、本発明の一態様に係るゲーム処理方法は、コンピュータにより実行されるゲーム処理方法であって、実空間を撮像した撮像映像を取得するステップ(S501、S701)と、前記撮像映像から前記実空間に対応する仮想空間を生成するステップ(S505)と、前記仮想空間内の、ユーザ(U)に対応する基準位置(K3)に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置するステップ(S507、S511)と、前記撮像映像と前記仮想空間内に配置された前記指示オブジェクトの映像とを合成した合成映像を表示部(12D、30D)に表示させるステップ(S603)と、前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出するステップ(S703)と、前記検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価するステップ(S705)と、を含む。
【0214】
付記B5の構成によれば、ゲーム処理方法は、ユーザの動作を指示する指示オブジェクトに基づくタイミング及び位置に基づいてユーザの動作を評価するゲーム処理において、ユーザが撮像された映像に指示オブジェクトを合成した合成映像を視認可能にスマートフォンや家庭用テレビなどの表示部に表示させるため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【0215】
(付記B6)また、本発明の一態様に係るゲーム装置(10D)は、実空間を撮像した撮像映像を取得する取得部(151D、S501、S701)と、前記取得部により取得された前記撮像映像から前記実空間に対応する仮想空間を生成する生成部(152D)と、前記生成部により生成された前記仮想空間内の、ユーザ(U)に対応する基準位置(K3)に基づく位置に、前記ユーザの動作を指示する指示オブジェクトを前記ユーザに視認可能に配置する配置部(154D、S507、S511)と、前記撮像映像と前記仮想空間内に配置された前記指示オブジェクトの映像とを合成した合成映像を表示部(12D、30D)に表示させる表示制御部(156D、S603)と、前記取得部により取得された前記撮像映像から前記ユーザの身体の少なくとも一部の動作を検出する検出部(157D、S703)と、前記検出部により検出された動作を、前記仮想空間内に配置された前記指示オブジェクトに基づくタイミング及び位置に基づいて評価する評価部(158D、S705)と、を備える。
【0216】
付記B6の構成によれば、ゲーム装置は、ユーザの動作を指示する指示オブジェクトに基づくタイミング及び位置に基づいてユーザの動作を評価するゲーム処理において、ユーザが撮像された映像に指示オブジェクトを合成した合成映像を視認可能にスマートフォンや家庭用テレビなどの表示部に表示させるため、簡易な構成で、より直感的なプレイが可能なようにユーザが動作すべき内容を案内することができる。
【符号の説明】
【0217】
1C ゲームシステム、10,10A,10C,10D ゲーム装置、11 撮像部、11DA フロントカメラ、11DB バックカメラ、12,12D 表示部、13,13D センサ、14,14C,14D 記憶部、15,15C,15D CPU、16,16C,16D 通信部、17,17D 音出力部、18D 映像出力部、20C HMD、21C 撮像部、22C 表示部、23C センサ、24C 記憶部、25C CPU、26C 通信部、27C 音出力部、150,150A,150C,150D 制御部、151,151D 映像取得部、152,152D 仮想空間生成部、153A ユーザ像検出部、153D ユーザ検出部、154,154A,154D オブジェクト配置部、155 視線方向検出部、156,156D 表示制御部、157、157D 動作検出部、158,158D 評価部