JP4282112B2 - 仮想物体制御方法および仮想物体制御装置および記録媒体 - Google Patents
仮想物体制御方法および仮想物体制御装置および記録媒体 Download PDFInfo
- Publication number
- JP4282112B2 JP4282112B2 JP18279098A JP18279098A JP4282112B2 JP 4282112 B2 JP4282112 B2 JP 4282112B2 JP 18279098 A JP18279098 A JP 18279098A JP 18279098 A JP18279098 A JP 18279098A JP 4282112 B2 JP4282112 B2 JP 4282112B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual space
- image
- user
- sword
- movement
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
- Processing Or Creating Images (AREA)
Description
【発明の属する技術分野】
本発明は、距離画像から抽出された認識対象の動きや位置等の情報を基に仮想空間内のCGモデル(仮想物体)の動き、形状等を制御する仮想物体制御方法に関する。
【0002】
また、本発明は、距離画像から抽出された認識対象の動きや位置等の情報を基に仮想空間内のCGモデル(仮想物体)の動き、形状等を制御する仮想物体制御装置に関する。
【0003】
【従来の技術】
従来、アーケードゲーム機などの遊具装置では、ボクシングゲームや、射撃ゲームなどの人間の動きを利用したゲームが多く開発されてきている。ボクシングゲームでは、ユーザが実際にサンドバッグを打撃したときの圧力を物理的に測定している。このとき、測定されているのは、ユーザのパンチがサンドバッグに当たった瞬間の圧力のみである。パンチがユーザからどのような経路でどのくらいの速さで繰り出されたのかという情報は用いられていない。このため、単純なパンチの強さだけを競う単調なゲームになっている。
【0004】
射撃ゲームでは、おもちゃの銃の先に発光体をつけ、その発光体の光が、画面上のどこにあたるかを検知する。銃の引き金が弾かれたときに光が当たっている物体に銃弾があたったと判定するようになっている。このように単純なため、射撃の腕を競うと言うよりは、呈示された標的をいかに素早く見つけて撃つだけの反射神経を競うだけのゲームになってしまっている。
【0005】
一方、CCDカメラなどを用いて撮像した画像を解析して、人間の身体の位置、動きなどを認識する方法もとられている。この方法では、進行方向をまず、CCDカメラなどの撮像装置を用いて撮影する。その画像から人間を抽出する場合では、例えば、顔や手の色が肌色なので、それ以外の背景などの余計な部分を取り除き、障害物となる物体など認識したい対象のみを切り出すという前処理を行う。そして、その処理後の画像から対象物の形状、動き等を認識する。
【0006】
まず、この認識対象の切り出しという前処理部分について説明する。従来の手法では、カメラで撮影した画像から、取得したい対象物の部分のみを切り出す作業手段として、対象物と、それ以外の部分の何らかの相違点を手がかりとして対象物の切り出しが行われていた。
【0007】
この手がかりとして、色相の変化を利用する方法、差分画像を利用する方法などが用いられている。色を使って切り出す場合、色相差の大きな部分を抜き出し、細線化などの処理を行い、エッジを抽出する。人間を対象にする場合には、顔や手の部分の肌色に注目し、その色相部分のみを抽出しようとするものである。が、色相差を用いる方法は、照明の色や角度などにより、肌色といっても変化し、また、背景の色相が肌色に近いと、人間の肌色と識別するのが難しいなどの問題があり、定常的に切り出すことは困難である。また、照明が全くない状態では、撮像画像は全部暗くなってしまうので、人間でも暗闇で撮影した写真から物体を判別することは難しい。
【0008】
また、ビデオ画像のフレーム間の動きベクトルを算出し、動いている物体を解析する方式もあるが、この場合、動いている物体が少ないうちは問題ないが、動いている物体が多いと、動きベクトルの数が急に増え、フレーム間で動きベクトルを算出の負荷が増し、算出が追いつかなくなる。
【0009】
家庭向けのゲームなどでは、臨場感を増すために、フォースフィードバックの機能を有したジョイスティックや、振動機能のついた振動パックと呼ばれる入力デバイスが使われだしている。
【0010】
ジョイスティックの形状は、飛行機などの制御をおこなうレバーに類似している。このため、フライトシミュレータと呼ばれる飛行機の操縦を模擬するゲームでは、確かに感臨場がある。が、それ以外の操作では、現実の操作と異なる使い勝手となる問題点がある。
【0011】
振動パックも同様に、慣れれば、ハンドルがなくても車の運転を模擬したカーレースゲームなどの操作ができる。が、現実の操作とは大きく操作感が隔たっているという問題がある。
【0012】
たとえば、子供は、ロボットや飛行機などのおもちゃを使って、飛行機同士を戦わせたり、あるいは、ロボットが積み木の町を作ったり壊したりというように、現実にあるものを使いながら、いろいろなストーリを作って遊ぶ。その様な現実に存在するものと、コンピュータ内に作られた仮想の環境とを融合して遊ぶようなことは従来できなかった。
【0013】
【発明が解決しようとする課題】
このように、従来は、特殊なウェアや器具を身につけたり、ジョイスティック等の特殊な装置を用いるしか、コンピュータ内に存在する仮想空間内の物体を制御することができなかった。すなわち、現実に存在するものと仮想空間とを違和感なく融合することができなかった。
【0014】
そこで、本発明は、コンピュータ内に作られた仮想空間内の物体をより現実的な操作で制御できる仮想物体制御方法を提供することを目的とする。
また、本発明は、コンピュータ内に作られた仮想空間内の物体をより現実的な操作方法で制御できる仮想物体制御装置を提供することを目的とする。
【0015】
【課題を解決するための手段】
本発明の仮想物体制御方法は、認識対象の撮像された画像から該認識対象の位置と動きと方向に関する情報を抽出して、その抽出した情報に基づき該認識対象に対応する仮想空間内の制御対象を制御することにより、コンピュータ内に作られた仮想空間内の物体をより現実的な操作で制御できる。
【0016】
本発明の仮想物体制御装置は、認識対象の画像を取得する画像取得手段と、
この画像取得手段で取得した画像から認識対象の位置と動きと方向に関する情報を抽出するための画像処理を施す画像処理手段と、
この画像処理手段で抽出した情報に基づき前記認識対象に対応する仮想空間内の制御対象を制御する制御手段と、
を具備したことにより、コンピュータ内に作られた仮想空間内の物体をより現実的な操作で制御できる。
【0017】
【発明の実施の形態】
以下、本発明の実施形態について図面を参照して説明する。
(第1の実施形態)
図1は第1の実施形態に係る仮想物体制御装置の構成を概略的に示したものである。
【0018】
図1に示すように、本実施形態に係る仮想物体制御装置は、反射光を受光し、距離画像を取得する、例えば特願平9−299648号に記載されている距離画像取得部1と、取得した距離画像を解析し、認識対象の輪郭、重心の抽出や対象物までの距離の算出、認識対象の移動速度、移動ベクトルの算出等の当該認識対象に関する目的とする情報を抽出する画像処理部4と、CG(コンピュータグラフィックス)で作成された3次元あるいは2次元仮想空間と、その仮想空間内に呈示する3次元あるいは2次元仮想物体(例えば、人物、遊具等で以下、CGモデルと呼ぶ)の形状や仮想空間の配置位置等を記憶する形状記憶部2と、画像処理部4の解析結果に基づき、形状記憶部2に記憶されたCGモデルの形状や動き等を制御する仮想空間制御部3と、例えば大型の液晶パネル等の表示装置から構成され、3次元あるいは2次元CG映像としての仮想空間を可視化し、仮想空間制御部3の制御のもと、形状記憶部2に記憶された制御対象としてのCGモデルの形状、動き等を可視化する呈示部5とから構成されている。
【0019】
ここで、画像取得部1および、画像取得部1にて取得される距離画像について簡単に説明する。
画像取得部1の外観を図2に示す。中央部には円形レンズとその後部にあるエリアセンサ(図示せず)から構成される受光部103が配置され、円形レンズの周囲にはその輪郭に沿って、赤外線などの光を照射するLEDから構成される発光部101が複数個(例えば6個)等間隔に配置されている。
【0020】
発光部101から照射された光が物体に反射され、受光部103のレンズにより集光され、レンズの後部にあるエリアセンサで受光される。エリアセンサは、例えば256×256のマトリックス状に配列されたセンサで、マトリックス中の各センサにて受光された反射光の強度がそれぞれ画素値となる。このようにして取得された画像が、図4に示すような反射光の強度分布としての距離画像である。
【0021】
図3は、画像取得部1の構成例を示したもので、主に、発光部102、受光部103、反射光抽出部102、タイミング信号生成部104から構成される。
発光部101は、タイミング信号生成部104にて生成されたタイミング信号に従って時間的に強度変動する光を発光する。この光は発光部前方にある対象物体に照射される。
【0022】
受光部103は、発光部101が発した光の対象物体による反射光の量を検出する。
反射光抽出部102は、受光部103にて受光された反射光の空間的な強度分布を抽出する。この反射光の空間的な強度分布は画像として捉えることができるので、以下、これを距離画像と呼ぶ。
【0023】
受光部103は一般的に発光部101から発せられる光の対象物による反射光だけでなく、照明光や太陽光などの外光も同時に受光する。そこで、反射光抽出部102は発光部101が発光しているときに受光した光の量と、発光部101が発光していないときに受光した光の量の差をとることによって、発光部101からの光の対象物体による反射光成分だけを取り出す。
【0024】
反射光抽出部102では、受光部103にて受光された反射光から、その強度分布、すなわち、図4に示すような距離画像を抽出する。
図4では、簡単のため、256×256画素の距離画像の一部である8×8画素の距離画像の場合について示している。
【0025】
物体からの反射光は、物体の距離が大きくなるにつれ大幅に減少する。物体の表面が一様に光を散乱する場合、距離画像1画素あたりの受光量は物体までの距離の2乗に反比例して小さくなる。
【0026】
図4において、行列中のセルの値(画素値)は、取得した反射光の強さを256階調(8ビット)で示したものである。例えば、「255」の値があるセルは、距離画像取得部1に最も接近した状態、「0」の値があるセルは、距離画像取得部1から遠くにあり、反射光が距離画像取得部1にまで到達しないことを示している。
【0027】
距離画像の各画素値は、その画素に対応する単位受光部で受光した反射光の量を表す。反射光は、物体の性質(光を鏡面反射する、散乱する、吸収する、など)、物体の方向、物体の距離などに影響されるが、物体全体が一様に光を散乱する物体である場合、その反射光量は物体までの距離と密接な関係を持つ。手などは、このような性質をもつため、画像取得部1の前方に手を差し出した場合の距離画像は、手までの距離、手の傾き(部分的に距離が異なる)などを反映する図5に示したような3次元的なイメージを得ることができる。
【0028】
画像処理部4では、画像取得部1から送られてきた図4に示したような距離画像データからエッジ切り出し(撮像物体の輪郭抽出)、重心抽出、面積算出、撮像物体までの距離の算出、動きベクトルの算出など、撮像体の形状、動き、位置等の情報を抽出するための種々の画像処理を行う。
【0029】
画像取得部1は、例えば、図7に示すように、ユーザが遊具としての刀21をもって遊技をしている状態を撮像する。画像取得部1は、認識対象としての遊具、すなわち、刀の距離画像(図11(a)参照)を取得し、その距離画像を画像処理部4が解析する。
【0030】
画像処理部4では、距離画像から刀の輪郭、重心、重心の3次元的な位置、方向、速度などを抽出し、それらを仮想空間制御部3に渡す。仮想空間制御部3では、例えば、図8に示すような形状記憶部2に記憶された3次元あるいは2次元CG(コンピュータグラフィックス)により作成された仮想空間を表示し、そこに、画像処理部4で抽出された情報に基づき、形状記憶部2に記憶されたユーザのCGモデル23と刀のCGモデル22の形状や動き等を制御して、リアルタイムに、呈示部5に呈示する。これにより、ユーザは、あたかも自分が仮想空間に入り込んだような感覚で、遊技をすることができる。
【0031】
画像処理部4では、撮像物体の反射係数の違いによる反射光の強度と、認識対象とそれ以外の撮像物体との位置関係とから、まず、例えば、図6に示すような、当該距離画像内にある認識対象の輪郭情報を抽出する。
【0032】
例えば、画像取得部1は、刀を手にしたユーザを正面から撮像できる位置に配置すれば、画像取得部1で取得された図11(a)に示すような距離画像において、認識対象としての遊具、すなわち、刀は、他の撮像体より画像取得部1との距離が最も近くに存在することになる。すなわち、画像取得部1との距離が短いほど、画像取得部1が取得する反射光が強くなるので、画素値が大きくなる(画素値が大きければより黒に近くなる)。一番近い部分の刀の先の部分31が最も黒く、刀の柄に近い部分32、刀をもつユーザの手33と徐徐に画素値が小さくなり(白くなり)、背景は最も遠いので、画素値はほぼ「0」となる。
【0033】
画像取得部1から撮像物体までの距離値は、このような4階調に限らず、256階調あるいはより高精度に測定できる。
輪郭の抽出された物体までの距離dの算定には、まず当該物体の重心位置近傍の画像の代表画素値を求める。代表画素値としては、平均値、最近傍値などいくつかあるが、ここでは、最近傍値を使うとする。当該物体からの反射光の強さは物体までの距離の2乗に反比例して小さくなる。すなわち、画素値をP(i、j)とすると、その画素値と距離値wとの関係は、
P(i、j)=K/w2 …(1)
と表すことができる。ここで、Kは、撮像物体毎に定められるもので、例えば、w=0.5mのときに、当該撮像物体の画素値P(i、j)の値が「255」になるように調整された係数であり、反射係数ともいう。式(1)をwについて解くことで、距離値wを求めることができる。
【0034】
認識対象の刀の反射係数は、他の撮像体のものよりも大きいとすると(例えば、刀を握る手よりも後方にある場合でも、その画素値は、手の画像の画素値よりも大きくなる程度の大きさ)。そして、距離画像に対し、距離値によりマスキングを行う。今、4階調のうち、最も値の大きい(つまり近い部分の)階調の画像領域のみを抽出するとすると、図11(a)の場合、刀の先の部分31だけが切り出せる。これは、画素値が、ある一定値以上の値の画素以外は、最も低い値(たとえば、「0」)にセットすることにあたる。
【0035】
輪郭情報を抽出するには、隣合う画素の画素値を比較し、画素値が一定値α以上のところだけに定数値を入れて、同じ定数値が割り振られた連続した画像領域の画素を抽出すればよい。
【0036】
すなわち、図4のマトリックス上の座標位置(i、j)にある画素値をP(i、j)とし、輪郭情報の画素値をQ(i、j)とすると、
・{P(i、j)−P(i−1、j)}>α、かつ
{P(i、j)−P(i、j−1)}>α、かつ
{P(i、j)−P(i+1、j)}>α、かつ
{P(i、j)−P(i、j+1)}>α
のとき、Q(i、j)=255
・ 上記以外のとき、Q(i、j)=0
とすることにより、図6のような撮像物体の輪郭情報を得ることができる。
【0037】
このようにして、図11(a)から図11(b)に示すような、刀の先の部分31の輪郭情報が切り出せる。
画像処理部4は、刀の先の部分31の輪郭情報から当該刀の先の部分31の重心Rgを計算する。
【0038】
また、図11(b)に示すように、重心位置を含む面の法線ベクトルを求めることで、刀の方向Dgが算出できる。法線ベクトルは、重心Rgを通り、重心Rgを含む面に対する接平面に対して垂直な直線である。
【0039】
認識対象である刀の重心位置と直前のフレームから抽出され認識対象である刀の重心位置とを比較して物体が動いているかどうかが判断できる。動いていると判断したときは、重心の変化量と変化方向とを表す動きベクトルを算出する。
【0040】
重心Rgの動く速度Vgは、1フレーム前の重心位置をRg′とすると、重心位置の変化量は(Rg−Rg’)となり、1秒間に30フレームの距離画像を取得するのであれば、
Vg=(Rg−Rg′)×30 …(2)
から求めることができる。
【0041】
このようにして、画像取得部1で取得した距離画像から認識対象の形状、方向、認識対象の重心、重心までの距離、動き等の情報を抽出することができる。
次に、図9に示すフローチャートを参照して、図1の仮想物体制御装置の処理動作について説明する。
【0042】
まず、電源の投入あるいは動作の開始指示にて起動されると、仮想空間制御部3は、形状記憶部2に記憶されている3次元あるいは2次元CGの仮想空間を呈示部5に表示する。そして、形状記憶部2に記憶されている人物のCGモデル(ここでは、ユーザに対応する)をその重心位置r、方向d、速度vを初期値として、呈示部5に表示されている仮想空間内に呈示する。また、遊具のCGモデル(ここでは、ユーザが手にしている刀に対応する)を、その重心位置R、方向D、速度Vの値を初期値にして、呈示部5に表示されている仮想空間内に呈示する(ステップS1)。
【0043】
その後、画像取得部1は、図2に示したような発光部101、受光部103を用いて、例えば、1秒間に30枚程度の速度で距離画像を取得する(ステップS2)。一般的に、ユーザとの対話的な処理を行う、すなわち、ユーザが自分のアクションに対してコンピュータなどの相手側が反応してくれていると認識できる応答速度の上限は0.2秒であり、毎秒30枚画像取得ができれば、十分リアルタイムで処理を行い、ユーザにとって、自然な応答を返すことが可能である。
【0044】
次に、画像処理部4は画像取得部1で取得した距離画像、例えば、図4に示したような距離画像データから、前述したように、認識対象である遊具、すなわち刀の反射係数と距離値とに基づき、刀(より詳しくは刀の先の部分(図11(a)参照)31の輪郭情報を抽出する(ステップS3)。そして、この抽出された刀の輪郭情報から重心位置Rg、刀の方向Dg、重心位置の動きの速度Vgを算出する(ステップS4)。
【0045】
仮想空間制御部3では、この距離画像から抽出された刀の重心位置Rg、刀の方向Dg、重心位置の動きの速度Vgを仮想空間内の当該刀に対応するCGモデルの重心位置R、方向D、重心位置の動きの速度Vに対応付ける。この対応付けは、距離画像から抽出された現実空間内の重心位置R、方向D、重心位置の動きの速度Vを仮想空間内に適合するように座標、単位、大きさを変換するものである(ステップS5)。
【0046】
さらに、仮想空間制御部3は、刀のCGモデルの重心位置R、方向D、重心位置の動きの速度VからユーザのCGモデルの重心位置r、方向d、重心位置の動きの速度vを算出する(ステップS6)。
【0047】
高速化のために、計算を簡略化し、以下のような手法により、ユーザのCGモデルの重心位置を算出する。
図12は、遊具(刀)のCGモデルの重心位置Pと方向Dとから、人物(ユーザ)のCGモデルの重心位置pと方向dとを算出する方法を説明するための図で、仮想空間制御部3は、例えば、所定のメモリに記憶された図13に示ような算出基準を記憶したテーブルを参照して、刀のCGモデルの重心位置Pと方向Dとから、ユーザのCGモデルの重心位置pと方向dとを算出するようになっている。
【0048】
刀のCGモデルの方向Dが刀のCGモデルの重心Rを含むxz平面となす角をθとし、刀の方向Dが刀のCGモデルの重心Rを含むyz平面となす角をφとする。ここでは、φを、刀の法線ベクトルの方向Dがyz平面を挟んで右側にあるときを正とし、左側にあるときを負と概念的に定義する。
【0049】
図13に示す算出基準では、θがある値αより小さいとき(すなわち、刀自身はほとんど垂直になっているとき)と、θがαより大きいとき(すなわち、刀自身は水平に近くなっているとき)とで、大きく推定方法が2つに分かれ、さらに、それぞれについて、刀がyz平面を挟んで右側にあるとき(φが正)と、刀がyz平面を挟んで左側にあるとき(φが負)とで場合分けして判断するようになっている。
【0050】
刀が垂直に近いときとは、ユーザは手首を曲げて体に近づけて刀を持っている状態であり、刀が水平に近いときとは、ユーザは手首を伸ばして、体から離して刀を持っている状態である。
【0051】
図13に示す算出基準では、刀のCGモデルの方向DからユーザのCGモデルが当該刀を手にしたときの形態を推定することにより、刀のCGモデルの重心R、方向DからユーザのCGモデルの重心位置r、方向(重心の方向)dを以下のように算出するものである。
【0052】
刀がほぼ垂直で、右に向いているとき(φが正のとき)には、ユーザのCGモデルの重心位置r(x3、y3、z3)は、刀のCGモデルの重心位置R(x1、y1、z1)に対し、
X3=x1−β、y3=y1−γ、Z3=z1+δ
となる。β、γ、δは定数であり、βはユーザのCGモデルの手の大きさに比例した値であり、γはほぼ刀のCGモデルの長さに相当する大きさであり、δはユーザのCGモデルの腕の長さの1/2に相当する大きさである。
【0053】
刀がほぼ垂直で、左に向いているとき(φが負のとき)には、ユーザのCGモデルの重心位置rは、x成分において、βを引くかわりに加算することで、左右を逆転させている。つまり、
X3=x1+β、y3=y1−γ、Z3=z1+δ
となる。
【0054】
ユーザのCGモデルの方向dは、刀がほぼ垂直なときは、体も刀とほぼ並行していると考えられるので、刀の方向D(x2、y2、z2)をそのままユーザのCGモデルの方向d(X4、Y4、Z4)として用いる。
【0055】
X4=x2、y4=y2、Z4=z2
刀がほぼ水平で、右に向いているとき(φが正のとき)には、ユーザのCGモデルの重心位置r(x3、y3、z3)は、刀の重心位置R(x1、y1、z1)に対し、
X3=x1−ε、Y3=y1−ζ、Z3=z1+η
となる。ε、ζ、ηは定数であり、εはユーザのCGモデルの手の大きさに比例した値であり、しかもβより大きい値である。ζは刀の幅に相当する値でγに較べるとかなり小さな値である。ηはユーザのCGモデルの腕の長さの3/4に相当する大きさである。
【0056】
刀がほぼ水平で、左に向いているとき(φが負のとき)には、ユーザのCGモデルの重心位置rは、x成分においてεを引くかわりに加算している。すなわち、
X3=x1+ε、y3=y1−ζ、Z3=z1+η
となる。
【0057】
ユーザのCGモデルの方向dは、刀がほぼ水平なときは、体は刀に対し、垂直面内でほぼ90度回転した方向にあると考えられるので、刀の方向を90度回転して、そのままユーザのCGモデルの方向d(X4、Y4、Z4)として用いる。すなわち、
X4=x2、y4=y2、Z4=y2
ユーザのCGモデルの動きの速度vは、遊具のCGモデルの動きの速度Vに対応して予め定められたものであってもよい。
【0058】
形状記憶部2には、図14に示すように、人物のCGモデル、遊具のCGモデル、その他、仮想空間内のキャラクタの形状等が記憶されている。図14において、例えば、人物のCGモデルというオブジェクトの実際の3次元CGモデルの形状等のデータはポインタ「Pointer1」で示されているメモリアドレス以降に存在する。また、バウンディングボックスは、3次元CGモデルに外接する直方体の6つの頂点座標を示している。バウンディングボックスにより、仮想空間内の物体同士がぶつかっているかどうかのチェック(干渉チェック)を行う。このバウンディングボックスの6つの頂点のいずれかが、相手のバウンディングボックスの中に入っていれば、干渉しているとみなすのである。
【0059】
ステップS6において、刀のCGモデルの重心位置Rと方向Dから、ユーザのCGモデルの重心位置rと方向dを求めた後、仮想空間制御部3は、形状記憶部2からユーザのCGモデルの形状データを読み出す。そして、この形状データの重心位置をr、その方向がd、動きの速度vとなるように呈示部5にすでに呈示されている仮想空間内に呈示する(ステップS7)。このときの呈示部5の表示画面の一例を図8に示す。
【0060】
仮想空間制御部3は、ユーザのCGモデルを呈示すると同時に、図14に示したような形状記憶部に記憶されたバウンディングボックスを比較することにより、ユーザのCGモデルと仮想空間中にある他の物体との干渉チェックをおこなう(ステップS8)。もし、干渉していれば、ユーザのCGモデルが他の物体にぶつかっていることになるので、呈示部5から衝撃音を発生する(図10のステップS15)。衝撃音は、特定の音を決めておくことも、あるいは物体毎に異なる音にすることも可能である。また、ぶつかったことにより、ユーザのCGモデルはぶつかった物体に跳ね返されたりする。仮想空間内に存在する各種キャラクタ毎にユーザのCGモデルと干渉したときの跳ね返り量と跳ね返り方向とを干渉した位置に応じて予め定めておき、その値と、現在のユーザのCGモデルの重心位置rとその方向dとからどの程度跳ね返されるかを算出して、ユーザのCGモデルの重心位置pと方向dを更新する(ステップS16)。
【0061】
ユーザのCGモデルの重心位置pと方向dとが更新されたので、再度、刀のCGモデルの重心位置Pと方向Dとを計算し直す(ステップS17)。
ユーザのCGモデルが物体と干渉している場合には、ステップS15〜ステップS17の処理を実行した後、さらにステップS7に戻り、ステップS8で干渉チェックを行って、他の仮想空間内の物体と干渉していないと判断されたときに、図10のステップS9に進む。
【0062】
ステップS9では、仮想空間制御部3は、形状記憶部2から刀のCGモデルの形状データを読み出す。そして、この形状データの重心位置をR、その方向がD、動きの速度Vとなるように、呈示部5にすでに呈示されている仮想空間内に呈示する(ステップS9)。
【0063】
仮想空間制御部3は、刀のCGモデルを呈示すると同時に、図14に示したような形状記憶部に記憶されたバウンディングボックスを比較することにより、刀のCGモデルと仮想空間中にある他の物体との干渉チェックをおこなう(ステップS10)。もし、干渉していれば、刀のCGモデルが他の物体にぶつかっていることになるので、呈示部5から、例えば、速度Vに応じた破裂音を発生する(ステップS11)。そして、例えば、物体が堅く、刀が跳ねかえされたりしたときには、刀の重心位置や方向が変化するので、その算出を行い(ステップS12)、その結果を基に再度刀のCGモデルを表示し直す(ステップS13)。ここで、終了の指示があれば、処理を終了する(ステップS14)。
【0064】
以上説明したように、上記第1の実施形態によれば、画像取得部1で取得した認識対象(例えば、ユーザが手に持っている遊具としての刀)の撮像された距離画像から画像処理部4で該認識対象の形状および動きを抽出して、その抽出した形状および動きに基づき該認識対象に対応する仮想空間内の制御対象(ユーザや刀のCGモデル)の位置、動き、さらには、形状等を制御することにより、ユーザは特殊なウェアや器具を身につけたり、本体からのびるケーブルなどのじゃまなものなしに、コンピュータ内に作られた仮想空間内の物体をより現実的な操作で制御できる。すなわち、あたかも、自分が仮想空間中に存在するような感覚で、仮想空間内に存在する物体を操作して、現実味のあるシミュレーションを行ったり、遊技(ゲーム)として楽しむことができる。
【0065】
また、上記実施形態に係る仮想物体制御装置をアーケードゲームに適用する場合、そのようなアーケードゲームを設置する業者からすれば、特殊なウェアや器具、ケーブル等が不要であることから、ユーザが特殊なウエアを着脱する際の無駄な時間への配慮、複数のユーザ間で着用されるウエア等の衛生的な配慮、ユーザの動きに伴う設備の摩耗に対する配慮等から解放されるので、ゲーム機の運用にかかるコストを大幅に削減できる。
【0066】
なお、上記第1の実施形態では、画像取得部1の個数は1つであったが、必ずしもこれに限定されるものではない。距離画像を取得するための図3に示したような構成のカメラを複数個設置して、各々のカメラで取得された距離画像のそれぞれに対し、前述同様の画像処理を施して、その画像処理結果を統合して、距離画像中の認識対象の重心位置、重心の方向、動く速度等を算出するようにしてもよい。
【0067】
また、複数個のCCDカメラを用いることにより、上記実施形態と同様に画像中の認識対象の画像から3次元的な情報(認識対象の重心位置、重心の方向、動く速度等)を抽出する事も可能である。この場合の画像処理速度は、距離画像に対する画像処理速度に比較して遅くなることは否めない。
(第2の実施形態)
図15は、本発明の第2の実施形態に係る仮想物体制御装置の構成を概略的に示したものである。なお、図15において、図1と同一部分には同一符号を付し、異なる部分について説明する。第1の実施形態では、ユーザは、自分が手や体を動かすと、画面内に呈示されている当該ユーザのCGモデルや刀のCGモデルが追随して動くことで、臨場感を感じていた。仮想空間内の他の物体にぶつかったりしたときに発する衝撃音や破裂音で、ぶつかった感じも体感していた。
【0068】
これに対し、第2の実施形態では、フィードバック生成部6とフィードバック呈示部7とをさらに具備することにより、ユーザのCGモデルや刀のCGモデルが仮想空間内の他の物体と干渉した時に、呈示部5で衝撃音や破裂音を発生するとともに、例えば、力(フォース)フィードバックを生成して呈示することにより、ユーザに対し、より現実味のある臨場感を体感できるようにするものである。
【0069】
フィードバック生成部6は、ユーザのCGモデルや刀のCGモデルが仮想空間内の他の物体と干渉した時に、フォースフィードバックの力の大きさの算出するものである。
【0070】
フィードバック呈示部7は、ユーザの手にしている遊具(ここでは、刀)の中に仕込まれ、例えば、フィードバック生成部6で算出されたフォースフィードックの大きさに応じて、モータに回転トルクを発生させることで、実際の力覚を呈示するようになっている。モータとしては、例えば、DCモータが使われる。
【0071】
フィードバック生成部6では、ユーザが手に持っている遊具としての刀の重さMと画像から抽出された当該刀の重心の動く速度Vgから、衝撃度Sを算出する。
【0072】
衝撃度S=KMV2 (Kは比例定数)
この衝撃度Sをもとに、遊具に埋め込まれたフィードバック呈示部7を構成するDCモータの出力(電流値)の制御を行う。モータが急に回転することで、その反対方向のトルクが発生することで、フィードバック呈示部7でフォースフィードバックが呈示される。
【0073】
なお、遊具に埋め込まれたフィードバック呈示部7(例えば、DCモータ)に制御情報を送信するには、有線通信であってもよいし、IrDA(Infrared Data Association)等無線通信であってもよい。
【0074】
以上説明したように、上記第2の実施形態によれば、コンピュータ内に作られた仮想空間内の物体をより現実的な操作で制御できるとともに、ユーザは場面に応じた衝撃力のフィードバックがあるので、よりリアルな体感をあじわうことが可能となる。
【0075】
なお、図1、図15の仮想物体制御装置の構成において画像取得部1を除く各構成部の処理動作はコンピュータに実行させることのできるプログラムとして、フロッピーディスク、ハードディスク、CD−ROM、DVD、半導体メモリなどの記録媒体に格納して頒布することもできる。
【0076】
また、上記第1および第2の実施形態では、本発明の仮想物体制御装置をゲームに適用した場合を例にとり説明したが、本発明の適用範囲は、この場合に限らず、例えば、失敗が許されない危険な作業や医療シミュレーション等の教育・訓練など、幅広い産業分野への実用的なシステムに適用可能であることは言うまでもない。
【0077】
さらに、上記第1および第2の実施形態では、画像中の認識対象がユーザが手に持っている遊具(刀)である場合を例にとり説明したが、この場合に限らず、認識対象がユーザ自身であってもよく、このユーザの画像から抽出された位置、動き、形状等の情報に基づき仮想空間内の仮想物体を制御することも、前述同様に行える。
【0078】
【発明の効果】
以上説明したように、本発明によれば、コンピュータ内に作られた仮想空間内の物体をより現実的な操作で制御できる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る仮想物体制御装置の構成を概略的に示した図。
【図2】距離画像取得部の外観の一例を示した図。
【図3】距離画像取得部の構成例を示した図。
【図4】反射光の強度を画素値とする距離画像の一例を示した図。
【図5】図4に示した様なマトリックス形式の距離画像を3次元的な表した図。
【図6】距離画像から抽出された物体の輪郭画像の一例を示した図。
【図7】ユーザが遊具としての刀をもって遊技をしている状態を撮像する画像取得部の撮像状況の一例を示した図。
【図8】呈示部の表示画面に表示される仮想空間の一例を示した図。
【図9】図1の仮想物体制御装置の処理動作を説明するためのフローチャート。
【図10】図1の仮想物体制御装置の処理動作を説明するためのフローチャート。
【図11】画像取得部により取得された距離画像の一例を示した図で、(a)図は、認識対象の刀と手との位置関係に基づき刀の画像を抽出する方法を説明するための図で、(b)図は、距離画像から抽出された刀の法線ベクトルについて説明するための図。
【図12】遊具(刀)のCGモデルの重心位置Pと方向Dとから、人物(ユーザ)のCGモデルの重心位置pと方向dとを算出する方法を説明するための図。
【図13】刀のCGモデルの重心位置Pと方向Dとから、ユーザのCGモデルの重心位置pと方向dとを算出するための算出基準を記憶したテーブルの一例を示した図。
【図14】形状記憶部における仮想物体のデータの記憶例を示した図
【図15】本発明の第2の実施形態に係る仮想物体制御装置の構成例を概略的に示した図。
【符号の説明】
1…画像取得部
2…形状記憶部
3…仮想空間制御部
4…画像処理部
5…呈示部
6…フィードバック生成部
7…フィードバック呈示部
Claims (5)
- ユーザが操作する認識対象の撮像された画像から該認識対象の位置・動き・方向を抽出する第1のステップと、
前記認識対象の位置・動き・方向を仮想空間内の第1の制御対象の位置・動き・方向に変換する第2のステップと、
前記第1の制御対象の位置・動き・方向に基づき、前記第1の制御対象の角度に基づく算出基準から前記ユーザに対応する前記仮想空間内の第2の制御対象の位置・動き・方向を計算する第3のステップと、
前記第2のステップで得られた位置・動き・方向に基づき前記仮想空間内の第1の制御対象を制御する第4のステップと、
前記第3のステップで求めた位置・動き・方向に基づき、前記仮想空間内の前記第2の制御対象を制御する第5のステップと、
を有することを特徴とする仮想物体制御方法。 - 前記画像は、物体からの反射光の空間的な強度分布を示した距離画像であることを特徴とする請求項1記載の仮想物体制御方法。
- ユーザが操作する認識対象の画像を取得する画像取得手段と、
この画像取得手段で取得した画像から該認識対象の位置・動き・方向を抽出するための画像処理を施す画像処理手段と、
この画像処理手段で抽出された前記認識対象の位置・動き・方向を、仮想空間内の第1の制御対象の位置・動き・方向に変換する変換手段と、
前記第1の制御対象の位置・動き・方向に基づき、前記第1の制御対象の角度に基づく算出基準から前記ユーザに対応する前記仮想空間内の第2の制御対象の位置・動き・方向を計算する計算手段と、
前記変換手段で得られた位置・動き・方向に基づき前記仮想空間内の第1の制御対象を制御するとともに、前記計算手段で求めた位置・動き・方向に基づき、前記仮想空間内の前記第2の制御対象を制御する制御手段と、
を具備したことを特徴とする仮想物体制御装置。 - 前記画像は、物体からの反射光の空間的な強度分布を示した距離画像であることを特徴とする請求項3記載の仮想物体制御装置。
- コンピュータに、
ユーザが操作する認識対象の撮像された画像から該認識対象の位置・動き・方向を抽出する第1のステップと、
前記認識対象の位置・動き・方向を仮想空間内の第1の制御対象の位置・動き・方向に変換する第2のステップと、
前記第1の制御対象の位置・動き・方向に基づき、前記第1の制御対象の角度に基づく算出基準から前記ユーザに対応する前記仮想空間内の第2の制御対象の位置・動き・方向を計算する第3ステップと、
前記第2のステップで得られた位置・動き・方向に基づき前記仮想空間内の第1の制御対象を制御する第4のステップと、
前記第3のステップで求めた位置・動き・方向に基づき、前記仮想空間内の前記第2の制御対象を制御する第5のステップと、
を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18279098A JP4282112B2 (ja) | 1998-06-29 | 1998-06-29 | 仮想物体制御方法および仮想物体制御装置および記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18279098A JP4282112B2 (ja) | 1998-06-29 | 1998-06-29 | 仮想物体制御方法および仮想物体制御装置および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000020193A JP2000020193A (ja) | 2000-01-21 |
JP4282112B2 true JP4282112B2 (ja) | 2009-06-17 |
Family
ID=16124478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18279098A Expired - Fee Related JP4282112B2 (ja) | 1998-06-29 | 1998-06-29 | 仮想物体制御方法および仮想物体制御装置および記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4282112B2 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7071914B1 (en) * | 2000-09-01 | 2006-07-04 | Sony Computer Entertainment Inc. | User input device and method for interaction with graphic images |
JP4009433B2 (ja) | 2001-03-29 | 2007-11-14 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲームプログラム及びゲームシステム |
JP2002346225A (ja) * | 2001-05-24 | 2002-12-03 | Daijiro Koga | 撃力発生装置及びその制御装置、制御方法並びにプログラム |
CN1816792A (zh) * | 2003-07-02 | 2006-08-09 | 新世代株式会社 | 信息处理装置、信息处理系统、操作物、信息处理方法、信息处理程序以及游戏系统 |
JP2005143657A (ja) * | 2003-11-12 | 2005-06-09 | Olympus Corp | 情報呈示システム、情報呈示装置、情報呈示装置のための媒体、情報呈示方法、及び情報提示プログラム |
JP2006326021A (ja) * | 2005-05-27 | 2006-12-07 | Dainippon Printing Co Ltd | 画像対戦遊戯装置、対戦管理サーバ、プログラム及び記録媒体 |
JP2007004318A (ja) * | 2005-06-22 | 2007-01-11 | Sega Corp | 画像処理方法、画像処理を実行するためのプログラム、及び、当該プログラムが記憶された記憶媒体 |
JP4172652B2 (ja) * | 2005-12-06 | 2008-10-29 | 株式会社タイトー | ビデオ式シューティングゲーム装置 |
US8860713B2 (en) | 2008-05-26 | 2014-10-14 | Microsoft International Holdings B.V. | Controlling virtual reality |
JP5300777B2 (ja) * | 2010-03-31 | 2013-09-25 | 株式会社バンダイナムコゲームス | プログラム及び画像生成システム |
US10786736B2 (en) | 2010-05-11 | 2020-09-29 | Sony Interactive Entertainment LLC | Placement of user information in a game space |
JP5551675B2 (ja) * | 2011-11-30 | 2014-07-16 | 株式会社ソニー・コンピュータエンタテインメント | ゲーム装置および仮想オブジェクト制御方法 |
JP6302007B2 (ja) * | 2016-06-30 | 2018-03-28 | アース環境サービス株式会社 | クリーンルーム入室者の清浄度管理方法及び管理システム |
JPWO2021131543A1 (ja) * | 2019-12-27 | 2021-07-01 |
-
1998
- 1998-06-29 JP JP18279098A patent/JP4282112B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000020193A (ja) | 2000-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8956227B2 (en) | Storage medium recording image processing program, image processing device, image processing system and image processing method | |
US5913727A (en) | Interactive movement and contact simulation game | |
US7722465B2 (en) | Image generation device, image display method and program product | |
JP3769747B2 (ja) | 仮想画像生成装置及びその方法 | |
JP4282112B2 (ja) | 仮想物体制御方法および仮想物体制御装置および記録媒体 | |
JP2021505255A (ja) | 双方向ビデオゲームシステム | |
JP3413127B2 (ja) | 複合現実感装置及び複合現実感提示方法 | |
US6972756B1 (en) | Image generating device | |
CN102331840B (zh) | 基于回环运动的用户选择和导航 | |
US6952199B2 (en) | Information extraction apparatus and method | |
GB2376397A (en) | Virtual or augmented reality | |
US11738270B2 (en) | Simulation system, processing method, and information storage medium | |
US20030032484A1 (en) | Game apparatus for mixed reality space, image processing method thereof, and program storage medium | |
JP2000033184A (ja) | 全身動作入力型のゲ―ム及びイベント装置 | |
US10661181B2 (en) | Simulation system and game system | |
JP2002153673A (ja) | 対戦式3dビデオゲーム装置及びそのコントローラ | |
JPH06176131A (ja) | 画像合成装置及びこれを用いた仮想体験装置 | |
US7999812B2 (en) | Locality based morphing between less and more deformed models in a computer graphics system | |
JP2000350860A (ja) | 複合現実感装置及び複合現実空間画像の生成方法 | |
JP3413128B2 (ja) | 複合現実感提示方法 | |
JP3273038B2 (ja) | 仮想体験型ゲーム装置 | |
JP3990648B2 (ja) | プログラム、情報記憶媒体及び画像生成装置 | |
CN112104857A (zh) | 图像生成系统、图像生成方法及信息存储介质 | |
JP2002224434A (ja) | 画像合成装置、仮想体験装置および画像合成方法 | |
JP3273017B2 (ja) | 画像合成装置及びこれを用いた仮想体験装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050428 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060314 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060515 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060622 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20070330 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090317 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130327 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140327 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |