(57)【特許請求の範囲】
【請求項１】
ボールの３次元的な位置を継続的に計測する計測装置と、
前記ボールを用いたゲームが行われるフィールド上に、ゲーム画面を投影する投影装置と、
前記ゲーム画面を制御する制御装置と、を備えるゲームシステムであって、
前記制御装置は、
前記計測装置により計測された前記ボールの３次元的な位置を時刻とともに記憶する記憶部と、
複数の時刻における前記ボールの３次元的な位置に基づいて、前記フィールドにおける前記ボールの落下地点を予測する予測部と、
前記予測部により予測された落下地点及び現在時刻における前記ボールの３次元的な位置に基づいて、現在時刻の後に前記ボールがバウンドするか否かを判定する判定部と、
前記判定部により前記ボールがバウンドすると判定された場合に、前記ゲーム画面を遷移させる遷移部と、を有する、
ゲームシステム。
【請求項２】
前記判定部は、現在時刻における前記ボールの３次元的な位置から前記予測部により予測された落下地点までの距離が第１閾値より小さい場合に、現在時刻の後に前記ボールがバウンドすると判定する、
請求項１に記載のゲームシステム。
【請求項３】
前記判定部は、所定の時間内に前記ボールがバウンドしたと判定されておらず、前記ボールの高さが、前記第１閾値より小さい第２閾値より低い場合に、現在時刻の後に前記ボールがバウンドすると判定する、
請求項２に記載のゲームシステム。
【請求項４】
前記判定部は、複数の時刻における前記ボールの高さの平均値が、第３閾値より低い場合に、現在時刻の後に前記ボールがバウンドすると判定せず、前記ボールが転がっていると判定する、
請求項１から３のいずれか一項に記載のゲームシステム。
【請求項５】
前記判定部は、現在時刻における前記ボールの３次元的な位置に基づいて、前記ボールが前記フィールドの外に位置するか否かを判定し、
前記記憶部は、前記判定部により前記ボールが前記フィールドの外に位置すると判定された場合に、記憶された前記ボールの３次元的な位置を消去する、
請求項１から４のいずれか一項に記載のゲームシステム。
【請求項６】
前記判定部は、複数の時刻における前記ボールの３次元的な位置に基づいて、前記ボールの進行方向が逆転したか否かを判定し、
前記記憶部は、前記判定部により前記ボールの進行方向が逆転したと判定された場合に、記憶された前記ボールの３次元的な位置を消去する、
請求項１から５のいずれか一項に記載のゲームシステム。
【請求項７】
前記遷移部は、前記判定部により現在時刻より後に前記ボールがバウンドすると判定された場合に、前記ボールがバウンドするタイミングに合わせて、前記予測部により予測された落下地点にエフェクトが示されるように、前記ゲーム画面を遷移させる、
請求項１から６のいずれか一項に記載のゲームシステム。
【請求項８】
前記遷移部は、所定の条件が満たされた場合に、前記ゲーム画面を、１又は複数の選択可能なオブジェクトを含むメニュー画面に遷移させ、
前記判定部は、前記ボールの３次元的な位置に基づいて、前記ボールによって、前記１又は複数の選択可能なオブジェクトのうちいずれか１つのオブジェクトを選択するアクションが行われたか否かを判定し、
前記遷移部は、前記判定部により前記ボールによって前記アクションが行われたと判定された場合に、前記メニュー画面を遷移させる、
請求項１から７のいずれか一項に記載のゲームシステム。
【請求項９】
ボールの３次元的な位置を継続的に計測する計測装置により計測された前記ボールの３次元的な位置を時刻とともに記憶する記憶部と、
複数の時刻における前記ボールの３次元的な位置に基づいて、前記ボールを用いたゲームが行われるフィールドにおける前記ボールの落下地点を予測する予測部と、
前記予測部により予測された落下地点及び現在時刻における前記ボールの３次元的な位置に基づいて、現在時刻の後に前記ボールがバウンドするか否かを判定する判定部と、
前記判定部により前記ボールがバウンドすると判定された場合に、前記フィールド上に投影されるゲーム画面を遷移させる遷移部と、
を備える制御装置。
【請求項１０】
ボールの３次元的な位置を継続的に計測する計測装置により計測された前記ボールの３次元的な位置を時刻とともに記憶する記憶部を備えたコンピュータを、
複数の時刻における前記ボールの３次元的な位置に基づいて、前記ボールを用いたゲームが行われるフィールドにおける前記ボールの落下地点を予測する予測部、
前記予測部により予測された落下地点及び現在時刻における前記ボールの３次元的な位置に基づいて、現在時刻の後に前記ボールがバウンドするか否かを判定する判定部、及び
前記判定部により前記ボールがバウンドすると判定された場合に、前記フィールド上に投影されるゲーム画面を遷移させる遷移部、
として機能させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム、制御装置及び制御プログラムに関する。
【背景技術】
【０００２】
従来、卓球やテニスといったボールを用いるゲームにおいて、ボールの３次元的な位置をトラッキングするシステムが知られている。ボールのトラッキングシステムは、複数台のカメラによって、例えば数十ｆｐｓ（frames per second）の頻度でゲームが行われるフィールドを撮影し、ボールの３次元的な位置を追跡する。【０００３】
ボールの位置のトラッキングは、カメラ以外のセンサを用いて行うこともできる。例えば下記特許文献１には、集音するための複数のマイクと、時間を計測するタイマと、マイクで集音した音情報とタイマから得られた時間情報から音の発生源と球の移動位置を算出する計算手段を備えた球の軌道算出装置が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−４８８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ボールのトラッキングシステムによれば、ほとんどリアルタイムでボールの動きを追跡することができる。そこで、本発明者は、このボールのトラッキングシステムの技術を用いて、これをいわゆるプロジェクションマッピングの技術と組み合わせることで、フィールド上にゲーム画面を投影して、ボールがフィールド上でバウンドした場合にゲーム画面が遷移するゲームシステムを構築することを考えた。【０００６】
しかしながら、例えば、ボールが秒速１０ｍ（時速３６ｋｍ）で移動する場合に、１０ｆｐｓでフィールドを撮影すると、連続する２枚の画像の間でボールは１ｍ移動することになる。そのため、ボールがフィールド上をバウンドする瞬間を捉えられなかったり、バウンドの判定が遅れてしまったりすることがある。ボールがフィールド上をバウンドする瞬間を捉えられなかったり、バウンドの判定が遅れてしまったりすると、ゲーム画面の遷移が適切なタイミングで行われないことになってしまう。【０００７】
そこで、本発明は、移動するボールの位置をトラッキングするシステムを用いて、フィールド上に投影したゲーム画面を適切なタイミングで遷移させることのできるゲームシステム、制御装置及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係るゲームシステムは、ボールの３次元的な位置を継続的に計測する計測装置と、ボールを用いたゲームが行われるフィールド上に、ゲーム画面を投影する投影装置と、ゲーム画面を制御する制御装置と、を備えるゲームシステムであって、制御装置は、計測装置により計測されたボールの３次元的な位置を時刻とともに記憶する記憶部と、複数の時刻におけるボールの３次元的な位置に基づいて、フィールドにおけるボールの落下地点を予測する予測部と、予測部により予測された落下地点及び現在時刻におけるボールの３次元的な位置に基づいて、現在時刻の後にボールがバウンドするか否かを判定する判定部と、判定部によりボールがバウンドすると判定された場合に、ゲーム画面を遷移させる遷移部と、を有する。【０００９】
この態様によれば、予測部によってボールの落下地点を予測し、ボールがフィールドに実際に落下するのに先立って、判定部によって、ボールがバウンドするか否かを判定することができる。そのため、バウンドの判定の遅延が抑制され、フィールド上に投影したゲーム画面を適切なタイミングで遷移させることができる。【００１０】
上記態様において、判定部は、現在時刻におけるボールの３次元的な位置から予測部により予測された落下地点までの距離が第１閾値より小さい場合に、現在時刻の後にボールがバウンドすると判定してもよい。【００１１】
この態様によれば、現在時刻におけるボールの３次元的な位置から予測部により予測された落下地点までの距離が十分小さい場合に、現在時刻の後にボールがバウンドすると判定することで、ボールのバウンドを精度良く予測することができ、フィールド上に投影したゲーム画面を適切なタイミングで遷移させることができる。【００１２】
上記態様において、判定部は、所定の時間内にボールがバウンドしたと判定されておらず、ボールの高さが、第１閾値より小さい第２閾値より低い場合に、現在時刻の後にボールがバウンドすると判定してもよい。【００１３】
この態様によれば、ボールが直前までにバウンドしたと判定されておらず、ボールの高さが十分に低い場合に、ボールが直後にバウンドすると判定することで、ボールの３次元的な位置が十分な期間にわたって記憶部に記憶されていない場合であっても、ボールがバウンドするか否かを判定することができる。【００１４】
上記態様において、判定部は、複数の時刻におけるボールの高さの平均値が、第３閾値より低い場合に、現在時刻の後にボールがバウンドすると判定せず、ボールが転がっていると判定してもよい。【００１５】
この態様によれば、ボールがフィールド上を転がっている場合、投影装置により投影されるゲーム画面を遷移させないことにより、フィールド上のボールの動きの種類とゲーム画面の表示態様とを整合させることができる。【００１６】
上記態様において、判定部は、現在時刻におけるボールの３次元的な位置に基づいて、ボールがフィールドの外に位置するか否かを判定し、記憶部は、判定部によりボールがフィールドの外に位置すると判定された場合に、記憶されたボールの３次元的な位置を消去してもよい。【００１７】
この態様によれば、ボールがフィールドの外に位置する場合、すなわちゲームの進行が中断される状況となった場合、それまでに記憶されたボールの３次元的な位置を消去する。これにより、その後に新たに記憶されるボールの３次元的な位置に基づいてボールの軌道が予測されることとなり、ボールがバウンドするか否かについて誤判定することを防止することができる。【００１８】
上記態様において、判定部は、複数の時刻におけるボールの３次元的な位置に基づいて、ボールの進行方向が逆転したか否かを判定し、記憶部は、判定部によりボールの進行方向が逆転したと判定された場合に、記憶されたボールの３次元的な位置を消去してもよい。【００１９】
この態様によれば、ボールの進行方向が逆転した場合、すなわちボールが打ち返されて、ボールが新しい軌道で移動するようになった場合、それまでに記憶されたボールの３次元的な位置を消去する。これにより、打ち返された後に記憶されるボールの３次元的な位置に基づいてボールの軌道が予測されることとなり、ボールがバウンドするか否かについて誤判定することを防止することができる。【００２０】
上記態様において、遷移部は、判定部により現在時刻より後にボールがバウンドすると判定された場合に、ボールがバウンドするタイミングに合わせて、予測部により予測された落下地点にエフェクトが示されるように、ゲーム画面を遷移させてもよい。【００２１】
この態様によれば、ボールがバウンドするタイミングに合わせて、予測部により予測された落下地点にエフェクトが示されることで、ボールのバウンドとゲーム画面の遷移とが連動し、投影装置によるプロジェクションマッピングが、あたかも現実の現象であるかのような没入感を演出することができる。【００２２】
上記態様において、遷移部は、所定の条件が満たされた場合に、ゲーム画面を、１又は複数の選択可能なオブジェクトを含むメニュー画面に遷移させ、判定部は、ボールの３次元的な位置に基づいて、ボールによって、１又は複数の選択可能なオブジェクトのうちいずれか１つのオブジェクトを選択するアクションが行われたか否かを判定し、遷移部は、判定部によりボールによってアクションが行われたと判定された場合に、メニュー画面を遷移させてもよい。【００２３】
この態様によれば、メニュー画面の操作をボールによって行うことができるようになり、新しい感覚で操作することのできるＵＩ（User Interface）を提供することができる。【００２４】
本発明の他の態様に係る制御装置は、ボールの３次元的な位置を継続的に計測する計測装置により計測されたボールの３次元的な位置を時刻とともに記憶する記憶部と、複数の時刻におけるボールの３次元的な位置に基づいて、ボールを用いたゲームが行われるフィールドにおけるボールの落下地点を予測する予測部と、予測部により予測された落下地点及び現在時刻におけるボールの３次元的な位置に基づいて、現在時刻の後にボールがバウンドするか否かを判定する判定部と、判定部によりボールがバウンドすると判定された場合に、フィールド上に投影されるゲーム画面を遷移させる遷移部と、を備える。【００２５】
この態様によれば、予測部によってボールの落下地点を予測し、ボールがフィールドに実際に落下するのに先立って、判定部によって、ボールがバウンドするか否かを判定することができる。そのため、バウンドの判定の遅延が抑制され、フィールド上に投影したゲーム画面を適切なタイミングで遷移させることができる。【００２６】
本発明の他の態様に係る制御プログラムは、ボールの３次元的な位置を継続的に計測する計測装置により計測されたボールの３次元的な位置を時刻とともに記憶する記憶部を備えたコンピュータを、複数の時刻におけるボールの３次元的な位置に基づいて、ボールを用いたゲームが行われるフィールドにおけるボールの落下地点を予測する予測部、予測部により予測された落下地点及び現在時刻におけるボールの３次元的な位置に基づいて、現在時刻の後にボールがバウンドするか否かを判定する判定部、及び判定部によりボールがバウンドすると判定された場合に、フィールド上に投影されるゲーム画面を遷移させる遷移部、として機能させる。【００２７】
この態様によれば、予測部によってボールの落下地点を予測し、ボールがフィールドに実際に落下するのに先立って、判定部によって、ボールがバウンドするか否かを判定することができる。そのため、バウンドの判定の遅延が抑制され、フィールド上に投影したゲーム画面を適切なタイミングで遷移させることができる。
【発明の効果】
【００２８】
本発明によれば、移動するボールの位置をトラッキングするシステムを用いて、フィールド上に投影したゲーム画面を適切なタイミングで遷移させることのできるゲームシステム、制御装置及び制御プログラムを提供することができる。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係るゲームシステムの概要を示す図である。
【図２】本発明の実施形態に係る制御装置の機能ブロックを示す図である。
【図３】本発明の実施形態に係る制御装置の物理的構成を示す図である。
【図４】本発明の実施形態に係る制御装置により予測されるボールの落下地点を示す第１グラフである。
【図５】本発明の実施形態に係る制御装置により予測されるボールの落下地点を示す第２グラフである。
【図６】本発明の実施形態に係る制御装置により実行される第１処理のフローチャートである。
【図７】本発明の実施形態に係る制御装置により実行される第２処理のフローチャートである。
【図８】本発明の実施形態に係る制御装置により実行される第３処理のフローチャートである。
【発明を実施するための形態】
【００３０】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【００３１】
図１は、本発明の実施形態に係るゲームシステム１００の概要を示す図である。本実施形態に係るゲームシステム１００は、ボールＢを用いたゲームとして卓球が行われる場合に、卓球が行われるフィールドＦ（卓球台）上に、ゲーム画面を投影する投影装置３０と、ボールＢの３次元的な位置を２台のカメラ４０によって継続的に計測する計測装置２０（不図示）と、ゲーム画面を制御する制御装置１０（不図示）と、を備える。
【００３２】
本実施形態に係るゲームシステム１００により扱われるゲームは、複数人のユーザが卓球のボールＢをラケットで打ち合い、ボールＢがフィールドＦ上でバウンドすると、バウンドした位置に投影されたブロックがエフェクトＥを伴って消滅し、消滅させたブロックに応じてポイントが加算されるという、卓球とブロック崩しを融合したゲームである。
【００３３】
なお、本明細書では、卓球とブロック崩しを融合したゲームの場合について説明するが、ゲームシステム１００によって扱われるゲームは、これ以外のものであってもよい。例えば、ゲームシステム１００によって扱われるゲームは、テニスコート上にゲーム画面を投影し、複数人のユーザがテニスのボールをラケットで打ち合い、ボールがフィールド（テニスコート）上でバウンドすると、バウンドした位置に投影されたブロックがエフェクトを伴って消滅し、消滅させたブロックに応じてポイントが加算されるという、テニスとブロック崩しを融合したゲームであってもよい。また、この場合、ゲームの内容はブロック崩しに限定されず、ボールがフィールド上をバウンドすることで、何らかのゲーム操作を生じさせるゲームであれば融合するゲームの対象となり得る。その他、ボールを用いるゲームであれば、どのようなものであってもゲームシステム１００によって扱われる対象となり得る。
【００３４】
本実施形態に係るゲームシステム１００では、２台のカメラ４０によってボールの３次元的な位置を継続的に計測するが、カメラ４０の台数は任意である。また、カメラ４０は、１０ｆｐｓ程度でフィールドを撮影するものであればよく、必ずしも高速カメラでなくてもよい。
【００３５】
図２は、本発明の実施形態に係る制御装置１０の機能ブロック図である。制御装置１０は、取得部１１、記憶部１２、予測部１３、判定部１４及び遷移部１５を備える。
【００３６】
取得部１１は、計測装置２０からボールＢの３次元的な位置を取得する。計測装置２０は、複数台のカメラ４０によって連続的に撮影されたフィールドＦの画像に基づいて、ボールＢの３次元的な位置を継続的に計測する。取得部１１は、計測装置２０によって計測されたボールＢの３次元的な位置を、継続的に取得する。
【００３７】
記憶部１２は、取得部１１により取得され、計測装置２０により計測されたボールＢの３次元的な位置を、時刻とともに記憶する。記憶部１２は、ボールＢの３次元的な位置及び時刻を、フィールドＦの平面部分をｘ−ｙ座標系で表し、フィールドＦの平面に直交する高さ方向をｚ座標で表して、（ｘ、ｙ、ｚ、ｔ）というデータセットとして記憶してよい。
【００３８】
予測部１３は、複数の時刻におけるボールＢの３次元的な位置に基づいて、フィールドＦにおけるボールＢの落下地点を予測する。予測部１３は、複数の時刻及びそれぞれの時刻におけるボールＢの高さをｚ（ｔ）＝ａｚｔ２＋ｂｚｔ＋ｃｚという関係式に代入し、最小二乗法によって係数ａｚ、ｂｚ、ｃｚを算出し、算出された係数を用いて、ａｚｔ２＋ｂｚｔ＋ｃｚ＝０を満たすｔの実数解を求めることで、落下時刻ｔｂを予測する。さらに、予測部１３は、複数の時刻及びそれぞれの時刻におけるボールＢのｘ−ｙ座標系での位置をｘ（ｔ）＝ａｘｔ＋ｂｘという関係式及びｙ（ｔ）＝ａｙｔ＋ｂｙという関係式に代入し、最小二乗法によって係数ａｘ、ａｙ、ｂｘ、ｂｙを算出し、算出された係数を用いて、ｘｂ＝ｘ（ｔｂ）及びｙｂ＝ｙ（ｔｂ）を求めることで、ボールＢの落下地点（ｘｂ、ｙｂ）を予測する。
【００３９】
判定部１４は、予測部１３により予測された落下地点及び現在時刻におけるボールＢの３次元的な位置に基づいて、現在時刻の後にボールＢがバウンドするか否かを判定する。判定部１４は、現在時刻におけるボールＢの３次元的な位置から予測部１３により予測された落下地点までの距離が第１閾値より小さい場合に、現在時刻の後にボールＢがバウンドすると判定してよい。ここで、第１閾値は、例えば３０ｃｍとしてよいが、任意に設定してよい。
【００４０】
また、判定部１４は、所定の時間内にボールＢがバウンドしたと判定されておらず、ボールＢの高さが、第１閾値より小さい第２閾値より低い場合に、現在時刻の後にボールＢがバウンドすると判定してもよい。ここで、所定の時間は、例えば１００ミリ秒であってよく、第２閾値は、例えば８ｃｍであってよいが、いずれの値も任意に設定してよい。このように、ボールＢが直前までにバウンドしたと判定されておらず、ボールＢの高さが十分に低い場合に、ボールＢが直後にバウンドすると判定することで、ボールＢの３次元的な位置が十分な期間にわたって記憶部１２に記憶されていない場合であっても、ボールＢがバウンドするか否かを判定することができる。
【００４１】
判定部１４は、複数の時刻におけるボールＢの高さの平均値が、第３閾値より低い場合に、現在時刻の後にボールＢがバウンドすると判定せず、ボールＢが転がっていると判定する。ここで、第３閾値は、例えば１０ｃｍであってよく、ボールＢの高さの平均値は、少なくとも過去３つの時刻におけるボールＢの高さの平均値であってよいが、任意に設定してよい。
【００４２】
判定部１４は、現在時刻におけるボールＢの３次元的な位置に基づいて、ボールＢがフィールドＦの外に位置するか否かを判定してよい。ボールＢがフィールドＦの外に位置するか否かは、ボールＢのｘ−ｙ座標系における位置に基づいて判定してよい。記憶部１２は、判定部１４によりボールＢがフィールドＦの外に位置すると判定された場合に、記憶されたボールＢの３次元的な位置を消去する。制御装置１０は、ボールＢがフィールドＦの外に出た場合、ゲーム状況がリセットされると判定して、それまでに記憶されたボールＢの３次元的な位置を破棄し、新たに計測されるボールＢの３次元的な位置に基づいてボールＢの落下地点の予測を行う。
【００４３】
判定部１４は、複数の時刻におけるボールＢの３次元的な位置に基づいて、ボールＢの進行方向が逆転したか否かを判定してよい。ボールＢのｘ−ｙ座標のうち、ｘ座標が卓球台のネットに沿った方向であり、ｙ座標が、卓球台のネットに直交する方向である場合に、判定部１４は、連続する３つの時刻ｔ１、ｔ２、ｔ３に計測されたボールＢのｙ座標ｙ１、ｙ２、ｙ３に基づいて、（ｙ３−ｙ２）×（ｙ２−ｙ１）＜０を満たすならば、ボールＢの進行方向が逆転したと判定してよい。記憶部１２は、判定部１４によりボールＢの進行方向が逆転したと判定された場合に、記憶されたボールＢの３次元的な位置を消去する。制御装置１０は、ボールＢの進行方向が逆転したと判定された場合、すなわちボールＢが打ち返された場合、それまでに記憶されたボールＢの３次元的な位置を破棄し、新たに計測されるボールＢの３次元的な位置に基づいてボールＢの落下地点の予測を行う。
【００４４】
遷移部１５は、判定部１４によりボールＢがバウンドすると判定された場合に、ゲーム画面を遷移させる。遷移部１５は、判定部１４により現在時刻より後にボールＢがバウンドすると判定された場合に、ボールＢがバウンドするタイミングに合わせて、予測部１４により予測された落下地点にエフェクトが示されるように、ゲーム画面を遷移させてよい。エフェクトの一例は、図１に示したエフェクトＥであり、ブロックが爆発するエフェクトであってよい。
【００４５】
本実施形態に係るゲームシステム１００によれば、予測部１３によってボールＢの落下地点を予測し、ボールＢがフィールドＦに実際に落下するのに先立って、判定部１４によって、ボールＢがバウンドするか否かを判定することができる。そのため、ボールＢが比較的高速で移動する場合であっても、バウンドの判定の遅延が抑制され、フィールドＦ上に投影したゲーム画面を適切なタイミングで遷移させることができる。
【００４６】
また、ボールＢがバウンドするタイミングに合わせて、予測部１４により予測された落下地点にエフェクトＥが示されることで、ボールＢのバウンドとゲーム画面の遷移とが連動し、投影装置３０によるプロジェクションマッピングが、あたかも現実の現象であるかのような没入感を演出することができる。
【００４７】
図３は、本発明の実施形態に係る制御装置１０の物理的な構成を示す図である。制御装置１０は、ハードウェアプロセッサに相当するＣＰＵ（Central Processing Unit）１０ａと、メモリに相当するＲＡＭ（Random Access Memory）１０ｂと、メモリに相当するＲＯＭ（Read only Memory）１０ｃと、通信部１０ｄと、入力部１０ｅと、表示部１０ｆとを有する。これら各構成は、バスを介して相互にデータ送受信可能に接続される。
【００４８】
ＣＰＵ１０ａは、ＲＡＭ１０ｂ又はＲＯＭ１０ｃに記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。ＣＰＵ１０ａは、ゲーム画面の制御に関するプログラム（制御プログラム）を実行する演算装置である。ＣＰＵ１０ａは、入力部１０ｅや通信部１０ｄから種々の入力データを受け取り、入力データの演算結果を表示部１０ｆに表示したり、ＲＡＭ１０ｂやＲＯＭ１０ｃに格納したりする。
【００４９】
ＲＡＭ１０ｂは、データの書き換えが可能な記憶部であり、例えば半導体記憶素子で構成される。ＲＡＭ１０ｂは、ＣＰＵ１０ａが実行するアプリケーション等のプログラムやデータを記憶する。
【００５０】
ＲＯＭ１０ｃは、データの読み出しのみが可能な記憶部であり、例えば半導体記憶素子で構成される。ＲＯＭ１０ｃは、例えばファームウェア等のプログラムやデータを記憶する。
【００５１】
通信部１０ｄは、制御装置１０を通信ネットワークＮに接続するインターフェースであり、例えば、有線又は無線回線のデータ伝送路により構成されたＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット等の通信ネットワークに接続される。
【００５２】
入力部１０ｅは、ユーザからデータの入力を受け付けるものであり、例えば、キーボードやマウス、タッチパネルで構成される。
【００５３】
表示部１０ｆは、ＣＰＵ１０ａによる演算結果を視覚的に表示するものであり、例えば、ＬＣＤ（Liquid Crystal Display）により構成される。
【００５４】
制御プログラムは、ＲＡＭ１０ｂやＲＯＭ１０ｃ等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部１０ｄにより接続される通信ネットワークを介して提供されてもよい。制御装置１０では、ＣＰＵ１０ａが制御プログラムを実行することにより、本明細書によって説明する様々な機能が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、制御装置１０は、ＣＰＵ１０ａとＲＡＭ１０ｂやＲＯＭ１０ｃが一体化したＬＳＩ（Large-Scale Integration）を備えていてもよい。
【００５５】
図４は、本発明の実施形態に係る制御装置１０により予測されるボールＢの落下時刻を示す第１グラフである。同図では、縦軸にボールＢの高さｚを表し、横軸に時刻ｔを表して、予測部１３により予測されたボールＢの落下軌道Ｃ１を示している。
【００５６】
予測部１３は、時刻ｔ１に測定されたボールＢの高さと、時刻ｔ１をｚ（ｔ）＝ａｚｔ２＋ｂｚｔ＋ｃｚという関係式に代入して予測されるボールＢの高さとの差δ１を算出する。同様に、予測部１３は、時刻ｔ２、ｔ３、ｔ４について、測定されたボールＢの高さと、予測されるボールＢの高さとの差δ２、δ３、δ４を算出する。そして、予測部１３は、（δ１）２＋（δ２）２＋（δ３）２＋（δ４）２という量が最小となるように、係数ａｚ、ｂｚ、ｃｚを算出する。その後、予測部１３は、算出された係数を用いて、ａｚｔ２＋ｂｚｔ＋ｃｚ＝０を満たすｔの実数解を求めることで、落下時刻ｔｂを予測する。なお、本例では、データ点が４つである場合について例示したが、データ点の数は４以外であってもよい。
【００５７】
予測部１３は、ｚ（ｔ）＝ａｚｔ２＋ｂｚｔ＋ｃｚという関係式以外の式を用いて、ボールＢの高さを予測してもよい。例えば、予測部１３は、空気抵抗の影響を含めた関係式によってボールＢの高さを予測してもよく、関係式は、一般に、時間ｔの多項式でなくてもよい。
【００５８】
図５は、本発明の実施形態に係る制御装置１０により予測されるボールＢの落下地点を示す第２グラフである。同図では、縦軸にボールＢのｙ軸方向の位置ｙを表し、横軸にｘ軸方向の位置ｘを表して、予測部１３により予測されたボールＢの飛翔軌道Ｃ２を示している。ここで、ｙ軸方向は、例えば卓球台のネットに直交する方向であり、ｘ軸方向は、例えば卓球台のネットに沿う方向である。
【００５９】
予測部１３は、時刻ｔ１に測定されたボールＢのｘ座標における位置と、時刻ｔ１をｘ（ｔ）＝ａｘｔ＋ｂｘという関係式に代入して予測されるボールＢのｘ座標における位置との差を算出する。また、時刻ｔ１に測定されたボールＢのｙ座標における位置と、時刻ｔ１をｙ（ｔ）＝ａｙｔ＋ｂｙという関係式に代入して予測されるボールＢのｙ座標における位置との差を算出する。同様に、予測部１３は、測定されたボールＢのｘ−ｙ座標系における位置と、予測されるボールＢのｘ−ｙ座標系における位置との差を算出する。そして、予測部１３は、ｘ座標に関して算出された予測値と実測値との差の二乗和が最小となるように、係数ａｘ、ｂｘを算出し、ｙ座標に関して算出された予測値と実測値との差の二乗和が最小となるように、係数ａｙ、ｂｙを算出する。その後、予測部１３は、算出された係数を用いて、ｘ（ｔ）＝ａｘｔ＋ｂｘという関係式及びｙ（ｔ）＝ａｙｔ＋ｂｙという関係式に落下時刻ｔｂを代入して、ｘｂ＝ｘ（ｔｂ）及びｙｂ＝ｙ（ｔｂ）を求めることで、ボールＢの落下地点（ｘｂ、ｙｂ）を予測する。なお、本例では、データ点が４つである場合について例示したが、データ点の数は４以外であってもよい。
【００６０】
予測部１３は、ｘ（ｔ）＝ａｘｔ＋ｂｘという関係式及びｙ（ｔ）＝ａｙｔ＋ｂｙという関係式以外の式を用いて、ボールＢのｘ−ｙ座標系における位置を予測してもよい。例えば、予測部１３は、空気抵抗の影響を含めた関係式によってボールＢのｘ−ｙ座標系における位置を予測してもよく、関係式は、一般に、時間ｔの多項式でなくてもよい。
【００６１】
図６は、本発明の実施形態に係る制御装置１０により実行される第１処理のフローチャートである。第１処理は、記憶部１２に記憶されたボールＢの３次元的な位置の履歴を消去するか否かを判定する処理である。
【００６２】
はじめに、制御装置１０は、取得部１１によって、計測装置２０からボールＢの３次元的な位置を取得する（Ｓ１０）。その後、判定部１４は、１００ミリ秒以内にボールＢがバウンドしたと判定されておらず、現在時刻のボールＢの高さが８ｃｍ以下であるか否かを判定する（Ｓ１１）。１００ミリ秒以内にボールＢがバウンドしたと判定されておらず、現在時刻のボールＢの高さが８ｃｍ以下である場合（Ｓ１１：Ｙｅｓ）、判定部１４は、現在時刻の直後にボールＢがバウンドすると判定する（Ｓ１２）。遷移部１５は、バウンドのタイミングに合わせて、ボールＢの現在のｘ−ｙ座標系における位置にエフェクトＥを表示させ、ボールＢがバウンドした位置のブロックを消去するように、投影装置３０により投影されるゲーム画面を遷移させ（Ｓ１３）、第１処理が終了する。このように、ボールＢが直前までにバウンドしたと判定されておらず、ボールＢの高さが十分に低い場合に、ボールＢが直後にバウンドすると判定することで、ボールＢの３次元的な位置が十分な期間にわたって記憶部１２に記憶されていない場合であっても、ボールＢがバウンドするか否かを判定することができる。
【００６３】
一方、１００ミリ秒以内にボールＢがバウンドしたと判定されているか又は現在時刻のボールＢの高さが８ｃｍ以下でない場合（Ｓ１１：Ｎｏ）、判定部１４は、少なくとも過去３つの時刻におけるボールＢの高さの平均値が、１０ｃｍより低いか否かを判定する（Ｓ１４）。過去３つの時刻におけるボールＢの高さの平均値が、１０ｃｍより低いと判定される場合（Ｓ１４：Ｙｅｓ）、判定部１４は、ボールＢが転がっていると判定する（Ｓ１５）。この場合、遷移部１５は、ボールＢの現在のｘ−ｙ座標系における位置に表示されたブロックを消去せず、ブロックの表示を維持するように、投影装置３０により投影されるゲーム画面の表示を維持し（Ｓ１６）、第１処理が終了する。
【００６４】
本実施形態に係るゲームシステム１００によれば、ボールＢがフィールドＦ上を転がっている場合、すなわちボールＢがゲームにおけるポイント加算の対象とならない動きをしている場合、投影装置３０により投影されるゲーム画面を遷移させず、ゲームにおけるポイント加算の状況とゲーム画面の表示態様とを整合させることができる。
【００６５】
一方、過去３つの時刻におけるボールＢの高さの平均値が、１０ｃｍより低いと判定されない場合（Ｓ１４：Ｎｏ）、判定部１４は、現在時刻におけるボールＢの３次元的な位置に基づいて、ボールＢがフィールドＦの外に位置するか否かを判定する（Ｓ１７）。ボールＢがフィールドＦの外に位置すると判定される場合（Ｓ１７：Ｙｅｓ）、記憶部１２は、それまでに記憶されたボールＢの３次元的な位置を消去する（Ｓ１８）。この場合、遷移部１５は、ボールＢの現在のｘ−ｙ座標系における位置に表示されたブロックを消去せず、ブロックの表示を維持するように、投影装置３０により投影されるゲーム画面の表示を維持し（Ｓ１６）、第１処理が終了する。
【００６６】
本実施形態に係るゲームシステム１００によれば、ボールＢがフィールドＦの外に位置する場合、すなわちゲームの進行が中断される状況となった場合、それまでに記憶されたボールＢの３次元的な位置を消去する。これにより、その後に新たに記憶されるボールＢの３次元的な位置に基づいてボールＢの軌道が予測されることとなり、ボールＢがバウンドするか否かについて誤判定することを防止することができる。
【００６７】
ボールＢがフィールドＦの外に位置すると判定されない場合（Ｓ１７：Ｎｏ）、すなわちボールＢがフィールＦ内に位置すると判定される場合、判定部１４は、少なくとも過去３つの時刻におけるボールＢの３次元的な位置に基づいて、ボールの進行方向が逆転したか否かを判定する（Ｓ１９）。ボールの進行方向が逆転したと判定される場合（Ｓ１９：Ｙｅｓ）、記憶部１２は、それまでに記憶されたボールＢの３次元的な位置を消去する（Ｓ１８）。この場合、遷移部１５は、ボールＢの現在のｘ−ｙ座標系における位置に表示されたブロックを消去せず、ブロックの表示を維持するように、投影装置３０により投影されるゲーム画面の表示を維持し（Ｓ１６）、第１処理が終了する。
【００６８】
本実施形態に係るゲームシステム１００によれば、ボールＢの進行方向が逆転した場合、すなわちボールＢが打ち返されて、ボールＢが新しい軌道で移動するようになった場合、それまでに記憶されたボールＢの３次元的な位置を消去する。これにより、打ち返された後に記憶されるボールＢの３次元的な位置に基づいてボールＢの軌道が予測されることとなり、ボールＢがバウンドするか否かについて誤判定することを防止することができる。
【００６９】
一方、ボールの進行方向が逆転したと判定されない場合（Ｓ１９：Ｎｏ）、制御装置２０は、次図に示す第２処理を実行する。
【００７０】
図７は、本発明の実施形態に係る制御装置１０により実行される第２処理のフローチャートである。第２処理は、第１処理に続いて行われる処理であり、ボールＢの軌道を予測して、ボールＢがバウンドするか否かを判定する処理である。
【００７１】
予測部１３は、記憶部１２に記憶されたボールＢの高さの履歴に基づいて、最小二乗法によって、落下時刻ｔｂを予測する（Ｓ２０）。そして、記憶部１２に記憶されたボールＢのｘ−ｙ座標系における位置の履歴に基づいて、ボールＢの飛翔軌道を予測し、予測された落下時刻ｔｂを代入することで、ボールＢのｘ−ｙ座標系における落下地点（ｘｂ、ｙｂ）を予測する（Ｓ２１）。
【００７２】
判定部１４は、現在のボールＢの位置（ｘ、ｙ、ｚ）から、予測された落下地点（ｘｂ、ｙｂ）までの距離、すなわち（（ｘ−ｘｂ）２＋（ｙ−ｙｂ）２＋ｚ２）１／２が３０ｃｍより小さいか否かを判定する（Ｓ２２）。現在のボールＢの位置から予測された落下地点までに距離が３０ｃｍより小さいと判定される場合（Ｓ２２：Ｙｅｓ）、判定部１４は、現在時刻の直後にボールＢがバウンドすると判定する（Ｓ２３）。そして、遷移部１５は、ボールＢがバウンドするタイミングに合わせて、予測された落下地点（ｘｂ、ｙｂ）にエフェクトＥを表示し、落下地点（ｘｂ、ｙｂ）に表示されたブロックを消去するように、投影装置３０により投影されるゲーム画面を遷移させる（Ｓ２４）。
【００７３】
一方、現在のボールＢの位置から予測された落下地点までに距離が３０ｃｍより小さいと判定されない場合（Ｓ２２：Ｎｏ）、判定部１４は、現在時刻の直後にはボールＢはバウンドしないと判定する（Ｓ２５）。そして、遷移部１５は、ボールＢの現在のｘ−ｙ座標系における位置に表示されたブロックを消去せず、ブロックの表示を維持するように、投影装置３０により投影されるゲーム画面の表示を維持し（Ｓ２６）、第２処理が終了する。
【００７４】
本実施形態に係るゲームシステム１００によれば、現在時刻におけるボールＢの３次元的な位置から予測部１３により予測された落下地点までの距離が十分小さい場合に、現在時刻の後にボールＢがバウンドすると判定することで、ボールＢのバウンドを精度良く予測することができ、フィールドＦ上に投影したゲーム画面を適切なタイミングで遷移させることができる。
【００７５】
図８は、本発明の実施形態に係る制御装置１０により実行される第３処理のフローチャートである。第３処理は、ゲームを終了又は中断した場合に行われる処理であり、メニュー選択を行う処理である。
【００７６】
制御装置１０は、ゲームが終了したか又はゲームが中断されたか否かを判定する（Ｓ３０）。ゲームが終了したか又はゲームが中断されたと判定される場合（Ｓ３０：Ｙｅｓ）、すなわち所定の条件が満たされた場合、遷移部１５は、ゲーム画面を、１又は複数の選択可能なオブジェクトを含むメニュー画面に遷移させる（Ｓ３１）。この場合、取得部１１は、計測装置２０からボールＢの３次元的な位置を取得する（Ｓ３２）。
【００７７】
判定部１４は、ボールＢの３次元的な位置に基づいて、ボールＢによって、１又は複数の選択可能なオブジェクトのうちいずれか１つのオブジェクトを選択するアクションが行われたか否かを判定する。より具体的には、判定部１４は、ボールＢのｘ−ｙ座標系における位置が、特定のオブジェクト内に収まっているか否かを判定する（Ｓ３３）。ボールＢのｘ−ｙ座標系における位置が、特定のオブジェクト内に収まっていない場合（Ｓ３３：Ｎｏ）、ボールＢの３次元的な位置の取得（Ｓ３２）と、ボールＢのｘ−ｙ座標系における位置が、特定のオブジェクト内に収まっているか否かの判定（Ｓ３３）とを繰り返す。
【００７８】
ボールＢのｘ−ｙ座標系における位置が、特定のオブジェクト内に収まっていると判定される場合（Ｓ３３：Ｙｅｓ）、判定部１４は、ボールＢによって所定のアクションが行われたか否かを判定する（Ｓ３４）。ここで、所定のアクションとは、ボールＢがバウンドすることや、ボールＢが転がることであってよい。ボールＢのバウンドやボールＢの転がりについては、第１処理及び第２処理において説明したのと同様の方法によって判定することができる。ボールＢによって所定のアクションが行われていないと判定される場合（Ｓ３４：Ｎｏ）、ボールＢの３次元的な位置の取得（Ｓ３２）と、ボールＢのｘ−ｙ座標系における位置が、特定のオブジェクト内に収まっているか否かの判定（Ｓ３３）と、ボールＢによって所定のアクションが行われたか否かの判定（Ｓ３４）とを繰り返す。
【００７９】
ボールＢによって所定のアクションが行われたと判定される場合（Ｓ３４：Ｙｅｓ）、遷移部１５は、メニュー画面を遷移させる（Ｓ３５）。遷移部１５は、選択されたオブジェクトに対応したメニュー画面の遷移を行ってよい。
【００８０】
なお、ゲームが終了しておらず、ゲームが中断もされていない場合（Ｓ３０：Ｎｏ）、遷移部１５は、投影装置３０により投影されるゲーム画面の表示を維持し（Ｓ３６）、第３処理が終了する。
【００８１】
本実施形態に係るゲームシステム１００によれば、メニュー画面の操作をボールＢによって行うことができるようになり、新しい感覚で操作することのできるＵＩを提供することができる。
【００８２】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【００８３】
本発明は、ゲームシステムとしているが、卓球やテニスといったボールを用いたゲームのトレーニングに用いることも可能である。例えば、フィールドを複数の領域に分けて、投影装置３０によって複数の領域に順次ブロックを投影して、投影されたブロックを順番に狙ってボールを打つようなトレーニングに用いることができる。この場合、制御装置１０によって、次に狙うべきブロックを投影装置３０に投影させ、ボールがブロックの位置でバウンドするか否かを判定して、ボールがブロックの位置でバウンドすると判定された場合に、投影画面を遷移させるようにしてよい。
【要約】
ゲームシステム１００は、ボールＢの３次元的な位置を継続的に計測する計測装置２０と、ボールＢを用いたゲームが行われるフィールドＦ上に、ゲーム画面を投影する投影装置３０と、ゲーム画面を制御する制御装置１０と、を備えるゲームシステム１００であって、制御装置１０は、計測装置２０により計測されたボールＢの３次元的な位置を時刻とともに記憶する記憶部と、複数の時刻におけるボールＢの３次元的な位置に基づいて、フィールドＦにおけるボールＢの落下地点を予測する予測部と、予測部により予測された落下地点及び現在時刻におけるボールＢの３次元的な位置に基づいて、現在時刻の後にボールＢがバウンドするか否かを判定する判定部と、判定部によりボールＢがバウンドすると判定された場合に、ゲーム画面を遷移させる遷移部と、を有する。【図１】
0006431623.tif 000002
【図２】
0006431623.tif 000003
【図３】
0006431623.tif 000004
【図４】
0006431623.tif 000005
【図５】
0006431623.tif 000006
【図６】
0006431623.tif 000007
【図７】
0006431623.tif 000008
【図８】
0006431623.tif 000009