【文献】
ありそうでなかった!プロジェクションマッピングで体を動かしながら遊ぶ「エアホッケー」 特集:SPORTEC2018#2,[online],2018年 8月 2日,主に「テクノロジーを駆使したコンテンツ制作」、「プロジェクションマッピングとの相性の良さ」等を参照。,[2019年10月28日検索],インターネット<URL:https://melos.media/hobby/29725>,URL,https://melos.media/hobby/29725
【文献】
報道資料2010年度版−10月1日−セキュリティ(防犯・警備)のセコム,[online],2010年10月 1日,主に『「レーザセンサー」の概要』等を参照。,[2019年10月28日検索],インターネット<URL:https://www.secom.co.jp/corporate/release/2010/nr_20101001.html>,URL,https://www.secom.co.jp/corporate/release/2010/nr_20101001.html
【文献】
レーザー距離計の測定原理(仕組み) 株式会社ムーヴ,[online],2018年 4月26日,主に「レーザー距離計の基本機能で、こんなことができます!」等を参照。,[2019年10月28日検索],インターネット<URL:https://web.archive.org/web/20180426051010/http://www.movecorp.co.jp:80/Products/leica_how.html>,URL,https://web.archive.org/web/20180426051010/http://www.movecorp.co.jp:80/Products/leica_how.html
(58)【調査した分野】(Int.Cl.,DB名)
仮想空間の画像である投影画像を投影面に投影する投影装置と、前記投影面に略平行に該投影面上をレーザで走査して該投影面上の被検出物を検出する検出センサであって該投影面の周囲又は/及び該投影面上の複数の位置に配置された複数の検出センサと、通信又は接続が可能なコンピュータ装置において実行されるプログラムであって、
前記コンピュータ装置を、
前記複数の検出センサのそれぞれから検出結果を取得する取得機能、
前記仮想空間内の仮想オブジェクトの動作を制御する機能であって、被検出物に対応する仮想の特定オブジェクトを該仮想空間の配置面上に配置する制御機能、
前記配置面を含む前記仮想空間の投影画像を生成するとともに、前記投影装置に送信する画像生成機能、
を実現させ、
前記制御機能では、
前記検出結果に基づいて被検出物の前記投影面上での位置に対応する前記配置面上の位置を算出し、算出した該配置面上の位置に前記仮想の特定オブジェクトを配置する機能、
前記検出結果に基づいて算出した前記配置面上の位置のうち、所定距離以内に2以上の配置面上の位置がある場合、該2以上の配置面上の位置の平均値を、前記仮想の特定オブジェクトの配置面上の位置とする機能、
を実現させるプログラム。
仮想空間の画像である投影画像を投影面に投影する投影装置と、前記投影面に略平行に該投影面上をレーザで走査して該投影面上の被検出物を検出する検出センサであって該投影面の周囲又は/及び該投影面上の複数の位置に配置された複数の検出センサと、該投影装置及び検出センサと通信又は接続が可能なコンピュータ装置とを備えた投影システムであって、
前記複数の検出センサのそれぞれから検出結果を取得する取得手段、
前記仮想空間内の仮想オブジェクトの動作を制御する手段であって、被検出物に対応する仮想の特定オブジェクトを該仮想空間の配置面上に配置する制御手段、
前記配置面を含む前記仮想空間の投影画像を生成するとともに、前記投影装置に送信する画像生成手段、
を含み、
前記制御手段は、
前記検出結果に基づいて被検出物の前記投影面上での位置に対応する前記配置面上の位置を算出し、算出した該配置面上の位置に前記仮想の特定オブジェクトを配置し、
前記検出結果に基づいて算出した前記配置面上の位置のうち、所定距離以内に2以上の配置面上の位置がある場合、該2以上の配置面上の位置の平均値を、前記仮想の特定オブジェクトの配置面上の位置とする、
投影システム。
仮想空間の画像である投影画像を投影面に投影する投影装置と、前記投影面に略平行に該投影面上をレーザで走査して該投影面上の被検出物を検出する検出センサであって該投影面の周囲又は/及び該投影面上の複数の位置に配置された複数の検出センサと、通信又は接続が可能なコンピュータ装置であって、
前記複数の検出センサのそれぞれから検出結果を取得する取得手段、
前記仮想空間内の仮想オブジェクトの動作を制御する手段であって、被検出物に対応する仮想の特定オブジェクトを該仮想空間の配置面上に配置する制御手段、
前記配置面を含む前記仮想空間の投影画像を生成するとともに、前記投影装置に送信する画像生成手段、
を含み、
前記制御手段は、
前記検出結果に基づいて被検出物の前記投影面上での位置に対応する前記配置面上の位置を算出し、算出した該配置面上の位置に前記仮想の特定オブジェクトを配置し、
前記検出結果に基づいて算出した前記配置面上の位置のうち、所定距離以内に2以上の配置面上の位置がある場合、該2以上の配置面上の位置の平均値を、前記仮想の特定オブジェクトの配置面上の位置とする、
コンピュータ装置。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態の例について図面を参照しつつ説明する。なお、以下で説明する各実施形態の例における各種構成要素は、矛盾等が生じない範囲で適宜組み合わせ可能である。また、ある実施形態の例として説明した内容については、他の実施形態においてその説明を省略している場合がある。また、各実施形態の特徴部分に関係しない動作や処理については、その内容を省略している場合がある。さらに、以下で説明する各種フローを構成する各種処理の順序は、処理内容に矛盾等が生じない範囲で順不同である。
【0014】
[第1の実施形態]
図1は、本発明の実施形態の少なくとも一つに対応する投影システム100の構成の例を示すブロック図である。
図1に示すように、投影システム100は、コンピュータ装置20、投影装置30、複数の検出センサ40(40A〜40C)を含んでいる。なお、投影システム100の構成は、これに限定さるものではない。
【0015】
投影システム100は、現実の建物や室内空間の壁面及び床面等を投影面として、仮想空間の画像である投影画像を投影する各種機能を有する。本実施形態の例では、複数の検出センサ40A〜40Cを用いて投影面上の被検出物が検出され、被検出物に対応する仮想の特定オブジェクトが仮想空間の配置面上に配置される。
【0016】
本実施形態の例では、室内空間の床面FLを投影面50とし、床面FL上にいる仮想空間の体験者であるユーザPLを例として説明する。そして、ユーザPLに対応する仮想の特定オブジェクトが仮想空間に配置される。また、投影面50には、配置面を含む仮想空間の投影画像が投影される。仮想空間の配置面は、仮想の特定オブジェクトが配置される面である。仮想の特定オブジェクトは、被検出物の投影面上での位置に対応する配置面上の位置に配置される。例えば、仮想の特定オブジェクトが、ユーザPLのいる位置に投影されるように配置面上に配置される。したがって、投影される仮想空間にユーザPLの動作が反映される。
【0017】
コンピュータ装置20は、投影装置30及び検出センサ40と、有線又は無線の通信回線を介して接続されている。コンピュータ装置は、例えば、パーソナルコンピュータ、タブレットコンピュータやPDA(Personal Digital Assistants)、携帯型情報端末等であればよい。あるいは、ゲーム装置等のビデオゲームを実行することが可能なゲーム装置等であってもよい。
【0018】
コンピュータ装置20は、仮想空間の投影画像を投影するべく、キーボード等の操作部、ハードディスクドライブ等の記憶部、仮想空間を生成して投影画像を生成するCPU等から構成される制御部、液晶モニタなどの表示部等を備えるが、一般的な構成であるので詳細な説明は省略する。また、コンピュータ装置20には、仮想空間を生成して投影画像の生成を制御するためのソフトウェア(プログラム)が記憶部に記憶されている。なお、プログラムには、各種データも含まれる。
【0019】
投影装置30は、投影面50に空間を挟んで対向し、コンピュータ装置20から受信した投影画像を投影面50に投影する。投影画像は、カラーであっても白黒であってもよい。また、複数の投影装置を用いて1の投影面50に投影画像を投影してもよい。なお、投影装置30は、一般的な構成であるので詳細な説明は省略する。
【0020】
検出センサ40は、投影面50に略平行に投影面上をレーザで走査し、投影面上のユーザPL等の被検出物を検出する(
図5参照)。検出センサ40は、例えば、1軸走査型の測域センサである。検出センサ40は、投影面50の周囲及び投影面50上のいずれかに配置される。本実施形態の例では、検出センサ40A〜40Cは、床面FL(投影面50)上の一辺に等間隔に配置される。
【0021】
また、本実施形態の例では、複数の検出センサ40A〜40Cが用いられているので、複数の被検出物が存在する場合でも、より正確に検出が可能である。単一の検出センサでは、レーザの照射方向上に複数の被検出物が並んで配置されているような場合、検出センサに対して後方にいる被検出物は検出されない場合がある。本実施形態の例では、或る検出センサが検出できない被検出物であっても、別の検出センサが検出することができる場合がある。
【0022】
なお、検出センサの配置数は、複数であれば特に限定されない。配置位置は、検出センサ40の走査範囲及び投影する投影面50に合わせて配置すればよい。また、投影面50に「略平行」は、投影面50に完全に平行である場合も含む。
【0023】
次に、コンピュータ装置20の構成の例であるコンピュータ装置20Aの構成について、
図2を参照しつつ説明する。コンピュータ装置20Aは、制御部が上述のソフトウェア(プログラム)を実行することで、仮想空間を生成して投影画像の生成を制御するための取得部(取得機能)21、オブジェクト制御部(制御機能)22及び画像生成部(画像生成機能)23を少なくとも備える。
【0024】
取得部21は、複数の検出センサ40A〜40Cのそれぞれから検出結果を取得する。検出結果は、検出センサに対する被検出物の位置を特定する情報である。オブジェクト制御部22は、仮想空間内の仮想オブジェクトの動作を制御する。またオブジェクト制御部22は、被検出物に対応する仮想の特定オブジェクトを仮想空間の配置面上に配置する。より詳細には、オブジェクト制御部22は、検出センサ40からの検出結果に基づいて被検出物の投影面上での位置に対応する配置面上の位置を算出する。その後、オブジェクト制御部22は、算出した配置面上の位置に仮想の特定オブジェクトを配置する。
【0025】
上記配置面上の位置は、例えば、投影面50(投影領域)と仮想空間の配置面とが一致するように投影される場合、仮想の特定オブジェクトは、被検出物の投影面上での位置に一致する配置面上の位置に配置される。例えば、仮想の特定オブジェクトが、ユーザPLのいる位置に投影されるように仮想空間の配置面上に配置される。上記配置面上の位置は、検出結果を用いて所定の算出処理を行って算出される。
【0026】
検出結果は、現実空間での検出センサ40と被検出物との相対的な位置を示す情報である。したがって、所定の算出処理では、例えば、現実空間での検出センサ40の配置位置及び向きに対応する仮想空間の配置面上の位置及び向きとの相対的な位置を、検出結果に基づいて算出すればよい。この場合、検出センサ40の配置位置及び向きに対応する仮想空間での位置(座標情報)及び向きと、現実空間での距離と仮想空間での距離との変換値を、予めコンピュータ装置20の記憶部に記憶しておけばよい。なお、検出センサ40の向きは、例えば、レーザの走査開始位置のレーザの照射方向である。
画像生成部23は、配置面を含む仮想空間の投影画像を生成するとともに、投影装置30に送信する。
【0027】
次に、この実施形態の投影システム100(システム100)の動作について説明する。
【0028】
図3は、システム100が実行する投影処理の例を示すフローチャートである。投影処理では、被検出物を検出しつつ生成した投影画像を投影面50に投影するための処理が行われる。以下、コンピュータ装置20Aが投影処理を実行する場合を例にして説明する。
【0029】
本実施形態の例の投影処理は、例えば、コンピュータ装置20Aに、投影開始の操作入力があったことを契機として実行される。
【0030】
コンピュータ装置20Aは、各検出センサ40A〜40Cから検出結果を取得する取得処理を実行する(ステップS10)。次に、コンピュータ装置20Aは、仮想の特定オブジェクトの配置位置の算出処理を実行する(ステップS11)。上述したように、検出結果に基づいて所定の算出処理が行われる。なお、複数の被検出物が検出された場合は、各被検出物に対応する仮想の特定オブジェクトの配置位置が算出される。また、被検出物が検出されなかった場合は、ステップS11の処理は終了する。
【0031】
次に、コンピュータ装置20Aは、仮想オブジェクトの動作処理を行う(ステップS12)。具体的には、コンピュータ装置20Aは、仮想空間内の仮想オブジェクトのそれぞれを動作させる。例えば、移動中の仮想オブジェクトであれば、次に移動すべき位置等を決定して移動させる。また、コンピュータ装置20Aは、ステップS11の処理で算出された位置に、仮想の特定オブジェクトを配置する。
【0032】
その後、コンピュータ装置20Aは、投影画像の生成送信処理を行う(ステップS13)。例えば、仮想カメラを用いて配置面を含む仮想空間を撮影した画像が投影画像として生成される。そして、生成された投影画像は、投影装置30に送信される。なお、仮想カメラを用いた画像の生成は一般的な処理であるので詳細な説明は省略する。
【0033】
次に、コンピュータ装置20Aは、投影が終了であるか否かを判断する(ステップS14)。コンピュータ装置20Aは、例えば、所定の終了条件が成立した場合に投影終了と判断すればよい。終了条件としては、例えば、所定時間が経過した場合、仮想空間において所定の仮想オブジェクトが所定のステータスとなった場合、終了の操作入力が行われた場合がある。
【0034】
投影終了と判断した場合(ステップS14:YES)、コンピュータ装置20Aは、投影処理を終了する。一方、投影終了ではないと判断した場合(ステップS14:NO)、コンピュータ装置20Aは、ステップS10の処理に戻る。
【0035】
以上のように、第1の実施形態の一側面として、コンピュータ装置20Aが、取得部21、オブジェクト制御部22及び画像生成部23を備える構成としているので、複数の検出センサを用いて被検出物が検出されるので、複数の被検出物がより正確に検出される。そして、被検出物に対応する仮想の特定オブジェクトが仮想空間の配置面に配置される。これによって、現実空間にある被検出物をより正確に仮想空間に反映させることができ、仮想空間の画像が投影されている投影面を視認しているユーザは、仮想空間にいるような体験をすることができる。
【0036】
なお、上述した第1の実施形態の例では、コンピュータ装置20Aが、単一の投影装置に投影させる1の仮想空間の投影画像を生成しているが、特にこれに限定されるものではない。例えば、コンピュータ装置がサーバ装置として機能し、複数の投影装置に投影させる複数の仮想空間を生成し、各仮想空間の投影画像を各投影装置に送信するようにしてもよい。
【0037】
上述の「投影面」は、単一面に限定されるものではない。例えば、床面と、この床面と連結する壁面との複数面を投影面としてもよい。また、投影面(投影領域)の形状は、矩形に限定されるものではない。例えば、円形や楕円形であってもよい。
【0038】
上述の「仮想空間」は、配置面が含まれていれば、二次元空間であっても三次元空間であってもよい。例えば、仮想空間としては、ビデオゲームのゲーム空間がある。ゲーム空間では、プレイヤの対戦相手となる敵キャラクタや建物等の仮想オブジェクトが配置される。そして、被検出物がビデオゲームのプレイヤ(ユーザ)となる。この場合、プレイヤに対応する仮想の特定オブジェクトとしては、例えば、プレイヤを疑似的に表現したオブジェクトがある。また、投影面では、敵キャラクタ等を含む投影画像が投影される。
【0039】
上述の「仮想の特定オブジェクト」は、上述のプレイヤを疑似的に表現したオブジェクト以外にも、どのような形状であってもよい。また、仮想の特定オブジェクトは、投影画像に含まれない非表示のオブジェクトであってもよい。非表示のオブジェクトとしては、ビデオ―ゲームにおいて、他の仮想オブジェクトとの衝突判定に用いられる衝突判定用の仮想オブジェクトがある。
【0040】
上述の「複数の検出センサ」は、投影面において被検出物を検出できるようにレーザの走査範囲を考慮して配置することが望ましい。例えば、検出センサとして、検出可能距離が10(m)、走査角度270度、ステップ角0.25度、走査時間25(msec)の測域センサを用いた場合を例にして説明する。
図4は、
図1に示す床面FL(投影面50)の平面図である。床面FLは、縦5(m)、横15(m)である。測域センサである3つの検出センサ40A〜40Cの走査範囲SC1〜SC3は、床面FLに略平行な同図に示すような範囲となる。したがって、床面FL全体が被検出物の検出可能範囲となる。
【0041】
上述の測域センサは、
図5に示すように、光学系を0度〜270度まで回転させて0.25度の間隔で順にレーザを照射していく。測域センサは、例えば、投影面50から高さ5(cm)程度の位置でレーザを照射する。そして、測域センサは、レーザを照射してから被検出物に反射した光を受け取るまでの時間を測定して、被検出物までの距離を測定する。したがって、例えば、
図5に示すようなユーザPLの足が検出される場合、照射したレーザ毎に検出されたユーザPLの足までの距離及び角度が測域センサによって検出される。角度は、レーザの走査開始位置のレーザの照射方向に対する角度である。
【0042】
配置面上の位置を算出する所定の算出処理では、例えば、測域センサの配置位置及び向きに対応する仮想空間内の位置及び向き、及び、現実空間での距離と仮想空間での距離との変換値を用いて、検出結果(距離及び角度)から算出される。
【0043】
したがって、ユーザPLの足は、
図5に示すような複数の位置情報として検出される。この検出結果に対して、検出されたの複数の位置情報に対応する配置面上の位置のそれぞれに仮想の特定オブジェクトを配置してもよい。仮想の特定オブジェクトは、例えば、円筒形の仮想オブジェクトである。
図6は、
図5に示すユーザPL足の複数の位置Q1〜Q3に対応する配置面61上の位置に、円筒形の仮想オブジェクトVO1〜VO3を配置した状態を示す。
【0044】
仮想オブジェクトVO1〜VO3が、例えば、衝突判定用のオブジェクトである場合、衝突した他の仮想オブジェクトの移動方向が変更される。すなわち、投影画像においては、投影面50に投影された移動中の他の仮想オブジェクト付近にユーザPLが足を置いた場合、他の仮想オブジェクトは、ユーザPLの足に跳ね返ったように移動する。
【0045】
なお、被検出物から複数の位置情報を検出した場合、近接する複数の位置情報から平均値を算出し、平均値を1の被検出物の位置情報としてもよい。
【0046】
また、
図5において、ユーザPLがレーザの走査の障害となるような波線で示す位置に別のユーザが存在する場合、検出センサ40では、別のユーザを検出することができないが、本実施形態の例の別の検出センサ40B,40Cでは検出される。
【0047】
[第2の実施形態]
本実施形態の例では、システム100の例であるシステム100Bについて説明する。
図7は、投影システム100の例であるシステム100Bの構成の例を示すブロック図である。
図8は、仮想空間60の一例を示す図である。
【0048】
本実施形態の例では、室内空間の床面FLである投影面50の投影領域51と仮想空間60の配置面61とが相似形となる。本実施形態の例では、投影領域51及び配置面61は長方形である。また、投影領域51の基準位置RSと配置面61の基準位置VSとが対応付けられている。
【0049】
なお、投影領域51は、投影面50において投影画像が投影される領域である。本実施形態では、投影面50の全体が投影領域51として説明する。また、床面FLは、例えば、縦5(m)、横15(m)のサイズである。
【0050】
さらに、本実施形態の例では、配置面61の画像が投影画像として投影領域51に投影される。より具体的には、投影領域51の基準位置RSと配置面61の基準位置VSとが重なるように、配置面61の全体を示す画像が投影領域51に投影される。したがって、投影領域51に配置面61が疑似的に生成された状態となる。
【0051】
次に、コンピュータ装置20の構成の例であるコンピュータ装置20Bの構成について、
図9を参照しつつ説明する。コンピュータ装置20Bは、取得部21、オブジェクト制御部22B及び画像生成部23を少なくとも備える。
【0052】
取得部21は、複数の検出センサ40A〜40Cのそれぞれから検出結果を取得する。
【0053】
検出結果は、検出センサに対する被検出物(ユーザPL)の位置を特定する情報である。本実施形態の例では、検出センサ40から被検出物までの距離と、検出センサ40の向きに対する被検出物及び検出センサを結ぶ線分の角度と、が検出結果に含まれる。検出センサ40の向きは、例えば、レーザの走査開始位置のレーザの照射方向である。
【0054】
オブジェクト制御部22Bは、仮想空間60内の仮想オブジェクトの動作を制御する。またオブジェクト制御部22Bは、被検出物に対応する仮想の特定オブジェクトを仮想空間60の配置面61上に配置する。本実施形態の例では、検出結果に加え、記憶部に記憶されている投影領域51の寸法情報、複数の検出センサ40A〜40Cの配置位置、向き及びレーザの照射範囲の情報に基づいて、配置面61上の位置が算出される。その後、オブジェクト制御部22Bは、算出した配置面61上の位置に仮想の特定オブジェクトを配置する。
【0055】
検出センサ40の配置位置は、例えば、投影領域51の基準点RSを原点とする座標系の位置情報(x、y、z)である。検出センサ40の高さ位置(y座標)の情報は、例えば、レーザの照射位置(光学系)の高さ位置を示す。検出センサ40の向きは、X軸に対する角度及びY軸に対する角度の情報が含まれる。仮想の特定オブジェクトは、例えば、被検出物の投影面50(投影領域51)上での位置に一致する配置面61上の位置に配置される。例えば、仮想の特定オブジェクトが、ユーザPLのいる位置に投影されるように配置面61上に配置される。この配置面上の位置は、検出結果を用いて所定の算出処理を行って算出される。
【0056】
所定の算出処理では、例えば、投影領域51の寸法情報に基づいて、投影領域51の寸法と配置面61との寸法が同じであるとする。そして、配置面61の基準点VSを原点とする座標系において、検出センサ40の配置面上61での位置(x′、y′、z′)及び向きが算出される。そして、検出結果(距離及び向き)に基づいて、配置面61の基準点VSを原点とする座標系において、検出センサ40の配置面61上での位置(x′、y′、z′)との相対的な位置が算出される。なお、検出結果に含まれる距離は、寸法情報に基づいて仮想空間での距離に変換される。
【0057】
本実施形態の例では、検出センサ40の配置面61上での位置として、3次元の位置及び向き(角度)が用いられる。これは、現実空間において検出センサ40(レーザ照射位置)は、必ずしも投影面50(投影領域51)と同じ高さに配置されるとは限らず、またレーザの照射方向(走査範囲)が投影面50の面方向と完全に平行であるとは限らず、多少のずれが生じる可能性があることを考慮している。
【0058】
例えば、検出センサ40Aが、
図10(A)に示すように配置された場合について説明する。検出センサ40Aの向き(レーザの照射方向)は、投影面50に対して微小角度(角度α)がある略平行の状態となっている。したがって、ユーザPLの検出位置Qに対して、
図10(B)に示すように、検出センサ40Aの3次元の位置及び向き(角度)が考慮された配置面61上の位置Q′が算出され、仮想オブジェクトVOが配置される。
【0059】
なお、検出センサ40のレーザの照射範囲(走査範囲)の情報は、範囲外として検出される被検出物を排除するために用いられる。
【0060】
画像生成部23Bは、配置面61を含む仮想空間の投影画像を生成するとともに、投影装置30に送信する。本実施形態の例では、画像生成部23Bは、配置面61の画像を投影画像として生成する。例えば、仮想カメラを用いて、画角全体に配置面61が含まれるように撮影した画像を投影画像として生成すればよい。
【0061】
次に、この実施形態のシステム100Bの動作について説明する。
【0062】
図11は、システム100Bが実行する投影処理の例を示すフローチャートである。投影処理では、被検出物を検出しつつ生成した投影画像を投影面50に投影するための処理が行われる。以下、コンピュータ装置20Bが投影処理を実行する場合を例にして説明する。
【0063】
本実施形態の例の投影処理は、例えば、コンピュータ装置20Bに、投影開始の操作入力があったことを契機として実行される。
【0064】
コンピュータ装置20Bは、各検出センサ40A〜40Cから検出結果を取得する取得処理を実行する(ステップS10)。次に、コンピュータ装置20Bは、仮想の特定オブジェクトの配置位置の算出処理を実行する(ステップS11−B)。上述したように、寸法情報等及び検出結果に基づいて所定の算出処理が行われる。なお、複数の被検出物が検出された場合は、各被検出物に対応する仮想の特定オブジェクトの配置位置が算出される。また、被検出物が検出されなかった場合は、ステップS11−Bの処理は終了する。
【0065】
次に、コンピュータ装置20Bは、仮想オブジェクトの動作処理を行う(ステップS12)。具体的には、コンピュータ装置20Bは、仮想空間内の仮想オブジェクトのそれぞれを動作させる。また、コンピュータ装置20Bは、ステップS11−Bの処理で算出された位置に、仮想の特定オブジェクト(衝突判定用オブジェクトVO)を配置する。
【0066】
その後、コンピュータ装置20Bは、投影画像の生成送信処理を行う(ステップS13−B)。例えば、仮想カメラを用いて配置面61上を撮影した画像が投影画像として生成される。そして、生成された投影画像は、投影装置30に送信される。
【0067】
次に、コンピュータ装置20Bは、投影が終了であるか否かを判断する(ステップS14)。コンピュータ装置20Bは、例えば、所定の終了条件が成立した場合に投影終了と判断すればよい。投影終了と判断した場合(ステップS14:YES)、コンピュータ装置20Bは、投影処理を終了する。一方、投影終了ではないと判断した場合(ステップS14:NO)、コンピュータ装置20Bは、ステップS10の処理に戻る。
【0068】
以上のように、第2の実施形態の一側面として、コンピュータ装置20Bが、取得部21、オブジェクト制御部22B及び画像生成部23Bを備える構成としているので、複数の検出センサを用いて被検出物が検出されるので、複数の被検出物がより正確に検出される。そして、被検出物に対応する仮想の特定オブジェクトが仮想空間の配置面に配置される。これによって、現実空間にある被検出物をより正確に仮想空間に反映させることができ、仮想空間の画像が投影されている投影面を視認しているユーザは、仮想空間にいるような体験をすることができる。
【0069】
また、投影面の投影領域と仮想空間の配置面との形状を一致させ、投影領域の寸法情報等及び各検出センサからの検出結果に基づいて、配置面上の位置が算出されるので、被検出物の位置に対応する配置面上の位置をより正確に算出できる。
【0070】
さらに、投影領域と配置面との形状が一致した状態であれば、システムの作業者は、投影領域の寸法情報と、複数の検出センサの配置位置、向き及びレーザの照射範囲の情報とを設定入力しておけば、検出結果から配置面上の位置が算出されるので、作業者の負担が軽減される。すなわち、システムを設置する空間は、大きさ等の環境が必ずしも同一ではないので、設置環境毎に各種データを調整する作業が発生するが、本実施形態の例では、設置の際に上記情報を設定入力しさえすれば検出結果から配置面上の位置が算出される。したがって、作業者の負担が軽減される。
【0071】
[第3の実施形態]
図12は、システム100の例であるシステム100Cの構成の例を示すブロック図である。
図13は、仮想空間60の一例を示す図である。本実施形態の例の投影システム100Cは、コンピュータ装置20C、投影装置30、複数の検出センサ40(40A〜40F)を含んでいる。
【0072】
投影システム100Cは、ビデオゲームの仮想空間(ゲーム空間)の画像である投影画像を、投影面50の投影領域51に投影する各種機能を有する。本実施形態の例では、現実の室内空間の床面FLを投影面50として投影する。なお、投影領域51は、投影面50において投影画像が投影される領域である。本実施形態では、投影面50の全体が投影領域51として説明する。また、床面FLは、例えば、縦5(m)、横15(m)のサイズである。
【0073】
また、本実施形態の例では、室内空間の床面FLである投影面50の投影領域51と仮想空間60の配置面61とが相似形となる。本実施形態の例では、投影領域51及び配置面61は長方形である。また、投影領域51の基準位置RSと配置面61の基準位置VSとが対応付けられている。
【0074】
さらに、本実施形態の例では、仮想空間60の配置面61の画像が投影画像として投影領域51に投影される。より具体的には、投影領域51の基準位置RSと配置面61の基準位置VSとが重なるように、配置面61の全体を示す画像が投影領域51に投影される。
【0075】
本実施形態の例のビデオゲームは、仮想空間60に仮想オブジェクトである敵キャラクタEC及び攻撃用オブジェクトAOが出現する。床面FLにいするプレイヤ(ユーザ)PLは、攻撃用オブジェクトAOを用いて敵キャラクタECに攻撃を行って消滅させる。プレイヤPLは、例えば、自身の足を投影領域51(仮想空間60)を移動している攻撃用オブジェクトAOに重なるような位置に移動させることで、攻撃用オブジェクトAOの移動方向を変更させることができる。そして、仮想の攻撃用オブジェクトAOは、プレイヤPLの足に当たって跳ね返るように移動する。
【0076】
攻撃用オブジェクトAOが敵キャラクタECに当たった場合、敵キャラクタECは消滅する。したがって、投影領域51に配置面61が疑似的に生成された状態となり、プレイヤは、自身が仮想空間60にいて実際に敵キャラクタECと戦っているような体験をすることができる。
【0077】
コンピュータ装置20Cは、投影装置30及び検出センサ40と、有線又は無線の通信回線を介して接続されている。投影装置30は、投影面50に空間を挟んで対向し、コンピュータ装置20Cから受信した投影画像を投影面に投影する。
【0078】
検出センサ40は、投影面50に略平行に投影面上をレーザで走査して投影面上の被検出物を検出する。本実施形態の例では、検出センサ40は、第1の実施形態で説明した1軸走査型の測域センサである。本実施形態の例では、検出センサ40A〜40Cは、床面FL(投影面)上の一方の長辺に等間隔に配置される。また、検出センサ40D〜40Fは、床面FL(投影面)上の他方の長辺に等間隔に配置される。検出センサ40は、例えば、検出可能距離が10(m)、走査角度270度、ステップ角0.25度、走査時間25(msec)であり、
図14に例示した走査範囲SC1〜SC6となる。したがって、床面FL全体が被検出物の検出可能範囲となる。検出センサ40は、例えば、投影面50から高さ5(cm)程度の位置でレーザを照射する。
【0079】
検出センサ40は、
図5で説明したように、照射したレーザ毎に検出されたプレイヤPLの足までの距離及び角度を検出する。角度は、レーザの走査開始位置のレーザの照射方向に対する角度である。したがって、プレイヤPLの足は、
図5に示すような複数の位置情報として検出される。本実施形態では、検出されたの複数の位置情報に対応する配置面61上の位置のそれぞれに仮想の特定オブジェクトが配置される。
【0080】
仮想の特定オブジェクトは、攻撃用オブジェクトAOとの衝突判定用の仮想オブジェクトVO(
図16(B)参照)であり、投影画像としては表示されない。攻撃用オブジェクトAOは、仮想オブジェクトVOとの衝突が判定された場合、移動方向が変更される。これにより、上述したように、仮想の攻撃用オブジェクトAOが、プレイヤPLの足に当たって跳ね返るように移動する。
【0081】
次に、コンピュータ装置20Cの構成について、
図15を参照しつつ説明する。コンピュータ装置20Cは、取得部21C、オブジェクト制御部22C及び画像生成部23Cを少なくとも備える。
【0082】
取得部21Cは、複数の検出センサ40A〜40Fのそれぞれから検出結果を取得する。検出結果は、検出センサに対する被検出物(プレイヤPL)の位置を特定する情報である。本実施形態の例では、検出センサ40から被検出物までの距離と、検出センサ40の向きに対する被検出物及び検出センサを結ぶ線分の角度と、が検出結果に含まれる。検出センサ40の向きは、例えば、レーザの走査開始位置のレーザの照射方向である。
【0083】
オブジェクト制御部22Cは、仮想空間60内の仮想オブジェクトの動作を制御する。またオブジェクト制御部22Cは、被検出物に対応する仮想の特定オブジェクトを仮想空間60の配置面61上に配置する。本実施形態の例では、検出結果に加え、記憶部に記憶されている投影領域51の寸法情報、複数の検出センサ40A〜40Fの配置位置、向き及びレーザの照射範囲の情報に基づいて、配置面61上の位置が算出される。その後、オブジェクト制御部22Cは、算出した配置面61上の位置に仮想の特定オブジェクト(仮想オブジェクトVO)を配置する。
【0084】
検出センサ40の配置位置は、例えば、投影領域51の基準点RSを原点とする座標系の位置情報(x、y、z)である。検出センサ40の高さ位置(y座標)の情報は、例えば、レーザの照射位置(光学系)の高さ位置を示す。検出センサ40の向きは、X軸に対する角度及びY軸に対する角度の情報が含まれる。
【0085】
本実施形態の例の仮想の特定オブジェクト(仮想オブジェクトVO)は、例えば、被検出物の投影面上での位置に一致する配置面61上の位置に配置される。すなわち、仮想の特定オブジェクトが、ユーザPLのいる位置に投影されるように配置面61上に配置される。この配置面上の位置は、上述の第2の実施形態と同様に、検出結果を用いた所定の算出処理によって算出される。
【0086】
所定の算出処理では、投影領域51の寸法情報に基づいて、投影領域51の寸法と配置面61との寸法が同じであるとする。そして、配置面61の基準点VSを原点とする座標系において、検出センサ40の配置面上61での位置(x′、y′、z′)及び向きが算出される。そして、検出結果(距離及び向き)に基づいて、配置面61の基準点VSを原点とする座標系において、検出センサ40の配置面61上での位置(x′、y′、z′)との相対的な位置が算出される。なお、検出結果に含まれる距離は、寸法情報に基づいて仮想空間での距離に変換される。
【0087】
例えば、検出センサ40Aが、
図16(A)に示すように配置された場合について説明する。検出センサ40Aの向き(レーザの照射方向)は、投影面50の面に対して微小の角度(角度α)がある略平行の状態となっている。そして、検出センサ40Aは、照射したレーザ毎に検出されたプレイヤPLの足までの距離及び角度を検出する。したがって、プレイヤPLの足は、複数の位置情報(距離、角度)として検出される。
【0088】
したがって、例えば、プレイヤPLの足の検出位置Qに対して、
図16(B)に示すように、検出センサ40Aの3次元の位置及び向き(角度)が考慮された配置面61上の位置Q′が算出され、仮想の特定オブジェクトVOが配置される。本実施形態の例では、仮想オブジェクトVOは、円筒形のオブジェクトであり、配置面61上の位置Q′を内部に含むように、且つ、底面が配置面61に接触するように配置される。
【0089】
また、複数の検出結果(距離、角度)に対して、上述と同様に、仮想オブジェクトVOが配置される。したがって、例えば、
図6(C)に示すように、プレイヤPLの足の形状に沿って複数の仮想オブジェクトVOが配置されることとなる。
【0090】
なお、検出センサ40のレーザの照射範囲(走査範囲)の情報は、範囲外として検出される被検出物を排除するために用いられる。
【0091】
また、本実施形態の例では、例えば、
図17に示すように、ユーザPLの1の位置CQを、2つの検出センサ40A,40Bが検出する場合ある。この場合、所定の算出処理によって、位置CQに対応する配置面61上の2つの位置が算出される。本実施形態の例では、算出された2つの位置の平均値を、位置CQに対応する配置面61上の位置として決定する。例えば、算出された2つの位置同士が、所定距離以内である場合、算出された2つの位置は、被検出物の同一位置に対応する位置と判断して平均値を算出すればよい。なお、3つ以上の位置同士が所定距離以内である場合も同様である。
【0092】
画像生成部23Cは、配置面61を含む仮想空間60の投影画像を生成するとともに、投影装置30に送信する。本実施形態の例では、画像生成部23Cは、配置面61の画像を投影画像として生成する。仮想カメラを用いて、画角全体に配置面61が含まれるように撮影した画像が投影画像として生成される。
【0093】
次に、この実施形態のシステム100Cの動作について説明する。
【0094】
図18は、システム100Cが実行する投影処理の例を示すフローチャートである。投影処理では、被検出物を検出しつつ生成した投影画像を投影面50に投影するための処理が行われる。以下、コンピュータ装置20Cが投影処理を実行する場合を例にして説明する。
【0095】
本実施形態の例の投影処理は、例えば、コンピュータ装置20Cに、投影開始の操作入力があったことを契機として実行される。
【0096】
コンピュータ装置20Cは、各検出センサ40A〜40Fから検出結果を取得する取得処理を実行する(ステップS10−C)。次に、コンピュータ装置20Cは、仮想の特定オブジェクトの配置位置の算出処理を実行する(ステップS11−C)。上述したように、寸法情報等及び検出結果に基づいて所定の算出処理が行われる。なお、複数の被検出物が検出された場合は、各被検出物に対応する仮想の特定オブジェクトの配置位置が算出される。また、被検出物が検出されなかった場合は、ステップS11−Cの処理は終了する。
【0097】
次に、コンピュータ装置20Cは、仮想オブジェクトの動作処理を行う(ステップS12)。具体的には、コンピュータ装置20Cは、仮想空間60内の仮想の敵キャラクタEC及び攻撃用オブジェクトAOのそれぞれを動作させる。また、コンピュータ装置20Cは、ステップS11−Cの処理で算出された配置面61上の位置に、仮想の特定オブジェクト(衝突判定用オブジェクトVO)を配置する。
【0098】
その後、コンピュータ装置20Cは、投影画像の生成送信処理を行う(ステップS13−C)。仮想カメラを用いて配置面61上を撮影した画像が投影画像として生成される。そして、生成された投影画像は、投影装置30に送信される。
【0099】
次に、コンピュータ装置20Cは、投影が終了であるか否かを判断する(ステップS14−C)。本実施形態の例では、ゲームのプレイ終了時が所定の終了条件の成立として判断される。ゲームは、プレイ開始から所定時間が経過した場合にプレイ終了となる。投影終了と判断した場合(ステップS14−C:YES)、コンピュータ装置20Cは、投影処理を終了する。一方、投影終了ではないと判断した場合(ステップS14−C:NO)、コンピュータ装置20Cは、ステップS10−Cの処理に戻る。
【0100】
以上のように、第3の実施形態の一側面として、コンピュータ装置20Cが、取得部21C、オブジェクト制御部22C及び画像生成部23Cを備える構成としているので、複数の検出センサを用いて被検出物が検出されるので、複数の被検出物がより正確に検出される。そして、被検出物に対応する仮想の特定オブジェクトが仮想空間の配置面に配置される。これによって、現実空間にある被検出物をより正確に仮想空間に反映させることができ、仮想空間の画像が投影されている投影面を視認しているユーザは、仮想空間にいるような体験をすることができる。
【0101】
また、投影面の投影領域と仮想空間の配置面との形状を一致させ、投影領域の寸法情報等、各検出センサからの検出結果に基づいて、配置面上の位置が算出されるので、被検出物の位置に対応する配置面上の位置をより正確に算出できる。
【0102】
さらに、投影領域と配置面の形状が一致した状態であれば、システムの作業者は、投影領域の寸法情報と、複数の検出センサの配置位置、向き及びレーザの照射範囲の情報とを設定入力しておけば、検出結果から配置面上の位置が算出されるので、作業者の負担が軽減される。すなわち、システムを設置する空間は、大きさ等の環境が必ずしも同一ではないので、設置環境毎に各種データを調整する作業が発生するが、本実施形態の例では、設置の際に上記情報を設定入力しさえすれば検出結果から配置面上の位置が算出される。したがって、作業者の負担が軽減される。
【0103】
なお、上述の実施形態の例では、敵オブジェクトを攻撃するゲームについて説明したが、特にこれに限定されるものではない。例えば、サッカーなどのゲームがある。
【0104】
[付記]
上述した実施形態の説明は、少なくとも下記発明を、当該発明の属する分野における通常の知識を有する者がその実施をすることができるように記載した。
【0105】
[1]
仮想空間の画像である投影画像を投影面に投影する投影装置と、前記投影面に略平行に該投影面上をレーザで走査して該投影面上の被検出物を検出する検出センサであって該投影面の周囲又は/及び該投影面上の複数の位置に配置された複数の検出センサと、通信又は接続が可能なコンピュータ装置において実行されるプログラムであって、
前記コンピュータ装置を、
前記複数の検出センサのそれぞれから検出結果を取得する取得機能、
前記仮想空間内の仮想オブジェクトの動作を制御する機能であって、被検出物に対応する仮想の特定オブジェクトを該仮想空間の配置面上に配置する制御機能、
前記配置面を含む前記仮想空間の投影画像を生成するとともに、前記投影装置に送信する画像生成機能、
を実現させ、
前記制御機能では、前記検出結果に基づいて被検出物の前記投影面上での位置に対応する前記配置面上の位置を算出し、算出した該配置面上の位置に前記仮想の特定オブジェクトを配置する機能、
を実現させるプログラム。
【0106】
[2]
前記検出結果には、前記検出センサから被検出物までの距離と、検出センサの向きに対する被検出物及び該検出センサを結ぶ線分の角度と、が含まれ、
前記投影面の投影領域と前記配置面とは相似形であり、該投影領域の基準位置と該配置面の基準位置とが対応付けられ、
前記制御機能では、前記検出結果に加え、記憶部に記憶されている前記投影領域の寸法情報、前記複数の検出センサの配置位置、向き及びレーザの照射範囲の情報に基づいて、前記配置面上の位置を算出する機能、
前記画像生成機能では、前記配置面の画像を投影画像として生成するとともに、前記投影装置に送信する機能、
を実現させる[1]に記載のプログラム。
【0107】
[3]
前記制御機能では、前記仮想の特定オブジェクトと、他の仮想オブジェクトとの衝突判定を行って該他の仮想オブジェクトの動作を制御する機能、
を実現させる[1]又は[2]に記載のプログラム。
【0108】
[4]
前記制御機能では、同一の被検出物を2以上の前記検出センサが検出した場合、各検出センサの検出結果に基づいて算出した前記配置面上の位置の平均値を、該被検出物に対応する仮想の特定オブジェクトの配置面上の位置とする機能、
を実現させる[1]〜[3]のいずれかに記載のプログラム。
【0109】
[5]
前記仮想空間は、プレイヤが仮想の攻撃用オブジェクトを用いて仮想の敵オブジェクトに攻撃を行うビデオゲームの仮想空間であり、
前記被検出物は、ビデオゲームのプレイヤであり、
前記制御機能では、
仮想の敵オブジェクト及び仮想の攻撃用オブジェクトの移動を含む動作を制御する機能、
前記仮想の特定オブジェクトと前記仮想の攻撃用オブジェクトとの衝突判定を行って、該攻撃用オブジェクトの移動方向を制御する機能、
前記仮想の攻撃用オブジェクトと前記仮想の敵オブジェクトとの衝突判定を行って、該仮想の敵オブジェクトへの攻撃処理を実行する機能、
を実現させる[3]に記載のプログラム。
【0110】
[6]
前記仮想の特定オブジェクトは、前記投影画像に表示されない仮想オブジェクトである、
[1]〜[5]のいずれかに記載のプログラム。
【0111】
[7]
前記取得機能は、前記検出センサである1軸走査型の測域センサから検出結果を取得する機能、
を実現させる[1]〜[6]のいずれかに記載のプログラム。
【0112】
[8]
仮想空間の画像である投影画像を投影面に投影する投影装置と、前記投影面に略平行に該投影面上をレーザで走査して該投影面上の被検出物を検出する検出センサであって該投影面の周囲又は/及び該投影面上の複数の位置に配置された複数の検出センサと、該投影装置及び検出センサと通信又は接続が可能なコンピュータ装置とを備えた投影システムであって、
前記複数の検出センサのそれぞれから検出結果を取得する取得手段、
前記仮想空間内の仮想オブジェクトの動作を制御する手段であって、被検出物に対応する仮想の特定オブジェクトを該仮想空間の配置面上に配置する制御手段、
前記配置面を含む前記仮想空間の投影画像を生成するとともに、前記投影装置に送信する画像生成手段、
を含み、
前記制御手段は、前記検出結果に基づいて被検出物の前記投影面上での位置に対応する前記配置面上の位置を算出し、算出した該配置面上の位置に前記仮想の特定オブジェクトを配置する、投影システム。
【0113】
[9]
仮想空間の画像である投影画像を投影面に投影する投影装置と、前記投影面に略平行に該投影面上をレーザで走査して該投影面上の被検出物を検出する検出センサであって該投影面の周囲又は/及び該投影面上の複数の位置に配置された複数の検出センサと、通信又は接続が可能なコンピュータ装置であって、
前記複数の検出センサのそれぞれから検出結果を取得する取得手段、
前記仮想空間内の仮想オブジェクトの動作を制御する手段であって、被検出物に対応する仮想の特定オブジェクトを該仮想空間の配置面上に配置する制御手段、
前記配置面を含む前記仮想空間の投影画像を生成するとともに、前記投影装置に送信する画像生成手段、
を含み、
前記制御手段は、前記検出結果に基づいて被検出物の前記投影面上での位置に対応する前記配置面上の位置を算出し、算出した該配置面上の位置に前記仮想の特定オブジェクトを配置する、コンピュータ装置。
【0114】
[10]
仮想空間の画像である投影画像を投影面に投影する投影装置と、前記投影面に略平行に該投影面上をレーザで走査して該投影面上の被検出物を検出する検出センサであって該投影面の周囲又は/及び該投影面上の複数の位置に配置された複数の検出センサと、通信又は接続が可能なコンピュータ装置に、投影画像を生成させる画像生成方法であって、
前記複数の検出センサのそれぞれから検出結果を取得する取得処理、
前記仮想空間内のオブジェクトの動作を制御する機能であって、被検出物に対応する仮想の特定オブジェクトを該仮想空間の配置面上に配置する制御処理、
前記配置面を含む前記仮想空間の投影画像を生成するとともに、前記投影装置に送信する画像生成処理、
を含み、
前記制御処理では、前記検出結果に基づいて被検出物の前記投影面上での位置に対応する前記配置面上の位置を算出し、算出した該配置面上の位置に前記仮想の特定オブジェクトを配置する処理、
を含む画像生成方法。