【文献】
石井 源久,デジタル・アーティストがリードする これからのプロジェクションマッピング,CG WORLD,日本,株式会社ワークスコーポレーション,2013年11月 1日,第183巻,第69頁
【文献】
長岡 亜耶、他,深度センサを用いた手軽なプロジェクタキャリブレーション,映像情報メディア学会技術報告,日本,(一社)映像情報メディア学会,2013年 2月 9日,Vol.37 No.7,第3−6頁
(58)【調査した分野】(Int.Cl.,DB名)
前記基準値設定部は、前記第1の領域内の各区画のうち、高さが最も高い区画と高さが最も低い区画の少なくとも一方の高さに基づいて前記基準値を設定する、請求項1に記載の造形物作成遊戯装置。
前記高さ判定部によって所定の条件を満たしていると判定された区画が、前記第1の領域内の全ての区画のうちの所定の割合を占めているか否かを判定する判定部、を備えた、請求項1から3のいずれか1項に記載の造形物作成遊戯装置。
【発明を実施するための形態】
【0013】
次に、本発明を実施するための形態について、図面を参照して詳細に説明する。
実施の形態
図1は、本発明の実施の形態による造形物作成遊戯装置1の概観を示す断面図である。
図1に示すように、造形物作成遊戯装置1は、遊戯用トレイ2、距離センサカメラ(高さ検出部)3、プロジェクタ(画像投影部)4、制御装置5を含んでいる。
【0014】
遊戯用トレイ2は、地面からの高さが60〜70cm程度の位置に設けられ、縦横の幅が1m程度、深さ30cm程度の容器である。距離センサカメラ3、プロジェクタ4は、地面から2m程度の位置に設けられた筺体内に配置されている。制御装置5は、遊戯用トレイ2の下に設けられた筺体内に配置されている。
【0015】
遊戯用トレイ2には遊戯用の砂6が適量入っている。プレイヤPは、遊戯用トレイ2の前に立ち、砂場で遊ぶ要領で、遊戯用トレイ2内の砂6で様々な造形物を作って遊ぶことができる。遊戯用トレイ2の奥側には15cm程の高さの間仕切り7が設けられており、砂6がこぼれるのを防止するとともに、プロジェクタ4によって間仕切り7の表面にメッセージや画像を投影できるようになっている。なお、間仕切り7は、遊戯用トレイ2と一体に形成されていても良い。
【0016】
距離センサカメラ3は、例えば赤外線深度センサである。赤外線深度センサは、対象物に赤外線のパターンを照射し、そのパターンを含む映像を撮像して解析することにより、距離センサカメラ3と対象物との間の距離情報(深度情報)を含む距離映像信号を画素単位で出力する。なお、距離センサカメラ3と対象物との間の距離を他の基準位置からの距離に変換したものを距離情報としてもよい。
【0017】
本実施形態では、距離センサカメラ3は、遊戯用トレイ2の中の砂6の表面までの距離を測定する。
図1に示すように、距離センサカメラ3の視野範囲R1は、遊戯用トレイ2全体をカバーしている。距離の測定は例えば毎秒30回の頻度で行われる。なお、赤外線深度センサの代わりに、レーザー距離計や3次元カメラを用いて対象物との距離を測定してもよい。なお、距離センサカメラ3の配置は
図1に示すものに限られず、距離センサカメラ3の視野範囲R1が遊戯用トレイ2全体をカバーできるように配置されていればよい。
【0018】
プロジェクタ4は、制御装置5から入力される映像信号に基づいて、遊戯用トレイ2の中の砂6の表面や、間仕切り7の表面に映像やメッセージを投影する。砂6は白色または白色に近い色であり、プロジェクタ4によって砂6の表面に様々な色を投影することができる。
図1に示すように、プロジェクタ4の投影範囲R2は、遊戯用トレイ2全体をカバーしている。プロジェクタ4から出射された投影光は、ミラーMで反射されて砂6の表面や間仕切り7の表面に投射されるようになっている。なお、プロジェクタ4の配置は
図1に示すものに限られず、プロジェクタ4の投影範囲R2が遊戯用トレイ2全体をカバーできるように配置されていればよい。
【0019】
制御装置5は例えばパーソナルコンピュータであり、ハードウェアとして、CPU、ROMやRAM等のメモリ、各種の情報を格納する外部記憶装置、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバス等を備えている。制御装置5は、入力インタフェースや出力インタフェース、または通信インタフェースを介して距離センサカメラ3およびプロジェクタ4と接続されている。
【0020】
図2は、制御装置5の機能構成図である。
制御装置5は、機能的には、ゲーム制御部50、ノイズ除去部51、表面距離情報抽出部52、表面形状判定部53、画像生成部54、および画像出力部55を備える。ゲーム制御部50、ノイズ除去部51、表面距離情報抽出部52、表面形状判定部53、画像生成部54、および画像出力部55は、CPUがROM等に格納された所定のプログラムを実行することにより実現される機能のモジュールに相当する。
【0021】
ゲーム制御部50は、造形物作成遊戯装置1によるゲームの進行を制御する。ゲーム制御部50は、例えば遊戯用トレイ2の周囲に設けられたボタン(図示せず)や、プロジェクタ4によって間仕切り7の表面に表示される操作領域へのプレイヤPの操作指示を検出し、これに応じて、ゲームの開始や進行、終了などを制御する。なお、間仕切り7を用いた操作指示の検出は、ここに表示された操作ボタン等にプレイヤPが手をかざすことにより、表面距離情報抽出部52が、この領域の高さ情報の変化を検出し、これが所定時間(例えば2秒)同じ高さであることを検出したところで操作指示があったと判定する。このようにすることで、プレイヤPの手が表示されている操作ボタンの上を偶然に過した場合等による誤動作を防止することが出来る。
【0022】
ノイズ除去部51は、距離センサカメラ3が出力する距離映像信号からノイズを除去する。
表面距離情報抽出部52は、ノイズ除去部51から出力されるノイズ除去後の距離映像信号から、遊戯用トレイ2の中の砂6の表面(以下、遊戯領域表面と記す。)の画素単位の距離情報を抽出する。
【0023】
表面形状判定部53は、表面距離情報抽出部52によって抽出された画素単位の距離情報に基づいて、遊戯領域表面の高さや、凹凸形状の判定などを行う。ここで、高さは基準面(遊戯用トレイ2の底面)からの距離とする。なお、表面距離情報抽出部52から表面形状判定部53への距離情報の供給の頻度は、距離センサカメラ3が距離映像信号を出力する頻度と同じであってもよいし、距離センサカメラ3による数回分の出力を用いてノイズを除去した値を供給するようにしてもよい。また、基準面は、距離センサカメラ3からの距離としても良い。
【0024】
図3は、表面形状判定部53の詳細な機能構成図である。
図3に示すように、表面形状判定部53は、基準値設定部531、判定値設定部532、高さ判定部533、合否判定部(判定部)534を含んでいる。
基準値設定部531は、ゲーム開始時点(初期状態)で距離情報抽出部52から取得した距離情報に基づいて、複数の区画を含む第1の領域の高さの基準値を設定する。基準値は、砂6をどれだけ掘ればよいか(深さ)、またはどれだけ盛り上げればよいか(高さ)を判定する基準となる高さである。具体的には、基準値設定部531は、第1の領域内の各区画の中で、高さが最も高い区画の高さより小さく、最も低い区画の高さよりも大きい値を基準値に設定する。例えば、最も高い値と低い値の中間値を基準値としてもよい。または、基準値設定部531は、第1の領域内の各区画の高さの平均値を基準値に設定するようにしてもよい。その際、最も高い値と低い値を用いるか、もしくは、最も高い値と低い値の少なくとも一方の値と、これら以外の高さの値を用いて基準値を設定することで、元の表面形状の高低差の範囲内に基準値を設定することが可能になる。また、区画は、遊戯領域表面の少なくとも一部を含む領域であり、1つ以上の画素を含む領域である。第1の領域は、遊戯領域表面全体であってもよいし、遊戯領域表面の一部であってもよい。
【0025】
判定値設定部532は、基準値設定部531によって設定された基準値に所定の値を加算または減算した値を判定値として設定する。判定値は、第1の領域全体で1つの値を設定してもよいし、区画毎に異なる判定値を設定してもよい。また、複数の区画を含むグループに対して1つの判定値を設定してもよい。
【0026】
高さ判定部533は、判定値設定部532によって設定された判定値を用いて、ゲーム開始後に距離情報抽出部52から取得した距離情報に基づいて、第1の領域内の各区画の高さが、所定の条件を満たしているか否かを判定する。具体的には、高さ判定部533は、各区画の高さが対応する判定値と略同じであれば、条件を満たしていると判定するようにしてもよい。判定値と略同じとは、例えば、(判定値−1)以上(判定値+1)以下の範囲に入ることとしてもよい。あるいは、高さ判定部533は、各区画の高さが(判定値−k)以上(判定値+k)以下の範囲に入れば、条件を満たしていると判定するようにしてもよい。ここで、kは0以上の所定の数値である。また、判定値が基準値よりも大きい場合は、各区画の高さがこの判定値よりも大きければ条件を満たすと判定し、逆に、判定値が基準値よりも小さい場合は、各区画の高さがこの判定値よりも小さければ条件を満たすと判定するようにしてもよい。
【0027】
合否判定部534は、高さ判定部533による各区画が条件を満たしているか否かの判定に基づいて、最終的に正しい造形物が作成されているか否かを判定し、合否の結果をゲーム制御部50に通知する。合否判定部534は、高さ判定部533によって条件を満たしていると判定された区画が、第1の領域内の各区画の所定の割合を占めているか否かを判定し、所定の割合を占めている場合には合格と判定する。
【0028】
画像生成部54は、表面形状判定部53によって判定された遊戯領域表面の高さや凹凸形状に応じて、遊戯領域表面の各区画に表示する演出用の画像を生成する。区画は、1つ以上の画素を含む領域である。画像生成部54は、例えば高さが高い区画には山の映像、高さが低い区画には海の映像が表示されるような画像を生成する。また、画像生成部54は、ゲーム制御部50によるゲームの進行状況に応じて、遊戯領域表面や間仕切り7の表面に表示される画像も生成する。
画像出力部55は、画像生成部54によって生成された画像をプロジェクタ4に出力する。
【0029】
次に、
図4のフローチャートを用いて、造形物作成遊戯装置1によるゲームの流れを説明する。
まず、プレイヤPによる操作に対応してゲーム制御部50がゲームを開始すると、プロジェクタ4によって、遊戯領域表面や間仕切り7の表面に、ゲームのスタート画面が表示される(ステップS1)。スタート画面には、ゲームの遊び方を説明する映像やメッセージなどが表示される。
【0030】
ここで行われるゲームは、プレイヤPが遊戯領域表面や間仕切り7の表面に表示される案内にしたがって砂6で造形物を作成するゲームである。作成が終了したら、造形物が正しく作られているか否かが判断され、合格または不合格が通知される。ここでは、砂6でハートの島を作る例を用いて説明する。
【0031】
ゲームがスタートすると、プロジェクタ4によって、砂6の表面に
図5(A)に示すような画像が表示される。線L1は、例えばピンク色など砂6上で目立つ色で表示される。また、間仕切り7の表面には「ピンクのせんをなぞってほってみよう。」など、操作を誘導するメッセージが表示される(ステップS2)。
【0032】
プレイヤPが、ステップS2で表示された線L1にしたがって砂6を掘っていくと、
図5(B)に示すように、表面形状判定部53による遊戯領域表面の高さ判定に基づいて、所定の深さまで掘られた領域に投影される色が変化する(ステップS3)。なお、遊戯領域表面の高さの判定に応じた画像生成の詳しい手順については後述する。また、示された線L1の通りに掘られた領域の外周を所定の色の縁取りで囲むようにしてもよい。
【0033】
線L1で示した領域を掘る作業がひと通り終了すると、ゲームが次の段階に進み、
図5(C)に示すようにプロジェクタ4によって線L2が表示され、ステップS2、S3と同様に、所定の深さまで掘られた領域に投影される色が変化する(ステップS4)。
【0034】
さらに、
図5(D)に示すように、プロジェクタ4によって砂6の表面に領域A1が示される。領域A1は、青などの線L1、L2とは異なる色で表示される。また、間仕切り7の表面には、プロジェクタ4によって「あおい部分に砂をもろう。」などの操作を誘導するメッセージが表示される(ステップS5)。
【0035】
プレイヤPが、領域A1に砂6を盛っていくことにより、徐々にハート型の島が形成される。表面形状判定部53の合否判定部534は、遊戯領域表面の各区画の高さに基づいて、正しいハート型が作成できているか否かを判定する(ステップS6)。
【0036】
合否判定部534は、高さ判定部533によって条件を満たしていると判定された区画の数が、遊戯領域内の全ての区画の所定の割合を占めている場合には、正しいハート型が作成できていると判定する。または、合否判定部534は、高さ判定部533によって条件を満たしていると判定された区画の面積の合計が遊戯領域表面全体の面積の所定の割合に達している場合には、正しいハート型が作成できていると判定するようにしてもよい。合否判定部534による合否判定のタイミングは、ゲーム開始から一定時間経過後としてもよいし、プレイヤPの作業による遊戯領域の形状変化が検出されなくなってから一定時間経過後としてもよい。また、間仕切り7に作業終了用の操作領域を表示しておき、プレイヤPがその操作領域に接触したら、合否判定を行うようにしてもよい。
【0037】
ステップS6で正しいハートの島が作成できていると判定されると(YES)、ゲーム制御部50の制御により、プロジェクタ4によって、遊戯領域表面に合格であることを示す映像が表示される(ステップS7)。例えば、遊戯領域表面全体に多数のハートの映像などを表示するようにしてもよい。一方、ステップS6で正しいハートの島が作成できていないと判定されると(NO)、プロジェクタ4によって、遊戯領域表面に不合格であることを示す映像が表示される(ステップS8)。例えば、遊戯領域表面に「つぎはもっとがんばろう!」などのメッセージを表示するようにしてもよい。
【0038】
次に、
図6、7のフローチャートを用いて、遊戯領域表面の高さの判定に応じた画像を生成する手順について説明する。
図6は、判定値の設定の動作のフローチャートである。
まず、表面形状判定部53の基準値設定部531は、ゲーム開始時(第1のタイミング)に表面距離情報抽出部52から、遊戯領域表面の画素単位の距離情報を取得する(ステップS11)。
【0039】
次に、基準値設定部531は、ステップS11で取得した距離情報に基づいて、複数の区画を含む第1の領域の高さの基準値Sを設定する。第1の領域は、ここでは
図5(A)の線L1の領域とする(ステップS12)。ここでは、基準値設定部531は、線L1の領域内の各区画の高さの平均値を基準値Sに設定する。
【0040】
次に、判定値設定部532は、基準値設定部531によって設定された基準値Sに所定の値を加算または減算した値を判定値Jとして設定する。(ステップS13)。ここでは、判定値設定部532は、区画毎の判定値Jを設定する。例えば、砂を掘るように指示されている区画(線L1の領域)については、判定値Jとして(基準値S−5)cmを設定し、砂を盛るように指示されている場合は、判定値Jとして(基準値S+5)cmを設定する。線L1以外の領域については、基準値Sを判定値Jとしてもよいが、この領域の高さを判定する必要が無い(自由に掘ったり盛ったりして良い)場合は、この領域に基準値Sや判定値Jを設定しなくても良い。設定した判定値Jは、制御装置5のメモリ、または外部記憶装置に保持される。
【0041】
図7は、判定値に基づく各区画の高さ判定と、画像生成処理のフローチャートである。
まず、高さ判定部533は、ゲーム開始後のステップS2やS5の操作誘導後、プレイヤPが砂6で作業を行っている所定の時間が経過後のタイミングで(第2のタイミング)、表面距離情報抽出部52から遊戯領域表面の画素単位の距離情報を取得する(ステップS21)。
【0042】
次に、高さ判定部533は、ステップS11で取得した距離情報に基づいて、各区画の高さが所定の条件を満たしているか否かを、判定値Jを用いて判定する(ステップS22)。ここでは、高さ判定部533は、各区画について(判定値J−1)以上(判定値J+1)以下の範囲に入っていれば、条件を満たしていると判定する。
【0043】
ステップS22で、ある区画が条件を満たしていると判定された場合(YES)、ステップS23へ進む。一方、条件を満たしていると判定されなかった場合(NO)、ステップS24へ進む。ステップS24では、造形物を正しく作成することができなかったことを示す不合格メッセージが、プロジェクタ4によって表示される。具体的には、間仕切り7の表面に「残念でした!」などのメッセージが表示される。
【0044】
ステップS23において、画像生成部54は、遊戯領域表面の高さに応じて当該区画に投影する画像を生成する。例えば、高さの低い区画(掘られている区画)については海や川の画像を、高さの高い区画(砂が盛られている区画)については山や丘の画像を生成する。さらに、造形物を正しく作成することができたことを示す合格メッセージが、プロジェクタ4によって表示される。具体的には、間仕切り7の表面に「大変よくできました!」などのメッセージが表示される。
なお、
図7に示す例では、所定のタイミングでのみ高さ判定を行っているが、プレイヤPが砂6で作業を行っている間中、各区画が指定どおりの高さになっているかどうかをリアルタイムで判定するようにしてもよい。この場合には、ステップS22において各区画の高さが条件を満たしていると判定されるまで、ステップS22からステップS21へ繰り返し戻るようにする。
【0045】
以上の手順で生成された各区画への投影画像は画像出力部55に供給され、プロジェクタ4によって遊戯領域表面に投影される。
【0046】
一般に、ゲームをスタートする時点で、遊戯領域の表面全体がほぼ平らの状態になっているとは限らない。例えば、前に遊戯を行ったプレイヤPが砂をよく均さないままにしておいた場合には、スタート時点で遊戯領域には高い場所と低い場所があると考えられる。本実施形態では、ゲーム開始時点での遊戯領域の各区画の高さの平均値を基準として、掘る領域と盛る領域それぞれについて、高さの差分を加減算した値を判定値Jとして設定する。高さ判定部533は、ゲーム開始後、この判定値Jに基づいて、正しい造形が形成されているか否かを判定する。これにより、開始時点での遊戯領域の形状、すなわち基準値Sが変化しても、低い部分(掘る領域)と高い領域(盛る部分)の高低差は相対的に同じになる。すなわち、ゲームスタート時点での遊戯領域表面の形状に関わらず、作成される造形物の形状は同じになる。また、プレイヤPは、遊戯領域の平均的な高さを基準として穴を掘ったり、砂を盛ったりすればよいので、適度な労力で造形物を作成することができる。更に、遊戯領域表面に投影される投影画像は、造形物の高低差の大小にかかわらず元の大きさが同じ画像(画像素材)を投影するが、このとき、高低差が大きいと画像が拡大され、逆に高低差が小さいと縮小して表示されることになり、画像が荒くなったり逆にディテールが潰れたりすることになるが、上記のように造形物の高低差が一定の値に収束するよう判定することで、投影する画像が想定内の範囲で拡大縮小されるようになるため、画像が荒くなったり逆にディテールが潰れたりすることを抑制することができる。
【0047】
なお、
図4,6,7のフローチャートの各処理ステップは、処理内容に矛盾を生じない範囲で、任意に順番を変更して又は並列に実行することができるとともに、各処理ステップ間に他のステップを追加してもよい。また、便宜上1ステップとして記載されているステップは、複数ステップに分けて実行することができる一方、便宜上複数ステップに分けて記載されているものは、1ステップとして把握することができる。
【0048】
以上のように、本実施形態によれば、基準値設定部531によって、ゲーム開始時点での遊戯領域の各区画の高さに基づいて基準値を設定し、判定値設定部532が、その基準値を基準として、遊戯領域の表面形状を判定するための判定値を設定する。さらに、ゲーム開始後は、高さ判定部533が、設定された判定値に基づいて、正しい形状が作成できているかどうかの判定を行うようにしたので、遊戯領域の元々の表面形状に関わらず、同様なメリハリのある形状の造形物を作成することができる。また、元の表面形状の最も低いところや高いところを基準にして穴を掘ったり、砂を盛ったりしなくてよいため、適度な労力でメリハリのある造形物を作成することができる。
【0049】
なお、本発明は、上記のように遊戯領域内の砂で造形物を作成するゲームの他、ブロック状のものやボール状のもの、粘性のある物体などを用いて造形物を作成するゲームにも適用できる。